From 717ac55f8841de9873a20ce4c2651a7d1b5e1c01 Mon Sep 17 00:00:00 2001 From: dgrammatiko Date: Sun, 12 Aug 2018 22:28:50 +0200 Subject: [PATCH 1/8] =?UTF-8?q?Drop=20jQuery=20(again=20=F0=9F=98=83)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com_content/tmpl/articles/default.php | 24 +++++---- .../tmpl/articles/default_batch_footer.php | 14 +++-- .../com_content/tmpl/featured/default.php | 26 +++++----- .../com_fields/Field/Modal/FieldField.php | 51 +++++++++++-------- .../components/com_fields/Field/TypeField.php | 28 +++++----- .../components/com_fields/helpers/fields.php | 36 ++++++++----- .../com_content/tmpl/categories/default.php | 44 ++++++++++------ 7 files changed, 136 insertions(+), 87 deletions(-) diff --git a/administrator/components/com_content/tmpl/articles/default.php b/administrator/components/com_content/tmpl/articles/default.php index 493a17ce0bbc9..c87abd311b2e4 100644 --- a/administrator/components/com_content/tmpl/articles/default.php +++ b/administrator/components/com_content/tmpl/articles/default.php @@ -58,19 +58,21 @@ HTMLHelper::_('draggablelist.draggable'); } -$js = " - ;(function($) - { - $(function() - { - $('.article-status').on('click', function(e) - { - e.stopPropagation(); - }); +$js = <<addScriptDeclaration($js); $assoc = Associations::isEnabled(); diff --git a/administrator/components/com_content/tmpl/articles/default_batch_footer.php b/administrator/components/com_content/tmpl/articles/default_batch_footer.php index 07878b38f8b06..3bc57658bd648 100644 --- a/administrator/components/com_content/tmpl/articles/default_batch_footer.php +++ b/administrator/components/com_content/tmpl/articles/default_batch_footer.php @@ -12,8 +12,11 @@ use Joomla\CMS\Language\Text; use Joomla\CMS\HTML\HTMLHelper; -JFactory::getDocument()->addScriptDeclaration(" - jQuery('#exampleModal').on('hide.bs.modal', function (e) { +$js = <<addScriptDeclaration($js); HTMLHelper::_('script', 'com_content/admin-articles-default-batch-footer.js', ['relative' => true, 'version' => 'auto']); ?> diff --git a/administrator/components/com_content/tmpl/featured/default.php b/administrator/components/com_content/tmpl/featured/default.php index e0a30550aac43..5da4fb44f4d4c 100644 --- a/administrator/components/com_content/tmpl/featured/default.php +++ b/administrator/components/com_content/tmpl/featured/default.php @@ -49,20 +49,22 @@ HTMLHelper::_('sortablelist.sortable', 'articleList', 'adminForm', strtolower($listDirn), $saveOrderingUrl); } -$js = " - ;(function($) - { - $(function() - { - $('.article-status').on('click', function(e) - { - e.stopPropagation(); - }); +$js = <<addScriptDeclaration($js); +// @todo mode the script to a file +Factory::getDocument()->addScriptDeclaration($js); ?> diff --git a/administrator/components/com_fields/Field/Modal/FieldField.php b/administrator/components/com_fields/Field/Modal/FieldField.php index c79202f8627fc..27cc8f6b1a99c 100644 --- a/administrator/components/com_fields/Field/Modal/FieldField.php +++ b/administrator/components/com_fields/Field/Modal/FieldField.php @@ -50,26 +50,33 @@ protected function getInput () // Load language Factory::getLanguage()->load('com_fields', JPATH_ADMINISTRATOR); + $jsId = $this->id; // Build the script. - $script = array(); - // Select button script - $script[] = ' function jSelectCategory_' . $this->id . '(id, title, object) {'; - $script[] = ' document.getElementById("' . $this->id . '_id").value = id;'; - $script[] = ' document.getElementById("' . $this->id . '_name").value = title;'; + $script = <<id . '_edit").classList.remove("hidden");'; + $script += <<id . '_clear").classList.remove("hidden");'; + $script += <<addScriptDeclaration(implode("\n", $script)); + Factory::getDocument()->addScriptDeclaration($script); // Setup variables for display. $html = array(); diff --git a/administrator/components/com_fields/Field/TypeField.php b/administrator/components/com_fields/Field/TypeField.php index b60569584a2f1..bc9d231f09b2a 100644 --- a/administrator/components/com_fields/Field/TypeField.php +++ b/administrator/components/com_fields/Field/TypeField.php @@ -76,18 +76,22 @@ function ($a, $b) } ); - Factory::getDocument()->addScriptDeclaration(" - jQuery( document ).ready(function() { - Joomla.loadingLayer('load'); - }); - function typeHasChanged(element){ - Joomla.loadingLayer('show'); - var cat = jQuery(element); - jQuery('input[name=task]').val('field.reload'); - element.form.submit(); - } - " - ); + $js = <<addScriptDeclaration($js); return $options; } diff --git a/administrator/components/com_fields/helpers/fields.php b/administrator/components/com_fields/helpers/fields.php index 69f48d9c6045e..00cf8479014dc 100644 --- a/administrator/components/com_fields/helpers/fields.php +++ b/administrator/components/com_fields/helpers/fields.php @@ -327,20 +327,30 @@ public static function prepareForm($context, JForm $form, $data) */ $form->setFieldAttribute('catid', 'onchange', 'categoryHasChanged(this);'); + $formControl = $form->getFormControl(); + + // @todo mode the script to a file // Preload spindle-wheel when we need to submit form due to category selector changed - Factory::getDocument()->addScriptDeclaration(" - function categoryHasChanged(element) { - var cat = jQuery(element); - if (cat.val() == '" . $assignedCatids . "')return; - Joomla.loadingLayer('show'); - jQuery('input[name=task]').val('" . $section . ".reload'); - element.form.submit(); - } - jQuery( document ).ready(function() { - Joomla.loadingLayer('load'); - var formControl = '#" . $form->getFormControl() . "_catid'; - if (!jQuery(formControl).val() != '" . $assignedCatids . "'){jQuery(formControl).val('" . $assignedCatids . "');} - });" + Factory::getDocument()->addScriptDeclaration(<<addScriptDeclaration(" -jQuery(function($) { - $('.categories-list').find('[id^=category-btn-]').each(function(index, btn) { - var btn = $(btn); - btn.on('click', function() { - btn.find('span').toggleClass('icon-plus'); - btn.find('span').toggleClass('icon-minus'); - if (btn.attr('aria-label') === Joomla.JText._('JGLOBAL_EXPAND_CATEGORIES')) - { - btn.attr('aria-label', Joomla.JText._('JGLOBAL_COLLAPSE_CATEGORIES')); - } else { - btn.attr('aria-label', Joomla.JText._('JGLOBAL_EXPAND_CATEGORIES')); - } - }); +$js = <<addScriptDeclaration($js); ?>
Date: Sun, 12 Aug 2018 22:38:24 +0200 Subject: [PATCH 2/8] typo --- administrator/components/com_content/tmpl/articles/default.php | 2 +- .../com_content/tmpl/articles/default_batch_footer.php | 2 +- administrator/components/com_fields/Field/Modal/FieldField.php | 2 +- administrator/components/com_fields/Field/TypeField.php | 2 +- administrator/components/com_fields/helpers/fields.php | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/administrator/components/com_content/tmpl/articles/default.php b/administrator/components/com_content/tmpl/articles/default.php index c87abd311b2e4..729d1cf252cdc 100644 --- a/administrator/components/com_content/tmpl/articles/default.php +++ b/administrator/components/com_content/tmpl/articles/default.php @@ -72,7 +72,7 @@ })(); JS; -// @todo mode the script to a file +// @todo move the script to a file Factory::getDocument()->addScriptDeclaration($js); $assoc = Associations::isEnabled(); diff --git a/administrator/components/com_content/tmpl/articles/default_batch_footer.php b/administrator/components/com_content/tmpl/articles/default_batch_footer.php index 3bc57658bd648..bb570bc14dcf1 100644 --- a/administrator/components/com_content/tmpl/articles/default_batch_footer.php +++ b/administrator/components/com_content/tmpl/articles/default_batch_footer.php @@ -28,7 +28,7 @@ })(); JS; -// @todo mode the script to a file +// @todo move the script to a file JFactory::getDocument()->addScriptDeclaration($js); HTMLHelper::_('script', 'com_content/admin-articles-default-batch-footer.js', ['relative' => true, 'version' => 'auto']); diff --git a/administrator/components/com_fields/Field/Modal/FieldField.php b/administrator/components/com_fields/Field/Modal/FieldField.php index 27cc8f6b1a99c..50a63414e99b2 100644 --- a/administrator/components/com_fields/Field/Modal/FieldField.php +++ b/administrator/components/com_fields/Field/Modal/FieldField.php @@ -98,7 +98,7 @@ function jClearCategory(id) { JS5; } - // @todo mode the script to a file + // @todo move the script to a file // Add the script to the document head. Factory::getDocument()->addScriptDeclaration($script); diff --git a/administrator/components/com_fields/Field/TypeField.php b/administrator/components/com_fields/Field/TypeField.php index bc9d231f09b2a..1492b1de4f25d 100644 --- a/administrator/components/com_fields/Field/TypeField.php +++ b/administrator/components/com_fields/Field/TypeField.php @@ -90,7 +90,7 @@ function ($a, $b) })(); JS; - // @todo mode the script to a file + // @todo move the script to a file Factory::getDocument()->addScriptDeclaration($js); return $options; diff --git a/administrator/components/com_fields/helpers/fields.php b/administrator/components/com_fields/helpers/fields.php index 00cf8479014dc..fc9c35a6fc45e 100644 --- a/administrator/components/com_fields/helpers/fields.php +++ b/administrator/components/com_fields/helpers/fields.php @@ -329,7 +329,7 @@ public static function prepareForm($context, JForm $form, $data) $formControl = $form->getFormControl(); - // @todo mode the script to a file + // @todo move the script to a file // Preload spindle-wheel when we need to submit form due to category selector changed Factory::getDocument()->addScriptDeclaration(<< Date: Sun, 12 Aug 2018 22:40:35 +0200 Subject: [PATCH 3/8] cs --- administrator/components/com_fields/Field/Modal/FieldField.php | 1 + administrator/components/com_fields/helpers/fields.php | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/administrator/components/com_fields/Field/Modal/FieldField.php b/administrator/components/com_fields/Field/Modal/FieldField.php index 50a63414e99b2..6bf5e8272bba4 100644 --- a/administrator/components/com_fields/Field/Modal/FieldField.php +++ b/administrator/components/com_fields/Field/Modal/FieldField.php @@ -51,6 +51,7 @@ protected function getInput () Factory::getLanguage()->load('com_fields', JPATH_ADMINISTRATOR); $jsId = $this->id; + // Build the script. // Select button script $script = <<addScriptDeclaration(<<addScriptDeclaration( +<< Date: Mon, 13 Aug 2018 01:43:08 +0200 Subject: [PATCH 4/8] remove redundant code --- .../tmpl/articles/default_batch_footer.php | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/administrator/components/com_content/tmpl/articles/default_batch_footer.php b/administrator/components/com_content/tmpl/articles/default_batch_footer.php index bb570bc14dcf1..02d45617d1a89 100644 --- a/administrator/components/com_content/tmpl/articles/default_batch_footer.php +++ b/administrator/components/com_content/tmpl/articles/default_batch_footer.php @@ -12,25 +12,6 @@ use Joomla\CMS\Language\Text; use Joomla\CMS\HTML\HTMLHelper; -$js = <<addScriptDeclaration($js); - HTMLHelper::_('script', 'com_content/admin-articles-default-batch-footer.js', ['relative' => true, 'version' => 'auto']); ?> From 0991f3f43f41fb8d561e531b8c3a5a5c1e6fcf8c Mon Sep 17 00:00:00 2001 From: dGrammatiko Date: Wed, 15 Aug 2018 11:10:19 +0200 Subject: [PATCH 5/8] Update default.php --- administrator/components/com_content/tmpl/articles/default.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_content/tmpl/articles/default.php b/administrator/components/com_content/tmpl/articles/default.php index 729d1cf252cdc..f4064b41a63ee 100644 --- a/administrator/components/com_content/tmpl/articles/default.php +++ b/administrator/components/com_content/tmpl/articles/default.php @@ -62,7 +62,7 @@ (function() { document.addEventListener('DOMContentLoaded', function() { var elements = [].slice.call(document.querySelectorAll('.article-status')); - + elements.forEach(function (element) { element.addEventListener('click', function(event) { event.stopPropagation(); From 8473b7249e5ab0a88c1ea134a4b18a7896236711 Mon Sep 17 00:00:00 2001 From: dGrammatiko Date: Wed, 15 Aug 2018 11:10:49 +0200 Subject: [PATCH 6/8] Update default.php --- administrator/components/com_content/tmpl/featured/default.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_content/tmpl/featured/default.php b/administrator/components/com_content/tmpl/featured/default.php index 5da4fb44f4d4c..0d18913c838d0 100644 --- a/administrator/components/com_content/tmpl/featured/default.php +++ b/administrator/components/com_content/tmpl/featured/default.php @@ -53,7 +53,7 @@ (function() { document.addEventListener('DOMContentLoaded', function() { var elements = [].slice.call(document.querySelectorAll('.article-status')); - + elements.forEach(function (element) { element.addEventListener('click', function(event) { event.stopPropagation(); From d872e480a297c3bb5e6ff4d5ce63a812b4059524 Mon Sep 17 00:00:00 2001 From: dGrammatiko Date: Wed, 15 Aug 2018 11:11:46 +0200 Subject: [PATCH 7/8] Update default.php --- components/com_content/tmpl/categories/default.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/com_content/tmpl/categories/default.php b/components/com_content/tmpl/categories/default.php index ef78d817ca3ea..2f4e56d95fc7d 100644 --- a/components/com_content/tmpl/categories/default.php +++ b/components/com_content/tmpl/categories/default.php @@ -31,7 +31,7 @@ buttons.forEach(function(button) { var span = button.querySelector('span'); - + if(span) { span.classList.toggle('icon-plus') span.classList.toggle('icon-minus') From 4e9cff17d87d7146f1811fe94c1deea008bb08a0 Mon Sep 17 00:00:00 2001 From: dGrammatiko Date: Wed, 15 Aug 2018 11:14:17 +0200 Subject: [PATCH 8/8] Update default.php --- components/com_content/tmpl/categories/default.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/com_content/tmpl/categories/default.php b/components/com_content/tmpl/categories/default.php index 2f4e56d95fc7d..5ed8591142f74 100644 --- a/components/com_content/tmpl/categories/default.php +++ b/components/com_content/tmpl/categories/default.php @@ -28,7 +28,7 @@ categories.forEach(function(category) { var buttons = [].slice.call(document.querySelectorAll('.categories-list')); - + buttons.forEach(function(button) { var span = button.querySelector('span');