From 27266234c20ebc2bc61f51ce0df36349e35137e5 Mon Sep 17 00:00:00 2001
From: Alex Pott <alex.a.pott@googlemail.com>
Date: Sat, 21 Oct 2017 21:49:45 +0100
Subject: [PATCH] Revert "Issue #2916154 by drpal, dawehner, xjm: JS codestyle:
 no-multi-assign"

This reverts commit 169e867159f93895763d62f4f77cd36ac8cbe78d.
---
 core/.eslintrc.passing.json                            |  1 +
 core/misc/displace.es6.js                              |  3 +--
 core/misc/displace.js                                  |  3 +--
 core/misc/states.es6.js                                |  7 ++-----
 core/misc/states.js                                    |  7 ++-----
 core/misc/tabledrag.es6.js                             |  8 +++-----
 core/misc/tabledrag.js                                 |  8 +++-----
 core/modules/ckeditor/js/ckeditor.admin.es6.js         |  4 ++--
 core/modules/ckeditor/js/ckeditor.admin.js             |  4 ++--
 core/modules/contextual/js/contextual.toolbar.es6.js   |  4 ++--
 core/modules/contextual/js/contextual.toolbar.js       |  4 ++--
 core/modules/quickedit/js/editors/formEditor.es6.js    |  3 +--
 core/modules/quickedit/js/editors/formEditor.js        |  3 +--
 .../quickedit/js/editors/plainTextEditor.es6.js        |  9 +++++++--
 core/modules/quickedit/js/editors/plainTextEditor.js   |  8 ++++++--
 core/modules/toolbar/js/toolbar.es6.js                 | 10 +++-------
 core/modules/toolbar/js/toolbar.js                     | 10 +++-------
 17 files changed, 42 insertions(+), 54 deletions(-)

diff --git a/core/.eslintrc.passing.json b/core/.eslintrc.passing.json
index 8489a7d06186..db5f24e49d9c 100644
--- a/core/.eslintrc.passing.json
+++ b/core/.eslintrc.passing.json
@@ -7,6 +7,7 @@
     "no-shadow": "off",
     "no-restricted-syntax": "off",
     "no-new": "off",
+    "no-multi-assign": "off",
     "no-continue": "off",
     "new-cap": "off",
     "max-len": "off",
