@wcardinal/wcardinal-ui 0.431.0 → 0.433.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.
Files changed (37) hide show
  1. package/dist/types/wcardinal/ui/d-diagram-canvas-editor-snap.d.ts +13 -2
  2. package/dist/types/wcardinal/ui/d-diagram-canvas-editor.d.ts +3 -1
  3. package/dist/wcardinal/ui/d-chart-selection-gridline-x.js +2 -1
  4. package/dist/wcardinal/ui/d-chart-selection-gridline-x.js.map +1 -1
  5. package/dist/wcardinal/ui/d-chart-selection-gridline-y.js +2 -1
  6. package/dist/wcardinal/ui/d-chart-selection-gridline-y.js.map +1 -1
  7. package/dist/wcardinal/ui/d-diagram-canvas-editor-snap.js +84 -24
  8. package/dist/wcardinal/ui/d-diagram-canvas-editor-snap.js.map +1 -1
  9. package/dist/wcardinal/ui/d-diagram-canvas-editor.js +22 -10
  10. package/dist/wcardinal/ui/d-diagram-canvas-editor.js.map +1 -1
  11. package/dist/wcardinal/ui/snapper/e-snapper-grid.js +1 -1
  12. package/dist/wcardinal/ui/snapper/e-snapper-grid.js.map +1 -1
  13. package/dist/wcardinal/ui/theme/dark/d-theme-dark-diagram-canvas-editor.js +13 -1
  14. package/dist/wcardinal/ui/theme/dark/d-theme-dark-diagram-canvas-editor.js.map +1 -1
  15. package/dist/wcardinal/ui/theme/white/d-theme-white-diagram-canvas-editor.js +13 -1
  16. package/dist/wcardinal/ui/theme/white/d-theme-white-diagram-canvas-editor.js.map +1 -1
  17. package/dist/wcardinal-ui-theme-dark-en-us.js +14 -2
  18. package/dist/wcardinal-ui-theme-dark-en-us.min.js +2 -2
  19. package/dist/wcardinal-ui-theme-dark-en-us.min.js.map +1 -1
  20. package/dist/wcardinal-ui-theme-dark-ja-jp.js +14 -2
  21. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +2 -2
  22. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js.map +1 -1
  23. package/dist/wcardinal-ui-theme-dark.js +14 -2
  24. package/dist/wcardinal-ui-theme-dark.min.js +2 -2
  25. package/dist/wcardinal-ui-theme-white-en-us.js +14 -2
  26. package/dist/wcardinal-ui-theme-white-en-us.min.js +2 -2
  27. package/dist/wcardinal-ui-theme-white-en-us.min.js.map +1 -1
  28. package/dist/wcardinal-ui-theme-white-ja-jp.js +14 -2
  29. package/dist/wcardinal-ui-theme-white-ja-jp.min.js +2 -2
  30. package/dist/wcardinal-ui-theme-white-ja-jp.min.js.map +1 -1
  31. package/dist/wcardinal-ui-theme-white.js +14 -2
  32. package/dist/wcardinal-ui-theme-white.min.js +2 -2
  33. package/dist/wcardinal-ui.cjs.js +138 -40
  34. package/dist/wcardinal-ui.js +112 -38
  35. package/dist/wcardinal-ui.min.js +2 -2
  36. package/dist/wcardinal-ui.min.js.map +1 -1
  37. package/package.json +1 -1
@@ -18,11 +18,12 @@ export interface DDiagramCanvasEditorSnapGridMinorOptions {
18
18
  width?: number;
19
19
  style?: EShapeStrokeStyle;
20
20
  }
21
- export type DDiagramCanvasEditorSnapGridSize = (given: number, width: number, height: number) => number;
21
+ export type DDiagramCanvasEditorSnapGridSize = (given: number, width: number, height: number, scale: number) => number;
22
22
  export interface DDiagramCanvasEditorSnapGridOptions {
23
23
  major?: DDiagramCanvasEditorSnapGridMajorOptions;
24
24
  minor?: DDiagramCanvasEditorSnapGridMinorOptions;
25
25
  size?: DDiagramCanvasEditorSnapGridSize;
26
+ adaptive?: boolean;
26
27
  }
