ngx-fabric-wrapper 18.0.0 → 19.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ngx-fabric-wrapper.mjs +18 -34
- package/fesm2022/ngx-fabric-wrapper.mjs.map +1 -1
- package/lib/fabric.component.d.ts +1 -1
- package/lib/fabric.directive.d.ts +3 -3
- package/package.json +4 -6
- package/public-api.d.ts +3 -4
- package/esm2022/lib/fabric.component.mjs +0 -194
- package/esm2022/lib/fabric.directive.mjs +0 -316
- package/esm2022/lib/fabric.interfaces.mjs +0 -108
- package/esm2022/lib/fabric.module.mjs +0 -20
- package/esm2022/ngx-fabric-wrapper.mjs +0 -5
- package/esm2022/public-api.mjs +0 -5
- package/lib/fabric.module.d.ts +0 -9
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, EventEmitter,
|
|
3
|
-
import {
|
|
2
|
+
import { InjectionToken, EventEmitter, Output, Input, Optional, Inject, Directive, ViewChild, HostBinding, ViewEncapsulation, Component } from '@angular/core';
|
|
3
|
+
import { Canvas, StaticCanvas } from 'fabric';
|
|
4
4
|
import ResizeObserver from 'resize-observer-polyfill';
|
|
5
|
-
import { CommonModule } from '@angular/common';
|
|
6
5
|
|
|
7
6
|
const FABRIC_CONFIG = new InjectionToken('FABRIC_CONFIG');
|
|
8
7
|
const FabricEvents = [
|
|
@@ -186,13 +185,13 @@ class FabricDirective {
|
|
|
186
185
|
ngOnInit() {
|
|
187
186
|
const params = new FabricConfig(this.defaults);
|
|
188
187
|
params.assign(this.config); // Custom configuration
|
|
189
|
-
Object.keys(params).forEach(key => params[key] === undefined && delete params[key]);
|
|
188
|
+
Object.keys(params).forEach((key) => params[key] === undefined && delete params[key]);
|
|
190
189
|
this.zone.runOutsideAngular(() => {
|
|
191
190
|
if (!this.disabled) {
|
|
192
|
-
this.instance = new
|
|
191
|
+
this.instance = new Canvas(this.elementRef.nativeElement, params);
|
|
193
192
|
}
|
|
194
193
|
else {
|
|
195
|
-
this.instance = new
|
|
194
|
+
this.instance = new StaticCanvas(this.elementRef.nativeElement, params);
|
|
196
195
|
}
|
|
197
196
|
if (this.initialZoom) {
|
|
198
197
|
this.setZoom(this.initialZoom);
|
|
@@ -258,8 +257,8 @@ class FabricDirective {
|
|
|
258
257
|
}
|
|
259
258
|
}
|
|
260
259
|
ngOnChanges(changes) {
|
|
261
|
-
if (this.instance && changes[
|
|
262
|
-
if (changes[
|
|
260
|
+
if (this.instance && changes["disabled"]) {
|
|
261
|
+
if (changes["disabled"].currentValue !== changes["disabled"].previousValue) {
|
|
263
262
|
this.ngOnDestroy();
|
|
264
263
|
this.ngOnInit();
|
|
265
264
|
}
|
|
@@ -309,14 +308,14 @@ class FabricDirective {
|
|
|
309
308
|
}, reviverOpt);
|
|
310
309
|
}
|
|
311
310
|
}
|
|
312
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
313
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
311
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FabricDirective, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: i0.KeyValueDiffers }, { token: FABRIC_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
312
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: FabricDirective, isStandalone: true, selector: "[fabric]", inputs: { zoom: "zoom", width: "width", height: "height", disabled: "disabled", config: ["fabric", "config"] }, outputs: { drop: "drop", dragover: "dragover", dragenter: "dragenter", dragleave: "dragleave", mouseup: "mouseup", mousedown: "mousedown", mouseover: "mouseover", mouseout: "mouseout", mousemove: "mousemove", mousewheel: "mousewheel", mousedblclick: "mousedblclick", mouseupBefore: "mouseupBefore", mousedownBefore: "mousedownBefore", mousemoveBefore: "mousemoveBefore", mouseUp: "mouseUp", mouseDown: "mouseDown", mouseOver: "mouseOver", mouseOut: "mouseOut", mouseMove: "mouseMove", mouseWheel: "mouseWheel", mouseDblclick: "mouseDblclick", mouseUpBefore: "mouseUpBefore", mouseDownBefore: "mouseDownBefore", mouseMoveBefore: "mouseMoveBefore", pathCreated: "pathCreated", alterRender: "alterRender", objectAdded: "objectAdded", objectMoved: "objectMoved", objectScaled: "objectScaled", objectSkewed: "objectSkewed", objectRotated: "objectRotated", objectRemoved: "objectRemoved", objectModified: "objectModified", objectSelected: "objectSelected", objectMoving: "objectMoving", objectScaling: "objectScaling", objectSkewing: "objectSkewing", objectRotating: "objectRotating", selectionCleared: "selectionCleared", selectionCreated: "selectionCreated", selectionUpdated: "selectionUpdated", beforeTransform: "beforeTransform", beforeSelectionCleared: "beforeSelectionCleared" }, exportAs: ["ngxFabric"], usesOnChanges: true, ngImport: i0 });
|
|
314
313
|
}
|
|
315
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
314
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FabricDirective, decorators: [{
|
|
316
315
|
type: Directive,
|
|
317
316
|
args: [{
|
|
318
|
-
selector:
|
|
319
|
-
exportAs:
|
|
317
|
+
selector: "[fabric]",
|
|
318
|
+
exportAs: "ngxFabric",
|
|
320
319
|
}]
|
|
321
320
|
}], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ElementRef }, { type: i0.KeyValueDiffers }, { type: undefined, decorators: [{
|
|
322
321
|
type: Optional
|
|
@@ -333,7 +332,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
333
332
|
type: Input
|
|
334
333
|
}], config: [{
|
|
335
334
|
type: Input,
|
|
336
|
-
args: [
|
|
335
|
+
args: ["fabric"]
|
|
337
336
|
}], drop: [{
|
|
338
337
|
type: Output
|
|
339
338
|
}], dragover: [{
|
|
@@ -496,12 +495,12 @@ class FabricComponent {
|
|
|
496
495
|
this.json = json;
|
|
497
496
|
}
|
|
498
497
|
}
|
|
499
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
500
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
498
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FabricComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
499
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: FabricComponent, isStandalone: true, selector: "fabric", inputs: { data: "data", zoom: "zoom", width: "width", height: "height", disabled: "disabled", config: "config", useFabricClass: "useFabricClass" }, outputs: { dataLoaded: "dataLoaded", drop: "drop", dragover: "dragover", dragenter: "dragenter", dragleave: "dragleave", mouseup: "mouseup", mousedown: "mousedown", mouseover: "mouseover", mouseout: "mouseout", mousemove: "mousemove", mousewheel: "mousewheel", mousedblclick: "mousedblclick", mouseupBefore: "mouseupBefore", mousedownBefore: "mousedownBefore", mousemoveBefore: "mousemoveBefore", mouseUp: "mouseUp", mouseDown: "mouseDown", mouseOver: "mouseOver", mouseOut: "mouseOut", mouseMove: "mouseMove", mouseWheel: "mouseWheel", mouseDblclick: "mouseDblclick", mouseUpBefore: "mouseUpBefore", mouseDownBefore: "mouseDownBefore", mouseMoveBefore: "mouseMoveBefore", pathCreated: "pathCreated", alterRender: "alterRender", objectAdded: "objectAdded", objectMoved: "objectMoved", objectScaled: "objectScaled", objectSkewed: "objectSkewed", objectRotated: "objectRotated", objectRemoved: "objectRemoved", objectModified: "objectModified", objectSelected: "objectSelected", objectMoving: "objectMoving", objectScaling: "objectScaling", objectSkewing: "objectSkewing", objectRotating: "objectRotating", selectionCleared: "selectionCleared", selectionCreated: "selectionCreated", selectionUpdated: "selectionUpdated", beforeTransform: "beforeTransform", beforeSelectionCleared: "beforeSelectionCleared" }, host: { properties: { "class.fabric": "this.useFabricClass" } }, viewQueries: [{ propertyName: "directiveRef", first: true, predicate: FabricDirective, descendants: true, static: true }], exportAs: ["ngxFabric"], ngImport: i0, template: "<canvas [fabric]=\"config\" [zoom]=\"zoom\" [width]=\"width\" [height]=\"height\" [disabled]=\"disabled\" (drop)=\"drop.emit($event)\" (dragover)=\"dragover.emit($event)\" (dragenter)=\"dragenter.emit($event)\" (dragleave)=\"dragleave.emit($event)\" (mouseup)=\"mouseup.emit($event)\" (mousedown)=\"mousedown.emit($event)\" (mouseover)=\"mouseover.emit($event)\" (mouseout)=\"mouseout.emit($event)\" (mousemove)=\"mousemove.emit($event)\" (mousewheel)=\"mousewheel.emit($event)\" (mousedblclick)=\"mousedblclick.emit($event)\" (mouseupBefore)=\"mouseupBefore.emit($event)\" (mousedownBefore)=\"mousedownBefore.emit($event)\" (mousemoveBefore)=\"mousemoveBefore.emit($event)\" (mouseUp)=\"mouseUp.emit($event)\" (mouseDown)=\"mouseDown.emit($event)\" (mouseOver)=\"mouseOver.emit($event)\" (mouseOut)=\"mouseOut.emit($event)\" (mouseMove)=\"mouseMove.emit($event)\" (mouseWheel)=\"mouseWheel.emit($event)\" (mouseDblclick)=\"mouseDblclick.emit($event)\" (mouseUpBefore)=\"mouseUpBefore.emit($event)\" (mouseDownBefore)=\"mouseDownBefore.emit($event)\" (mouseMoveBefore)=\"mouseMoveBefore.emit($event)\" (pathCreated)=\"pathCreated.emit($event)\" (alterRender)=\"alterRender.emit($event)\" (objectAdded)=\"objectAdded.emit($event)\" (objectMoved)=\"objectMoved.emit($event)\" (objectScaled)=\"objectScaled.emit($event)\" (objectSkewed)=\"objectSkewed.emit($event)\" (objectRotated)=\"objectRotated.emit($event)\" (objectRemoved)=\"objectRemoved.emit($event)\" (objectModified)=\"objectModified.emit($event)\" (objectSelected)=\"objectSelected.emit($event)\" (objectMoving)=\"objectMoving.emit($event)\" (objectScaling)=\"objectScaling.emit($event)\" (objectSkewing)=\"objectSkewing.emit($event)\" (objectRotating)=\"objectRotating.emit($event)\" (selectionCleared)=\"selectionCleared.emit($event)\" (selectionCreated)=\"selectionCreated.emit($event)\" (selectionUpdated)=\"selectionUpdated.emit($event)\" (beforeTransform)=\"beforeTransform.emit($event)\" (beforeSelectionCleared)=\"beforeSelectionCleared.emit($event)\">\n</canvas>\n", styles: ["fabric.flex{display:flex;flex-direction:column;min-width:0;min-height:0;-webkit-box-direction:column;-webkit-box-orient:column}fabric.fabric{width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: FabricDirective, selector: "[fabric]", inputs: ["zoom", "width", "height", "disabled", "fabric"], outputs: ["drop", "dragover", "dragenter", "dragleave", "mouseup", "mousedown", "mouseover", "mouseout", "mousemove", "mousewheel", "mousedblclick", "mouseupBefore", "mousedownBefore", "mousemoveBefore", "mouseUp", "mouseDown", "mouseOver", "mouseOut", "mouseMove", "mouseWheel", "mouseDblclick", "mouseUpBefore", "mouseDownBefore", "mouseMoveBefore", "pathCreated", "alterRender", "objectAdded", "objectMoved", "objectScaled", "objectSkewed", "objectRotated", "objectRemoved", "objectModified", "objectSelected", "objectMoving", "objectScaling", "objectSkewing", "objectRotating", "selectionCleared", "selectionCreated", "selectionUpdated", "beforeTransform", "beforeSelectionCleared"], exportAs: ["ngxFabric"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
501
500
|
}
|
|
502
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
501
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FabricComponent, decorators: [{
|
|
503
502
|
type: Component,
|
|
504
|
-
args: [{ selector: 'fabric', exportAs: 'ngxFabric', encapsulation: ViewEncapsulation.None, template: "<canvas [fabric]=\"config\" [zoom]=\"zoom\" [width]=\"width\" [height]=\"height\" [disabled]=\"disabled\" (drop)=\"drop.emit($event)\" (dragover)=\"dragover.emit($event)\" (dragenter)=\"dragenter.emit($event)\" (dragleave)=\"dragleave.emit($event)\" (mouseup)=\"mouseup.emit($event)\" (mousedown)=\"mousedown.emit($event)\" (mouseover)=\"mouseover.emit($event)\" (mouseout)=\"mouseout.emit($event)\" (mousemove)=\"mousemove.emit($event)\" (mousewheel)=\"mousewheel.emit($event)\" (mousedblclick)=\"mousedblclick.emit($event)\" (mouseupBefore)=\"mouseupBefore.emit($event)\" (mousedownBefore)=\"mousedownBefore.emit($event)\" (mousemoveBefore)=\"mousemoveBefore.emit($event)\" (mouseUp)=\"mouseUp.emit($event)\" (mouseDown)=\"mouseDown.emit($event)\" (mouseOver)=\"mouseOver.emit($event)\" (mouseOut)=\"mouseOut.emit($event)\" (mouseMove)=\"mouseMove.emit($event)\" (mouseWheel)=\"mouseWheel.emit($event)\" (mouseDblclick)=\"mouseDblclick.emit($event)\" (mouseUpBefore)=\"mouseUpBefore.emit($event)\" (mouseDownBefore)=\"mouseDownBefore.emit($event)\" (mouseMoveBefore)=\"mouseMoveBefore.emit($event)\" (pathCreated)=\"pathCreated.emit($event)\" (alterRender)=\"alterRender.emit($event)\" (objectAdded)=\"objectAdded.emit($event)\" (objectMoved)=\"objectMoved.emit($event)\" (objectScaled)=\"objectScaled.emit($event)\" (objectSkewed)=\"objectSkewed.emit($event)\" (objectRotated)=\"objectRotated.emit($event)\" (objectRemoved)=\"objectRemoved.emit($event)\" (objectModified)=\"objectModified.emit($event)\" (objectSelected)=\"objectSelected.emit($event)\" (objectMoving)=\"objectMoving.emit($event)\" (objectScaling)=\"objectScaling.emit($event)\" (objectSkewing)=\"objectSkewing.emit($event)\" (objectRotating)=\"objectRotating.emit($event)\" (selectionCleared)=\"selectionCleared.emit($event)\" (selectionCreated)=\"selectionCreated.emit($event)\" (selectionUpdated)=\"selectionUpdated.emit($event)\" (beforeTransform)=\"beforeTransform.emit($event)\" (beforeSelectionCleared)=\"beforeSelectionCleared.emit($event)\">\n</canvas>\n", styles: ["fabric.flex{display:flex;flex-direction:column;min-width:0;min-height:0;-webkit-box-direction:column;-webkit-box-orient:column}fabric.fabric{width:100%;height:100%}\n"] }]
|
|
503
|
+
args: [{ selector: 'fabric', exportAs: 'ngxFabric', encapsulation: ViewEncapsulation.None, imports: [FabricDirective], template: "<canvas [fabric]=\"config\" [zoom]=\"zoom\" [width]=\"width\" [height]=\"height\" [disabled]=\"disabled\" (drop)=\"drop.emit($event)\" (dragover)=\"dragover.emit($event)\" (dragenter)=\"dragenter.emit($event)\" (dragleave)=\"dragleave.emit($event)\" (mouseup)=\"mouseup.emit($event)\" (mousedown)=\"mousedown.emit($event)\" (mouseover)=\"mouseover.emit($event)\" (mouseout)=\"mouseout.emit($event)\" (mousemove)=\"mousemove.emit($event)\" (mousewheel)=\"mousewheel.emit($event)\" (mousedblclick)=\"mousedblclick.emit($event)\" (mouseupBefore)=\"mouseupBefore.emit($event)\" (mousedownBefore)=\"mousedownBefore.emit($event)\" (mousemoveBefore)=\"mousemoveBefore.emit($event)\" (mouseUp)=\"mouseUp.emit($event)\" (mouseDown)=\"mouseDown.emit($event)\" (mouseOver)=\"mouseOver.emit($event)\" (mouseOut)=\"mouseOut.emit($event)\" (mouseMove)=\"mouseMove.emit($event)\" (mouseWheel)=\"mouseWheel.emit($event)\" (mouseDblclick)=\"mouseDblclick.emit($event)\" (mouseUpBefore)=\"mouseUpBefore.emit($event)\" (mouseDownBefore)=\"mouseDownBefore.emit($event)\" (mouseMoveBefore)=\"mouseMoveBefore.emit($event)\" (pathCreated)=\"pathCreated.emit($event)\" (alterRender)=\"alterRender.emit($event)\" (objectAdded)=\"objectAdded.emit($event)\" (objectMoved)=\"objectMoved.emit($event)\" (objectScaled)=\"objectScaled.emit($event)\" (objectSkewed)=\"objectSkewed.emit($event)\" (objectRotated)=\"objectRotated.emit($event)\" (objectRemoved)=\"objectRemoved.emit($event)\" (objectModified)=\"objectModified.emit($event)\" (objectSelected)=\"objectSelected.emit($event)\" (objectMoving)=\"objectMoving.emit($event)\" (objectScaling)=\"objectScaling.emit($event)\" (objectSkewing)=\"objectSkewing.emit($event)\" (objectRotating)=\"objectRotating.emit($event)\" (selectionCleared)=\"selectionCleared.emit($event)\" (selectionCreated)=\"selectionCreated.emit($event)\" (selectionUpdated)=\"selectionUpdated.emit($event)\" (beforeTransform)=\"beforeTransform.emit($event)\" (beforeSelectionCleared)=\"beforeSelectionCleared.emit($event)\">\n</canvas>\n", styles: ["fabric.flex{display:flex;flex-direction:column;min-width:0;min-height:0;-webkit-box-direction:column;-webkit-box-orient:column}fabric.fabric{width:100%;height:100%}\n"] }]
|
|
505
504
|
}], ctorParameters: () => [], propDecorators: { data: [{
|
|
506
505
|
type: Input
|
|
507
506
|
}], zoom: [{
|
|
@@ -612,24 +611,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
612
611
|
args: [FabricDirective, { static: true }]
|
|
613
612
|
}] } });
|
|
614
613
|
|
|
615
|
-
class FabricModule {
|
|
616
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FabricModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
617
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FabricModule, declarations: [FabricComponent, FabricDirective], imports: [CommonModule], exports: [CommonModule, FabricComponent, FabricDirective] });
|
|
618
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FabricModule, imports: [CommonModule, CommonModule] });
|
|
619
|
-
}
|
|
620
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FabricModule, decorators: [{
|
|
621
|
-
type: NgModule,
|
|
622
|
-
args: [{
|
|
623
|
-
declarations: [FabricComponent, FabricDirective],
|
|
624
|
-
imports: [CommonModule],
|
|
625
|
-
exports: [CommonModule, FabricComponent, FabricDirective],
|
|
626
|
-
providers: []
|
|
627
|
-
}]
|
|
628
|
-
}] });
|
|
629
|
-
|
|
630
614
|
/**
|
|
631
615
|
* Generated bundle index. Do not edit.
|
|
632
616
|
*/
|
|
633
617
|
|
|
634
|
-
export { FABRIC_CONFIG, FabricComponent, FabricConfig, FabricDirective
|
|
618
|
+
export { FABRIC_CONFIG, FabricComponent, FabricConfig, FabricDirective };
|
|
635
619
|
//# sourceMappingURL=ngx-fabric-wrapper.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-fabric-wrapper.mjs","sources":["../../../projects/lib/src/lib/fabric.interfaces.ts","../../../projects/lib/src/lib/fabric.directive.ts","../../../projects/lib/src/lib/fabric.component.ts","../../../projects/lib/src/lib/fabric.component.html","../../../projects/lib/src/lib/fabric.module.ts","../../../projects/lib/src/ngx-fabric-wrapper.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FABRIC_CONFIG = new InjectionToken<FabricConfigInterface>('FABRIC_CONFIG');\n\nexport type FabricEvent = 'drop' | 'dragover' | 'dragenter' | 'dragleave' | 'mouseup' |\n 'mousedown' | 'mouseover' | 'mouseout' | 'mousemove' | 'mousewheel' | 'mousedblclick' |\n 'mouseupBefore' | 'mousedownBefore' | 'mousemoveBefore' | 'mouseUp' | 'mouseDown' |\n 'mouseOver' | 'mouseOut' | 'mouseMove' | 'mouseWheel' | 'mouseDblclick' | 'mouseUpBefore' | 'mouseDownBefore' |\n 'mouseMoveBefore' | 'pathCreated' | 'alterRender' | 'objectAdded' | 'objectMoved' | 'objectScaled' |\n 'objectSkewed' | 'objectRotated' | 'objectRemoved' | 'objectModified' | 'objectSelected' |\n 'objectMoving' | 'objectScaling' | 'objectSkewing' | 'objectRotating' | 'selectionCleared' |\n 'selectionCreated' | 'selectionUpdated' | 'beforeTransform' | 'beforeSelectionCleared' ;\n\nexport const FabricEvents: FabricEvent[] = [\n 'drop',\n 'dragover',\n 'dragenter',\n 'dragleave',\n\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'mousewheel',\n 'mousedblclick',\n 'mouseupBefore',\n 'mousedownBefore',\n 'mousemoveBefore',\n\n 'mouseUp',\n 'mouseDown',\n 'mouseOver',\n 'mouseOut',\n 'mouseMove',\n 'mouseWheel',\n 'mouseDblclick',\n 'mouseUpBefore',\n 'mouseDownBefore',\n 'mouseMoveBefore',\n\n 'pathCreated',\n 'alterRender',\n\n 'objectAdded',\n 'objectMoved',\n 'objectScaled',\n 'objectSkewed',\n 'objectRotated',\n 'objectRemoved',\n 'objectModified',\n 'objectSelected',\n 'objectMoving',\n 'objectScaling',\n 'objectSkewing',\n 'objectRotating',\n\n 'selectionCleared',\n 'selectionCreated',\n 'selectionUpdated',\n\n 'beforeTransform',\n 'beforeSelectionCleared'\n];\n\nexport interface FabricConfigInterface {\n allowTouchScrolling?: boolean,\n altActionKey?: string,\n altSelectionKey?: string,\n backgroundColor?: string | any,\n backgroundImage?: any,\n backgroundVpt?: boolean,\n centeredKey?: string,\n centeredRotation?: boolean,\n centeredScaling?: boolean,\n clipTo?: FabricClipToFunction,\n containerClass?: string,\n controlsAboveOverlay?: boolean,\n defaultCursor?: string,\n enableRetinaScaling?: boolean,\n fireMiddleClick?: boolean,\n fireRightClick?: boolean,\n freeDrawingCursor?: string,\n FX_DURATION?: number,\n hoverCursor?: string,\n imageSmoothingEnabled?: boolean,\n includeDefaultValues?: boolean,\n interactive?: boolean,\n isDrawingMode?: boolean,\n moveCursor?: string,\n notAllowedCursor?: string,\n overlayColor?: string | any,\n overlayImage?: any,\n overlayVpt?: boolean,\n perPixelTargetFind?: boolean,\n preserveObjectStacking?: boolean,\n renderOnAddRemove?: boolean,\n rotationCursor?: string,\n selection?: boolean,\n selectionBorderColor?: string,\n selectionColor?: string,\n selectionDashArray?: any[],\n selectionKey?: string,\n selectionLineWidth?: number,\n skipOffscreen?: boolean,\n skipTargetFind?: boolean,\n snapAngle?: number,\n snapThreshold?: number,\n stateful?: boolean,\n stopContextMenu?: boolean,\n svgViewportTransformation?: boolean,\n targetFindToTolerance?: number,\n uniScaleKey?: string,\n uniScaleTransform?: boolean,\n viewportTransform?: any[],\n vptCoords?: any\n}\n\nexport class FabricConfig implements FabricConfigInterface {\n allowTouchScrolling?: boolean;\n altActionKey?: string;\n altSelectionKey?: string;\n backgroundColor?: string | any;\n backgroundImage?: any;\n backgroundVpt?: boolean;\n centeredKey?: string;\n centeredRotation?: boolean;\n centeredScaling?: boolean;\n clipTo?: FabricClipToFunction;\n containerClass?: string;\n controlsAboveOverlay?: boolean;\n defaultCursor?: string;\n enableRetinaScaling?: boolean;\n fireMiddleClick?: boolean;\n fireRightClick?: boolean;\n freeDrawingCursor?: string;\n FX_DURATION?: number;\n hoverCursor?: string;\n imageSmoothingEnabled?: boolean;\n includeDefaultValues?: boolean;\n interactive?: boolean;\n isDrawingMode?: boolean;\n moveCursor?: string;\n notAllowedCursor?: string;\n overlayColor: string | any;\n overlayImage: any;\n overlayVpt?: boolean;\n perPixelTargetFind?: boolean;\n preserveObjectStacking?: boolean;\n renderOnAddRemove?: boolean;\n rotationCursor?: string;\n selection?: boolean;\n selectionBorderColor?: string;\n selectionColor?: string;\n selectionDashArray?: any[];\n selectionKey?: string;\n selectionLineWidth?: number;\n skipOffscreen?: boolean;\n skipTargetFind?: boolean;\n snapAngle?: number;\n snapThreshold?: number;\n stateful?: boolean;\n stopContextMenu?: boolean;\n svgViewportTransformation?: boolean;\n targetFindToTolerance?: number;\n uniScaleKey?: string;\n uniScaleTransform?: boolean;\n viewportTransform?: any[];\n vptCoords?: any;\n\n constructor(config: FabricConfigInterface = {}) {\n this.assign(config);\n }\n\n assign(config: FabricConfigInterface = {}) {\n for (const key in config) {\n this[key as keyof FabricConfig] = config[key as keyof FabricConfigInterface] as never;\n }\n }\n}\n\nexport type FabricClipToFunction = (ctx: any) => void;\n","import { fabric } from 'fabric';\n\nimport ResizeObserver from 'resize-observer-polyfill';\n\nimport { Directive, Optional, Inject,\n OnInit, OnDestroy, DoCheck, OnChanges,\n Input, Output, EventEmitter, NgZone, ElementRef,\n KeyValueDiffer, KeyValueDiffers, SimpleChanges } from '@angular/core';\n\nimport { FABRIC_CONFIG, FabricConfig, FabricConfigInterface,\n FabricEvent, FabricEvents } from './fabric.interfaces';\n\n@Directive({\n selector: '[fabric]',\n exportAs: 'ngxFabric'\n})\nexport class FabricDirective implements OnInit, OnDestroy, DoCheck, OnChanges {\n private instance: fabric.Canvas | fabric.StaticCanvas | null = null;\n\n private ro: ResizeObserver | null = null;\n\n private objectsJSON: object | null = null;\n\n private initialZoom: number | null = null;\n private initialWidth: number | null = null;\n private initialHeight: number | null = null;\n\n private configDiff: KeyValueDiffer<string, any> | null = null;\n\n @Input()\n set zoom(zoom: number) {\n this.setZoom(zoom);\n }\n\n @Input()\n set width(width: number) {\n this.setWidth(width);\n }\n @Input()\n set height(height: number) {\n this.setHeight(height);\n }\n\n @Input() disabled: boolean = false;\n\n @Input('fabric') config?: FabricConfigInterface;\n\n @Output() drop = new EventEmitter<any>();\n @Output() dragover = new EventEmitter<any>();\n @Output() dragenter = new EventEmitter<any>();\n @Output() dragleave = new EventEmitter<any>();\n\n @Output() mouseup = new EventEmitter<any>();\n @Output() mousedown = new EventEmitter<any>();\n @Output() mouseover = new EventEmitter<any>();\n @Output() mouseout = new EventEmitter<any>();\n @Output() mousemove = new EventEmitter<any>();\n @Output() mousewheel = new EventEmitter<any>();\n @Output() mousedblclick = new EventEmitter<any>();\n @Output() mouseupBefore = new EventEmitter<any>();\n @Output() mousedownBefore = new EventEmitter<any>();\n @Output() mousemoveBefore = new EventEmitter<any>();\n\n @Output() mouseUp = new EventEmitter<any>();\n @Output() mouseDown = new EventEmitter<any>();\n @Output() mouseOver = new EventEmitter<any>();\n @Output() mouseOut = new EventEmitter<any>();\n @Output() mouseMove = new EventEmitter<any>();\n @Output() mouseWheel = new EventEmitter<any>();\n @Output() mouseDblclick = new EventEmitter<any>();\n @Output() mouseUpBefore = new EventEmitter<any>();\n @Output() mouseDownBefore = new EventEmitter<any>();\n @Output() mouseMoveBefore = new EventEmitter<any>();\n\n @Output() pathCreated = new EventEmitter<any>();\n @Output() alterRender = new EventEmitter<any>();\n\n @Output() objectAdded = new EventEmitter<any>();\n @Output() objectMoved = new EventEmitter<any>();\n @Output() objectScaled = new EventEmitter<any>();\n @Output() objectSkewed = new EventEmitter<any>();\n @Output() objectRotated = new EventEmitter<any>();\n @Output() objectRemoved = new EventEmitter<any>();\n @Output() objectModified = new EventEmitter<any>();\n @Output() objectSelected = new EventEmitter<any>();\n @Output() objectMoving = new EventEmitter<any>();\n @Output() objectScaling = new EventEmitter<any>();\n @Output() objectSkewing = new EventEmitter<any>();\n @Output() objectRotating = new EventEmitter<any>();\n\n @Output() selectionCleared = new EventEmitter<any>();\n @Output() selectionCreated = new EventEmitter<any>();\n @Output() selectionUpdated = new EventEmitter<any>();\n\n @Output() beforeTransform = new EventEmitter<any>();\n @Output() beforeSelectionCleared = new EventEmitter<any>();\n\n constructor(private zone: NgZone,\n private elementRef: ElementRef, private differs: KeyValueDiffers,\n @Optional() @Inject(FABRIC_CONFIG) private defaults: FabricConfigInterface) {}\n\n ngOnInit(): void {\n const params = new FabricConfig(this.defaults);\n\n params.assign(this.config); // Custom configuration\n\n Object.keys(params).forEach(key => params[key] === undefined && delete params[key])\n\n this.zone.runOutsideAngular(() => {\n if (!this.disabled) {\n this.instance = new fabric.Canvas(this.elementRef.nativeElement, params);\n } else {\n this.instance = new fabric.StaticCanvas(this.elementRef.nativeElement, params);\n }\n\n if (this.initialZoom) {\n this.setZoom(this.initialZoom);\n }\n\n if (this.initialWidth) {\n this.setWidth(this.initialWidth);\n }\n\n if (this.initialHeight) {\n this.setHeight(this.initialHeight);\n }\n\n if (this.objectsJSON !== null) {\n this.loadFromJSON(this.objectsJSON);\n }\n });\n\n // Add native Fabric event handling\n FabricEvents.forEach((eventName: FabricEvent) => {\n const fabricEvent = eventName.replace(/([A-Z])/g, (c) => `:${c.toLowerCase()}`);\n\n if (this.instance) {\n this.instance.on(fabricEvent, (event: any) => {\n this.zone.run(() => {\n if (this[eventName].observers.length) {\n this[eventName].emit(event);\n }\n });\n });\n }\n });\n\n if (!this.configDiff) {\n this.configDiff = this.differs.find(this.config || {}).create();\n\n this.configDiff.diff(this.config || {});\n }\n\n this.zone.runOutsideAngular(() => {\n this.ro = new ResizeObserver((entries, observer) => {\n const element = this.elementRef.nativeElement.parentElement.parentElement;\n\n if (!this.initialWidth) {\n this.setWidth(element.offsetWidth);\n }\n\n if (!this.initialHeight) {\n this.setHeight(element.offsetHeight);\n }\n });\n\n this.ro.observe(this.elementRef.nativeElement.parentElement.parentElement);\n });\n }\n\n ngOnDestroy(): void {\n if (this.ro) {\n this.ro.disconnect();\n }\n\n if (this.instance) {\n this.objectsJSON = this.instance.toObject();\n\n this.instance.dispose();\n\n delete this.instance;\n\n this.instance = null;\n }\n }\n\n ngDoCheck(): void {\n if (this.configDiff) {\n const changes = this.configDiff.diff(this.config || {});\n\n if (changes) {\n this.ngOnDestroy();\n\n this.ngOnInit();\n }\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.instance && changes['disabled']) {\n if (changes['disabled'].currentValue !== changes['disabled'].previousValue) {\n this.ngOnDestroy();\n\n this.ngOnInit();\n }\n }\n }\n\n public fabric(): any {\n return this.instance;\n }\n\n public clear(): void {\n if (this.instance) {\n this.instance.clear();\n }\n }\n\n public render(): void {\n if (this.instance) {\n this.instance.renderAll();\n }\n }\n\n public setZoom(zoom: number): void {\n this.initialZoom = zoom;\n\n if (this.instance) {\n this.instance.setZoom(zoom);\n }\n }\n\n public setWidth(width: number): void {\n this.initialWidth = width;\n\n if (this.instance) {\n this.instance.setWidth(width);\n }\n }\n\n public setHeight(height: number): void {\n this.initialHeight = height;\n\n if (this.instance) {\n this.instance.setHeight(height);\n }\n }\n\n public loadFromJSON(json: any, callback?: Function, reviverOpt?: any): void {\n if (this.instance) {\n this.instance.loadFromJSON(json, () => {\n let renderAll = true;\n\n if (callback) {\n renderAll = callback();\n }\n\n if (renderAll && this.instance) {\n this.instance.renderAll();\n }\n }, reviverOpt);\n }\n }\n}\n","import { Component,\n AfterViewInit, Input, Output, EventEmitter,\n ViewChild, HostBinding, ViewEncapsulation } from '@angular/core';\n\nimport { FabricDirective } from './fabric.directive';\n\nimport { FabricConfigInterface } from './fabric.interfaces';\n\n@Component({\n selector: 'fabric',\n exportAs: 'ngxFabric',\n templateUrl: './fabric.component.html',\n styleUrls: [ './fabric.component.css' ],\n encapsulation: ViewEncapsulation.None\n})\nexport class FabricComponent implements AfterViewInit {\n private json: any = null;\n\n @Input()\n set data(data: string) {\n this.setJSON(data);\n }\n\n @Input() zoom: number | null = null;\n\n @Input() width: number | null = null;\n @Input() height: number | null = null;\n\n @Input() disabled: boolean = false;\n\n @Input() config?: FabricConfigInterface;\n\n @HostBinding('class.fabric')\n @Input() useFabricClass: boolean = true;\n\n @Output() dataLoaded = new EventEmitter<any>();\n\n @Output() drop = new EventEmitter<any>();\n @Output() dragover = new EventEmitter<any>();\n @Output() dragenter = new EventEmitter<any>();\n @Output() dragleave = new EventEmitter<any>();\n\n @Output() mouseup = new EventEmitter<any>();\n @Output() mousedown = new EventEmitter<any>();\n @Output() mouseover = new EventEmitter<any>();\n @Output() mouseout = new EventEmitter<any>();\n @Output() mousemove = new EventEmitter<any>();\n @Output() mousewheel = new EventEmitter<any>();\n @Output() mousedblclick = new EventEmitter<any>();\n @Output() mouseupBefore = new EventEmitter<any>();\n @Output() mousedownBefore = new EventEmitter<any>();\n @Output() mousemoveBefore = new EventEmitter<any>();\n\n @Output() mouseUp = new EventEmitter<any>();\n @Output() mouseDown = new EventEmitter<any>();\n @Output() mouseOver = new EventEmitter<any>();\n @Output() mouseOut = new EventEmitter<any>();\n @Output() mouseMove = new EventEmitter<any>();\n @Output() mouseWheel = new EventEmitter<any>();\n @Output() mouseDblclick = new EventEmitter<any>();\n @Output() mouseUpBefore = new EventEmitter<any>();\n @Output() mouseDownBefore = new EventEmitter<any>();\n @Output() mouseMoveBefore = new EventEmitter<any>();\n\n @Output() pathCreated = new EventEmitter<any>();\n @Output() alterRender = new EventEmitter<any>();\n\n @Output() objectAdded = new EventEmitter<any>();\n @Output() objectMoved = new EventEmitter<any>();\n @Output() objectScaled = new EventEmitter<any>();\n @Output() objectSkewed = new EventEmitter<any>();\n @Output() objectRotated = new EventEmitter<any>();\n @Output() objectRemoved = new EventEmitter<any>();\n @Output() objectModified = new EventEmitter<any>();\n @Output() objectSelected = new EventEmitter<any>();\n @Output() objectMoving = new EventEmitter<any>();\n @Output() objectScaling = new EventEmitter<any>();\n @Output() objectSkewing = new EventEmitter<any>();\n @Output() objectRotating = new EventEmitter<any>();\n\n @Output() selectionCleared = new EventEmitter<any>();\n @Output() selectionCreated = new EventEmitter<any>();\n @Output() selectionUpdated = new EventEmitter<any>();\n\n @Output() beforeTransform = new EventEmitter<any>();\n @Output() beforeSelectionCleared = new EventEmitter<any>();\n\n @ViewChild(FabricDirective, { static: true }) directiveRef?: FabricDirective;\n\n constructor() {}\n\n ngAfterViewInit(): void {\n if (this.json != null) {\n this.setJSON(this.json, true);\n }\n }\n\n private setJSON(json: string, force?: boolean): void {\n if (force || json !== this.json) {\n if (this.directiveRef) {\n this.directiveRef.loadFromJSON(json, () => {\n if (this.directiveRef && this.directiveRef.fabric()) {\n this.dataLoaded.emit(this.directiveRef.fabric());\n }\n });\n }\n\n this.json = json;\n }\n }\n}\n","<canvas [fabric]=\"config\" [zoom]=\"zoom\" [width]=\"width\" [height]=\"height\" [disabled]=\"disabled\" (drop)=\"drop.emit($event)\" (dragover)=\"dragover.emit($event)\" (dragenter)=\"dragenter.emit($event)\" (dragleave)=\"dragleave.emit($event)\" (mouseup)=\"mouseup.emit($event)\" (mousedown)=\"mousedown.emit($event)\" (mouseover)=\"mouseover.emit($event)\" (mouseout)=\"mouseout.emit($event)\" (mousemove)=\"mousemove.emit($event)\" (mousewheel)=\"mousewheel.emit($event)\" (mousedblclick)=\"mousedblclick.emit($event)\" (mouseupBefore)=\"mouseupBefore.emit($event)\" (mousedownBefore)=\"mousedownBefore.emit($event)\" (mousemoveBefore)=\"mousemoveBefore.emit($event)\" (mouseUp)=\"mouseUp.emit($event)\" (mouseDown)=\"mouseDown.emit($event)\" (mouseOver)=\"mouseOver.emit($event)\" (mouseOut)=\"mouseOut.emit($event)\" (mouseMove)=\"mouseMove.emit($event)\" (mouseWheel)=\"mouseWheel.emit($event)\" (mouseDblclick)=\"mouseDblclick.emit($event)\" (mouseUpBefore)=\"mouseUpBefore.emit($event)\" (mouseDownBefore)=\"mouseDownBefore.emit($event)\" (mouseMoveBefore)=\"mouseMoveBefore.emit($event)\" (pathCreated)=\"pathCreated.emit($event)\" (alterRender)=\"alterRender.emit($event)\" (objectAdded)=\"objectAdded.emit($event)\" (objectMoved)=\"objectMoved.emit($event)\" (objectScaled)=\"objectScaled.emit($event)\" (objectSkewed)=\"objectSkewed.emit($event)\" (objectRotated)=\"objectRotated.emit($event)\" (objectRemoved)=\"objectRemoved.emit($event)\" (objectModified)=\"objectModified.emit($event)\" (objectSelected)=\"objectSelected.emit($event)\" (objectMoving)=\"objectMoving.emit($event)\" (objectScaling)=\"objectScaling.emit($event)\" (objectSkewing)=\"objectSkewing.emit($event)\" (objectRotating)=\"objectRotating.emit($event)\" (selectionCleared)=\"selectionCleared.emit($event)\" (selectionCreated)=\"selectionCreated.emit($event)\" (selectionUpdated)=\"selectionUpdated.emit($event)\" (beforeTransform)=\"beforeTransform.emit($event)\" (beforeSelectionCleared)=\"beforeSelectionCleared.emit($event)\">\n</canvas>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FabricComponent } from './fabric.component';\nimport { FabricDirective } from './fabric.directive';\n\n@NgModule({\n declarations: [ FabricComponent, FabricDirective ],\n imports: [ CommonModule ],\n exports: [ CommonModule, FabricComponent, FabricDirective ],\n providers: []\n})\nexport class FabricModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.FabricDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-fabric-wrapper.mjs","sources":["../../../projects/lib/src/lib/fabric.interfaces.ts","../../../projects/lib/src/lib/fabric.directive.ts","../../../projects/lib/src/lib/fabric.component.ts","../../../projects/lib/src/lib/fabric.component.html","../../../projects/lib/src/ngx-fabric-wrapper.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FABRIC_CONFIG = new InjectionToken<FabricConfigInterface>('FABRIC_CONFIG');\n\nexport type FabricEvent = 'drop' | 'dragover' | 'dragenter' | 'dragleave' | 'mouseup' |\n 'mousedown' | 'mouseover' | 'mouseout' | 'mousemove' | 'mousewheel' | 'mousedblclick' |\n 'mouseupBefore' | 'mousedownBefore' | 'mousemoveBefore' | 'mouseUp' | 'mouseDown' |\n 'mouseOver' | 'mouseOut' | 'mouseMove' | 'mouseWheel' | 'mouseDblclick' | 'mouseUpBefore' | 'mouseDownBefore' |\n 'mouseMoveBefore' | 'pathCreated' | 'alterRender' | 'objectAdded' | 'objectMoved' | 'objectScaled' |\n 'objectSkewed' | 'objectRotated' | 'objectRemoved' | 'objectModified' | 'objectSelected' |\n 'objectMoving' | 'objectScaling' | 'objectSkewing' | 'objectRotating' | 'selectionCleared' |\n 'selectionCreated' | 'selectionUpdated' | 'beforeTransform' | 'beforeSelectionCleared' ;\n\nexport const FabricEvents: FabricEvent[] = [\n 'drop',\n 'dragover',\n 'dragenter',\n 'dragleave',\n\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'mousewheel',\n 'mousedblclick',\n 'mouseupBefore',\n 'mousedownBefore',\n 'mousemoveBefore',\n\n 'mouseUp',\n 'mouseDown',\n 'mouseOver',\n 'mouseOut',\n 'mouseMove',\n 'mouseWheel',\n 'mouseDblclick',\n 'mouseUpBefore',\n 'mouseDownBefore',\n 'mouseMoveBefore',\n\n 'pathCreated',\n 'alterRender',\n\n 'objectAdded',\n 'objectMoved',\n 'objectScaled',\n 'objectSkewed',\n 'objectRotated',\n 'objectRemoved',\n 'objectModified',\n 'objectSelected',\n 'objectMoving',\n 'objectScaling',\n 'objectSkewing',\n 'objectRotating',\n\n 'selectionCleared',\n 'selectionCreated',\n 'selectionUpdated',\n\n 'beforeTransform',\n 'beforeSelectionCleared'\n];\n\nexport interface FabricConfigInterface {\n allowTouchScrolling?: boolean,\n altActionKey?: string,\n altSelectionKey?: string,\n backgroundColor?: string | any,\n backgroundImage?: any,\n backgroundVpt?: boolean,\n centeredKey?: string,\n centeredRotation?: boolean,\n centeredScaling?: boolean,\n clipTo?: FabricClipToFunction,\n containerClass?: string,\n controlsAboveOverlay?: boolean,\n defaultCursor?: string,\n enableRetinaScaling?: boolean,\n fireMiddleClick?: boolean,\n fireRightClick?: boolean,\n freeDrawingCursor?: string,\n FX_DURATION?: number,\n hoverCursor?: string,\n imageSmoothingEnabled?: boolean,\n includeDefaultValues?: boolean,\n interactive?: boolean,\n isDrawingMode?: boolean,\n moveCursor?: string,\n notAllowedCursor?: string,\n overlayColor?: string | any,\n overlayImage?: any,\n overlayVpt?: boolean,\n perPixelTargetFind?: boolean,\n preserveObjectStacking?: boolean,\n renderOnAddRemove?: boolean,\n rotationCursor?: string,\n selection?: boolean,\n selectionBorderColor?: string,\n selectionColor?: string,\n selectionDashArray?: any[],\n selectionKey?: string,\n selectionLineWidth?: number,\n skipOffscreen?: boolean,\n skipTargetFind?: boolean,\n snapAngle?: number,\n snapThreshold?: number,\n stateful?: boolean,\n stopContextMenu?: boolean,\n svgViewportTransformation?: boolean,\n targetFindToTolerance?: number,\n uniScaleKey?: string,\n uniScaleTransform?: boolean,\n viewportTransform?: any[],\n vptCoords?: any\n}\n\nexport class FabricConfig implements FabricConfigInterface {\n allowTouchScrolling?: boolean;\n altActionKey?: string;\n altSelectionKey?: string;\n backgroundColor?: string | any;\n backgroundImage?: any;\n backgroundVpt?: boolean;\n centeredKey?: string;\n centeredRotation?: boolean;\n centeredScaling?: boolean;\n clipTo?: FabricClipToFunction;\n containerClass?: string;\n controlsAboveOverlay?: boolean;\n defaultCursor?: string;\n enableRetinaScaling?: boolean;\n fireMiddleClick?: boolean;\n fireRightClick?: boolean;\n freeDrawingCursor?: string;\n FX_DURATION?: number;\n hoverCursor?: string;\n imageSmoothingEnabled?: boolean;\n includeDefaultValues?: boolean;\n interactive?: boolean;\n isDrawingMode?: boolean;\n moveCursor?: string;\n notAllowedCursor?: string;\n overlayColor: string | any;\n overlayImage: any;\n overlayVpt?: boolean;\n perPixelTargetFind?: boolean;\n preserveObjectStacking?: boolean;\n renderOnAddRemove?: boolean;\n rotationCursor?: string;\n selection?: boolean;\n selectionBorderColor?: string;\n selectionColor?: string;\n selectionDashArray?: any[];\n selectionKey?: string;\n selectionLineWidth?: number;\n skipOffscreen?: boolean;\n skipTargetFind?: boolean;\n snapAngle?: number;\n snapThreshold?: number;\n stateful?: boolean;\n stopContextMenu?: boolean;\n svgViewportTransformation?: boolean;\n targetFindToTolerance?: number;\n uniScaleKey?: string;\n uniScaleTransform?: boolean;\n viewportTransform?: any[];\n vptCoords?: any;\n\n constructor(config: FabricConfigInterface = {}) {\n this.assign(config);\n }\n\n assign(config: FabricConfigInterface = {}) {\n for (const key in config) {\n this[key as keyof FabricConfig] = config[key as keyof FabricConfigInterface] as never;\n }\n }\n}\n\nexport type FabricClipToFunction = (ctx: any) => void;\n","import {\n Canvas,\n CanvasOptions,\n StaticCanvas,\n StaticCanvasOptions,\n} from \"fabric\";\n\nimport ResizeObserver from \"resize-observer-polyfill\";\n\nimport {\n Directive,\n Optional,\n Inject,\n OnInit,\n OnDestroy,\n DoCheck,\n OnChanges,\n Input,\n Output,\n EventEmitter,\n NgZone,\n ElementRef,\n KeyValueDiffer,\n KeyValueDiffers,\n SimpleChanges,\n} from \"@angular/core\";\n\nimport {\n FABRIC_CONFIG,\n FabricConfig,\n FabricConfigInterface,\n FabricEvent,\n FabricEvents,\n} from \"./fabric.interfaces\";\n\n@Directive({\n selector: \"[fabric]\",\n exportAs: \"ngxFabric\",\n})\nexport class FabricDirective implements OnInit, OnDestroy, DoCheck, OnChanges {\n private instance: Canvas | StaticCanvas | null = null;\n\n private ro: ResizeObserver | null = null;\n\n private objectsJSON: object | null = null;\n\n private initialZoom: number | null = null;\n private initialWidth: number | null = null;\n private initialHeight: number | null = null;\n\n private configDiff: KeyValueDiffer<string, any> | null = null;\n\n @Input()\n set zoom(zoom: number) {\n this.setZoom(zoom);\n }\n\n @Input()\n set width(width: number) {\n this.setWidth(width);\n }\n @Input()\n set height(height: number) {\n this.setHeight(height);\n }\n\n @Input() disabled: boolean = false;\n\n @Input(\"fabric\") config?: FabricConfigInterface;\n\n @Output() drop = new EventEmitter<any>();\n @Output() dragover = new EventEmitter<any>();\n @Output() dragenter = new EventEmitter<any>();\n @Output() dragleave = new EventEmitter<any>();\n\n @Output() mouseup = new EventEmitter<any>();\n @Output() mousedown = new EventEmitter<any>();\n @Output() mouseover = new EventEmitter<any>();\n @Output() mouseout = new EventEmitter<any>();\n @Output() mousemove = new EventEmitter<any>();\n @Output() mousewheel = new EventEmitter<any>();\n @Output() mousedblclick = new EventEmitter<any>();\n @Output() mouseupBefore = new EventEmitter<any>();\n @Output() mousedownBefore = new EventEmitter<any>();\n @Output() mousemoveBefore = new EventEmitter<any>();\n\n @Output() mouseUp = new EventEmitter<any>();\n @Output() mouseDown = new EventEmitter<any>();\n @Output() mouseOver = new EventEmitter<any>();\n @Output() mouseOut = new EventEmitter<any>();\n @Output() mouseMove = new EventEmitter<any>();\n @Output() mouseWheel = new EventEmitter<any>();\n @Output() mouseDblclick = new EventEmitter<any>();\n @Output() mouseUpBefore = new EventEmitter<any>();\n @Output() mouseDownBefore = new EventEmitter<any>();\n @Output() mouseMoveBefore = new EventEmitter<any>();\n\n @Output() pathCreated = new EventEmitter<any>();\n @Output() alterRender = new EventEmitter<any>();\n\n @Output() objectAdded = new EventEmitter<any>();\n @Output() objectMoved = new EventEmitter<any>();\n @Output() objectScaled = new EventEmitter<any>();\n @Output() objectSkewed = new EventEmitter<any>();\n @Output() objectRotated = new EventEmitter<any>();\n @Output() objectRemoved = new EventEmitter<any>();\n @Output() objectModified = new EventEmitter<any>();\n @Output() objectSelected = new EventEmitter<any>();\n @Output() objectMoving = new EventEmitter<any>();\n @Output() objectScaling = new EventEmitter<any>();\n @Output() objectSkewing = new EventEmitter<any>();\n @Output() objectRotating = new EventEmitter<any>();\n\n @Output() selectionCleared = new EventEmitter<any>();\n @Output() selectionCreated = new EventEmitter<any>();\n @Output() selectionUpdated = new EventEmitter<any>();\n\n @Output() beforeTransform = new EventEmitter<any>();\n @Output() beforeSelectionCleared = new EventEmitter<any>();\n\n constructor(\n private zone: NgZone,\n private elementRef: ElementRef,\n private differs: KeyValueDiffers,\n @Optional() @Inject(FABRIC_CONFIG) private defaults: FabricConfigInterface\n ) {}\n\n ngOnInit(): void {\n const params = new FabricConfig(this.defaults);\n\n params.assign(this.config); // Custom configuration\n\n Object.keys(params).forEach(\n (key) => params[key] === undefined && delete params[key]\n );\n\n this.zone.runOutsideAngular(() => {\n if (!this.disabled) {\n this.instance = new Canvas(\n this.elementRef.nativeElement,\n params as any as CanvasOptions\n );\n } else {\n this.instance = new StaticCanvas(\n this.elementRef.nativeElement,\n params as any as StaticCanvasOptions\n );\n }\n\n if (this.initialZoom) {\n this.setZoom(this.initialZoom);\n }\n\n if (this.initialWidth) {\n this.setWidth(this.initialWidth);\n }\n\n if (this.initialHeight) {\n this.setHeight(this.initialHeight);\n }\n\n if (this.objectsJSON !== null) {\n this.loadFromJSON(this.objectsJSON);\n }\n });\n\n // Add native Fabric event handling\n FabricEvents.forEach((eventName: FabricEvent) => {\n const fabricEvent = eventName.replace(\n /([A-Z])/g,\n (c) => `:${c.toLowerCase()}`\n ) as any;\n\n if (this.instance) {\n this.instance.on(fabricEvent, (event: any) => {\n this.zone.run(() => {\n if (this[eventName].observers.length) {\n this[eventName].emit(event);\n }\n });\n });\n }\n });\n\n if (!this.configDiff) {\n this.configDiff = this.differs.find(this.config || {}).create();\n\n this.configDiff.diff(this.config || {});\n }\n\n this.zone.runOutsideAngular(() => {\n this.ro = new ResizeObserver((entries, observer) => {\n const element =\n this.elementRef.nativeElement.parentElement.parentElement;\n\n if (!this.initialWidth) {\n this.setWidth(element.offsetWidth);\n }\n\n if (!this.initialHeight) {\n this.setHeight(element.offsetHeight);\n }\n });\n\n this.ro.observe(\n this.elementRef.nativeElement.parentElement.parentElement\n );\n });\n }\n\n ngOnDestroy(): void {\n if (this.ro) {\n this.ro.disconnect();\n }\n\n if (this.instance) {\n this.objectsJSON = this.instance.toObject();\n\n this.instance.dispose();\n\n delete this.instance;\n\n this.instance = null;\n }\n }\n\n ngDoCheck(): void {\n if (this.configDiff) {\n const changes = this.configDiff.diff(this.config || {});\n\n if (changes) {\n this.ngOnDestroy();\n\n this.ngOnInit();\n }\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.instance && changes[\"disabled\"]) {\n if (\n changes[\"disabled\"].currentValue !== changes[\"disabled\"].previousValue\n ) {\n this.ngOnDestroy();\n\n this.ngOnInit();\n }\n }\n }\n\n public fabric(): any {\n return this.instance;\n }\n\n public clear(): void {\n if (this.instance) {\n this.instance.clear();\n }\n }\n\n public render(): void {\n if (this.instance) {\n this.instance.renderAll();\n }\n }\n\n public setZoom(zoom: number): void {\n this.initialZoom = zoom;\n\n if (this.instance) {\n this.instance.setZoom(zoom);\n }\n }\n\n public setWidth(width: number): void {\n this.initialWidth = width;\n\n if (this.instance) {\n this.instance.setWidth(width);\n }\n }\n\n public setHeight(height: number): void {\n this.initialHeight = height;\n\n if (this.instance) {\n this.instance.setHeight(height);\n }\n }\n\n public loadFromJSON(json: any, callback?: Function, reviverOpt?: any): void {\n if (this.instance) {\n this.instance.loadFromJSON(\n json,\n () => {\n let renderAll = true;\n\n if (callback) {\n renderAll = callback();\n }\n\n if (renderAll && this.instance) {\n this.instance.renderAll();\n }\n },\n reviverOpt\n );\n }\n }\n}\n","import { Component,\n AfterViewInit, Input, Output, EventEmitter,\n ViewChild, HostBinding, ViewEncapsulation } from '@angular/core';\n\nimport { FabricDirective } from './fabric.directive';\n\nimport { FabricConfigInterface } from './fabric.interfaces';\n\n@Component({\n selector: 'fabric',\n exportAs: 'ngxFabric',\n templateUrl: './fabric.component.html',\n styleUrls: [ './fabric.component.css' ],\n encapsulation: ViewEncapsulation.None,\n imports: [FabricDirective],\n})\nexport class FabricComponent implements AfterViewInit {\n private json: any = null;\n\n @Input()\n set data(data: string) {\n this.setJSON(data);\n }\n\n @Input() zoom: number | null = null;\n\n @Input() width: number | null = null;\n @Input() height: number | null = null;\n\n @Input() disabled: boolean = false;\n\n @Input() config?: FabricConfigInterface;\n\n @HostBinding('class.fabric')\n @Input() useFabricClass: boolean = true;\n\n @Output() dataLoaded = new EventEmitter<any>();\n\n @Output() drop = new EventEmitter<any>();\n @Output() dragover = new EventEmitter<any>();\n @Output() dragenter = new EventEmitter<any>();\n @Output() dragleave = new EventEmitter<any>();\n\n @Output() mouseup = new EventEmitter<any>();\n @Output() mousedown = new EventEmitter<any>();\n @Output() mouseover = new EventEmitter<any>();\n @Output() mouseout = new EventEmitter<any>();\n @Output() mousemove = new EventEmitter<any>();\n @Output() mousewheel = new EventEmitter<any>();\n @Output() mousedblclick = new EventEmitter<any>();\n @Output() mouseupBefore = new EventEmitter<any>();\n @Output() mousedownBefore = new EventEmitter<any>();\n @Output() mousemoveBefore = new EventEmitter<any>();\n\n @Output() mouseUp = new EventEmitter<any>();\n @Output() mouseDown = new EventEmitter<any>();\n @Output() mouseOver = new EventEmitter<any>();\n @Output() mouseOut = new EventEmitter<any>();\n @Output() mouseMove = new EventEmitter<any>();\n @Output() mouseWheel = new EventEmitter<any>();\n @Output() mouseDblclick = new EventEmitter<any>();\n @Output() mouseUpBefore = new EventEmitter<any>();\n @Output() mouseDownBefore = new EventEmitter<any>();\n @Output() mouseMoveBefore = new EventEmitter<any>();\n\n @Output() pathCreated = new EventEmitter<any>();\n @Output() alterRender = new EventEmitter<any>();\n\n @Output() objectAdded = new EventEmitter<any>();\n @Output() objectMoved = new EventEmitter<any>();\n @Output() objectScaled = new EventEmitter<any>();\n @Output() objectSkewed = new EventEmitter<any>();\n @Output() objectRotated = new EventEmitter<any>();\n @Output() objectRemoved = new EventEmitter<any>();\n @Output() objectModified = new EventEmitter<any>();\n @Output() objectSelected = new EventEmitter<any>();\n @Output() objectMoving = new EventEmitter<any>();\n @Output() objectScaling = new EventEmitter<any>();\n @Output() objectSkewing = new EventEmitter<any>();\n @Output() objectRotating = new EventEmitter<any>();\n\n @Output() selectionCleared = new EventEmitter<any>();\n @Output() selectionCreated = new EventEmitter<any>();\n @Output() selectionUpdated = new EventEmitter<any>();\n\n @Output() beforeTransform = new EventEmitter<any>();\n @Output() beforeSelectionCleared = new EventEmitter<any>();\n\n @ViewChild(FabricDirective, { static: true }) directiveRef?: FabricDirective;\n\n constructor() {}\n\n ngAfterViewInit(): void {\n if (this.json != null) {\n this.setJSON(this.json, true);\n }\n }\n\n private setJSON(json: string, force?: boolean): void {\n if (force || json !== this.json) {\n if (this.directiveRef) {\n this.directiveRef.loadFromJSON(json, () => {\n if (this.directiveRef && this.directiveRef.fabric()) {\n this.dataLoaded.emit(this.directiveRef.fabric());\n }\n });\n }\n\n this.json = json;\n }\n }\n}\n","<canvas [fabric]=\"config\" [zoom]=\"zoom\" [width]=\"width\" [height]=\"height\" [disabled]=\"disabled\" (drop)=\"drop.emit($event)\" (dragover)=\"dragover.emit($event)\" (dragenter)=\"dragenter.emit($event)\" (dragleave)=\"dragleave.emit($event)\" (mouseup)=\"mouseup.emit($event)\" (mousedown)=\"mousedown.emit($event)\" (mouseover)=\"mouseover.emit($event)\" (mouseout)=\"mouseout.emit($event)\" (mousemove)=\"mousemove.emit($event)\" (mousewheel)=\"mousewheel.emit($event)\" (mousedblclick)=\"mousedblclick.emit($event)\" (mouseupBefore)=\"mouseupBefore.emit($event)\" (mousedownBefore)=\"mousedownBefore.emit($event)\" (mousemoveBefore)=\"mousemoveBefore.emit($event)\" (mouseUp)=\"mouseUp.emit($event)\" (mouseDown)=\"mouseDown.emit($event)\" (mouseOver)=\"mouseOver.emit($event)\" (mouseOut)=\"mouseOut.emit($event)\" (mouseMove)=\"mouseMove.emit($event)\" (mouseWheel)=\"mouseWheel.emit($event)\" (mouseDblclick)=\"mouseDblclick.emit($event)\" (mouseUpBefore)=\"mouseUpBefore.emit($event)\" (mouseDownBefore)=\"mouseDownBefore.emit($event)\" (mouseMoveBefore)=\"mouseMoveBefore.emit($event)\" (pathCreated)=\"pathCreated.emit($event)\" (alterRender)=\"alterRender.emit($event)\" (objectAdded)=\"objectAdded.emit($event)\" (objectMoved)=\"objectMoved.emit($event)\" (objectScaled)=\"objectScaled.emit($event)\" (objectSkewed)=\"objectSkewed.emit($event)\" (objectRotated)=\"objectRotated.emit($event)\" (objectRemoved)=\"objectRemoved.emit($event)\" (objectModified)=\"objectModified.emit($event)\" (objectSelected)=\"objectSelected.emit($event)\" (objectMoving)=\"objectMoving.emit($event)\" (objectScaling)=\"objectScaling.emit($event)\" (objectSkewing)=\"objectSkewing.emit($event)\" (objectRotating)=\"objectRotating.emit($event)\" (selectionCleared)=\"selectionCleared.emit($event)\" (selectionCreated)=\"selectionCreated.emit($event)\" (selectionUpdated)=\"selectionUpdated.emit($event)\" (beforeTransform)=\"beforeTransform.emit($event)\" (beforeSelectionCleared)=\"beforeSelectionCleared.emit($event)\">\n</canvas>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -60,5 +60,5 @@ export declare class FabricComponent implements AfterViewInit {
|
|
|
60
60
|
ngAfterViewInit(): void;
|
|
61
61
|
private setJSON;
|
|
62
62
|
static ɵfac: i0.ɵɵFactoryDeclaration<FabricComponent, never>;
|
|
63
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FabricComponent, "fabric", ["ngxFabric"], { "data": { "alias": "data"; "required": false; }; "zoom": { "alias": "zoom"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "config": { "alias": "config"; "required": false; }; "useFabricClass": { "alias": "useFabricClass"; "required": false; }; }, { "dataLoaded": "dataLoaded"; "drop": "drop"; "dragover": "dragover"; "dragenter": "dragenter"; "dragleave": "dragleave"; "mouseup": "mouseup"; "mousedown": "mousedown"; "mouseover": "mouseover"; "mouseout": "mouseout"; "mousemove": "mousemove"; "mousewheel": "mousewheel"; "mousedblclick": "mousedblclick"; "mouseupBefore": "mouseupBefore"; "mousedownBefore": "mousedownBefore"; "mousemoveBefore": "mousemoveBefore"; "mouseUp": "mouseUp"; "mouseDown": "mouseDown"; "mouseOver": "mouseOver"; "mouseOut": "mouseOut"; "mouseMove": "mouseMove"; "mouseWheel": "mouseWheel"; "mouseDblclick": "mouseDblclick"; "mouseUpBefore": "mouseUpBefore"; "mouseDownBefore": "mouseDownBefore"; "mouseMoveBefore": "mouseMoveBefore"; "pathCreated": "pathCreated"; "alterRender": "alterRender"; "objectAdded": "objectAdded"; "objectMoved": "objectMoved"; "objectScaled": "objectScaled"; "objectSkewed": "objectSkewed"; "objectRotated": "objectRotated"; "objectRemoved": "objectRemoved"; "objectModified": "objectModified"; "objectSelected": "objectSelected"; "objectMoving": "objectMoving"; "objectScaling": "objectScaling"; "objectSkewing": "objectSkewing"; "objectRotating": "objectRotating"; "selectionCleared": "selectionCleared"; "selectionCreated": "selectionCreated"; "selectionUpdated": "selectionUpdated"; "beforeTransform": "beforeTransform"; "beforeSelectionCleared": "beforeSelectionCleared"; }, never, never,
|
|
63
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FabricComponent, "fabric", ["ngxFabric"], { "data": { "alias": "data"; "required": false; }; "zoom": { "alias": "zoom"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "config": { "alias": "config"; "required": false; }; "useFabricClass": { "alias": "useFabricClass"; "required": false; }; }, { "dataLoaded": "dataLoaded"; "drop": "drop"; "dragover": "dragover"; "dragenter": "dragenter"; "dragleave": "dragleave"; "mouseup": "mouseup"; "mousedown": "mousedown"; "mouseover": "mouseover"; "mouseout": "mouseout"; "mousemove": "mousemove"; "mousewheel": "mousewheel"; "mousedblclick": "mousedblclick"; "mouseupBefore": "mouseupBefore"; "mousedownBefore": "mousedownBefore"; "mousemoveBefore": "mousemoveBefore"; "mouseUp": "mouseUp"; "mouseDown": "mouseDown"; "mouseOver": "mouseOver"; "mouseOut": "mouseOut"; "mouseMove": "mouseMove"; "mouseWheel": "mouseWheel"; "mouseDblclick": "mouseDblclick"; "mouseUpBefore": "mouseUpBefore"; "mouseDownBefore": "mouseDownBefore"; "mouseMoveBefore": "mouseMoveBefore"; "pathCreated": "pathCreated"; "alterRender": "alterRender"; "objectAdded": "objectAdded"; "objectMoved": "objectMoved"; "objectScaled": "objectScaled"; "objectSkewed": "objectSkewed"; "objectRotated": "objectRotated"; "objectRemoved": "objectRemoved"; "objectModified": "objectModified"; "objectSelected": "objectSelected"; "objectMoving": "objectMoving"; "objectScaling": "objectScaling"; "objectSkewing": "objectSkewing"; "objectRotating": "objectRotating"; "selectionCleared": "selectionCleared"; "selectionCreated": "selectionCreated"; "selectionUpdated": "selectionUpdated"; "beforeTransform": "beforeTransform"; "beforeSelectionCleared": "beforeSelectionCleared"; }, never, never, true, never>;
|
|
64
64
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { OnInit, OnDestroy, DoCheck, OnChanges, EventEmitter, NgZone, ElementRef, KeyValueDiffers, SimpleChanges } from
|
|
2
|
-
import { FabricConfigInterface } from
|
|
1
|
+
import { OnInit, OnDestroy, DoCheck, OnChanges, EventEmitter, NgZone, ElementRef, KeyValueDiffers, SimpleChanges } from "@angular/core";
|
|
2
|
+
import { FabricConfigInterface } from "./fabric.interfaces";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class FabricDirective implements OnInit, OnDestroy, DoCheck, OnChanges {
|
|
5
5
|
private zone;
|
|
@@ -74,5 +74,5 @@ export declare class FabricDirective implements OnInit, OnDestroy, DoCheck, OnCh
|
|
|
74
74
|
setHeight(height: number): void;
|
|
75
75
|
loadFromJSON(json: any, callback?: Function, reviverOpt?: any): void;
|
|
76
76
|
static ɵfac: i0.ɵɵFactoryDeclaration<FabricDirective, [null, null, null, { optional: true; }]>;
|
|
77
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FabricDirective, "[fabric]", ["ngxFabric"], { "zoom": { "alias": "zoom"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "config": { "alias": "fabric"; "required": false; }; }, { "drop": "drop"; "dragover": "dragover"; "dragenter": "dragenter"; "dragleave": "dragleave"; "mouseup": "mouseup"; "mousedown": "mousedown"; "mouseover": "mouseover"; "mouseout": "mouseout"; "mousemove": "mousemove"; "mousewheel": "mousewheel"; "mousedblclick": "mousedblclick"; "mouseupBefore": "mouseupBefore"; "mousedownBefore": "mousedownBefore"; "mousemoveBefore": "mousemoveBefore"; "mouseUp": "mouseUp"; "mouseDown": "mouseDown"; "mouseOver": "mouseOver"; "mouseOut": "mouseOut"; "mouseMove": "mouseMove"; "mouseWheel": "mouseWheel"; "mouseDblclick": "mouseDblclick"; "mouseUpBefore": "mouseUpBefore"; "mouseDownBefore": "mouseDownBefore"; "mouseMoveBefore": "mouseMoveBefore"; "pathCreated": "pathCreated"; "alterRender": "alterRender"; "objectAdded": "objectAdded"; "objectMoved": "objectMoved"; "objectScaled": "objectScaled"; "objectSkewed": "objectSkewed"; "objectRotated": "objectRotated"; "objectRemoved": "objectRemoved"; "objectModified": "objectModified"; "objectSelected": "objectSelected"; "objectMoving": "objectMoving"; "objectScaling": "objectScaling"; "objectSkewing": "objectSkewing"; "objectRotating": "objectRotating"; "selectionCleared": "selectionCleared"; "selectionCreated": "selectionCreated"; "selectionUpdated": "selectionUpdated"; "beforeTransform": "beforeTransform"; "beforeSelectionCleared": "beforeSelectionCleared"; }, never, never,
|
|
77
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FabricDirective, "[fabric]", ["ngxFabric"], { "zoom": { "alias": "zoom"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "config": { "alias": "fabric"; "required": false; }; }, { "drop": "drop"; "dragover": "dragover"; "dragenter": "dragenter"; "dragleave": "dragleave"; "mouseup": "mouseup"; "mousedown": "mousedown"; "mouseover": "mouseover"; "mouseout": "mouseout"; "mousemove": "mousemove"; "mousewheel": "mousewheel"; "mousedblclick": "mousedblclick"; "mouseupBefore": "mouseupBefore"; "mousedownBefore": "mousedownBefore"; "mousemoveBefore": "mousemoveBefore"; "mouseUp": "mouseUp"; "mouseDown": "mouseDown"; "mouseOver": "mouseOver"; "mouseOut": "mouseOut"; "mouseMove": "mouseMove"; "mouseWheel": "mouseWheel"; "mouseDblclick": "mouseDblclick"; "mouseUpBefore": "mouseUpBefore"; "mouseDownBefore": "mouseDownBefore"; "mouseMoveBefore": "mouseMoveBefore"; "pathCreated": "pathCreated"; "alterRender": "alterRender"; "objectAdded": "objectAdded"; "objectMoved": "objectMoved"; "objectScaled": "objectScaled"; "objectSkewed": "objectSkewed"; "objectRotated": "objectRotated"; "objectRemoved": "objectRemoved"; "objectModified": "objectModified"; "objectSelected": "objectSelected"; "objectMoving": "objectMoving"; "objectScaling": "objectScaling"; "objectSkewing": "objectSkewing"; "objectRotating": "objectRotating"; "selectionCleared": "selectionCleared"; "selectionCreated": "selectionCreated"; "selectionUpdated": "selectionUpdated"; "beforeTransform": "beforeTransform"; "beforeSelectionCleared": "beforeSelectionCleared"; }, never, never, true, never>;
|
|
78
78
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"license": "MIT",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "19.0.0",
|
|
4
4
|
"name": "ngx-fabric-wrapper",
|
|
5
5
|
"description": "Angular wrapper library for Fabric",
|
|
6
6
|
"bugs": "https://github.com/zefoy/ngx-fabric-wrapper/issues",
|
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
"url": "https://github.com/zefoy/ngx-fabric-wrapper.git"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"fabric": "^
|
|
12
|
+
"fabric": "^6.7.0",
|
|
13
13
|
"resize-observer-polyfill": "^1.5.0",
|
|
14
14
|
"tslib": "^2.3.0"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
|
-
"@angular/common": ">=
|
|
18
|
-
"@angular/core": ">=
|
|
17
|
+
"@angular/common": ">=10.0.0",
|
|
18
|
+
"@angular/core": ">=10.0.0"
|
|
19
19
|
},
|
|
20
20
|
"module": "fesm2022/ngx-fabric-wrapper.mjs",
|
|
21
21
|
"typings": "index.d.ts",
|
|
@@ -25,8 +25,6 @@
|
|
|
25
25
|
},
|
|
26
26
|
".": {
|
|
27
27
|
"types": "./index.d.ts",
|
|
28
|
-
"esm2022": "./esm2022/ngx-fabric-wrapper.mjs",
|
|
29
|
-
"esm": "./esm2022/ngx-fabric-wrapper.mjs",
|
|
30
28
|
"default": "./fesm2022/ngx-fabric-wrapper.mjs"
|
|
31
29
|
}
|
|
32
30
|
},
|
package/public-api.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export { FabricComponent } from
|
|
2
|
-
export { FabricDirective } from
|
|
3
|
-
export { FABRIC_CONFIG, FabricConfig, FabricConfigInterface } from
|
|
4
|
-
export { FabricModule } from './lib/fabric.module';
|
|
1
|
+
export { FabricComponent } from "./lib/fabric.component";
|
|
2
|
+
export { FabricDirective } from "./lib/fabric.directive";
|
|
3
|
+
export { FABRIC_CONFIG, FabricConfig, FabricConfigInterface, } from "./lib/fabric.interfaces";
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter, ViewChild, HostBinding, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { FabricDirective } from './fabric.directive';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "./fabric.directive";
|
|
5
|
-
export class FabricComponent {
|
|
6
|
-
json = null;
|
|
7
|
-
set data(data) {
|
|
8
|
-
this.setJSON(data);
|
|
9
|
-
}
|
|
10
|
-
zoom = null;
|
|
11
|
-
width = null;
|
|
12
|
-
height = null;
|
|
13
|
-
disabled = false;
|
|
14
|
-
config;
|
|
15
|
-
useFabricClass = true;
|
|
16
|
-
dataLoaded = new EventEmitter();
|
|
17
|
-
drop = new EventEmitter();
|
|
18
|
-
dragover = new EventEmitter();
|
|
19
|
-
dragenter = new EventEmitter();
|
|
20
|
-
dragleave = new EventEmitter();
|
|
21
|
-
mouseup = new EventEmitter();
|
|
22
|
-
mousedown = new EventEmitter();
|
|
23
|
-
mouseover = new EventEmitter();
|
|
24
|
-
mouseout = new EventEmitter();
|
|
25
|
-
mousemove = new EventEmitter();
|
|
26
|
-
mousewheel = new EventEmitter();
|
|
27
|
-
mousedblclick = new EventEmitter();
|
|
28
|
-
mouseupBefore = new EventEmitter();
|
|
29
|
-
mousedownBefore = new EventEmitter();
|
|
30
|
-
mousemoveBefore = new EventEmitter();
|
|
31
|
-
mouseUp = new EventEmitter();
|
|
32
|
-
mouseDown = new EventEmitter();
|
|
33
|
-
mouseOver = new EventEmitter();
|
|
34
|
-
mouseOut = new EventEmitter();
|
|
35
|
-
mouseMove = new EventEmitter();
|
|
36
|
-
mouseWheel = new EventEmitter();
|
|
37
|
-
mouseDblclick = new EventEmitter();
|
|
38
|
-
mouseUpBefore = new EventEmitter();
|
|
39
|
-
mouseDownBefore = new EventEmitter();
|
|
40
|
-
mouseMoveBefore = new EventEmitter();
|
|
41
|
-
pathCreated = new EventEmitter();
|
|
42
|
-
alterRender = new EventEmitter();
|
|
43
|
-
objectAdded = new EventEmitter();
|
|
44
|
-
objectMoved = new EventEmitter();
|
|
45
|
-
objectScaled = new EventEmitter();
|
|
46
|
-
objectSkewed = new EventEmitter();
|
|
47
|
-
objectRotated = new EventEmitter();
|
|
48
|
-
objectRemoved = new EventEmitter();
|
|
49
|
-
objectModified = new EventEmitter();
|
|
50
|
-
objectSelected = new EventEmitter();
|
|
51
|
-
objectMoving = new EventEmitter();
|
|
52
|
-
objectScaling = new EventEmitter();
|
|
53
|
-
objectSkewing = new EventEmitter();
|
|
54
|
-
objectRotating = new EventEmitter();
|
|
55
|
-
selectionCleared = new EventEmitter();
|
|
56
|
-
selectionCreated = new EventEmitter();
|
|
57
|
-
selectionUpdated = new EventEmitter();
|
|
58
|
-
beforeTransform = new EventEmitter();
|
|
59
|
-
beforeSelectionCleared = new EventEmitter();
|
|
60
|
-
directiveRef;
|
|
61
|
-
constructor() { }
|
|
62
|
-
ngAfterViewInit() {
|
|
63
|
-
if (this.json != null) {
|
|
64
|
-
this.setJSON(this.json, true);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
setJSON(json, force) {
|
|
68
|
-
if (force || json !== this.json) {
|
|
69
|
-
if (this.directiveRef) {
|
|
70
|
-
this.directiveRef.loadFromJSON(json, () => {
|
|
71
|
-
if (this.directiveRef && this.directiveRef.fabric()) {
|
|
72
|
-
this.dataLoaded.emit(this.directiveRef.fabric());
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
this.json = json;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FabricComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
80
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FabricComponent, selector: "fabric", inputs: { data: "data", zoom: "zoom", width: "width", height: "height", disabled: "disabled", config: "config", useFabricClass: "useFabricClass" }, outputs: { dataLoaded: "dataLoaded", drop: "drop", dragover: "dragover", dragenter: "dragenter", dragleave: "dragleave", mouseup: "mouseup", mousedown: "mousedown", mouseover: "mouseover", mouseout: "mouseout", mousemove: "mousemove", mousewheel: "mousewheel", mousedblclick: "mousedblclick", mouseupBefore: "mouseupBefore", mousedownBefore: "mousedownBefore", mousemoveBefore: "mousemoveBefore", mouseUp: "mouseUp", mouseDown: "mouseDown", mouseOver: "mouseOver", mouseOut: "mouseOut", mouseMove: "mouseMove", mouseWheel: "mouseWheel", mouseDblclick: "mouseDblclick", mouseUpBefore: "mouseUpBefore", mouseDownBefore: "mouseDownBefore", mouseMoveBefore: "mouseMoveBefore", pathCreated: "pathCreated", alterRender: "alterRender", objectAdded: "objectAdded", objectMoved: "objectMoved", objectScaled: "objectScaled", objectSkewed: "objectSkewed", objectRotated: "objectRotated", objectRemoved: "objectRemoved", objectModified: "objectModified", objectSelected: "objectSelected", objectMoving: "objectMoving", objectScaling: "objectScaling", objectSkewing: "objectSkewing", objectRotating: "objectRotating", selectionCleared: "selectionCleared", selectionCreated: "selectionCreated", selectionUpdated: "selectionUpdated", beforeTransform: "beforeTransform", beforeSelectionCleared: "beforeSelectionCleared" }, host: { properties: { "class.fabric": "this.useFabricClass" } }, viewQueries: [{ propertyName: "directiveRef", first: true, predicate: FabricDirective, descendants: true, static: true }], exportAs: ["ngxFabric"], ngImport: i0, template: "<canvas [fabric]=\"config\" [zoom]=\"zoom\" [width]=\"width\" [height]=\"height\" [disabled]=\"disabled\" (drop)=\"drop.emit($event)\" (dragover)=\"dragover.emit($event)\" (dragenter)=\"dragenter.emit($event)\" (dragleave)=\"dragleave.emit($event)\" (mouseup)=\"mouseup.emit($event)\" (mousedown)=\"mousedown.emit($event)\" (mouseover)=\"mouseover.emit($event)\" (mouseout)=\"mouseout.emit($event)\" (mousemove)=\"mousemove.emit($event)\" (mousewheel)=\"mousewheel.emit($event)\" (mousedblclick)=\"mousedblclick.emit($event)\" (mouseupBefore)=\"mouseupBefore.emit($event)\" (mousedownBefore)=\"mousedownBefore.emit($event)\" (mousemoveBefore)=\"mousemoveBefore.emit($event)\" (mouseUp)=\"mouseUp.emit($event)\" (mouseDown)=\"mouseDown.emit($event)\" (mouseOver)=\"mouseOver.emit($event)\" (mouseOut)=\"mouseOut.emit($event)\" (mouseMove)=\"mouseMove.emit($event)\" (mouseWheel)=\"mouseWheel.emit($event)\" (mouseDblclick)=\"mouseDblclick.emit($event)\" (mouseUpBefore)=\"mouseUpBefore.emit($event)\" (mouseDownBefore)=\"mouseDownBefore.emit($event)\" (mouseMoveBefore)=\"mouseMoveBefore.emit($event)\" (pathCreated)=\"pathCreated.emit($event)\" (alterRender)=\"alterRender.emit($event)\" (objectAdded)=\"objectAdded.emit($event)\" (objectMoved)=\"objectMoved.emit($event)\" (objectScaled)=\"objectScaled.emit($event)\" (objectSkewed)=\"objectSkewed.emit($event)\" (objectRotated)=\"objectRotated.emit($event)\" (objectRemoved)=\"objectRemoved.emit($event)\" (objectModified)=\"objectModified.emit($event)\" (objectSelected)=\"objectSelected.emit($event)\" (objectMoving)=\"objectMoving.emit($event)\" (objectScaling)=\"objectScaling.emit($event)\" (objectSkewing)=\"objectSkewing.emit($event)\" (objectRotating)=\"objectRotating.emit($event)\" (selectionCleared)=\"selectionCleared.emit($event)\" (selectionCreated)=\"selectionCreated.emit($event)\" (selectionUpdated)=\"selectionUpdated.emit($event)\" (beforeTransform)=\"beforeTransform.emit($event)\" (beforeSelectionCleared)=\"beforeSelectionCleared.emit($event)\">\n</canvas>\n", styles: ["fabric.flex{display:flex;flex-direction:column;min-width:0;min-height:0;-webkit-box-direction:column;-webkit-box-orient:column}fabric.fabric{width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i1.FabricDirective, selector: "[fabric]", inputs: ["zoom", "width", "height", "disabled", "fabric"], outputs: ["drop", "dragover", "dragenter", "dragleave", "mouseup", "mousedown", "mouseover", "mouseout", "mousemove", "mousewheel", "mousedblclick", "mouseupBefore", "mousedownBefore", "mousemoveBefore", "mouseUp", "mouseDown", "mouseOver", "mouseOut", "mouseMove", "mouseWheel", "mouseDblclick", "mouseUpBefore", "mouseDownBefore", "mouseMoveBefore", "pathCreated", "alterRender", "objectAdded", "objectMoved", "objectScaled", "objectSkewed", "objectRotated", "objectRemoved", "objectModified", "objectSelected", "objectMoving", "objectScaling", "objectSkewing", "objectRotating", "selectionCleared", "selectionCreated", "selectionUpdated", "beforeTransform", "beforeSelectionCleared"], exportAs: ["ngxFabric"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
81
|
-
}
|
|
82
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FabricComponent, decorators: [{
|
|
83
|
-
type: Component,
|
|
84
|
-
args: [{ selector: 'fabric', exportAs: 'ngxFabric', encapsulation: ViewEncapsulation.None, template: "<canvas [fabric]=\"config\" [zoom]=\"zoom\" [width]=\"width\" [height]=\"height\" [disabled]=\"disabled\" (drop)=\"drop.emit($event)\" (dragover)=\"dragover.emit($event)\" (dragenter)=\"dragenter.emit($event)\" (dragleave)=\"dragleave.emit($event)\" (mouseup)=\"mouseup.emit($event)\" (mousedown)=\"mousedown.emit($event)\" (mouseover)=\"mouseover.emit($event)\" (mouseout)=\"mouseout.emit($event)\" (mousemove)=\"mousemove.emit($event)\" (mousewheel)=\"mousewheel.emit($event)\" (mousedblclick)=\"mousedblclick.emit($event)\" (mouseupBefore)=\"mouseupBefore.emit($event)\" (mousedownBefore)=\"mousedownBefore.emit($event)\" (mousemoveBefore)=\"mousemoveBefore.emit($event)\" (mouseUp)=\"mouseUp.emit($event)\" (mouseDown)=\"mouseDown.emit($event)\" (mouseOver)=\"mouseOver.emit($event)\" (mouseOut)=\"mouseOut.emit($event)\" (mouseMove)=\"mouseMove.emit($event)\" (mouseWheel)=\"mouseWheel.emit($event)\" (mouseDblclick)=\"mouseDblclick.emit($event)\" (mouseUpBefore)=\"mouseUpBefore.emit($event)\" (mouseDownBefore)=\"mouseDownBefore.emit($event)\" (mouseMoveBefore)=\"mouseMoveBefore.emit($event)\" (pathCreated)=\"pathCreated.emit($event)\" (alterRender)=\"alterRender.emit($event)\" (objectAdded)=\"objectAdded.emit($event)\" (objectMoved)=\"objectMoved.emit($event)\" (objectScaled)=\"objectScaled.emit($event)\" (objectSkewed)=\"objectSkewed.emit($event)\" (objectRotated)=\"objectRotated.emit($event)\" (objectRemoved)=\"objectRemoved.emit($event)\" (objectModified)=\"objectModified.emit($event)\" (objectSelected)=\"objectSelected.emit($event)\" (objectMoving)=\"objectMoving.emit($event)\" (objectScaling)=\"objectScaling.emit($event)\" (objectSkewing)=\"objectSkewing.emit($event)\" (objectRotating)=\"objectRotating.emit($event)\" (selectionCleared)=\"selectionCleared.emit($event)\" (selectionCreated)=\"selectionCreated.emit($event)\" (selectionUpdated)=\"selectionUpdated.emit($event)\" (beforeTransform)=\"beforeTransform.emit($event)\" (beforeSelectionCleared)=\"beforeSelectionCleared.emit($event)\">\n</canvas>\n", styles: ["fabric.flex{display:flex;flex-direction:column;min-width:0;min-height:0;-webkit-box-direction:column;-webkit-box-orient:column}fabric.fabric{width:100%;height:100%}\n"] }]
|
|
85
|
-
}], ctorParameters: () => [], propDecorators: { data: [{
|
|
86
|
-
type: Input
|
|
87
|
-
}], zoom: [{
|
|
88
|
-
type: Input
|
|
89
|
-
}], width: [{
|
|
90
|
-
type: Input
|
|
91
|
-
}], height: [{
|
|
92
|
-
type: Input
|
|
93
|
-
}], disabled: [{
|
|
94
|
-
type: Input
|
|
95
|
-
}], config: [{
|
|
96
|
-
type: Input
|
|
97
|
-
}], useFabricClass: [{
|
|
98
|
-
type: HostBinding,
|
|
99
|
-
args: ['class.fabric']
|
|
100
|
-
}, {
|
|
101
|
-
type: Input
|
|
102
|
-
}], dataLoaded: [{
|
|
103
|
-
type: Output
|
|
104
|
-
}], drop: [{
|
|
105
|
-
type: Output
|
|
106
|
-
}], dragover: [{
|
|
107
|
-
type: Output
|
|
108
|
-
}], dragenter: [{
|
|
109
|
-
type: Output
|
|
110
|
-
}], dragleave: [{
|
|
111
|
-
type: Output
|
|
112
|
-
}], mouseup: [{
|
|
113
|
-
type: Output
|
|
114
|
-
}], mousedown: [{
|
|
115
|
-
type: Output
|
|
116
|
-
}], mouseover: [{
|
|
117
|
-
type: Output
|
|
118
|
-
}], mouseout: [{
|
|
119
|
-
type: Output
|
|
120
|
-
}], mousemove: [{
|
|
121
|
-
type: Output
|
|
122
|
-
}], mousewheel: [{
|
|
123
|
-
type: Output
|
|
124
|
-
}], mousedblclick: [{
|
|
125
|
-
type: Output
|
|
126
|
-
}], mouseupBefore: [{
|
|
127
|
-
type: Output
|
|
128
|
-
}], mousedownBefore: [{
|
|
129
|
-
type: Output
|
|
130
|
-
}], mousemoveBefore: [{
|
|
131
|
-
type: Output
|
|
132
|
-
}], mouseUp: [{
|
|
133
|
-
type: Output
|
|
134
|
-
}], mouseDown: [{
|
|
135
|
-
type: Output
|
|
136
|
-
}], mouseOver: [{
|
|
137
|
-
type: Output
|
|
138
|
-
}], mouseOut: [{
|
|
139
|
-
type: Output
|
|
140
|
-
}], mouseMove: [{
|
|
141
|
-
type: Output
|
|
142
|
-
}], mouseWheel: [{
|
|
143
|
-
type: Output
|
|
144
|
-
}], mouseDblclick: [{
|
|
145
|
-
type: Output
|
|
146
|
-
}], mouseUpBefore: [{
|
|
147
|
-
type: Output
|
|
148
|
-
}], mouseDownBefore: [{
|
|
149
|
-
type: Output
|
|
150
|
-
}], mouseMoveBefore: [{
|
|
151
|
-
type: Output
|
|
152
|
-
}], pathCreated: [{
|
|
153
|
-
type: Output
|
|
154
|
-
}], alterRender: [{
|
|
155
|
-
type: Output
|
|
156
|
-
}], objectAdded: [{
|
|
157
|
-
type: Output
|
|
158
|
-
}], objectMoved: [{
|
|
159
|
-
type: Output
|
|
160
|
-
}], objectScaled: [{
|
|
161
|
-
type: Output
|
|
162
|
-
}], objectSkewed: [{
|
|
163
|
-
type: Output
|
|
164
|
-
}], objectRotated: [{
|
|
165
|
-
type: Output
|
|
166
|
-
}], objectRemoved: [{
|
|
167
|
-
type: Output
|
|
168
|
-
}], objectModified: [{
|
|
169
|
-
type: Output
|
|
170
|
-
}], objectSelected: [{
|
|
171
|
-
type: Output
|
|
172
|
-
}], objectMoving: [{
|
|
173
|
-
type: Output
|
|
174
|
-
}], objectScaling: [{
|
|
175
|
-
type: Output
|
|
176
|
-
}], objectSkewing: [{
|
|
177
|
-
type: Output
|
|
178
|
-
}], objectRotating: [{
|
|
179
|
-
type: Output
|
|
180
|
-
}], selectionCleared: [{
|
|
181
|
-
type: Output
|
|
182
|
-
}], selectionCreated: [{
|
|
183
|
-
type: Output
|
|
184
|
-
}], selectionUpdated: [{
|
|
185
|
-
type: Output
|
|
186
|
-
}], beforeTransform: [{
|
|
187
|
-
type: Output
|
|
188
|
-
}], beforeSelectionCleared: [{
|
|
189
|
-
type: Output
|
|
190
|
-
}], directiveRef: [{
|
|
191
|
-
type: ViewChild,
|
|
192
|
-
args: [FabricDirective, { static: true }]
|
|
193
|
-
}] } });
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFicmljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYi9zcmMvbGliL2ZhYnJpYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9saWIvc3JjL2xpYi9mYWJyaWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFDRCxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFDMUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQVdyRCxNQUFNLE9BQU8sZUFBZTtJQUNsQixJQUFJLEdBQVEsSUFBSSxDQUFDO0lBRXpCLElBQ0ksSUFBSSxDQUFDLElBQVk7UUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRVEsSUFBSSxHQUFrQixJQUFJLENBQUM7SUFFM0IsS0FBSyxHQUFrQixJQUFJLENBQUM7SUFDNUIsTUFBTSxHQUFrQixJQUFJLENBQUM7SUFFN0IsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUUxQixNQUFNLENBQXlCO0lBRy9CLGNBQWMsR0FBWSxJQUFJLENBQUM7SUFFOUIsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFckMsSUFBSSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDL0IsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDbkMsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDcEMsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFcEMsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDbEMsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDcEMsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDcEMsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDbkMsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDcEMsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDckMsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDeEMsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDeEMsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDMUMsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFMUMsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDbEMsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDcEMsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDcEMsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDbkMsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDcEMsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDckMsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDeEMsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDeEMsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDMUMsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFMUMsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDdEMsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFdEMsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDdEMsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDdEMsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDdkMsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDdkMsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDeEMsYUFBYSxHQUFHLElBQUks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QkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUVHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFFRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFFRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFFRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFFdUMsWUFBWTtzQkFBekQsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LFxuICBBZnRlclZpZXdJbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsXG4gIFZpZXdDaGlsZCwgSG9zdEJpbmRpbmcsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZhYnJpY0RpcmVjdGl2ZSB9IGZyb20gJy4vZmFicmljLmRpcmVjdGl2ZSc7XG5cbmltcG9ydCB7IEZhYnJpY0NvbmZpZ0ludGVyZmFjZSB9IGZyb20gJy4vZmFicmljLmludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmYWJyaWMnLFxuICBleHBvcnRBczogJ25neEZhYnJpYycsXG4gIHRlbXBsYXRlVXJsOiAnLi9mYWJyaWMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsgJy4vZmFicmljLmNvbXBvbmVudC5jc3MnIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRmFicmljQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUganNvbjogYW55ID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBzZXQgZGF0YShkYXRhOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNldEpTT04oZGF0YSk7XG4gIH1cblxuICBASW5wdXQoKSB6b29tOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKSB3aWR0aDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGhlaWdodDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBjb25maWc/OiBGYWJyaWNDb25maWdJbnRlcmZhY2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mYWJyaWMnKVxuICBASW5wdXQoKSB1c2VGYWJyaWNDbGFzczogYm9vbGVhbiA9IHRydWU7XG5cbiAgQE91dHB1dCgpIGRhdGFMb2FkZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAT3V0cHV0KCkgZHJvcCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZHJhZ292ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGRyYWdlbnRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZHJhZ2xlYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQE91dHB1dCgpIG1vdXNldXAgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG1vdXNlZG93biA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbW91c2VvdmVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBtb3VzZW91dCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbW91c2Vtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBtb3VzZXdoZWVsID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBtb3VzZWRibGNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBtb3VzZXVwQmVmb3JlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBtb3VzZWRvd25CZWZvcmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG1vdXNlbW92ZUJlZm9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBPdXRwdXQoKSBtb3VzZVVwID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBtb3VzZURvd24gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG1vdXNlT3ZlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbW91c2VPdXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG1vdXNlTW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbW91c2VXaGVlbCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbW91c2VEYmxjbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbW91c2VVcEJlZm9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbW91c2VEb3duQmVmb3JlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBtb3VzZU1vdmVCZWZvcmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAT3V0cHV0KCkgcGF0aENyZWF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGFsdGVyUmVuZGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQE91dHB1dCgpIG9iamVjdEFkZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvYmplY3RNb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb2JqZWN0U2NhbGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvYmplY3RTa2V3ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9iamVjdFJvdGF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9iamVjdFJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9iamVjdE1vZGlmaWVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvYmplY3RTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb2JqZWN0TW92aW5nID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvYmplY3RTY2FsaW5nID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvYmplY3RTa2V3aW5nID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvYmplY3RSb3RhdGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBPdXRwdXQoKSBzZWxlY3Rpb25DbGVhcmVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3Rpb25DcmVhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3Rpb25VcGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQE91dHB1dCgpIGJlZm9yZVRyYW5zZm9ybSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgYmVmb3JlU2VsZWN0aW9uQ2xlYXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBWaWV3Q2hpbGQoRmFicmljRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KSBkaXJlY3RpdmVSZWY/OiBGYWJyaWNEaXJlY3RpdmU7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5qc29uICE9IG51bGwpIHtcbiAgICAgIHRoaXMuc2V0SlNPTih0aGlzLmpzb24sIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0SlNPTihqc29uOiBzdHJpbmcsIGZvcmNlPzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChmb3JjZSB8fCBqc29uICE9PSB0aGlzLmpzb24pIHtcbiAgICAgIGlmICh0aGlzLmRpcmVjdGl2ZVJlZikge1xuICAgICAgICB0aGlzLmRpcmVjdGl2ZVJlZi5sb2FkRnJvbUpTT04oanNvbiwgKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmRpcmVjdGl2ZVJlZiAmJiB0aGlzLmRpcmVjdGl2ZVJlZi5mYWJyaWMoKSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhTG9hZGVkLmVtaXQodGhpcy5kaXJlY3RpdmVSZWYuZmFicmljKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuanNvbiA9IGpzb247XG4gICAgfVxuICB9XG59XG4iLCI8Y2FudmFzIFtmYWJyaWNdPVwiY29uZmlnXCIgW3pvb21dPVwiem9vbVwiIFt3aWR0aF09XCJ3aWR0aFwiIFtoZWlnaHRdPVwiaGVpZ2h0XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgKGRyb3ApPVwiZHJvcC5lbWl0KCRldmVudClcIiAoZHJhZ292ZXIpPVwiZHJhZ292ZXIuZW1pdCgkZXZlbnQpXCIgKGRyYWdlbnRlcik9XCJkcmFnZW50ZXIuZW1pdCgkZXZlbnQpXCIgKGRyYWdsZWF2ZSk9XCJkcmFnbGVhdmUuZW1pdCgkZXZlbnQpXCIgKG1vdXNldXApPVwibW91c2V1cC5lbWl0KCRldmVudClcIiAobW91c2Vkb3duKT1cIm1vdXNlZG93bi5lbWl0KCRldmVudClcIiAobW91c2VvdmVyKT1cIm1vdXNlb3Zlci5lbWl0KCRldmVudClcIiAobW91c2VvdXQpPVwibW91c2VvdXQuZW1pdCgkZXZlbnQpXCIgKG1vdXNlbW92ZSk9XCJtb3VzZW1vdmUuZW1pdCgkZXZlbnQpXCIgKG1vdXNld2hlZWwpPVwibW91c2V3aGVlbC5lbWl0KCRldmVudClcIiAobW91c2VkYmxjbGljayk9XCJtb3VzZWRibGNsaWNrLmVtaXQoJGV2ZW50KVwiIChtb3VzZXVwQmVmb3JlKT1cIm1vdXNldXBCZWZvcmUuZW1pdCgkZXZlbnQpXCIgKG1vdXNlZG93bkJlZm9yZSk9XCJtb3VzZWRvd25CZWZvcmUuZW1pdCgkZXZlbnQpXCIgKG1vdXNlbW92ZUJlZm9yZSk9XCJtb3VzZW1vdmVCZWZvcmUuZW1pdCgkZXZlbnQpXCIgKG1vdXNlVXApPVwibW91c2VVcC5lbWl0KCRldmVudClcIiAobW91c2VEb3duKT1cIm1vdXNlRG93bi5lbWl0KCRldmVudClcIiAobW91c2VPdmVyKT1cIm1vdXNlT3Zlci5lbWl0KCRldmVudClcIiAobW91c2VPdXQpPVwibW91c2VPdXQuZW1pdCgkZXZlbnQpXCIgKG1vdXNlTW92ZSk9XCJtb3VzZU1vdmUuZW1pdCgkZXZlbnQpXCIgKG1vdXNlV2hlZWwpPVwibW91c2VXaGVlbC5lbWl0KCRldmVudClcIiAobW91c2VEYmxjbGljayk9XCJtb3VzZURibGNsaWNrLmVtaXQoJGV2ZW50KVwiIChtb3VzZVVwQmVmb3JlKT1cIm1vdXNlVXBCZWZvcmUuZW1pdCgkZXZlbnQpXCIgKG1vdXNlRG93bkJlZm9yZSk9XCJtb3VzZURvd25CZWZvcmUuZW1pdCgkZXZlbnQpXCIgKG1vdXNlTW92ZUJlZm9yZSk9XCJtb3VzZU1vdmVCZWZvcmUuZW1pdCgkZXZlbnQpXCIgKHBhdGhDcmVhdGVkKT1cInBhdGhDcmVhdGVkLmVtaXQoJGV2ZW50KVwiIChhbHRlclJlbmRlcik9XCJhbHRlclJlbmRlci5lbWl0KCRldmVudClcIiAob2JqZWN0QWRkZWQpPVwib2JqZWN0QWRkZWQuZW1pdCgkZXZlbnQpXCIgKG9iamVjdE1vdmVkKT1cIm9iamVjdE1vdmVkLmVtaXQoJGV2ZW50KVwiIChvYmplY3RTY2FsZWQpPVwib2JqZWN0U2NhbGVkLmVtaXQoJGV2ZW50KVwiIChvYmplY3RTa2V3ZWQpPVwib2JqZWN0U2tld2VkLmVtaXQoJGV2ZW50KVwiIChvYmplY3RSb3RhdGVkKT1cIm9iamVjdFJvdGF0ZWQuZW1pdCgkZXZlbnQpXCIgKG9iamVjdFJlbW92ZWQpPVwib2JqZWN0UmVtb3ZlZC5lbWl0KCRldmVudClcIiAob2JqZWN0TW9kaWZpZWQpPVwib2JqZWN0TW9kaWZpZWQuZW1pdCgkZXZlbnQpXCIgKG9iamVjdFNlbGVjdGVkKT1cIm9iamVjdFNlbGVjdGVkLmVtaXQoJGV2ZW50KVwiIChvYmplY3RNb3ZpbmcpPVwib2JqZWN0TW92aW5nLmVtaXQoJGV2ZW50KVwiIChvYmplY3RTY2FsaW5nKT1cIm9iamVjdFNjYWxpbmcuZW1pdCgkZXZlbnQpXCIgKG9iamVjdFNrZXdpbmcpPVwib2JqZWN0U2tld2luZy5lbWl0KCRldmVudClcIiAob2JqZWN0Um90YXRpbmcpPVwib2JqZWN0Um90YXRpbmcuZW1pdCgkZXZlbnQpXCIgKHNlbGVjdGlvbkNsZWFyZWQpPVwic2VsZWN0aW9uQ2xlYXJlZC5lbWl0KCRldmVudClcIiAoc2VsZWN0aW9uQ3JlYXRlZCk9XCJzZWxlY3Rpb25DcmVhdGVkLmVtaXQoJGV2ZW50KVwiIChzZWxlY3Rpb25VcGRhdGVkKT1cInNlbGVjdGlvblVwZGF0ZWQuZW1pdCgkZXZlbnQpXCIgKGJlZm9yZVRyYW5zZm9ybSk9XCJiZWZvcmVUcmFuc2Zvcm0uZW1pdCgkZXZlbnQpXCIgKGJlZm9yZVNlbGVjdGlvbkNsZWFyZWQpPVwiYmVmb3JlU2VsZWN0aW9uQ2xlYXJlZC5lbWl0KCRldmVudClcIj5cbjwvY2FudmFzPlxuIl19
|
|
@@ -1,316 +0,0 @@
|
|
|
1
|
-
import { fabric } from 'fabric';
|
|
2
|
-
import ResizeObserver from 'resize-observer-polyfill';
|
|
3
|
-
import { Directive, Optional, Inject, Input, Output, EventEmitter } from '@angular/core';
|
|
4
|
-
import { FABRIC_CONFIG, FabricConfig, FabricEvents } from './fabric.interfaces';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class FabricDirective {
|
|
7
|
-
zone;
|
|
8
|
-
elementRef;
|
|
9
|
-
differs;
|
|
10
|
-
defaults;
|
|
11
|
-
instance = null;
|
|
12
|
-
ro = null;
|
|
13
|
-
objectsJSON = null;
|
|
14
|
-
initialZoom = null;
|
|
15
|
-
initialWidth = null;
|
|
16
|
-
initialHeight = null;
|
|
17
|
-
configDiff = null;
|
|
18
|
-
set zoom(zoom) {
|
|
19
|
-
this.setZoom(zoom);
|
|
20
|
-
}
|
|
21
|
-
set width(width) {
|
|
22
|
-
this.setWidth(width);
|
|
23
|
-
}
|
|
24
|
-
set height(height) {
|
|
25
|
-
this.setHeight(height);
|
|
26
|
-
}
|
|
27
|
-
disabled = false;
|
|
28
|
-
config;
|
|
29
|
-
drop = new EventEmitter();
|
|
30
|
-
dragover = new EventEmitter();
|
|
31
|
-
dragenter = new EventEmitter();
|
|
32
|
-
dragleave = new EventEmitter();
|
|
33
|
-
mouseup = new EventEmitter();
|
|
34
|
-
mousedown = new EventEmitter();
|
|
35
|
-
mouseover = new EventEmitter();
|
|
36
|
-
mouseout = new EventEmitter();
|
|
37
|
-
mousemove = new EventEmitter();
|
|
38
|
-
mousewheel = new EventEmitter();
|
|
39
|
-
mousedblclick = new EventEmitter();
|
|
40
|
-
mouseupBefore = new EventEmitter();
|
|
41
|
-
mousedownBefore = new EventEmitter();
|
|
42
|
-
mousemoveBefore = new EventEmitter();
|
|
43
|
-
mouseUp = new EventEmitter();
|
|
44
|
-
mouseDown = new EventEmitter();
|
|
45
|
-
mouseOver = new EventEmitter();
|
|
46
|
-
mouseOut = new EventEmitter();
|
|
47
|
-
mouseMove = new EventEmitter();
|
|
48
|
-
mouseWheel = new EventEmitter();
|
|
49
|
-
mouseDblclick = new EventEmitter();
|
|
50
|
-
mouseUpBefore = new EventEmitter();
|
|
51
|
-
mouseDownBefore = new EventEmitter();
|
|
52
|
-
mouseMoveBefore = new EventEmitter();
|
|
53
|
-
pathCreated = new EventEmitter();
|
|
54
|
-
alterRender = new EventEmitter();
|
|
55
|
-
objectAdded = new EventEmitter();
|
|
56
|
-
objectMoved = new EventEmitter();
|
|
57
|
-
objectScaled = new EventEmitter();
|
|
58
|
-
objectSkewed = new EventEmitter();
|
|
59
|
-
objectRotated = new EventEmitter();
|
|
60
|
-
objectRemoved = new EventEmitter();
|
|
61
|
-
objectModified = new EventEmitter();
|
|
62
|
-
objectSelected = new EventEmitter();
|
|
63
|
-
objectMoving = new EventEmitter();
|
|
64
|
-
objectScaling = new EventEmitter();
|
|
65
|
-
objectSkewing = new EventEmitter();
|
|
66
|
-
objectRotating = new EventEmitter();
|
|
67
|
-
selectionCleared = new EventEmitter();
|
|
68
|
-
selectionCreated = new EventEmitter();
|
|
69
|
-
selectionUpdated = new EventEmitter();
|
|
70
|
-
beforeTransform = new EventEmitter();
|
|
71
|
-
beforeSelectionCleared = new EventEmitter();
|
|
72
|
-
constructor(zone, elementRef, differs, defaults) {
|
|
73
|
-
this.zone = zone;
|
|
74
|
-
this.elementRef = elementRef;
|
|
75
|
-
this.differs = differs;
|
|
76
|
-
this.defaults = defaults;
|
|
77
|
-
}
|
|
78
|
-
ngOnInit() {
|
|
79
|
-
const params = new FabricConfig(this.defaults);
|
|
80
|
-
params.assign(this.config); // Custom configuration
|
|
81
|
-
Object.keys(params).forEach(key => params[key] === undefined && delete params[key]);
|
|
82
|
-
this.zone.runOutsideAngular(() => {
|
|
83
|
-
if (!this.disabled) {
|
|
84
|
-
this.instance = new fabric.Canvas(this.elementRef.nativeElement, params);
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
this.instance = new fabric.StaticCanvas(this.elementRef.nativeElement, params);
|
|
88
|
-
}
|
|
89
|
-
if (this.initialZoom) {
|
|
90
|
-
this.setZoom(this.initialZoom);
|
|
91
|
-
}
|
|
92
|
-
if (this.initialWidth) {
|
|
93
|
-
this.setWidth(this.initialWidth);
|
|
94
|
-
}
|
|
95
|
-
if (this.initialHeight) {
|
|
96
|
-
this.setHeight(this.initialHeight);
|
|
97
|
-
}
|
|
98
|
-
if (this.objectsJSON !== null) {
|
|
99
|
-
this.loadFromJSON(this.objectsJSON);
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
// Add native Fabric event handling
|
|
103
|
-
FabricEvents.forEach((eventName) => {
|
|
104
|
-
const fabricEvent = eventName.replace(/([A-Z])/g, (c) => `:${c.toLowerCase()}`);
|
|
105
|
-
if (this.instance) {
|
|
106
|
-
this.instance.on(fabricEvent, (event) => {
|
|
107
|
-
this.zone.run(() => {
|
|
108
|
-
if (this[eventName].observers.length) {
|
|
109
|
-
this[eventName].emit(event);
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
if (!this.configDiff) {
|
|
116
|
-
this.configDiff = this.differs.find(this.config || {}).create();
|
|
117
|
-
this.configDiff.diff(this.config || {});
|
|
118
|
-
}
|
|
119
|
-
this.zone.runOutsideAngular(() => {
|
|
120
|
-
this.ro = new ResizeObserver((entries, observer) => {
|
|
121
|
-
const element = this.elementRef.nativeElement.parentElement.parentElement;
|
|
122
|
-
if (!this.initialWidth) {
|
|
123
|
-
this.setWidth(element.offsetWidth);
|
|
124
|
-
}
|
|
125
|
-
if (!this.initialHeight) {
|
|
126
|
-
this.setHeight(element.offsetHeight);
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
this.ro.observe(this.elementRef.nativeElement.parentElement.parentElement);
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
ngOnDestroy() {
|
|
133
|
-
if (this.ro) {
|
|
134
|
-
this.ro.disconnect();
|
|
135
|
-
}
|
|
136
|
-
if (this.instance) {
|
|
137
|
-
this.objectsJSON = this.instance.toObject();
|
|
138
|
-
this.instance.dispose();
|
|
139
|
-
delete this.instance;
|
|
140
|
-
this.instance = null;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
ngDoCheck() {
|
|
144
|
-
if (this.configDiff) {
|
|
145
|
-
const changes = this.configDiff.diff(this.config || {});
|
|
146
|
-
if (changes) {
|
|
147
|
-
this.ngOnDestroy();
|
|
148
|
-
this.ngOnInit();
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
ngOnChanges(changes) {
|
|
153
|
-
if (this.instance && changes['disabled']) {
|
|
154
|
-
if (changes['disabled'].currentValue !== changes['disabled'].previousValue) {
|
|
155
|
-
this.ngOnDestroy();
|
|
156
|
-
this.ngOnInit();
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
fabric() {
|
|
161
|
-
return this.instance;
|
|
162
|
-
}
|
|
163
|
-
clear() {
|
|
164
|
-
if (this.instance) {
|
|
165
|
-
this.instance.clear();
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
render() {
|
|
169
|
-
if (this.instance) {
|
|
170
|
-
this.instance.renderAll();
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
setZoom(zoom) {
|
|
174
|
-
this.initialZoom = zoom;
|
|
175
|
-
if (this.instance) {
|
|
176
|
-
this.instance.setZoom(zoom);
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
setWidth(width) {
|
|
180
|
-
this.initialWidth = width;
|
|
181
|
-
if (this.instance) {
|
|
182
|
-
this.instance.setWidth(width);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
setHeight(height) {
|
|
186
|
-
this.initialHeight = height;
|
|
187
|
-
if (this.instance) {
|
|
188
|
-
this.instance.setHeight(height);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
loadFromJSON(json, callback, reviverOpt) {
|
|
192
|
-
if (this.instance) {
|
|
193
|
-
this.instance.loadFromJSON(json, () => {
|
|
194
|
-
let renderAll = true;
|
|
195
|
-
if (callback) {
|
|
196
|
-
renderAll = callback();
|
|
197
|
-
}
|
|
198
|
-
if (renderAll && this.instance) {
|
|
199
|
-
this.instance.renderAll();
|
|
200
|
-
}
|
|
201
|
-
}, reviverOpt);
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FabricDirective, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: i0.KeyValueDiffers }, { token: FABRIC_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
205
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: FabricDirective, selector: "[fabric]", inputs: { zoom: "zoom", width: "width", height: "height", disabled: "disabled", config: ["fabric", "config"] }, outputs: { drop: "drop", dragover: "dragover", dragenter: "dragenter", dragleave: "dragleave", mouseup: "mouseup", mousedown: "mousedown", mouseover: "mouseover", mouseout: "mouseout", mousemove: "mousemove", mousewheel: "mousewheel", mousedblclick: "mousedblclick", mouseupBefore: "mouseupBefore", mousedownBefore: "mousedownBefore", mousemoveBefore: "mousemoveBefore", mouseUp: "mouseUp", mouseDown: "mouseDown", mouseOver: "mouseOver", mouseOut: "mouseOut", mouseMove: "mouseMove", mouseWheel: "mouseWheel", mouseDblclick: "mouseDblclick", mouseUpBefore: "mouseUpBefore", mouseDownBefore: "mouseDownBefore", mouseMoveBefore: "mouseMoveBefore", pathCreated: "pathCreated", alterRender: "alterRender", objectAdded: "objectAdded", objectMoved: "objectMoved", objectScaled: "objectScaled", objectSkewed: "objectSkewed", objectRotated: "objectRotated", objectRemoved: "objectRemoved", objectModified: "objectModified", objectSelected: "objectSelected", objectMoving: "objectMoving", objectScaling: "objectScaling", objectSkewing: "objectSkewing", objectRotating: "objectRotating", selectionCleared: "selectionCleared", selectionCreated: "selectionCreated", selectionUpdated: "selectionUpdated", beforeTransform: "beforeTransform", beforeSelectionCleared: "beforeSelectionCleared" }, exportAs: ["ngxFabric"], usesOnChanges: true, ngImport: i0 });
|
|
206
|
-
}
|
|
207
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FabricDirective, decorators: [{
|
|
208
|
-
type: Directive,
|
|
209
|
-
args: [{
|
|
210
|
-
selector: '[fabric]',
|
|
211
|
-
exportAs: 'ngxFabric'
|
|
212
|
-
}]
|
|
213
|
-
}], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ElementRef }, { type: i0.KeyValueDiffers }, { type: undefined, decorators: [{
|
|
214
|
-
type: Optional
|
|
215
|
-
}, {
|
|
216
|
-
type: Inject,
|
|
217
|
-
args: [FABRIC_CONFIG]
|
|
218
|
-
}] }], propDecorators: { zoom: [{
|
|
219
|
-
type: Input
|
|
220
|
-
}], width: [{
|
|
221
|
-
type: Input
|
|
222
|
-
}], height: [{
|
|
223
|
-
type: Input
|
|
224
|
-
}], disabled: [{
|
|
225
|
-
type: Input
|
|
226
|
-
}], config: [{
|
|
227
|
-
type: Input,
|
|
228
|
-
args: ['fabric']
|
|
229
|
-
}], drop: [{
|
|
230
|
-
type: Output
|
|
231
|
-
}], dragover: [{
|
|
232
|
-
type: Output
|
|
233
|
-
}], dragenter: [{
|
|
234
|
-
type: Output
|
|
235
|
-
}], dragleave: [{
|
|
236
|
-
type: Output
|
|
237
|
-
}], mouseup: [{
|
|
238
|
-
type: Output
|
|
239
|
-
}], mousedown: [{
|
|
240
|
-
type: Output
|
|
241
|
-
}], mouseover: [{
|
|
242
|
-
type: Output
|
|
243
|
-
}], mouseout: [{
|
|
244
|
-
type: Output
|
|
245
|
-
}], mousemove: [{
|
|
246
|
-
type: Output
|
|
247
|
-
}], mousewheel: [{
|
|
248
|
-
type: Output
|
|
249
|
-
}], mousedblclick: [{
|
|
250
|
-
type: Output
|
|
251
|
-
}], mouseupBefore: [{
|
|
252
|
-
type: Output
|
|
253
|
-
}], mousedownBefore: [{
|
|
254
|
-
type: Output
|
|
255
|
-
}], mousemoveBefore: [{
|
|
256
|
-
type: Output
|
|
257
|
-
}], mouseUp: [{
|
|
258
|
-
type: Output
|
|
259
|
-
}], mouseDown: [{
|
|
260
|
-
type: Output
|
|
261
|
-
}], mouseOver: [{
|
|
262
|
-
type: Output
|
|
263
|
-
}], mouseOut: [{
|
|
264
|
-
type: Output
|
|
265
|
-
}], mouseMove: [{
|
|
266
|
-
type: Output
|
|
267
|
-
}], mouseWheel: [{
|
|
268
|
-
type: Output
|
|
269
|
-
}], mouseDblclick: [{
|
|
270
|
-
type: Output
|
|
271
|
-
}], mouseUpBefore: [{
|
|
272
|
-
type: Output
|
|
273
|
-
}], mouseDownBefore: [{
|
|
274
|
-
type: Output
|
|
275
|
-
}], mouseMoveBefore: [{
|
|
276
|
-
type: Output
|
|
277
|
-
}], pathCreated: [{
|
|
278
|
-
type: Output
|
|
279
|
-
}], alterRender: [{
|
|
280
|
-
type: Output
|
|
281
|
-
}], objectAdded: [{
|
|
282
|
-
type: Output
|
|
283
|
-
}], objectMoved: [{
|
|
284
|
-
type: Output
|
|
285
|
-
}], objectScaled: [{
|
|
286
|
-
type: Output
|
|
287
|
-
}], objectSkewed: [{
|
|
288
|
-
type: Output
|
|
289
|
-
}], objectRotated: [{
|
|
290
|
-
type: Output
|
|
291
|
-
}], objectRemoved: [{
|
|
292
|
-
type: Output
|
|
293
|
-
}], objectModified: [{
|
|
294
|
-
type: Output
|
|
295
|
-
}], objectSelected: [{
|
|
296
|
-
type: Output
|
|
297
|
-
}], objectMoving: [{
|
|
298
|
-
type: Output
|
|
299
|
-
}], objectScaling: [{
|
|
300
|
-
type: Output
|
|
301
|
-
}], objectSkewing: [{
|
|
302
|
-
type: Output
|
|
303
|
-
}], objectRotating: [{
|
|
304
|
-
type: Output
|
|
305
|
-
}], selectionCleared: [{
|
|
306
|
-
type: Output
|
|
307
|
-
}], selectionCreated: [{
|
|
308
|
-
type: Output
|
|
309
|
-
}], selectionUpdated: [{
|
|
310
|
-
type: Output
|
|
311
|
-
}], beforeTransform: [{
|
|
312
|
-
type: Output
|
|
313
|
-
}], beforeSelectionCleared: [{
|
|
314
|
-
type: Output
|
|
315
|
-
}] } });
|
|
316
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFicmljLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYi9zcmMvbGliL2ZhYnJpYy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVoQyxPQUFPLGNBQWMsTUFBTSwwQkFBMEIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBRWxDLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUNxQixNQUFNLGVBQWUsQ0FBQztBQUV4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFDckIsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBTXpELE1BQU0sT0FBTyxlQUFlO0lBaUZOO0lBQ1Y7SUFBZ0M7SUFDRztJQWxGckMsUUFBUSxHQUErQyxJQUFJLENBQUM7SUFFNUQsRUFBRSxHQUEwQixJQUFJLENBQUM7SUFFakMsV0FBVyxHQUFrQixJQUFJLENBQUM7SUFFbEMsV0FBVyxHQUFrQixJQUFJLENBQUM7SUFDbEMsWUFBWSxHQUFrQixJQUFJLENBQUM7SUFDbkMsYUFBYSxHQUFrQixJQUFJLENBQUM7SUFFcEMsVUFBVSxHQUF1QyxJQUFJLENBQUM7SUFFOUQsSUFDSSxJQUFJLENBQUMsSUFBWTtRQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUNJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQ0ksTUFBTSxDQUFDLE1BQWM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRVEsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUVsQixNQUFNLENBQXlCO0lBRXRDLElBQUksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQy9CLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ25DLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3BDLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRXBDLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2xDLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3BDLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3BDLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ25DLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3BDLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3JDLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3hDLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3hDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQzFDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRTFDLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2xDLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3BDLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3BDLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ25DLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3BDLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3JDLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3hDLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3hDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQzFDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRTFDLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3RDLFdBQVcsR0FB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QkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBRUcsZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxzQkFBc0I7c0JBQS9CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmYWJyaWMgfSBmcm9tICdmYWJyaWMnO1xuXG5pbXBvcnQgUmVzaXplT2JzZXJ2ZXIgZnJvbSAncmVzaXplLW9ic2VydmVyLXBvbHlmaWxsJztcblxuaW1wb3J0IHsgRGlyZWN0aXZlLCBPcHRpb25hbCwgSW5qZWN0LFxuICBPbkluaXQsIE9uRGVzdHJveSwgRG9DaGVjaywgT25DaGFuZ2VzLFxuICBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE5nWm9uZSwgRWxlbWVudFJlZixcbiAgS2V5VmFsdWVEaWZmZXIsIEtleVZhbHVlRGlmZmVycywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGQUJSSUNfQ09ORklHLCBGYWJyaWNDb25maWcsIEZhYnJpY0NvbmZpZ0ludGVyZmFjZSxcbiAgRmFicmljRXZlbnQsIEZhYnJpY0V2ZW50cyB9IGZyb20gJy4vZmFicmljLmludGVyZmFjZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZmFicmljXScsXG4gIGV4cG9ydEFzOiAnbmd4RmFicmljJ1xufSlcbmV4cG9ydCBjbGFzcyBGYWJyaWNEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgRG9DaGVjaywgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSBpbnN0YW5jZTogZmFicmljLkNhbnZhcyB8IGZhYnJpYy5TdGF0aWNDYW52YXMgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHJvOiBSZXNpemVPYnNlcnZlciB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgb2JqZWN0c0pTT046IG9iamVjdCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgaW5pdGlhbFpvb206IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGluaXRpYWxXaWR0aDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgaW5pdGlhbEhlaWdodDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBjb25maWdEaWZmOiBLZXlWYWx1ZURpZmZlcjxzdHJpbmcsIGFueT4gfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBzZXQgem9vbSh6b29tOiBudW1iZXIpIHtcbiAgICB0aGlzLnNldFpvb20oem9vbSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgd2lkdGgod2lkdGg6IG51bWJlcikge1xuICAgIHRoaXMuc2V0V2lkdGgod2lkdGgpO1xuICB9XG4gIEBJbnB1dCgpXG4gIHNldCBoZWlnaHQoaGVpZ2h0OiBudW1iZXIpIHtcbiAgICB0aGlzLnNldEhlaWdodChoZWlnaHQpO1xuICB9XG5cbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoJ2ZhYnJpYycpIGNvbmZpZz86IEZhYnJpY0NvbmZpZ0ludGVyZmFjZTtcblxuICBAT3V0cHV0KCkgZHJvcCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZHJhZ292ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGRyYWdlbnRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZHJhZ2xlYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQE91dHB1dCgpIG1vdXNldXAgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG1vdXNlZG93biA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbW91c2VvdmVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBtb3VzZW91dCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbW91c2Vtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBtb3VzZXdoZWVsID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBtb3VzZWRibGNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBtb3VzZXVwQmVmb3JlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBtb3VzZWRvd25CZWZvcmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG1vdXNlbW92ZUJlZm9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBPdXRwdXQoKSBtb3VzZVVwID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBtb3VzZURvd24gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG1vdXNlT3ZlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbW91c2VPdXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG1vdXNlTW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbW91c2VXaGVlbCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbW91c2VEYmxjbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbW91c2VVcEJlZm9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbW91c2VEb3duQmVmb3JlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBtb3VzZU1vdmVCZWZvcmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAT3V0cHV0KCkgcGF0aENyZWF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGFsdGVyUmVuZGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQE91dHB1dCgpIG9iamVjdEFkZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvYmplY3RNb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb2JqZWN0U2NhbGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvYmplY3RTa2V3ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9iamVjdFJvdGF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9iamVjdFJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9iamVjdE1vZGlmaWVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvYmplY3RTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb2JqZWN0TW92aW5nID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvYmplY3RTY2FsaW5nID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvYmplY3RTa2V3aW5nID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvYmplY3RSb3RhdGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBPdXRwdXQoKSBzZWxlY3Rpb25DbGVhcmVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3Rpb25DcmVhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3Rpb25VcGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQE91dHB1dCgpIGJlZm9yZVRyYW5zZm9ybSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgYmVmb3JlU2VsZWN0aW9uQ2xlYXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgem9uZTogTmdab25lLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBkaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChGQUJSSUNfQ09ORklHKSBwcml2YXRlIGRlZmF1bHRzOiBGYWJyaWNDb25maWdJbnRlcmZhY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEZhYnJpY0NvbmZpZyh0aGlzLmRlZmF1bHRzKTtcblxuICAgIHBhcmFtcy5hc3NpZ24odGhpcy5jb25maWcpOyAvLyBDdXN0b20gY29uZmlndXJhdGlvblxuXG4gICAgT2JqZWN0LmtleXMocGFyYW1zKS5mb3JFYWNoKGtleSA9PiBwYXJhbXNba2V5XSA9PT0gdW5kZWZpbmVkICYmIGRlbGV0ZSBwYXJhbXNba2V5XSlcblxuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5pbnN0YW5jZSA9IG5ldyBmYWJyaWMuQ2FudmFzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBwYXJhbXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pbnN0YW5jZSA9IG5ldyBmYWJyaWMuU3RhdGljQ2FudmFzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBwYXJhbXMpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5pbml0aWFsWm9vbSkge1xuICAgICAgICB0aGlzLnNldFpvb20odGhpcy5pbml0aWFsWm9vbSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmluaXRpYWxXaWR0aCkge1xuICAgICAgICB0aGlzLnNldFdpZHRoKHRoaXMuaW5pdGlhbFdpZHRoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuaW5pdGlhbEhlaWdodCkge1xuICAgICAgICB0aGlzLnNldEhlaWdodCh0aGlzLmluaXRpYWxIZWlnaHQpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5vYmplY3RzSlNPTiAhPT0gbnVsbCkge1xuICAgICAgICB0aGlzLmxvYWRGcm9tSlNPTih0aGlzLm9iamVjdHNKU09OKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIEFkZCBuYXRpdmUgRmFicmljIGV2ZW50IGhhbmRsaW5nXG4gICAgRmFicmljRXZlbnRzLmZvckVhY2goKGV2ZW50TmFtZTogRmFicmljRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IGZhYnJpY0V2ZW50ID0gZXZlbnROYW1lLnJlcGxhY2UoLyhbQS1aXSkvZywgKGMpID0+IGA6JHtjLnRvTG93ZXJDYXNlKCl9YCk7XG5cbiAgICAgIGlmICh0aGlzLmluc3RhbmNlKSB7XG4gICAgICAgIHRoaXMuaW5zdGFuY2Uub24oZmFicmljRXZlbnQsIChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpc1tldmVudE5hbWVdLm9ic2VydmVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgdGhpc1tldmVudE5hbWVdLmVtaXQoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmICghdGhpcy5jb25maWdEaWZmKSB7XG4gICAgICB0aGlzLmNvbmZpZ0RpZmYgPSB0aGlzLmRpZmZlcnMuZmluZCh0aGlzLmNvbmZpZyB8fCB7fSkuY3JlYXRlKCk7XG5cbiAgICAgIHRoaXMuY29uZmlnRGlmZi5kaWZmKHRoaXMuY29uZmlnIHx8IHt9KTtcbiAgICB9XG5cbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy5ybyA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcywgb2JzZXJ2ZXIpID0+IHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudDtcblxuICAgICAgICBpZiAoIXRoaXMuaW5pdGlhbFdpZHRoKSB7XG4gICAgICAgICAgdGhpcy5zZXRXaWR0aChlbGVtZW50Lm9mZnNldFdpZHRoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5pbml0aWFsSGVpZ2h0KSB7XG4gICAgICAgICAgdGhpcy5zZXRIZWlnaHQoZWxlbWVudC5vZmZzZXRIZWlnaHQpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5yby5vYnNlcnZlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ybykge1xuICAgICAgdGhpcy5yby5kaXNjb25uZWN0KCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaW5zdGFuY2UpIHtcbiAgICAgIHRoaXMub2JqZWN0c0pTT04gPSB0aGlzLmluc3RhbmNlLnRvT2JqZWN0KCk7XG5cbiAgICAgIHRoaXMuaW5zdGFuY2UuZGlzcG9zZSgpO1xuXG4gICAgICBkZWxldGUgdGhpcy5pbnN0YW5jZTtcblxuICAgICAgdGhpcy5pbnN0YW5jZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbmZpZ0RpZmYpIHtcbiAgICAgIGNvbnN0IGNoYW5nZXMgPSB0aGlzLmNvbmZpZ0RpZmYuZGlmZih0aGlzLmNvbmZpZyB8fCB7fSk7XG5cbiAgICAgIGlmIChjaGFuZ2VzKSB7XG4gICAgICAgIHRoaXMubmdPbkRlc3Ryb3koKTtcblxuICAgICAgICB0aGlzLm5nT25Jbml0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmluc3RhbmNlICYmIGNoYW5nZXNbJ2Rpc2FibGVkJ10pIHtcbiAgICAgIGlmIChjaGFuZ2VzWydkaXNhYmxlZCddLmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlc1snZGlzYWJsZWQnXS5wcmV2aW91c1ZhbHVlKSB7XG4gICAgICAgIHRoaXMubmdPbkRlc3Ryb3koKTtcblxuICAgICAgICB0aGlzLm5nT25Jbml0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZhYnJpYygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmluc3RhbmNlO1xuICB9XG5cbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmluc3RhbmNlKSB7XG4gICAgICB0aGlzLmluc3RhbmNlLmNsZWFyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlbmRlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbnN0YW5jZSkge1xuICAgICAgdGhpcy5pbnN0YW5jZS5yZW5kZXJBbGwoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0Wm9vbSh6b29tOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxab29tID0gem9vbTtcblxuICAgIGlmICh0aGlzLmluc3RhbmNlKSB7XG4gICAgICB0aGlzLmluc3RhbmNlLnNldFpvb20oem9vbSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldFdpZHRoKHdpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxXaWR0aCA9IHdpZHRoO1xuXG4gICAgaWYgKHRoaXMuaW5zdGFuY2UpIHtcbiAgICAgIHRoaXMuaW5zdGFuY2Uuc2V0V2lkdGgod2lkdGgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRIZWlnaHQoaGVpZ2h0OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxIZWlnaHQgPSBoZWlnaHQ7XG5cbiAgICBpZiAodGhpcy5pbnN0YW5jZSkge1xuICAgICAgdGhpcy5pbnN0YW5jZS5zZXRIZWlnaHQoaGVpZ2h0KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbG9hZEZyb21KU09OKGpzb246IGFueSwgY2FsbGJhY2s/OiBGdW5jdGlvbiwgcmV2aXZlck9wdD86IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmluc3RhbmNlKSB7XG4gICAgICB0aGlzLmluc3RhbmNlLmxvYWRGcm9tSlNPTihqc29uLCAoKSA9PiB7XG4gICAgICAgIGxldCByZW5kZXJBbGwgPSB0cnVlO1xuXG4gICAgICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgICAgIHJlbmRlckFsbCA9IGNhbGxiYWNrKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVuZGVyQWxsICYmIHRoaXMuaW5zdGFuY2UpIHtcbiAgICAgICAgICB0aGlzLmluc3RhbmNlLnJlbmRlckFsbCgpO1xuICAgICAgICB9XG4gICAgICB9LCByZXZpdmVyT3B0KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
export const FABRIC_CONFIG = new InjectionToken('FABRIC_CONFIG');
|
|
3
|
-
export const FabricEvents = [
|
|
4
|
-
'drop',
|
|
5
|
-
'dragover',
|
|
6
|
-
'dragenter',
|
|
7
|
-
'dragleave',
|
|
8
|
-
'mouseup',
|
|
9
|
-
'mousedown',
|
|
10
|
-
'mouseover',
|
|
11
|
-
'mouseout',
|
|
12
|
-
'mousemove',
|
|
13
|
-
'mousewheel',
|
|
14
|
-
'mousedblclick',
|
|
15
|
-
'mouseupBefore',
|
|
16
|
-
'mousedownBefore',
|
|
17
|
-
'mousemoveBefore',
|
|
18
|
-
'mouseUp',
|
|
19
|
-
'mouseDown',
|
|
20
|
-
'mouseOver',
|
|
21
|
-
'mouseOut',
|
|
22
|
-
'mouseMove',
|
|
23
|
-
'mouseWheel',
|
|
24
|
-
'mouseDblclick',
|
|
25
|
-
'mouseUpBefore',
|
|
26
|
-
'mouseDownBefore',
|
|
27
|
-
'mouseMoveBefore',
|
|
28
|
-
'pathCreated',
|
|
29
|
-
'alterRender',
|
|
30
|
-
'objectAdded',
|
|
31
|
-
'objectMoved',
|
|
32
|
-
'objectScaled',
|
|
33
|
-
'objectSkewed',
|
|
34
|
-
'objectRotated',
|
|
35
|
-
'objectRemoved',
|
|
36
|
-
'objectModified',
|
|
37
|
-
'objectSelected',
|
|
38
|
-
'objectMoving',
|
|
39
|
-
'objectScaling',
|
|
40
|
-
'objectSkewing',
|
|
41
|
-
'objectRotating',
|
|
42
|
-
'selectionCleared',
|
|
43
|
-
'selectionCreated',
|
|
44
|
-
'selectionUpdated',
|
|
45
|
-
'beforeTransform',
|
|
46
|
-
'beforeSelectionCleared'
|
|
47
|
-
];
|
|
48
|
-
export class FabricConfig {
|
|
49
|
-
allowTouchScrolling;
|
|
50
|
-
altActionKey;
|
|
51
|
-
altSelectionKey;
|
|
52
|
-
backgroundColor;
|
|
53
|
-
backgroundImage;
|
|
54
|
-
backgroundVpt;
|
|
55
|
-
centeredKey;
|
|
56
|
-
centeredRotation;
|
|
57
|
-
centeredScaling;
|
|
58
|
-
clipTo;
|
|
59
|
-
containerClass;
|
|
60
|
-
controlsAboveOverlay;
|
|
61
|
-
defaultCursor;
|
|
62
|
-
enableRetinaScaling;
|
|
63
|
-
fireMiddleClick;
|
|
64
|
-
fireRightClick;
|
|
65
|
-
freeDrawingCursor;
|
|
66
|
-
FX_DURATION;
|
|
67
|
-
hoverCursor;
|
|
68
|
-
imageSmoothingEnabled;
|
|
69
|
-
includeDefaultValues;
|
|
70
|
-
interactive;
|
|
71
|
-
isDrawingMode;
|
|
72
|
-
moveCursor;
|
|
73
|
-
notAllowedCursor;
|
|
74
|
-
overlayColor;
|
|
75
|
-
overlayImage;
|
|
76
|
-
overlayVpt;
|
|
77
|
-
perPixelTargetFind;
|
|
78
|
-
preserveObjectStacking;
|
|
79
|
-
renderOnAddRemove;
|
|
80
|
-
rotationCursor;
|
|
81
|
-
selection;
|
|
82
|
-
selectionBorderColor;
|
|
83
|
-
selectionColor;
|
|
84
|
-
selectionDashArray;
|
|
85
|
-
selectionKey;
|
|
86
|
-
selectionLineWidth;
|
|
87
|
-
skipOffscreen;
|
|
88
|
-
skipTargetFind;
|
|
89
|
-
snapAngle;
|
|
90
|
-
snapThreshold;
|
|
91
|
-
stateful;
|
|
92
|
-
stopContextMenu;
|
|
93
|
-
svgViewportTransformation;
|
|
94
|
-
targetFindToTolerance;
|
|
95
|
-
uniScaleKey;
|
|
96
|
-
uniScaleTransform;
|
|
97
|
-
viewportTransform;
|
|
98
|
-
vptCoords;
|
|
99
|
-
constructor(config = {}) {
|
|
100
|
-
this.assign(config);
|
|
101
|
-
}
|
|
102
|
-
assign(config = {}) {
|
|
103
|
-
for (const key in config) {
|
|
104
|
-
this[key] = config[key];
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFicmljLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9saWIvc3JjL2xpYi9mYWJyaWMuaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBd0IsZUFBZSxDQUFDLENBQUM7QUFXeEYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFrQjtJQUN6QyxNQUFNO0lBQ04sVUFBVTtJQUNWLFdBQVc7SUFDWCxXQUFXO0lBRVgsU0FBUztJQUNULFdBQVc7SUFDWCxXQUFXO0lBQ1gsVUFBVTtJQUNWLFdBQVc7SUFDWCxZQUFZO0lBQ1osZUFBZTtJQUNmLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsaUJBQWlCO0lBRWpCLFNBQVM7SUFDVCxXQUFXO0lBQ1gsV0FBVztJQUNYLFVBQVU7SUFDVixXQUFXO0lBQ1gsWUFBWTtJQUNaLGVBQWU7SUFDZixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUVqQixhQUFhO0lBQ2IsYUFBYTtJQUViLGFBQWE7SUFDYixhQUFhO0lBQ2IsY0FBYztJQUNkLGNBQWM7SUFDZCxlQUFlO0lBQ2YsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsY0FBYztJQUNkLGVBQWU7SUFDZixlQUFlO0lBQ2YsZ0JBQWdCO0lBRWhCLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBRWxCLGlCQUFpQjtJQUNqQix3QkFBd0I7Q0FDekIsQ0FBQztBQXVERixNQUFNLE9BQU8sWUFBWTtJQUN2QixtQkFBbUIsQ0FBVztJQUM5QixZQUFZLENBQVU7SUFDdEIsZUFBZSxDQUFVO0lBQ3pCLGVBQWUsQ0FBZ0I7SUFDL0IsZUFBZSxDQUFPO0lBQ3RCLGFBQWEsQ0FBVztJQUN4QixXQUFXLENBQVU7SUFDckIsZ0JBQWdCLENBQVc7SUFDM0IsZUFBZSxDQUFXO0lBQzFCLE1BQU0sQ0FBd0I7SUFDOUIsY0FBYyxDQUFVO0lBQ3hCLG9CQUFvQixDQUFXO0lBQy9CLGFBQWEsQ0FBVTtJQUN2QixtQkFBbUIsQ0FBVztJQUM5QixlQUFlLENBQVc7SUFDMUIsY0FBYyxDQUFXO0lBQ3pCLGlCQUFpQixDQUFVO0lBQzNCLFdBQVcsQ0FBVTtJQUNyQixXQUFXLENBQVU7SUFDckIscUJBQXFCLENBQVc7SUFDaEMsb0JBQW9CLENBQVc7SUFDL0IsV0FBVyxDQUFXO0lBQ3RCLGFBQWEsQ0FBVztJQUN4QixVQUFVLENBQVU7SUFDcEIsZ0JBQWdCLENBQVU7SUFDMUIsWUFBWSxDQUFlO0lBQzNCLFlBQVksQ0FBTTtJQUNsQixVQUFVLENBQVc7SUFDckIsa0JBQWtCLENBQVc7SUFDN0Isc0JBQXNCLENBQVc7SUFDakMsaUJBQWlCLENBQVc7SUFDNUIsY0FBYyxDQUFVO0lBQ3hCLFNBQVMsQ0FBVztJQUNwQixvQkFBb0IsQ0FBVTtJQUM5QixjQUFjLENBQVU7SUFDeEIsa0JBQWtCLENBQVM7SUFDM0IsWUFBWSxDQUFVO0lBQ3RCLGtCQUFrQixDQUFVO0lBQzVCLGFBQWEsQ0FBVztJQUN4QixjQUFjLENBQVc7SUFDekIsU0FBUyxDQUFVO0lBQ25CLGFBQWEsQ0FBVTtJQUN2QixRQUFRLENBQVc7SUFDbkIsZUFBZSxDQUFXO0lBQzFCLHlCQUF5QixDQUFXO0lBQ3BDLHFCQUFxQixDQUFVO0lBQy9CLFdBQVcsQ0FBVTtJQUNyQixpQkFBaUIsQ0FBVztJQUM1QixpQkFBaUIsQ0FBUztJQUMxQixTQUFTLENBQU87SUFFaEIsWUFBWSxTQUFnQyxFQUFFO1FBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFnQyxFQUFFO1FBQ3ZDLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLEdBQXlCLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBa0MsQ0FBVSxDQUFDO1FBQ3hGLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgRkFCUklDX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGYWJyaWNDb25maWdJbnRlcmZhY2U+KCdGQUJSSUNfQ09ORklHJyk7XG5cbmV4cG9ydCB0eXBlIEZhYnJpY0V2ZW50ID0gJ2Ryb3AnIHwgJ2RyYWdvdmVyJyB8ICdkcmFnZW50ZXInIHwgJ2RyYWdsZWF2ZScgfCAnbW91c2V1cCcgfFxuICAnbW91c2Vkb3duJyB8ICdtb3VzZW92ZXInIHwgJ21vdXNlb3V0JyB8ICdtb3VzZW1vdmUnIHwgJ21vdXNld2hlZWwnIHwgJ21vdXNlZGJsY2xpY2snIHxcbiAgJ21vdXNldXBCZWZvcmUnIHwgJ21vdXNlZG93bkJlZm9yZScgfCAnbW91c2Vtb3ZlQmVmb3JlJyB8ICdtb3VzZVVwJyB8ICdtb3VzZURvd24nIHxcbiAgJ21vdXNlT3ZlcicgfCAnbW91c2VPdXQnIHwgJ21vdXNlTW92ZScgfCAnbW91c2VXaGVlbCcgfCAnbW91c2VEYmxjbGljaycgfCAnbW91c2VVcEJlZm9yZScgfCAnbW91c2VEb3duQmVmb3JlJyB8XG4gICdtb3VzZU1vdmVCZWZvcmUnIHwgJ3BhdGhDcmVhdGVkJyB8ICdhbHRlclJlbmRlcicgfCAnb2JqZWN0QWRkZWQnIHwgJ29iamVjdE1vdmVkJyB8ICdvYmplY3RTY2FsZWQnIHxcbiAgJ29iamVjdFNrZXdlZCcgfCAnb2JqZWN0Um90YXRlZCcgfCAnb2JqZWN0UmVtb3ZlZCcgfCAnb2JqZWN0TW9kaWZpZWQnIHwgJ29iamVjdFNlbGVjdGVkJyB8XG4gICdvYmplY3RNb3ZpbmcnIHwgJ29iamVjdFNjYWxpbmcnIHwgJ29iamVjdFNrZXdpbmcnIHwgJ29iamVjdFJvdGF0aW5nJyB8ICdzZWxlY3Rpb25DbGVhcmVkJyB8XG4gICdzZWxlY3Rpb25DcmVhdGVkJyB8ICdzZWxlY3Rpb25VcGRhdGVkJyB8ICdiZWZvcmVUcmFuc2Zvcm0nIHwgJ2JlZm9yZVNlbGVjdGlvbkNsZWFyZWQnIDtcblxuZXhwb3J0IGNvbnN0IEZhYnJpY0V2ZW50czogRmFicmljRXZlbnRbXSA9IFtcbiAgJ2Ryb3AnLFxuICAnZHJhZ292ZXInLFxuICAnZHJhZ2VudGVyJyxcbiAgJ2RyYWdsZWF2ZScsXG5cbiAgJ21vdXNldXAnLFxuICAnbW91c2Vkb3duJyxcbiAgJ21vdXNlb3ZlcicsXG4gICdtb3VzZW91dCcsXG4gICdtb3VzZW1vdmUnLFxuICAnbW91c2V3aGVlbCcsXG4gICdtb3VzZWRibGNsaWNrJyxcbiAgJ21vdXNldXBCZWZvcmUnLFxuICAnbW91c2Vkb3duQmVmb3JlJyxcbiAgJ21vdXNlbW92ZUJlZm9yZScsXG5cbiAgJ21vdXNlVXAnLFxuICAnbW91c2VEb3duJyxcbiAgJ21vdXNlT3ZlcicsXG4gICdtb3VzZU91dCcsXG4gICdtb3VzZU1vdmUnLFxuICAnbW91c2VXaGVlbCcsXG4gICdtb3VzZURibGNsaWNrJyxcbiAgJ21vdXNlVXBCZWZvcmUnLFxuICAnbW91c2VEb3duQmVmb3JlJyxcbiAgJ21vdXNlTW92ZUJlZm9yZScsXG5cbiAgJ3BhdGhDcmVhdGVkJyxcbiAgJ2FsdGVyUmVuZGVyJyxcblxuICAnb2JqZWN0QWRkZWQnLFxuICAnb2JqZWN0TW92ZWQnLFxuICAnb2JqZWN0U2NhbGVkJyxcbiAgJ29iamVjdFNrZXdlZCcsXG4gICdvYmplY3RSb3RhdGVkJyxcbiAgJ29iamVjdFJlbW92ZWQnLFxuICAnb2JqZWN0TW9kaWZpZWQnLFxuICAnb2JqZWN0U2VsZWN0ZWQnLFxuICAnb2JqZWN0TW92aW5nJyxcbiAgJ29iamVjdFNjYWxpbmcnLFxuICAnb2JqZWN0U2tld2luZycsXG4gICdvYmplY3RSb3RhdGluZycsXG5cbiAgJ3NlbGVjdGlvbkNsZWFyZWQnLFxuICAnc2VsZWN0aW9uQ3JlYXRlZCcsXG4gICdzZWxlY3Rpb25VcGRhdGVkJyxcblxuICAnYmVmb3JlVHJhbnNmb3JtJyxcbiAgJ2JlZm9yZVNlbGVjdGlvbkNsZWFyZWQnXG5dO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZhYnJpY0NvbmZpZ0ludGVyZmFjZSB7XG4gIGFsbG93VG91Y2hTY3JvbGxpbmc/OiBib29sZWFuLFxuICBhbHRBY3Rpb25LZXk/OiBzdHJpbmcsXG4gIGFsdFNlbGVjdGlvbktleT86IHN0cmluZyxcbiAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nIHwgYW55LFxuICBiYWNrZ3JvdW5kSW1hZ2U/OiBhbnksXG4gIGJhY2tncm91bmRWcHQ/OiBib29sZWFuLFxuICBjZW50ZXJlZEtleT86IHN0cmluZyxcbiAgY2VudGVyZWRSb3RhdGlvbj86IGJvb2xlYW4sXG4gIGNlbnRlcmVkU2NhbGluZz86IGJvb2xlYW4sXG4gIGNsaXBUbz86IEZhYnJpY0NsaXBUb0Z1bmN0aW9uLFxuICBjb250YWluZXJDbGFzcz86IHN0cmluZyxcbiAgY29udHJvbHNBYm92ZU92ZXJsYXk/OiBib29sZWFuLFxuICBkZWZhdWx0Q3Vyc29yPzogc3RyaW5nLFxuICBlbmFibGVSZXRpbmFTY2FsaW5nPzogYm9vbGVhbixcbiAgZmlyZU1pZGRsZUNsaWNrPzogYm9vbGVhbixcbiAgZmlyZVJpZ2h0Q2xpY2s/OiBib29sZWFuLFxuICBmcmVlRHJhd2luZ0N1cnNvcj86IHN0cmluZyxcbiAgRlhfRFVSQVRJT04/OiBudW1iZXIsXG4gIGhvdmVyQ3Vyc29yPzogc3RyaW5nLFxuICBpbWFnZVNtb290aGluZ0VuYWJsZWQ/OiBib29sZWFuLFxuICBpbmNsdWRlRGVmYXVsdFZhbHVlcz86IGJvb2xlYW4sXG4gIGludGVyYWN0aXZlPzogYm9vbGVhbixcbiAgaXNEcmF3aW5nTW9kZT86IGJvb2xlYW4sXG4gIG1vdmVDdXJzb3I/OiBzdHJpbmcsXG4gIG5vdEFsbG93ZWRDdXJzb3I/OiBzdHJpbmcsXG4gIG92ZXJsYXlDb2xvcj86IHN0cmluZyB8IGFueSxcbiAgb3ZlcmxheUltYWdlPzogYW55LFxuICBvdmVybGF5VnB0PzogYm9vbGVhbixcbiAgcGVyUGl4ZWxUYXJnZXRGaW5kPzogYm9vbGVhbixcbiAgcHJlc2VydmVPYmplY3RTdGFja2luZz86IGJvb2xlYW4sXG4gIHJlbmRlck9uQWRkUmVtb3ZlPzogYm9vbGVhbixcbiAgcm90YXRpb25DdXJzb3I/OiBzdHJpbmcsXG4gIHNlbGVjdGlvbj86IGJvb2xlYW4sXG4gIHNlbGVjdGlvbkJvcmRlckNvbG9yPzogc3RyaW5nLFxuICBzZWxlY3Rpb25Db2xvcj86IHN0cmluZyxcbiAgc2VsZWN0aW9uRGFzaEFycmF5PzogYW55W10sXG4gIHNlbGVjdGlvbktleT86IHN0cmluZyxcbiAgc2VsZWN0aW9uTGluZVdpZHRoPzogbnVtYmVyLFxuICBza2lwT2Zmc2NyZWVuPzogYm9vbGVhbixcbiAgc2tpcFRhcmdldEZpbmQ/OiBib29sZWFuLFxuICBzbmFwQW5nbGU/OiBudW1iZXIsXG4gIHNuYXBUaHJlc2hvbGQ/OiBudW1iZXIsXG4gIHN0YXRlZnVsPzogYm9vbGVhbixcbiAgc3RvcENvbnRleHRNZW51PzogYm9vbGVhbixcbiAgc3ZnVmlld3BvcnRUcmFuc2Zvcm1hdGlvbj86IGJvb2xlYW4sXG4gIHRhcmdldEZpbmRUb1RvbGVyYW5jZT86IG51bWJlcixcbiAgdW5pU2NhbGVLZXk/OiBzdHJpbmcsXG4gIHVuaVNjYWxlVHJhbnNmb3JtPzogYm9vbGVhbixcbiAgdmlld3BvcnRUcmFuc2Zvcm0/OiBhbnlbXSxcbiAgdnB0Q29vcmRzPzogYW55XG59XG5cbmV4cG9ydCBjbGFzcyBGYWJyaWNDb25maWcgaW1wbGVtZW50cyBGYWJyaWNDb25maWdJbnRlcmZhY2Uge1xuICBhbGxvd1RvdWNoU2Nyb2xsaW5nPzogYm9vbGVhbjtcbiAgYWx0QWN0aW9uS2V5Pzogc3RyaW5nO1xuICBhbHRTZWxlY3Rpb25LZXk/OiBzdHJpbmc7XG4gIGJhY2tncm91bmRDb2xvcj86IHN0cmluZyB8IGFueTtcbiAgYmFja2dyb3VuZEltYWdlPzogYW55O1xuICBiYWNrZ3JvdW5kVnB0PzogYm9vbGVhbjtcbiAgY2VudGVyZWRLZXk/OiBzdHJpbmc7XG4gIGNlbnRlcmVkUm90YXRpb24/OiBib29sZWFuO1xuICBjZW50ZXJlZFNjYWxpbmc/OiBib29sZWFuO1xuICBjbGlwVG8/OiBGYWJyaWNDbGlwVG9GdW5jdGlvbjtcbiAgY29udGFpbmVyQ2xhc3M/OiBzdHJpbmc7XG4gIGNvbnRyb2xzQWJvdmVPdmVybGF5PzogYm9vbGVhbjtcbiAgZGVmYXVsdEN1cnNvcj86IHN0cmluZztcbiAgZW5hYmxlUmV0aW5hU2NhbGluZz86IGJvb2xlYW47XG4gIGZpcmVNaWRkbGVDbGljaz86IGJvb2xlYW47XG4gIGZpcmVSaWdodENsaWNrPzogYm9vbGVhbjtcbiAgZnJlZURyYXdpbmdDdXJzb3I/OiBzdHJpbmc7XG4gIEZYX0RVUkFUSU9OPzogbnVtYmVyO1xuICBob3ZlckN1cnNvcj86IHN0cmluZztcbiAgaW1hZ2VTbW9vdGhpbmdFbmFibGVkPzogYm9vbGVhbjtcbiAgaW5jbHVkZURlZmF1bHRWYWx1ZXM/OiBib29sZWFuO1xuICBpbnRlcmFjdGl2ZT86IGJvb2xlYW47XG4gIGlzRHJhd2luZ01vZGU/OiBib29sZWFuO1xuICBtb3ZlQ3Vyc29yPzogc3RyaW5nO1xuICBub3RBbGxvd2VkQ3Vyc29yPzogc3RyaW5nO1xuICBvdmVybGF5Q29sb3I6IHN0cmluZyB8IGFueTtcbiAgb3ZlcmxheUltYWdlOiBhbnk7XG4gIG92ZXJsYXlWcHQ/OiBib29sZWFuO1xuICBwZXJQaXhlbFRhcmdldEZpbmQ/OiBib29sZWFuO1xuICBwcmVzZXJ2ZU9iamVjdFN0YWNraW5nPzogYm9vbGVhbjtcbiAgcmVuZGVyT25BZGRSZW1vdmU/OiBib29sZWFuO1xuICByb3RhdGlvbkN1cnNvcj86IHN0cmluZztcbiAgc2VsZWN0aW9uPzogYm9vbGVhbjtcbiAgc2VsZWN0aW9uQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gIHNlbGVjdGlvbkNvbG9yPzogc3RyaW5nO1xuICBzZWxlY3Rpb25EYXNoQXJyYXk/OiBhbnlbXTtcbiAgc2VsZWN0aW9uS2V5Pzogc3RyaW5nO1xuICBzZWxlY3Rpb25MaW5lV2lkdGg/OiBudW1iZXI7XG4gIHNraXBPZmZzY3JlZW4/OiBib29sZWFuO1xuICBza2lwVGFyZ2V0RmluZD86IGJvb2xlYW47XG4gIHNuYXBBbmdsZT86IG51bWJlcjtcbiAgc25hcFRocmVzaG9sZD86IG51bWJlcjtcbiAgc3RhdGVmdWw/OiBib29sZWFuO1xuICBzdG9wQ29udGV4dE1lbnU/OiBib29sZWFuO1xuICBzdmdWaWV3cG9ydFRyYW5zZm9ybWF0aW9uPzogYm9vbGVhbjtcbiAgdGFyZ2V0RmluZFRvVG9sZXJhbmNlPzogbnVtYmVyO1xuICB1bmlTY2FsZUtleT86IHN0cmluZztcbiAgdW5pU2NhbGVUcmFuc2Zvcm0/OiBib29sZWFuO1xuICB2aWV3cG9ydFRyYW5zZm9ybT86IGFueVtdO1xuICB2cHRDb29yZHM/OiBhbnk7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBGYWJyaWNDb25maWdJbnRlcmZhY2UgPSB7fSkge1xuICAgIHRoaXMuYXNzaWduKGNvbmZpZyk7XG4gIH1cblxuICBhc3NpZ24oY29uZmlnOiBGYWJyaWNDb25maWdJbnRlcmZhY2UgPSB7fSkge1xuICAgIGZvciAoY29uc3Qga2V5IGluIGNvbmZpZykge1xuICAgICAgdGhpc1trZXkgYXMga2V5b2YgRmFicmljQ29uZmlnXSA9IGNvbmZpZ1trZXkgYXMga2V5b2YgRmFicmljQ29uZmlnSW50ZXJmYWNlXSBhcyBuZXZlcjtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgRmFicmljQ2xpcFRvRnVuY3Rpb24gPSAoY3R4OiBhbnkpID0+IHZvaWQ7XG4iXX0=
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { FabricComponent } from './fabric.component';
|
|
4
|
-
import { FabricDirective } from './fabric.directive';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class FabricModule {
|
|
7
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FabricModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FabricModule, declarations: [FabricComponent, FabricDirective], imports: [CommonModule], exports: [CommonModule, FabricComponent, FabricDirective] });
|
|
9
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FabricModule, imports: [CommonModule, CommonModule] });
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FabricModule, decorators: [{
|
|
12
|
-
type: NgModule,
|
|
13
|
-
args: [{
|
|
14
|
-
declarations: [FabricComponent, FabricDirective],
|
|
15
|
-
imports: [CommonModule],
|
|
16
|
-
exports: [CommonModule, FabricComponent, FabricDirective],
|
|
17
|
-
providers: []
|
|
18
|
-
}]
|
|
19
|
-
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFicmljLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYi9zcmMvbGliL2ZhYnJpYy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFRckQsTUFBTSxPQUFPLFlBQVk7d0dBQVosWUFBWTt5R0FBWixZQUFZLGlCQUxQLGVBQWUsRUFBRSxlQUFlLGFBQ3JDLFlBQVksYUFDWixZQUFZLEVBQUUsZUFBZSxFQUFFLGVBQWU7eUdBRzlDLFlBQVksWUFKWixZQUFZLEVBQ1osWUFBWTs7NEZBR1osWUFBWTtrQkFOeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBRSxlQUFlLEVBQUUsZUFBZSxDQUFFO29CQUNsRCxPQUFPLEVBQUUsQ0FBRSxZQUFZLENBQUU7b0JBQ3pCLE9BQU8sRUFBRSxDQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsZUFBZSxDQUFFO29CQUMzRCxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBGYWJyaWNDb21wb25lbnQgfSBmcm9tICcuL2ZhYnJpYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmFicmljRGlyZWN0aXZlIH0gZnJvbSAnLi9mYWJyaWMuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbIEZhYnJpY0NvbXBvbmVudCwgRmFicmljRGlyZWN0aXZlIF0sXG4gIGltcG9ydHM6IFsgQ29tbW9uTW9kdWxlIF0sXG4gIGV4cG9ydHM6IFsgQ29tbW9uTW9kdWxlLCBGYWJyaWNDb21wb25lbnQsIEZhYnJpY0RpcmVjdGl2ZSBdLFxuICBwcm92aWRlcnM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIEZhYnJpY01vZHVsZSB7XG59XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWZhYnJpYy13cmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvbGliL3NyYy9uZ3gtZmFicmljLXdyYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
package/esm2022/public-api.mjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { FabricComponent } from './lib/fabric.component';
|
|
2
|
-
export { FabricDirective } from './lib/fabric.directive';
|
|
3
|
-
export { FABRIC_CONFIG, FabricConfig } from './lib/fabric.interfaces';
|
|
4
|
-
export { FabricModule } from './lib/fabric.module';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2xpYi9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXpELE9BQU8sRUFDTCxhQUFhLEVBRWIsWUFBWSxFQUViLE1BQU0seUJBQXlCLENBQUM7QUFFakMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgRmFicmljQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvZmFicmljLmNvbXBvbmVudCc7XG5leHBvcnQgeyBGYWJyaWNEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9mYWJyaWMuZGlyZWN0aXZlJztcblxuZXhwb3J0IHtcbiAgRkFCUklDX0NPTkZJRyxcblxuICBGYWJyaWNDb25maWcsXG4gIEZhYnJpY0NvbmZpZ0ludGVyZmFjZVxufSBmcm9tICcuL2xpYi9mYWJyaWMuaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCB7IEZhYnJpY01vZHVsZSB9IGZyb20gJy4vbGliL2ZhYnJpYy5tb2R1bGUnO1xuIl19
|
package/lib/fabric.module.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./fabric.component";
|
|
3
|
-
import * as i2 from "./fabric.directive";
|
|
4
|
-
import * as i3 from "@angular/common";
|
|
5
|
-
export declare class FabricModule {
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FabricModule, never>;
|
|
7
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<FabricModule, [typeof i1.FabricComponent, typeof i2.FabricDirective], [typeof i3.CommonModule], [typeof i3.CommonModule, typeof i1.FabricComponent, typeof i2.FabricDirective]>;
|
|
8
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<FabricModule>;
|
|
9
|
-
}
|