diff --git a/administrator/components/com_config/tmpl/component/default.php b/administrator/components/com_config/tmpl/component/default.php index b722f3b2be01b..254005ff2bf70 100644 --- a/administrator/components/com_config/tmpl/component/default.php +++ b/administrator/components/com_config/tmpl/component/default.php @@ -23,6 +23,9 @@ Text::script('NOTICE'); Text::script('MESSAGE'); +/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */ +$wa = $this->document->getWebAssetManager(); + // Load the tooltip behavior. HTMLHelper::_('behavior.formvalidator'); HTMLHelper::_('behavior.keepalive'); @@ -65,7 +68,7 @@ showon)) : ?> - 'auto', 'relative' => true)); ?> + useScript('showon'); ?> showon, $this->formControl)) . '\''; ?> diff --git a/build/media_source/legacy/joomla.asset.json b/build/media_source/legacy/joomla.asset.json index f1849ef812c26..117739cd798c8 100644 --- a/build/media_source/legacy/joomla.asset.json +++ b/build/media_source/legacy/joomla.asset.json @@ -12,6 +12,30 @@ "jquery" ], "uri": "legacy/jquery-noconflict.min.js" + }, + { + "name": "joomla.frontediting", + "type": "style", + "uri": "system/frontediting.css" + }, + { + "name": "joomla.frontediting", + "type": "script", + "dependencies": [ + "jquery" + ], + "uri": "legacy/frontediting.min.js", + "attributes": { + "defer": true + } + }, + { + "name": "joomla.frontediting", + "type": "preset", + "dependencies": [ + "joomla.frontediting#style", + "joomla.frontediting#script" + ] } ] } diff --git a/build/media_source/system/joomla.asset.json b/build/media_source/system/joomla.asset.json index 804f491b67889..06c6bbede5fee 100644 --- a/build/media_source/system/joomla.asset.json +++ b/build/media_source/system/joomla.asset.json @@ -68,7 +68,10 @@ "dependencies": [ "core" ], - "uri": "system/showon.min.js" + "uri": "system/showon.min.js", + "attributes": { + "defer": true + } }, { "name": "switcher", @@ -121,6 +124,66 @@ "core" ] }, + { + "name": "field.passwordstrength", + "type": "script", + "uri": "system/fields/passwordstrength.min.js", + "attributes": { + "defer": true + }, + "dependencies": [ + "core", + "form.validate" + ] + }, + { + "name": "field.calendar", + "type": "style", + "uri": "system/fields/calendar.css" + }, + { + "name": "field.calendar-rtl", + "type": "style", + "uri": "system/fields/calendar-rtl.css" + }, + { + "name": "field.calendar.locale", + "type": "script", + "uri": "" + }, + { + "name": "field.calendar.helper", + "type": "script", + "uri": "" + }, + { + "name": "field.calendar", + "type": "script", + "uri": "system/fields/calendar.min.js", + "attributes": { + "defer": true + }, + "dependencies": [ + "field.calendar.locale", + "field.calendar.helper" + ] + }, + { + "name": "field.color-slider", + "type": "script", + "uri": "system/fields/joomla-field-color-slider.min.js", + "attributes": { + "defer": true + } + }, + { + "name": "joomla.batch-language", + "type": "script", + "uri": "layouts/joomla/html/batch/batch-language.min.js", + "attributes": { + "defer": true + } + }, { "name": "webcomponent.field-fancy-select", "type": "script", diff --git a/components/com_contact/layouts/joomla/form/renderfield.php b/components/com_contact/layouts/joomla/form/renderfield.php index 225b0b10586fe..d17ce4d48c7c7 100644 --- a/components/com_contact/layouts/joomla/form/renderfield.php +++ b/components/com_contact/layouts/joomla/form/renderfield.php @@ -9,7 +9,6 @@ defined('_JEXEC') or die; -use Joomla\CMS\HTML\HTMLHelper; use Joomla\CMS\Language\Text; extract($displayData); @@ -24,7 +23,9 @@ if (!empty($options['showonEnabled'])) { - HTMLHelper::_('script', 'system/showon.min.js', array('version' => 'auto', 'relative' => true)); + /** @var Joomla\CMS\WebAsset\WebAssetManager $wa */ + $wa = $this->document->getWebAssetManager(); + $wa->useScript('showon'); } $class = empty($options['class']) ? '' : ' ' . $options['class']; diff --git a/layouts/joomla/content/options_default.php b/layouts/joomla/content/options_default.php index 82e67736438c2..5a75fd776b8b5 100644 --- a/layouts/joomla/content/options_default.php +++ b/layouts/joomla/content/options_default.php @@ -9,8 +9,11 @@ defined('JPATH_BASE') or die; +use Joomla\CMS\Factory; use Joomla\CMS\Form\FormHelper; -use Joomla\CMS\HTML\HTMLHelper; + +/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */ +$wa = Factory::getApplication()->getDocument()->getWebAssetManager(); ?> @@ -26,7 +29,7 @@ type === 'Spacer' ? ' field-spacer' : ''; ?> showon) : ?> - 'auto', 'relative' => true)); ?> + useScript('showon'); ?> showon, $field->formControl, $field->group)) . '\''; ?> diff --git a/layouts/joomla/edit/frontediting_modules.php b/layouts/joomla/edit/frontediting_modules.php index 39ee4a9e03b97..b1b0d71022dc3 100644 --- a/layouts/joomla/edit/frontediting_modules.php +++ b/layouts/joomla/edit/frontediting_modules.php @@ -70,6 +70,7 @@ // Load stylesheet and javascript to head: HTMLHelper::_('bootstrap.popover'); - HTMLHelper::_('stylesheet', 'legacy/frontediting.css', array('version' => 'auto', 'relative' => true)); - HTMLHelper::_('script', 'legacy/frontediting.min.js', array('version' => 'auto', 'relative' => true)); + /** @var Joomla\CMS\WebAsset\WebAssetManager $wa */ + $wa = Factory::getApplication()->getDocument()->getWebAssetManager(); + $wa->usePreset('joomla.frontediting'); } diff --git a/layouts/joomla/form/field/calendar.php b/layouts/joomla/form/field/calendar.php index f8a59a807d2b9..197712ed6aeb6 100644 --- a/layouts/joomla/form/field/calendar.php +++ b/layouts/joomla/form/field/calendar.php @@ -10,14 +10,13 @@ defined('JPATH_BASE') or die; use Joomla\CMS\Factory; -use Joomla\CMS\HTML\HTMLHelper; use Joomla\CMS\Language\Text; use Joomla\Utilities\ArrayHelper; extract($displayData); // Get some system objects. -$document = Factory::getDocument(); +$document = Factory::getApplication()->getDocument(); /** * Layout variables @@ -94,13 +93,13 @@ $attributes = ArrayHelper::toString($attributes); } -$cssFileExt = ($direction === 'rtl') ? '-rtl.css' : '.css'; +// Redefine locale/helper assets to use correct path, and load calendar assets +$document->getWebAssetManager() + ->registerAndUseScript('field.calendar.locale', $localesPath, [], ['defer' => true]) + ->registerAndUseScript('field.calendar.helper', $helperPath, [], ['defer' => true]) + ->useStyle('field.calendar' . ($direction === 'rtl' ? '-rtl' : '')) + ->useScript('field.calendar'); -// The static assets for the calendar -HTMLHelper::_('script', $localesPath, ['version' => 'auto', 'relative' => true]); -HTMLHelper::_('script', $helperPath, ['version' => 'auto', 'relative' => true]); -HTMLHelper::_('script', 'system/fields/calendar.min.js', ['version' => 'auto', 'relative' => true]); -HTMLHelper::_('stylesheet', 'system/fields/calendar' . $cssFileExt, ['version' => 'auto', 'relative' => true]); ?>