[{"__symbolic":"module","version":4,"metadata":{"SelectorToolComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":46,"character":1},"arguments":[{"selector":"app-selector-tool","template":"\n\n\n    <app-drawer [overrideProperties]=\"invisibleStyle\"  [hoverClass]=\"'clickable'\"\n      [allowCustomComponents]=\"false\"\n      (mouseDownObject)=\"onMouseDown($event)\"\n      (mouseMoveObject)=\"onMouseMove($event)\"\n      (mouseUpObject)=\"onMouseUp($event)\"\n      >\n    </app-drawer>\n\n    <svg *ngIf=\"cssBounds\" [ngStyle]=\"pixelizeBounds(cssBounds)\" [ngClass]=\"{ 'no-interact': mouseDown }\"\n      \n      xmlns=\"http://www.w3.org/2000/svg\"\n      (mousedown)=\"onBackgroundMouseDown($event)\"\n      (mousemove)=\"onBackgroundMouseMove($event)\"\n      (mouseup)=\"onBackgroundMouseUp($event)\"\n      [ngClass]=\"cursor\"\n      >\n      <svg:g [attr.transform]=\"selectionTransform\">\n    \n        <svg:g>\n          <ng-container \n            *ngIf=\"(elementState | async)?.present.selectedBounds && boundingBoxObject\" dynamic-svg \n            [elementId]=\"1000001\"\n            [componentData]=\"boundingBoxObject\"\n            [hoverClass]=\"cursor\" \n  \n            (mouseDown)=\"onBoundsMouseDown($event)\"\n            (mouseMove)=\"onBoundsMouseMove($event)\"\n            (mouseUp)=\"onBoundsMouseUp($event)\">\n          </ng-container>\n        </svg:g>\n   \n        <ng-container  *ngFor=\"let s of selectedObjects\" dynamic-svg [allowCustomComponents]=\"false\" [componentData]=\"s\" [overrideProperties]=\"selectionStyle\" [elementId]=\"s.id\"\n          (mouseDown)=\"onSelectionMouseDown($event)\"\n          (mouseMove)=\"onSelectionMouseMove($event)\"\n          (mouseUp)=\"onSelectionMouseUp($event)\"\n          [hoverClass]=\"cursor\"\n        ></ng-container>\n\n        <ng-container *ngFor=\"let s of sizers; let i = index;\">\n            <rect [id]=\"'resizer-' + i\"  *ngIf=\"(i % 2 === 0 || !shouldPreserveAspectRatio()) &&\n                                                (elementState | async)?.present.selectedBounds && \n                                                boundingBoxObject && \n                                                canResize && \n                                                mouseDownRotator < 0 &&\n                                                ((!mouseDown && !keyDown) || mouseDownSizer >= 0)\"\n            (mousedown)=\"onResizerMouseDown($event, i)\" \n            (mousemove)=\"onResizerMouseMove($event, i)\"\n            (mouseup)=\"onResizerMouseUp($event, i)\"\n            [ngClass]=\"getResizerCursor(i)\"\n            [attr.width]=\"getResizerStylerWidth()\" \n            [attr.height]= \"getResizerStylerHeight()\" \n            [attr.fill]=\"resizerStyle.fill\"\n            [attr.stroke]=\"resizerStyle.stroke\"\n            [attr.stroke-width]=\"resizerStyle.strokeWidth\"\n            [attr.x]=\"getResizerX(i)\" \n            [attr.y]=\"getResizerY(i)\"></rect>\n        </ng-container>\n      </svg:g>\n    </svg>\n\n    <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"canRotate && mouseDownSizer < 0 && ((!mouseDown && !keyDown) || mouseDownRotator >= 0)\"\n      [ngStyle]=\"pixelizeBounds(rotateRightBounds)\" [ngClass]=\"{ 'no-interact': mouseDown }\"\n            [attr.width]=\"getRotaterStylerSvgWidth()\" \n            [attr.height]= \"getRotaterStylerSvgHeight()\" \n            [attr.fill]=\"rotaterStyle.fill\"\n            [attr.stroke]=\"rotaterStyle.stroke\"\n            [attr.stroke-width]=\"rotaterStyle.strokeWidth\">\n       <rect id='rotate-right'\n            class='crosshair'\n            (mousedown)=\"onRotateMouseDown($event, 0)\" \n            (mousemove)=\"onRotateMouseMove($event, 0)\"\n            (mouseup)=\"onRotateMouseUp($event, 0)\"\n            [attr.width]=\"getRotaterStylerWidth()\" \n            [attr.height]= \"getRotaterStylerHeight()\" \n            [attr.x]=\"getRotaterX()\" \n            [attr.y]=\"getRotaterY()\"\n            [attr.rx]= \"getRotaterStylerBorderRadius()\" \n            [attr.ry]= \"getRotaterStylerBorderRadius()\" \n            [attr.fill]=\"rotaterStyle.fill\"\n            [attr.stroke]=\"rotaterStyle.stroke\"\n            [attr.stroke-width]=\"rotaterStyle.strokeWidth\">\n        </rect>\n    </svg>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"canRotate && mouseDownSizer < 0 && ((!mouseDown && !keyDown) || mouseDownRotator >= 0)\"\n      [ngStyle]=\"pixelizeBounds(rotateBottomBounds)\" [ngClass]=\"{ 'no-interact': mouseDown }\"\n            [attr.width]=\"getRotaterStylerSvgWidth()\" \n            [attr.height]= \"getRotaterStylerSvgHeight()\" \n            [attr.fill]=\"rotaterStyle.fill\"\n            [attr.stroke]=\"rotaterStyle.stroke\"\n            [attr.stroke-width]=\"rotaterStyle.strokeWidth\">\n      <rect id='rotate-bottom'\n            class='crosshair'\n            (mousedown)=\"onRotateMouseDown($event, 1)\" \n            (mousemove)=\"onRotateMouseMove($event, 1)\"\n            (mouseup)=\"onRotateMouseUp($event, 1)\"\n            [attr.width]=\"getRotaterStylerWidth()\" \n            [attr.height]= \"getRotaterStylerHeight()\" \n            [attr.x]=\"getRotaterX()\" \n            [attr.y]=\"getRotaterY()\"\n            [attr.rx]= \"getRotaterStylerBorderRadius()\" \n            [attr.ry]= \"getRotaterStylerBorderRadius()\" \n            [attr.fill]=\"rotaterStyle.fill\"\n            [attr.stroke]=\"rotaterStyle.stroke\"\n            [attr.stroke-width]=\"rotaterStyle.strokeWidth\">\n        </rect>\n    </svg>\n  ","styles":["\n\n  "]}]}],"members":{"elementState":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular-redux/store","name":"select","line":53,"character":3}}]}],"canModifyShapes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":3}}]}],"multiClickEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":3}}]}],"emitBackgroundClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":3}}]}],"rotaterStyle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":3}}]}],"resizerStyle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":3}}]}],"traceSelectionStyle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":3}}]}],"bbSelectionStyle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":67,"character":3}}]}],"selectorMouseUp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":69,"character":3}}]}],"selectorDoubleClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":71,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../../services/data-store.service","name":"DataStoreService","line":131,"character":31},{"__symbolic":"reference","module":"../../services/drawer-object-helper.service","name":"DrawerObjectHelperService","line":132,"character":34},{"__symbolic":"reference","module":"../../services/change-helper.service","name":"ChangeHelperService","line":133,"character":28},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":134,"character":25},{"__symbolic":"reference","module":"../../services/custom-component-resolver.service","name":"CustomComponentResolverService","line":135,"character":45}]}],"ngOnInit":[{"__symbolic":"method"}],"onKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":162,"character":3},"arguments":["window:keydown",["$event"]]}]}],"onKeyUp":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":218,"character":3},"arguments":["window:keyup",["$event"]]}]}],"isShiftDown":[{"__symbolic":"method"}],"onBackgroundMouseDown":[{"__symbolic":"method"}],"onBackgroundMouseMove":[{"__symbolic":"method"}],"onBackgroundMouseUp":[{"__symbolic":"method"}],"onBoundsMouseDown":[{"__symbolic":"method"}],"onBoundsMouseMove":[{"__symbolic":"method"}],"onBoundsMouseUp":[{"__symbolic":"method"}],"onSelectionMouseDown":[{"__symbolic":"method"}],"onSelectionMouseMove":[{"__symbolic":"method"}],"onSelectionMouseUp":[{"__symbolic":"method"}],"onMouseDown":[{"__symbolic":"method"}],"onMouseMove":[{"__symbolic":"method"}],"onMouseUp":[{"__symbolic":"method"}],"onResizerMouseDown":[{"__symbolic":"method"}],"onResizerMouseMove":[{"__symbolic":"method"}],"onResizerMouseUp":[{"__symbolic":"method"}],"onRotateMouseDown":[{"__symbolic":"method"}],"onRotateMouseMove":[{"__symbolic":"method"}],"onRotateMouseUp":[{"__symbolic":"method"}],"getResizerX":[{"__symbolic":"method"}],"getResizerY":[{"__symbolic":"method"}],"getResizerCursor":[{"__symbolic":"method"}],"shouldPreserveAspectRatio":[{"__symbolic":"method"}],"pixelizeBounds":[{"__symbolic":"method"}],"finalize":[{"__symbolic":"method"}],"getRotaterStylerHeight":[{"__symbolic":"method"}],"getRotaterStylerWidth":[{"__symbolic":"method"}],"getRotaterStylerSvgHeight":[{"__symbolic":"method"}],"getRotaterStylerSvgWidth":[{"__symbolic":"method"}],"getResizerStylerWidth":[{"__symbolic":"method"}],"getResizerStylerHeight":[{"__symbolic":"method"}],"getRotaterStylerBorderRadius":[{"__symbolic":"method"}],"getRotaterX":[{"__symbolic":"method"}],"getRotaterY":[{"__symbolic":"method"}],"microMoveObjects":[{"__symbolic":"method"}],"getDistanceBetweenTwoPoints":[{"__symbolic":"method"}],"getRelativeChildPointFromEvent":[{"__symbolic":"method"}],"getRelativePointFromEvent":[{"__symbolic":"method"}],"canAllResize":[{"__symbolic":"method"}],"setupBounds":[{"__symbolic":"method"}],"rotateObject":[{"__symbolic":"method"}],"getRotationAngle":[{"__symbolic":"method"}],"getRotationAngleFromMouseDownPoint":[{"__symbolic":"method"}],"resizeObjects":[{"__symbolic":"method"}],"resizeH":[{"__symbolic":"method"}],"resizeV":[{"__symbolic":"method"}],"getRotatedPoint":[{"__symbolic":"method"}],"applyResizeChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}}}}]