Artifact
8a9adab6adfe121eb60d98906b02b335f0b6af2a876769789ef525eb3138c904:
0000: 27 75 73 65 20 73 74 72 69 63 74 27 3b 0a 0a 2f 'use strict';../
0010: 2a 2a 0a 20 2a 20 48 61 6e 64 6c 65 73 20 65 76 **. * Handles ev
0020: 65 72 79 74 68 69 6e 67 20 72 65 6c 61 74 65 64 erything related
0030: 20 74 6f 20 74 68 65 20 63 6f 6c 6f 72 70 69 63 to the colorpic
0040: 6b 65 72 20 61 64 64 6f 6e 0a 20 2a 20 40 69 67 ker addon. * @ig
0050: 6e 6f 72 65 0a 20 2a 2f 0a 63 6c 61 73 73 20 41 nore. */.class A
0060: 64 64 6f 6e 48 61 6e 64 6c 65 72 20 7b 0a 20 20 ddonHandler {.
0070: 2f 2a 2a 0a 20 20 20 2a 20 40 70 61 72 61 6d 20 /**. * @param
0080: 7b 43 6f 6c 6f 72 70 69 63 6b 65 72 7d 20 63 6f {Colorpicker} co
0090: 6c 6f 72 70 69 63 6b 65 72 0a 20 20 20 2a 2f 0a lorpicker. */.
00a0: 20 20 63 6f 6e 73 74 72 75 63 74 6f 72 28 63 6f constructor(co
00b0: 6c 6f 72 70 69 63 6b 65 72 29 20 7b 0a 20 20 20 lorpicker) {.
00c0: 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 74 79 70 /**. * @typ
00d0: 65 20 7b 43 6f 6c 6f 72 70 69 63 6b 65 72 7d 0a e {Colorpicker}.
00e0: 20 20 20 20 20 2a 2f 0a 20 20 20 20 74 68 69 73 */. this
00f0: 2e 63 6f 6c 6f 72 70 69 63 6b 65 72 20 3d 20 63 .colorpicker = c
0100: 6f 6c 6f 72 70 69 63 6b 65 72 3b 0a 20 20 20 20 olorpicker;.
0110: 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 74 79 70 65 /**. * @type
0120: 20 7b 6a 51 75 65 72 79 7d 0a 20 20 20 20 20 2a {jQuery}. *
0130: 2f 0a 20 20 20 20 74 68 69 73 2e 61 64 64 6f 6e /. this.addon
0140: 20 3d 20 6e 75 6c 6c 3b 0a 20 20 7d 0a 0a 20 20 = null;. }..
0150: 68 61 73 41 64 64 6f 6e 28 29 20 7b 0a 20 20 20 hasAddon() {.
0160: 20 72 65 74 75 72 6e 20 21 21 74 68 69 73 2e 61 return !!this.a
0170: 64 64 6f 6e 3b 0a 20 20 7d 0a 0a 20 20 62 69 6e ddon;. }.. bin
0180: 64 28 29 20 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 d() {. /**.
0190: 20 20 20 2a 20 40 74 79 70 65 20 7b 2a 7c 6a 51 * @type {*|jQ
01a0: 75 65 72 79 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 uery}. */.
01b0: 20 20 74 68 69 73 2e 61 64 64 6f 6e 20 3d 20 74 this.addon = t
01c0: 68 69 73 2e 63 6f 6c 6f 72 70 69 63 6b 65 72 2e his.colorpicker.
01d0: 6f 70 74 69 6f 6e 73 2e 61 64 64 6f 6e 20 3f 0a options.addon ?.
01e0: 20 20 20 20 20 20 74 68 69 73 2e 63 6f 6c 6f 72 this.color
01f0: 70 69 63 6b 65 72 2e 65 6c 65 6d 65 6e 74 2e 66 picker.element.f
0200: 69 6e 64 28 74 68 69 73 2e 63 6f 6c 6f 72 70 69 ind(this.colorpi
0210: 63 6b 65 72 2e 6f 70 74 69 6f 6e 73 2e 61 64 64 cker.options.add
0220: 6f 6e 29 20 3a 20 6e 75 6c 6c 3b 0a 0a 20 20 20 on) : null;..
0230: 20 69 66 20 28 74 68 69 73 2e 61 64 64 6f 6e 20 if (this.addon
0240: 26 26 20 28 74 68 69 73 2e 61 64 64 6f 6e 2e 6c && (this.addon.l
0250: 65 6e 67 74 68 20 3d 3d 3d 20 30 29 29 20 7b 0a ength === 0)) {.
0260: 20 20 20 20 20 20 2f 2f 20 6e 6f 74 20 66 6f 75 // not fou
0270: 6e 64 0a 20 20 20 20 20 20 74 68 69 73 2e 61 64 nd. this.ad
0280: 64 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 don = null;.
0290: 7d 0a 20 20 7d 0a 0a 20 20 75 6e 62 69 6e 64 28 }. }.. unbind(
02a0: 29 20 7b 0a 20 20 20 20 69 66 20 28 74 68 69 73 ) {. if (this
02b0: 2e 68 61 73 41 64 64 6f 6e 28 29 29 20 7b 0a 20 .hasAddon()) {.
02c0: 20 20 20 20 20 74 68 69 73 2e 61 64 64 6f 6e 2e this.addon.
02d0: 6f 66 66 28 27 2e 63 6f 6c 6f 72 70 69 63 6b 65 off('.colorpicke
02e0: 72 27 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 0a 0a r');. }. }..
02f0: 20 20 2f 2a 2a 0a 20 20 20 2a 20 49 66 20 74 68 /**. * If th
0300: 65 20 61 64 64 6f 6e 20 65 6c 65 6d 65 6e 74 20 e addon element
0310: 69 73 20 70 72 65 73 65 6e 74 2c 20 69 74 73 20 is present, its
0320: 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 background color
0330: 20 69 73 20 75 70 64 61 74 65 64 0a 20 20 20 2a is updated. *
0340: 2f 0a 20 20 75 70 64 61 74 65 28 29 20 7b 0a 20 /. update() {.
0350: 20 20 20 69 66 20 28 21 74 68 69 73 2e 63 6f 6c if (!this.col
0360: 6f 72 70 69 63 6b 65 72 2e 63 6f 6c 6f 72 48 61 orpicker.colorHa
0370: 6e 64 6c 65 72 2e 68 61 73 43 6f 6c 6f 72 28 29 ndler.hasColor()
0380: 20 7c 7c 20 21 74 68 69 73 2e 68 61 73 41 64 64 || !this.hasAdd
0390: 6f 6e 28 29 29 20 7b 0a 20 20 20 20 20 20 72 65 on()) {. re
03a0: 74 75 72 6e 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 turn;. }..
03b0: 20 6c 65 74 20 63 6f 6c 6f 72 53 74 72 20 3d 20 let colorStr =
03c0: 74 68 69 73 2e 63 6f 6c 6f 72 70 69 63 6b 65 72 this.colorpicker
03d0: 2e 63 6f 6c 6f 72 48 61 6e 64 6c 65 72 2e 67 65 .colorHandler.ge
03e0: 74 43 6f 6c 6f 72 53 74 72 69 6e 67 28 29 3b 0a tColorString();.
03f0: 20 20 20 20 6c 65 74 20 73 74 79 6c 65 73 20 3d let styles =
0400: 20 7b 27 62 61 63 6b 67 72 6f 75 6e 64 27 3a 20 {'background':
0410: 63 6f 6c 6f 72 53 74 72 7d 3b 0a 0a 20 20 20 20 colorStr};..
0420: 6c 65 74 20 69 63 6e 20 3d 20 74 68 69 73 2e 61 let icn = this.a
0430: 64 64 6f 6e 2e 66 69 6e 64 28 27 69 27 29 2e 65 ddon.find('i').e
0440: 71 28 30 29 3b 0a 0a 20 20 20 20 69 66 20 28 69 q(0);.. if (i
0450: 63 6e 2e 6c 65 6e 67 74 68 20 3e 20 30 29 20 7b cn.length > 0) {
0460: 0a 20 20 20 20 20 20 69 63 6e 2e 63 73 73 28 73 . icn.css(s
0470: 74 79 6c 65 73 29 3b 0a 20 20 20 20 7d 20 65 6c tyles);. } el
0480: 73 65 20 7b 0a 20 20 20 20 20 20 74 68 69 73 2e se {. this.
0490: 61 64 64 6f 6e 2e 63 73 73 28 73 74 79 6c 65 73 addon.css(styles
04a0: 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 0a 7d 0a 0a );. }. }.}..
04b0: 65 78 70 6f 72 74 20 64 65 66 61 75 6c 74 20 41 export default A
04c0: 64 64 6f 6e 48 61 6e 64 6c 65 72 3b 0a ddonHandler;.