27
28
  export interface DDiagramCanvasEditorSnapTargetOptions {
28
29
  color?: number;
@@ -84,7 +85,12 @@ export declare class DDiagramCanvasEditorSnap {
84
85
  protected _parent: DDiagramCanvasEditorSnapParent;
85
86
  protected _controller: ESnapper;
86
87
  protected _container: EShapeContainer;
88
+ protected _isDirty: boolean;
87
89
  protected _grid: DDiagramCanvasEditorSnapGrid;
90
+ protected _gridParentWidth: number;
91
+ protected _gridParentHeight: number;
92
+ protected _gridParentScale: number;
93
+ protected _gridSize: number;
88
94
  protected _target: DDiagramCanvasEditorSnapTarget;
89
95
  constructor(parent: DDiagramCanvasEditorSnapParent, theme: DThemeDiagramCanvasEditorSnap, options: DDiagramCanvasEditorSnapOptions);
90
96
  protected toGrid(theme: DThemeDiagramCanvasEditorSnap, options?: DDiagramCanvasEditorSnapGridOptions): DDiagramCanvasEditorSnapGrid;
@@ -94,6 +100,11 @@ export declare class DDiagramCanvasEditorSnap {
94
100
  protected onChange(): void;
95
101
  get container(): EShapeContainer;
96
102
  serialize(): DDiagramSerializedSnap;
97
- onReflow(): void;
103
+ onResize(newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void;
104
+ onScale(newX: number, newY: number, oldX: number, oldY: number): void;
105
+ protected updateGridSize(): void;
106
+ protected newGridSize(): number;
107
+ onRender(): void;
108
+ protected updateAll(): void;
98
109
  protected update(container: EShapeContainer, shapes: EShapeBar[], index: number, x: number, y: number, position: EShapeBarPosition, w: number, h: number, style: DDiagramCanvasEditorSnapGridMajor | DDiagramCanvasEditorSnapGridMinor | DDiagramCanvasEditorSnapTarget): void;
99
110
  }
@@ -19,6 +19,8 @@ export declare class DDiagramCanvasEditor<THEME extends DThemeDiagramCanvasEdito
19
19
  get shape(): DDiagramCanvasEditorShape;
20
20
  protected newShape(): DDiagramCanvasEditorShape;
21
21
  serialize(id?: number, thumbnail?: DDiagramCanvasEditorThumbnail): DDiagramSerialized;
22
- onReflow(): void;
22
+ onResize(newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void;
23
+ protected onScale(newX: number, newY: number, oldX: number, oldY: number): void;
24
+ render(renderer: PIXI.Renderer): void;
23
25
  protected getType(): string;
24
26
  }
@@ -16,7 +16,8 @@ var DChartSelectionGridlineX = /** @class */ (function (_super) {
16
16
  var bounds = container.plotArea.getSelectionBoundsX();
17
17
  shape.transform.position.set(mappedX, bounds.y + bounds.height * 0.5);
18
18
  shape.size.set(0, bounds.height);
19
- shape.visible = bounds.x <= mappedX && mappedX <= bounds.x + bounds.width;
19
+ var hw = shape.stroke.width * 0.5;
20
+ shape.visible = bounds.x <= mappedX + hw && mappedX - hw <= bounds.x + bounds.width;
20
21
  return true;
21
22
  }
22
23
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"d-chart-selection-gridline-x.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-chart-selection-gridline-x.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAIH,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAI1E;IAEU,4CAA+B;IAFzC;;IAwBA,CAAC;IArBS,yCAAM,GAAf,UACC,SAAuC,EACvC,QAAgB,EAChB,cAAsB,EACtB,MAAkC;QAElC,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,KAAK,EAAE;YACV,IAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC;YACjC,IAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;YACxD,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;YACtE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,IAAI,OAAO,IAAI,OAAO,IAAI,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;YAC1E,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAES,0CAAO,GAAjB;QACC,OAAO,0BAA0B,CAAC;IACnC,CAAC;IACF,+BAAC;AAAD,CAAC,AAxBD,CAEU,wBAAwB,GAsBjC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { IPoint } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport { DChartSelectionShapeBase } from \"./d-chart-selection-shape-base\";\nimport { DChartSeriesContainer } from \"./d-chart-series-container\";\nimport { DChartSeries } from \"./d-chart-series\";\n\nexport class DChartSelectionGridlineX<\n\tCHART extends DBase = DBase\n> extends DChartSelectionShapeBase<CHART> {\n\toverride update(\n\t\tcontainer: DChartSeriesContainer<CHART>,\n\t\tposition: IPoint,\n\t\tmappedPosition: IPoint,\n\t\tseries: DChartSeries<CHART> | null\n\t): boolean {\n\t\tconst shape = this._shape;\n\t\tif (shape) {\n\t\t\tconst mappedX = mappedPosition.x;\n\t\t\tconst bounds = container.plotArea.getSelectionBoundsX();\n\t\t\tshape.transform.position.set(mappedX, bounds.y + bounds.height * 0.5);\n\t\t\tshape.size.set(0, bounds.height);\n\t\t\tshape.visible = bounds.x <= mappedX && mappedX <= bounds.x + bounds.width;\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DChartSelectionGridlineX\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-chart-selection-gridline-x.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-chart-selection-gridline-x.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAIH,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAI1E;IAEU,4CAA+B;IAFzC;;IAyBA,CAAC;IAtBS,yCAAM,GAAf,UACC,SAAuC,EACvC,QAAgB,EAChB,cAAsB,EACtB,MAAkC;QAElC,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,KAAK,EAAE;YACV,IAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC;YACjC,IAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;YACxD,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;YACtE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,IAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;YACpC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,IAAI,OAAO,GAAG,EAAE,IAAI,OAAO,GAAG,EAAE,IAAI,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;YACpF,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAES,0CAAO,GAAjB;QACC,OAAO,0BAA0B,CAAC;IACnC,CAAC;IACF,+BAAC;AAAD,CAAC,AAzBD,CAEU,wBAAwB,GAuBjC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { IPoint } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport { DChartSelectionShapeBase } from \"./d-chart-selection-shape-base\";\nimport { DChartSeriesContainer } from \"./d-chart-series-container\";\nimport { DChartSeries } from \"./d-chart-series\";\n\nexport class DChartSelectionGridlineX<\n\tCHART extends DBase = DBase\n> extends DChartSelectionShapeBase<CHART> {\n\toverride update(\n\t\tcontainer: DChartSeriesContainer<CHART>,\n\t\tposition: IPoint,\n\t\tmappedPosition: IPoint,\n\t\tseries: DChartSeries<CHART> | null\n\t): boolean {\n\t\tconst shape = this._shape;\n\t\tif (shape) {\n\t\t\tconst mappedX = mappedPosition.x;\n\t\t\tconst bounds = container.plotArea.getSelectionBoundsX();\n\t\t\tshape.transform.position.set(mappedX, bounds.y + bounds.height * 0.5);\n\t\t\tshape.size.set(0, bounds.height);\n\t\t\tconst hw = shape.stroke.width * 0.5;\n\t\t\tshape.visible = bounds.x <= mappedX + hw && mappedX - hw <= bounds.x + bounds.width;\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DChartSelectionGridlineX\";\n\t}\n}\n"]}
@@ -16,7 +16,8 @@ var DChartSelectionGridlineY = /** @class */ (function (_super) {
16
16
  var bounds = container.plotArea.getSelectionBoundsY();
17
17
  shape.transform.position.set(bounds.x + bounds.width * 0.5, mappedY);
18
18
  shape.size.set(bounds.width, 0);
19
- shape.visible = bounds.y <= mappedY && mappedY <= bounds.y + bounds.height;
19
+ var hw = shape.stroke.width * 0.5;
20
+ shape.visible = bounds.y <= mappedY + hw && mappedY - hw <= bounds.y + bounds.height;
20
21
  return true;
21
22
  }
22
23
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"d-chart-selection-gridline-y.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-chart-selection-gridline-y.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAIH,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAI1E;IAEU,4CAA+B;IAFzC;;IAwBA,CAAC;IArBS,yCAAM,GAAf,UACC,SAAuC,EACvC,QAAgB,EAChB,cAAsB,EACtB,MAA2B;QAE3B,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,KAAK,EAAE;YACV,IAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC;YACjC,IAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;YACxD,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC;YACrE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAChC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,IAAI,OAAO,IAAI,OAAO,IAAI,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;YAC3E,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAES,0CAAO,GAAjB;QACC,OAAO,0BAA0B,CAAC;IACnC,CAAC;IACF,+BAAC;AAAD,CAAC,AAxBD,CAEU,wBAAwB,GAsBjC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { IPoint } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport { DChartSelectionShapeBase } from \"./d-chart-selection-shape-base\";\nimport { DChartSeriesContainer } from \"./d-chart-series-container\";\nimport { DChartSeries } from \"./d-chart-series\";\n\nexport class DChartSelectionGridlineY<\n\tCHART extends DBase = DBase\n> extends DChartSelectionShapeBase<CHART> {\n\toverride update(\n\t\tcontainer: DChartSeriesContainer<CHART>,\n\t\tposition: IPoint,\n\t\tmappedPosition: IPoint,\n\t\tseries: DChartSeries<CHART>\n\t): boolean {\n\t\tconst shape = this._shape;\n\t\tif (shape) {\n\t\t\tconst mappedY = mappedPosition.y;\n\t\t\tconst bounds = container.plotArea.getSelectionBoundsY();\n\t\t\tshape.transform.position.set(bounds.x + bounds.width * 0.5, mappedY);\n\t\t\tshape.size.set(bounds.width, 0);\n\t\t\tshape.visible = bounds.y <= mappedY && mappedY <= bounds.y + bounds.height;\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DChartSelectionGridlineY\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-chart-selection-gridline-y.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-chart-selection-gridline-y.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAIH,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAI1E;IAEU,4CAA+B;IAFzC;;IAyBA,CAAC;IAtBS,yCAAM,GAAf,UACC,SAAuC,EACvC,QAAgB,EAChB,cAAsB,EACtB,MAA2B;QAE3B,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,KAAK,EAAE;YACV,IAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC;YACjC,IAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;YACxD,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC;YACrE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAChC,IAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;YACpC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,IAAI,OAAO,GAAG,EAAE,IAAI,OAAO,GAAG,EAAE,IAAI,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;YACrF,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAES,0CAAO,GAAjB;QACC,OAAO,0BAA0B,CAAC;IACnC,CAAC;IACF,+BAAC;AAAD,CAAC,AAzBD,CAEU,wBAAwB,GAuBjC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { IPoint } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport { DChartSelectionShapeBase } from \"./d-chart-selection-shape-base\";\nimport { DChartSeriesContainer } from \"./d-chart-series-container\";\nimport { DChartSeries } from \"./d-chart-series\";\n\nexport class DChartSelectionGridlineY<\n\tCHART extends DBase = DBase\n> extends DChartSelectionShapeBase<CHART> {\n\toverride update(\n\t\tcontainer: DChartSeriesContainer<CHART>,\n\t\tposition: IPoint,\n\t\tmappedPosition: IPoint,\n\t\tseries: DChartSeries<CHART>\n\t): boolean {\n\t\tconst shape = this._shape;\n\t\tif (shape) {\n\t\t\tconst mappedY = mappedPosition.y;\n\t\t\tconst bounds = container.plotArea.getSelectionBoundsY();\n\t\t\tshape.transform.position.set(bounds.x + bounds.width * 0.5, mappedY);\n\t\t\tshape.size.set(bounds.width, 0);\n\t\t\tconst hw = shape.stroke.width * 0.5;\n\t\t\tshape.visible = bounds.y <= mappedY + hw && mappedY - hw <= bounds.y + bounds.height;\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DChartSelectionGridlineY\";\n\t}\n}\n"]}
@@ -12,6 +12,7 @@ var DDiagramCanvasEditorSnap = /** @class */ (function () {
12
12
  function DDiagramCanvasEditorSnap(parent, theme, options) {
13
13
  var _this = this;
14
14
  this._parent = parent;
15
+ this._isDirty = true;
15
16
  // Controller
16
17
  var controller = options.controller;
17
18
  this._controller = controller;
@@ -27,49 +28,84 @@ var DDiagramCanvasEditorSnap = /** @class */ (function () {
27
28
  parent.addChildAt(container, parent.children.length - 1);
28
29
  // Grid
29
30
  this._grid = this.toGrid(theme, options.grid);
31
+ this._gridParentWidth = parent.width;
32
+ this._gridParentHeight = parent.height;
33
+ this._gridParentScale = parent.scale.x;
34
+ this._gridSize = this.newGridSize();
30
35
  // Target
31
36
  this._target = this.toTarget(theme, options.target);
32
37
  }
33
38
  DDiagramCanvasEditorSnap.prototype.toGrid = function (theme, options) {
34
39
  var _a;
40
+ if (options != null) {
41
+ return {
42
+ major: this.toGridMajor(theme, options.major),
43
+ minor: this.toGridMinor(theme, options.minor),
44
+ size: (_a = options.size) !== null && _a !== void 0 ? _a : theme.getSnapGridSize()
45
+ };
46
+ }
35
47
  return {
36
- major: this.toGridMajor(theme, options === null || options === void 0 ? void 0 : options.major),
37
- minor: this.toGridMinor(theme, options === null || options === void 0 ? void 0 : options.minor),
38
- size: (_a = options === null || options === void 0 ? void 0 : options.size) !== null && _a !== void 0 ? _a : theme.getSnapGridSize()
48
+ major: this.toGridMajor(theme),
49
+ minor: this.toGridMinor(theme),
50
+ size: theme.getSnapGridSize()
39
51
  };
40
52
  };
41
53
  DDiagramCanvasEditorSnap.prototype.toGridMajor = function (theme, options) {
42
54
  var _a, _b, _c, _d, _e;
55
+ if (options != null) {
56
+ return {
57
+ interval: (_a = options.interval) !== null && _a !== void 0 ? _a : theme.getSnapGridMajorInterval(),
58
+ color: (_b = options.color) !== null && _b !== void 0 ? _b : theme.getSnapGridMajorColor(),
59
+ alpha: (_c = options.alpha) !== null && _c !== void 0 ? _c : theme.getSnapGridMajorAlpha(),
60
+ width: (_d = options.width) !== null && _d !== void 0 ? _d : theme.getSnapGridMajorWidth(),
61
+ style: (_e = options.style) !== null && _e !== void 0 ? _e : theme.getSnapGridMajorStyle()
62
+ };
63
+ }
43
64
  return {
44
- interval: (_a = options === null || options === void 0 ? void 0 : options.interval) !== null && _a !== void 0 ? _a : theme.getSnapGridMajorInterval(),
45
- color: (_b = options === null || options === void 0 ? void 0 : options.color) !== null && _b !== void 0 ? _b : theme.getSnapGridMajorColor(),
46
- alpha: (_c = options === null || options === void 0 ? void 0 : options.alpha) !== null && _c !== void 0 ? _c : theme.getSnapGridMajorAlpha(),
47
- width: (_d = options === null || options === void 0 ? void 0 : options.width) !== null && _d !== void 0 ? _d : theme.getSnapGridMajorWidth(),
48
- style: (_e = options === null || options === void 0 ? void 0 : options.style) !== null && _e !== void 0 ? _e : theme.getSnapGridMajorStyle()
65
+ interval: theme.getSnapGridMajorInterval(),
66
+ color: theme.getSnapGridMajorColor(),
67
+ alpha: theme.getSnapGridMajorAlpha(),
68
+ width: theme.getSnapGridMajorWidth(),
69
+ style: theme.getSnapGridMajorStyle()
49
70
  };
50
71
  };
51
72
  DDiagramCanvasEditorSnap.prototype.toGridMinor = function (theme, options) {
52
73
  var _a, _b, _c, _d;
74
+ if (options != null) {
75
+ return {
76
+ color: (_a = options.color) !== null && _a !== void 0 ? _a : theme.getSnapGridMinorColor(),
77
+ alpha: (_b = options.alpha) !== null && _b !== void 0 ? _b : theme.getSnapGridMinorAlpha(),
78
+ width: (_c = options.width) !== null && _c !== void 0 ? _c : theme.getSnapGridMinorWidth(),
79
+ style: (_d = options.style) !== null && _d !== void 0 ? _d : theme.getSnapGridMinorStyle()
80
+ };
81
+ }
53
82
  return {
54
- color: (_a = options === null || options === void 0 ? void 0 : options.color) !== null && _a !== void 0 ? _a : theme.getSnapGridMinorColor(),
55
- alpha: (_b = options === null || options === void 0 ? void 0 : options.alpha) !== null && _b !== void 0 ? _b : theme.getSnapGridMinorAlpha(),
56
- width: (_c = options === null || options === void 0 ? void 0 : options.width) !== null && _c !== void 0 ? _c : theme.getSnapGridMinorWidth(),
57
- style: (_d = options === null || options === void 0 ? void 0 : options.style) !== null && _d !== void 0 ? _d : theme.getSnapGridMinorStyle()
83
+ color: theme.getSnapGridMinorColor(),
84
+ alpha: theme.getSnapGridMinorAlpha(),
85
+ width: theme.getSnapGridMinorWidth(),
86
+ style: theme.getSnapGridMinorStyle()
58
87
  };
59
88
  };
60
89
  DDiagramCanvasEditorSnap.prototype.toTarget = function (theme, options) {
61
90
  var _a, _b, _c, _d;
91
+ if (options != null) {
92
+ return {
93
+ color: (_a = options.color) !== null && _a !== void 0 ? _a : theme.getSnapTargetColor(),
94
+ alpha: (_b = options.alpha) !== null && _b !== void 0 ? _b : theme.getSnapTargetAlpha(),
95
+ width: (_c = options.width) !== null && _c !== void 0 ? _c : theme.getSnapTargetWidth(),
96
+ style: (_d = options.style) !== null && _d !== void 0 ? _d : theme.getSnapTargetStyle()
97
+ };
98
+ }
62
99
  return {
63
- color: (_a = options === null || options === void 0 ? void 0 : options.color) !== null && _a !== void 0 ? _a : theme.getSnapTargetColor(),
64
- alpha: (_b = options === null || options === void 0 ? void 0 : options.alpha) !== null && _b !== void 0 ? _b : theme.getSnapTargetAlpha(),
65
- width: (_c = options === null || options === void 0 ? void 0 : options.width) !== null && _c !== void 0 ? _c : theme.getSnapTargetWidth(),
66
- style: (_d = options === null || options === void 0 ? void 0 : options.style) !== null && _d !== void 0 ? _d : theme.getSnapTargetStyle()
100
+ color: theme.getSnapTargetColor(),
101
+ alpha: theme.getSnapTargetAlpha(),
102
+ width: theme.getSnapTargetWidth(),
103
+ style: theme.getSnapTargetStyle()
67
104
  };
68
105
  };
69
106
  DDiagramCanvasEditorSnap.prototype.onChange = function () {
70
- var parent = this._parent;
71
- parent.toDirty();
72
- DApplications.update(parent);
107
+ this._isDirty = true;
108
+ DApplications.update(this._parent);
73
109
  };
74
110
  Object.defineProperty(DDiagramCanvasEditorSnap.prototype, "container", {
75
111
  get: function () {
@@ -81,15 +117,39 @@ var DDiagramCanvasEditorSnap = /** @class */ (function () {
81
117
  DDiagramCanvasEditorSnap.prototype.serialize = function () {
82
118
  return this._controller.serialize();
83
119
  };
84
- DDiagramCanvasEditorSnap.prototype.onReflow = function () {
85
- var parent = this._parent;
120
+ DDiagramCanvasEditorSnap.prototype.onResize = function (newWidth, newHeight, oldWidth, oldHeight) {
121
+ this._gridParentWidth = newWidth;
122
+ this._gridParentHeight = newHeight;
123
+ this.updateGridSize();
124
+ };
125
+ DDiagramCanvasEditorSnap.prototype.onScale = function (newX, newY, oldX, oldY) {
126
+ this._gridParentScale = newX;
127
+ this.updateGridSize();
128
+ };
129
+ DDiagramCanvasEditorSnap.prototype.updateGridSize = function () {
130
+ var gridSize = this.newGridSize();
131
+ if (this._gridSize !== gridSize) {
132
+ this._gridSize = gridSize;
133
+ this._isDirty = true;
134
+ }
135
+ };
136
+ DDiagramCanvasEditorSnap.prototype.newGridSize = function () {
137
+ return this._grid.size(this._controller.grid.size, this._gridParentWidth, this._gridParentHeight, this._gridParentScale);
138
+ };
139
+ DDiagramCanvasEditorSnap.prototype.onRender = function () {
140
+ if (this._isDirty) {
141
+ this._isDirty = false;
142
+ this.updateAll();
143
+ }
144
+ };
145
+ DDiagramCanvasEditorSnap.prototype.updateAll = function () {
86
146
  var container = this._container;
87
147
  var controller = this._controller;
88
148
  var isGridVisible = controller.grid.visible;
89
149
  var isTargetVisible = controller.target.visible;
90
150
  if (isGridVisible || isTargetVisible) {
91
- var w = parent.width;
92
- var h = parent.height;
151
+ var w = this._gridParentWidth;
152
+ var h = this._gridParentHeight;
93
153
  var wh = 0.5 * w;
94
154
  var hh = 0.5 * h;
95
155
  var TOP = EShapeBarPosition.TOP;
@@ -102,7 +162,7 @@ var DDiagramCanvasEditorSnap = /** @class */ (function () {
102
162
  var major = grid.major;
103
163
  var minor = grid.minor;
104
164
  var interval = major.interval;
105
- var size = grid.size(controller.grid.size, w, h);
165
+ var size = this._gridSize;
106
166
  for (var x = size, ix = 1; x < w; x += size, ix += 1, index += 1) {
107
167
  var style = ix % interval === 0 ? major : minor;
108
168
  this.update(container, shapes, index, x, hh, TOP, w, h, style);
@@ -1 +1 @@
1
- {"version":3,"file":"d-diagram-canvas-editor-snap.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram-canvas-editor-snap.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2021 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Container } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport { DDiagramSerializedSnap } from \"./d-diagram-serialized\";\nimport { EShapeContainer } from \"./shape/e-shape-container\";\nimport { EShapeStrokeStyle } from \"./shape/e-shape-stroke-style\";\nimport { EShapeBar } from \"./shape/variant/e-shape-bar\";\nimport { EShapeBarPosition } from \"./shape/variant/e-shape-bar-position\";\nimport { ESnapper } from \"./snapper/e-snapper\";\nimport { ESnapperTargetValueType } from \"./snapper/e-snapper-target-value\";\nimport { EShapeLockPart } from \"./shape/variant/e-shape-lock-part\";\n\nexport interface DDiagramCanvasEditorSnapGridMajorOptions {\n\tinterval?: number;\n\tcolor?: number;\n\talpha?: number;\n\twidth?: number;\n\tstyle?: EShapeStrokeStyle;\n}\n\nexport interface DDiagramCanvasEditorSnapGridMinorOptions {\n\tcolor?: number;\n\talpha?: number;\n\twidth?: number;\n\tstyle?: EShapeStrokeStyle;\n}\n\nexport type DDiagramCanvasEditorSnapGridSize = (\n\tgiven: number,\n\twidth: number,\n\theight: number\n) => number;\n\nexport interface DDiagramCanvasEditorSnapGridOptions {\n\tmajor?: DDiagramCanvasEditorSnapGridMajorOptions;\n\tminor?: DDiagramCanvasEditorSnapGridMinorOptions;\n\tsize?: DDiagramCanvasEditorSnapGridSize;\n}\n\nexport interface DDiagramCanvasEditorSnapTargetOptions {\n\tcolor?: number;\n\talpha?: number;\n\twidth?: number;\n\tstyle?: EShapeStrokeStyle;\n}\n\nexport interface DDiagramCanvasEditorSnapOptions {\n\tcontroller: ESnapper;\n\tgrid?: DDiagramCanvasEditorSnapGridOptions;\n\ttarget?: DDiagramCanvasEditorSnapTargetOptions;\n}\n\nexport interface DThemeDiagramCanvasEditorSnap {\n\tgetSnapGridMajorInterval(): number;\n\tgetSnapGridMajorColor(): number;\n\tgetSnapGridMajorAlpha(): number;\n\tgetSnapGridMajorWidth(): number;\n\tgetSnapGridMajorStyle(): EShapeStrokeStyle;\n\n\tgetSnapGridMinorColor(): number;\n\tgetSnapGridMinorAlpha(): number;\n\tgetSnapGridMinorWidth(): number;\n\tgetSnapGridMinorStyle(): EShapeStrokeStyle;\n\n\tgetSnapGridSize(): DDiagramCanvasEditorSnapGridSize;\n\n\tgetSnapTargetColor(): number;\n\tgetSnapTargetAlpha(): number;\n\tgetSnapTargetWidth(): number;\n\tgetSnapTargetStyle(): EShapeStrokeStyle;\n}\n\nexport interface DDiagramCanvasEditorSnapParent extends Container {\n\treadonly width: number;\n\treadonly height: number;\n\ttoDirty(): void;\n}\n\nexport interface DDiagramCanvasEditorSnapGridMajor {\n\tinterval: number;\n\tcolor: number;\n\talpha: number;\n\twidth: number;\n\tstyle: EShapeStrokeStyle;\n}\n\nexport interface DDiagramCanvasEditorSnapGridMinor {\n\tcolor: number;\n\talpha: number;\n\twidth: number;\n\tstyle: EShapeStrokeStyle;\n}\n\nexport interface DDiagramCanvasEditorSnapGrid {\n\tmajor: DDiagramCanvasEditorSnapGridMajor;\n\tminor: DDiagramCanvasEditorSnapGridMinor;\n\tsize: DDiagramCanvasEditorSnapGridSize;\n}\n\nexport interface DDiagramCanvasEditorSnapTarget {\n\tcolor: number;\n\talpha: number;\n\twidth: number;\n\tstyle: EShapeStrokeStyle;\n}\n\nexport class DDiagramCanvasEditorSnap {\n\tprotected _parent: DDiagramCanvasEditorSnapParent;\n\tprotected _controller: ESnapper;\n\tprotected _container: EShapeContainer;\n\tprotected _grid: DDiagramCanvasEditorSnapGrid;\n\tprotected _target: DDiagramCanvasEditorSnapTarget;\n\n\tconstructor(\n\t\tparent: DDiagramCanvasEditorSnapParent,\n\t\ttheme: DThemeDiagramCanvasEditorSnap,\n\t\toptions: DDiagramCanvasEditorSnapOptions\n\t) {\n\t\tthis._parent = parent;\n\n\t\t// Controller\n\t\tconst controller = options.controller;\n\t\tthis._controller = controller;\n\t\tconst onChangeBound = (): void => {\n\t\t\tthis.onChange();\n\t\t};\n\t\tcontroller.grid.on(\"change\", onChangeBound);\n\t\tcontroller.target.on(\"change\", onChangeBound);\n\n\t\t// Container\n\t\tconst container = new EShapeContainer();\n\t\tcontainer.visible = false;\n\t\tthis._container = container;\n\t\tparent.addChildAt(container, parent.children.length - 1);\n\n\t\t// Grid\n\t\tthis._grid = this.toGrid(theme, options.grid);\n\n\t\t// Target\n\t\tthis._target = this.toTarget(theme, options.target);\n\t}\n\n\tprotected toGrid(\n\t\ttheme: DThemeDiagramCanvasEditorSnap,\n\t\toptions?: DDiagramCanvasEditorSnapGridOptions\n\t): DDiagramCanvasEditorSnapGrid {\n\t\treturn {\n\t\t\tmajor: this.toGridMajor(theme, options?.major),\n\t\t\tminor: this.toGridMinor(theme, options?.minor),\n\t\t\tsize: options?.size ?? theme.getSnapGridSize()\n\t\t};\n\t}\n\n\tprotected toGridMajor(\n\t\ttheme: DThemeDiagramCanvasEditorSnap,\n\t\toptions?: DDiagramCanvasEditorSnapGridMajorOptions\n\t): DDiagramCanvasEditorSnapGridMajor {\n\t\treturn {\n\t\t\tinterval: options?.interval ?? theme.getSnapGridMajorInterval(),\n\t\t\tcolor: options?.color ?? theme.getSnapGridMajorColor(),\n\t\t\talpha: options?.alpha ?? theme.getSnapGridMajorAlpha(),\n\t\t\twidth: options?.width ?? theme.getSnapGridMajorWidth(),\n\t\t\tstyle: options?.style ?? theme.getSnapGridMajorStyle()\n\t\t};\n\t}\n\n\tprotected toGridMinor(\n\t\ttheme: DThemeDiagramCanvasEditorSnap,\n\t\toptions?: DDiagramCanvasEditorSnapGridMinorOptions\n\t): DDiagramCanvasEditorSnapGridMinor {\n\t\treturn {\n\t\t\tcolor: options?.color ?? theme.getSnapGridMinorColor(),\n\t\t\talpha: options?.alpha ?? theme.getSnapGridMinorAlpha(),\n\t\t\twidth: options?.width ?? theme.getSnapGridMinorWidth(),\n\t\t\tstyle: options?.style ?? theme.getSnapGridMinorStyle()\n\t\t};\n\t}\n\n\tprotected toTarget(\n\t\ttheme: DThemeDiagramCanvasEditorSnap,\n\t\toptions?: DDiagramCanvasEditorSnapTargetOptions\n\t): DDiagramCanvasEditorSnapTarget {\n\t\treturn {\n\t\t\tcolor: options?.color ?? theme.getSnapTargetColor(),\n\t\t\talpha: options?.alpha ?? theme.getSnapTargetAlpha(),\n\t\t\twidth: options?.width ?? theme.getSnapTargetWidth(),\n\t\t\tstyle: options?.style ?? theme.getSnapTargetStyle()\n\t\t};\n\t}\n\n\tprotected onChange(): void {\n\t\tconst parent = this._parent;\n\t\tparent.toDirty();\n\t\tDApplications.update(parent);\n\t}\n\n\tget container(): EShapeContainer {\n\t\treturn this._container;\n\t}\n\n\tserialize(): DDiagramSerializedSnap {\n\t\treturn this._controller.serialize();\n\t}\n\n\tonReflow(): void {\n\t\tconst parent = this._parent;\n\t\tconst container = this._container;\n\t\tconst controller = this._controller;\n\n\t\tconst isGridVisible = controller.grid.visible;\n\t\tconst isTargetVisible = controller.target.visible;\n\t\tif (isGridVisible || isTargetVisible) {\n\t\t\tconst w = parent.width;\n\t\t\tconst h = parent.height;\n\t\t\tconst wh = 0.5 * w;\n\t\t\tconst hh = 0.5 * h;\n\t\t\tconst TOP = EShapeBarPosition.TOP;\n\t\t\tconst LEFT = EShapeBarPosition.LEFT;\n\n\t\t\tconst shapes = container.children as EShapeBar[];\n\t\t\tlet index = 0;\n\n\t\t\t// Grid\n\t\t\tif (isGridVisible) {\n\t\t\t\tconst grid = this._grid;\n\t\t\t\tconst major = grid.major;\n\t\t\t\tconst minor = grid.minor;\n\t\t\t\tconst interval = major.interval;\n\t\t\t\tconst size = grid.size(controller.grid.size, w, h);\n\t\t\t\tfor (let x = size, ix = 1; x < w; x += size, ix += 1, index += 1) {\n\t\t\t\t\tconst style = ix % interval === 0 ? major : minor;\n\t\t\t\t\tthis.update(container, shapes, index, x, hh, TOP, w, h, style);\n\t\t\t\t}\n\t\t\t\tfor (let y = size, iy = 1; y < h; y += size, iy += 1, index += 1) {\n\t\t\t\t\tconst style = iy % interval === 0 ? major : minor;\n\t\t\t\t\tthis.update(container, shapes, index, wh, y, LEFT, w, h, style);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Target\n\t\t\tif (isTargetVisible) {\n\t\t\t\tconst values = controller.target.values;\n\t\t\t\tconst target = this._target;\n\t\t\t\tfor (let i = 0, imax = values.length; i < imax; i += 1, index += 1) {\n\t\t\t\t\tconst value = values[i];\n\t\t\t\t\tconst position = value.position;\n\t\t\t\t\tif (value.type === ESnapperTargetValueType.VERTICAL) {\n\t\t\t\t\t\tthis.update(container, shapes, index, position, hh, TOP, w, h, target);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.update(container, shapes, index, wh, position, LEFT, w, h, target);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (let i = index, imax = shapes.length; i < imax; ++i) {\n\t\t\t\tshapes[i].visible = false;\n\t\t\t}\n\n\t\t\tcontainer.visible = true;\n\t\t} else {\n\t\t\tcontainer.visible = false;\n\t\t}\n\t}\n\n\tprotected update(\n\t\tcontainer: EShapeContainer,\n\t\tshapes: EShapeBar[],\n\t\tindex: number,\n\t\tx: number,\n\t\ty: number,\n\t\tposition: EShapeBarPosition,\n\t\tw: number,\n\t\th: number,\n\t\tstyle:\n\t\t\t| DDiagramCanvasEditorSnapGridMajor\n\t\t\t| DDiagramCanvasEditorSnapGridMinor\n\t\t\t| DDiagramCanvasEditorSnapTarget\n\t): void {\n\t\tlet shape = null;\n\t\tif (index < shapes.length) {\n\t\t\tshape = shapes[index];\n\t\t\tshape.lock(EShapeLockPart.UPLOADED);\n\t\t\tshape.points.position = position;\n\t\t\tshape.transform.position.set(x, y);\n\t\t\tshape.stroke.set(\n\t\t\t\ttrue,\n\t\t\t\tstyle.color,\n\t\t\t\tstyle.alpha,\n\t\t\t\tstyle.width,\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\tstyle.style\n\t\t\t);\n\t\t\tshape.size.set(w, h);\n\t\t\tshape.visible = true;\n\t\t\tshape.unlock(EShapeLockPart.UPLOADED, true);\n\t\t} else {\n\t\t\tshape = new EShapeBar();\n\t\t\tshape.lock(EShapeLockPart.UPLOADED);\n\t\t\tshape.points.position = position;\n\t\t\tshape.transform.position.set(x, y);\n\t\t\tshape.stroke.set(\n\t\t\t\ttrue,\n\t\t\t\tstyle.color,\n\t\t\t\tstyle.alpha,\n\t\t\t\tstyle.width,\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\tstyle.style\n\t\t\t);\n\t\t\tshape.size.set(w, h);\n\t\t\tshape.visible = true;\n\t\t\tshape.unlock(EShapeLockPart.UPLOADED, true);\n\t\t\tshape.attach(container);\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-diagram-canvas-editor-snap.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram-canvas-editor-snap.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2021 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Container } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport { DDiagramSerializedSnap } from \"./d-diagram-serialized\";\nimport { EShapeContainer } from \"./shape/e-shape-container\";\nimport { EShapeStrokeStyle } from \"./shape/e-shape-stroke-style\";\nimport { EShapeBar } from \"./shape/variant/e-shape-bar\";\nimport { EShapeBarPosition } from \"./shape/variant/e-shape-bar-position\";\nimport { ESnapper } from \"./snapper/e-snapper\";\nimport { ESnapperTargetValueType } from \"./snapper/e-snapper-target-value\";\nimport { EShapeLockPart } from \"./shape/variant/e-shape-lock-part\";\n\nexport interface DDiagramCanvasEditorSnapGridMajorOptions {\n\tinterval?: number;\n\tcolor?: number;\n\talpha?: number;\n\twidth?: number;\n\tstyle?: EShapeStrokeStyle;\n}\n\nexport interface DDiagramCanvasEditorSnapGridMinorOptions {\n\tcolor?: number;\n\talpha?: number;\n\twidth?: number;\n\tstyle?: EShapeStrokeStyle;\n}\n\nexport type DDiagramCanvasEditorSnapGridSize = (\n\tgiven: number,\n\twidth: number,\n\theight: number,\n\tscale: number\n) => number;\n\nexport interface DDiagramCanvasEditorSnapGridOptions {\n\tmajor?: DDiagramCanvasEditorSnapGridMajorOptions;\n\tminor?: DDiagramCanvasEditorSnapGridMinorOptions;\n\tsize?: DDiagramCanvasEditorSnapGridSize;\n\tadaptive?: boolean;\n}\n\nexport interface DDiagramCanvasEditorSnapTargetOptions {\n\tcolor?: number;\n\talpha?: number;\n\twidth?: number;\n\tstyle?: EShapeStrokeStyle;\n}\n\nexport interface DDiagramCanvasEditorSnapOptions {\n\tcontroller: ESnapper;\n\tgrid?: DDiagramCanvasEditorSnapGridOptions;\n\ttarget?: DDiagramCanvasEditorSnapTargetOptions;\n}\n\nexport interface DThemeDiagramCanvasEditorSnap {\n\tgetSnapGridMajorInterval(): number;\n\tgetSnapGridMajorColor(): number;\n\tgetSnapGridMajorAlpha(): number;\n\tgetSnapGridMajorWidth(): number;\n\tgetSnapGridMajorStyle(): EShapeStrokeStyle;\n\n\tgetSnapGridMinorColor(): number;\n\tgetSnapGridMinorAlpha(): number;\n\tgetSnapGridMinorWidth(): number;\n\tgetSnapGridMinorStyle(): EShapeStrokeStyle;\n\n\tgetSnapGridSize(): DDiagramCanvasEditorSnapGridSize;\n\n\tgetSnapTargetColor(): number;\n\tgetSnapTargetAlpha(): number;\n\tgetSnapTargetWidth(): number;\n\tgetSnapTargetStyle(): EShapeStrokeStyle;\n}\n\nexport interface DDiagramCanvasEditorSnapParent extends Container {\n\treadonly width: number;\n\treadonly height: number;\n\ttoDirty(): void;\n}\n\nexport interface DDiagramCanvasEditorSnapGridMajor {\n\tinterval: number;\n\tcolor: number;\n\talpha: number;\n\twidth: number;\n\tstyle: EShapeStrokeStyle;\n}\n\nexport interface DDiagramCanvasEditorSnapGridMinor {\n\tcolor: number;\n\talpha: number;\n\twidth: number;\n\tstyle: EShapeStrokeStyle;\n}\n\nexport interface DDiagramCanvasEditorSnapGrid {\n\tmajor: DDiagramCanvasEditorSnapGridMajor;\n\tminor: DDiagramCanvasEditorSnapGridMinor;\n\tsize: DDiagramCanvasEditorSnapGridSize;\n}\n\nexport interface DDiagramCanvasEditorSnapTarget {\n\tcolor: number;\n\talpha: number;\n\twidth: number;\n\tstyle: EShapeStrokeStyle;\n}\n\nexport class DDiagramCanvasEditorSnap {\n\tprotected _parent: DDiagramCanvasEditorSnapParent;\n\tprotected _controller: ESnapper;\n\tprotected _container: EShapeContainer;\n\n\tprotected _isDirty: boolean;\n\n\tprotected _grid: DDiagramCanvasEditorSnapGrid;\n\tprotected _gridParentWidth: number;\n\tprotected _gridParentHeight: number;\n\tprotected _gridParentScale: number;\n\tprotected _gridSize: number;\n\n\tprotected _target: DDiagramCanvasEditorSnapTarget;\n\n\tconstructor(\n\t\tparent: DDiagramCanvasEditorSnapParent,\n\t\ttheme: DThemeDiagramCanvasEditorSnap,\n\t\toptions: DDiagramCanvasEditorSnapOptions\n\t) {\n\t\tthis._parent = parent;\n\t\tthis._isDirty = true;\n\n\t\t// Controller\n\t\tconst controller = options.controller;\n\t\tthis._controller = controller;\n\t\tconst onChangeBound = (): void => {\n\t\t\tthis.onChange();\n\t\t};\n\t\tcontroller.grid.on(\"change\", onChangeBound);\n\t\tcontroller.target.on(\"change\", onChangeBound);\n\n\t\t// Container\n\t\tconst container = new EShapeContainer();\n\t\tcontainer.visible = false;\n\t\tthis._container = container;\n\t\tparent.addChildAt(container, parent.children.length - 1);\n\n\t\t// Grid\n\t\tthis._grid = this.toGrid(theme, options.grid);\n\t\tthis._gridParentWidth = parent.width;\n\t\tthis._gridParentHeight = parent.height;\n\t\tthis._gridParentScale = parent.scale.x;\n\t\tthis._gridSize = this.newGridSize();\n\n\t\t// Target\n\t\tthis._target = this.toTarget(theme, options.target);\n\t}\n\n\tprotected toGrid(\n\t\ttheme: DThemeDiagramCanvasEditorSnap,\n\t\toptions?: DDiagramCanvasEditorSnapGridOptions\n\t): DDiagramCanvasEditorSnapGrid {\n\t\tif (options != null) {\n\t\t\treturn {\n\t\t\t\tmajor: this.toGridMajor(theme, options.major),\n\t\t\t\tminor: this.toGridMinor(theme, options.minor),\n\t\t\t\tsize: options.size ?? theme.getSnapGridSize()\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tmajor: this.toGridMajor(theme),\n\t\t\tminor: this.toGridMinor(theme),\n\t\t\tsize: theme.getSnapGridSize()\n\t\t};\n\t}\n\n\tprotected toGridMajor(\n\t\ttheme: DThemeDiagramCanvasEditorSnap,\n\t\toptions?: DDiagramCanvasEditorSnapGridMajorOptions\n\t): DDiagramCanvasEditorSnapGridMajor {\n\t\tif (options != null) {\n\t\t\treturn {\n\t\t\t\tinterval: options.interval ?? theme.getSnapGridMajorInterval(),\n\t\t\t\tcolor: options.color ?? theme.getSnapGridMajorColor(),\n\t\t\t\talpha: options.alpha ?? theme.getSnapGridMajorAlpha(),\n\t\t\t\twidth: options.width ?? theme.getSnapGridMajorWidth(),\n\t\t\t\tstyle: options.style ?? theme.getSnapGridMajorStyle()\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tinterval: theme.getSnapGridMajorInterval(),\n\t\t\tcolor: theme.getSnapGridMajorColor(),\n\t\t\talpha: theme.getSnapGridMajorAlpha(),\n\t\t\twidth: theme.getSnapGridMajorWidth(),\n\t\t\tstyle: theme.getSnapGridMajorStyle()\n\t\t};\n\t}\n\n\tprotected toGridMinor(\n\t\ttheme: DThemeDiagramCanvasEditorSnap,\n\t\toptions?: DDiagramCanvasEditorSnapGridMinorOptions\n\t): DDiagramCanvasEditorSnapGridMinor {\n\t\tif (options != null) {\n\t\t\treturn {\n\t\t\t\tcolor: options.color ?? theme.getSnapGridMinorColor(),\n\t\t\t\talpha: options.alpha ?? theme.getSnapGridMinorAlpha(),\n\t\t\t\twidth: options.width ?? theme.getSnapGridMinorWidth(),\n\t\t\t\tstyle: options.style ?? theme.getSnapGridMinorStyle()\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tcolor: theme.getSnapGridMinorColor(),\n\t\t\talpha: theme.getSnapGridMinorAlpha(),\n\t\t\twidth: theme.getSnapGridMinorWidth(),\n\t\t\tstyle: theme.getSnapGridMinorStyle()\n\t\t};\n\t}\n\n\tprotected toTarget(\n\t\ttheme: DThemeDiagramCanvasEditorSnap,\n\t\toptions?: DDiagramCanvasEditorSnapTargetOptions\n\t): DDiagramCanvasEditorSnapTarget {\n\t\tif (options != null) {\n\t\t\treturn {\n\t\t\t\tcolor: options.color ?? theme.getSnapTargetColor(),\n\t\t\t\talpha: options.alpha ?? theme.getSnapTargetAlpha(),\n\t\t\t\twidth: options.width ?? theme.getSnapTargetWidth(),\n\t\t\t\tstyle: options.style ?? theme.getSnapTargetStyle()\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tcolor: theme.getSnapTargetColor(),\n\t\t\talpha: theme.getSnapTargetAlpha(),\n\t\t\twidth: theme.getSnapTargetWidth(),\n\t\t\tstyle: theme.getSnapTargetStyle()\n\t\t};\n\t}\n\n\tprotected onChange(): void {\n\t\tthis._isDirty = true;\n\t\tDApplications.update(this._parent);\n\t}\n\n\tget container(): EShapeContainer {\n\t\treturn this._container;\n\t}\n\n\tserialize(): DDiagramSerializedSnap {\n\t\treturn this._controller.serialize();\n\t}\n\n\tonResize(newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void {\n\t\tthis._gridParentWidth = newWidth;\n\t\tthis._gridParentHeight = newHeight;\n\t\tthis.updateGridSize();\n\t}\n\n\tonScale(newX: number, newY: number, oldX: number, oldY: number): void {\n\t\tthis._gridParentScale = newX;\n\t\tthis.updateGridSize();\n\t}\n\n\tprotected updateGridSize(): void {\n\t\tconst gridSize = this.newGridSize();\n\t\tif (this._gridSize !== gridSize) {\n\t\t\tthis._gridSize = gridSize;\n\t\t\tthis._isDirty = true;\n\t\t}\n\t}\n\n\tprotected newGridSize(): number {\n\t\treturn this._grid.size(\n\t\t\tthis._controller.grid.size,\n\t\t\tthis._gridParentWidth,\n\t\t\tthis._gridParentHeight,\n\t\t\tthis._gridParentScale\n\t\t);\n\t}\n\n\tonRender(): void {\n\t\tif (this._isDirty) {\n\t\t\tthis._isDirty = false;\n\t\t\tthis.updateAll();\n\t\t}\n\t}\n\n\tprotected updateAll(): void {\n\t\tconst container = this._container;\n\t\tconst controller = this._controller;\n\n\t\tconst isGridVisible = controller.grid.visible;\n\t\tconst isTargetVisible = controller.target.visible;\n\t\tif (isGridVisible || isTargetVisible) {\n\t\t\tconst w = this._gridParentWidth;\n\t\t\tconst h = this._gridParentHeight;\n\t\t\tconst wh = 0.5 * w;\n\t\t\tconst hh = 0.5 * h;\n\t\t\tconst TOP = EShapeBarPosition.TOP;\n\t\t\tconst LEFT = EShapeBarPosition.LEFT;\n\n\t\t\tconst shapes = container.children as EShapeBar[];\n\t\t\tlet index = 0;\n\n\t\t\t// Grid\n\t\t\tif (isGridVisible) {\n\t\t\t\tconst grid = this._grid;\n\t\t\t\tconst major = grid.major;\n\t\t\t\tconst minor = grid.minor;\n\t\t\t\tconst interval = major.interval;\n\t\t\t\tconst size = this._gridSize;\n\t\t\t\tfor (let x = size, ix = 1; x < w; x += size, ix += 1, index += 1) {\n\t\t\t\t\tconst style = ix % interval === 0 ? major : minor;\n\t\t\t\t\tthis.update(container, shapes, index, x, hh, TOP, w, h, style);\n\t\t\t\t}\n\t\t\t\tfor (let y = size, iy = 1; y < h; y += size, iy += 1, index += 1) {\n\t\t\t\t\tconst style = iy % interval === 0 ? major : minor;\n\t\t\t\t\tthis.update(container, shapes, index, wh, y, LEFT, w, h, style);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Target\n\t\t\tif (isTargetVisible) {\n\t\t\t\tconst values = controller.target.values;\n\t\t\t\tconst target = this._target;\n\t\t\t\tfor (let i = 0, imax = values.length; i < imax; i += 1, index += 1) {\n\t\t\t\t\tconst value = values[i];\n\t\t\t\t\tconst position = value.position;\n\t\t\t\t\tif (value.type === ESnapperTargetValueType.VERTICAL) {\n\t\t\t\t\t\tthis.update(container, shapes, index, position, hh, TOP, w, h, target);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.update(container, shapes, index, wh, position, LEFT, w, h, target);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (let i = index, imax = shapes.length; i < imax; ++i) {\n\t\t\t\tshapes[i].visible = false;\n\t\t\t}\n\n\t\t\tcontainer.visible = true;\n\t\t} else {\n\t\t\tcontainer.visible = false;\n\t\t}\n\t}\n\n\tprotected update(\n\t\tcontainer: EShapeContainer,\n\t\tshapes: EShapeBar[],\n\t\tindex: number,\n\t\tx: number,\n\t\ty: number,\n\t\tposition: EShapeBarPosition,\n\t\tw: number,\n\t\th: number,\n\t\tstyle:\n\t\t\t| DDiagramCanvasEditorSnapGridMajor\n\t\t\t| DDiagramCanvasEditorSnapGridMinor\n\t\t\t| DDiagramCanvasEditorSnapTarget\n\t): void {\n\t\tlet shape = null;\n\t\tif (index < shapes.length) {\n\t\t\tshape = shapes[index];\n\t\t\tshape.lock(EShapeLockPart.UPLOADED);\n\t\t\tshape.points.position = position;\n\t\t\tshape.transform.position.set(x, y);\n\t\t\tshape.stroke.set(\n\t\t\t\ttrue,\n\t\t\t\tstyle.color,\n\t\t\t\tstyle.alpha,\n\t\t\t\tstyle.width,\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\tstyle.style\n\t\t\t);\n\t\t\tshape.size.set(w, h);\n\t\t\tshape.visible = true;\n\t\t\tshape.unlock(EShapeLockPart.UPLOADED, true);\n\t\t} else {\n\t\t\tshape = new EShapeBar();\n\t\t\tshape.lock(EShapeLockPart.UPLOADED);\n\t\t\tshape.points.position = position;\n\t\t\tshape.transform.position.set(x, y);\n\t\t\tshape.stroke.set(\n\t\t\t\ttrue,\n\t\t\t\tstyle.color,\n\t\t\t\tstyle.alpha,\n\t\t\t\tstyle.width,\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\tstyle.style\n\t\t\t);\n\t\t\tshape.size.set(w, h);\n\t\t\tshape.visible = true;\n\t\t\tshape.unlock(EShapeLockPart.UPLOADED, true);\n\t\t\tshape.attach(container);\n\t\t}\n\t}\n}\n"]}
@@ -31,12 +31,8 @@ var DDiagramCanvasEditor = /** @class */ (function (_super) {
31
31
  });
32
32
  Object.defineProperty(DDiagramCanvasEditor.prototype, "shape", {
33
33
  get: function () {
34
- var result = this._shape;
35
- if (result == null) {
36
- result = this.newShape();
37
- this._shape = result;
38
- }
39
- return result;
34
+ var _a;
35
+ return ((_a = this._shape) !== null && _a !== void 0 ? _a : (this._shape = this.newShape()));
40
36
  },
41
37
  enumerable: false,
42
38
  configurable: true
@@ -75,10 +71,26 @@ var DDiagramCanvasEditor = /** @class */ (function (_super) {
75
71
  thumbnail: thumbnail === null || thumbnail === void 0 ? void 0 : thumbnail.serialize()
76
72
  };
77
73
  };
78
- DDiagramCanvasEditor.prototype.onReflow = function () {
79
- var _a;
80
- _super.prototype.onReflow.call(this);
81
- (_a = this._snap) === null || _a === void 0 ? void 0 : _a.onReflow();
74
+ DDiagramCanvasEditor.prototype.onResize = function (newWidth, newHeight, oldWidth, oldHeight) {
75
+ var snap = this._snap;
76
+ if (snap != null) {
77
+ snap.onResize(newWidth, newHeight, oldWidth, oldHeight);
78
+ }
79
+ _super.prototype.onResize.call(this, newWidth, newHeight, oldWidth, oldHeight);
80
+ };
81
+ DDiagramCanvasEditor.prototype.onScale = function (newX, newY, oldX, oldY) {
82
+ var snap = this._snap;
83
+ if (snap != null) {
84
+ snap.onScale(newX, newY, oldX, oldY);
85
+ }
86
+ _super.prototype.onScale.call(this, newX, newY, oldX, oldY);
87
+ };
88
+ DDiagramCanvasEditor.prototype.render = function (renderer) {
89
+ var snap = this._snap;
90
+ if (snap != null) {
91
+ snap.onRender();
92
+ }
93
+ _super.prototype.render.call(this, renderer);
82
94
  };
83
95
  DDiagramCanvasEditor.prototype.getType = function () {
84
96
  return "DDiagramCanvasEditor";
@@ -1 +1 @@
1
- {"version":3,"file":"d-diagram-canvas-editor.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram-canvas-editor.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n\tDDiagramCanvasBase,\n\tDDiagramCanvasBaseOptions,\n\tDThemeDiagramCanvasBase\n} from \"./d-diagram-canvas-base\";\nimport { DDiagramCanvasEditorShape } from \"./d-diagram-canvas-editor-shape\";\nimport { DDiagramCanvasEditorShapeImpl } from \"./d-diagram-canvas-editor-shape-impl\";\nimport {\n\tDDiagramCanvasEditorSnap,\n\tDDiagramCanvasEditorSnapOptions,\n\tDThemeDiagramCanvasEditorSnap\n} from \"./d-diagram-canvas-editor-snap\";\nimport {\n\tDDiagramSerialized,\n\tDDiagramSerializedItem,\n\tDDiagramSerializedVersion\n} from \"./d-diagram-serialized\";\nimport { EShapeResourceManagerSerialization } from \"./shape/e-shape-resource-manager-serialization\";\nimport { isNumber } from \"./util/is-number\";\n\nexport interface DDiagramCanvasEditorOptions<\n\tTHEME extends DThemeDiagramCanvasEditor = DThemeDiagramCanvasEditor\n> extends DDiagramCanvasBaseOptions<THEME> {\n\tsnap?: DDiagramCanvasEditorSnapOptions;\n}\n\nexport interface DThemeDiagramCanvasEditor\n\textends DThemeDiagramCanvasBase,\n\t\tDThemeDiagramCanvasEditorSnap {}\n\nexport interface DDiagramCanvasEditorThumbnail {\n\tserialize(): string | undefined;\n}\n\nexport class DDiagramCanvasEditor<\n\tTHEME extends DThemeDiagramCanvasEditor = DThemeDiagramCanvasEditor,\n\tOPTIONS extends DDiagramCanvasEditorOptions<THEME> = DDiagramCanvasEditorOptions<THEME>\n> extends DDiagramCanvasBase<THEME, OPTIONS> {\n\tprotected _shape?: DDiagramCanvasEditorShape;\n\tprotected _snap: DDiagramCanvasEditorSnap | null;\n\n\tconstructor(options: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._snap = this.toSnap(this.theme, options.snap);\n\t}\n\n\tprotected toSnap(\n\t\ttheme: THEME,\n\t\toptions?: DDiagramCanvasEditorSnapOptions\n\t): DDiagramCanvasEditorSnap | null {\n\t\tif (options) {\n\t\t\treturn new DDiagramCanvasEditorSnap(this, theme, options);\n\t\t}\n\t\treturn null;\n\t}\n\n\tget snap(): DDiagramCanvasEditorSnap | null {\n\t\treturn this._snap;\n\t}\n\n\tget shape(): DDiagramCanvasEditorShape {\n\t\tlet result = this._shape;\n\t\tif (result == null) {\n\t\t\tresult = this.newShape();\n\t\t\tthis._shape = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newShape(): DDiagramCanvasEditorShape {\n\t\treturn new DDiagramCanvasEditorShapeImpl(this);\n\t}\n\n\tserialize(id?: number, thumbnail?: DDiagramCanvasEditorThumbnail): DDiagramSerialized {\n\t\tconst manager = new EShapeResourceManagerSerialization();\n\t\tconst items: DDiagramSerializedItem[] = [];\n\t\tconst background = this._background;\n\t\tconst backgroundColor = background.color;\n\t\tconst backgroundAlpha = background.alpha;\n\t\treturn {\n\t\t\tversion: DDiagramSerializedVersion,\n\t\t\tid,\n\t\t\tname: this.name,\n\t\t\tlabel: this.label,\n\t\t\twidth: this.width,\n\t\t\theight: this.height,\n\t\t\tcategory: this.category,\n\t\t\tsummary: this.summary,\n\t\t\tdescription: this.description,\n\t\t\tbackground: {\n\t\t\t\tcolor: isNumber(backgroundColor) ? backgroundColor : 0xffffff,\n\t\t\t\talpha: isNumber(backgroundAlpha) ? backgroundAlpha : 0\n\t\t\t},\n\t\t\ttile: this._tile.serialize(),\n\t\t\tresources: manager.resources,\n\t\t\tdata: manager.data,\n\t\t\tpieces: manager.pieces,\n\t\t\tlayers: this._layer.serialize(manager, items),\n\t\t\titems,\n\t\t\tsnap: this._snap?.serialize(),\n\t\t\tthumbnail: thumbnail?.serialize()\n\t\t};\n\t}\n\n\tonReflow(): void {\n\t\tsuper.onReflow();\n\t\tthis._snap?.onReflow();\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagramCanvasEditor\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-diagram-canvas-editor.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram-canvas-editor.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n\tDDiagramCanvasBase,\n\tDDiagramCanvasBaseOptions,\n\tDThemeDiagramCanvasBase\n} from \"./d-diagram-canvas-base\";\nimport { DDiagramCanvasEditorShape } from \"./d-diagram-canvas-editor-shape\";\nimport { DDiagramCanvasEditorShapeImpl } from \"./d-diagram-canvas-editor-shape-impl\";\nimport {\n\tDDiagramCanvasEditorSnap,\n\tDDiagramCanvasEditorSnapOptions,\n\tDThemeDiagramCanvasEditorSnap\n} from \"./d-diagram-canvas-editor-snap\";\nimport {\n\tDDiagramSerialized,\n\tDDiagramSerializedItem,\n\tDDiagramSerializedVersion\n} from \"./d-diagram-serialized\";\nimport { EShapeResourceManagerSerialization } from \"./shape/e-shape-resource-manager-serialization\";\nimport { isNumber } from \"./util/is-number\";\n\nexport interface DDiagramCanvasEditorOptions<\n\tTHEME extends DThemeDiagramCanvasEditor = DThemeDiagramCanvasEditor\n> extends DDiagramCanvasBaseOptions<THEME> {\n\tsnap?: DDiagramCanvasEditorSnapOptions;\n}\n\nexport interface DThemeDiagramCanvasEditor\n\textends DThemeDiagramCanvasBase,\n\t\tDThemeDiagramCanvasEditorSnap {}\n\nexport interface DDiagramCanvasEditorThumbnail {\n\tserialize(): string | undefined;\n}\n\nexport class DDiagramCanvasEditor<\n\tTHEME extends DThemeDiagramCanvasEditor = DThemeDiagramCanvasEditor,\n\tOPTIONS extends DDiagramCanvasEditorOptions<THEME> = DDiagramCanvasEditorOptions<THEME>\n> extends DDiagramCanvasBase<THEME, OPTIONS> {\n\tprotected _shape?: DDiagramCanvasEditorShape;\n\tprotected _snap: DDiagramCanvasEditorSnap | null;\n\n\tconstructor(options: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._snap = this.toSnap(this.theme, options.snap);\n\t}\n\n\tprotected toSnap(\n\t\ttheme: THEME,\n\t\toptions?: DDiagramCanvasEditorSnapOptions\n\t): DDiagramCanvasEditorSnap | null {\n\t\tif (options) {\n\t\t\treturn new DDiagramCanvasEditorSnap(this, theme, options);\n\t\t}\n\t\treturn null;\n\t}\n\n\tget snap(): DDiagramCanvasEditorSnap | null {\n\t\treturn this._snap;\n\t}\n\n\tget shape(): DDiagramCanvasEditorShape {\n\t\treturn (this._shape ??= this.newShape());\n\t}\n\n\tprotected newShape(): DDiagramCanvasEditorShape {\n\t\treturn new DDiagramCanvasEditorShapeImpl(this);\n\t}\n\n\tserialize(id?: number, thumbnail?: DDiagramCanvasEditorThumbnail): DDiagramSerialized {\n\t\tconst manager = new EShapeResourceManagerSerialization();\n\t\tconst items: DDiagramSerializedItem[] = [];\n\t\tconst background = this._background;\n\t\tconst backgroundColor = background.color;\n\t\tconst backgroundAlpha = background.alpha;\n\t\treturn {\n\t\t\tversion: DDiagramSerializedVersion,\n\t\t\tid,\n\t\t\tname: this.name,\n\t\t\tlabel: this.label,\n\t\t\twidth: this.width,\n\t\t\theight: this.height,\n\t\t\tcategory: this.category,\n\t\t\tsummary: this.summary,\n\t\t\tdescription: this.description,\n\t\t\tbackground: {\n\t\t\t\tcolor: isNumber(backgroundColor) ? backgroundColor : 0xffffff,\n\t\t\t\talpha: isNumber(backgroundAlpha) ? backgroundAlpha : 0\n\t\t\t},\n\t\t\ttile: this._tile.serialize(),\n\t\t\tresources: manager.resources,\n\t\t\tdata: manager.data,\n\t\t\tpieces: manager.pieces,\n\t\t\tlayers: this._layer.serialize(manager, items),\n\t\t\titems,\n\t\t\tsnap: this._snap?.serialize(),\n\t\t\tthumbnail: thumbnail?.serialize()\n\t\t};\n\t}\n\n\toverride onResize(\n\t\tnewWidth: number,\n\t\tnewHeight: number,\n\t\toldWidth: number,\n\t\toldHeight: number\n\t): void {\n\t\tconst snap = this._snap;\n\t\tif (snap != null) {\n\t\t\tsnap.onResize(newWidth, newHeight, oldWidth, oldHeight);\n\t\t}\n\t\tsuper.onResize(newWidth, newHeight, oldWidth, oldHeight);\n\t}\n\n\tprotected override onScale(newX: number, newY: number, oldX: number, oldY: number): void {\n\t\tconst snap = this._snap;\n\t\tif (snap != null) {\n\t\t\tsnap.onScale(newX, newY, oldX, oldY);\n\t\t}\n\t\tsuper.onScale(newX, newY, oldX, oldY);\n\t}\n\n\toverride render(renderer: PIXI.Renderer): void {\n\t\tconst snap = this._snap;\n\t\tif (snap != null) {\n\t\t\tsnap.onRender();\n\t\t}\n\t\tsuper.render(renderer);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagramCanvasEditor\";\n\t}\n}\n"]}
@@ -78,7 +78,7 @@ var ESnapperGrid = /** @class */ (function (_super) {
78
78
  this.size = serialized[2];
79
79
  }
80
80
  else {
81
- this.visible = false;
81
+ this.visible = this._isVisibleDefault;
82
82
  this.size = serialized[1];
83
83
  }
84
84
  };
@@ -1 +1 @@
1
- {"version":3,"file":"e-snapper-grid.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/snapper/e-snapper-grid.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DDiagramSerializedSnapGrid } from \"../d-diagram-serialized\";\nimport { ESnapperResult } from \"./e-snapper-result\";\n\nexport interface ESnapperGridOptions {\n\tvisible?: boolean;\n\tenable?: boolean;\n\tsize?: number;\n}\nexport interface EThemeSnapperGrid {\n\tisSnapGridVisible(): boolean;\n\tisSnapGridEnabled(): boolean;\n\tgetSnapGridSize(): number;\n}\n\nexport class ESnapperGrid extends utils.EventEmitter {\n\tprotected _isEnabled: boolean;\n\tprotected _isEnabledDefault: boolean;\n\tprotected _size: number;\n\tprotected _sizeDefault: number;\n\tprotected _isVisible: boolean;\n\tprotected _isVisibleDefault: boolean;\n\n\tconstructor(theme: EThemeSnapperGrid, options?: ESnapperGridOptions) {\n\t\tsuper();\n\t\tthis._isVisibleDefault = options?.visible ?? theme.isSnapGridVisible();\n\t\tthis._isVisible = this._isVisibleDefault;\n\t\tthis._isEnabledDefault = options?.enable ?? theme.isSnapGridEnabled();\n\t\tthis._isEnabled = this._isEnabledDefault;\n\t\tthis._sizeDefault = options?.size ?? theme.getSnapGridSize();\n\t\tthis._size = this._sizeDefault;\n\t}\n\n\tget visible(): boolean {\n\t\treturn this._isVisible;\n\t}\n\n\tset visible(visible: boolean) {\n\t\tif (this._isVisible !== visible) {\n\t\t\tthis._isVisible = visible;\n\t\t\tthis.emit(\"change\", this);\n\t\t}\n\t}\n\n\tget enable(): boolean {\n\t\treturn this._isEnabled;\n\t}\n\n\tset enable(enable: boolean) {\n\t\tif (this._isEnabled !== enable) {\n\t\t\tthis._isEnabled = enable;\n\t\t\tthis.emit(\"change\", this);\n\t\t}\n\t}\n\n\tget size(): number {\n\t\treturn this._size;\n\t}\n\n\tset size(size: number) {\n\t\tif (this._size !== size) {\n\t\t\tthis._size = size;\n\t\t\tthis.emit(\"change\", size, this);\n\t\t}\n\t}\n\n\tsnap(value: number, result: ESnapperResult): void {\n\t\tif (this._isEnabled) {\n\t\t\tconst size = this._size;\n\t\t\tresult.set(value, Math.round(value / size) * size);\n\t\t}\n\t}\n\n\treset(): void {\n\t\tthis._isVisible = this._isVisibleDefault;\n\t\tthis._isEnabled = this._isEnabledDefault;\n\t\tthis._size = this._sizeDefault;\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tserialize(): DDiagramSerializedSnapGrid {\n\t\treturn [this._isEnabled ? 1 : 0, this._isVisible ? 1 : 0, this._size];\n\t}\n\n\tdeserialize(serialized: DDiagramSerializedSnapGrid): void {\n\t\tthis.enable = !!serialized[0];\n\t\tif (2 in serialized) {\n\t\t\tthis.visible = !!serialized[1];\n\t\t\tthis.size = (serialized as any)[2];\n\t\t} else {\n\t\t\tthis.visible = false;\n\t\t\tthis.size = serialized[1];\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-snapper-grid.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/snapper/e-snapper-grid.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DDiagramSerializedSnapGrid } from \"../d-diagram-serialized\";\nimport { ESnapperResult } from \"./e-snapper-result\";\n\nexport interface ESnapperGridOptions {\n\tvisible?: boolean;\n\tenable?: boolean;\n\tsize?: number;\n}\nexport interface EThemeSnapperGrid {\n\tisSnapGridVisible(): boolean;\n\tisSnapGridEnabled(): boolean;\n\tgetSnapGridSize(): number;\n}\n\nexport class ESnapperGrid extends utils.EventEmitter {\n\tprotected _isEnabled: boolean;\n\tprotected _isEnabledDefault: boolean;\n\tprotected _size: number;\n\tprotected _sizeDefault: number;\n\tprotected _isVisible: boolean;\n\tprotected _isVisibleDefault: boolean;\n\n\tconstructor(theme: EThemeSnapperGrid, options?: ESnapperGridOptions) {\n\t\tsuper();\n\t\tthis._isVisibleDefault = options?.visible ?? theme.isSnapGridVisible();\n\t\tthis._isVisible = this._isVisibleDefault;\n\t\tthis._isEnabledDefault = options?.enable ?? theme.isSnapGridEnabled();\n\t\tthis._isEnabled = this._isEnabledDefault;\n\t\tthis._sizeDefault = options?.size ?? theme.getSnapGridSize();\n\t\tthis._size = this._sizeDefault;\n\t}\n\n\tget visible(): boolean {\n\t\treturn this._isVisible;\n\t}\n\n\tset visible(visible: boolean) {\n\t\tif (this._isVisible !== visible) {\n\t\t\tthis._isVisible = visible;\n\t\t\tthis.emit(\"change\", this);\n\t\t}\n\t}\n\n\tget enable(): boolean {\n\t\treturn this._isEnabled;\n\t}\n\n\tset enable(enable: boolean) {\n\t\tif (this._isEnabled !== enable) {\n\t\t\tthis._isEnabled = enable;\n\t\t\tthis.emit(\"change\", this);\n\t\t}\n\t}\n\n\tget size(): number {\n\t\treturn this._size;\n\t}\n\n\tset size(size: number) {\n\t\tif (this._size !== size) {\n\t\t\tthis._size = size;\n\t\t\tthis.emit(\"change\", size, this);\n\t\t}\n\t}\n\n\tsnap(value: number, result: ESnapperResult): void {\n\t\tif (this._isEnabled) {\n\t\t\tconst size = this._size;\n\t\t\tresult.set(value, Math.round(value / size) * size);\n\t\t}\n\t}\n\n\treset(): void {\n\t\tthis._isVisible = this._isVisibleDefault;\n\t\tthis._isEnabled = this._isEnabledDefault;\n\t\tthis._size = this._sizeDefault;\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tserialize(): DDiagramSerializedSnapGrid {\n\t\treturn [this._isEnabled ? 1 : 0, this._isVisible ? 1 : 0, this._size];\n\t}\n\n\tdeserialize(serialized: DDiagramSerializedSnapGrid): void {\n\t\tthis.enable = !!serialized[0];\n\t\tif (2 in serialized) {\n\t\t\tthis.visible = !!serialized[1];\n\t\t\tthis.size = (serialized as any)[2];\n\t\t} else {\n\t\t\tthis.visible = this._isVisibleDefault;\n\t\t\tthis.size = serialized[1];\n\t\t}\n\t}\n}\n"]}
@@ -6,9 +6,21 @@ import { __extends } from "tslib";
6
6
  import { EShapeStrokeStyle } from "../../shape/e-shape-stroke-style";
7
7
  import { DThemeDarkConstants } from "./d-theme-dark-constants";
8
8
  import { DThemeDarkDiagramCanvasBase } from "./d-theme-dark-diagram-canvas-base";
9
- var toGridSize = function (grid, width, height) {
9
+ var toGridScale = function (scale) {
10
+ if (scale <= 0 || 1 <= scale) {
11
+ return 1;
12
+ }
13
+ var target = 1 / scale;
14
+ var result = 1;
15
+ while (result < target && result < Number.MAX_SAFE_INTEGER) {
16
+ result <<= 1;
17
+ }
18
+ return result;
19
+ };
20
+ var toGridSize = function (grid, width, height, scale) {
10
21
  var canvas = Math.max(width, height);
11
22
  if (0 < grid) {
23
+ grid *= toGridScale(scale);
12
24
  var minimum = canvas / 1000;
13
25
  for (var i = 0; i < 10 && grid < minimum; ++i) {
14
26
  grid *= 10;
@@ -1 +1 @@
1
- {"version":3,"file":"d-theme-dark-diagram-canvas-editor.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/theme/dark/d-theme-dark-diagram-canvas-editor.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAKH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEjF,IAAM,UAAU,GAAG,UAAC,IAAY,EAAE,KAAa,EAAE,MAAc;IAC9D,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG,IAAI,EAAE;QACb,IAAM,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,IAAI,GAAG,OAAO,EAAE,EAAE,CAAC,EAAE;YAC9C,IAAI,IAAI,EAAE,CAAC;SACX;QACD,IAAI,OAAO,IAAI,IAAI,EAAE;YACpB,OAAO,IAAI,CAAC;SACZ;KACD;IACD,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF;IACS,iDAA2B;IADpC;;IAuEA,CAAC;IAnES,iDAAS,GAAlB;QACC,OAAO,KAAK,CAAC;IACd,CAAC;IAEQ,2DAAmB,GAA5B;QACC,OAAO,IAAI,CAAC;IACb,CAAC;IAEQ,uDAAe,GAAxB,UAAyB,KAAoB;QAC5C,OAAO,IAAI,CAAC;IACb,CAAC;IAED,gEAAwB,GAAxB;QACC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,6DAAqB,GAArB;QACC,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,6DAAqB,GAArB;QACC,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,6DAAqB,GAArB;;QACC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAA,MAAM,CAAC,gBAAgB,mCAAI,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,6DAAqB,GAArB;QACC,OAAO,iBAAiB,CAAC,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC;IACjE,CAAC;IAED,6DAAqB,GAArB;QACC,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACrC,CAAC;IAED,6DAAqB,GAArB;QACC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,6DAAqB,GAArB;QACC,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACrC,CAAC;IAED,6DAAqB,GAArB;QACC,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACrC,CAAC;IAED,uDAAe,GAAf;QACC,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,0DAAkB,GAAlB;QACC,OAAO,mBAAmB,CAAC,eAAe,CAAC;IAC5C,CAAC;IAED,0DAAkB,GAAlB;QACC,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,0DAAkB,GAAlB;QACC,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACrC,CAAC;IAED,0DAAkB,GAAlB;QACC,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACrC,CAAC;IACF,oCAAC;AAAD,CAAC,AAvED,CACS,2BAA2B,GAsEnC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DBaseStateSet } from \"../../d-base-state-set\";\nimport { DThemeDiagramCanvasEditor } from \"../../d-diagram-canvas-editor\";\nimport { DDiagramCanvasEditorSnapGridSize } from \"../../d-diagram-canvas-editor-snap\";\nimport { EShapeStrokeStyle } from \"../../shape/e-shape-stroke-style\";\nimport { DThemeDarkConstants } from \"./d-theme-dark-constants\";\nimport { DThemeDarkDiagramCanvasBase } from \"./d-theme-dark-diagram-canvas-base\";\n\nconst toGridSize = (grid: number, width: number, height: number): number => {\n\tconst canvas = Math.max(width, height);\n\tif (0 < grid) {\n\t\tconst minimum = canvas / 1000;\n\t\tfor (let i = 0; i < 10 && grid < minimum; ++i) {\n\t\t\tgrid *= 10;\n\t\t}\n\t\tif (minimum <= grid) {\n\t\t\treturn grid;\n\t\t}\n\t}\n\treturn canvas;\n};\n\nexport class DThemeDarkDiagramCanvasEditor\n\textends DThemeDarkDiagramCanvasBase\n\timplements DThemeDiagramCanvasEditor\n{\n\toverride isAmbient(): boolean {\n\t\treturn false;\n\t}\n\n\toverride getLocalBoundsLimit(): number {\n\t\treturn 1000;\n\t}\n\n\toverride getOutlineColor(state: DBaseStateSet): number | null {\n\t\treturn null;\n\t}\n\n\tgetSnapGridMajorInterval(): number {\n\t\treturn 10;\n\t}\n\n\tgetSnapGridMajorColor(): number {\n\t\treturn 0x999999;\n\t}\n\n\tgetSnapGridMajorAlpha(): number {\n\t\treturn 0.5;\n\t}\n\n\tgetSnapGridMajorWidth(): number {\n\t\treturn Math.max(1, 2 / (window.devicePixelRatio ?? 1));\n\t}\n\n\tgetSnapGridMajorStyle(): EShapeStrokeStyle {\n\t\treturn EShapeStrokeStyle.DASHED | EShapeStrokeStyle.NON_SCALING;\n\t}\n\n\tgetSnapGridMinorColor(): number {\n\t\treturn this.getSnapGridMajorColor();\n\t}\n\n\tgetSnapGridMinorAlpha(): number {\n\t\treturn 0.125;\n\t}\n\n\tgetSnapGridMinorWidth(): number {\n\t\treturn this.getSnapGridMajorWidth();\n\t}\n\n\tgetSnapGridMinorStyle(): EShapeStrokeStyle {\n\t\treturn this.getSnapGridMajorStyle();\n\t}\n\n\tgetSnapGridSize(): DDiagramCanvasEditorSnapGridSize {\n\t\treturn toGridSize;\n\t}\n\n\tgetSnapTargetColor(): number {\n\t\treturn DThemeDarkConstants.HIGHLIGHT_COLOR;\n\t}\n\n\tgetSnapTargetAlpha(): number {\n\t\treturn 1.0;\n\t}\n\n\tgetSnapTargetWidth(): number {\n\t\treturn this.getSnapGridMajorWidth();\n\t}\n\n\tgetSnapTargetStyle(): EShapeStrokeStyle {\n\t\treturn this.getSnapGridMajorStyle();\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-theme-dark-diagram-canvas-editor.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/theme/dark/d-theme-dark-diagram-canvas-editor.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DBaseStateSet } from \"../../d-base-state-set\";\nimport { DThemeDiagramCanvasEditor } from \"../../d-diagram-canvas-editor\";\nimport { DDiagramCanvasEditorSnapGridSize } from \"../../d-diagram-canvas-editor-snap\";\nimport { EShapeStrokeStyle } from \"../../shape/e-shape-stroke-style\";\nimport { DThemeDarkConstants } from \"./d-theme-dark-constants\";\nimport { DThemeDarkDiagramCanvasBase } from \"./d-theme-dark-diagram-canvas-base\";\n\nconst toGridScale = (scale: number): number => {\n\tif (scale <= 0 || 1 <= scale) {\n\t\treturn 1;\n\t}\n\tconst target = 1 / scale;\n\tlet result = 1;\n\twhile (result < target && result < Number.MAX_SAFE_INTEGER) {\n\t\tresult <<= 1;\n\t}\n\treturn result;\n};\n\nconst toGridSize = (grid: number, width: number, height: number, scale: number): number => {\n\tconst canvas = Math.max(width, height);\n\tif (0 < grid) {\n\t\tgrid *= toGridScale(scale);\n\t\tconst minimum = canvas / 1000;\n\t\tfor (let i = 0; i < 10 && grid < minimum; ++i) {\n\t\t\tgrid *= 10;\n\t\t}\n\t\tif (minimum <= grid) {\n\t\t\treturn grid;\n\t\t}\n\t}\n\treturn canvas;\n};\n\nexport class DThemeDarkDiagramCanvasEditor\n\textends DThemeDarkDiagramCanvasBase\n\timplements DThemeDiagramCanvasEditor\n{\n\toverride isAmbient(): boolean {\n\t\treturn false;\n\t}\n\n\toverride getLocalBoundsLimit(): number {\n\t\treturn 1000;\n\t}\n\n\toverride getOutlineColor(state: DBaseStateSet): number | null {\n\t\treturn null;\n\t}\n\n\tgetSnapGridMajorInterval(): number {\n\t\treturn 10;\n\t}\n\n\tgetSnapGridMajorColor(): number {\n\t\treturn 0x999999;\n\t}\n\n\tgetSnapGridMajorAlpha(): number {\n\t\treturn 0.5;\n\t}\n\n\tgetSnapGridMajorWidth(): number {\n\t\treturn Math.max(1, 2 / (window.devicePixelRatio ?? 1));\n\t}\n\n\tgetSnapGridMajorStyle(): EShapeStrokeStyle {\n\t\treturn EShapeStrokeStyle.DASHED | EShapeStrokeStyle.NON_SCALING;\n\t}\n\n\tgetSnapGridMinorColor(): number {\n\t\treturn this.getSnapGridMajorColor();\n\t}\n\n\tgetSnapGridMinorAlpha(): number {\n\t\treturn 0.125;\n\t}\n\n\tgetSnapGridMinorWidth(): number {\n\t\treturn this.getSnapGridMajorWidth();\n\t}\n\n\tgetSnapGridMinorStyle(): EShapeStrokeStyle {\n\t\treturn this.getSnapGridMajorStyle();\n\t}\n\n\tgetSnapGridSize(): DDiagramCanvasEditorSnapGridSize {\n\t\treturn toGridSize;\n\t}\n\n\tgetSnapTargetColor(): number {\n\t\treturn DThemeDarkConstants.HIGHLIGHT_COLOR;\n\t}\n\n\tgetSnapTargetAlpha(): number {\n\t\treturn 1.0;\n\t}\n\n\tgetSnapTargetWidth(): number {\n\t\treturn this.getSnapGridMajorWidth();\n\t}\n\n\tgetSnapTargetStyle(): EShapeStrokeStyle {\n\t\treturn this.getSnapGridMajorStyle();\n\t}\n}\n"]}
@@ -6,9 +6,21 @@ import { __extends } from "tslib";
6
6
  import { EShapeStrokeStyle } from "../../shape/e-shape-stroke-style";
7
7
  import { DThemeWhiteConstants } from "./d-theme-white-constants";
8
8
  import { DThemeWhiteDiagramCanvasBase } from "./d-theme-white-diagram-canvas-base";
9
- var toGridSize = function (grid, width, height) {
9
+ var toGridScale = function (scale) {
10
+ if (scale <= 0 || 1 <= scale) {
11
+ return 1;
12
+ }
13
+ var target = 1 / scale;
14
+ var result = 1;
15
+ while (result < target && result < Number.MAX_SAFE_INTEGER) {
16
+ result <<= 1;
17
+ }
18
+ return result;
19
+ };
20
+ var toGridSize = function (grid, width, height, scale) {
10
21
  var canvas = Math.max(width, height);
11
22
  if (0 < grid) {
23
+ grid *= toGridScale(scale);
12
24
  var minimum = canvas / 1000;
13
25
  for (var i = 0; i < 10 && grid < minimum; ++i) {
14
26
  grid *= 10;
@@ -1 +1 @@
1
- {"version":3,"file":"d-theme-white-diagram-canvas-editor.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/theme/white/d-theme-white-diagram-canvas-editor.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAKH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AAEnF,IAAM,UAAU,GAAG,UAAC,IAAY,EAAE,KAAa,EAAE,MAAc;IAC9D,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG,IAAI,EAAE;QACb,IAAM,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,IAAI,GAAG,OAAO,EAAE,EAAE,CAAC,EAAE;YAC9C,IAAI,IAAI,EAAE,CAAC;SACX;QACD,IAAI,OAAO,IAAI,IAAI,EAAE;YACpB,OAAO,IAAI,CAAC;SACZ;KACD;IACD,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF;IACS,kDAA4B;IADrC;;IAuEA,CAAC;IAnES,kDAAS,GAAlB;QACC,OAAO,KAAK,CAAC;IACd,CAAC;IAEQ,4DAAmB,GAA5B;QACC,OAAO,IAAI,CAAC;IACb,CAAC;IAEQ,wDAAe,GAAxB,UAAyB,KAAoB;QAC5C,OAAO,IAAI,CAAC;IACb,CAAC;IAED,iEAAwB,GAAxB;QACC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,8DAAqB,GAArB;QACC,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,8DAAqB,GAArB;QACC,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,8DAAqB,GAArB;;QACC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAA,MAAM,CAAC,gBAAgB,mCAAI,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,8DAAqB,GAArB;QACC,OAAO,iBAAiB,CAAC,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC;IACjE,CAAC;IAED,8DAAqB,GAArB;QACC,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACrC,CAAC;IAED,8DAAqB,GAArB;QACC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,8DAAqB,GAArB;QACC,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACrC,CAAC;IAED,8DAAqB,GAArB;QACC,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACrC,CAAC;IAED,wDAAe,GAAf;QACC,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,2DAAkB,GAAlB;QACC,OAAO,oBAAoB,CAAC,eAAe,CAAC;IAC7C,CAAC;IAED,2DAAkB,GAAlB;QACC,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,2DAAkB,GAAlB;QACC,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACrC,CAAC;IAED,2DAAkB,GAAlB;QACC,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACrC,CAAC;IACF,qCAAC;AAAD,CAAC,AAvED,CACS,4BAA4B,GAsEpC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DBaseStateSet } from \"../../d-base-state-set\";\nimport { DThemeDiagramCanvasEditor } from \"../../d-diagram-canvas-editor\";\nimport { DDiagramCanvasEditorSnapGridSize } from \"../../d-diagram-canvas-editor-snap\";\nimport { EShapeStrokeStyle } from \"../../shape/e-shape-stroke-style\";\nimport { DThemeWhiteConstants } from \"./d-theme-white-constants\";\nimport { DThemeWhiteDiagramCanvasBase } from \"./d-theme-white-diagram-canvas-base\";\n\nconst toGridSize = (grid: number, width: number, height: number): number => {\n\tconst canvas = Math.max(width, height);\n\tif (0 < grid) {\n\t\tconst minimum = canvas / 1000;\n\t\tfor (let i = 0; i < 10 && grid < minimum; ++i) {\n\t\t\tgrid *= 10;\n\t\t}\n\t\tif (minimum <= grid) {\n\t\t\treturn grid;\n\t\t}\n\t}\n\treturn canvas;\n};\n\nexport class DThemeWhiteDiagramCanvasEditor\n\textends DThemeWhiteDiagramCanvasBase\n\timplements DThemeDiagramCanvasEditor\n{\n\toverride isAmbient(): boolean {\n\t\treturn false;\n\t}\n\n\toverride getLocalBoundsLimit(): number {\n\t\treturn 1000;\n\t}\n\n\toverride getOutlineColor(state: DBaseStateSet): number | null {\n\t\treturn null;\n\t}\n\n\tgetSnapGridMajorInterval(): number {\n\t\treturn 10;\n\t}\n\n\tgetSnapGridMajorColor(): number {\n\t\treturn 0x999999;\n\t}\n\n\tgetSnapGridMajorAlpha(): number {\n\t\treturn 0.5;\n\t}\n\n\tgetSnapGridMajorWidth(): number {\n\t\treturn Math.max(1, 2 / (window.devicePixelRatio ?? 1));\n\t}\n\n\tgetSnapGridMajorStyle(): EShapeStrokeStyle {\n\t\treturn EShapeStrokeStyle.DASHED | EShapeStrokeStyle.NON_SCALING;\n\t}\n\n\tgetSnapGridMinorColor(): number {\n\t\treturn this.getSnapGridMajorColor();\n\t}\n\n\tgetSnapGridMinorAlpha(): number {\n\t\treturn 0.125;\n\t}\n\n\tgetSnapGridMinorWidth(): number {\n\t\treturn this.getSnapGridMajorWidth();\n\t}\n\n\tgetSnapGridMinorStyle(): EShapeStrokeStyle {\n\t\treturn this.getSnapGridMajorStyle();\n\t}\n\n\tgetSnapGridSize(): DDiagramCanvasEditorSnapGridSize {\n\t\treturn toGridSize;\n\t}\n\n\tgetSnapTargetColor(): number {\n\t\treturn DThemeWhiteConstants.HIGHLIGHT_COLOR;\n\t}\n\n\tgetSnapTargetAlpha(): number {\n\t\treturn 1.0;\n\t}\n\n\tgetSnapTargetWidth(): number {\n\t\treturn this.getSnapGridMajorWidth();\n\t}\n\n\tgetSnapTargetStyle(): EShapeStrokeStyle {\n\t\treturn this.getSnapGridMajorStyle();\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-theme-white-diagram-canvas-editor.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/theme/white/d-theme-white-diagram-canvas-editor.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DBaseStateSet } from \"../../d-base-state-set\";\nimport { DThemeDiagramCanvasEditor } from \"../../d-diagram-canvas-editor\";\nimport { DDiagramCanvasEditorSnapGridSize } from \"../../d-diagram-canvas-editor-snap\";\nimport { EShapeStrokeStyle } from \"../../shape/e-shape-stroke-style\";\nimport { DThemeWhiteConstants } from \"./d-theme-white-constants\";\nimport { DThemeWhiteDiagramCanvasBase } from \"./d-theme-white-diagram-canvas-base\";\n\nconst toGridScale = (scale: number): number => {\n\tif (scale <= 0 || 1 <= scale) {\n\t\treturn 1;\n\t}\n\tconst target = 1 / scale;\n\tlet result = 1;\n\twhile (result < target && result < Number.MAX_SAFE_INTEGER) {\n\t\tresult <<= 1;\n\t}\n\treturn result;\n};\n\nconst toGridSize = (grid: number, width: number, height: number, scale: number): number => {\n\tconst canvas = Math.max(width, height);\n\tif (0 < grid) {\n\t\tgrid *= toGridScale(scale);\n\t\tconst minimum = canvas / 1000;\n\t\tfor (let i = 0; i < 10 && grid < minimum; ++i) {\n\t\t\tgrid *= 10;\n\t\t}\n\t\tif (minimum <= grid) {\n\t\t\treturn grid;\n\t\t}\n\t}\n\treturn canvas;\n};\n\nexport class DThemeWhiteDiagramCanvasEditor\n\textends DThemeWhiteDiagramCanvasBase\n\timplements DThemeDiagramCanvasEditor\n{\n\toverride isAmbient(): boolean {\n\t\treturn false;\n\t}\n\n\toverride getLocalBoundsLimit(): number {\n\t\treturn 1000;\n\t}\n\n\toverride getOutlineColor(state: DBaseStateSet): number | null {\n\t\treturn null;\n\t}\n\n\tgetSnapGridMajorInterval(): number {\n\t\treturn 10;\n\t}\n\n\tgetSnapGridMajorColor(): number {\n\t\treturn 0x999999;\n\t}\n\n\tgetSnapGridMajorAlpha(): number {\n\t\treturn 0.5;\n\t}\n\n\tgetSnapGridMajorWidth(): number {\n\t\treturn Math.max(1, 2 / (window.devicePixelRatio ?? 1));\n\t}\n\n\tgetSnapGridMajorStyle(): EShapeStrokeStyle {\n\t\treturn EShapeStrokeStyle.DASHED | EShapeStrokeStyle.NON_SCALING;\n\t}\n\n\tgetSnapGridMinorColor(): number {\n\t\treturn this.getSnapGridMajorColor();\n\t}\n\n\tgetSnapGridMinorAlpha(): number {\n\t\treturn 0.125;\n\t}\n\n\tgetSnapGridMinorWidth(): number {\n\t\treturn this.getSnapGridMajorWidth();\n\t}\n\n\tgetSnapGridMinorStyle(): EShapeStrokeStyle {\n\t\treturn this.getSnapGridMajorStyle();\n\t}\n\n\tgetSnapGridSize(): DDiagramCanvasEditorSnapGridSize {\n\t\treturn toGridSize;\n\t}\n\n\tgetSnapTargetColor(): number {\n\t\treturn DThemeWhiteConstants.HIGHLIGHT_COLOR;\n\t}\n\n\tgetSnapTargetAlpha(): number {\n\t\treturn 1.0;\n\t}\n\n\tgetSnapTargetWidth(): number {\n\t\treturn this.getSnapGridMajorWidth();\n\t}\n\n\tgetSnapTargetStyle(): EShapeStrokeStyle {\n\t\treturn this.getSnapGridMajorStyle();\n\t}\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.431.0
2
+ Winter Cardinal UI v0.433.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -7233,9 +7233,21 @@
7233
7233
  * Copyright (C) 2019 Toshiba Corporation
7234
7234
  * SPDX-License-Identifier: Apache-2.0
7235
7235
  */
7236
- var toGridSize = function (grid, width, height) {
7236
+ var toGridScale = function (scale) {
7237
+ if (scale <= 0 || 1 <= scale) {
7238
+ return 1;
7239
+ }
7240
+ var target = 1 / scale;
7241
+ var result = 1;
7242
+ while (result < target && result < Number.MAX_SAFE_INTEGER) {
7243
+ result <<= 1;
7244
+ }
7245
+ return result;
7246
+ };
7247
+ var toGridSize = function (grid, width, height, scale) {
7237
7248
  var canvas = Math.max(width, height);
7238
7249
  if (0 < grid) {
7250
+ grid *= toGridScale(scale);
7239
7251
  var minimum = canvas / 1000;
7240
7252
  for (var i = 0; i < 10 && grid < minimum; ++i) {
7241
7253
  grid *= 10;