diff --git a/core/misc/displace.es6.js b/core/misc/displace.es6.js
index 6ac09f4e6aae..0424d80fa517 100644
--- a/core/misc/displace.es6.js
+++ b/core/misc/displace.es6.js
@@ -73,8 +73,7 @@
    * @fires event:drupalViewportOffsetChange
    */
   function displace(broadcast) {
-    offsets = calculateOffsets();
-    Drupal.displace.offsets = offsets;
+    offsets = Drupal.displace.offsets = calculateOffsets();
     if (typeof broadcast === 'undefined' || broadcast) {
       $(document).trigger('drupalViewportOffsetChange', offsets);
     }
diff --git a/core/misc/displace.js b/core/misc/displace.js
index 777aee478d75..890548f92f33 100644
--- a/core/misc/displace.js
+++ b/core/misc/displace.js
@@ -25,8 +25,7 @@
   };
 
   function displace(broadcast) {
-    offsets = calculateOffsets();
-    Drupal.displace.offsets = offsets;
+    offsets = Drupal.displace.offsets = calculateOffsets();
     if (typeof broadcast === 'undefined' || broadcast) {
       $(document).trigger('drupalViewportOffsetChange', offsets);
     }
diff --git a/core/misc/states.es6.js b/core/misc/states.es6.js
index ec7a4e7e3a84..fbf8db7c98c9 100644
--- a/core/misc/states.es6.js
+++ b/core/misc/states.es6.js
@@ -12,7 +12,7 @@
    *
    * @namespace Drupal.states
    */
-  const states = {
+  const states = Drupal.states = {
 
     /**
      * An array of functions that should be postponed.
@@ -20,8 +20,6 @@
     postponed: [],
   };
 
-  Drupal.states = states;
-
   /**
    * Attaches the states.
    *
@@ -510,8 +508,7 @@
     /**
      * Original unresolved name.
      */
-    this.pristine = state;
-    this.name = state;
+    this.pristine = this.name = state;
 
     // Normalize the state name.
     let process = true;
diff --git a/core/misc/states.js b/core/misc/states.js
index 2b9d3b886a67..61bbf46c612e 100644
--- a/core/misc/states.js
+++ b/core/misc/states.js
@@ -6,12 +6,10 @@
 **/
 
 (function ($, Drupal) {
-  var states = {
+  var states = Drupal.states = {
     postponed: []
   };
 
-  Drupal.states = states;
-
   Drupal.behaviors.states = {
     attach: function attach(context, settings) {
       var $states = $(context).find('[data-drupal-states]');
@@ -261,8 +259,7 @@
   };
 
   states.State = function (state) {
-    this.pristine = state;
-    this.name = state;
+    this.pristine = this.name = state;
 
     var process = true;
     do {
diff --git a/core/misc/tabledrag.es6.js b/core/misc/tabledrag.es6.js
index abbe193862b6..ce621da43d08 100644
--- a/core/misc/tabledrag.es6.js
+++ b/core/misc/tabledrag.es6.js
@@ -1107,16 +1107,14 @@
     const de = document.documentElement;
     const b = document.body;
 
-    const windowHeight = window.innerHeight || (de.clientHeight && de.clientWidth !== 0 ? de.clientHeight : b.offsetHeight);
-    this.windowHeight = windowHeight;
+    const windowHeight = this.windowHeight = window.innerHeight || (de.clientHeight && de.clientWidth !== 0 ? de.clientHeight : b.offsetHeight);
     let scrollY;
     if (document.all) {
-      scrollY = !de.scrollTop ? b.scrollTop : de.scrollTop;
+      scrollY = this.scrollY = !de.scrollTop ? b.scrollTop : de.scrollTop;
     }
     else {
-      scrollY = window.pageYOffset ? window.pageYOffset : window.scrollY;
+      scrollY = this.scrollY = window.pageYOffset ? window.pageYOffset : window.scrollY;
     }
-    this.scrollY = scrollY;
     const trigger = this.scrollSettings.trigger;
     let delta = 0;
 
diff --git a/core/misc/tabledrag.js b/core/misc/tabledrag.js
index 859b87e013a2..e828bfe75664 100644
--- a/core/misc/tabledrag.js
+++ b/core/misc/tabledrag.js
@@ -701,15 +701,13 @@
     var de = document.documentElement;
     var b = document.body;
 
-    var windowHeight = window.innerHeight || (de.clientHeight && de.clientWidth !== 0 ? de.clientHeight : b.offsetHeight);
-    this.windowHeight = windowHeight;
+    var windowHeight = this.windowHeight = window.innerHeight || (de.clientHeight && de.clientWidth !== 0 ? de.clientHeight : b.offsetHeight);
     var scrollY = void 0;
     if (document.all) {
-      scrollY = !de.scrollTop ? b.scrollTop : de.scrollTop;
+      scrollY = this.scrollY = !de.scrollTop ? b.scrollTop : de.scrollTop;
     } else {
-      scrollY = window.pageYOffset ? window.pageYOffset : window.scrollY;
+      scrollY = this.scrollY = window.pageYOffset ? window.pageYOffset : window.scrollY;
     }
-    this.scrollY = scrollY;
     var trigger = this.scrollSettings.trigger;
     var delta = 0;
 
diff --git a/core/modules/ckeditor/js/ckeditor.admin.es6.js b/core/modules/ckeditor/js/ckeditor.admin.es6.js
index c875fd64a09c..5a2828c43e6d 100644
--- a/core/modules/ckeditor/js/ckeditor.admin.es6.js
+++ b/core/modules/ckeditor/js/ckeditor.admin.es6.js
@@ -34,7 +34,7 @@
         $configurationForm.append(drupalSettings.ckeditor.toolbarAdmin);
 
         // Create a configuration model.
-        Drupal.ckeditor.models.Model = new Drupal.ckeditor.Model({
+        const model = Drupal.ckeditor.models.Model = new Drupal.ckeditor.Model({
           $textarea,
           activeEditorConfig: JSON.parse($textarea.val()),
           hiddenEditorConfig: drupalSettings.ckeditor.hiddenCKEditorConfig,
@@ -42,7 +42,7 @@
 
         // Create the configuration Views.
         const viewDefaults = {
-          model: Drupal.ckeditor.models.Model,
+          model,
           el: $('.ckeditor-toolbar-configuration'),
         };
         Drupal.ckeditor.views = {
diff --git a/core/modules/ckeditor/js/ckeditor.admin.js b/core/modules/ckeditor/js/ckeditor.admin.js
index c3b62ecbcb73..f51341d4ae76 100644
--- a/core/modules/ckeditor/js/ckeditor.admin.js
+++ b/core/modules/ckeditor/js/ckeditor.admin.js
@@ -16,14 +16,14 @@
 
         $configurationForm.append(drupalSettings.ckeditor.toolbarAdmin);
 
-        Drupal.ckeditor.models.Model = new Drupal.ckeditor.Model({
+        var model = Drupal.ckeditor.models.Model = new Drupal.ckeditor.Model({
           $textarea: $textarea,
           activeEditorConfig: JSON.parse($textarea.val()),
           hiddenEditorConfig: drupalSettings.ckeditor.hiddenCKEditorConfig
         });
 
         var viewDefaults = {
-          model: Drupal.ckeditor.models.Model,
+          model: model,
           el: $('.ckeditor-toolbar-configuration')
         };
         Drupal.ckeditor.views = {
diff --git a/core/modules/contextual/js/contextual.toolbar.es6.js b/core/modules/contextual/js/contextual.toolbar.es6.js
index 9538288d6c17..7d0ae1207330 100644
--- a/core/modules/contextual/js/contextual.toolbar.es6.js
+++ b/core/modules/contextual/js/contextual.toolbar.es6.js
@@ -22,7 +22,7 @@
     }
 
     const contextualToolbar = Drupal.contextualToolbar;
-    contextualToolbar.model = new contextualToolbar.StateModel({
+    const model = contextualToolbar.model = new contextualToolbar.StateModel({
       // Checks whether localStorage indicates we should start in edit mode
       // rather than view mode.
       // @see Drupal.contextualToolbar.VisualView.persist
@@ -33,7 +33,7 @@
 
     const viewOptions = {
       el: $('.toolbar .toolbar-bar .contextual-toolbar-tab'),
-      model: contextualToolbar.model,
+      model,
       strings,
     };
     new contextualToolbar.VisualView(viewOptions);
diff --git a/core/modules/contextual/js/contextual.toolbar.js b/core/modules/contextual/js/contextual.toolbar.js
index 3b026d735555..b565f21838bf 100644
--- a/core/modules/contextual/js/contextual.toolbar.js
+++ b/core/modules/contextual/js/contextual.toolbar.js
@@ -18,7 +18,7 @@
     }
 
     var contextualToolbar = Drupal.contextualToolbar;
-    contextualToolbar.model = new contextualToolbar.StateModel({
+    var model = contextualToolbar.model = new contextualToolbar.StateModel({
       isViewing: localStorage.getItem('Drupal.contextualToolbar.isViewing') !== 'false'
     }, {
       contextualCollection: Drupal.contextual.collection
@@ -26,7 +26,7 @@
 
     var viewOptions = {
       el: $('.toolbar .toolbar-bar .contextual-toolbar-tab'),
-      model: contextualToolbar.model,
+      model: model,
       strings: strings
     };
     new contextualToolbar.VisualView(viewOptions);
diff --git a/core/modules/quickedit/js/editors/formEditor.es6.js b/core/modules/quickedit/js/editors/formEditor.es6.js
index be658d37a954..1950b47bba7c 100644
--- a/core/modules/quickedit/js/editors/formEditor.es6.js
+++ b/core/modules/quickedit/js/editors/formEditor.es6.js
@@ -95,11 +95,10 @@
       const id = `quickedit-form-for-${fieldModel.id.replace(/[\/\[\]]/g, '_')}`;
 
       // Render form container.
-      const $formContainer = $(Drupal.theme('quickeditFormContainer', {
+      const $formContainer = this.$formContainer = $(Drupal.theme('quickeditFormContainer', {
         id,
         loadingMsg: Drupal.t('Loading…'),
       }));
-      this.$formContainer = $formContainer;
       $formContainer
         .find('.quickedit-form')
         .addClass('quickedit-editable quickedit-highlighted quickedit-editing')
diff --git a/core/modules/quickedit/js/editors/formEditor.js b/core/modules/quickedit/js/editors/formEditor.js
index c4d875047435..6ff6990eaf72 100644
--- a/core/modules/quickedit/js/editors/formEditor.js
+++ b/core/modules/quickedit/js/editors/formEditor.js
@@ -59,11 +59,10 @@
 
       var id = 'quickedit-form-for-' + fieldModel.id.replace(/[\/\[\]]/g, '_');
 
-      var $formContainer = $(Drupal.theme('quickeditFormContainer', {
+      var $formContainer = this.$formContainer = $(Drupal.theme('quickeditFormContainer', {
         id: id,
         loadingMsg: Drupal.t('Loading…')
       }));
-      this.$formContainer = $formContainer;
       $formContainer.find('.quickedit-form').addClass('quickedit-editable quickedit-highlighted quickedit-editing').attr('role', 'dialog');
 
       if (this.$el.css('display') === 'inline') {
diff --git a/core/modules/quickedit/js/editors/plainTextEditor.es6.js b/core/modules/quickedit/js/editors/plainTextEditor.es6.js
index 92e5a5dd0f9b..bb4bb3c2bc0b 100644
--- a/core/modules/quickedit/js/editors/plainTextEditor.es6.js
+++ b/core/modules/quickedit/js/editors/plainTextEditor.es6.js
@@ -27,9 +27,14 @@
 
       // Store the original value of this field. Necessary for reverting
       // changes.
+      let $textElement;
       const $fieldItems = this.$el.find('.quickedit-field');
-      const $textElement = $fieldItems.length ? $fieldItems.eq(0) : this.$el;
-      this.$textElement = $textElement;
+      if ($fieldItems.length) {
+        $textElement = this.$textElement = $fieldItems.eq(0);
+      }
+      else {
+        $textElement = this.$textElement = this.$el;
+      }
       editorModel.set('originalValue', $.trim(this.$textElement.text()));
 
       // Sets the state to 'changed' whenever the value changes.
diff --git a/core/modules/quickedit/js/editors/plainTextEditor.js b/core/modules/quickedit/js/editors/plainTextEditor.js
index dde834b86900..e6f5afdeac12 100644
--- a/core/modules/quickedit/js/editors/plainTextEditor.js
+++ b/core/modules/quickedit/js/editors/plainTextEditor.js
@@ -15,9 +15,13 @@
       var editorModel = this.model;
       var fieldModel = this.fieldModel;
 
+      var $textElement = void 0;
       var $fieldItems = this.$el.find('.quickedit-field');
-      var $textElement = $fieldItems.length ? $fieldItems.eq(0) : this.$el;
-      this.$textElement = $textElement;
+      if ($fieldItems.length) {
+        $textElement = this.$textElement = $fieldItems.eq(0);
+      } else {
+        $textElement = this.$textElement = this.$el;
+      }
       editorModel.set('originalValue', $.trim(this.$textElement.text()));
 
       var previousText = editorModel.get('originalValue');
diff --git a/core/modules/toolbar/js/toolbar.es6.js b/core/modules/toolbar/js/toolbar.es6.js
index f715fc7fc96e..4fdf090fbedb 100644
--- a/core/modules/toolbar/js/toolbar.es6.js
+++ b/core/modules/toolbar/js/toolbar.es6.js
@@ -46,21 +46,18 @@
       // Process the administrative toolbar.
       $(context).find('#toolbar-administration').once('toolbar').each(function () {
         // Establish the toolbar models and views.
-        const model = new Drupal.toolbar.ToolbarModel({
+        const model = Drupal.toolbar.models.toolbarModel = new Drupal.toolbar.ToolbarModel({
           locked: JSON.parse(localStorage.getItem('Drupal.toolbar.trayVerticalLocked')),
           activeTab: document.getElementById(JSON.parse(localStorage.getItem('Drupal.toolbar.activeTabID'))),
           height: $('#toolbar-administration').outerHeight(),
         });
 
-        Drupal.toolbar.models.toolbarModel = model;
-
         // Attach a listener to the configured media query breakpoints.
         // Executes it before Drupal.toolbar.views to avoid extra rendering.
         for (const label in options.breakpoints) {
           if (options.breakpoints.hasOwnProperty(label)) {
             const mq = options.breakpoints[label];
-            const mql = window.matchMedia(mq);
-            Drupal.toolbar.mql[label] = mql;
+            const mql = Drupal.toolbar.mql[label] = window.matchMedia(mq);
             // Curry the model and the label of the media query breakpoint to
             // the mediaQueryChangeHandler function.
             mql.addListener(Drupal.toolbar.mediaQueryChangeHandler.bind(null, model, label));
@@ -91,8 +88,7 @@
         model.trigger('change:activeTray', model, model.get('activeTray'));
 
         // Render collapsible menus.
-        const menuModel = new Drupal.toolbar.MenuModel();
-        Drupal.toolbar.models.menuModel = menuModel;
+        const menuModel = Drupal.toolbar.models.menuModel = new Drupal.toolbar.MenuModel();
         Drupal.toolbar.views.menuVisualView = new Drupal.toolbar.MenuVisualView({
           el: $(this).find('.toolbar-menu-administration').get(0),
           model: menuModel,
diff --git a/core/modules/toolbar/js/toolbar.js b/core/modules/toolbar/js/toolbar.js
index 547bcd9bac7a..4f4ff5943f99 100644
--- a/core/modules/toolbar/js/toolbar.js
+++ b/core/modules/toolbar/js/toolbar.js
@@ -26,19 +26,16 @@
       }
 
       $(context).find('#toolbar-administration').once('toolbar').each(function () {
-        var model = new Drupal.toolbar.ToolbarModel({
+        var model = Drupal.toolbar.models.toolbarModel = new Drupal.toolbar.ToolbarModel({
           locked: JSON.parse(localStorage.getItem('Drupal.toolbar.trayVerticalLocked')),
           activeTab: document.getElementById(JSON.parse(localStorage.getItem('Drupal.toolbar.activeTabID'))),
           height: $('#toolbar-administration').outerHeight()
         });
 
-        Drupal.toolbar.models.toolbarModel = model;
-
         for (var label in options.breakpoints) {
           if (options.breakpoints.hasOwnProperty(label)) {
             var mq = options.breakpoints[label];
-            var mql = window.matchMedia(mq);
-            Drupal.toolbar.mql[label] = mql;
+            var mql = Drupal.toolbar.mql[label] = window.matchMedia(mq);
 
             mql.addListener(Drupal.toolbar.mediaQueryChangeHandler.bind(null, model, label));
 
@@ -64,8 +61,7 @@
         model.trigger('change:isFixed', model, model.get('isFixed'));
         model.trigger('change:activeTray', model, model.get('activeTray'));
 
-        var menuModel = new Drupal.toolbar.MenuModel();
-        Drupal.toolbar.models.menuModel = menuModel;
+        var menuModel = Drupal.toolbar.models.menuModel = new Drupal.toolbar.MenuModel();
         Drupal.toolbar.views.menuVisualView = new Drupal.toolbar.MenuVisualView({
           el: $(this).find('.toolbar-menu-administration').get(0),
           model: menuModel,
-- 
GitLab