color_field_widget_box.jquery.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /**
  2. * @file
  3. * Attaches behaviors for Drupal's color field.
  4. */
  5. (function ($, Drupal) {
  6. 'use strict';
  7. /**
  8. * Enables box widget on color elements.
  9. *
  10. * @type {Drupal~behavior}
  11. *
  12. * @prop {Drupal~behaviorAttach} attach
  13. * Attaches a box widget to a color input element.
  14. */
  15. Drupal.behaviors.color_field = {
  16. attach: function (context, settings) {
  17. var $context = $(context);
  18. var default_colors = settings.color_field.color_field_widget_box.settings.default_colors;
  19. $context.find('.color-field-widget-box-form').each(function (index, element) {
  20. var $element = $(element);
  21. var $input = $element.prev().find('input');
  22. $element.empty().addColorPicker({
  23. currentColor: $input.val(),
  24. colors: default_colors,
  25. blotchClass:'color_field_widget_box__square',
  26. blotchTransparentClass:'color_field_widget_box__square--transparent',
  27. clickCallback: function(color) {
  28. $input.val(color).trigger('change');
  29. }
  30. });
  31. });
  32. },
  33. };
  34. })(jQuery, Drupal);