|  | @@ -1,4 +1,8 @@
 | 
												
													
														
															|  | -var selector = (function() {
 |  | 
 | 
												
													
														
															|  | 
 |  | +import { APP_STATE } from "../enums/app-state-enum";
 | 
												
													
														
															|  | 
 |  | +import { stages as Stages } from "../components/stages";
 | 
												
													
														
															|  | 
 |  | +import { state as State } from "../components/state";
 | 
												
													
														
															|  | 
 |  | +import { objects as Objects } from "../components/objects";
 | 
												
													
														
															|  | 
 |  | +export const selector = (function() {
 | 
												
													
														
															|  |    let _objects = [];
 |  |    let _objects = [];
 | 
												
													
														
															|  |    let _selectorPosStart;
 |  |    let _selectorPosStart;
 | 
												
													
														
															|  |    let _selectorPosNow;
 |  |    let _selectorPosNow;
 | 
												
											
												
													
														
															|  | @@ -12,15 +16,17 @@ var selector = (function() {
 | 
												
													
														
															|  |      dash: [2, 2]
 |  |      dash: [2, 2]
 | 
												
													
														
															|  |    });
 |  |    });
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  | 
 |  | +  let _stage = Stages.getCurrentStage();
 | 
												
													
														
															|  | 
 |  | +  let _layer = Stages.getCurrentLayer();
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  |    function _bootstrap() {
 |  |    function _bootstrap() {
 | 
												
													
														
															|  |      _configureSelectorEvents();
 |  |      _configureSelectorEvents();
 | 
												
													
														
															|  |      _addToLayer();
 |  |      _addToLayer();
 | 
												
													
														
															|  |    }
 |  |    }
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |    function _addToLayer() {
 |  |    function _addToLayer() {
 | 
												
													
														
															|  | -    let layer = app.currentLayer();
 |  | 
 | 
												
													
														
															|  |      _selectorRect.listening(false);
 |  |      _selectorRect.listening(false);
 | 
												
													
														
															|  | -    layer.add(_selectorRect);
 |  | 
 | 
												
													
														
															|  | 
 |  | +    _layer.add(_selectorRect);
 | 
												
													
														
															|  |    }
 |  |    }
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |    function _getSelectedObjects() {
 |  |    function _getSelectedObjects() {
 | 
												
											
												
													
														
															|  | @@ -28,21 +34,21 @@ var selector = (function() {
 | 
												
													
														
															|  |    }
 |  |    }
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |    function _configureSelectorEvents() {
 |  |    function _configureSelectorEvents() {
 | 
												
													
														
															|  | -    app.stage.on("mousedown", function(e) {
 |  | 
 | 
												
													
														
															|  | 
 |  | +    _stage.on("mousedown", function(e) {
 | 
												
													
														
															|  |        _mode = "drawing";
 |  |        _mode = "drawing";
 | 
												
													
														
															|  |        _startDragSelector({ x: e.evt.layerX, y: e.evt.layerY });
 |  |        _startDragSelector({ x: e.evt.layerX, y: e.evt.layerY });
 | 
												
													
														
															|  |      });
 |  |      });
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  | -    app.stage.on("mousemove", function(e) {
 |  | 
 | 
												
													
														
															|  | 
 |  | +    _stage.on("mousemove", function(e) {
 | 
												
													
														
															|  |        if (_mode === "drawing") {
 |  |        if (_mode === "drawing") {
 | 
												
													
														
															|  |          _updateDragSelector({ x: e.evt.layerX, y: e.evt.layerY });
 |  |          _updateDragSelector({ x: e.evt.layerX, y: e.evt.layerY });
 | 
												
													
														
															|  |        }
 |  |        }
 | 
												
													
														
															|  |      });
 |  |      });
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  | -    app.stage.on("mouseup", function(e) {
 |  | 
 | 
												
													
														
															|  | 
 |  | +    _stage.on("mouseup", function(e) {
 | 
												
													
														
															|  |        _mode = "";
 |  |        _mode = "";
 | 
												
													
														
															|  |        _selectorRect.visible(false);
 |  |        _selectorRect.visible(false);
 | 
												
													
														
															|  | -      app.stage.draw();
 |  | 
 | 
												
													
														
															|  | 
 |  | +      _stage.draw();
 | 
												
													
														
															|  |      });
 |  |      });
 | 
												
													
														
															|  |    }
 |  |    }
 | 
												
													
														
															|  |  
 |  |  
 | 
												
											
												
													
														
															|  | @@ -52,8 +58,8 @@ var selector = (function() {
 | 
												
													
														
															|  |    }
 |  |    }
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |    function _updateDragSelector(posIn) {
 |  |    function _updateDragSelector(posIn) {
 | 
												
													
														
															|  | -    if (app.getState() != APP_STATE.NONE) return;
 |  | 
 | 
												
													
														
															|  | -    let objects = app.getObjects();
 |  | 
 | 
												
													
														
															|  | 
 |  | +    if (State.getCurrentState() != APP_STATE.NONE) return;
 | 
												
													
														
															|  | 
 |  | +    let currentObjects = Objects.get();
 | 
												
													
														
															|  |      let posRect = _reverse(_selectorPosStart, _selectorPosNow);
 |  |      let posRect = _reverse(_selectorPosStart, _selectorPosNow);
 | 
												
													
														
															|  |      _selectorPosNow = { x: posIn.x, y: posIn.y };
 |  |      _selectorPosNow = { x: posIn.x, y: posIn.y };
 | 
												
													
														
															|  |      _selectorRect.x(posRect.x1);
 |  |      _selectorRect.x(posRect.x1);
 | 
												
											
												
													
														
															|  | @@ -62,17 +68,17 @@ var selector = (function() {
 | 
												
													
														
															|  |      _selectorRect.height(posRect.y2 - posRect.y1);
 |  |      _selectorRect.height(posRect.y2 - posRect.y1);
 | 
												
													
														
															|  |      _selectorRect.visible(true);
 |  |      _selectorRect.visible(true);
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  | -    for (i = 0; i < objects.length; i = i + 1) {
 |  | 
 | 
												
													
														
															|  | -      let object = objects[i];
 |  | 
 | 
												
													
														
															|  | 
 |  | +    for (let i = 0; i < currentObjects.length; i = i + 1) {
 | 
												
													
														
															|  | 
 |  | +      let object = currentObjects[i];
 | 
												
													
														
															|  |        if (object.children != undefined && object.children.length > 0) {
 |  |        if (object.children != undefined && object.children.length > 0) {
 | 
												
													
														
															|  | -        for (j = 0; j < object.children.length; j++) {
 |  | 
 | 
												
													
														
															|  | 
 |  | +        for (let j = 0; j < object.children.length; j++) {
 | 
												
													
														
															|  |            _style(object.children[j], _selectorRect);
 |  |            _style(object.children[j], _selectorRect);
 | 
												
													
														
															|  |          }
 |  |          }
 | 
												
													
														
															|  |        } else {
 |  |        } else {
 | 
												
													
														
															|  |          _style(object, _selectorRect);
 |  |          _style(object, _selectorRect);
 | 
												
													
														
															|  |        }
 |  |        }
 | 
												
													
														
															|  |      }
 |  |      }
 | 
												
													
														
															|  | -    app.stage.draw();
 |  | 
 | 
												
													
														
															|  | 
 |  | +    _stage.draw();
 | 
												
													
														
															|  |    }
 |  |    }
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |    function _style(object, selectorRect) {
 |  |    function _style(object, selectorRect) {
 | 
												
											
												
													
														
															|  | @@ -131,6 +137,7 @@ var selector = (function() {
 | 
												
													
														
															|  |      }
 |  |      }
 | 
												
													
														
															|  |      return { x1: r1x, y1: r1y, x2: r2x, y2: r2y };
 |  |      return { x1: r1x, y1: r1y, x2: r2x, y2: r2y };
 | 
												
													
														
															|  |    }
 |  |    }
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  |    return {
 |  |    return {
 | 
												
													
														
															|  |      selctedObjects: _getSelectedObjects(),
 |  |      selctedObjects: _getSelectedObjects(),
 | 
												
													
														
															|  |      bootstrap: _bootstrap
 |  |      bootstrap: _bootstrap
 |