first commit
This commit is contained in:
60
layouts/joomla/editors/buttons/modal.php
Normal file
60
layouts/joomla/editors/buttons/modal.php
Normal file
@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Joomla.Site
|
||||
* @subpackage Layout
|
||||
*
|
||||
* @copyright (C) 2016 Open Source Matters, Inc. <https://www.joomla.org>
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
use Joomla\CMS\HTML\HTMLHelper;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
||||
/** @var \Joomla\CMS\Editor\Button\Button $button */
|
||||
$button = $displayData;
|
||||
|
||||
if (!$button->get('modal')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$class = ($button->get('class')) ? $button->get('class') : null;
|
||||
$class .= ($button->get('modal')) ? ' modal-button' : null;
|
||||
$href = '#' . $button->get('editor') . '_' . strtolower($button->get('name')) . '_modal';
|
||||
$link = ($button->get('link')) ? Uri::base() . $button->get('link') : null;
|
||||
$onclick = ($button->get('onclick')) ? ' onclick="' . $button->get('onclick') . '"' : '';
|
||||
$title = ($button->get('title')) ? $button->get('title') : $button->get('text');
|
||||
$options = $button->getOptions();
|
||||
|
||||
$confirm = '';
|
||||
|
||||
if (is_array($button->get('options')) && isset($options['confirmText']) && isset($options['confirmCallback'])) {
|
||||
$confirm = '<button type="button" class="btn btn-success" data-bs-dismiss="modal" onclick="' . $options['confirmCallback'] . '">'
|
||||
. $options['confirmText'] . ' </button>';
|
||||
}
|
||||
|
||||
if (null !== $button->get('id')) {
|
||||
$id = str_replace(' ', '', $button->get('id'));
|
||||
} else {
|
||||
$id = $button->get('editor') . '_' . strtolower($button->get('name')) . '_modal';
|
||||
}
|
||||
|
||||
// @todo: J4: Move Make buttons fullscreen on smaller devices per https://github.com/joomla/joomla-cms/pull/23091
|
||||
// Create the modal
|
||||
echo HTMLHelper::_(
|
||||
'bootstrap.renderModal',
|
||||
$id,
|
||||
[
|
||||
'url' => $link,
|
||||
'title' => $title,
|
||||
'height' => array_key_exists('height', $options) ? $options['height'] : '400px',
|
||||
'width' => array_key_exists('width', $options) ? $options['width'] : '800px',
|
||||
'bodyHeight' => array_key_exists('bodyHeight', $options) ? $options['bodyHeight'] : '70',
|
||||
'modalWidth' => array_key_exists('modalWidth', $options) ? $options['modalWidth'] : '80',
|
||||
'footer' => $confirm . '<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">'
|
||||
. Text::_('JLIB_HTML_BEHAVIOR_CLOSE') . '</button>'
|
||||
]
|
||||
);
|
||||
Reference in New Issue
Block a user