Updated Drupal to 8.6. This goes with the following updates because it's possible...
[yaffs-website] / web / core / modules / color / color.es6.js
index c4f923a02d4fbdf87dd9ead63878b09f79e39532..bff417c9ef04e04f31c7d5314430d1025188d12d 100644 (file)
@@ -3,7 +3,7 @@
  * Attaches the behaviors for the Color module.
  */
 
-(function ($, Drupal) {
+(function($, Drupal) {
   /**
    * Displays farbtastic color selector and initialize color administration UI.
    *
@@ -18,7 +18,9 @@
       let j;
       let colors;
       // This behavior attaches by ID, so is only valid once on a page.
-      const form = $(context).find('#system-theme-settings .color-form').once('color');
+      const form = $(context)
+        .find('#system-theme-settings .color-form')
+        .once('color');
       if (form.length === 0) {
         return;
       }
       let focused = null;
 
       // Add Farbtastic.
-      $('<div class="color-placeholder"></div>').once('color').prependTo(form);
+      $('<div class="color-placeholder"></div>')
+        .once('color')
+        .prependTo(form);
       const farb = $.farbtastic('.color-placeholder');
 
       // Decode reference colors to HSL.
       const reference = settings.color.reference;
-      Object.keys(reference || {}).forEach((color) => {
+      Object.keys(reference || {}).forEach(color => {
         reference[color] = farb.RGBToHSL(farb.unpack(reference[color]));
       });
 
       // Build a preview.
       const height = [];
       const width = [];
-      // Loop through all defined gradients.
-      Object.keys(settings.gradients || {}).forEach((i) => {
-        // Add element to display the gradient.
-        $('.color-preview').once('color').append(`<div id="gradient-${i}"></div>`);
-        const gradient = $(`.color-preview #gradient-${i}`);
-        // Add height of current gradient to the list (divided by 10).
-        height.push(parseInt(gradient.css('height'), 10) / 10);
-        // Add width of current gradient to the list (divided by 10).
-        width.push(parseInt(gradient.css('width'), 10) / 10);
-        // Add rows (or columns for horizontal gradients).
-        // Each gradient line should have a height (or width for horizontal
-        // gradients) of 10px (because we divided the height/width by 10
-        // above).
-        for (j = 0; j < (settings.gradients[i].direction === 'vertical' ? height[i] : width[i]); ++j) {
-          gradient.append('<div class="gradient-line"></div>');
-        }
-      });
-
-      // Set up colorScheme selector.
-      form.find('#edit-scheme').on('change', function () {
-        const schemes = settings.color.schemes;
-        const colorScheme = this.options[this.selectedIndex].value;
-        if (colorScheme !== '' && schemes[colorScheme]) {
-          // Get colors of active scheme.
-          colors = schemes[colorScheme];
-          Object.keys(colors || {}).forEach((fieldName) => {
-            callback($(`#edit-palette-${fieldName}`), colors[fieldName], false, true);
-          });
-          preview();
-        }
-      });
 
       /**
        * Renders the preview.
         Drupal.color.callback(context, settings, form, farb, height, width);
       }
 
+      /**
+       * Resets the color scheme selector.
+       */
+      function resetScheme() {
+        form.find('#edit-scheme').each(function() {
+          this.selectedIndex = this.options.length - 1;
+        });
+      }
+
       /**
        * Shifts a given color, using a reference pair (ref in HSL).
        *
         // Saturation: interpolate.
         if (ref1[1] === 0 || ref2[1] === 0) {
           given[1] = ref2[1];
-        }
-        else {
+        } else {
           d = ref1[1] / ref2[1];
           if (d > 1) {
             given[1] /= d;
-          }
-          else {
-            given[1] = 1 - ((1 - given[1]) * d);
+          } else {
+            given[1] = 1 - (1 - given[1]) * d;
           }
         }
 
         // Luminance: interpolate.
         if (ref1[2] === 0 || ref2[2] === 0) {
           given[2] = ref2[2];
-        }
-        else {
+        } else {
           d = ref1[2] / ref2[2];
           if (d > 1) {
             given[2] /= d;
-          }
-          else {
-            given[2] = 1 - ((1 - given[2]) * d);
+          } else {
+            given[2] = 1 - (1 - given[2]) * d;
           }
         }
 
               if (!locks[j - 1] || $(locks[j - 1]).is('.is-unlocked')) {
                 break;
               }
-              matched = shiftColor(color, reference[input.key], reference[inputs[j].key]);
+              matched = shiftColor(
+                color,
+                reference[input.key],
+                reference[inputs[j].key],
+              );
               callback(inputs[j], matched, false);
             }
             for (j = i - 1; ; --j) {
               if (!locks[j] || $(locks[j]).is('.is-unlocked')) {
                 break;
               }
-              matched = shiftColor(color, reference[input.key], reference[inputs[j].key]);
+              matched = shiftColor(
+                color,
+                reference[input.key],
+                reference[inputs[j].key],
+              );
               callback(inputs[j], matched, false);
             }
 
         }
       }
 
-      /**
-       * Resets the color scheme selector.
-       */
-      function resetScheme() {
-        form.find('#edit-scheme').each(function () {
-          this.selectedIndex = this.options.length - 1;
-        });
-      }
+      // Loop through all defined gradients.
+      Object.keys(settings.gradients || {}).forEach(i => {
+        // Add element to display the gradient.
+        $('.color-preview')
+          .once('color')
+          .append(`<div id="gradient-${i}"></div>`);
+        const gradient = $(`.color-preview #gradient-${i}`);
+        // Add height of current gradient to the list (divided by 10).
+        height.push(parseInt(gradient.css('height'), 10) / 10);
+        // Add width of current gradient to the list (divided by 10).
+        width.push(parseInt(gradient.css('width'), 10) / 10);
+        // Add rows (or columns for horizontal gradients).
+        // Each gradient line should have a height (or width for horizontal
+        // gradients) of 10px (because we divided the height/width by 10
+        // above).
+        for (
+          j = 0;
+          j <
+          (settings.gradients[i].direction === 'vertical'
+            ? height[i]
+            : width[i]);
+          ++j
+        ) {
+          gradient.append('<div class="gradient-line"></div>');
+        }
+      });
+
+      // Set up colorScheme selector.
+      form.find('#edit-scheme').on('change', function() {
+        const schemes = settings.color.schemes;
+        const colorScheme = this.options[this.selectedIndex].value;
+        if (colorScheme !== '' && schemes[colorScheme]) {
+          // Get colors of active scheme.
+          colors = schemes[colorScheme];
+          Object.keys(colors || {}).forEach(fieldName => {
+            callback(
+              $(`#edit-palette-${fieldName}`),
+              colors[fieldName],
+              false,
+              true,
+            );
+          });
+          preview();
+        }
+      });
 
       /**
        * Focuses Farbtastic on a particular field.
 
         // Add new bindings.
         focused = input;
-        farb.linkTo((color) => {
+        farb.linkTo(color => {
           callback(input, color, true, false);
         });
         farb.setColor(input.value);
       }
 
       // Initialize color fields.
-      form.find('.js-color-palette input.form-text')
-        .each(function () {
+      form
+        .find('.js-color-palette input.form-text')
+        .each(function() {
           // Extract palette field name.
           this.key = this.id.substring(13);
 
           // Link to color picker temporarily to initialize.
-          farb.linkTo(() => {}).setColor('#000').linkTo(this);
+          farb
+            .linkTo(() => {})
+            .setColor('#000')
+            .linkTo(this);
 
           // Add lock.
           const i = inputs.length;
           if (inputs.length) {
             let toggleClick = true;
-            const lock = $(`<button class="color-palette__lock">${Drupal.t('Unlock')}</button>`).on('click', function (e) {
+            const lock = $(
+              `<button class="color-palette__lock">${Drupal.t(
+                'Unlock',
+              )}</button>`,
+            ).on('click', function(e) {
               e.preventDefault();
               if (toggleClick) {
-                $(this).addClass('is-unlocked').html(Drupal.t('Lock'));
-                $(hooks[i - 1]).attr('class',
-                  locks[i - 2] && $(locks[i - 2]).is(':not(.is-unlocked)') ? 'color-palette__hook is-up' : 'color-palette__hook',
+                $(this)
+                  .addClass('is-unlocked')
+                  .html(Drupal.t('Lock'));
+                $(hooks[i - 1]).attr(
+                  'class',
+                  locks[i - 2] && $(locks[i - 2]).is(':not(.is-unlocked)')
+                    ? 'color-palette__hook is-up'
+                    : 'color-palette__hook',
                 );
-                $(hooks[i]).attr('class',
-                  locks[i] && $(locks[i]).is(':not(.is-unlocked)') ? 'color-palette__hook is-down' : 'color-palette__hook',
+                $(hooks[i]).attr(
+                  'class',
+                  locks[i] && $(locks[i]).is(':not(.is-unlocked)')
+                    ? 'color-palette__hook is-down'
+                    : 'color-palette__hook',
                 );
-              }
-              else {
-                $(this).removeClass('is-unlocked').html(Drupal.t('Unlock'));
-                $(hooks[i - 1]).attr('class',
-                  locks[i - 2] && $(locks[i - 2]).is(':not(.is-unlocked)') ? 'color-palette__hook is-both' : 'color-palette__hook is-down',
+              } else {
+                $(this)
+                  .removeClass('is-unlocked')
+                  .html(Drupal.t('Unlock'));
+                $(hooks[i - 1]).attr(
+                  'class',
+                  locks[i - 2] && $(locks[i - 2]).is(':not(.is-unlocked)')
+                    ? 'color-palette__hook is-both'
+                    : 'color-palette__hook is-down',
                 );
-                $(hooks[i]).attr('class',
-                  locks[i] && $(locks[i]).is(':not(.is-unlocked)') ? 'color-palette__hook is-both' : 'color-palette__hook is-up',
+                $(hooks[i]).attr(
+                  'class',
+                  locks[i] && $(locks[i]).is(':not(.is-unlocked)')
+                    ? 'color-palette__hook is-both'
+                    : 'color-palette__hook is-up',
                 );
               }
               toggleClick = !toggleClick;
           $(this).after(hook);
           hooks.push(hook);
 
-          $(this).parent().find('.color-palette__lock').trigger('click');
+          $(this)
+            .parent()
+            .find('.color-palette__lock')
+            .trigger('click');
           this.i = i;
           inputs.push(this);
         })
       preview();
     },
   };
-}(jQuery, Drupal));
+})(jQuery, Drupal);