@wcardinal/wcardinal-ui 0.201.0 → 0.202.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/dist/types/wcardinal/ui/d-diagram-base.d.ts +1 -0
- package/dist/types/wcardinal/ui/d-diagram-canvas-data-impl.d.ts +7 -4
- package/dist/types/wcardinal/ui/d-diagram-canvas-data.d.ts +7 -4
- package/dist/types/wcardinal/ui/d-diagram-data-extended-impl.d.ts +2 -1
- package/dist/types/wcardinal/ui/d-diagram-data-impl.d.ts +7 -4
- package/dist/types/wcardinal/ui/d-diagram-data-private-impl.d.ts +2 -1
- package/dist/types/wcardinal/ui/d-diagram-data-protected-impl.d.ts +2 -1
- package/dist/types/wcardinal/ui/d-diagram-data-remote-impl.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-diagram-data-remote.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-diagram-data-scoped.d.ts +2 -1
- package/dist/types/wcardinal/ui/d-diagram-data.d.ts +5 -2
- package/dist/types/wcardinal/ui/d-diagram-serialized.d.ts +4 -0
- package/dist/types/wcardinal/ui/d-table-body-cell-color.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-table-body-cell-options.d.ts +18 -0
- package/dist/types/wcardinal/ui/d-table-body-cell-select-dialog.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-table-body-cell-select-promise.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-table-body-cell-time.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-table-body-cells.d.ts +7 -5
- package/dist/types/wcardinal/ui/d-table-body-row.d.ts +6 -4
- package/dist/types/wcardinal/ui/d-table-body.d.ts +2 -0
- package/dist/types/wcardinal/ui/d-table-column-editing.d.ts +16 -0
- package/dist/types/wcardinal/ui/d-table-column-formatter.d.ts +1 -0
- package/dist/types/wcardinal/ui/d-table-column-getter.d.ts +1 -0
- package/dist/types/wcardinal/ui/d-table-column-renderable.d.ts +1 -0
- package/dist/types/wcardinal/ui/d-table-column-selecting.d.ts +25 -0
- package/dist/types/wcardinal/ui/d-table-column-setter.d.ts +1 -0
- package/dist/types/wcardinal/ui/d-table-column-sorting.d.ts +9 -0
- package/dist/types/wcardinal/ui/d-table-column-state.d.ts +11 -0
- package/dist/types/wcardinal/ui/d-table-column-type.d.ts +18 -0
- package/dist/types/wcardinal/ui/d-table-column.d.ts +33 -101
- package/dist/types/wcardinal/ui/index.d.ts +10 -0
- package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtimes.d.ts +7 -15
- package/dist/types/wcardinal/ui/shape/e-shape-data-impl.d.ts +7 -0
- package/dist/types/wcardinal/ui/shape/e-shape-data-scoped-impl.d.ts +2 -1
- package/dist/types/wcardinal/ui/shape/e-shape-data-scoped.d.ts +2 -1
- package/dist/types/wcardinal/ui/shape/e-shape-data-value-formatter.d.ts +1 -0
- package/dist/types/wcardinal/ui/shape/e-shape-data-value-impl.d.ts +10 -1
- package/dist/types/wcardinal/ui/shape/e-shape-data-value-state.d.ts +32 -0
- package/dist/types/wcardinal/ui/shape/e-shape-data-value.d.ts +6 -1
- package/dist/types/wcardinal/ui/shape/e-shape-data.d.ts +4 -0
- package/dist/types/wcardinal/ui/shape/index.d.ts +2 -0
- package/dist/types/wcardinal/ui/shape/variant/build-text.d.ts +2 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-text.d.ts +2 -0
- package/dist/types/wcardinal/ui/shape/variant/e-shape-embedded-layer.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/e-shape-embedded.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/e-shape-group-viewer.d.ts +2 -4
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-table-header-cell.d.ts +2 -0
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-table-header-cell.d.ts +2 -0
- package/dist/types/wcardinal/ui/util/index.d.ts +3 -0
- package/dist/types/wcardinal/ui/util/is-object.d.ts +1 -0
- package/dist/types/wcardinal/ui/util/to-cloned.d.ts +1 -0
- package/dist/types/wcardinal/ui/util/to-merged.d.ts +1 -0
- package/dist/wcardinal/ui/d-controller-focus-impl.js +0 -2
- package/dist/wcardinal/ui/d-controller-focus-impl.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-base.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-canvas-data-impl.js +50 -16
- package/dist/wcardinal/ui/d-diagram-canvas-data-impl.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-canvas-data.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-data-extended-impl.js +2 -2
- package/dist/wcardinal/ui/d-diagram-data-extended-impl.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-data-impl.js +22 -8
- package/dist/wcardinal/ui/d-diagram-data-impl.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-data-private-impl.js +2 -2
- package/dist/wcardinal/ui/d-diagram-data-private-impl.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-data-protected-impl.js +2 -2
- package/dist/wcardinal/ui/d-diagram-data-protected-impl.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-data-remote-impl.js +1 -1
- package/dist/wcardinal/ui/d-diagram-data-remote-impl.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-data-remote.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-data-scoped.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-data.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-serialized.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-action-menu.js +1 -3
- package/dist/wcardinal/ui/d-table-body-cell-action-menu.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-check.js +2 -4
- package/dist/wcardinal/ui/d-table-body-cell-check.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-color.js +17 -19
- package/dist/wcardinal/ui/d-table-body-cell-color.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-date.js +1 -3
- package/dist/wcardinal/ui/d-table-body-cell-date.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-datetime.js +2 -4
- package/dist/wcardinal/ui/d-table-body-cell-datetime.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-index.js +1 -3
- package/dist/wcardinal/ui/d-table-body-cell-index.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-input-integer.js +1 -3
- package/dist/wcardinal/ui/d-table-body-cell-input-integer.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-input-real.js +1 -3
- package/dist/wcardinal/ui/d-table-body-cell-input-real.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-input-text.js +1 -3
- package/dist/wcardinal/ui/d-table-body-cell-input-text.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-input-tree.js +1 -3
- package/dist/wcardinal/ui/d-table-body-cell-input-tree.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-options.js +6 -0
- package/dist/wcardinal/ui/d-table-body-cell-options.js.map +1 -0
- package/dist/wcardinal/ui/d-table-body-cell-select-dialog.js +1 -3
- package/dist/wcardinal/ui/d-table-body-cell-select-dialog.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-select-menu.js +1 -3
- package/dist/wcardinal/ui/d-table-body-cell-select-menu.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-select-multiple.js +1 -3
- package/dist/wcardinal/ui/d-table-body-cell-select-multiple.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-select-promise.js +1 -3
- package/dist/wcardinal/ui/d-table-body-cell-select-promise.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-text.js +1 -3
- package/dist/wcardinal/ui/d-table-body-cell-text.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-time.js +1 -3
- package/dist/wcardinal/ui/d-table-body-cell-time.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-tree.js +1 -2
- package/dist/wcardinal/ui/d-table-body-cell-tree.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cells.js +13 -5
- package/dist/wcardinal/ui/d-table-body-cells.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-row.js +43 -39
- package/dist/wcardinal/ui/d-table-body-row.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body.js +2 -1
- package/dist/wcardinal/ui/d-table-body.js.map +1 -1
- package/dist/wcardinal/ui/d-table-column-editing.js +6 -0
- package/dist/wcardinal/ui/d-table-column-editing.js.map +1 -0
- package/dist/wcardinal/ui/d-table-column-formatter.js +6 -0
- package/dist/wcardinal/ui/d-table-column-formatter.js.map +1 -0
- package/dist/wcardinal/ui/d-table-column-getter.js +6 -0
- package/dist/wcardinal/ui/d-table-column-getter.js.map +1 -0
- package/dist/wcardinal/ui/d-table-column-renderable.js +6 -0
- package/dist/wcardinal/ui/d-table-column-renderable.js.map +1 -0
- package/dist/wcardinal/ui/d-table-column-selecting.js +6 -0
- package/dist/wcardinal/ui/d-table-column-selecting.js.map +1 -0
- package/dist/wcardinal/ui/d-table-column-setter.js +6 -0
- package/dist/wcardinal/ui/d-table-column-setter.js.map +1 -0
- package/dist/wcardinal/ui/d-table-column-sorting.js +6 -0
- package/dist/wcardinal/ui/d-table-column-sorting.js.map +1 -0
- package/dist/wcardinal/ui/d-table-column-state.js +6 -0
- package/dist/wcardinal/ui/d-table-column-state.js.map +1 -0
- package/dist/wcardinal/ui/d-table-column-type.js +22 -0
- package/dist/wcardinal/ui/d-table-column-type.js.map +1 -0
- package/dist/wcardinal/ui/d-table-column.js +1 -17
- package/dist/wcardinal/ui/d-table-column.js.map +1 -1
- package/dist/wcardinal/ui/d-table.js +23 -1
- package/dist/wcardinal/ui/d-table.js.map +1 -1
- package/dist/wcardinal/ui/index.js +10 -0
- package/dist/wcardinal/ui/index.js.map +1 -1
- package/dist/wcardinal/ui/shape/action/e-shape-action-expressions.js +2 -0
- package/dist/wcardinal/ui/shape/action/e-shape-action-expressions.js.map +1 -1
- package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-misc-write-both.js +2 -2
- package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-misc-write-both.js.map +1 -1
- package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-misc-write-local.js +1 -1
- package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-misc-write-local.js.map +1 -1
- package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-misc-write-remote.js +1 -1
- package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-misc-write-remote.js.map +1 -1
- package/dist/wcardinal/ui/shape/action/e-shape-action-runtimes.js +30 -29
- package/dist/wcardinal/ui/shape/action/e-shape-action-runtimes.js.map +1 -1
- package/dist/wcardinal/ui/shape/action/e-shape-action-value-on-input-actions.js +4 -4
- package/dist/wcardinal/ui/shape/action/e-shape-action-value-on-input-actions.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-data-impl.js +57 -0
- package/dist/wcardinal/ui/shape/e-shape-data-impl.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-data-scoped-impl.js +5 -1
- package/dist/wcardinal/ui/shape/e-shape-data-scoped-impl.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-data-scoped.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-data-value-formatter.js +6 -0
- package/dist/wcardinal/ui/shape/e-shape-data-value-formatter.js.map +1 -0
- package/dist/wcardinal/ui/shape/e-shape-data-value-impl.js +211 -56
- package/dist/wcardinal/ui/shape/e-shape-data-value-impl.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-data-value-state.js +36 -0
- package/dist/wcardinal/ui/shape/e-shape-data-value-state.js.map +1 -0
- package/dist/wcardinal/ui/shape/e-shape-data-value.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-data.js.map +1 -1
- package/dist/wcardinal/ui/shape/index.js +2 -0
- package/dist/wcardinal/ui/shape/index.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-text.js +84 -63
- package/dist/wcardinal/ui/shape/variant/build-text.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-text.js +18 -3
- package/dist/wcardinal/ui/shape/variant/builder-text.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/deserialize-embedded-layer.js +2 -3
- package/dist/wcardinal/ui/shape/variant/deserialize-embedded-layer.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/deserialize-embedded.js +4 -3
- package/dist/wcardinal/ui/shape/variant/deserialize-embedded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-base.js +3 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-base.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-embedded-layer.js +3 -3
- package/dist/wcardinal/ui/shape/variant/e-shape-embedded-layer.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-embedded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/e-shape-embedded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-embeddeds.js +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-embeddeds.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-group-viewer.js +4 -18
- package/dist/wcardinal/ui/shape/variant/e-shape-group-viewer.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-header-cell.js +11 -0
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-header-cell.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-table-header-cell.js +11 -0
- package/dist/wcardinal/ui/theme/white/d-theme-white-table-header-cell.js.map +1 -1
- package/dist/wcardinal/ui/util/dynamic-sdf-font-generator.js +1 -1
- package/dist/wcardinal/ui/util/dynamic-sdf-font-generator.js.map +1 -1
- package/dist/wcardinal/ui/util/index.js +3 -0
- package/dist/wcardinal/ui/util/index.js.map +1 -1
- package/dist/wcardinal/ui/util/is-object.js +13 -0
- package/dist/wcardinal/ui/util/is-object.js.map +1 -0
- package/dist/wcardinal/ui/util/to-cloned.js +32 -0
- package/dist/wcardinal/ui/util/to-cloned.js.map +1 -0
- package/dist/wcardinal/ui/util/to-merged.js +45 -0
- package/dist/wcardinal/ui/util/to-merged.js.map +1 -0
- package/dist/wcardinal-ui-theme-dark.js +12 -1
- package/dist/wcardinal-ui-theme-dark.min.js +2 -2
- package/dist/wcardinal-ui-theme-dark.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-white.js +12 -1
- package/dist/wcardinal-ui-theme-white.min.js +2 -2
- package/dist/wcardinal-ui-theme-white.min.js.map +1 -1
- package/dist/wcardinal-ui.cjs.js +1390 -954
- package/dist/wcardinal-ui.js +1596 -1182
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -486,6 +486,7 @@ export * from "./d-table-body-cell-input-text";
|
|
|
486
486
|
export * from "./d-table-body-cell-input-tree-input";
|
|
487
487
|
export * from "./d-table-body-cell-input-tree-marker";
|
|
488
488
|
export * from "./d-table-body-cell-input-tree";
|
|
489
|
+
export * from "./d-table-body-cell-options";
|
|
489
490
|
export * from "./d-table-body-cell-link";
|
|
490
491
|
export * from "./d-table-body-cell-select-dialog";
|
|
491
492
|
export * from "./d-table-body-cell-select-menu";
|
|
@@ -500,6 +501,15 @@ export * from "./d-table-body-row";
|
|
|
500
501
|
export * from "./d-table-body";
|
|
501
502
|
export * from "./d-table-category-cell";
|
|
502
503
|
export * from "./d-table-category";
|
|
504
|
+
export * from "./d-table-column-editing";
|
|
505
|
+
export * from "./d-table-column-formatter";
|
|
506
|
+
export * from "./d-table-column-getter";
|
|
507
|
+
export * from "./d-table-column-renderable";
|
|
508
|
+
export * from "./d-table-column-selecting";
|
|
509
|
+
export * from "./d-table-column-setter";
|
|
510
|
+
export * from "./d-table-column-sorting";
|
|
511
|
+
export * from "./d-table-column-state";
|
|
512
|
+
export * from "./d-table-column-type";
|
|
503
513
|
export * from "./d-table-column";
|
|
504
514
|
export * from "./d-table-data-filter";
|
|
505
515
|
export * from "./d-table-data-list-filter";
|
|
@@ -1,23 +1,14 @@
|
|
|
1
|
+
import { utils } from "pixi.js";
|
|
1
2
|
import { DCanvasContainer } from "../../d-canvas-container";
|
|
2
3
|
import { DDiagramBaseController, DDiagramBaseControllerOpenType } from "../../d-diagram-base-controller";
|
|
4
|
+
import { DDiagramData } from "../../d-diagram-data";
|
|
3
5
|
import { DDiagramSerialized } from "../../d-diagram-serialized";
|
|
4
6
|
import { EShape } from "../e-shape";
|
|
7
|
+
import { EShapeDataValueState } from "../e-shape-data-value-state";
|
|
5
8
|
import { EShapeEmbedded } from "../variant/e-shape-embedded";
|
|
6
|
-
export interface EShapeActionRuntimeContainerDataScoped {
|
|
7
|
-
set(id: string, value: unknown, time: number): boolean;
|
|
8
|
-
}
|
|
9
|
-
export interface EShapeActionRuntimeContainerData {
|
|
10
|
-
readonly remote: EShapeActionRuntimeContainerDataScoped;
|
|
11
|
-
readonly private: EShapeActionRuntimeContainerDataScoped;
|
|
12
|
-
readonly protected: EShapeActionRuntimeContainerDataScoped;
|
|
13
|
-
set(id: string, value: unknown, time?: number, from?: number | null, to?: number | null): boolean;
|
|
14
|
-
}
|
|
15
|
-
export interface EShapeActionRuntimeContainerShape {
|
|
16
|
-
emit(name: string, ...args: unknown[]): void;
|
|
17
|
-
}
|
|
18
9
|
export interface EShapeActionRuntimeContainer extends DCanvasContainer {
|
|
19
|
-
readonly shape:
|
|
20
|
-
readonly data:
|
|
10
|
+
readonly shape: utils.EventEmitter;
|
|
11
|
+
readonly data: DDiagramData;
|
|
21
12
|
readonly controller: DDiagramBaseController | null;
|
|
22
13
|
set(serialized: DDiagramSerialized | null): void;
|
|
23
14
|
}
|
|
@@ -26,7 +17,8 @@ export declare class EShapeActionRuntimes {
|
|
|
26
17
|
static isEmbedded(target: unknown): target is EShapeEmbedded;
|
|
27
18
|
static toContainer(shape?: EShape | null): EShapeActionRuntimeContainer | null;
|
|
28
19
|
static open(shape: EShape, type: DDiagramBaseControllerOpenType, target: string, inNewWindow: boolean): void;
|
|
29
|
-
static
|
|
20
|
+
static writeLocal(shape: EShape, id: string, value: unknown, time: number, state?: EShapeDataValueState): boolean;
|
|
21
|
+
static writeRemote(shape: EShape, id: string, value: unknown): boolean;
|
|
30
22
|
static emit(shape: EShape, name: string): void;
|
|
31
23
|
static emit(shape: EShape, name: string, value: unknown, time: number): void;
|
|
32
24
|
}
|
|
@@ -8,16 +8,19 @@ import { EShapeDataMapping } from "./e-shape-data-mapping";
|
|
|
8
8
|
import { EShapeDataValueScope } from "./e-shape-data-value-scope";
|
|
9
9
|
import { DDiagramSerializedData, DDiagramSerializedDataWithMapping } from "../d-diagram-serialized";
|
|
10
10
|
import { EShapeDataScoped } from "./e-shape-data-scoped";
|
|
11
|
+
import { EShapeDataValueState } from "./e-shape-data-value-state";
|
|
11
12
|
export declare class EShapeDataImpl implements EShapeData {
|
|
12
13
|
protected _values: EShapeDataValue[];
|
|
13
14
|
protected _isChanged: boolean;
|
|
14
15
|
protected _mapping?: EShapeDataMapping;
|
|
15
16
|
protected _private?: EShapeDataScoped;
|
|
17
|
+
protected _alias?: Record<string, EShapeDataValue>;
|
|
16
18
|
constructor();
|
|
17
19
|
get values(): EShapeDataValue[];
|
|
18
20
|
get isChanged(): boolean;
|
|
19
21
|
set isChanged(isChanged: boolean);
|
|
20
22
|
get id(): string;
|
|
23
|
+
get as(): string;
|
|
21
24
|
get type(): EShapeDataValueType;
|
|
22
25
|
get scope(): EShapeDataValueScope;
|
|
23
26
|
get initial(): string;
|
|
@@ -28,8 +31,12 @@ export declare class EShapeDataImpl implements EShapeData {
|
|
|
28
31
|
get nvalue(): number;
|
|
29
32
|
get time(): number;
|
|
30
33
|
set time(time: number);
|
|
34
|
+
get state(): EShapeDataValueState;
|
|
35
|
+
set state(state: EShapeDataValueState);
|
|
31
36
|
get capacity(): number;
|
|
32
37
|
set capacity(capacity: number);
|
|
38
|
+
get alias(): Record<string, EShapeDataValue>;
|
|
39
|
+
protected newAlias(): Record<string, EShapeDataValue>;
|
|
33
40
|
get mapping(): EShapeDataMapping;
|
|
34
41
|
protected newMapping(): EShapeDataMapping;
|
|
35
42
|
getMapping(): EShapeDataMapping | undefined;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { EShapeDataScoped } from "./e-shape-data-scoped";
|
|
2
2
|
import { EShapeDataValue } from "./e-shape-data-value";
|
|
3
|
+
import { EShapeDataValueState } from "./e-shape-data-value-state";
|
|
3
4
|
export declare class EShapeDataScopedImpl implements EShapeDataScoped {
|
|
4
5
|
protected _data?: Map<string, EShapeDataValue[]>;
|
|
5
6
|
get ids(): string[];
|
|
6
7
|
add(id: string, value: EShapeDataValue): void;
|
|
7
|
-
set(id: string, value: unknown, time?: number, from?: number | null, to?: number | null): boolean;
|
|
8
|
+
set(id: string, value: unknown, time?: number, state?: EShapeDataValueState, from?: number | null, to?: number | null): boolean;
|
|
8
9
|
toDirty(id: string): boolean;
|
|
9
10
|
each(iteratee: (id: string) => boolean | void): string | null;
|
|
10
11
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { EShapeDataValue } from "./e-shape-data-value";
|
|
2
|
+
import { EShapeDataValueState } from "./e-shape-data-value-state";
|
|
2
3
|
export interface EShapeDataScoped {
|
|
3
4
|
readonly ids: string[];
|
|
4
5
|
add(id: string, value: EShapeDataValue): void;
|
|
5
|
-
set(id: string, value: unknown, time?: number, from?: number | null, to?: number | null): boolean;
|
|
6
|
+
set(id: string, value: unknown, time?: number, state?: EShapeDataValueState, from?: number | null, to?: number | null): boolean;
|
|
6
7
|
toDirty(id: string): boolean;
|
|
7
8
|
each(iteratee: (id: string) => boolean | void): string | null;
|
|
8
9
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare type EShapeDataValueFormatter = (value: unknown) => unknown;
|
|
@@ -5,8 +5,11 @@ import { EShapeDataValueRange } from "./e-shape-data-value-range";
|
|
|
5
5
|
import { EShapeDataValueOrder } from "./e-shape-data-value-order";
|
|
6
6
|
import { EShapeDataValueType } from "./e-shape-data-value-type";
|
|
7
7
|
import { EShapeDataValueScope } from "./e-shape-data-value-scope";
|
|
8
|
+
import { EShapeDataValueFormatter } from "./e-shape-data-value-formatter";
|
|
9
|
+
import { EShapeDataValueState } from "./e-shape-data-value-state";
|
|
8
10
|
export declare class EShapeDataValueImpl implements EShapeDataValue {
|
|
9
11
|
id: string;
|
|
12
|
+
as: string;
|
|
10
13
|
type: EShapeDataValueType;
|
|
11
14
|
scope: EShapeDataValueScope;
|
|
12
15
|
initial: string;
|
|
@@ -14,12 +17,14 @@ export declare class EShapeDataValueImpl implements EShapeDataValue {
|
|
|
14
17
|
range: EShapeDataValueRange;
|
|
15
18
|
protected _value: unknown;
|
|
16
19
|
protected _time: number;
|
|
20
|
+
protected _state: EShapeDataValueState;
|
|
17
21
|
protected _values: unknown[] | undefined;
|
|
18
22
|
protected _times: number[] | undefined;
|
|
23
|
+
protected _states: EShapeDataValueState[] | undefined;
|
|
19
24
|
protected _capacity: number;
|
|
20
25
|
protected _order: EShapeDataValueOrder;
|
|
21
26
|
protected _parent?: EShapeDataValueParent;
|
|
22
|
-
formatter?:
|
|
27
|
+
formatter?: EShapeDataValueFormatter;
|
|
23
28
|
constructor();
|
|
24
29
|
get parent(): EShapeDataValueParent | undefined;
|
|
25
30
|
set parent(parent: EShapeDataValueParent | undefined);
|
|
@@ -32,6 +37,10 @@ export declare class EShapeDataValueImpl implements EShapeDataValue {
|
|
|
32
37
|
set time(newTime: number);
|
|
33
38
|
get times(): number[];
|
|
34
39
|
set times(newTimes: number[]);
|
|
40
|
+
get state(): EShapeDataValueState;
|
|
41
|
+
set state(newState: number);
|
|
42
|
+
get states(): EShapeDataValueState[];
|
|
43
|
+
set states(newStates: number[]);
|
|
35
44
|
get capacity(): number;
|
|
36
45
|
set capacity(capacity: number);
|
|
37
46
|
get order(): EShapeDataValueOrder;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export declare const EShapeDataValueState: {
|
|
2
|
+
/**
|
|
3
|
+
* The data status is not known.
|
|
4
|
+
* This is the default state.
|
|
5
|
+
*/
|
|
6
|
+
readonly UNKOWN: -1;
|
|
7
|
+
/**
|
|
8
|
+
* The request succeeded.
|
|
9
|
+
*/
|
|
10
|
+
readonly FOUND: 0;
|
|
11
|
+
/**
|
|
12
|
+
* The server can not find the requested data.
|
|
13
|
+
*/
|
|
14
|
+
readonly NOT_FOUND: 1;
|
|
15
|
+
/**
|
|
16
|
+
* The settings or something provided by clients are considered incorrect.
|
|
17
|
+
*/
|
|
18
|
+
readonly BAD_REQUEST: 2;
|
|
19
|
+
/**
|
|
20
|
+
* The server has encountered unknown errors.
|
|
21
|
+
*/
|
|
22
|
+
readonly SERVER_ERROR: 3;
|
|
23
|
+
/**
|
|
24
|
+
* The server is not ready to handle the request.
|
|
25
|
+
*/
|
|
26
|
+
readonly SERVICE_UNAVAILABLE: 4;
|
|
27
|
+
/**
|
|
28
|
+
* A client is not allowed to access this data.
|
|
29
|
+
*/
|
|
30
|
+
readonly FORBIDDEN: 5;
|
|
31
|
+
};
|
|
32
|
+
export declare type EShapeDataValueState = number;
|
|
@@ -4,8 +4,11 @@ import { EShapeDataValueRange, EShapeDataValueRangeLike } from "./e-shape-data-v
|
|
|
4
4
|
import { EShapeDataValueOrder } from "./e-shape-data-value-order";
|
|
5
5
|
import { EShapeDataValueScope } from "./e-shape-data-value-scope";
|
|
6
6
|
import { EShapeDataValueType } from "./e-shape-data-value-type";
|
|
7
|
+
import { EShapeDataValueState } from "./e-shape-data-value-state";
|
|
8
|
+
import { EShapeDataValueFormatter } from "./e-shape-data-value-formatter";
|
|
7
9
|
export interface EShapeDataValueLike {
|
|
8
10
|
id: string;
|
|
11
|
+
as: string;
|
|
9
12
|
type: EShapeDataValueType;
|
|
10
13
|
scope: EShapeDataValueScope;
|
|
11
14
|
initial: string;
|
|
@@ -21,11 +24,13 @@ export interface EShapeDataValue extends EShapeDataValueLike {
|
|
|
21
24
|
value: unknown;
|
|
22
25
|
readonly nvalue: number;
|
|
23
26
|
time: number;
|
|
27
|
+
state: EShapeDataValueState;
|
|
24
28
|
values: unknown[];
|
|
25
29
|
times: number[];
|
|
30
|
+
states: EShapeDataValueState[];
|
|
26
31
|
range: EShapeDataValueRange;
|
|
27
32
|
parent?: EShapeDataValueParent;
|
|
28
|
-
formatter?:
|
|
33
|
+
formatter?: EShapeDataValueFormatter;
|
|
29
34
|
clear(): void;
|
|
30
35
|
toDirty(): void;
|
|
31
36
|
remove(index: number): void;
|
|
@@ -6,10 +6,12 @@ import { EShapeDataMapping } from "./e-shape-data-mapping";
|
|
|
6
6
|
import { EShapeDataValueType } from "./e-shape-data-value-type";
|
|
7
7
|
import { EShapeDataValueScope } from "./e-shape-data-value-scope";
|
|
8
8
|
import { EShapeDataScoped } from "./e-shape-data-scoped";
|
|
9
|
+
import { EShapeDataValueState } from "./e-shape-data-value-state";
|
|
9
10
|
export interface EShapeData {
|
|
10
11
|
readonly values: EShapeDataValue[];
|
|
11
12
|
isChanged: boolean;
|
|
12
13
|
readonly id: string;
|
|
14
|
+
readonly as: string;
|
|
13
15
|
readonly type: EShapeDataValueType;
|
|
14
16
|
readonly scope: EShapeDataValueScope;
|
|
15
17
|
readonly initial: string;
|
|
@@ -18,7 +20,9 @@ export interface EShapeData {
|
|
|
18
20
|
value: unknown;
|
|
19
21
|
readonly nvalue: number;
|
|
20
22
|
time: number;
|
|
23
|
+
state: EShapeDataValueState;
|
|
21
24
|
capacity: number;
|
|
25
|
+
readonly alias: Record<string, EShapeDataValue>;
|
|
22
26
|
readonly mapping: EShapeDataMapping;
|
|
23
27
|
getMapping(): EShapeDataMapping | undefined;
|
|
24
28
|
readonly private: EShapeDataScoped;
|
|
@@ -35,11 +35,13 @@ export * from "./e-shape-data-scoped-impl";
|
|
|
35
35
|
export * from "./e-shape-data-scoped";
|
|
36
36
|
export * from "./e-shape-data-value-extension";
|
|
37
37
|
export * from "./e-shape-data-value-extensions";
|
|
38
|
+
export * from "./e-shape-data-value-formatter";
|
|
38
39
|
export * from "./e-shape-data-value-impl";
|
|
39
40
|
export * from "./e-shape-data-value-order";
|
|
40
41
|
export * from "./e-shape-data-value-range-impl";
|
|
41
42
|
export * from "./e-shape-data-value-range";
|
|
42
43
|
export * from "./e-shape-data-value-scope";
|
|
44
|
+
export * from "./e-shape-data-value-state";
|
|
43
45
|
export * from "./e-shape-data-value-type";
|
|
44
46
|
export * from "./e-shape-data-value";
|
|
45
47
|
export * from "./e-shape-data";
|
|
@@ -6,8 +6,9 @@ import { EShapeTextAlignVertical } from "../e-shape-text-align-vertical";
|
|
|
6
6
|
import { EShapeTextDirection } from "../e-shape-text-direction";
|
|
7
7
|
export declare const TEXT_VERTEX_COUNT = 4;
|
|
8
8
|
export declare const TEXT_INDEX_COUNT = 2;
|
|
9
|
+
export declare const TEXT_FMIN: number;
|
|
9
10
|
export declare const toTextBufferCount: (shape: EShape) => number;
|
|
10
11
|
export declare const buildTextClipping: (clippings: Float32Array, voffset: number, vcount: number) => void;
|
|
11
12
|
export declare const buildTextIndex: (indices: Uint16Array | Uint32Array, voffset: number, ioffset: number, icount: number) => void;
|
|
12
|
-
export declare const buildTextStep: (steps: Float32Array, voffset: number, vcount: number, textAtlas: EShapeTextAtlas | undefined, textSize: number, textOutlineWidth: number, textWeight: EShapeTextWeight) => void;
|
|
13
|
+
export declare const buildTextStep: (steps: Float32Array, voffset: number, vcount: number, textAtlas: EShapeTextAtlas | undefined, textSize: number, textOutlineWidth: number, textWeight: EShapeTextWeight, scaleX: number, scaleY: number) => void;
|
|
13
14
|
export declare const buildTextVertex: (vertices: Float32Array, uvs: Float32Array, voffset: number, vcount: number, originX: number, originY: number, sizeX: number, sizeY: number, textAtlas: EShapeTextAtlas, textSize: number, textValue: string, textStyle: EShapeTextStyle, textAlignHorizontal: EShapeTextAlignHorizontal, textAlignVertical: EShapeTextAlignVertical, textOffsetHorizontal: number, textOffsetVertical: number, textSpacingHorizontal: number, textSpacingVertical: number, textDirection: EShapeTextDirection, textPaddingHorizontal: number, textPaddingVertical: number, textClipping: boolean, textWorld: number[], textureUvs: TextureUvs, internalTransform: Matrix) => void;
|
|
@@ -12,6 +12,8 @@ export declare class BuilderText implements Builder {
|
|
|
12
12
|
protected sizeX: number;
|
|
13
13
|
protected sizeY: number;
|
|
14
14
|
protected transformLocalId: number;
|
|
15
|
+
protected scaleX: number;
|
|
16
|
+
protected scaleY: number;
|
|
15
17
|
protected texture: Texture | null;
|
|
16
18
|
protected textureTransformId: number;
|
|
17
19
|
protected value: string;
|
|
@@ -6,7 +6,7 @@ import { EShapeType } from "../e-shape-type";
|
|
|
6
6
|
import { EShapeGroupViewer } from "./e-shape-group-viewer";
|
|
7
7
|
export declare class EShapeEmbeddedLayer extends EShapeGroupViewer implements EShapeLayer {
|
|
8
8
|
protected _name: string;
|
|
9
|
-
constructor(name: string,
|
|
9
|
+
constructor(name: string, type?: EShapeType);
|
|
10
10
|
get name(): string;
|
|
11
11
|
protected newGroupFill(): EShapeFill;
|
|
12
12
|
protected isGroupSizeFittable(): boolean;
|
|
@@ -5,7 +5,7 @@ import { EShapeType } from "../e-shape-type";
|
|
|
5
5
|
import { EShapeGroupViewer } from "./e-shape-group-viewer";
|
|
6
6
|
export declare class EShapeEmbedded extends EShapeGroupViewer {
|
|
7
7
|
protected _name: string;
|
|
8
|
-
constructor(name: string,
|
|
8
|
+
constructor(name: string, type?: EShapeType);
|
|
9
9
|
get name(): string;
|
|
10
10
|
protected newGroupText(): EShapeText;
|
|
11
11
|
protected isGroupSizeFittable(): boolean;
|
|
@@ -17,10 +17,8 @@ export declare abstract class EShapeGroupViewer extends EShapeBase {
|
|
|
17
17
|
tag: EShapeData;
|
|
18
18
|
data: EShapeData;
|
|
19
19
|
text: EShapeText;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
get isEditMode(): boolean;
|
|
23
|
-
protected newGroupSize(isEditMode: boolean): EShapeGroupSize;
|
|
20
|
+
constructor(type: EShapeType);
|
|
21
|
+
protected newGroupSize(): EShapeGroupSize;
|
|
24
22
|
protected isGroupSizeFittable(): boolean;
|
|
25
23
|
protected newData(): EShapeData;
|
|
26
24
|
protected newGroupFill(): EShapeFill;
|
|
@@ -26,12 +26,14 @@ export declare class DThemeDarkTableHeaderCell extends DThemeDarkImage<string |
|
|
|
26
26
|
getPaddingLeft(): number;
|
|
27
27
|
getPaddingRight(): number;
|
|
28
28
|
newTextValue(): DStateAwareOrValueMightBe<string | null>;
|
|
29
|
+
getImageTintColor(state: DBaseStateSet, isActive?: boolean): number | null;
|
|
29
30
|
getSecondaryImageTintColor(state: DBaseStateSet): number | null;
|
|
30
31
|
getSecondaryImageSource(state: DBaseStateSet): Texture | DisplayObject | null;
|
|
31
32
|
getSecondaryImageAlignHorizontal(): DAlignHorizontal;
|
|
32
33
|
getSecondaryImageAlignVertical(): DAlignVertical;
|
|
33
34
|
getSecondaryImageAlignWith(): DAlignWith;
|
|
34
35
|
getTertiaryImageSource(state: DBaseStateSet): Texture | DisplayObject | null;
|
|
36
|
+
getTertiaryImageTintColor(state: DBaseStateSet): number | null;
|
|
35
37
|
getTertiaryImageAlignHorizontal(): DAlignHorizontal;
|
|
36
38
|
getTertiaryImageAlignWith(): DAlignWith;
|
|
37
39
|
getCursor(state: DBaseStateSet): string;
|
|
@@ -26,12 +26,14 @@ export declare class DThemeWhiteTableHeaderCell extends DThemeWhiteImage<string
|
|
|
26
26
|
getPaddingLeft(): number;
|
|
27
27
|
getPaddingRight(): number;
|
|
28
28
|
newTextValue(): DStateAwareOrValueMightBe<string | null>;
|
|
29
|
+
getImageTintColor(state: DBaseStateSet, isActive?: boolean): number | null;
|
|
29
30
|
getSecondaryImageTintColor(state: DBaseStateSet): number | null;
|
|
30
31
|
getSecondaryImageSource(state: DBaseStateSet): Texture | DisplayObject | null;
|
|
31
32
|
getSecondaryImageAlignHorizontal(): DAlignHorizontal;
|
|
32
33
|
getSecondaryImageAlignVertical(): DAlignVertical;
|
|
33
34
|
getSecondaryImageAlignWith(): DAlignWith;
|
|
34
35
|
getTertiaryImageSource(state: DBaseStateSet): Texture | DisplayObject | null;
|
|
36
|
+
getTertiaryImageTintColor(state: DBaseStateSet): number | null;
|
|
35
37
|
getTertiaryImageAlignHorizontal(): DAlignHorizontal;
|
|
36
38
|
getTertiaryImageAlignWith(): DAlignWith;
|
|
37
39
|
getCursor(state: DBaseStateSet): string;
|
|
@@ -21,6 +21,7 @@ export * from "./is-array";
|
|
|
21
21
|
export * from "./is-function";
|
|
22
22
|
export * from "./is-nan";
|
|
23
23
|
export * from "./is-number";
|
|
24
|
+
export * from "./is-object";
|
|
24
25
|
export * from "./is-string";
|
|
25
26
|
export * from "./lazy";
|
|
26
27
|
export * from "./number-formatter-function";
|
|
@@ -28,9 +29,11 @@ export * from "./number-formatter-impl";
|
|
|
28
29
|
export * from "./number-formatter";
|
|
29
30
|
export * from "./number-formatters";
|
|
30
31
|
export * from "./to-ceiling-index";
|
|
32
|
+
export * from "./to-cloned";
|
|
31
33
|
export * from "./to-enum";
|
|
32
34
|
export * from "./to-index-of";
|
|
33
35
|
export * from "./to-label";
|
|
36
|
+
export * from "./to-merged";
|
|
34
37
|
export * from "./to-padded";
|
|
35
38
|
export * from "./to-string";
|
|
36
39
|
export * from "./to-svg-texture";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isObject: (target: any) => target is Record<string, unknown>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const toCloned: <T>(target: T) => T;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const toMerged: <T, U>(one: T, other: U) => Exclude<T & U, null | undefined>;
|
|
@@ -10,12 +10,10 @@ var DControllerFocusImpl = /** @class */ (function () {
|
|
|
10
10
|
var previous = this._focused;
|
|
11
11
|
if (previous !== focusable) {
|
|
12
12
|
if (previous != null) {
|
|
13
|
-
console.log("previous", previous.constructor.name);
|
|
14
13
|
previous.state.isFocused = false;
|
|
15
14
|
}
|
|
16
15
|
this._focused = focusable;
|
|
17
16
|
if (this.isFocusable(focusable)) {
|
|
18
|
-
console.log("previous", focusable.constructor.name);
|
|
19
17
|
focusable.state.isFocused = true;
|
|
20
18
|
}
|
|
21
19
|
return previous;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-controller-focus-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-controller-focus-impl.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\tDControllerFocus,\n\tDFocusable,\n\tDFocusableContainer,\n\tDFocusableMightBe\n} from \"./d-controller-focus\";\n\nexport class DControllerFocusImpl implements DControllerFocus {\n\tprivate _focused: DFocusable | null = null;\n\n\tfocus(focusable: DFocusable | null): DFocusable | null {\n\t\tconst previous = this._focused;\n\t\tif (previous !== focusable) {\n\t\t\tif (previous != null) {\n\t\t\t\tconsole.log(\"previous\", previous.constructor.name);\n\t\t\t\tprevious.state.isFocused = false;\n\t\t\t}\n\n\t\t\tthis._focused = focusable;\n\t\t\tif (this.isFocusable(focusable)) {\n\t\t\t\tconsole.log(\"previous\", focusable.constructor.name);\n\t\t\t\tfocusable.state.isFocused = true;\n\t\t\t}\n\t\t\treturn previous;\n\t\t}\n\t\treturn null;\n\t}\n\n\tblur(focusable: DFocusable | null): DFocusable | null {\n\t\tif (focusable != null && this._focused === focusable) {\n\t\t\tthis._focused = null;\n\t\t\tfocusable.state.isFocused = false;\n\t\t\treturn focusable;\n\t\t}\n\t\treturn null;\n\t}\n\n\tclear(): DFocusable | null {\n\t\treturn this.focus(null);\n\t}\n\n\tset(focusable: DFocusable | null, isFocused: boolean): DFocusable | null {\n\t\tif (isFocused) {\n\t\t\treturn this.focus(focusable);\n\t\t} else {\n\t\t\treturn this.blur(focusable);\n\t\t}\n\t}\n\n\tget(): DFocusable | null {\n\t\treturn this._focused;\n\t}\n\n\tfindParent(mightBeFocusable: DFocusableMightBe | null): DFocusable | null {\n\t\tlet current: DFocusableMightBe | DFocusableContainer | null = mightBeFocusable;\n\t\twhile (current != null) {\n\t\t\tif (this.isFocusable(current)) {\n\t\t\t\treturn current;\n\t\t\t} else {\n\t\t\t\tcurrent = current.parent;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tfind(\n\t\ttarget: DFocusableMightBe,\n\t\tincludesTarget: boolean,\n\t\tincludesTargetChildren: boolean,\n\t\tdirection: boolean,\n\t\troot?: unknown\n\t): DFocusable | null {\n\t\tif (direction) {\n\t\t\tconst result = this.findNext(target, includesTarget, includesTargetChildren);\n\t\t\tif (result != null) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\tif (this.isFocusRoot(target, root)) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tconst parent = target.parent;\n\t\t\tif (parent != null) {\n\t\t\t\tconst children = parent.children;\n\t\t\t\tconst index = children.indexOf(target);\n\t\t\t\tif (0 <= index) {\n\t\t\t\t\tconst childrenLength = children.length;\n\t\t\t\t\tif (this.isFocusReverse(parent)) {\n\t\t\t\t\t\tfor (let i = index - 1; 0 <= i; --i) {\n\t\t\t\t\t\t\tconst found = this.findNext(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!this.isFocusRoot(parent, root)) {\n\t\t\t\t\t\t\tconst found = this.find(parent, false, false, true, root);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor (let i = childrenLength - 1; index <= i; --i) {\n\t\t\t\t\t\t\tconst found = this.findNext(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfor (let i = index + 1; i < childrenLength; ++i) {\n\t\t\t\t\t\t\tconst found = this.findNext(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!this.isFocusRoot(parent, root)) {\n\t\t\t\t\t\t\tconst found = this.find(parent, false, false, true, root);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor (let i = 0; i <= index; ++i) {\n\t\t\t\t\t\t\tconst found = this.findNext(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tconst result = this.findPrevious(target, includesTarget, includesTargetChildren);\n\t\t\tif (result != null) {\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tconst parent = target.parent;\n\t\t\tif (parent != null) {\n\t\t\t\tconst children = parent.children;\n\t\t\t\tconst index = children.indexOf(target);\n\t\t\t\tif (0 <= index) {\n\t\t\t\t\tconst childrenLength = children.length;\n\t\t\t\t\tif (this.isFocusReverse(parent)) {\n\t\t\t\t\t\tfor (let i = index + 1; i < childrenLength; ++i) {\n\t\t\t\t\t\t\tconst found = this.findPrevious(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!this.isFocusRoot(parent, root)) {\n\t\t\t\t\t\t\tconst found = this.find(parent, true, false, false, root);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor (let i = 0; i <= index; ++i) {\n\t\t\t\t\t\t\tconst found = this.findPrevious(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfor (let i = index - 1; 0 <= i; --i) {\n\t\t\t\t\t\t\tconst found = this.findPrevious(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!this.isFocusRoot(parent, root)) {\n\t\t\t\t\t\t\tconst found = this.find(parent, true, false, false, root);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor (let i = childrenLength - 1; index <= i; --i) {\n\t\t\t\t\t\t\tconst found = this.findPrevious(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected findNext(\n\t\ttarget: DFocusableMightBe,\n\t\tincludesTarget: boolean,\n\t\tincludesTargetChildren: boolean\n\t): DFocusable | null {\n\t\t// Target itself\n\t\tif (includesTarget) {\n\t\t\tif (this.isFocusable(target)) {\n\t\t\t\treturn target;\n\t\t\t}\n\t\t}\n\n\t\t// Target children\n\t\tif (includesTargetChildren && this.isFocusableContainer(target) && target.visible) {\n\t\t\tconst children = target.children;\n\t\t\tconst childrenLength = children.length;\n\t\t\tif (this.isFocusReverse(target)) {\n\t\t\t\tfor (let i = childrenLength - 1; 0 <= i; --i) {\n\t\t\t\t\tconst found = this.findNext(children[i], true, true);\n\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\treturn found;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < childrenLength; ++i) {\n\t\t\t\t\tconst found = this.findNext(children[i], true, true);\n\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\treturn found;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Found nothing\n\t\treturn null;\n\t}\n\n\tprotected findPrevious(\n\t\ttarget: DFocusableMightBe,\n\t\tincludesTarget: boolean,\n\t\tincludesTargetChildren: boolean\n\t): DFocusable | null {\n\t\t// Target children\n\t\tif (includesTargetChildren && this.isFocusableContainer(target) && target.visible) {\n\t\t\tconst children = target.children;\n\t\t\tconst childrenLength = children.length;\n\t\t\tif (this.isFocusReverse(target)) {\n\t\t\t\tfor (let i = 0; i < childrenLength; ++i) {\n\t\t\t\t\tconst found = this.findPrevious(children[i], true, true);\n\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\treturn found;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = childrenLength - 1; 0 <= i; --i) {\n\t\t\t\t\tconst found = this.findPrevious(children[i], true, true);\n\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\treturn found;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Target itself\n\t\tif (includesTarget) {\n\t\t\tif (this.isFocusable(target)) {\n\t\t\t\treturn target;\n\t\t\t}\n\t\t}\n\n\t\t// Found nothing\n\t\treturn null;\n\t}\n\n\tprotected isFocusable(target: any): target is DFocusable {\n\t\treturn (\n\t\t\ttarget != null &&\n\t\t\t\"state\" in target &&\n\t\t\ttarget.state.inEnabled &&\n\t\t\ttarget.state.isFocusable &&\n\t\t\ttarget.visible\n\t\t);\n\t}\n\n\tprotected isFocusableContainer(target: any): target is DFocusableContainer {\n\t\treturn target != null && \"children\" in target;\n\t}\n\n\tprotected isFocusRoot(target: any, root: unknown): target is DFocusable {\n\t\tif (target === root) {\n\t\t\treturn true;\n\t\t}\n\t\treturn target != null && \"state\" in target && target.state.isFocusRoot && target.visible;\n\t}\n\n\tprotected isFocusReverse(target: any): boolean {\n\t\treturn target != null && \"state\" in target && target.state.isFocusReverse;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-controller-focus-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-controller-focus-impl.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\tDControllerFocus,\n\tDFocusable,\n\tDFocusableContainer,\n\tDFocusableMightBe\n} from \"./d-controller-focus\";\n\nexport class DControllerFocusImpl implements DControllerFocus {\n\tprivate _focused: DFocusable | null = null;\n\n\tfocus(focusable: DFocusable | null): DFocusable | null {\n\t\tconst previous = this._focused;\n\t\tif (previous !== focusable) {\n\t\t\tif (previous != null) {\n\t\t\t\tprevious.state.isFocused = false;\n\t\t\t}\n\n\t\t\tthis._focused = focusable;\n\t\t\tif (this.isFocusable(focusable)) {\n\t\t\t\tfocusable.state.isFocused = true;\n\t\t\t}\n\t\t\treturn previous;\n\t\t}\n\t\treturn null;\n\t}\n\n\tblur(focusable: DFocusable | null): DFocusable | null {\n\t\tif (focusable != null && this._focused === focusable) {\n\t\t\tthis._focused = null;\n\t\t\tfocusable.state.isFocused = false;\n\t\t\treturn focusable;\n\t\t}\n\t\treturn null;\n\t}\n\n\tclear(): DFocusable | null {\n\t\treturn this.focus(null);\n\t}\n\n\tset(focusable: DFocusable | null, isFocused: boolean): DFocusable | null {\n\t\tif (isFocused) {\n\t\t\treturn this.focus(focusable);\n\t\t} else {\n\t\t\treturn this.blur(focusable);\n\t\t}\n\t}\n\n\tget(): DFocusable | null {\n\t\treturn this._focused;\n\t}\n\n\tfindParent(mightBeFocusable: DFocusableMightBe | null): DFocusable | null {\n\t\tlet current: DFocusableMightBe | DFocusableContainer | null = mightBeFocusable;\n\t\twhile (current != null) {\n\t\t\tif (this.isFocusable(current)) {\n\t\t\t\treturn current;\n\t\t\t} else {\n\t\t\t\tcurrent = current.parent;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tfind(\n\t\ttarget: DFocusableMightBe,\n\t\tincludesTarget: boolean,\n\t\tincludesTargetChildren: boolean,\n\t\tdirection: boolean,\n\t\troot?: unknown\n\t): DFocusable | null {\n\t\tif (direction) {\n\t\t\tconst result = this.findNext(target, includesTarget, includesTargetChildren);\n\t\t\tif (result != null) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\tif (this.isFocusRoot(target, root)) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tconst parent = target.parent;\n\t\t\tif (parent != null) {\n\t\t\t\tconst children = parent.children;\n\t\t\t\tconst index = children.indexOf(target);\n\t\t\t\tif (0 <= index) {\n\t\t\t\t\tconst childrenLength = children.length;\n\t\t\t\t\tif (this.isFocusReverse(parent)) {\n\t\t\t\t\t\tfor (let i = index - 1; 0 <= i; --i) {\n\t\t\t\t\t\t\tconst found = this.findNext(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!this.isFocusRoot(parent, root)) {\n\t\t\t\t\t\t\tconst found = this.find(parent, false, false, true, root);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor (let i = childrenLength - 1; index <= i; --i) {\n\t\t\t\t\t\t\tconst found = this.findNext(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfor (let i = index + 1; i < childrenLength; ++i) {\n\t\t\t\t\t\t\tconst found = this.findNext(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!this.isFocusRoot(parent, root)) {\n\t\t\t\t\t\t\tconst found = this.find(parent, false, false, true, root);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor (let i = 0; i <= index; ++i) {\n\t\t\t\t\t\t\tconst found = this.findNext(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tconst result = this.findPrevious(target, includesTarget, includesTargetChildren);\n\t\t\tif (result != null) {\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tconst parent = target.parent;\n\t\t\tif (parent != null) {\n\t\t\t\tconst children = parent.children;\n\t\t\t\tconst index = children.indexOf(target);\n\t\t\t\tif (0 <= index) {\n\t\t\t\t\tconst childrenLength = children.length;\n\t\t\t\t\tif (this.isFocusReverse(parent)) {\n\t\t\t\t\t\tfor (let i = index + 1; i < childrenLength; ++i) {\n\t\t\t\t\t\t\tconst found = this.findPrevious(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!this.isFocusRoot(parent, root)) {\n\t\t\t\t\t\t\tconst found = this.find(parent, true, false, false, root);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor (let i = 0; i <= index; ++i) {\n\t\t\t\t\t\t\tconst found = this.findPrevious(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfor (let i = index - 1; 0 <= i; --i) {\n\t\t\t\t\t\t\tconst found = this.findPrevious(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!this.isFocusRoot(parent, root)) {\n\t\t\t\t\t\t\tconst found = this.find(parent, true, false, false, root);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor (let i = childrenLength - 1; index <= i; --i) {\n\t\t\t\t\t\t\tconst found = this.findPrevious(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected findNext(\n\t\ttarget: DFocusableMightBe,\n\t\tincludesTarget: boolean,\n\t\tincludesTargetChildren: boolean\n\t): DFocusable | null {\n\t\t// Target itself\n\t\tif (includesTarget) {\n\t\t\tif (this.isFocusable(target)) {\n\t\t\t\treturn target;\n\t\t\t}\n\t\t}\n\n\t\t// Target children\n\t\tif (includesTargetChildren && this.isFocusableContainer(target) && target.visible) {\n\t\t\tconst children = target.children;\n\t\t\tconst childrenLength = children.length;\n\t\t\tif (this.isFocusReverse(target)) {\n\t\t\t\tfor (let i = childrenLength - 1; 0 <= i; --i) {\n\t\t\t\t\tconst found = this.findNext(children[i], true, true);\n\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\treturn found;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < childrenLength; ++i) {\n\t\t\t\t\tconst found = this.findNext(children[i], true, true);\n\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\treturn found;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Found nothing\n\t\treturn null;\n\t}\n\n\tprotected findPrevious(\n\t\ttarget: DFocusableMightBe,\n\t\tincludesTarget: boolean,\n\t\tincludesTargetChildren: boolean\n\t): DFocusable | null {\n\t\t// Target children\n\t\tif (includesTargetChildren && this.isFocusableContainer(target) && target.visible) {\n\t\t\tconst children = target.children;\n\t\t\tconst childrenLength = children.length;\n\t\t\tif (this.isFocusReverse(target)) {\n\t\t\t\tfor (let i = 0; i < childrenLength; ++i) {\n\t\t\t\t\tconst found = this.findPrevious(children[i], true, true);\n\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\treturn found;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = childrenLength - 1; 0 <= i; --i) {\n\t\t\t\t\tconst found = this.findPrevious(children[i], true, true);\n\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\treturn found;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Target itself\n\t\tif (includesTarget) {\n\t\t\tif (this.isFocusable(target)) {\n\t\t\t\treturn target;\n\t\t\t}\n\t\t}\n\n\t\t// Found nothing\n\t\treturn null;\n\t}\n\n\tprotected isFocusable(target: any): target is DFocusable {\n\t\treturn (\n\t\t\ttarget != null &&\n\t\t\t\"state\" in target &&\n\t\t\ttarget.state.inEnabled &&\n\t\t\ttarget.state.isFocusable &&\n\t\t\ttarget.visible\n\t\t);\n\t}\n\n\tprotected isFocusableContainer(target: any): target is DFocusableContainer {\n\t\treturn target != null && \"children\" in target;\n\t}\n\n\tprotected isFocusRoot(target: any, root: unknown): target is DFocusable {\n\t\tif (target === root) {\n\t\t\treturn true;\n\t\t}\n\t\treturn target != null && \"state\" in target && target.state.isFocusRoot && target.visible;\n\t}\n\n\tprotected isFocusReverse(target: any): boolean {\n\t\treturn target != null && \"state\" in target && target.state.isFocusReverse;\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-diagram-base.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram-base.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DApplications } from \"./d-applications\";\nimport { DBaseShadow } from \"./d-base\";\nimport {\n\tDCanvasContainer,\n\tDCanvasContainerEvents,\n\tDCanvasContainerOptions,\n\tDThemeCanvasContainer\n} from \"./d-canvas-container\";\nimport { DDiagramBaseController } from \"./d-diagram-base-controller\";\nimport {\n\tDDiagramCanvasBackgroundOptions,\n\tDDiagramCanvasBase,\n\tDDiagramCanvasBaseOptions\n} from \"./d-diagram-canvas-base\";\nimport { DDiagramCanvasTilePyramidFactory } from \"./d-diagram-canvas-tile\";\nimport { DDiagramDataMapper } from \"./d-diagram-data-mapper\";\nimport { DDiagramLayer } from \"./d-diagram-layer\";\nimport { DDiagramSerialized } from \"./d-diagram-serialized\";\nimport { DDiagramSnapshot, DDiagramSnapshotOptions } from \"./d-diagram-snapshot\";\nimport { DDiagrams } from \"./d-diagrams\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { EShape } from \"./shape/e-shape\";\nimport { EShapeResourceManagerDeserialization } from \"./shape/e-shape-resource-manager-deserialization\";\nimport { EShapeEmbeddedDatum } from \"./shape/variant/e-shape-embedded-datum\";\n\n/**\n * {@link DDiagramBase} events.\n */\nexport interface DDiagramBaseEvents<CANVAS, EMITTER>\n\textends DCanvasContainerEvents<CANVAS, EMITTER> {\n\t/**\n\t * Triggered when all the shape initializations are finished.\n\t *\n\t * @param emitter an emitter\n\t */\n\tready(emitter: EMITTER): void;\n}\n\n/**\n * {@link DDiagramBase} \"on\" options.\n */\nexport interface DDiagramBaseOnOptions<CANVAS, EMITTER>\n\textends Partial<DDiagramBaseEvents<CANVAS, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DDiagramBase} options.\n */\nexport interface DDiagramBaseOptions<\n\tCANVAS extends DDiagramCanvasBase = DDiagramCanvasBase,\n\tCANVAS_OPTIONS extends DDiagramCanvasBaseOptions = DDiagramCanvasBaseOptions,\n\tCONTROLLER extends DDiagramBaseController = DDiagramBaseController,\n\tTHEME extends DThemeDiagramBase = DThemeDiagramBase,\n\tEMITTER = any\n> extends DCanvasContainerOptions<CANVAS, CANVAS_OPTIONS, THEME> {\n\tcontroller?: CONTROLLER;\n\n\t/**\n\t * A tile pyramid factory.\n\t */\n\ttile?: DDiagramCanvasTilePyramidFactory;\n\n\tambient?: boolean;\n\n\t/**\n\t * Snapshot options.\n\t */\n\tsnapshot?: DDiagramSnapshotOptions<CANVAS>;\n\n\ton?: DDiagramBaseOnOptions<CANVAS, EMITTER>;\n}\n\n/**\n * {@link DDiagramBase} theme.\n */\nexport interface DThemeDiagramBase extends DThemeCanvasContainer {\n\tgetCanvasBackgroundColor(): number;\n\tgetCanvasBackgroundAlpha(): number;\n\tgetCanvasShadow(): DBaseShadow | null;\n\tisAmbient(): boolean;\n}\n\nexport abstract class DDiagramBase<\n\tCANVAS extends DDiagramCanvasBase = DDiagramCanvasBase,\n\tCANVAS_OPTIONS extends DDiagramCanvasBaseOptions = DDiagramCanvasBaseOptions,\n\tCONTROLLER extends DDiagramBaseController = DDiagramBaseController,\n\tTHEME extends DThemeDiagramBase = DThemeDiagramBase,\n\tOPTIONS extends DDiagramBaseOptions<\n\t\tCANVAS,\n\t\tCANVAS_OPTIONS,\n\t\tCONTROLLER,\n\t\tTHEME\n\t> = DDiagramBaseOptions<CANVAS, CANVAS_OPTIONS, CONTROLLER, THEME>\n> extends DCanvasContainer<CANVAS, CANVAS_OPTIONS, THEME, OPTIONS> {\n\tprotected _serialized: DDiagramSerialized | null;\n\tprotected _tileFactory?: DDiagramCanvasTilePyramidFactory;\n\tprotected _controller?: CONTROLLER;\n\tprotected _isAmbient: boolean;\n\tprotected _snapshot: DDiagramSnapshot;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._serialized = null;\n\t\tthis._tileFactory = options?.tile;\n\t\tthis._controller = options?.controller;\n\t\tthis._isAmbient = options?.ambient ?? this.theme.isAmbient();\n\t\tthis._snapshot = new DDiagramSnapshot(this, options?.snapshot);\n\t}\n\n\tget snapshot(): DDiagramSnapshot {\n\t\treturn this._snapshot;\n\t}\n\n\tget controller(): CONTROLLER | null {\n\t\treturn this._controller || null;\n\t}\n\n\tset(serialized: null): Promise<null>;\n\tset(serialized: DDiagramSerialized): Promise<CANVAS>;\n\tset(serialized: DDiagramSerialized | null): Promise<CANVAS | null> {\n\t\tconst oldSerialized = this._serialized;\n\t\tif (oldSerialized !== serialized) {\n\t\t\tif (oldSerialized) {\n\t\t\t\tthis._serialized = null;\n\t\t\t\tconst canvas = this.canvas;\n\t\t\t\tif (canvas) {\n\t\t\t\t\tthis.canvas = null;\n\t\t\t\t}\n\t\t\t\tthis.onUnset();\n\t\t\t}\n\n\t\t\tthis._serialized = serialized;\n\t\t\tif (serialized) {\n\t\t\t\tconst canvas = this.newCanvas(serialized);\n\t\t\t\tconst pieces = serialized.pieces;\n\t\t\t\tconst isEditMode = this.isEditMode();\n\t\t\t\tconst result = DDiagrams.toPieceData(this._controller, pieces, isEditMode).then(\n\t\t\t\t\t(pieceData): Promise<CANVAS> => {\n\t\t\t\t\t\treturn this.newLayer(serialized, canvas, isEditMode, pieces, pieceData);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tthis.onSet(serialized, canvas);\n\t\t\t\tthis.canvas = canvas;\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\treturn Promise.resolve(null);\n\t\t\t}\n\t\t} else {\n\t\t\treturn Promise.resolve(this.canvas);\n\t\t}\n\t}\n\n\tprotected onSet(serialized: DDiagramSerialized, canvas: CANVAS): void {\n\t\t// DO NOTHING\n\t}\n\n\tprotected abstract isEditMode(): boolean;\n\n\tprotected newLayer(\n\t\tserialized: DDiagramSerialized,\n\t\tcanvas: CANVAS,\n\t\tisEditMode: boolean,\n\t\tpieces?: string[],\n\t\tpieceData?: Map<string, EShapeEmbeddedDatum | null>\n\t): Promise<CANVAS> {\n\t\tconst manager = new EShapeResourceManagerDeserialization(\n\t\t\tserialized,\n\t\t\tpieces,\n\t\t\tpieceData,\n\t\t\tisEditMode\n\t\t);\n\t\tconst result = DDiagrams.newLayer(serialized, canvas.layer, manager).then(\n\t\t\t(shapes: EShape[]): CANVAS => {\n\t\t\t\treturn this.initLayer(canvas, shapes);\n\t\t\t}\n\t\t);\n\t\tif (this._isAmbient) {\n\t\t\tconst background = this.toCanvasBaseBackgroundOptions(serialized, this.theme, false);\n\t\t\tthis.background.color = background.color;\n\t\t\tthis.background.alpha = background.alpha;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected initLayer(\n\t\tcanvas: CANVAS,\n\t\tshapes: EShape[],\n\t\tmapper?: DDiagramDataMapper | null\n\t): CANVAS {\n\t\tcanvas.layer.init();\n\t\tcanvas.initialize(shapes, mapper);\n\t\tDApplications.update(this);\n\t\tthis.emit(\"ready\", this);\n\t\treturn canvas;\n\t}\n\n\tprotected toCanvasBaseOptions(serialized: DDiagramSerialized): DDiagramCanvasBaseOptions<any> {\n\t\tconst theme = this.theme;\n\t\tconst isAmbient = this._isAmbient;\n\t\treturn {\n\t\t\tname: serialized.name,\n\t\t\twidth: serialized.width,\n\t\t\theight: serialized.height,\n\t\t\tbackground: this.toCanvasBaseBackgroundOptions(serialized, theme, isAmbient),\n\t\t\tborder: isAmbient ? { color: null } : undefined,\n\t\t\toutline: isAmbient ? { color: null } : undefined,\n\t\t\tshadow: isAmbient ? null : theme.getCanvasShadow(),\n\t\t\ttile: {\n\t\t\t\tfactory: this._tileFactory,\n\t\t\t\tmapping: serialized.tile?.mapping\n\t\t\t},\n\t\t\tambient: isAmbient\n\t\t};\n\t}\n\n\tprotected toCanvasBaseBackgroundOptions(\n\t\tserialized: DDiagramSerialized,\n\t\ttheme: THEME,\n\t\tisAmbient: boolean\n\t): DDiagramCanvasBackgroundOptions {\n\t\tif (isAmbient) {\n\t\t\treturn {\n\t\t\t\tcolor: null\n\t\t\t};\n\t\t}\n\t\tconst background = serialized.background;\n\t\treturn {\n\t\t\tcolor: background?.color ?? theme.getCanvasBackgroundColor(),\n\t\t\talpha: background?.alpha ?? theme.getCanvasBackgroundAlpha()\n\t\t};\n\t}\n\n\tprotected abstract newCanvas(serialized: DDiagramSerialized): CANVAS;\n\n\tprotected onUnset(): void {\n\t\t// DO NOTHING\n\t}\n\n\tget(): DDiagramSerialized | null {\n\t\treturn this._serialized;\n\t}\n\n\tget layer(): DDiagramLayer | null {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\treturn canvas.layer.active;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagramBase\";\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-diagram-base.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram-base.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DApplications } from \"./d-applications\";\nimport { DBaseShadow } from \"./d-base\";\nimport {\n\tDCanvasContainer,\n\tDCanvasContainerEvents,\n\tDCanvasContainerOptions,\n\tDThemeCanvasContainer\n} from \"./d-canvas-container\";\nimport { DDiagramBaseController } from \"./d-diagram-base-controller\";\nimport {\n\tDDiagramCanvasBackgroundOptions,\n\tDDiagramCanvasBase,\n\tDDiagramCanvasBaseOptions\n} from \"./d-diagram-canvas-base\";\nimport { DDiagramCanvasTilePyramidFactory } from \"./d-diagram-canvas-tile\";\nimport { DDiagramDataMapper } from \"./d-diagram-data-mapper\";\nimport { DDiagramLayer } from \"./d-diagram-layer\";\nimport { DDiagramSerialized } from \"./d-diagram-serialized\";\nimport { DDiagramSnapshot, DDiagramSnapshotOptions } from \"./d-diagram-snapshot\";\nimport { DDiagrams } from \"./d-diagrams\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { EShape } from \"./shape/e-shape\";\nimport { EShapeResourceManagerDeserialization } from \"./shape/e-shape-resource-manager-deserialization\";\nimport { EShapeEmbeddedDatum } from \"./shape/variant/e-shape-embedded-datum\";\n\n/**\n * {@link DDiagramBase} events.\n */\nexport interface DDiagramBaseEvents<CANVAS, EMITTER>\n\textends DCanvasContainerEvents<CANVAS, EMITTER> {\n\t/**\n\t * Triggered when all the shape initializations are finished.\n\t *\n\t * @param emitter an emitter\n\t */\n\tready(emitter: EMITTER): void;\n}\n\n/**\n * {@link DDiagramBase} \"on\" options.\n */\nexport interface DDiagramBaseOnOptions<CANVAS, EMITTER>\n\textends Partial<DDiagramBaseEvents<CANVAS, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DDiagramBase} options.\n */\nexport interface DDiagramBaseOptions<\n\tCANVAS extends DDiagramCanvasBase = DDiagramCanvasBase,\n\tCANVAS_OPTIONS extends DDiagramCanvasBaseOptions = DDiagramCanvasBaseOptions,\n\tCONTROLLER extends DDiagramBaseController = DDiagramBaseController,\n\tTHEME extends DThemeDiagramBase = DThemeDiagramBase,\n\tEMITTER = any\n> extends DCanvasContainerOptions<CANVAS, CANVAS_OPTIONS, THEME> {\n\tcontroller?: CONTROLLER;\n\n\t/**\n\t * A tile pyramid factory.\n\t */\n\ttile?: DDiagramCanvasTilePyramidFactory;\n\n\tambient?: boolean;\n\n\t/**\n\t * Snapshot options.\n\t */\n\tsnapshot?: DDiagramSnapshotOptions<CANVAS>;\n\n\ton?: DDiagramBaseOnOptions<CANVAS, EMITTER>;\n}\n\n/**\n * {@link DDiagramBase} theme.\n */\nexport interface DThemeDiagramBase extends DThemeCanvasContainer {\n\tgetCanvasBackgroundColor(): number;\n\tgetCanvasBackgroundAlpha(): number;\n\tgetCanvasShadow(): DBaseShadow | null;\n\tisAmbient(): boolean;\n}\n\nexport abstract class DDiagramBase<\n\tCANVAS extends DDiagramCanvasBase = DDiagramCanvasBase,\n\tCANVAS_OPTIONS extends DDiagramCanvasBaseOptions = DDiagramCanvasBaseOptions,\n\tCONTROLLER extends DDiagramBaseController = DDiagramBaseController,\n\tTHEME extends DThemeDiagramBase = DThemeDiagramBase,\n\tOPTIONS extends DDiagramBaseOptions<\n\t\tCANVAS,\n\t\tCANVAS_OPTIONS,\n\t\tCONTROLLER,\n\t\tTHEME\n\t> = DDiagramBaseOptions<CANVAS, CANVAS_OPTIONS, CONTROLLER, THEME>\n> extends DCanvasContainer<CANVAS, CANVAS_OPTIONS, THEME, OPTIONS> {\n\tprotected _serialized: DDiagramSerialized | null;\n\tprotected _tileFactory?: DDiagramCanvasTilePyramidFactory;\n\tprotected _controller?: CONTROLLER;\n\tprotected _isAmbient: boolean;\n\tprotected _snapshot: DDiagramSnapshot;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._serialized = null;\n\t\tthis._tileFactory = options?.tile;\n\t\tthis._controller = options?.controller;\n\t\tthis._isAmbient = options?.ambient ?? this.theme.isAmbient();\n\t\tthis._snapshot = new DDiagramSnapshot(this, options?.snapshot);\n\t}\n\n\tget snapshot(): DDiagramSnapshot {\n\t\treturn this._snapshot;\n\t}\n\n\tget controller(): CONTROLLER | null {\n\t\treturn this._controller || null;\n\t}\n\n\tset(serialized: null): Promise<null>;\n\tset(serialized: DDiagramSerialized): Promise<CANVAS>;\n\tset(serialized: DDiagramSerialized | null): Promise<CANVAS | null>;\n\tset(serialized: DDiagramSerialized | null): Promise<CANVAS | null> {\n\t\tconst oldSerialized = this._serialized;\n\t\tif (oldSerialized !== serialized) {\n\t\t\tif (oldSerialized) {\n\t\t\t\tthis._serialized = null;\n\t\t\t\tconst canvas = this.canvas;\n\t\t\t\tif (canvas) {\n\t\t\t\t\tthis.canvas = null;\n\t\t\t\t}\n\t\t\t\tthis.onUnset();\n\t\t\t}\n\n\t\t\tthis._serialized = serialized;\n\t\t\tif (serialized) {\n\t\t\t\tconst canvas = this.newCanvas(serialized);\n\t\t\t\tconst pieces = serialized.pieces;\n\t\t\t\tconst isEditMode = this.isEditMode();\n\t\t\t\tconst result = DDiagrams.toPieceData(this._controller, pieces, isEditMode).then(\n\t\t\t\t\t(pieceData): Promise<CANVAS> => {\n\t\t\t\t\t\treturn this.newLayer(serialized, canvas, isEditMode, pieces, pieceData);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tthis.onSet(serialized, canvas);\n\t\t\t\tthis.canvas = canvas;\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\treturn Promise.resolve(null);\n\t\t\t}\n\t\t} else {\n\t\t\treturn Promise.resolve(this.canvas);\n\t\t}\n\t}\n\n\tprotected onSet(serialized: DDiagramSerialized, canvas: CANVAS): void {\n\t\t// DO NOTHING\n\t}\n\n\tprotected abstract isEditMode(): boolean;\n\n\tprotected newLayer(\n\t\tserialized: DDiagramSerialized,\n\t\tcanvas: CANVAS,\n\t\tisEditMode: boolean,\n\t\tpieces?: string[],\n\t\tpieceData?: Map<string, EShapeEmbeddedDatum | null>\n\t): Promise<CANVAS> {\n\t\tconst manager = new EShapeResourceManagerDeserialization(\n\t\t\tserialized,\n\t\t\tpieces,\n\t\t\tpieceData,\n\t\t\tisEditMode\n\t\t);\n\t\tconst result = DDiagrams.newLayer(serialized, canvas.layer, manager).then(\n\t\t\t(shapes: EShape[]): CANVAS => {\n\t\t\t\treturn this.initLayer(canvas, shapes);\n\t\t\t}\n\t\t);\n\t\tif (this._isAmbient) {\n\t\t\tconst background = this.toCanvasBaseBackgroundOptions(serialized, this.theme, false);\n\t\t\tthis.background.color = background.color;\n\t\t\tthis.background.alpha = background.alpha;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected initLayer(\n\t\tcanvas: CANVAS,\n\t\tshapes: EShape[],\n\t\tmapper?: DDiagramDataMapper | null\n\t): CANVAS {\n\t\tcanvas.layer.init();\n\t\tcanvas.initialize(shapes, mapper);\n\t\tDApplications.update(this);\n\t\tthis.emit(\"ready\", this);\n\t\treturn canvas;\n\t}\n\n\tprotected toCanvasBaseOptions(serialized: DDiagramSerialized): DDiagramCanvasBaseOptions<any> {\n\t\tconst theme = this.theme;\n\t\tconst isAmbient = this._isAmbient;\n\t\treturn {\n\t\t\tname: serialized.name,\n\t\t\twidth: serialized.width,\n\t\t\theight: serialized.height,\n\t\t\tbackground: this.toCanvasBaseBackgroundOptions(serialized, theme, isAmbient),\n\t\t\tborder: isAmbient ? { color: null } : undefined,\n\t\t\toutline: isAmbient ? { color: null } : undefined,\n\t\t\tshadow: isAmbient ? null : theme.getCanvasShadow(),\n\t\t\ttile: {\n\t\t\t\tfactory: this._tileFactory,\n\t\t\t\tmapping: serialized.tile?.mapping\n\t\t\t},\n\t\t\tambient: isAmbient\n\t\t};\n\t}\n\n\tprotected toCanvasBaseBackgroundOptions(\n\t\tserialized: DDiagramSerialized,\n\t\ttheme: THEME,\n\t\tisAmbient: boolean\n\t): DDiagramCanvasBackgroundOptions {\n\t\tif (isAmbient) {\n\t\t\treturn {\n\t\t\t\tcolor: null\n\t\t\t};\n\t\t}\n\t\tconst background = serialized.background;\n\t\treturn {\n\t\t\tcolor: background?.color ?? theme.getCanvasBackgroundColor(),\n\t\t\talpha: background?.alpha ?? theme.getCanvasBackgroundAlpha()\n\t\t};\n\t}\n\n\tprotected abstract newCanvas(serialized: DDiagramSerialized): CANVAS;\n\n\tprotected onUnset(): void {\n\t\t// DO NOTHING\n\t}\n\n\tget(): DDiagramSerialized | null {\n\t\treturn this._serialized;\n\t}\n\n\tget layer(): DDiagramLayer | null {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\treturn canvas.layer.active;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagramBase\";\n\t}\n}\n"]}
|