⌈⌋ ⎇ branch:  Bitrhythm


Hex Artifact Content

Artifact d2b53f1774e6a3b41e18d72fbf4f2ec116e799e293b544b729133faf6180af95:


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 45 78 74 65 6e 73 69 6f 6e 27  from 'Extension'
0030: 3b 0a 69 6d 70 6f 72 74 20 24 20 66 72 6f 6d 20  ;.import $ from 
0040: 27 6a 71 75 65 72 79 27 3b 0a 0a 2f 2a 2a 0a 20  'jquery';../**. 
0050: 2a 20 43 6f 6c 6f 72 20 70 72 65 76 69 65 77 20  * Color preview 
0060: 65 78 74 65 6e 73 69 6f 6e 0a 20 2a 20 40 69 67  extension. * @ig
0070: 6e 6f 72 65 0a 20 2a 2f 0a 63 6c 61 73 73 20 50  nore. */.class P
0080: 72 65 76 69 65 77 20 65 78 74 65 6e 64 73 20 45  review extends E
0090: 78 74 65 6e 73 69 6f 6e 20 7b 0a 20 20 63 6f 6e  xtension {.  con
00a0: 73 74 72 75 63 74 6f 72 28 63 6f 6c 6f 72 70 69  structor(colorpi
00b0: 63 6b 65 72 2c 20 6f 70 74 69 6f 6e 73 20 3d 20  cker, options = 
00c0: 7b 7d 29 20 7b 0a 20 20 20 20 73 75 70 65 72 28  {}) {.    super(
00d0: 63 6f 6c 6f 72 70 69 63 6b 65 72 2c 20 24 2e 65  colorpicker, $.e
00e0: 78 74 65 6e 64 28 74 72 75 65 2c 20 7b 7d 2c 0a  xtend(true, {},.
00f0: 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20        {.        
0100: 74 65 6d 70 6c 61 74 65 3a 20 27 3c 64 69 76 20  template: '<div 
0110: 63 6c 61 73 73 3d 22 63 6f 6c 6f 72 70 69 63 6b  class="colorpick
0120: 65 72 2d 62 61 72 20 63 6f 6c 6f 72 70 69 63 6b  er-bar colorpick
0130: 65 72 2d 70 72 65 76 69 65 77 22 3e 3c 64 69 76  er-preview"><div
0140: 20 2f 3e 3c 2f 64 69 76 3e 27 2c 0a 20 20 20 20   /></div>',.    
0150: 20 20 20 20 73 68 6f 77 54 65 78 74 3a 20 74 72      showText: tr
0160: 75 65 2c 0a 20 20 20 20 20 20 20 20 66 6f 72 6d  ue,.        form
0170: 61 74 3a 20 63 6f 6c 6f 72 70 69 63 6b 65 72 2e  at: colorpicker.
0180: 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 7d 2c 0a  format.      },.
0190: 20 20 20 20 20 20 6f 70 74 69 6f 6e 73 0a 20 20        options.  
01a0: 20 20 29 29 3b 0a 0a 20 20 20 20 74 68 69 73 2e    ));..    this.
01b0: 65 6c 65 6d 65 6e 74 20 3d 20 24 28 74 68 69 73  element = $(this
01c0: 2e 6f 70 74 69 6f 6e 73 2e 74 65 6d 70 6c 61 74  .options.templat
01d0: 65 29 3b 0a 20 20 20 20 74 68 69 73 2e 65 6c 65  e);.    this.ele
01e0: 6d 65 6e 74 49 6e 6e 65 72 20 3d 20 74 68 69 73  mentInner = this
01f0: 2e 65 6c 65 6d 65 6e 74 2e 66 69 6e 64 28 27 64  .element.find('d
0200: 69 76 27 29 3b 0a 20 20 7d 0a 0a 20 20 6f 6e 43  iv');.  }..  onC
0210: 72 65 61 74 65 28 65 76 65 6e 74 29 20 7b 0a 20  reate(event) {. 
0220: 20 20 20 73 75 70 65 72 2e 6f 6e 43 72 65 61 74     super.onCreat
0230: 65 28 65 76 65 6e 74 29 3b 0a 20 20 20 20 74 68  e(event);.    th
0240: 69 73 2e 63 6f 6c 6f 72 70 69 63 6b 65 72 2e 70  is.colorpicker.p
0250: 69 63 6b 65 72 2e 61 70 70 65 6e 64 28 74 68 69  icker.append(thi
0260: 73 2e 65 6c 65 6d 65 6e 74 29 3b 0a 20 20 7d 0a  s.element);.  }.
0270: 0a 20 20 6f 6e 55 70 64 61 74 65 28 65 76 65 6e  .  onUpdate(even
0280: 74 29 20 7b 0a 20 20 20 20 73 75 70 65 72 2e 6f  t) {.    super.o
0290: 6e 55 70 64 61 74 65 28 65 76 65 6e 74 29 3b 0a  nUpdate(event);.
02a0: 0a 20 20 20 20 69 66 20 28 21 65 76 65 6e 74 2e  .    if (!event.
02b0: 63 6f 6c 6f 72 29 20 7b 0a 20 20 20 20 20 20 74  color) {.      t
02c0: 68 69 73 2e 65 6c 65 6d 65 6e 74 49 6e 6e 65 72  his.elementInner
02d0: 0a 20 20 20 20 20 20 20 20 2e 63 73 73 28 27 62  .        .css('b
02e0: 61 63 6b 67 72 6f 75 6e 64 43 6f 6c 6f 72 27 2c  ackgroundColor',
02f0: 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 2e   null).        .
0300: 63 73 73 28 27 63 6f 6c 6f 72 27 2c 20 6e 75 6c  css('color', nul
0310: 6c 29 0a 20 20 20 20 20 20 20 20 2e 68 74 6d 6c  l).        .html
0320: 28 27 27 29 3b 0a 20 20 20 20 20 20 72 65 74 75  ('');.      retu
0330: 72 6e 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 74  rn;.    }..    t
0340: 68 69 73 2e 65 6c 65 6d 65 6e 74 49 6e 6e 65 72  his.elementInner
0350: 0a 20 20 20 20 20 20 2e 63 73 73 28 27 62 61 63  .      .css('bac
0360: 6b 67 72 6f 75 6e 64 43 6f 6c 6f 72 27 2c 20 65  kgroundColor', e
0370: 76 65 6e 74 2e 63 6f 6c 6f 72 2e 74 6f 52 67 62  vent.color.toRgb
0380: 53 74 72 69 6e 67 28 29 29 3b 0a 0a 20 20 20 20  String());..    
0390: 69 66 20 28 74 68 69 73 2e 6f 70 74 69 6f 6e 73  if (this.options
03a0: 2e 73 68 6f 77 54 65 78 74 29 20 7b 0a 20 20 20  .showText) {.   
03b0: 20 20 20 74 68 69 73 2e 65 6c 65 6d 65 6e 74 49     this.elementI
03c0: 6e 6e 65 72 0a 20 20 20 20 20 20 20 20 2e 68 74  nner.        .ht
03d0: 6d 6c 28 65 76 65 6e 74 2e 63 6f 6c 6f 72 2e 73  ml(event.color.s
03e0: 74 72 69 6e 67 28 74 68 69 73 2e 6f 70 74 69 6f  tring(this.optio
03f0: 6e 73 2e 66 6f 72 6d 61 74 20 7c 7c 20 74 68 69  ns.format || thi
0400: 73 2e 63 6f 6c 6f 72 70 69 63 6b 65 72 2e 66 6f  s.colorpicker.fo
0410: 72 6d 61 74 29 29 3b 0a 0a 20 20 20 20 20 20 69  rmat));..      i
0420: 66 20 28 65 76 65 6e 74 2e 63 6f 6c 6f 72 2e 69  f (event.color.i
0430: 73 44 61 72 6b 28 29 20 26 26 20 28 65 76 65 6e  sDark() && (even
0440: 74 2e 63 6f 6c 6f 72 2e 61 6c 70 68 61 20 3e 20  t.color.alpha > 
0450: 30 2e 35 29 29 20 7b 0a 20 20 20 20 20 20 20 20  0.5)) {.        
0460: 74 68 69 73 2e 65 6c 65 6d 65 6e 74 49 6e 6e 65  this.elementInne
0470: 72 2e 63 73 73 28 27 63 6f 6c 6f 72 27 2c 20 27  r.css('color', '
0480: 77 68 69 74 65 27 29 3b 0a 20 20 20 20 20 20 7d  white');.      }
0490: 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20   else {.        
04a0: 74 68 69 73 2e 65 6c 65 6d 65 6e 74 49 6e 6e 65  this.elementInne
04b0: 72 2e 63 73 73 28 27 63 6f 6c 6f 72 27 2c 20 27  r.css('color', '
04c0: 62 6c 61 63 6b 27 29 3b 0a 20 20 20 20 20 20 7d  black');.      }
04d0: 0a 20 20 20 20 7d 0a 20 20 7d 0a 7d 0a 0a 65 78  .    }.  }.}..ex
04e0: 70 6f 72 74 20 64 65 66 61 75 6c 74 20 50 72 65  port default Pre
04f0: 76 69 65 77 3b 0a                                view;.