aboutsummaryrefslogtreecommitdiff
path: root/js/panels/color
diff options
context:
space:
mode:
authorJose Antonio Marquez2012-06-22 16:20:14 -0700
committerJose Antonio Marquez2012-06-22 16:20:14 -0700
commitb97819e9a8da9267d49acd72f918f8c40c8b320e (patch)
tree0e305bd452ab94c5eac2eee2e76f385adcb9aed0 /js/panels/color
parent9a568f56b2684e268975231544a80db78497db02 (diff)
downloadninja-b97819e9a8da9267d49acd72f918f8c40c8b320e.tar.gz
Fix closing logic and init color on chip
Added improved logic to handle toggling from button the color popup. Also added an init color method for the chip to initialize color in it's popup.
Diffstat (limited to 'js/panels/color')
-rwxr-xr-xjs/panels/color/colorpopup-manager.js71
1 files changed, 68 insertions, 3 deletions
diff --git a/js/panels/color/colorpopup-manager.js b/js/panels/color/colorpopup-manager.js
index fba196e4..bccfcebc 100755
--- a/js/panels/color/colorpopup-manager.js
+++ b/js/panels/color/colorpopup-manager.js
@@ -33,7 +33,6 @@ exports.ColorPopupManager = Montage.create(Component, {
33 window.addEventListener('resize', function (e) { 33 window.addEventListener('resize', function (e) {
34 this.application.ninja.colorController.colorPopupManager.hideColorPopup(); 34 this.application.ninja.colorController.colorPopupManager.hideColorPopup();
35 }.bind(this)); 35 }.bind(this));
36
37 //Closing popups if outside limits 36 //Closing popups if outside limits
38 document.addEventListener('mousedown', function (e) { 37 document.addEventListener('mousedown', function (e) {
39 // 38 //
@@ -58,6 +57,8 @@ exports.ColorPopupManager = Montage.create(Component, {
58 // 57 //
59 popupHitCheck: { 58 popupHitCheck: {
60 value: function (element, e) { 59 value: function (element, e) {
60 //Prevent any action for button to handle toggling
61 if (e._event.target.inputType || e._event.target.colorMode) return true;
61 //Storing limits of popup 62 //Storing limits of popup
62 var top, bottom, left, right; 63 var top, bottom, left, right;
63 //Checking for popup to be opened otherwise nothing happens 64 //Checking for popup to be opened otherwise nothing happens
@@ -263,6 +264,9 @@ exports.ColorPopupManager = Montage.create(Component, {
263 this._popupChipBase.props.x = (e._event.clientX - e._event.offsetX)+'px'; 264 this._popupChipBase.props.x = (e._event.clientX - e._event.offsetX)+'px';
264 this._popupChipBase.props.y = (e._event.target.clientHeight/2+e._event.clientY - e._event.offsetY)+'px'; 265 this._popupChipBase.props.y = (e._event.target.clientHeight/2+e._event.clientY - e._event.offsetY)+'px';
265 } 266 }
267 //
268 this._popupChipBase.props.source = e._event.srcElement;
269 //
266 this._popupChipBase.colorManager = ColorModel.create(); 270 this._popupChipBase.colorManager = ColorModel.create();
267 // 271 //
268 this._popupChipBase.addEventListener('change', this, false); 272 this._popupChipBase.addEventListener('change', this, false);
@@ -361,7 +365,68 @@ exports.ColorPopupManager = Montage.create(Component, {
361 e._target.base.popup.element.style.opacity = 1; 365 e._target.base.popup.element.style.opacity = 1;
362 //Popup was added, so it's opened 366 //Popup was added, so it's opened
363 e._target.base.opened = true; 367 e._target.base.opened = true;
364 }/* 368 //
369 if (e._target.base.props && e._target.base.props.source) {
370 //
371 var cbtn = e._target.base.props.source, color, hsv;
372 //
373 if (cbtn.colorMode === 'rgb') {
374 //
375 if (cbtn.colorValue && !isNaN(cbtn.colorValue.r)) {
376 color = cbtn.colorValue;
377 } else if (cbtn.colorValue && cbtn.colorValue.color){
378 color = cbtn.colorValue.color;
379 } else {
380 return;
381 }
382 //
383 hsv = this.colorManager.rgbToHsv(color.r, color.g, color.b);
384 } else if (cbtn.colorMode === 'hsl') {
385 //
386 if (cbtn.colorValue && !isNaN(cbtn.colorValue.h)) {
387 color = cbtn.colorValue;
388 } else if (cbtn.colorValue && cbtn.colorValue.color){
389 color = cbtn.colorValue.color;
390 } else {
391 return;
392 }
393 //
394 color = this.colorManager.hslToRgb(color.h/360, color.s/100, color.l/100);
395 //
396 hsv = this.colorManager.rgbToHsv(color.r, color.g, color.b);
397 }
398 //
399 if (hsv) {
400 hsv.wasSetByCode = false;
401 hsv.type = 'change';
402 e._target.base._components.wheel.value = hsv;
403 }
404 }
405 }
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429 /*
365 else if (e._target._element.className === 'cc_popup') { 430 else if (e._target._element.className === 'cc_popup') {
366 this._popupChipBase.removeEventListener('firstDraw', this, false); 431 this._popupChipBase.removeEventListener('firstDraw', this, false);
367 //Creating an instance of the popup and sending in created color popup content 432 //Creating an instance of the popup and sending in created color popup content
@@ -429,7 +494,7 @@ exports.ColorPopupManager = Montage.create(Component, {
429 this._popupChipBase.colorManager.hsv = {h: e._event.hsv.h, s: e._event.hsv.s, v: e._event.hsv.v, type: e._event.type, wasSetByCode: e._event.wasSetByCode}; 494 this._popupChipBase.colorManager.hsv = {h: e._event.hsv.h, s: e._event.hsv.s, v: e._event.hsv.v, type: e._event.type, wasSetByCode: e._event.wasSetByCode};
430 this.colorChipChange(e); 495 this.colorChipChange(e);
431 } else { 496 } else {
432 console.log(e._event); 497 //console.log(e._event);
433 } 498 }
434 return; 499 return;
435 } 500 }