Artifact
f19dfa9650aeaa002e120224b6f7dd9bc0ae229d37a505ea7a6654f9ffa9bac0:
0000: 27 75 73 65 20 73 74 72 69 63 74 27 3b 0a 0a 69 'use strict';..i
0010: 6d 70 6f 72 74 20 45 78 74 65 6e 73 69 6f 6e 20 mport Extension
0020: 66 72 6f 6d 20 27 2e 2f 45 78 74 65 6e 73 69 6f from './Extensio
0030: 6e 27 3b 0a 69 6d 70 6f 72 74 20 64 65 66 61 75 n';.import defau
0040: 6c 74 73 20 66 72 6f 6d 20 27 2e 2f 6f 70 74 69 lts from './opti
0050: 6f 6e 73 27 3b 0a 69 6d 70 6f 72 74 20 63 6f 72 ons';.import cor
0060: 65 45 78 74 65 6e 73 69 6f 6e 73 20 66 72 6f 6d eExtensions from
0070: 20 27 65 78 74 65 6e 73 69 6f 6e 73 27 3b 0a 69 'extensions';.i
0080: 6d 70 6f 72 74 20 24 20 66 72 6f 6d 20 27 6a 71 mport $ from 'jq
0090: 75 65 72 79 27 3b 0a 69 6d 70 6f 72 74 20 53 6c uery';.import Sl
00a0: 69 64 65 72 48 61 6e 64 6c 65 72 20 66 72 6f 6d iderHandler from
00b0: 20 27 2e 2f 53 6c 69 64 65 72 48 61 6e 64 6c 65 './SliderHandle
00c0: 72 27 3b 0a 69 6d 70 6f 72 74 20 50 6f 70 75 70 r';.import Popup
00d0: 48 61 6e 64 6c 65 72 20 66 72 6f 6d 20 27 2e 2f Handler from './
00e0: 50 6f 70 75 70 48 61 6e 64 6c 65 72 27 3b 0a 69 PopupHandler';.i
00f0: 6d 70 6f 72 74 20 49 6e 70 75 74 48 61 6e 64 6c mport InputHandl
0100: 65 72 20 66 72 6f 6d 20 27 2e 2f 49 6e 70 75 74 er from './Input
0110: 48 61 6e 64 6c 65 72 27 3b 0a 69 6d 70 6f 72 74 Handler';.import
0120: 20 43 6f 6c 6f 72 48 61 6e 64 6c 65 72 20 66 72 ColorHandler fr
0130: 6f 6d 20 27 2e 2f 43 6f 6c 6f 72 48 61 6e 64 6c om './ColorHandl
0140: 65 72 27 3b 0a 69 6d 70 6f 72 74 20 50 69 63 6b er';.import Pick
0150: 65 72 48 61 6e 64 6c 65 72 20 66 72 6f 6d 20 27 erHandler from '
0160: 2e 2f 50 69 63 6b 65 72 48 61 6e 64 6c 65 72 27 ./PickerHandler'
0170: 3b 0a 69 6d 70 6f 72 74 20 41 64 64 6f 6e 48 61 ;.import AddonHa
0180: 6e 64 6c 65 72 20 66 72 6f 6d 20 27 2e 2f 41 64 ndler from './Ad
0190: 64 6f 6e 48 61 6e 64 6c 65 72 27 3b 0a 69 6d 70 donHandler';.imp
01a0: 6f 72 74 20 43 6f 6c 6f 72 49 74 65 6d 20 66 72 ort ColorItem fr
01b0: 6f 6d 20 27 2e 2f 43 6f 6c 6f 72 49 74 65 6d 27 om './ColorItem'
01c0: 3b 0a 0a 6c 65 74 20 63 6f 6c 6f 72 50 69 63 6b ;..let colorPick
01d0: 65 72 49 64 43 6f 75 6e 74 65 72 20 3d 20 30 3b erIdCounter = 0;
01e0: 0a 6c 65 74 20 72 6f 6f 74 20 3d 20 28 74 79 70 .let root = (typ
01f0: 65 6f 66 20 73 65 6c 66 20 21 3d 3d 20 27 75 6e eof self !== 'un
0200: 64 65 66 69 6e 65 64 27 20 3f 20 73 65 6c 66 20 defined' ? self
0210: 3a 20 74 68 69 73 29 3b 20 2f 2f 20 77 69 6e 64 : this); // wind
0220: 6f 77 0a 0a 2f 2a 2a 0a 20 2a 20 43 6f 6c 6f 72 ow../**. * Color
0230: 70 69 63 6b 65 72 20 77 69 64 67 65 74 20 63 6c picker widget cl
0240: 61 73 73 0a 20 2a 2f 0a 63 6c 61 73 73 20 43 6f ass. */.class Co
0250: 6c 6f 72 70 69 63 6b 65 72 20 7b 0a 20 20 2f 2a lorpicker {. /*
0260: 2a 0a 20 20 20 2a 20 43 6f 6c 6f 72 20 63 6c 61 *. * Color cla
0270: 73 73 0a 20 20 20 2a 0a 20 20 20 2a 20 40 73 74 ss. *. * @st
0280: 61 74 69 63 0a 20 20 20 2a 20 40 74 79 70 65 20 atic. * @type
0290: 7b 43 6f 6c 6f 72 7d 0a 20 20 20 2a 2f 0a 20 20 {Color}. */.
02a0: 73 74 61 74 69 63 20 67 65 74 20 43 6f 6c 6f 72 static get Color
02b0: 28 29 20 7b 0a 20 20 20 20 72 65 74 75 72 6e 20 () {. return
02c0: 43 6f 6c 6f 72 49 74 65 6d 3b 0a 20 20 7d 0a 0a ColorItem;. }..
02d0: 20 20 2f 2a 2a 0a 20 20 20 2a 20 45 78 74 65 6e /**. * Exten
02e0: 73 69 6f 6e 20 63 6c 61 73 73 0a 20 20 20 2a 0a sion class. *.
02f0: 20 20 20 2a 20 40 73 74 61 74 69 63 0a 20 20 20 * @static.
0300: 2a 20 40 74 79 70 65 20 7b 45 78 74 65 6e 73 69 * @type {Extensi
0310: 6f 6e 7d 0a 20 20 20 2a 2f 0a 20 20 73 74 61 74 on}. */. stat
0320: 69 63 20 67 65 74 20 45 78 74 65 6e 73 69 6f 6e ic get Extension
0330: 28 29 20 7b 0a 20 20 20 20 72 65 74 75 72 6e 20 () {. return
0340: 45 78 74 65 6e 73 69 6f 6e 3b 0a 20 20 7d 0a 0a Extension;. }..
0350: 20 20 2f 2a 2a 0a 20 20 20 2a 20 49 6e 74 65 72 /**. * Inter
0360: 6e 61 6c 20 63 6f 6c 6f 72 20 6f 62 6a 65 63 74 nal color object
0370: 0a 20 20 20 2a 0a 20 20 20 2a 20 40 74 79 70 65 . *. * @type
0380: 20 7b 43 6f 6c 6f 72 7c 6e 75 6c 6c 7d 0a 20 20 {Color|null}.
0390: 20 2a 2f 0a 20 20 67 65 74 20 63 6f 6c 6f 72 28 */. get color(
03a0: 29 20 7b 0a 20 20 20 20 72 65 74 75 72 6e 20 74 ) {. return t
03b0: 68 69 73 2e 63 6f 6c 6f 72 48 61 6e 64 6c 65 72 his.colorHandler
03c0: 2e 63 6f 6c 6f 72 3b 0a 20 20 7d 0a 0a 20 20 2f .color;. }.. /
03d0: 2a 2a 0a 20 20 20 2a 20 49 6e 74 65 72 6e 61 6c **. * Internal
03e0: 20 63 6f 6c 6f 72 20 66 6f 72 6d 61 74 0a 20 20 color format.
03f0: 20 2a 0a 20 20 20 2a 20 40 74 79 70 65 20 7b 53 *. * @type {S
0400: 74 72 69 6e 67 7c 6e 75 6c 6c 7d 0a 20 20 20 2a tring|null}. *
0410: 2f 0a 20 20 67 65 74 20 66 6f 72 6d 61 74 28 29 /. get format()
0420: 20 7b 0a 20 20 20 20 72 65 74 75 72 6e 20 74 68 {. return th
0430: 69 73 2e 63 6f 6c 6f 72 48 61 6e 64 6c 65 72 2e is.colorHandler.
0440: 66 6f 72 6d 61 74 3b 0a 20 20 7d 0a 0a 20 20 2f format;. }.. /
0450: 2a 2a 0a 20 20 20 2a 20 47 65 74 74 65 72 20 6f **. * Getter o
0460: 66 20 74 68 65 20 70 69 63 6b 65 72 20 65 6c 65 f the picker ele
0470: 6d 65 6e 74 0a 20 20 20 2a 0a 20 20 20 2a 20 40 ment. *. * @
0480: 72 65 74 75 72 6e 73 20 7b 6a 51 75 65 72 79 7c returns {jQuery|
0490: 48 54 4d 4c 45 6c 65 6d 65 6e 74 7d 0a 20 20 20 HTMLElement}.
04a0: 2a 2f 0a 20 20 67 65 74 20 70 69 63 6b 65 72 28 */. get picker(
04b0: 29 20 7b 0a 20 20 20 20 72 65 74 75 72 6e 20 74 ) {. return t
04c0: 68 69 73 2e 70 69 63 6b 65 72 48 61 6e 64 6c 65 his.pickerHandle
04d0: 72 2e 70 69 63 6b 65 72 3b 0a 20 20 7d 0a 0a 20 r.picker;. }..
04e0: 20 2f 2a 2a 0a 20 20 20 2a 20 40 66 69 72 65 73 /**. * @fires
04f0: 20 43 6f 6c 6f 72 70 69 63 6b 65 72 23 63 6f 6c Colorpicker#col
0500: 6f 72 70 69 63 6b 65 72 43 72 65 61 74 65 0a 20 orpickerCreate.
0510: 20 20 2a 20 40 70 61 72 61 6d 20 7b 4f 62 6a 65 * @param {Obje
0520: 63 74 7c 53 74 72 69 6e 67 7d 20 65 6c 65 6d 65 ct|String} eleme
0530: 6e 74 0a 20 20 20 2a 20 40 70 61 72 61 6d 20 7b nt. * @param {
0540: 4f 62 6a 65 63 74 7d 20 6f 70 74 69 6f 6e 73 0a Object} options.
0550: 20 20 20 2a 20 40 63 6f 6e 73 74 72 75 63 74 6f * @constructo
0560: 72 0a 20 20 20 2a 2f 0a 20 20 63 6f 6e 73 74 72 r. */. constr
0570: 75 63 74 6f 72 28 65 6c 65 6d 65 6e 74 2c 20 6f uctor(element, o
0580: 70 74 69 6f 6e 73 29 20 7b 0a 20 20 20 20 63 6f ptions) {. co
0590: 6c 6f 72 50 69 63 6b 65 72 49 64 43 6f 75 6e 74 lorPickerIdCount
05a0: 65 72 20 2b 3d 20 31 3b 0a 20 20 20 20 2f 2a 2a er += 1;. /**
05b0: 0a 20 20 20 20 20 2a 20 54 68 65 20 63 6f 6c 6f . * The colo
05c0: 72 70 69 63 6b 65 72 20 69 6e 73 74 61 6e 63 65 rpicker instance
05d0: 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 2a 20 40 number. * @
05e0: 74 79 70 65 20 7b 6e 75 6d 62 65 72 7d 0a 20 20 type {number}.
05f0: 20 20 20 2a 2f 0a 20 20 20 20 74 68 69 73 2e 69 */. this.i
0600: 64 20 3d 20 63 6f 6c 6f 72 50 69 63 6b 65 72 49 d = colorPickerI
0610: 64 43 6f 75 6e 74 65 72 3b 0a 0a 20 20 20 20 2f dCounter;.. /
0620: 2a 2a 0a 20 20 20 20 20 2a 20 4c 61 74 65 73 74 **. * Latest
0630: 20 63 6f 6c 6f 72 70 69 63 6b 65 72 20 65 76 65 colorpicker eve
0640: 6e 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a nt. *. *
0650: 20 40 74 79 70 65 20 7b 7b 6e 61 6d 65 3a 20 53 @type {{name: S
0660: 74 72 69 6e 67 2c 20 65 3a 20 2a 7d 7d 0a 20 20 tring, e: *}}.
0670: 20 20 20 2a 2f 0a 20 20 20 20 74 68 69 73 2e 6c */. this.l
0680: 61 73 74 45 76 65 6e 74 20 3d 20 7b 0a 20 20 20 astEvent = {.
0690: 20 20 20 61 6c 69 61 73 3a 20 6e 75 6c 6c 2c 0a alias: null,.
06a0: 20 20 20 20 20 20 65 3a 20 6e 75 6c 6c 0a 20 20 e: null.
06b0: 20 20 7d 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 };.. /**.
06c0: 20 20 20 2a 20 54 68 65 20 65 6c 65 6d 65 6e 74 * The element
06d0: 20 74 68 61 74 20 74 68 65 20 63 6f 6c 6f 72 70 that the colorp
06e0: 69 63 6b 65 72 20 69 73 20 62 6f 75 6e 64 20 74 icker is bound t
06f0: 6f 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 o. *. *
0700: 40 74 79 70 65 20 7b 2a 7c 6a 51 75 65 72 79 7d @type {*|jQuery}
0710: 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 74 68 69 . */. thi
0720: 73 2e 65 6c 65 6d 65 6e 74 20 3d 20 24 28 65 6c s.element = $(el
0730: 65 6d 65 6e 74 29 0a 20 20 20 20 20 20 2e 61 64 ement). .ad
0740: 64 43 6c 61 73 73 28 27 63 6f 6c 6f 72 70 69 63 dClass('colorpic
0750: 6b 65 72 2d 65 6c 65 6d 65 6e 74 27 29 0a 20 20 ker-element').
0760: 20 20 20 20 2e 61 74 74 72 28 27 64 61 74 61 2d .attr('data-
0770: 63 6f 6c 6f 72 70 69 63 6b 65 72 2d 69 64 27 2c colorpicker-id',
0780: 20 74 68 69 73 2e 69 64 29 3b 0a 0a 20 20 20 20 this.id);..
0790: 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 74 79 70 65 /**. * @type
07a0: 20 7b 64 65 66 61 75 6c 74 73 7d 0a 20 20 20 20 {defaults}.
07b0: 20 2a 2f 0a 20 20 20 20 74 68 69 73 2e 6f 70 74 */. this.opt
07c0: 69 6f 6e 73 20 3d 20 24 2e 65 78 74 65 6e 64 28 ions = $.extend(
07d0: 74 72 75 65 2c 20 7b 7d 2c 20 64 65 66 61 75 6c true, {}, defaul
07e0: 74 73 2c 20 6f 70 74 69 6f 6e 73 2c 20 74 68 69 ts, options, thi
07f0: 73 2e 65 6c 65 6d 65 6e 74 2e 64 61 74 61 28 29 s.element.data()
0800: 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 );.. /**.
0810: 20 2a 20 40 74 79 70 65 20 7b 62 6f 6f 6c 65 61 * @type {boolea
0820: 6e 7d 0a 20 20 20 20 20 2a 20 40 70 72 69 76 61 n}. * @priva
0830: 74 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 74 te. */. t
0840: 68 69 73 2e 64 69 73 61 62 6c 65 64 20 3d 20 66 his.disabled = f
0850: 61 6c 73 65 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 alse;.. /**.
0860: 20 20 20 20 2a 20 45 78 74 65 6e 73 69 6f 6e 73 * Extensions
0870: 20 61 64 64 65 64 20 74 6f 20 74 68 69 73 20 69 added to this i
0880: 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 0a 20 nstance. *.
0890: 20 20 20 20 2a 20 40 74 79 70 65 20 7b 45 78 74 * @type {Ext
08a0: 65 6e 73 69 6f 6e 5b 5d 7d 0a 20 20 20 20 20 2a ension[]}. *
08b0: 2f 0a 20 20 20 20 74 68 69 73 2e 65 78 74 65 6e /. this.exten
08c0: 73 69 6f 6e 73 20 3d 20 5b 5d 3b 0a 0a 20 20 20 sions = [];..
08d0: 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 68 65 20 /**. * The
08e0: 65 6c 65 6d 65 6e 74 20 77 68 65 72 65 20 74 68 element where th
08f0: 65 0a 20 20 20 20 20 2a 20 40 74 79 70 65 20 7b e. * @type {
0900: 2a 7c 6a 51 75 65 72 79 7d 0a 20 20 20 20 20 2a *|jQuery}. *
0910: 2f 0a 20 20 20 20 74 68 69 73 2e 63 6f 6e 74 61 /. this.conta
0920: 69 6e 65 72 20 3d 20 28 0a 20 20 20 20 20 20 74 iner = (. t
0930: 68 69 73 2e 6f 70 74 69 6f 6e 73 2e 63 6f 6e 74 his.options.cont
0940: 61 69 6e 65 72 20 3d 3d 3d 20 74 72 75 65 20 7c ainer === true |
0950: 7c 0a 20 20 20 20 20 20 28 74 68 69 73 2e 6f 70 |. (this.op
0960: 74 69 6f 6e 73 2e 63 6f 6e 74 61 69 6e 65 72 20 tions.container
0970: 21 3d 3d 20 74 72 75 65 20 26 26 20 74 68 69 73 !== true && this
0980: 2e 6f 70 74 69 6f 6e 73 2e 69 6e 6c 69 6e 65 20 .options.inline
0990: 3d 3d 3d 20 74 72 75 65 29 0a 20 20 20 20 29 20 === true). )
09a0: 3f 20 74 68 69 73 2e 65 6c 65 6d 65 6e 74 20 3a ? this.element :
09b0: 20 74 68 69 73 2e 6f 70 74 69 6f 6e 73 2e 63 6f this.options.co
09c0: 6e 74 61 69 6e 65 72 3b 0a 0a 20 20 20 20 74 68 ntainer;.. th
09d0: 69 73 2e 63 6f 6e 74 61 69 6e 65 72 20 3d 20 28 is.container = (
09e0: 74 68 69 73 2e 63 6f 6e 74 61 69 6e 65 72 20 21 this.container !
09f0: 3d 3d 20 66 61 6c 73 65 29 20 3f 20 24 28 74 68 == false) ? $(th
0a00: 69 73 2e 63 6f 6e 74 61 69 6e 65 72 29 20 3a 20 is.container) :
0a10: 66 61 6c 73 65 3b 0a 0a 20 20 20 20 2f 2a 2a 0a false;.. /**.
0a20: 20 20 20 20 20 2a 20 40 74 79 70 65 20 7b 49 6e * @type {In
0a30: 70 75 74 48 61 6e 64 6c 65 72 7d 0a 20 20 20 20 putHandler}.
0a40: 20 2a 2f 0a 20 20 20 20 74 68 69 73 2e 69 6e 70 */. this.inp
0a50: 75 74 48 61 6e 64 6c 65 72 20 3d 20 6e 65 77 20 utHandler = new
0a60: 49 6e 70 75 74 48 61 6e 64 6c 65 72 28 74 68 69 InputHandler(thi
0a70: 73 29 3b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 s);. /**.
0a80: 20 2a 20 40 74 79 70 65 20 7b 43 6f 6c 6f 72 48 * @type {ColorH
0a90: 61 6e 64 6c 65 72 7d 0a 20 20 20 20 20 2a 2f 0a andler}. */.
0aa0: 20 20 20 20 74 68 69 73 2e 63 6f 6c 6f 72 48 61 this.colorHa
0ab0: 6e 64 6c 65 72 20 3d 20 6e 65 77 20 43 6f 6c 6f ndler = new Colo
0ac0: 72 48 61 6e 64 6c 65 72 28 74 68 69 73 29 3b 0a rHandler(this);.
0ad0: 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 /**. * @
0ae0: 74 79 70 65 20 7b 53 6c 69 64 65 72 48 61 6e 64 type {SliderHand
0af0: 6c 65 72 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 ler}. */.
0b00: 20 74 68 69 73 2e 73 6c 69 64 65 72 48 61 6e 64 this.sliderHand
0b10: 6c 65 72 20 3d 20 6e 65 77 20 53 6c 69 64 65 72 ler = new Slider
0b20: 48 61 6e 64 6c 65 72 28 74 68 69 73 29 3b 0a 20 Handler(this);.
0b30: 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 74 /**. * @t
0b40: 79 70 65 20 7b 50 6f 70 75 70 48 61 6e 64 6c 65 ype {PopupHandle
0b50: 72 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 74 r}. */. t
0b60: 68 69 73 2e 70 6f 70 75 70 48 61 6e 64 6c 65 72 his.popupHandler
0b70: 20 3d 20 6e 65 77 20 50 6f 70 75 70 48 61 6e 64 = new PopupHand
0b80: 6c 65 72 28 74 68 69 73 2c 20 72 6f 6f 74 29 3b ler(this, root);
0b90: 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 . /**. *
0ba0: 40 74 79 70 65 20 7b 50 69 63 6b 65 72 48 61 6e @type {PickerHan
0bb0: 64 6c 65 72 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 dler}. */.
0bc0: 20 20 74 68 69 73 2e 70 69 63 6b 65 72 48 61 6e this.pickerHan
0bd0: 64 6c 65 72 20 3d 20 6e 65 77 20 50 69 63 6b 65 dler = new Picke
0be0: 72 48 61 6e 64 6c 65 72 28 74 68 69 73 29 3b 0a rHandler(this);.
0bf0: 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 /**. * @
0c00: 74 79 70 65 20 7b 41 64 64 6f 6e 48 61 6e 64 6c type {AddonHandl
0c10: 65 72 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 er}. */.
0c20: 74 68 69 73 2e 61 64 64 6f 6e 48 61 6e 64 6c 65 this.addonHandle
0c30: 72 20 3d 20 6e 65 77 20 41 64 64 6f 6e 48 61 6e r = new AddonHan
0c40: 64 6c 65 72 28 74 68 69 73 29 3b 0a 0a 20 20 20 dler(this);..
0c50: 20 74 68 69 73 2e 69 6e 69 74 28 29 3b 0a 0a 20 this.init();..
0c60: 20 20 20 2f 2f 20 45 6d 69 74 20 61 20 63 72 65 // Emit a cre
0c70: 61 74 65 20 65 76 65 6e 74 0a 20 20 20 20 24 28 ate event. $(
0c80: 24 2e 70 72 6f 78 79 28 66 75 6e 63 74 69 6f 6e $.proxy(function
0c90: 20 28 29 20 7b 0a 20 20 20 20 20 20 2f 2a 2a 0a () {. /**.
0ca0: 20 20 20 20 20 20 20 2a 20 28 43 6f 6c 6f 72 70 * (Colorp
0cb0: 69 63 6b 65 72 29 20 57 68 65 6e 20 74 68 65 20 icker) When the
0cc0: 43 6f 6c 6f 72 70 69 63 6b 65 72 20 69 6e 73 74 Colorpicker inst
0cd0: 61 6e 63 65 20 68 61 73 20 62 65 65 6e 20 63 72 ance has been cr
0ce0: 65 61 74 65 64 20 61 6e 64 20 74 68 65 20 44 4f eated and the DO
0cf0: 4d 20 69 73 20 72 65 61 64 79 2e 0a 20 20 20 20 M is ready..
0d00: 20 20 20 2a 0a 20 20 20 20 20 20 20 2a 20 40 65 *. * @e
0d10: 76 65 6e 74 20 43 6f 6c 6f 72 70 69 63 6b 65 72 vent Colorpicker
0d20: 23 63 6f 6c 6f 72 70 69 63 6b 65 72 43 72 65 61 #colorpickerCrea
0d30: 74 65 0a 20 20 20 20 20 20 20 2a 2f 0a 20 20 20 te. */.
0d40: 20 20 20 74 68 69 73 2e 74 72 69 67 67 65 72 28 this.trigger(
0d50: 27 63 6f 6c 6f 72 70 69 63 6b 65 72 43 72 65 61 'colorpickerCrea
0d60: 74 65 27 29 3b 0a 20 20 20 20 7d 2c 20 74 68 69 te');. }, thi
0d70: 73 29 29 3b 0a 20 20 7d 0a 0a 20 20 2f 2a 2a 0a s));. }.. /**.
0d80: 20 20 20 2a 20 49 6e 69 74 69 61 6c 69 7a 65 73 * Initializes
0d90: 20 74 68 65 20 70 6c 75 67 69 6e 0a 20 20 20 2a the plugin. *
0da0: 20 40 70 72 69 76 61 74 65 0a 20 20 20 2a 2f 0a @private. */.
0db0: 20 20 69 6e 69 74 28 29 20 7b 0a 20 20 20 20 2f init() {. /
0dc0: 2f 20 49 6e 69 74 20 61 64 64 6f 6e 0a 20 20 20 / Init addon.
0dd0: 20 74 68 69 73 2e 61 64 64 6f 6e 48 61 6e 64 6c this.addonHandl
0de0: 65 72 2e 62 69 6e 64 28 29 3b 0a 0a 20 20 20 20 er.bind();..
0df0: 2f 2f 20 49 6e 69 74 20 69 6e 70 75 74 0a 20 20 // Init input.
0e00: 20 20 74 68 69 73 2e 69 6e 70 75 74 48 61 6e 64 this.inputHand
0e10: 6c 65 72 2e 62 69 6e 64 28 29 3b 0a 0a 20 20 20 ler.bind();..
0e20: 20 2f 2f 20 49 6e 69 74 20 65 78 74 65 6e 73 69 // Init extensi
0e30: 6f 6e 73 20 28 62 65 66 6f 72 65 20 69 6e 69 74 ons (before init
0e40: 69 61 6c 69 7a 69 6e 67 20 74 68 65 20 63 6f 6c ializing the col
0e50: 6f 72 29 0a 20 20 20 20 74 68 69 73 2e 69 6e 69 or). this.ini
0e60: 74 45 78 74 65 6e 73 69 6f 6e 73 28 29 3b 0a 0a tExtensions();..
0e70: 20 20 20 20 2f 2f 20 49 6e 69 74 20 63 6f 6c 6f // Init colo
0e80: 72 0a 20 20 20 20 74 68 69 73 2e 63 6f 6c 6f 72 r. this.color
0e90: 48 61 6e 64 6c 65 72 2e 62 69 6e 64 28 29 3b 0a Handler.bind();.
0ea0: 0a 20 20 20 20 2f 2f 20 49 6e 69 74 20 70 69 63 . // Init pic
0eb0: 6b 65 72 0a 20 20 20 20 74 68 69 73 2e 70 69 63 ker. this.pic
0ec0: 6b 65 72 48 61 6e 64 6c 65 72 2e 62 69 6e 64 28 kerHandler.bind(
0ed0: 29 3b 0a 0a 20 20 20 20 2f 2f 20 49 6e 69 74 20 );.. // Init
0ee0: 73 6c 69 64 65 72 73 20 61 6e 64 20 70 6f 70 75 sliders and popu
0ef0: 70 0a 20 20 20 20 74 68 69 73 2e 73 6c 69 64 65 p. this.slide
0f00: 72 48 61 6e 64 6c 65 72 2e 62 69 6e 64 28 29 3b rHandler.bind();
0f10: 0a 20 20 20 20 74 68 69 73 2e 70 6f 70 75 70 48 . this.popupH
0f20: 61 6e 64 6c 65 72 2e 62 69 6e 64 28 29 3b 0a 0a andler.bind();..
0f30: 20 20 20 20 2f 2f 20 49 6e 6a 65 63 74 20 69 6e // Inject in
0f40: 74 6f 20 74 68 65 20 44 4f 4d 20 28 74 68 69 73 to the DOM (this
0f50: 20 6d 61 79 20 6d 61 6b 65 20 69 74 20 76 69 73 may make it vis
0f60: 69 62 6c 65 29 0a 20 20 20 20 74 68 69 73 2e 70 ible). this.p
0f70: 69 63 6b 65 72 48 61 6e 64 6c 65 72 2e 61 74 74 ickerHandler.att
0f80: 61 63 68 28 29 3b 0a 0a 20 20 20 20 2f 2f 20 55 ach();.. // U
0f90: 70 64 61 74 65 20 61 6c 6c 20 63 6f 6d 70 6f 6e pdate all compon
0fa0: 65 6e 74 73 0a 20 20 20 20 74 68 69 73 2e 75 70 ents. this.up
0fb0: 64 61 74 65 28 29 3b 0a 0a 20 20 20 20 69 66 20 date();.. if
0fc0: 28 74 68 69 73 2e 69 6e 70 75 74 48 61 6e 64 6c (this.inputHandl
0fd0: 65 72 2e 69 73 44 69 73 61 62 6c 65 64 28 29 29 er.isDisabled())
0fe0: 20 7b 0a 20 20 20 20 20 20 74 68 69 73 2e 64 69 {. this.di
0ff0: 73 61 62 6c 65 28 29 3b 0a 20 20 20 20 7d 0a 20 sable();. }.
1000: 20 7d 0a 0a 20 20 2f 2a 2a 0a 20 20 20 2a 20 49 }.. /**. * I
1010: 6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65 20 70 nitializes the p
1020: 6c 75 67 69 6e 20 65 78 74 65 6e 73 69 6f 6e 73 lugin extensions
1030: 0a 20 20 20 2a 20 40 70 72 69 76 61 74 65 0a 20 . * @private.
1040: 20 20 2a 2f 0a 20 20 69 6e 69 74 45 78 74 65 6e */. initExten
1050: 73 69 6f 6e 73 28 29 20 7b 0a 20 20 20 20 69 66 sions() {. if
1060: 20 28 21 41 72 72 61 79 2e 69 73 41 72 72 61 79 (!Array.isArray
1070: 28 74 68 69 73 2e 6f 70 74 69 6f 6e 73 2e 65 78 (this.options.ex
1080: 74 65 6e 73 69 6f 6e 73 29 29 20 7b 0a 20 20 20 tensions)) {.
1090: 20 20 20 74 68 69 73 2e 6f 70 74 69 6f 6e 73 2e this.options.
10a0: 65 78 74 65 6e 73 69 6f 6e 73 20 3d 20 5b 5d 3b extensions = [];
10b0: 0a 20 20 20 20 7d 0a 0a 20 20 20 20 69 66 20 28 . }.. if (
10c0: 74 68 69 73 2e 6f 70 74 69 6f 6e 73 2e 64 65 62 this.options.deb
10d0: 75 67 29 20 7b 0a 20 20 20 20 20 20 74 68 69 73 ug) {. this
10e0: 2e 6f 70 74 69 6f 6e 73 2e 65 78 74 65 6e 73 69 .options.extensi
10f0: 6f 6e 73 2e 70 75 73 68 28 7b 6e 61 6d 65 3a 20 ons.push({name:
1100: 27 64 65 62 75 67 67 65 72 27 7d 29 3b 0a 20 20 'debugger'});.
1110: 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 52 65 67 69 }.. // Regi
1120: 73 74 65 72 20 61 6e 64 20 69 6e 73 74 61 6e 74 ster and instant
1130: 69 61 74 65 20 65 78 74 65 6e 73 69 6f 6e 73 0a iate extensions.
1140: 20 20 20 20 74 68 69 73 2e 6f 70 74 69 6f 6e 73 this.options
1150: 2e 65 78 74 65 6e 73 69 6f 6e 73 2e 66 6f 72 45 .extensions.forE
1160: 61 63 68 28 28 65 78 74 29 20 3d 3e 20 7b 0a 20 ach((ext) => {.
1170: 20 20 20 20 20 74 68 69 73 2e 72 65 67 69 73 74 this.regist
1180: 65 72 45 78 74 65 6e 73 69 6f 6e 28 43 6f 6c 6f erExtension(Colo
1190: 72 70 69 63 6b 65 72 2e 65 78 74 65 6e 73 69 6f rpicker.extensio
11a0: 6e 73 5b 65 78 74 2e 6e 61 6d 65 2e 74 6f 4c 6f ns[ext.name.toLo
11b0: 77 65 72 43 61 73 65 28 29 5d 2c 20 65 78 74 2e werCase()], ext.
11c0: 6f 70 74 69 6f 6e 73 20 7c 7c 20 7b 7d 29 3b 0a options || {});.
11d0: 20 20 20 20 7d 29 3b 0a 20 20 7d 0a 0a 20 20 2f });. }.. /
11e0: 2a 2a 0a 20 20 20 2a 20 43 72 65 61 74 65 73 20 **. * Creates
11f0: 61 6e 64 20 72 65 67 69 73 74 65 72 73 20 74 68 and registers th
1200: 65 20 67 69 76 65 6e 20 65 78 74 65 6e 73 69 6f e given extensio
1210: 6e 0a 20 20 20 2a 0a 20 20 20 2a 20 40 70 61 72 n. *. * @par
1220: 61 6d 20 7b 45 78 74 65 6e 73 69 6f 6e 7d 20 45 am {Extension} E
1230: 78 74 65 6e 73 69 6f 6e 43 6c 61 73 73 20 54 68 xtensionClass Th
1240: 65 20 65 78 74 65 6e 73 69 6f 6e 20 63 6c 61 73 e extension clas
1250: 73 20 74 6f 20 69 6e 73 74 61 6e 74 69 61 74 65 s to instantiate
1260: 0a 20 20 20 2a 20 40 70 61 72 61 6d 20 7b 4f 62 . * @param {Ob
1270: 6a 65 63 74 7d 20 5b 63 6f 6e 66 69 67 5d 20 45 ject} [config] E
1280: 78 74 65 6e 73 69 6f 6e 20 63 6f 6e 66 69 67 75 xtension configu
1290: 72 61 74 69 6f 6e 0a 20 20 20 2a 20 40 72 65 74 ration. * @ret
12a0: 75 72 6e 73 20 7b 45 78 74 65 6e 73 69 6f 6e 7d urns {Extension}
12b0: 0a 20 20 20 2a 2f 0a 20 20 72 65 67 69 73 74 65 . */. registe
12c0: 72 45 78 74 65 6e 73 69 6f 6e 28 45 78 74 65 6e rExtension(Exten
12d0: 73 69 6f 6e 43 6c 61 73 73 2c 20 63 6f 6e 66 69 sionClass, confi
12e0: 67 20 3d 20 7b 7d 29 20 7b 0a 20 20 20 20 6c 65 g = {}) {. le
12f0: 74 20 65 78 74 20 3d 20 6e 65 77 20 45 78 74 65 t ext = new Exte
1300: 6e 73 69 6f 6e 43 6c 61 73 73 28 74 68 69 73 2c nsionClass(this,
1310: 20 63 6f 6e 66 69 67 29 3b 0a 0a 20 20 20 20 74 config);.. t
1320: 68 69 73 2e 65 78 74 65 6e 73 69 6f 6e 73 2e 70 his.extensions.p
1330: 75 73 68 28 65 78 74 29 3b 0a 20 20 20 20 72 65 ush(ext);. re
1340: 74 75 72 6e 20 65 78 74 3b 0a 20 20 7d 0a 0a 20 turn ext;. }..
1350: 20 2f 2a 2a 0a 20 20 20 2a 20 44 65 73 74 72 6f /**. * Destro
1360: 79 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 ys the current i
1370: 6e 73 74 61 6e 63 65 0a 20 20 20 2a 0a 20 20 20 nstance. *.
1380: 2a 20 40 66 69 72 65 73 20 43 6f 6c 6f 72 70 69 * @fires Colorpi
1390: 63 6b 65 72 23 63 6f 6c 6f 72 70 69 63 6b 65 72 cker#colorpicker
13a0: 44 65 73 74 72 6f 79 0a 20 20 20 2a 2f 0a 20 20 Destroy. */.
13b0: 64 65 73 74 72 6f 79 28 29 20 7b 0a 20 20 20 20 destroy() {.
13c0: 6c 65 74 20 63 6f 6c 6f 72 20 3d 20 74 68 69 73 let color = this
13d0: 2e 63 6f 6c 6f 72 3b 0a 0a 20 20 20 20 74 68 69 .color;.. thi
13e0: 73 2e 73 6c 69 64 65 72 48 61 6e 64 6c 65 72 2e s.sliderHandler.
13f0: 75 6e 62 69 6e 64 28 29 3b 0a 20 20 20 20 74 68 unbind();. th
1400: 69 73 2e 69 6e 70 75 74 48 61 6e 64 6c 65 72 2e is.inputHandler.
1410: 75 6e 62 69 6e 64 28 29 3b 0a 20 20 20 20 74 68 unbind();. th
1420: 69 73 2e 70 6f 70 75 70 48 61 6e 64 6c 65 72 2e is.popupHandler.
1430: 75 6e 62 69 6e 64 28 29 3b 0a 20 20 20 20 74 68 unbind();. th
1440: 69 73 2e 63 6f 6c 6f 72 48 61 6e 64 6c 65 72 2e is.colorHandler.
1450: 75 6e 62 69 6e 64 28 29 3b 0a 20 20 20 20 74 68 unbind();. th
1460: 69 73 2e 61 64 64 6f 6e 48 61 6e 64 6c 65 72 2e is.addonHandler.
1470: 75 6e 62 69 6e 64 28 29 3b 0a 20 20 20 20 74 68 unbind();. th
1480: 69 73 2e 70 69 63 6b 65 72 48 61 6e 64 6c 65 72 is.pickerHandler
1490: 2e 75 6e 62 69 6e 64 28 29 3b 0a 0a 20 20 20 20 .unbind();..
14a0: 74 68 69 73 2e 65 6c 65 6d 65 6e 74 0a 20 20 20 this.element.
14b0: 20 20 20 2e 72 65 6d 6f 76 65 43 6c 61 73 73 28 .removeClass(
14c0: 27 63 6f 6c 6f 72 70 69 63 6b 65 72 2d 65 6c 65 'colorpicker-ele
14d0: 6d 65 6e 74 27 29 0a 20 20 20 20 20 20 2e 72 65 ment'). .re
14e0: 6d 6f 76 65 44 61 74 61 28 27 63 6f 6c 6f 72 70 moveData('colorp
14f0: 69 63 6b 65 72 27 2c 20 27 63 6f 6c 6f 72 27 29 icker', 'color')
1500: 0a 20 20 20 20 20 20 2e 6f 66 66 28 27 2e 63 6f . .off('.co
1510: 6c 6f 72 70 69 63 6b 65 72 27 29 3b 0a 0a 20 20 lorpicker');..
1520: 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 28 43 6f /**. * (Co
1530: 6c 6f 72 70 69 63 6b 65 72 29 20 57 68 65 6e 20 lorpicker) When
1540: 74 68 65 20 69 6e 73 74 61 6e 63 65 20 69 73 20 the instance is
1550: 64 65 73 74 72 6f 79 65 64 20 77 69 74 68 20 61 destroyed with a
1560: 6c 6c 20 65 76 65 6e 74 73 20 75 6e 62 6f 75 6e ll events unboun
1570: 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a d.. *. *
1580: 20 40 65 76 65 6e 74 20 43 6f 6c 6f 72 70 69 63 @event Colorpic
1590: 6b 65 72 23 63 6f 6c 6f 72 70 69 63 6b 65 72 44 ker#colorpickerD
15a0: 65 73 74 72 6f 79 0a 20 20 20 20 20 2a 2f 0a 20 estroy. */.
15b0: 20 20 20 74 68 69 73 2e 74 72 69 67 67 65 72 28 this.trigger(
15c0: 27 63 6f 6c 6f 72 70 69 63 6b 65 72 44 65 73 74 'colorpickerDest
15d0: 72 6f 79 27 2c 20 63 6f 6c 6f 72 29 3b 0a 20 20 roy', color);.
15e0: 7d 0a 0a 20 20 2f 2a 2a 0a 20 20 20 2a 20 53 68 }.. /**. * Sh
15f0: 6f 77 73 20 74 68 65 20 63 6f 6c 6f 72 70 69 63 ows the colorpic
1600: 6b 65 72 20 77 69 64 67 65 74 20 69 66 20 68 69 ker widget if hi
1610: 64 64 65 6e 2e 0a 20 20 20 2a 20 49 66 20 74 68 dden.. * If th
1620: 65 20 63 6f 6c 6f 72 70 69 63 6b 65 72 20 69 73 e colorpicker is
1630: 20 64 69 73 61 62 6c 65 64 20 74 68 69 73 20 63 disabled this c
1640: 61 6c 6c 20 77 69 6c 6c 20 62 65 20 69 67 6e 6f all will be igno
1650: 72 65 64 2e 0a 20 20 20 2a 0a 20 20 20 2a 20 40 red.. *. * @
1660: 66 69 72 65 73 20 43 6f 6c 6f 72 70 69 63 6b 65 fires Colorpicke
1670: 72 23 63 6f 6c 6f 72 70 69 63 6b 65 72 53 68 6f r#colorpickerSho
1680: 77 0a 20 20 20 2a 20 40 70 61 72 61 6d 20 7b 45 w. * @param {E
1690: 76 65 6e 74 7d 20 5b 65 5d 0a 20 20 20 2a 2f 0a vent} [e]. */.
16a0: 20 20 73 68 6f 77 28 65 29 20 7b 0a 20 20 20 20 show(e) {.
16b0: 74 68 69 73 2e 70 6f 70 75 70 48 61 6e 64 6c 65 this.popupHandle
16c0: 72 2e 73 68 6f 77 28 65 29 3b 0a 20 20 7d 0a 0a r.show(e);. }..
16d0: 20 20 2f 2a 2a 0a 20 20 20 2a 20 48 69 64 65 73 /**. * Hides
16e0: 20 74 68 65 20 63 6f 6c 6f 72 70 69 63 6b 65 72 the colorpicker
16f0: 20 77 69 64 67 65 74 2e 0a 20 20 20 2a 0a 20 20 widget.. *.
1700: 20 2a 20 40 66 69 72 65 73 20 43 6f 6c 6f 72 70 * @fires Colorp
1710: 69 63 6b 65 72 23 63 6f 6c 6f 72 70 69 63 6b 65 icker#colorpicke
1720: 72 48 69 64 65 0a 20 20 20 2a 20 40 70 61 72 61 rHide. * @para
1730: 6d 20 7b 45 76 65 6e 74 7d 20 5b 65 5d 0a 20 20 m {Event} [e].
1740: 20 2a 2f 0a 20 20 68 69 64 65 28 65 29 20 7b 0a */. hide(e) {.
1750: 20 20 20 20 74 68 69 73 2e 70 6f 70 75 70 48 61 this.popupHa
1760: 6e 64 6c 65 72 2e 68 69 64 65 28 65 29 3b 0a 20 ndler.hide(e);.
1770: 20 7d 0a 0a 20 20 2f 2a 2a 0a 20 20 20 2a 20 54 }.. /**. * T
1780: 6f 67 67 6c 65 73 20 74 68 65 20 63 6f 6c 6f 72 oggles the color
1790: 70 69 63 6b 65 72 20 62 65 74 77 65 65 6e 20 76 picker between v
17a0: 69 73 69 62 6c 65 20 61 6e 64 20 68 69 64 64 65 isible and hidde
17b0: 6e 2e 0a 20 20 20 2a 0a 20 20 20 2a 20 40 66 69 n.. *. * @fi
17c0: 72 65 73 20 43 6f 6c 6f 72 70 69 63 6b 65 72 23 res Colorpicker#
17d0: 63 6f 6c 6f 72 70 69 63 6b 65 72 53 68 6f 77 0a colorpickerShow.
17e0: 20 20 20 2a 20 40 66 69 72 65 73 20 43 6f 6c 6f * @fires Colo
17f0: 72 70 69 63 6b 65 72 23 63 6f 6c 6f 72 70 69 63 rpicker#colorpic
1800: 6b 65 72 48 69 64 65 0a 20 20 20 2a 20 40 70 61 kerHide. * @pa
1810: 72 61 6d 20 7b 45 76 65 6e 74 7d 20 5b 65 5d 0a ram {Event} [e].
1820: 20 20 20 2a 2f 0a 20 20 74 6f 67 67 6c 65 28 65 */. toggle(e
1830: 29 20 7b 0a 20 20 20 20 74 68 69 73 2e 70 6f 70 ) {. this.pop
1840: 75 70 48 61 6e 64 6c 65 72 2e 74 6f 67 67 6c 65 upHandler.toggle
1850: 28 65 29 3b 0a 20 20 7d 0a 0a 20 20 2f 2a 2a 0a (e);. }.. /**.
1860: 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 * Returns the
1870: 20 63 75 72 72 65 6e 74 20 63 6f 6c 6f 72 20 76 current color v
1880: 61 6c 75 65 20 61 73 20 73 74 72 69 6e 67 0a 20 alue as string.
1890: 20 20 2a 0a 20 20 20 2a 20 40 70 61 72 61 6d 20 *. * @param
18a0: 7b 53 74 72 69 6e 67 7c 2a 7d 20 5b 64 65 66 61 {String|*} [defa
18b0: 75 6c 74 56 61 6c 75 65 5d 0a 20 20 20 2a 20 40 ultValue]. * @
18c0: 72 65 74 75 72 6e 73 20 7b 53 74 72 69 6e 67 7c returns {String|
18d0: 2a 7d 0a 20 20 20 2a 2f 0a 20 20 67 65 74 56 61 *}. */. getVa
18e0: 6c 75 65 28 64 65 66 61 75 6c 74 56 61 6c 75 65 lue(defaultValue
18f0: 20 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 6c = null) {. l
1900: 65 74 20 76 61 6c 20 3d 20 74 68 69 73 2e 63 6f et val = this.co
1910: 6c 6f 72 48 61 6e 64 6c 65 72 2e 63 6f 6c 6f 72 lorHandler.color
1920: 3b 0a 0a 20 20 20 20 76 61 6c 20 3d 20 28 76 61 ;.. val = (va
1930: 6c 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6c l instanceof Col
1940: 6f 72 49 74 65 6d 29 20 3f 20 76 61 6c 20 3a 20 orItem) ? val :
1950: 64 65 66 61 75 6c 74 56 61 6c 75 65 3b 0a 0a 20 defaultValue;..
1960: 20 20 20 69 66 20 28 76 61 6c 20 69 6e 73 74 61 if (val insta
1970: 6e 63 65 6f 66 20 43 6f 6c 6f 72 49 74 65 6d 29 nceof ColorItem)
1980: 20 7b 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 {. return
1990: 76 61 6c 2e 73 74 72 69 6e 67 28 74 68 69 73 2e val.string(this.
19a0: 66 6f 72 6d 61 74 29 3b 0a 20 20 20 20 7d 0a 0a format);. }..
19b0: 20 20 20 20 72 65 74 75 72 6e 20 76 61 6c 3b 0a return val;.
19c0: 20 20 7d 0a 0a 20 20 2f 2a 2a 0a 20 20 20 2a 20 }.. /**. *
19d0: 53 65 74 73 20 74 68 65 20 63 6f 6c 6f 72 20 6d Sets the color m
19e0: 61 6e 75 61 6c 6c 79 0a 20 20 20 2a 0a 20 20 20 anually. *.
19f0: 2a 20 40 66 69 72 65 73 20 43 6f 6c 6f 72 70 69 * @fires Colorpi
1a00: 63 6b 65 72 23 63 6f 6c 6f 72 70 69 63 6b 65 72 cker#colorpicker
1a10: 43 68 61 6e 67 65 0a 20 20 20 2a 20 40 70 61 72 Change. * @par
1a20: 61 6d 20 7b 53 74 72 69 6e 67 7c 43 6f 6c 6f 72 am {String|Color
1a30: 7d 20 76 61 6c 0a 20 20 20 2a 2f 0a 20 20 73 65 } val. */. se
1a40: 74 56 61 6c 75 65 28 76 61 6c 29 20 7b 0a 20 20 tValue(val) {.
1a50: 20 20 69 66 20 28 74 68 69 73 2e 69 73 44 69 73 if (this.isDis
1a60: 61 62 6c 65 64 28 29 29 20 7b 0a 20 20 20 20 20 abled()) {.
1a70: 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 7d 0a 20 return;. }.
1a80: 20 20 20 6c 65 74 20 63 68 20 3d 20 74 68 69 73 let ch = this
1a90: 2e 63 6f 6c 6f 72 48 61 6e 64 6c 65 72 3b 0a 0a .colorHandler;..
1aa0: 20 20 20 20 69 66 20 28 0a 20 20 20 20 20 20 28 if (. (
1ab0: 63 68 2e 68 61 73 43 6f 6c 6f 72 28 29 20 26 26 ch.hasColor() &&
1ac0: 20 21 21 76 61 6c 20 26 26 20 63 68 2e 63 6f 6c !!val && ch.col
1ad0: 6f 72 2e 65 71 75 61 6c 73 28 76 61 6c 29 29 20 or.equals(val))
1ae0: 7c 7c 0a 20 20 20 20 20 20 28 21 63 68 2e 68 61 ||. (!ch.ha
1af0: 73 43 6f 6c 6f 72 28 29 20 26 26 20 21 76 61 6c sColor() && !val
1b00: 29 0a 20 20 20 20 29 20 7b 0a 20 20 20 20 20 20 ). ) {.
1b10: 2f 2f 20 73 61 6d 65 20 63 6f 6c 6f 72 20 6f 72 // same color or
1b20: 20 73 74 69 6c 6c 20 65 6d 70 74 79 0a 20 20 20 still empty.
1b30: 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 7d return;. }
1b40: 0a 0a 20 20 20 20 63 68 2e 63 6f 6c 6f 72 20 3d .. ch.color =
1b50: 20 76 61 6c 20 3f 20 63 68 2e 63 72 65 61 74 65 val ? ch.create
1b60: 43 6f 6c 6f 72 28 76 61 6c 2c 20 74 68 69 73 2e Color(val, this.
1b70: 6f 70 74 69 6f 6e 73 2e 61 75 74 6f 49 6e 70 75 options.autoInpu
1b80: 74 46 61 6c 6c 62 61 63 6b 29 20 3a 20 6e 75 6c tFallback) : nul
1b90: 6c 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 l;.. /**.
1ba0: 20 2a 20 28 43 6f 6c 6f 72 70 69 63 6b 65 72 29 * (Colorpicker)
1bb0: 20 57 68 65 6e 20 74 68 65 20 63 6f 6c 6f 72 20 When the color
1bc0: 69 73 20 73 65 74 20 70 72 6f 67 72 61 6d 6d 61 is set programma
1bd0: 74 69 63 61 6c 6c 79 20 77 69 74 68 20 73 65 74 tically with set
1be0: 56 61 6c 75 65 28 29 2e 0a 20 20 20 20 20 2a 0a Value().. *.
1bf0: 20 20 20 20 20 2a 20 40 65 76 65 6e 74 20 43 6f * @event Co
1c00: 6c 6f 72 70 69 63 6b 65 72 23 63 6f 6c 6f 72 70 lorpicker#colorp
1c10: 69 63 6b 65 72 43 68 61 6e 67 65 0a 20 20 20 20 ickerChange.
1c20: 20 2a 2f 0a 20 20 20 20 74 68 69 73 2e 74 72 69 */. this.tri
1c30: 67 67 65 72 28 27 63 6f 6c 6f 72 70 69 63 6b 65 gger('colorpicke
1c40: 72 43 68 61 6e 67 65 27 2c 20 63 68 2e 63 6f 6c rChange', ch.col
1c50: 6f 72 2c 20 76 61 6c 29 3b 0a 0a 20 20 20 20 2f or, val);.. /
1c60: 2f 20 66 6f 72 63 65 20 75 70 64 61 74 65 20 69 / force update i
1c70: 66 20 63 6f 6c 6f 72 20 68 61 73 20 63 68 61 6e f color has chan
1c80: 67 65 64 20 74 6f 20 65 6d 70 74 79 0a 20 20 20 ged to empty.
1c90: 20 74 68 69 73 2e 75 70 64 61 74 65 28 29 3b 0a this.update();.
1ca0: 20 20 7d 0a 0a 20 20 2f 2a 2a 0a 20 20 20 2a 20 }.. /**. *
1cb0: 55 70 64 61 74 65 73 20 74 68 65 20 55 49 20 61 Updates the UI a
1cc0: 6e 64 20 74 68 65 20 69 6e 70 75 74 20 63 6f 6c nd the input col
1cd0: 6f 72 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 or according to
1ce0: 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 63 6f 6c the internal col
1cf0: 6f 72 2e 0a 20 20 20 2a 0a 20 20 20 2a 20 40 66 or.. *. * @f
1d00: 69 72 65 73 20 43 6f 6c 6f 72 70 69 63 6b 65 72 ires Colorpicker
1d10: 23 63 6f 6c 6f 72 70 69 63 6b 65 72 55 70 64 61 #colorpickerUpda
1d20: 74 65 0a 20 20 20 2a 2f 0a 20 20 75 70 64 61 74 te. */. updat
1d30: 65 28 29 20 7b 0a 20 20 20 20 69 66 20 28 74 68 e() {. if (th
1d40: 69 73 2e 63 6f 6c 6f 72 48 61 6e 64 6c 65 72 2e is.colorHandler.
1d50: 68 61 73 43 6f 6c 6f 72 28 29 29 20 7b 0a 20 20 hasColor()) {.
1d60: 20 20 20 20 74 68 69 73 2e 69 6e 70 75 74 48 61 this.inputHa
1d70: 6e 64 6c 65 72 2e 75 70 64 61 74 65 28 29 3b 0a ndler.update();.
1d80: 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 } else {.
1d90: 20 20 20 74 68 69 73 2e 63 6f 6c 6f 72 48 61 6e this.colorHan
1da0: 64 6c 65 72 2e 61 73 73 75 72 65 43 6f 6c 6f 72 dler.assureColor
1db0: 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 74 ();. }.. t
1dc0: 68 69 73 2e 61 64 64 6f 6e 48 61 6e 64 6c 65 72 his.addonHandler
1dd0: 2e 75 70 64 61 74 65 28 29 3b 0a 20 20 20 20 74 .update();. t
1de0: 68 69 73 2e 70 69 63 6b 65 72 48 61 6e 64 6c 65 his.pickerHandle
1df0: 72 2e 75 70 64 61 74 65 28 29 3b 0a 0a 20 20 20 r.update();..
1e00: 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 28 43 6f 6c /**. * (Col
1e10: 6f 72 70 69 63 6b 65 72 29 20 46 69 72 65 64 20 orpicker) Fired
1e20: 77 68 65 6e 20 74 68 65 20 77 69 64 67 65 74 20 when the widget
1e30: 69 73 20 75 70 64 61 74 65 64 2e 0a 20 20 20 20 is updated..
1e40: 20 2a 0a 20 20 20 20 20 2a 20 40 65 76 65 6e 74 *. * @event
1e50: 20 43 6f 6c 6f 72 70 69 63 6b 65 72 23 63 6f 6c Colorpicker#col
1e60: 6f 72 70 69 63 6b 65 72 55 70 64 61 74 65 0a 20 orpickerUpdate.
1e70: 20 20 20 20 2a 2f 0a 20 20 20 20 74 68 69 73 2e */. this.
1e80: 74 72 69 67 67 65 72 28 27 63 6f 6c 6f 72 70 69 trigger('colorpi
1e90: 63 6b 65 72 55 70 64 61 74 65 27 29 3b 0a 20 20 ckerUpdate');.
1ea0: 7d 0a 0a 20 20 2f 2a 2a 0a 20 20 20 2a 20 45 6e }.. /**. * En
1eb0: 61 62 6c 65 73 20 74 68 65 20 77 69 64 67 65 74 ables the widget
1ec0: 20 61 6e 64 20 74 68 65 20 69 6e 70 75 74 20 69 and the input i
1ed0: 66 20 61 6e 79 0a 20 20 20 2a 0a 20 20 20 2a 20 f any. *. *
1ee0: 40 66 69 72 65 73 20 43 6f 6c 6f 72 70 69 63 6b @fires Colorpick
1ef0: 65 72 23 63 6f 6c 6f 72 70 69 63 6b 65 72 45 6e er#colorpickerEn
1f00: 61 62 6c 65 0a 20 20 20 2a 20 40 72 65 74 75 72 able. * @retur
1f10: 6e 73 20 7b 62 6f 6f 6c 65 61 6e 7d 0a 20 20 20 ns {boolean}.
1f20: 2a 2f 0a 20 20 65 6e 61 62 6c 65 28 29 20 7b 0a */. enable() {.
1f30: 20 20 20 20 74 68 69 73 2e 69 6e 70 75 74 48 61 this.inputHa
1f40: 6e 64 6c 65 72 2e 65 6e 61 62 6c 65 28 29 3b 0a ndler.enable();.
1f50: 20 20 20 20 74 68 69 73 2e 64 69 73 61 62 6c 65 this.disable
1f60: 64 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 74 d = false;. t
1f70: 68 69 73 2e 70 69 63 6b 65 72 2e 72 65 6d 6f 76 his.picker.remov
1f80: 65 43 6c 61 73 73 28 27 63 6f 6c 6f 72 70 69 63 eClass('colorpic
1f90: 6b 65 72 2d 64 69 73 61 62 6c 65 64 27 29 3b 0a ker-disabled');.
1fa0: 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 . /**. *
1fb0: 28 43 6f 6c 6f 72 70 69 63 6b 65 72 29 20 57 68 (Colorpicker) Wh
1fc0: 65 6e 20 74 68 65 20 77 69 64 67 65 74 20 68 61 en the widget ha
1fd0: 73 20 62 65 65 6e 20 65 6e 61 62 6c 65 64 2e 0a s been enabled..
1fe0: 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 65 *. * @e
1ff0: 76 65 6e 74 20 43 6f 6c 6f 72 70 69 63 6b 65 72 vent Colorpicker
2000: 23 63 6f 6c 6f 72 70 69 63 6b 65 72 45 6e 61 62 #colorpickerEnab
2010: 6c 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 74 le. */. t
2020: 68 69 73 2e 74 72 69 67 67 65 72 28 27 63 6f 6c his.trigger('col
2030: 6f 72 70 69 63 6b 65 72 45 6e 61 62 6c 65 27 29 orpickerEnable')
2040: 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 ;. return tru
2050: 65 3b 0a 20 20 7d 0a 0a 20 20 2f 2a 2a 0a 20 20 e;. }.. /**.
2060: 20 2a 20 44 69 73 61 62 6c 65 73 20 74 68 65 20 * Disables the
2070: 77 69 64 67 65 74 20 61 6e 64 20 74 68 65 20 69 widget and the i
2080: 6e 70 75 74 20 69 66 20 61 6e 79 0a 20 20 20 2a nput if any. *
2090: 0a 20 20 20 2a 20 40 66 69 72 65 73 20 43 6f 6c . * @fires Col
20a0: 6f 72 70 69 63 6b 65 72 23 63 6f 6c 6f 72 70 69 orpicker#colorpi
20b0: 63 6b 65 72 44 69 73 61 62 6c 65 0a 20 20 20 2a ckerDisable. *
20c0: 20 40 72 65 74 75 72 6e 73 20 7b 62 6f 6f 6c 65 @returns {boole
20d0: 61 6e 7d 0a 20 20 20 2a 2f 0a 20 20 64 69 73 61 an}. */. disa
20e0: 62 6c 65 28 29 20 7b 0a 20 20 20 20 74 68 69 73 ble() {. this
20f0: 2e 69 6e 70 75 74 48 61 6e 64 6c 65 72 2e 64 69 .inputHandler.di
2100: 73 61 62 6c 65 28 29 3b 0a 20 20 20 20 74 68 69 sable();. thi
2110: 73 2e 64 69 73 61 62 6c 65 64 20 3d 20 74 72 75 s.disabled = tru
2120: 65 3b 0a 20 20 20 20 74 68 69 73 2e 70 69 63 6b e;. this.pick
2130: 65 72 2e 61 64 64 43 6c 61 73 73 28 27 63 6f 6c er.addClass('col
2140: 6f 72 70 69 63 6b 65 72 2d 64 69 73 61 62 6c 65 orpicker-disable
2150: 64 27 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 d');.. /**.
2160: 20 20 20 2a 20 28 43 6f 6c 6f 72 70 69 63 6b 65 * (Colorpicke
2170: 72 29 20 57 68 65 6e 20 74 68 65 20 77 69 64 67 r) When the widg
2180: 65 74 20 68 61 73 20 62 65 65 6e 20 64 69 73 61 et has been disa
2190: 62 6c 65 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 bled.. *.
21a0: 20 20 2a 20 40 65 76 65 6e 74 20 43 6f 6c 6f 72 * @event Color
21b0: 70 69 63 6b 65 72 23 63 6f 6c 6f 72 70 69 63 6b picker#colorpick
21c0: 65 72 44 69 73 61 62 6c 65 0a 20 20 20 20 20 2a erDisable. *
21d0: 2f 0a 20 20 20 20 74 68 69 73 2e 74 72 69 67 67 /. this.trigg
21e0: 65 72 28 27 63 6f 6c 6f 72 70 69 63 6b 65 72 44 er('colorpickerD
21f0: 69 73 61 62 6c 65 27 29 3b 0a 20 20 20 20 72 65 isable');. re
2200: 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 7d 0a 0a turn true;. }..
2210: 20 20 2f 2a 2a 0a 20 20 20 2a 20 52 65 74 75 72 /**. * Retur
2220: 6e 73 20 74 72 75 65 20 69 66 20 74 68 69 73 20 ns true if this
2230: 69 6e 73 74 61 6e 63 65 20 69 73 20 65 6e 61 62 instance is enab
2240: 6c 65 64 0a 20 20 20 2a 20 40 72 65 74 75 72 6e led. * @return
2250: 73 20 7b 62 6f 6f 6c 65 61 6e 7d 0a 20 20 20 2a s {boolean}. *
2260: 2f 0a 20 20 69 73 45 6e 61 62 6c 65 64 28 29 20 /. isEnabled()
2270: 7b 0a 20 20 20 20 72 65 74 75 72 6e 20 21 74 68 {. return !th
2280: 69 73 2e 69 73 44 69 73 61 62 6c 65 64 28 29 3b is.isDisabled();
2290: 0a 20 20 7d 0a 0a 20 20 2f 2a 2a 0a 20 20 20 2a . }.. /**. *
22a0: 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 Returns true if
22b0: 20 74 68 69 73 20 69 6e 73 74 61 6e 63 65 20 69 this instance i
22c0: 73 20 64 69 73 61 62 6c 65 64 0a 20 20 20 2a 20 s disabled. *
22d0: 40 72 65 74 75 72 6e 73 20 7b 62 6f 6f 6c 65 61 @returns {boolea
22e0: 6e 7d 0a 20 20 20 2a 2f 0a 20 20 69 73 44 69 73 n}. */. isDis
22f0: 61 62 6c 65 64 28 29 20 7b 0a 20 20 20 20 72 65 abled() {. re
2300: 74 75 72 6e 20 74 68 69 73 2e 64 69 73 61 62 6c turn this.disabl
2310: 65 64 20 3d 3d 3d 20 74 72 75 65 3b 0a 20 20 7d ed === true;. }
2320: 0a 0a 20 20 2f 2a 2a 0a 20 20 20 2a 20 54 72 69 .. /**. * Tri
2330: 67 67 65 72 73 20 61 20 43 6f 6c 6f 72 70 69 63 ggers a Colorpic
2340: 6b 65 72 20 65 76 65 6e 74 2e 0a 20 20 20 2a 0a ker event.. *.
2350: 20 20 20 2a 20 40 70 61 72 61 6d 20 65 76 65 6e * @param even
2360: 74 4e 61 6d 65 0a 20 20 20 2a 20 40 70 61 72 61 tName. * @para
2370: 6d 20 63 6f 6c 6f 72 0a 20 20 20 2a 20 40 70 61 m color. * @pa
2380: 72 61 6d 20 76 61 6c 75 65 0a 20 20 20 2a 2f 0a ram value. */.
2390: 20 20 74 72 69 67 67 65 72 28 65 76 65 6e 74 4e trigger(eventN
23a0: 61 6d 65 2c 20 63 6f 6c 6f 72 20 3d 20 6e 75 6c ame, color = nul
23b0: 6c 2c 20 76 61 6c 75 65 20 3d 20 6e 75 6c 6c 29 l, value = null)
23c0: 20 7b 0a 20 20 20 20 74 68 69 73 2e 65 6c 65 6d {. this.elem
23d0: 65 6e 74 2e 74 72 69 67 67 65 72 28 7b 0a 20 20 ent.trigger({.
23e0: 20 20 20 20 74 79 70 65 3a 20 65 76 65 6e 74 4e type: eventN
23f0: 61 6d 65 2c 0a 20 20 20 20 20 20 63 6f 6c 6f 72 ame,. color
2400: 70 69 63 6b 65 72 3a 20 74 68 69 73 2c 0a 20 20 picker: this,.
2410: 20 20 20 20 63 6f 6c 6f 72 3a 20 63 6f 6c 6f 72 color: color
2420: 20 3f 20 63 6f 6c 6f 72 20 3a 20 74 68 69 73 2e ? color : this.
2430: 63 6f 6c 6f 72 2c 0a 20 20 20 20 20 20 76 61 6c color,. val
2440: 75 65 3a 20 76 61 6c 75 65 20 3f 20 76 61 6c 75 ue: value ? valu
2450: 65 20 3a 20 74 68 69 73 2e 67 65 74 56 61 6c 75 e : this.getValu
2460: 65 28 29 0a 20 20 20 20 7d 29 3b 0a 20 20 7d 0a e(). });. }.
2470: 7d 0a 0a 2f 2a 2a 0a 20 2a 20 43 6f 6c 6f 72 70 }../**. * Colorp
2480: 69 63 6b 65 72 20 65 78 74 65 6e 73 69 6f 6e 20 icker extension
2490: 63 6c 61 73 73 65 73 2c 20 69 6e 64 65 78 65 64 classes, indexed
24a0: 20 62 79 20 65 78 74 65 6e 73 69 6f 6e 20 6e 61 by extension na
24b0: 6d 65 0a 20 2a 0a 20 2a 20 40 73 74 61 74 69 63 me. *. * @static
24c0: 0a 20 2a 20 40 74 79 70 65 20 7b 4f 62 6a 65 63 . * @type {Objec
24d0: 74 7d 20 61 20 6d 61 70 20 62 65 74 77 65 65 6e t} a map between
24e0: 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 6e the extension n
24f0: 61 6d 65 20 61 6e 64 20 69 74 73 20 63 6c 61 73 ame and its clas
2500: 73 0a 20 2a 2f 0a 43 6f 6c 6f 72 70 69 63 6b 65 s. */.Colorpicke
2510: 72 2e 65 78 74 65 6e 73 69 6f 6e 73 20 3d 20 63 r.extensions = c
2520: 6f 72 65 45 78 74 65 6e 73 69 6f 6e 73 3b 0a 0a oreExtensions;..
2530: 65 78 70 6f 72 74 20 64 65 66 61 75 6c 74 20 43 export default C
2540: 6f 6c 6f 72 70 69 63 6b 65 72 3b 0a olorpicker;.