@wcardinal/wcardinal-ui 0.358.0 → 0.361.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 (33) hide show
  1. package/dist/types/wcardinal/ui/d-diagram-canvas-base.d.ts +4 -4
  2. package/dist/types/wcardinal/ui/d-diagram-serialized.d.ts +2 -2
  3. package/dist/types/wcardinal/ui/d-dialog-select.d.ts +10 -10
  4. package/dist/types/wcardinal/ui/util/index.d.ts +1 -0
  5. package/dist/types/wcardinal/ui/util/to-label-with.d.ts +1 -0
  6. package/dist/wcardinal/ui/d-diagram-canvas-base.js +2 -2
  7. package/dist/wcardinal/ui/d-diagram-canvas-base.js.map +1 -1
  8. package/dist/wcardinal/ui/d-diagram-serialized.js.map +1 -1
  9. package/dist/wcardinal/ui/d-dialog-select.js +28 -14
  10. package/dist/wcardinal/ui/d-dialog-select.js.map +1 -1
  11. package/dist/wcardinal/ui/d-select.js +4 -10
  12. package/dist/wcardinal/ui/d-select.js.map +1 -1
  13. package/dist/wcardinal/ui/theme/dark/d-theme-dark-dialog-select.js +2 -2
  14. package/dist/wcardinal/ui/theme/dark/d-theme-dark-dialog-select.js.map +1 -1
  15. package/dist/wcardinal/ui/theme/white/d-theme-white-dialog-select.js +2 -2
  16. package/dist/wcardinal/ui/theme/white/d-theme-white-dialog-select.js.map +1 -1
  17. package/dist/wcardinal/ui/util/index.js +1 -0
  18. package/dist/wcardinal/ui/util/index.js.map +1 -1
  19. package/dist/wcardinal/ui/util/to-label-with.js +27 -0
  20. package/dist/wcardinal/ui/util/to-label-with.js.map +1 -0
  21. package/dist/wcardinal/ui/util/to-label.js +2 -20
  22. package/dist/wcardinal/ui/util/to-label.js.map +1 -1
  23. package/dist/wcardinal-ui-theme-dark.js +4 -2
  24. package/dist/wcardinal-ui-theme-dark.min.js +2 -2
  25. package/dist/wcardinal-ui-theme-dark.min.js.map +1 -1
  26. package/dist/wcardinal-ui-theme-white.js +4 -2
  27. package/dist/wcardinal-ui-theme-white.min.js +2 -2
  28. package/dist/wcardinal-ui-theme-white.min.js.map +1 -1
  29. package/dist/wcardinal-ui.cjs.js +47 -31
  30. package/dist/wcardinal-ui.js +45 -29
  31. package/dist/wcardinal-ui.min.js +2 -2
  32. package/dist/wcardinal-ui.min.js.map +1 -1
  33. package/package.json +1 -1
@@ -10,7 +10,7 @@ export interface DDiagramCanvasBackgroundOptions extends DBaseBackgroundOptions
10
10
  }
11
11
  export interface DDiagramCanvasBaseOptions<THEME extends DThemeDiagramCanvasBase = DThemeDiagramCanvasBase> extends DCanvasOptions<THEME> {
12
12
  label?: string;
13
- category?: string;
13
+ category?: string | null;
14
14
  summary?: string;
15
15
  description?: string;
16
16
  tile?: DDiagramCanvasTileOptions;
@@ -24,7 +24,7 @@ export interface DThemeDiagramCanvasBase extends DThemeCanvas {
24
24
  export declare class DDiagramCanvasBase<THEME extends DThemeDiagramCanvasBase = DThemeDiagramCanvasBase, OPTIONS extends DDiagramCanvasBaseOptions<THEME> = DDiagramCanvasBaseOptions<THEME>> extends DCanvas<THEME, OPTIONS> {
25
25
  protected _layer: DDiagramLayerContainer;
26
26
  protected _label: string;
27
- protected _category: string;
27
+ protected _category: string | null;
28
28
  protected _summary: string;
29
29
  protected _description: string;
30
30
  protected _tile: DDiagramCanvasTile;
@@ -33,8 +33,8 @@ export declare class DDiagramCanvasBase<THEME extends DThemeDiagramCanvasBase =
33
33
  protected toBackgroundBase(theme: THEME, options?: OPTIONS): number | null;
34
34
  get label(): string;
35
35
  set label(label: string);
36
- get category(): string;
37
- set category(category: string);
36
+ get category(): string | null;
37
+ set category(category: string | null);
38
38
  get summary(): string;
39
39
  set summary(summary: string);
40
40
  get description(): string;
@@ -425,7 +425,7 @@ export interface DDiagramSerialized {
425
425
  label?: string;
426
426
  width: number;
427
427
  height: number;
428
- category?: string;
428
+ category?: string | null;
429
429
  summary?: string;
430
430
  description?: string;
431
431
  background?: DDiagramSerializedBackground;
@@ -449,7 +449,7 @@ export interface DDiagramSerializedSimple {
449
449
  id: number | undefined;
450
450
  name: string;
451
451
  label?: string;
452
- category?: string;
452
+ category?: string | null;
453
453
  summary?: string;
454
454
  description?: string;
455
455
  /**
@@ -42,9 +42,9 @@ export interface DDialogSelectEvents<VALUE, EMITTER> extends DDialogLayeredEvent
42
42
  /**
43
43
  * {@link DDialogSelect} category options.
44
44
  */
45
- export interface DDialogSelectCategoryOptions<VALUE, CATEGORY, CATEGORY_ID> extends DSelectOptions<CATEGORY_ID> {
45
+ export interface DDialogSelectCategoryOptions<VALUE, CATEGORY, CATEGORY_ID> extends DSelectOptions<CATEGORY_ID | null> {
46
46
  toId?: (category: CATEGORY) => CATEGORY_ID;
47
- toLabel?: (category: CATEGORY) => string;
47
+ toLabel?: (category: CATEGORY | null) => string;
48
48
  }
49
49
  /**
50
50
  * {@link DDialogSelect} "on" options.
@@ -69,13 +69,13 @@ export interface DDialogSelectOptions<VALUE, CATEGORY = unknown, CATEGORY_ID = u
69
69
  export interface DThemeDialogSelect<VALUE = unknown, CATEGORY = unknown, CATEGORY_ID = unknown> extends DThemeDialogLayered {
70
70
  getInputMargin(): number;
71
71
  toCategoryId(category: CATEGORY): CATEGORY_ID;
72
- toCategoryLabel(category: CATEGORY): string;
72
+ toCategoryLabel(category: CATEGORY | null): string;
73
73
  }
74
74
  export declare class DDialogSelect<VALUE = unknown, CATEGORY = unknown, CATEGORY_ID = unknown, THEME extends DThemeDialogSelect<VALUE, CATEGORY, CATEGORY_ID> = DThemeDialogSelect<VALUE, CATEGORY, CATEGORY_ID>, OPTIONS extends DDialogSelectOptions<VALUE, CATEGORY, CATEGORY_ID, THEME> = DDialogSelectOptions<VALUE, CATEGORY, CATEGORY_ID, THEME>> extends DDialogLayered<VALUE | null, THEME, OPTIONS> {
75
75
  protected _value: VALUE | null;
76
76
  protected _spaceLeft?: DLayoutSpace;
77
77
  protected _spaceRight?: DLayoutSpace;
78
- protected _selectCategory?: DSelect<CATEGORY_ID> | null;
78
+ protected _selectCategory?: DSelect<CATEGORY_ID | null> | null;
79
79
  protected _isCategoryFetched?: boolean;
80
80
  protected _input?: DInputSearch;
81
81
  protected _inputLayout?: DLayoutHorizontal;
@@ -91,9 +91,9 @@ export declare class DDialogSelect<VALUE = unknown, CATEGORY = unknown, CATEGORY
91
91
  protected get spaceLeft(): DLayoutSpace;
92
92
  protected get spaceRight(): DLayoutSpace;
93
93
  protected newSpace(): DLayoutSpace;
94
- protected get selectCategory(): DSelect<CATEGORY_ID> | null;
95
- protected newSelectCategory(): DSelect<CATEGORY_ID> | null;
96
- protected toSelectCategoryOptions(theme: THEME, options?: OPTIONS): DSelectOptions<CATEGORY_ID>;
94
+ protected get selectCategory(): DSelect<CATEGORY_ID | null> | null;
95
+ protected newSelectCategory(): DSelect<CATEGORY_ID | null> | null;
96
+ protected toSelectCategoryOptions(theme: THEME, options?: OPTIONS): DSelectOptions<CATEGORY_ID | null>;
97
97
  protected onSelectCategoryChange(categoryId: CATEGORY_ID): void;
98
98
  get input(): DInputSearch;
99
99
  protected newInput(): DInputSearch;
@@ -118,9 +118,9 @@ export declare class DDialogSelect<VALUE = unknown, CATEGORY = unknown, CATEGORY
118
118
  protected getResolvedValue(): VALUE | null | PromiseLike<VALUE | null>;
119
119
  protected getType(): string;
120
120
  protected onOpen(): void;
121
- protected onCategoryFetched(selectCategory: DSelect<CATEGORY_ID>, categories: CATEGORY[]): void;
122
- protected toCategoryId(target: CATEGORY): CATEGORY_ID;
123
- protected toCategoryLabel(target: CATEGORY): string;
121
+ protected onCategoryFetched(selectCategory: DSelect<CATEGORY_ID | null>, categories: CATEGORY[]): void;
122
+ protected newToCategoryId(): (category: CATEGORY) => CATEGORY_ID;
123
+ protected newToCategoryLabel(): (category: CATEGORY | null) => string;
124
124
  protected findCategories(): Promise<CATEGORY[]> | CATEGORY[] | null;
125
125
  protected onOk(value: VALUE | null | PromiseLike<VALUE | null>): void;
126
126
  destroy(): void;
@@ -33,6 +33,7 @@ export * from "./to-cloned";
33
33
  export * from "./to-enum";
34
34
  export * from "./to-id";
35
35
  export * from "./to-index-of";
36
+ export * from "./to-label-with";
36
37
  export * from "./to-label";
37
38
  export * from "./to-merged";
38
39
  export * from "./to-padded";
@@ -0,0 +1 @@
1
+ export declare const toLabelWith: (target: any, def: string) => string;
@@ -25,13 +25,13 @@ var DDiagramCanvasBase = /** @class */ (function (_super) {
25
25
  // Label, Category, Summary and Description
26
26
  if (options != null) {
27
27
  _this._label = (_a = options.label) !== null && _a !== void 0 ? _a : "";
28
- _this._category = (_b = options.category) !== null && _b !== void 0 ? _b : "";
28
+ _this._category = (_b = options.category) !== null && _b !== void 0 ? _b : null;
29
29
  _this._summary = (_c = options.summary) !== null && _c !== void 0 ? _c : "";
30
30
  _this._description = (_d = options.description) !== null && _d !== void 0 ? _d : "";
31
31
  }
32
32
  else {
33
33
  _this._label = "";
34
- _this._category = "";
34
+ _this._category = null;
35
35
  _this._summary = "";
36
36
  _this._description = "";
37
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"d-diagram-canvas-base.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram-canvas-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 { IPoint } from \"pixi.js\";\nimport { DBaseBackgroundOptions } from \"./d-base\";\nimport { DCanvas, DCanvasOptions, DThemeCanvas } from \"./d-canvas\";\nimport { DDiagramCanvasEditorBackground } from \"./d-diagram-canvas-editor-background\";\nimport { DDiagramCanvasTile, DDiagramCanvasTileOptions } from \"./d-diagram-canvas-tile\";\nimport { DDiagramDataMapper } from \"./d-diagram-data-mapper\";\nimport { DDiagramLayerContainer } from \"./d-diagram-layer-container\";\nimport { EShape } from \"./shape/e-shape\";\n\nexport interface DDiagramCanvasBackgroundOptions extends DBaseBackgroundOptions {\n\tbase?: number | null;\n}\n\nexport interface DDiagramCanvasBaseOptions<\n\tTHEME extends DThemeDiagramCanvasBase = DThemeDiagramCanvasBase\n> extends DCanvasOptions<THEME> {\n\tlabel?: string;\n\tcategory?: string;\n\tsummary?: string;\n\tdescription?: string;\n\ttile?: DDiagramCanvasTileOptions;\n\tbackground?: DDiagramCanvasBackgroundOptions;\n\tambient?: boolean;\n}\n\nexport interface DThemeDiagramCanvasBase extends DThemeCanvas {\n\tisAmbient(): boolean;\n\tgetBackgroundBase(): number | null;\n}\n\nexport class DDiagramCanvasBase<\n\tTHEME extends DThemeDiagramCanvasBase = DThemeDiagramCanvasBase,\n\tOPTIONS extends DDiagramCanvasBaseOptions<THEME> = DDiagramCanvasBaseOptions<THEME>\n> extends DCanvas<THEME, OPTIONS> {\n\tprotected _layer: DDiagramLayerContainer;\n\tprotected _label: string;\n\tprotected _category: string;\n\tprotected _summary: string;\n\tprotected _description: string;\n\tprotected _tile: DDiagramCanvasTile;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\n\t\t// Background\n\t\tconst theme = this.theme;\n\t\tif (!this.isAmbient(theme, options)) {\n\t\t\tthis._background = new DDiagramCanvasEditorBackground(\n\t\t\t\tthis._background,\n\t\t\t\tthis.toBackgroundBase(theme, options)\n\t\t\t);\n\t\t}\n\n\t\t// Layer\n\t\tconst layer = new DDiagramLayerContainer(this.width, this.height);\n\t\tthis._layer = layer;\n\t\tthis.addChild(layer);\n\n\t\t// Label, Category, Summary and Description\n\t\tif (options != null) {\n\t\t\tthis._label = options.label ?? \"\";\n\t\t\tthis._category = options.category ?? \"\";\n\t\t\tthis._summary = options.summary ?? \"\";\n\t\t\tthis._description = options.description ?? \"\";\n\t\t} else {\n\t\t\tthis._label = \"\";\n\t\t\tthis._category = \"\";\n\t\t\tthis._summary = \"\";\n\t\t\tthis._description = \"\";\n\t\t}\n\n\t\t// Tile\n\t\tconst tile = new DDiagramCanvasTile(this, options?.tile);\n\t\tthis._tile = tile;\n\t\ttile.init();\n\t}\n\n\tprotected isAmbient(theme: THEME, options?: OPTIONS): boolean {\n\t\treturn options?.ambient ?? theme.isAmbient();\n\t}\n\n\tprotected toBackgroundBase(theme: THEME, options?: OPTIONS): number | null {\n\t\treturn options?.background?.base ?? theme.getBackgroundBase();\n\t}\n\n\tget label(): string {\n\t\treturn this._label;\n\t}\n\n\tset label(label: string) {\n\t\tthis._label = label;\n\t}\n\n\tget category(): string {\n\t\treturn this._category;\n\t}\n\n\tset category(category: string) {\n\t\tthis._category = category;\n\t}\n\n\tget summary(): string {\n\t\treturn this._summary;\n\t}\n\n\tset summary(summary: string) {\n\t\tthis._summary = summary;\n\t}\n\n\tget description(): string {\n\t\treturn this._description;\n\t}\n\n\tset description(description: string) {\n\t\tthis._description = description;\n\t}\n\n\tget tile(): DDiagramCanvasTile {\n\t\treturn this._tile;\n\t}\n\n\tget layer(): DDiagramLayerContainer {\n\t\treturn this._layer;\n\t}\n\n\tinitialize(shapes: EShape[], mapper?: DDiagramDataMapper | null): void {\n\t\t// DO NOTHING\n\t}\n\n\tdestroy(): void {\n\t\tif (!this._destroyed) {\n\t\t\tthis.onDestroy();\n\t\t\tsuper.destroy();\n\t\t}\n\t}\n\n\tprotected onDestroy(): void {\n\t\tthis._tile.destroy();\n\t\tthis._layer.destroy();\n\t}\n\n\thitTest(global: IPoint, onHit?: (shape: EShape) => boolean): EShape | null {\n\t\tconst layers = this._layer.children;\n\t\tfor (let i = layers.length - 1; 0 <= i; --i) {\n\t\t\tconst layer = layers[i];\n\t\t\tif (layer.visible) {\n\t\t\t\tconst shape = layer.hitTest(global, onHit);\n\t\t\t\tif (shape != null) {\n\t\t\t\t\treturn shape;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagramCanvasBase\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-diagram-canvas-base.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram-canvas-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 { IPoint } from \"pixi.js\";\nimport { DBaseBackgroundOptions } from \"./d-base\";\nimport { DCanvas, DCanvasOptions, DThemeCanvas } from \"./d-canvas\";\nimport { DDiagramCanvasEditorBackground } from \"./d-diagram-canvas-editor-background\";\nimport { DDiagramCanvasTile, DDiagramCanvasTileOptions } from \"./d-diagram-canvas-tile\";\nimport { DDiagramDataMapper } from \"./d-diagram-data-mapper\";\nimport { DDiagramLayerContainer } from \"./d-diagram-layer-container\";\nimport { EShape } from \"./shape/e-shape\";\n\nexport interface DDiagramCanvasBackgroundOptions extends DBaseBackgroundOptions {\n\tbase?: number | null;\n}\n\nexport interface DDiagramCanvasBaseOptions<\n\tTHEME extends DThemeDiagramCanvasBase = DThemeDiagramCanvasBase\n> extends DCanvasOptions<THEME> {\n\tlabel?: string;\n\tcategory?: string | null;\n\tsummary?: string;\n\tdescription?: string;\n\ttile?: DDiagramCanvasTileOptions;\n\tbackground?: DDiagramCanvasBackgroundOptions;\n\tambient?: boolean;\n}\n\nexport interface DThemeDiagramCanvasBase extends DThemeCanvas {\n\tisAmbient(): boolean;\n\tgetBackgroundBase(): number | null;\n}\n\nexport class DDiagramCanvasBase<\n\tTHEME extends DThemeDiagramCanvasBase = DThemeDiagramCanvasBase,\n\tOPTIONS extends DDiagramCanvasBaseOptions<THEME> = DDiagramCanvasBaseOptions<THEME>\n> extends DCanvas<THEME, OPTIONS> {\n\tprotected _layer: DDiagramLayerContainer;\n\tprotected _label: string;\n\tprotected _category: string | null;\n\tprotected _summary: string;\n\tprotected _description: string;\n\tprotected _tile: DDiagramCanvasTile;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\n\t\t// Background\n\t\tconst theme = this.theme;\n\t\tif (!this.isAmbient(theme, options)) {\n\t\t\tthis._background = new DDiagramCanvasEditorBackground(\n\t\t\t\tthis._background,\n\t\t\t\tthis.toBackgroundBase(theme, options)\n\t\t\t);\n\t\t}\n\n\t\t// Layer\n\t\tconst layer = new DDiagramLayerContainer(this.width, this.height);\n\t\tthis._layer = layer;\n\t\tthis.addChild(layer);\n\n\t\t// Label, Category, Summary and Description\n\t\tif (options != null) {\n\t\t\tthis._label = options.label ?? \"\";\n\t\t\tthis._category = options.category ?? null;\n\t\t\tthis._summary = options.summary ?? \"\";\n\t\t\tthis._description = options.description ?? \"\";\n\t\t} else {\n\t\t\tthis._label = \"\";\n\t\t\tthis._category = null;\n\t\t\tthis._summary = \"\";\n\t\t\tthis._description = \"\";\n\t\t}\n\n\t\t// Tile\n\t\tconst tile = new DDiagramCanvasTile(this, options?.tile);\n\t\tthis._tile = tile;\n\t\ttile.init();\n\t}\n\n\tprotected isAmbient(theme: THEME, options?: OPTIONS): boolean {\n\t\treturn options?.ambient ?? theme.isAmbient();\n\t}\n\n\tprotected toBackgroundBase(theme: THEME, options?: OPTIONS): number | null {\n\t\treturn options?.background?.base ?? theme.getBackgroundBase();\n\t}\n\n\tget label(): string {\n\t\treturn this._label;\n\t}\n\n\tset label(label: string) {\n\t\tthis._label = label;\n\t}\n\n\tget category(): string | null {\n\t\treturn this._category;\n\t}\n\n\tset category(category: string | null) {\n\t\tthis._category = category;\n\t}\n\n\tget summary(): string {\n\t\treturn this._summary;\n\t}\n\n\tset summary(summary: string) {\n\t\tthis._summary = summary;\n\t}\n\n\tget description(): string {\n\t\treturn this._description;\n\t}\n\n\tset description(description: string) {\n\t\tthis._description = description;\n\t}\n\n\tget tile(): DDiagramCanvasTile {\n\t\treturn this._tile;\n\t}\n\n\tget layer(): DDiagramLayerContainer {\n\t\treturn this._layer;\n\t}\n\n\tinitialize(shapes: EShape[], mapper?: DDiagramDataMapper | null): void {\n\t\t// DO NOTHING\n\t}\n\n\tdestroy(): void {\n\t\tif (!this._destroyed) {\n\t\t\tthis.onDestroy();\n\t\t\tsuper.destroy();\n\t\t}\n\t}\n\n\tprotected onDestroy(): void {\n\t\tthis._tile.destroy();\n\t\tthis._layer.destroy();\n\t}\n\n\thitTest(global: IPoint, onHit?: (shape: EShape) => boolean): EShape | null {\n\t\tconst layers = this._layer.children;\n\t\tfor (let i = layers.length - 1; 0 <= i; --i) {\n\t\t\tconst layer = layers[i];\n\t\t\tif (layer.visible) {\n\t\t\t\tconst shape = layer.hitTest(global, onHit);\n\t\t\t\tif (shape != null) {\n\t\t\t\t\treturn shape;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagramCanvasBase\";\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-diagram-serialized.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram-serialized.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH,MAAM,CAAC,IAAM,yBAAyB,GAAW,CAAC,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DDiagramCanvasTileMapping } from \"./d-diagram-canvas-mapping\";\nimport { EShapeCorner } from \"./shape/e-shape-corner\";\nimport { EShapeStrokeSide } from \"./shape/e-shape-stroke-side\";\nimport { EShapeStrokeStyle } from \"./shape/e-shape-stroke-style\";\nimport { EShapeDataValueOrder } from \"./shape/e-shape-data-value-order\";\nimport { EShapeTextStyle, EShapeTextWeight } from \"./shape/e-shape-text\";\nimport { EShapeTextAlignHorizontal } from \"./shape/e-shape-text-align-horizontal\";\nimport { EShapeTextAlignVertical } from \"./shape/e-shape-text-align-vertical\";\nimport { EShapeTextDirection } from \"./shape/e-shape-text-direction\";\nimport { EShapeType } from \"./shape/e-shape-type\";\nimport { ESnapperTargetValueType } from \"./snapper/e-snapper-target-value\";\nimport { EShapeDataValueRangeType } from \"./shape/e-shape-data-value-range\";\nimport { EShapeDataValueType } from \"./shape/e-shape-data-value-type\";\nimport { EShapeDataValueScope } from \"./shape/e-shape-data-value-scope\";\n\nexport const DDiagramSerializedVersion: number = 1;\n\n/**\n * A serialized data range.\n */\nexport interface DDiagramSerializedDataRange {\n\t/** A type. */\n\t[0]: EShapeDataValueRangeType;\n\n\t/** A lower bound. */\n\t[1]: number;\n\n\t/** An upper bound. */\n\t[2]: number;\n}\n\n/**\n * A serialized data value.\n */\nexport interface DDiagramSerializedDataValue {\n\t/**\n\t * A resource index number of an ID.\n\t */\n\t[0]: number;\n\n\t/**\n\t * A resource index number of an initial value expression.\n\t */\n\t[1]: number;\n\n\t/**\n\t * A resource index number of a format expression.\n\t */\n\t[2]: number;\n\n\t/**\n\t * A resource index number of JSON.stringify(DDiagramSerializedDataRange).\n\t */\n\t[3]: number;\n\n\t/**\n\t * A capacity.\n\t */\n\t[4]: number;\n\n\t/**\n\t * A order.\n\t */\n\t[5]: EShapeDataValueOrder;\n\n\t/**\n\t * A type.\n\t */\n\t[6]: EShapeDataValueType | undefined;\n\n\t/**\n\t * A scope.\n\t */\n\t[7]: EShapeDataValueScope | undefined;\n\n\t/**\n\t * A resource index number of an alias.\n\t */\n\t[8]: number | undefined;\n}\n\n/**\n * A serialized system data.\n */\nexport type DDiagramSerializedDataSystem = number[];\n\n/**\n * A serialized data mapping.\n * Each number at the index 2N+0 is a resource index number of the N-th mapping source.\n * Each number at the index 2N+1 is a resource index number of the N-th mapping destination.\n */\nexport type DDiagramSerializedDataMapping = number[];\n\n/**\n * A serialized data with a mapping data.\n */\nexport interface DDiagramSerializedDataWithMapping extends Array<unknown> {\n\t/**\n\t * Each number is a resource index number of JSON.stringify(DDiagramSerializedDataValue).\n\t * The last number is a resource index number of JSON.stringify(DDiagramSerializedDataMapping).\n\t */\n\t[0]: number[];\n\n\t/**\n\t * A resource index number of JSON.stringify(DDiagramSerializedDataSystem).\n\t */\n\t[1]: number | undefined;\n}\n\n/**\n * A serialized data without a mapping data.\n * Each number is a resource index number of JSON.stringify(DDiagramSerializedDataValue).\n */\nexport type DDiagramSerializedDataWithoutMapping = number[];\n\n/**\n * A serialized data.\n */\nexport type DDiagramSerializedData =\n\t| DDiagramSerializedDataWithoutMapping\n\t| DDiagramSerializedDataWithMapping;\n\n/**\n * A serialized fill.\n */\nexport interface DDiagramSerializedFill {\n\t/** 0: Disabled, 1: Enabled */\n\t[0]: number;\n\n\t/** A color. */\n\t[1]: number;\n\n\t/** An alpha. */\n\t[2]: number;\n}\n\n/**\n * A serialized stroke.\n */\nexport interface DDiagramSerializedStroke {\n\t/** 0: Disabled, 1: Enabled */\n\t[0]: number;\n\n\t/** A color. */\n\t[1]: number;\n\n\t/** An alpha. */\n\t[2]: number;\n\n\t/** A width. */\n\t[3]: number;\n\n\t/** An align. */\n\t[4]: number;\n\n\t/** A side. */\n\t[5]: EShapeStrokeSide;\n\n\t/** A style */\n\t[6]: EShapeStrokeStyle | undefined;\n}\n\n/**\n * A serialized text outline.\n */\nexport interface DDiagramSerializedTextOutline {\n\t/** 0: Disabled, 1: Enabled */\n\t[0]: number;\n\n\t/** A color. */\n\t[1]: number;\n\n\t/** An alpha. */\n\t[2]: number;\n\n\t/** A width. */\n\t[3]: number;\n}\n\n/**\n * A serialized text align.\n */\nexport interface DDiagramSerializedTextAlign {\n\t/** A horizontal align. */\n\t[0]: EShapeTextAlignHorizontal;\n\n\t/** A vertical align. */\n\t[1]: EShapeTextAlignVertical;\n}\n\n/**\n * A serialized text offset.\n */\nexport interface DDiagramSerializedTextOffset {\n\t/** A horizontal offset. */\n\t[0]: number;\n\n\t/** A vertical offset. */\n\t[1]: number;\n}\n\n/**\n * A serialized text spacing.\n */\nexport interface DDiagramSerializedTextSpacing {\n\t/** A horizontal spacing. */\n\t[0]: number;\n\n\t/** A vertical spacing. */\n\t[1]: number;\n}\n\n/**\n * A serialized text padding.\n */\nexport interface DDiagramSerializedTextPadding {\n\t/** A horizontal padding. */\n\t[0]: number;\n\n\t/** A vertical padding. */\n\t[1]: number;\n}\n\n/**\n * A serialized text.\n */\nexport interface DDiagramSerializedText {\n\t/** A resource index number of a value. */\n\t[0]: number;\n\n\t/** A color. */\n\t[1]: number;\n\n\t/** An alpha. */\n\t[2]: number;\n\n\t/** A resource index number of a font family. */\n\t[3]: number;\n\n\t/** A size. */\n\t[4]: number;\n\n\t/** A weight. */\n\t[5]: EShapeTextWeight;\n\n\t/**\n\t * A resource index number of JSON.stringify(DDiagramSerializedTextAlign).\n\t */\n\t[6]: number;\n\n\t/**\n\t * A resource index number of JSON.stringify(DDiagramSerializedTextOffset).\n\t */\n\t[7]: number;\n\n\t/** A style. */\n\t[8]: EShapeTextStyle;\n\n\t/**\n\t * A resource index number of JSON.stringify(DDiagramSerializedTextOutline).\n\t */\n\t[9]: number;\n\n\t/**\n\t * A resource index number of JSON.stringify(DDiagramSerializedTextSpacing).\n\t */\n\t[10]: number;\n\n\t/** A direction. */\n\t[11]: EShapeTextDirection;\n\n\t/**\n\t * A resource index number of JSON.stringify(DDiagramSerializedTextPadding).\n\t */\n\t[12]: number;\n\n\t/** A clipping. (0: Off, 1: On) */\n\t[13]: number;\n\n\t/** A fitting. (0: Off, 1: On) */\n\t[14]: number;\n}\n\n/**\n * A serialized item.\n */\nexport interface DDiagramSerializedItem {\n\t/** A type. */\n\t[0]: EShapeType;\n\n\t/** A resource index number of a ID. */\n\t[1]: number;\n\n\t/** A X-coordinate position. */\n\t[2]: number;\n\n\t/** A Y-coordinate position. */\n\t[3]: number;\n\n\t/** A width. */\n\t[4]: number;\n\n\t/** A height. */\n\t[5]: number;\n\n\t/** A rotation. */\n\t[6]: number;\n\n\t/** A skew. */\n\t[7]: number;\n\n\t/**\n\t * A resource index number of JSON.stringify(DDiagramSerializedFill).\n\t */\n\t[8]: number;\n\n\t/**\n\t * A resource index number of JSON.stringify(DDiagramSerializedStroke).\n\t */\n\t[9]: number;\n\n\t/** A resource index number of a cursor. */\n\t[10]: number;\n\n\t/**\n\t * A resource index number of JSON.stringify(DDiagramSerializedText).\n\t */\n\t[11]: number;\n\n\t/**\n\t * A resource index number of JSON.stringify(DDiagramSerializedData).\n\t */\n\t[12]: number;\n\n\t/** A radius. */\n\t[13]: number;\n\n\t/** A corner. */\n\t[14]: EShapeCorner;\n\n\t/** A resource index number of a shape-specific resource. */\n\t[15]: number;\n\n\t/** A layer index number. */\n\t[16]: number;\n\n\t/** Actions */\n\t[17]: number[];\n\n\t/** A resource index number of an image. */\n\t[18]: number;\n\n\t/**\n\t * A resource index number of a stringified serialized gradient.\n\t * A stringified serialized gradient is a stringified number array,\n\t * JSON.stringify(number[]).\n\t *\n\t * * The first number in the array is a direction in degree.\n\t * * Each number at the index 3N + 1 is a color of a N-th point.\n\t * * Each number at the index 3N + 2 is a alpha of a N-th point.\n\t * * Each number at the index 3N + 3 is a position of a N-th point whose range is [0, 1].\n\t */\n\t[19]: number;\n\n\t/** Children. */\n\t[20]: DDiagramSerializedItem[];\n\n\t/** A X pivot. */\n\t[21]: number;\n\n\t/** A Y pivot. */\n\t[22]: number;\n\n\t/** (interactive ? 1 : 0) | (unfocusable ? 2 : 0) */\n\t[23]: number;\n\n\t/** A resource index number of a shortcut. */\n\t[24]: number;\n\n\t/** A resource index number of a title. */\n\t[25]: number;\n\n\t/** UUID */\n\t[26]: number;\n\n\t/** Added capabilities */\n\t[27]: number;\n\n\t/** Removed capabilities */\n\t[28]: number;\n\n\t/** Locked capabilities */\n\t[29]: number;\n}\n\n/**\n * A serialized layer.\n */\nexport interface DDiagramSerializedLayer {\n\t/** A name or a resource index number of a name*/\n\t[0]: string | number;\n\n\t/**\n\t * A visibility.\n\t *\n\t * * 1st bit\n\t * * 0: Invisible when edit mode\n\t * * 1: Visible when edit mode\n\t * * 2nd bit\n\t * * 0: Invisible when non-edit mode\n\t * * 1: Visible when non-edit mode\n\t */\n\t[1]?: number;\n\n\t/** A X-coordinate position. */\n\t[2]?: number;\n\n\t/** A Y-coordinate position. */\n\t[3]?: number;\n\n\t/** A width. */\n\t[4]?: number;\n\n\t/** A height. */\n\t[5]?: number;\n\n\t/**\n\t * A resource index number of a stringified serialized fill,\n\t * JSON.stringify(DDiagramSerializedFill).\n\t */\n\t[6]?: number;\n\n\t/**\n\t * * 1st bit\n\t * * 0: Not interactive\n\t * * 1: Interactive\n\t * * 2nd bit\n\t * * 0: Not draggable\n\t * * 1: Draggable\n\t * * 3rd bit\n\t * * 0: Not pinchable\n\t * * 1: Pinchable\n\t */\n\t[7]?: number;\n}\n\n/**\n * A serialized snap target.\n */\nexport interface DDiagramSerializedSnapTargetValue {\n\t/** A type. */\n\t[0]: ESnapperTargetValueType;\n\n\t/** A position. */\n\t[1]: number;\n}\n\n/**\n * Serialized snap on guide settings.\n */\nexport interface DDiagramSerializedSnapTarget {\n\t/** Snap on guide (0: Off, 1: On) */\n\t[0]: number;\n\n\t/** A visibility (0: Invisible, 1: Visible). */\n\t[1]: number;\n\n\t/** Snap targets. */\n\t[2]: DDiagramSerializedSnapTargetValue[];\n}\n\n/**\n * Serialized grid snap settings without a visibility option.\n */\nexport interface DDiagramSerializedSnapGridWithoutVisibility {\n\t/** Snap on grid (0: Off, 1: On) */\n\t[0]: number;\n\n\t/** A grid size. */\n\t[1]: number;\n}\n\n/**\n * Serialized grid snap settings with a visibility option.\n */\nexport interface DDiagramSerializedSnapGridWithVisibility {\n\t/** Snap on grid (0: Off, 1: On) */\n\t[0]: number;\n\n\t/** A visibility (0: Invisible, 1: Visible). */\n\t[1]: number;\n\n\t/** A grid size. */\n\t[2]: number;\n}\n\n/**\n * Serialized grid snap settings with a visibility.\n */\nexport type DDiagramSerializedSnapGrid =\n\t| DDiagramSerializedSnapGridWithoutVisibility\n\t| DDiagramSerializedSnapGridWithVisibility;\n\n/**\n * Serialized snap settings.\n */\nexport interface DDiagramSerializedSnap {\n\t/** Snap (0: Off, 1: On). */\n\t[0]: number;\n\n\t/** Snap on targets */\n\t[1]: DDiagramSerializedSnapTarget;\n\n\t/** Snap on grid */\n\t[2]: DDiagramSerializedSnapGrid;\n}\n\n/**\n * Serialized background settings.\n */\nexport interface DDiagramSerializedBackground {\n\tcolor?: number | null;\n\talpha?: number;\n}\n\n/**\n * Serialized tile settings.\n */\nexport interface DDiagramSerializedTile {\n\tmapping?: DDiagramCanvasTileMapping;\n}\n\n/**\n * A serialized diagram.\n */\nexport interface DDiagramSerialized {\n\tversion: number;\n\tid?: number;\n\tname: string;\n\tlabel?: string;\n\twidth: number;\n\theight: number;\n\tcategory?: string;\n\tsummary?: string;\n\tdescription?: string;\n\tbackground?: DDiagramSerializedBackground;\n\ttile?: DDiagramSerializedTile;\n\tresources: string[];\n\t/** @deprecated in favor of {@link data} */\n\ttags?: string[];\n\tdata?: string[];\n\tpieces?: string[];\n\tlayers: DDiagramSerializedLayer[];\n\titems: DDiagramSerializedItem[];\n\tsnap?: DDiagramSerializedSnap;\n\tthumbnail?: string;\n}\n\nexport type DDiagramSerializedSimpleData = Omit<\n\tDDiagramSerialized,\n\t\"version\" | \"id\" | \"name\" | \"thumbnail\"\n>;\n\n/**\n * A simplified version of a serialized diagram.\n */\nexport interface DDiagramSerializedSimple {\n\tversion: number;\n\tid: number | undefined;\n\tname: string;\n\tlabel?: string;\n\tcategory?: string;\n\tsummary?: string;\n\tdescription?: string;\n\n\t/**\n\t * A stringified {@link DDiagramSerialized#data}.\n\t *\n\t * @deprecated in favor of {@link DDiagramSerializedSimpleData}.\n\t */\n\ttags?: string;\n\n\t/**\n\t * A stringified {@link DDiagramSerialized#pieces}.\n\t *\n\t * @deprecated in favor of {@link DDiagramSerializedSimpleData}.\n\t */\n\tpieces?: string;\n\n\t/**\n\t * Thumbnail data URL.\n\t */\n\tthumbnail?: string;\n\n\t/**\n\t * A stringified {@link DDiagramSerializedSimpleData}.\n\t */\n\tdata: string;\n}\n\nexport interface DDiagramSerializedName {\n\tid: number;\n\tname: string;\n}\n"]}
1
+ {"version":3,"file":"d-diagram-serialized.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram-serialized.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH,MAAM,CAAC,IAAM,yBAAyB,GAAW,CAAC,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DDiagramCanvasTileMapping } from \"./d-diagram-canvas-mapping\";\nimport { EShapeCorner } from \"./shape/e-shape-corner\";\nimport { EShapeStrokeSide } from \"./shape/e-shape-stroke-side\";\nimport { EShapeStrokeStyle } from \"./shape/e-shape-stroke-style\";\nimport { EShapeDataValueOrder } from \"./shape/e-shape-data-value-order\";\nimport { EShapeTextStyle, EShapeTextWeight } from \"./shape/e-shape-text\";\nimport { EShapeTextAlignHorizontal } from \"./shape/e-shape-text-align-horizontal\";\nimport { EShapeTextAlignVertical } from \"./shape/e-shape-text-align-vertical\";\nimport { EShapeTextDirection } from \"./shape/e-shape-text-direction\";\nimport { EShapeType } from \"./shape/e-shape-type\";\nimport { ESnapperTargetValueType } from \"./snapper/e-snapper-target-value\";\nimport { EShapeDataValueRangeType } from \"./shape/e-shape-data-value-range\";\nimport { EShapeDataValueType } from \"./shape/e-shape-data-value-type\";\nimport { EShapeDataValueScope } from \"./shape/e-shape-data-value-scope\";\n\nexport const DDiagramSerializedVersion: number = 1;\n\n/**\n * A serialized data range.\n */\nexport interface DDiagramSerializedDataRange {\n\t/** A type. */\n\t[0]: EShapeDataValueRangeType;\n\n\t/** A lower bound. */\n\t[1]: number;\n\n\t/** An upper bound. */\n\t[2]: number;\n}\n\n/**\n * A serialized data value.\n */\nexport interface DDiagramSerializedDataValue {\n\t/**\n\t * A resource index number of an ID.\n\t */\n\t[0]: number;\n\n\t/**\n\t * A resource index number of an initial value expression.\n\t */\n\t[1]: number;\n\n\t/**\n\t * A resource index number of a format expression.\n\t */\n\t[2]: number;\n\n\t/**\n\t * A resource index number of JSON.stringify(DDiagramSerializedDataRange).\n\t */\n\t[3]: number;\n\n\t/**\n\t * A capacity.\n\t */\n\t[4]: number;\n\n\t/**\n\t * A order.\n\t */\n\t[5]: EShapeDataValueOrder;\n\n\t/**\n\t * A type.\n\t */\n\t[6]: EShapeDataValueType | undefined;\n\n\t/**\n\t * A scope.\n\t */\n\t[7]: EShapeDataValueScope | undefined;\n\n\t/**\n\t * A resource index number of an alias.\n\t */\n\t[8]: number | undefined;\n}\n\n/**\n * A serialized system data.\n */\nexport type DDiagramSerializedDataSystem = number[];\n\n/**\n * A serialized data mapping.\n * Each number at the index 2N+0 is a resource index number of the N-th mapping source.\n * Each number at the index 2N+1 is a resource index number of the N-th mapping destination.\n */\nexport type DDiagramSerializedDataMapping = number[];\n\n/**\n * A serialized data with a mapping data.\n */\nexport interface DDiagramSerializedDataWithMapping extends Array<unknown> {\n\t/**\n\t * Each number is a resource index number of JSON.stringify(DDiagramSerializedDataValue).\n\t * The last number is a resource index number of JSON.stringify(DDiagramSerializedDataMapping).\n\t */\n\t[0]: number[];\n\n\t/**\n\t * A resource index number of JSON.stringify(DDiagramSerializedDataSystem).\n\t */\n\t[1]: number | undefined;\n}\n\n/**\n * A serialized data without a mapping data.\n * Each number is a resource index number of JSON.stringify(DDiagramSerializedDataValue).\n */\nexport type DDiagramSerializedDataWithoutMapping = number[];\n\n/**\n * A serialized data.\n */\nexport type DDiagramSerializedData =\n\t| DDiagramSerializedDataWithoutMapping\n\t| DDiagramSerializedDataWithMapping;\n\n/**\n * A serialized fill.\n */\nexport interface DDiagramSerializedFill {\n\t/** 0: Disabled, 1: Enabled */\n\t[0]: number;\n\n\t/** A color. */\n\t[1]: number;\n\n\t/** An alpha. */\n\t[2]: number;\n}\n\n/**\n * A serialized stroke.\n */\nexport interface DDiagramSerializedStroke {\n\t/** 0: Disabled, 1: Enabled */\n\t[0]: number;\n\n\t/** A color. */\n\t[1]: number;\n\n\t/** An alpha. */\n\t[2]: number;\n\n\t/** A width. */\n\t[3]: number;\n\n\t/** An align. */\n\t[4]: number;\n\n\t/** A side. */\n\t[5]: EShapeStrokeSide;\n\n\t/** A style */\n\t[6]: EShapeStrokeStyle | undefined;\n}\n\n/**\n * A serialized text outline.\n */\nexport interface DDiagramSerializedTextOutline {\n\t/** 0: Disabled, 1: Enabled */\n\t[0]: number;\n\n\t/** A color. */\n\t[1]: number;\n\n\t/** An alpha. */\n\t[2]: number;\n\n\t/** A width. */\n\t[3]: number;\n}\n\n/**\n * A serialized text align.\n */\nexport interface DDiagramSerializedTextAlign {\n\t/** A horizontal align. */\n\t[0]: EShapeTextAlignHorizontal;\n\n\t/** A vertical align. */\n\t[1]: EShapeTextAlignVertical;\n}\n\n/**\n * A serialized text offset.\n */\nexport interface DDiagramSerializedTextOffset {\n\t/** A horizontal offset. */\n\t[0]: number;\n\n\t/** A vertical offset. */\n\t[1]: number;\n}\n\n/**\n * A serialized text spacing.\n */\nexport interface DDiagramSerializedTextSpacing {\n\t/** A horizontal spacing. */\n\t[0]: number;\n\n\t/** A vertical spacing. */\n\t[1]: number;\n}\n\n/**\n * A serialized text padding.\n */\nexport interface DDiagramSerializedTextPadding {\n\t/** A horizontal padding. */\n\t[0]: number;\n\n\t/** A vertical padding. */\n\t[1]: number;\n}\n\n/**\n * A serialized text.\n */\nexport interface DDiagramSerializedText {\n\t/** A resource index number of a value. */\n\t[0]: number;\n\n\t/** A color. */\n\t[1]: number;\n\n\t/** An alpha. */\n\t[2]: number;\n\n\t/** A resource index number of a font family. */\n\t[3]: number;\n\n\t/** A size. */\n\t[4]: number;\n\n\t/** A weight. */\n\t[5]: EShapeTextWeight;\n\n\t/**\n\t * A resource index number of JSON.stringify(DDiagramSerializedTextAlign).\n\t */\n\t[6]: number;\n\n\t/**\n\t * A resource index number of JSON.stringify(DDiagramSerializedTextOffset).\n\t */\n\t[7]: number;\n\n\t/** A style. */\n\t[8]: EShapeTextStyle;\n\n\t/**\n\t * A resource index number of JSON.stringify(DDiagramSerializedTextOutline).\n\t */\n\t[9]: number;\n\n\t/**\n\t * A resource index number of JSON.stringify(DDiagramSerializedTextSpacing).\n\t */\n\t[10]: number;\n\n\t/** A direction. */\n\t[11]: EShapeTextDirection;\n\n\t/**\n\t * A resource index number of JSON.stringify(DDiagramSerializedTextPadding).\n\t */\n\t[12]: number;\n\n\t/** A clipping. (0: Off, 1: On) */\n\t[13]: number;\n\n\t/** A fitting. (0: Off, 1: On) */\n\t[14]: number;\n}\n\n/**\n * A serialized item.\n */\nexport interface DDiagramSerializedItem {\n\t/** A type. */\n\t[0]: EShapeType;\n\n\t/** A resource index number of a ID. */\n\t[1]: number;\n\n\t/** A X-coordinate position. */\n\t[2]: number;\n\n\t/** A Y-coordinate position. */\n\t[3]: number;\n\n\t/** A width. */\n\t[4]: number;\n\n\t/** A height. */\n\t[5]: number;\n\n\t/** A rotation. */\n\t[6]: number;\n\n\t/** A skew. */\n\t[7]: number;\n\n\t/**\n\t * A resource index number of JSON.stringify(DDiagramSerializedFill).\n\t */\n\t[8]: number;\n\n\t/**\n\t * A resource index number of JSON.stringify(DDiagramSerializedStroke).\n\t */\n\t[9]: number;\n\n\t/** A resource index number of a cursor. */\n\t[10]: number;\n\n\t/**\n\t * A resource index number of JSON.stringify(DDiagramSerializedText).\n\t */\n\t[11]: number;\n\n\t/**\n\t * A resource index number of JSON.stringify(DDiagramSerializedData).\n\t */\n\t[12]: number;\n\n\t/** A radius. */\n\t[13]: number;\n\n\t/** A corner. */\n\t[14]: EShapeCorner;\n\n\t/** A resource index number of a shape-specific resource. */\n\t[15]: number;\n\n\t/** A layer index number. */\n\t[16]: number;\n\n\t/** Actions */\n\t[17]: number[];\n\n\t/** A resource index number of an image. */\n\t[18]: number;\n\n\t/**\n\t * A resource index number of a stringified serialized gradient.\n\t * A stringified serialized gradient is a stringified number array,\n\t * JSON.stringify(number[]).\n\t *\n\t * * The first number in the array is a direction in degree.\n\t * * Each number at the index 3N + 1 is a color of a N-th point.\n\t * * Each number at the index 3N + 2 is a alpha of a N-th point.\n\t * * Each number at the index 3N + 3 is a position of a N-th point whose range is [0, 1].\n\t */\n\t[19]: number;\n\n\t/** Children. */\n\t[20]: DDiagramSerializedItem[];\n\n\t/** A X pivot. */\n\t[21]: number;\n\n\t/** A Y pivot. */\n\t[22]: number;\n\n\t/** (interactive ? 1 : 0) | (unfocusable ? 2 : 0) */\n\t[23]: number;\n\n\t/** A resource index number of a shortcut. */\n\t[24]: number;\n\n\t/** A resource index number of a title. */\n\t[25]: number;\n\n\t/** UUID */\n\t[26]: number;\n\n\t/** Added capabilities */\n\t[27]: number;\n\n\t/** Removed capabilities */\n\t[28]: number;\n\n\t/** Locked capabilities */\n\t[29]: number;\n}\n\n/**\n * A serialized layer.\n */\nexport interface DDiagramSerializedLayer {\n\t/** A name or a resource index number of a name*/\n\t[0]: string | number;\n\n\t/**\n\t * A visibility.\n\t *\n\t * * 1st bit\n\t * * 0: Invisible when edit mode\n\t * * 1: Visible when edit mode\n\t * * 2nd bit\n\t * * 0: Invisible when non-edit mode\n\t * * 1: Visible when non-edit mode\n\t */\n\t[1]?: number;\n\n\t/** A X-coordinate position. */\n\t[2]?: number;\n\n\t/** A Y-coordinate position. */\n\t[3]?: number;\n\n\t/** A width. */\n\t[4]?: number;\n\n\t/** A height. */\n\t[5]?: number;\n\n\t/**\n\t * A resource index number of a stringified serialized fill,\n\t * JSON.stringify(DDiagramSerializedFill).\n\t */\n\t[6]?: number;\n\n\t/**\n\t * * 1st bit\n\t * * 0: Not interactive\n\t * * 1: Interactive\n\t * * 2nd bit\n\t * * 0: Not draggable\n\t * * 1: Draggable\n\t * * 3rd bit\n\t * * 0: Not pinchable\n\t * * 1: Pinchable\n\t */\n\t[7]?: number;\n}\n\n/**\n * A serialized snap target.\n */\nexport interface DDiagramSerializedSnapTargetValue {\n\t/** A type. */\n\t[0]: ESnapperTargetValueType;\n\n\t/** A position. */\n\t[1]: number;\n}\n\n/**\n * Serialized snap on guide settings.\n */\nexport interface DDiagramSerializedSnapTarget {\n\t/** Snap on guide (0: Off, 1: On) */\n\t[0]: number;\n\n\t/** A visibility (0: Invisible, 1: Visible). */\n\t[1]: number;\n\n\t/** Snap targets. */\n\t[2]: DDiagramSerializedSnapTargetValue[];\n}\n\n/**\n * Serialized grid snap settings without a visibility option.\n */\nexport interface DDiagramSerializedSnapGridWithoutVisibility {\n\t/** Snap on grid (0: Off, 1: On) */\n\t[0]: number;\n\n\t/** A grid size. */\n\t[1]: number;\n}\n\n/**\n * Serialized grid snap settings with a visibility option.\n */\nexport interface DDiagramSerializedSnapGridWithVisibility {\n\t/** Snap on grid (0: Off, 1: On) */\n\t[0]: number;\n\n\t/** A visibility (0: Invisible, 1: Visible). */\n\t[1]: number;\n\n\t/** A grid size. */\n\t[2]: number;\n}\n\n/**\n * Serialized grid snap settings with a visibility.\n */\nexport type DDiagramSerializedSnapGrid =\n\t| DDiagramSerializedSnapGridWithoutVisibility\n\t| DDiagramSerializedSnapGridWithVisibility;\n\n/**\n * Serialized snap settings.\n */\nexport interface DDiagramSerializedSnap {\n\t/** Snap (0: Off, 1: On). */\n\t[0]: number;\n\n\t/** Snap on targets */\n\t[1]: DDiagramSerializedSnapTarget;\n\n\t/** Snap on grid */\n\t[2]: DDiagramSerializedSnapGrid;\n}\n\n/**\n * Serialized background settings.\n */\nexport interface DDiagramSerializedBackground {\n\tcolor?: number | null;\n\talpha?: number;\n}\n\n/**\n * Serialized tile settings.\n */\nexport interface DDiagramSerializedTile {\n\tmapping?: DDiagramCanvasTileMapping;\n}\n\n/**\n * A serialized diagram.\n */\nexport interface DDiagramSerialized {\n\tversion: number;\n\tid?: number;\n\tname: string;\n\tlabel?: string;\n\twidth: number;\n\theight: number;\n\tcategory?: string | null;\n\tsummary?: string;\n\tdescription?: string;\n\tbackground?: DDiagramSerializedBackground;\n\ttile?: DDiagramSerializedTile;\n\tresources: string[];\n\t/** @deprecated in favor of {@link data} */\n\ttags?: string[];\n\tdata?: string[];\n\tpieces?: string[];\n\tlayers: DDiagramSerializedLayer[];\n\titems: DDiagramSerializedItem[];\n\tsnap?: DDiagramSerializedSnap;\n\tthumbnail?: string;\n}\n\nexport type DDiagramSerializedSimpleData = Omit<\n\tDDiagramSerialized,\n\t\"version\" | \"id\" | \"name\" | \"thumbnail\"\n>;\n\n/**\n * A simplified version of a serialized diagram.\n */\nexport interface DDiagramSerializedSimple {\n\tversion: number;\n\tid: number | undefined;\n\tname: string;\n\tlabel?: string;\n\tcategory?: string | null;\n\tsummary?: string;\n\tdescription?: string;\n\n\t/**\n\t * A stringified {@link DDiagramSerialized#data}.\n\t *\n\t * @deprecated in favor of {@link DDiagramSerializedSimpleData}.\n\t */\n\ttags?: string;\n\n\t/**\n\t * A stringified {@link DDiagramSerialized#pieces}.\n\t *\n\t * @deprecated in favor of {@link DDiagramSerializedSimpleData}.\n\t */\n\tpieces?: string;\n\n\t/**\n\t * Thumbnail data URL.\n\t */\n\tthumbnail?: string;\n\n\t/**\n\t * A stringified {@link DDiagramSerializedSimpleData}.\n\t */\n\tdata: string;\n}\n\nexport interface DDiagramSerializedName {\n\tid: number;\n\tname: string;\n}\n"]}
@@ -17,6 +17,7 @@ import { DDialogSelectSearhDismissableImpl } from "./d-dialog-select-search-dism
17
17
  import { DSelect } from "./d-select";
18
18
  import { DMenu } from "./d-menu";
19
19
  import { isArray } from "./util/is-array";
20
+ import { DBaseState } from "./d-base-state";
20
21
  var DDialogSelect = /** @class */ (function (_super) {
21
22
  __extends(DDialogSelect, _super);
22
23
  function DDialogSelect(options) {
@@ -133,6 +134,9 @@ var DDialogSelect = /** @class */ (function (_super) {
133
134
  if (result.width === undefined && result.weight === undefined) {
134
135
  result.width = 140;
135
136
  }
137
+ if (result.state === undefined) {
138
+ result.state = DBaseState.DISABLED;
139
+ }
136
140
  return result;
137
141
  };
138
142
  DDialogSelect.prototype.onSelectCategoryChange = function (categoryId) {
@@ -371,9 +375,7 @@ var DDialogSelect = /** @class */ (function (_super) {
371
375
  this.onCategoryFetched(selectCategory, categoriesOrPromise);
372
376
  }
373
377
  else {
374
- selectCategory.state.isEnabled = false;
375
378
  categoriesOrPromise.then(function (categories) {
376
- selectCategory.state.isEnabled = true;
377
379
  _this.onCategoryFetched(selectCategory, categories);
378
380
  });
379
381
  }
@@ -388,12 +390,20 @@ var DDialogSelect = /** @class */ (function (_super) {
388
390
  };
389
391
  DDialogSelect.prototype.onCategoryFetched = function (selectCategory, categories) {
390
392
  var items = [];
393
+ var toId = this.newToCategoryId();
394
+ var toLabel = this.newToCategoryLabel();
395
+ items.push({
396
+ value: null,
397
+ text: {
398
+ value: toLabel(null)
399
+ }
400
+ });
391
401
  for (var i = 0, imax = categories.length; i < imax; ++i) {
392
402
  var category = categories[i];
393
403
  items.push({
394
- value: this.toCategoryId(category),
404
+ value: toId(category),
395
405
  text: {
396
- value: this.toCategoryLabel(category)
406
+ value: toLabel(category)
397
407
  }
398
408
  });
399
409
  }
@@ -401,36 +411,40 @@ var DDialogSelect = /** @class */ (function (_super) {
401
411
  fit: true,
402
412
  items: items
403
413
  });
404
- var newValue = 0 < items.length ? items[0].value : null;
405
- selectCategory.value = newValue;
406
- selectCategory.show();
407
- this.search.create([this.input.value, newValue]);
414
+ selectCategory.state.isEnabled = true;
415
+ this.search.create([this.input.value, null]);
408
416
  };
409
- DDialogSelect.prototype.toCategoryId = function (target) {
417
+ DDialogSelect.prototype.newToCategoryId = function () {
410
418
  var options = this._options;
411
419
  if (options != null) {
412
420
  var category = options.category;
413
421
  if (category != null) {
414
422
  var toId = category.toId;
415
423
  if (toId != null) {
416
- return toId(target);
424
+ return toId;
417
425
  }
418
426
  }
419
427
  }
420
- return this.theme.toCategoryId(target);
428
+ var theme = this.theme;
429
+ return function (category) {
430
+ return theme.toCategoryId(category);
431
+ };
421
432
  };
422
- DDialogSelect.prototype.toCategoryLabel = function (target) {
433
+ DDialogSelect.prototype.newToCategoryLabel = function () {
423
434
  var options = this._options;
424
435
  if (options != null) {
425
436
  var category = options.category;
426
437
  if (category != null) {
427
438
  var toLabel = category.toLabel;
428
439
  if (toLabel != null) {
429
- return toLabel(target);
440
+ return toLabel;
430
441
  }
431
442
  }
432
443
  }
433
- return this.theme.toCategoryLabel(target);
444
+ var theme = this.theme;
445
+ return function (category) {
446
+ return theme.toCategoryLabel(category);
447
+ };
434
448
  };
435
449
  DDialogSelect.prototype.findCategories = function () {
436
450
  var options = this._options;
@@ -1 +1 @@
1
- {"version":3,"file":"d-dialog-select.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-dialog-select.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DisplayObject } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport {\n\tDDialogLayered,\n\tDDialogLayeredEvents,\n\tDDialogLayeredOptions,\n\tDThemeDialogLayered\n} from \"./d-dialog-layered\";\nimport { DDialogSelectList, DDialogSelectListOptions } from \"./d-dialog-select-list\";\nimport { DDialogSelectSearhImpl } from \"./d-dialog-select-search-impl\";\nimport { DInputSearch, DInputSearchOptions } from \"./d-input-search\";\nimport { DLayoutHorizontal } from \"./d-layout-horizontal\";\nimport { DLayoutSpace } from \"./d-layout-space\";\nimport { DListOptions } from \"./d-list\";\nimport { DListDataSelection } from \"./d-list-data-selection\";\nimport { DNote, DNoteOptions } from \"./d-note\";\nimport { DNoteSmallError } from \"./d-note-small-error\";\nimport { DNoteSmallNoItemsFound } from \"./d-note-small-no-items-found\";\nimport { DNoteSmallSearching } from \"./d-note-small-searching\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { UtilTransition } from \"./util/util-transition\";\nimport { DDialogSelectSearch } from \"./d-dialog-select-search\";\nimport { DDialogSelectSearhDismissableOptions } from \"./d-dialog-select-search-dismissable\";\nimport { DDialogSelectSearhDismissableImpl } from \"./d-dialog-select-search-dismissable-impl\";\nimport { DSelect, DSelectOptions } from \"./d-select\";\nimport { DMenu } from \"./d-menu\";\nimport { isArray } from \"./util/is-array\";\nimport { DDialogSelectSearchFunction } from \"./d-dialog-select-search-function\";\n\nexport interface DDialogSelectInputOpitons extends DInputSearchOptions {\n\tmargin?: number;\n}\n\n/**\n * {@link DDialogSelect} controller.\n */\nexport interface DDialogSelectController<VALUE, CATEGORY = unknown, CATEGORY_ID = unknown> {\n\tsearch:\n\t\t| DDialogSelectSearch<VALUE, CATEGORY, CATEGORY_ID>\n\t\t| DDialogSelectSearchFunction<VALUE, CATEGORY, CATEGORY_ID>;\n\tgetCategories?: () => CATEGORY[] | Promise<CATEGORY[]>;\n}\n\n/**\n * {@link DDialogSelect} note options.\n */\nexport interface DDialogSelectNoteOptions {\n\terror?: DNoteOptions | null;\n\tnoItemsFound?: DNoteOptions | null;\n\tsearching?: DNoteOptions | null;\n}\n\nexport type DDialogSelectItemToLabel<VALUE> = (result: VALUE, caller: any) => string;\n\nexport type DDialogSelectItemIsEqual<VALUE> = (a: VALUE, b: VALUE, caller: any) => boolean;\n\n/**\n * {@link DDialogSelect} events.\n */\nexport interface DDialogSelectEvents<VALUE, EMITTER> extends DDialogLayeredEvents<VALUE, EMITTER> {\n\tselect(value: VALUE, self: EMITTER): void;\n}\n\n/**\n * {@link DDialogSelect} category options.\n */\nexport interface DDialogSelectCategoryOptions<VALUE, CATEGORY, CATEGORY_ID>\n\textends DSelectOptions<CATEGORY_ID> {\n\ttoId?: (category: CATEGORY) => CATEGORY_ID;\n\ttoLabel?: (category: CATEGORY) => string;\n}\n\n/**\n * {@link DDialogSelect} \"on\" options.\n */\nexport interface DDialogSelectOnOptions<VALUE, EMITTER>\n\textends Partial<DDialogSelectEvents<VALUE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DDialogSelect} options.\n */\nexport interface DDialogSelectOptions<\n\tVALUE,\n\tCATEGORY = unknown,\n\tCATEGORY_ID = unknown,\n\tTHEME extends DThemeDialogSelect<VALUE, CATEGORY, CATEGORY_ID> = DThemeDialogSelect<\n\t\tVALUE,\n\t\tCATEGORY,\n\t\tCATEGORY_ID\n\t>,\n\tEMITTER = any\n> extends DDialogLayeredOptions<VALUE, THEME> {\n\tcontroller?: DDialogSelectController<VALUE, CATEGORY, CATEGORY_ID>;\n\tcategory?: DDialogSelectCategoryOptions<VALUE, CATEGORY, CATEGORY_ID>;\n\tdismiss?: DDialogSelectSearhDismissableOptions<VALUE, CATEGORY, CATEGORY_ID>;\n\tinput?: DDialogSelectInputOpitons;\n\tlist?: DListOptions<VALUE>;\n\tnote?: DDialogSelectNoteOptions;\n\ton?: DDialogSelectOnOptions<VALUE, EMITTER>;\n}\n\n/**\n * {@link DDialogSelect} theme.\n */\nexport interface DThemeDialogSelect<VALUE = unknown, CATEGORY = unknown, CATEGORY_ID = unknown>\n\textends DThemeDialogLayered {\n\tgetInputMargin(): number;\n\ttoCategoryId(category: CATEGORY): CATEGORY_ID;\n\ttoCategoryLabel(category: CATEGORY): string;\n}\n\nexport class DDialogSelect<\n\tVALUE = unknown,\n\tCATEGORY = unknown,\n\tCATEGORY_ID = unknown,\n\tTHEME extends DThemeDialogSelect<VALUE, CATEGORY, CATEGORY_ID> = DThemeDialogSelect<\n\t\tVALUE,\n\t\tCATEGORY,\n\t\tCATEGORY_ID\n\t>,\n\tOPTIONS extends DDialogSelectOptions<\n\t\tVALUE,\n\t\tCATEGORY,\n\t\tCATEGORY_ID,\n\t\tTHEME\n\t> = DDialogSelectOptions<VALUE, CATEGORY, CATEGORY_ID, THEME>\n> extends DDialogLayered<VALUE | null, THEME, OPTIONS> {\n\tprotected _value: VALUE | null;\n\tprotected _spaceLeft?: DLayoutSpace;\n\tprotected _spaceRight?: DLayoutSpace;\n\tprotected _selectCategory?: DSelect<CATEGORY_ID> | null;\n\tprotected _isCategoryFetched?: boolean;\n\tprotected _input?: DInputSearch;\n\tprotected _inputLayout?: DLayoutHorizontal;\n\tprotected _list?: DDialogSelectList<VALUE>;\n\tprotected _search?: DDialogSelectSearch<VALUE, CATEGORY, CATEGORY_ID>;\n\tprotected _noteError?: DNote | null;\n\tprotected _noteNoItemsFound?: DNote | null;\n\tprotected _noteSearching?: DNote | null;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis._value = null;\n\n\t\t// Controller binding\n\t\tconst transition = new UtilTransition();\n\t\tconst search = this.search;\n\t\tsearch.on(\"success\", (e: unknown, results: VALUE[]): void => {\n\t\t\tif (0 < results.length) {\n\t\t\t\ttransition.hide();\n\t\t\t} else {\n\t\t\t\ttransition.show(this.noteNoItemsFound);\n\t\t\t}\n\t\t\tthis.onSearched(results);\n\t\t});\n\t\tsearch.on(\"fail\", (): void => {\n\t\t\ttransition.show(this.noteError);\n\t\t\tthis.onSearched([]);\n\t\t});\n\t\tsearch.on(\"change\", (): void => {\n\t\t\tif (!search.isDone()) {\n\t\t\t\tconst noteSearching = this.noteSearching;\n\t\t\t\tif (noteSearching) {\n\t\t\t\t\ttransition.show(noteSearching);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected newContentChildren(theme: THEME, options?: OPTIONS): Array<DisplayObject | null> {\n\t\tconst result = super.newContentChildren(theme, options);\n\t\tresult.push(this.inputLayout, this.list);\n\t\treturn result;\n\t}\n\n\tprotected get inputLayout(): DLayoutHorizontal {\n\t\tlet result = this._inputLayout;\n\t\tif (result == null) {\n\t\t\tresult = this.newInputLayout();\n\t\t\tthis._inputLayout = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newInputLayout(): DLayoutHorizontal {\n\t\treturn new DLayoutHorizontal({\n\t\t\twidth: \"padding\",\n\t\t\theight: \"auto\",\n\t\t\tchildren: [this.spaceLeft, this.selectCategory, this.input, this.spaceRight]\n\t\t});\n\t}\n\n\tprotected get spaceLeft(): DLayoutSpace {\n\t\tlet result = this._spaceLeft;\n\t\tif (result == null) {\n\t\t\tresult = this.newSpace();\n\t\t\tthis._spaceLeft = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected get spaceRight(): DLayoutSpace {\n\t\tlet result = this._spaceRight;\n\t\tif (result == null) {\n\t\t\tresult = this.newSpace();\n\t\t\tthis._spaceRight = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newSpace(): DLayoutSpace {\n\t\treturn new DLayoutSpace({\n\t\t\twidth: this.toInputMargin(this.theme, this._options)\n\t\t});\n\t}\n\n\tprotected get selectCategory(): DSelect<CATEGORY_ID> | null {\n\t\tlet result = this._selectCategory;\n\t\tif (result === undefined) {\n\t\t\tresult = this.newSelectCategory();\n\t\t\tthis._selectCategory = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newSelectCategory(): DSelect<CATEGORY_ID> | null {\n\t\tconst options = this._options;\n\t\tif (options != null) {\n\t\t\tconst controller = options.controller;\n\t\t\tif (controller != null && controller.getCategories != null) {\n\t\t\t\tconst result = new DSelect<CATEGORY_ID>(\n\t\t\t\t\tthis.toSelectCategoryOptions(this.theme, this._options)\n\t\t\t\t);\n\t\t\t\tresult.on(\"change\", (value: CATEGORY_ID) => {\n\t\t\t\t\tthis.onSelectCategoryChange(value);\n\t\t\t\t});\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected toSelectCategoryOptions(\n\t\ttheme: THEME,\n\t\toptions?: OPTIONS\n\t): DSelectOptions<CATEGORY_ID> {\n\t\tconst result = options?.category || {};\n\t\tif (result.width === undefined && result.weight === undefined) {\n\t\t\tresult.width = 140;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected onSelectCategoryChange(categoryId: CATEGORY_ID): void {\n\t\tthis.search.create([this.input.value, categoryId]);\n\t}\n\n\tget input(): DInputSearch {\n\t\tlet result = this._input;\n\t\tif (result == null) {\n\t\t\tresult = this.newInput();\n\t\t\tthis._input = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newInput(): DInputSearch {\n\t\tconst result = new DInputSearch(this.toInputOptions(this.theme, this._options));\n\t\tresult.on(\"input\", (value: string): void => {\n\t\t\tthis.onInputInput(value);\n\t\t});\n\t\treturn result;\n\t}\n\n\tprotected toInputOptions(theme: THEME, options?: OPTIONS): DInputSearchOptions {\n\t\tconst result = options?.input || {};\n\t\tif (result.width === undefined && result.weight === undefined) {\n\t\t\tresult.weight = 1;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected toInputMargin(theme: THEME, options?: OPTIONS): number {\n\t\treturn options?.input?.margin ?? theme.getInputMargin();\n\t}\n\n\tprotected onInputInput(value: string): void {\n\t\tconst selectCategory = this.selectCategory;\n\t\tif (selectCategory != null) {\n\t\t\tthis.search.create([value, selectCategory.value]);\n\t\t} else {\n\t\t\tthis.search.create([value]);\n\t\t}\n\t}\n\n\tget list(): DDialogSelectList<VALUE> {\n\t\tlet result = this._list;\n\t\tif (result == null) {\n\t\t\tresult = this.newList();\n\t\t\tthis._list = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newList(): DDialogSelectList<VALUE> {\n\t\tconst result = new DDialogSelectList<VALUE>(this.toListOptions(this.theme, this._options));\n\t\tresult.selection.on(\"change\", (selection: DListDataSelection<VALUE>): void => {\n\t\t\tthis.onListSelectionChange(selection);\n\t\t});\n\t\treturn result;\n\t}\n\n\tprotected onListSelectionChange(selection: DListDataSelection<VALUE>): void {\n\t\tlet selected = selection.first;\n\t\tif (selected == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst options = this._options;\n\t\tif (options) {\n\t\t\tconst dismiss = options.dismiss;\n\t\t\tif (dismiss) {\n\t\t\t\tif (selected === dismiss.value) {\n\t\t\t\t\tselected = null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis._value = selected;\n\t\tthis.onOk(selected);\n\t}\n\n\tprotected toListOptions(theme: THEME, options?: OPTIONS): DDialogSelectListOptions<VALUE> {\n\t\tconst result = options?.list || {};\n\t\tif (result.width === undefined) {\n\t\t\tresult.width = \"padding\";\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected get noteError(): DNote | null {\n\t\tlet result = this._noteError;\n\t\tif (result == null) {\n\t\t\tresult = this.newNoteError();\n\t\t\tthis._noteError = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newNoteError(): DNote | null {\n\t\tconst error = this._options?.note?.error;\n\t\tif (error !== null) {\n\t\t\treturn new DNoteSmallError(this.toNoteOptions(this.list, error));\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected get noteNoItemsFound(): DNote | null {\n\t\tlet result = this._noteNoItemsFound;\n\t\tif (result == null) {\n\t\t\tresult = this.newNoteNoItemsFound();\n\t\t\tthis._noteNoItemsFound = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newNoteNoItemsFound(): DNote | null {\n\t\tconst noItemsFound = this._options?.note?.noItemsFound;\n\t\tif (noItemsFound !== null) {\n\t\t\treturn new DNoteSmallNoItemsFound(this.toNoteOptions(this.list, noItemsFound));\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected get noteSearching(): DNote | null {\n\t\tlet result = this._noteSearching;\n\t\tif (result == null) {\n\t\t\tresult = this.newNoteSearching();\n\t\t\tthis._noteSearching = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newNoteSearching(): DNote | null {\n\t\tconst searching = this._options?.note?.searching;\n\t\t// Because the `searching` note is disabled by default,\n\t\t// if options.searching is missing, i.e., if its value is undefined,\n\t\t// this method returns null. This is why `!=` is used here instead of `!==`.\n\t\tif (searching != null) {\n\t\t\treturn new DNoteSmallSearching(this.toNoteOptions(this.list, searching));\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected toNoteOptions(parent: DBase, options?: DNoteOptions): DNoteOptions {\n\t\tif (options != null) {\n\t\t\tif (options.parent == null) {\n\t\t\t\toptions.parent = parent;\n\t\t\t}\n\t\t\tif (options.visible == null) {\n\t\t\t\toptions.visible = false;\n\t\t\t}\n\t\t\treturn options;\n\t\t}\n\t\treturn {\n\t\t\tparent,\n\t\t\tvisible: false\n\t\t};\n\t}\n\n\tprotected get search(): DDialogSelectSearch<VALUE, CATEGORY, CATEGORY_ID> {\n\t\tlet result = this._search;\n\t\tif (result == null) {\n\t\t\tresult = this.newSearch();\n\t\t\tthis._search = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newSearch(): DDialogSelectSearch<VALUE, CATEGORY, CATEGORY_ID> {\n\t\tconst options = this._options;\n\t\tif (options) {\n\t\t\tconst controller = options.controller;\n\t\t\tif (controller) {\n\t\t\t\tconst dismiss = options.dismiss;\n\t\t\t\tconst search = controller.search;\n\t\t\t\tif (\"create\" in search) {\n\t\t\t\t\tif (dismiss != null) {\n\t\t\t\t\t\treturn new DDialogSelectSearhDismissableImpl(search, dismiss);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn search;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (dismiss != null) {\n\t\t\t\t\t\treturn new DDialogSelectSearhDismissableImpl(\n\t\t\t\t\t\t\tnew DDialogSelectSearhImpl(search),\n\t\t\t\t\t\t\tdismiss\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn new DDialogSelectSearhImpl(search);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn new DDialogSelectSearhImpl();\n\t}\n\n\tget value(): VALUE | null {\n\t\treturn this._value;\n\t}\n\n\tprotected onSearched(results: VALUE[]): void {\n\t\tthis.list.data.items = results;\n\t}\n\n\tprotected getResolvedValue(): VALUE | null | PromiseLike<VALUE | null> {\n\t\treturn this._value;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDialogSelect\";\n\t}\n\n\tprotected onOpen(): void {\n\t\tsuper.onOpen();\n\t\tthis.list.selection.clear();\n\t\tconst selectCategory = this.selectCategory;\n\t\tif (selectCategory != null) {\n\t\t\tif (this._isCategoryFetched !== true) {\n\t\t\t\tthis._isCategoryFetched = true;\n\t\t\t\tconst categoriesOrPromise = this.findCategories();\n\t\t\t\tif (categoriesOrPromise == null) {\n\t\t\t\t\tthis.search.create([this.input.value, null]);\n\t\t\t\t} else if (isArray(categoriesOrPromise)) {\n\t\t\t\t\tthis.onCategoryFetched(selectCategory, categoriesOrPromise);\n\t\t\t\t} else {\n\t\t\t\t\tselectCategory.state.isEnabled = false;\n\t\t\t\t\tcategoriesOrPromise.then((categories) => {\n\t\t\t\t\t\tselectCategory.state.isEnabled = true;\n\t\t\t\t\t\tthis.onCategoryFetched(selectCategory, categories);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.search.create([this.input.value, selectCategory.value]);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.search.create([this.input.value]);\n\t\t}\n\t}\n\n\tprotected onCategoryFetched(\n\t\tselectCategory: DSelect<CATEGORY_ID>,\n\t\tcategories: CATEGORY[]\n\t): void {\n\t\tconst items = [];\n\t\tfor (let i = 0, imax = categories.length; i < imax; ++i) {\n\t\t\tconst category = categories[i];\n\t\t\titems.push({\n\t\t\t\tvalue: this.toCategoryId(category),\n\t\t\t\ttext: {\n\t\t\t\t\tvalue: this.toCategoryLabel(category)\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tselectCategory.menu = new DMenu<CATEGORY_ID>({\n\t\t\tfit: true,\n\t\t\titems\n\t\t});\n\t\tconst newValue = 0 < items.length ? items[0].value : null;\n\t\tselectCategory.value = newValue;\n\t\tselectCategory.show();\n\t\tthis.search.create([this.input.value, newValue]);\n\t}\n\n\tprotected toCategoryId(target: CATEGORY): CATEGORY_ID {\n\t\tconst options = this._options;\n\t\tif (options != null) {\n\t\t\tconst category = options.category;\n\t\t\tif (category != null) {\n\t\t\t\tconst toId = category.toId;\n\t\t\t\tif (toId != null) {\n\t\t\t\t\treturn toId(target);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this.theme.toCategoryId(target);\n\t}\n\n\tprotected toCategoryLabel(target: CATEGORY): string {\n\t\tconst options = this._options;\n\t\tif (options != null) {\n\t\t\tconst category = options.category;\n\t\t\tif (category != null) {\n\t\t\t\tconst toLabel = category.toLabel;\n\t\t\t\tif (toLabel != null) {\n\t\t\t\t\treturn toLabel(target);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this.theme.toCategoryLabel(target);\n\t}\n\n\tprotected findCategories(): Promise<CATEGORY[]> | CATEGORY[] | null {\n\t\tconst options = this._options;\n\t\tif (options != null) {\n\t\t\tconst controller = options.controller;\n\t\t\tif (controller != null && controller.getCategories != null) {\n\t\t\t\treturn controller.getCategories();\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onOk(value: VALUE | null | PromiseLike<VALUE | null>): void {\n\t\tthis.emit(\"select\", value, this);\n\t\tsuper.onOk(value);\n\t}\n\n\tdestroy(): void {\n\t\tconst input = this._input;\n\t\tif (input) {\n\t\t\tinput.destroy();\n\t\t}\n\t\tconst noteError = this._noteError;\n\t\tif (noteError) {\n\t\t\tnoteError.destroy();\n\t\t}\n\t\tconst noteNoItemsFound = this._noteNoItemsFound;\n\t\tif (noteNoItemsFound) {\n\t\t\tnoteNoItemsFound?.destroy();\n\t\t}\n\t\tconst noteSearching = this._noteSearching;\n\t\tif (noteSearching) {\n\t\t\tnoteSearching?.destroy();\n\t\t}\n\t\tconst list = this._list;\n\t\tif (list) {\n\t\t\tlist.destroy();\n\t\t}\n\t\tsuper.destroy();\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-dialog-select.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-dialog-select.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DisplayObject } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport {\n\tDDialogLayered,\n\tDDialogLayeredEvents,\n\tDDialogLayeredOptions,\n\tDThemeDialogLayered\n} from \"./d-dialog-layered\";\nimport { DDialogSelectList, DDialogSelectListOptions } from \"./d-dialog-select-list\";\nimport { DDialogSelectSearhImpl } from \"./d-dialog-select-search-impl\";\nimport { DInputSearch, DInputSearchOptions } from \"./d-input-search\";\nimport { DLayoutHorizontal } from \"./d-layout-horizontal\";\nimport { DLayoutSpace } from \"./d-layout-space\";\nimport { DListOptions } from \"./d-list\";\nimport { DListDataSelection } from \"./d-list-data-selection\";\nimport { DNote, DNoteOptions } from \"./d-note\";\nimport { DNoteSmallError } from \"./d-note-small-error\";\nimport { DNoteSmallNoItemsFound } from \"./d-note-small-no-items-found\";\nimport { DNoteSmallSearching } from \"./d-note-small-searching\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { UtilTransition } from \"./util/util-transition\";\nimport { DDialogSelectSearch } from \"./d-dialog-select-search\";\nimport { DDialogSelectSearhDismissableOptions } from \"./d-dialog-select-search-dismissable\";\nimport { DDialogSelectSearhDismissableImpl } from \"./d-dialog-select-search-dismissable-impl\";\nimport { DSelect, DSelectOptions } from \"./d-select\";\nimport { DMenu } from \"./d-menu\";\nimport { isArray } from \"./util/is-array\";\nimport { DDialogSelectSearchFunction } from \"./d-dialog-select-search-function\";\nimport { DBaseState } from \"./d-base-state\";\n\nexport interface DDialogSelectInputOpitons extends DInputSearchOptions {\n\tmargin?: number;\n}\n\n/**\n * {@link DDialogSelect} controller.\n */\nexport interface DDialogSelectController<VALUE, CATEGORY = unknown, CATEGORY_ID = unknown> {\n\tsearch:\n\t\t| DDialogSelectSearch<VALUE, CATEGORY, CATEGORY_ID>\n\t\t| DDialogSelectSearchFunction<VALUE, CATEGORY, CATEGORY_ID>;\n\tgetCategories?: () => CATEGORY[] | Promise<CATEGORY[]>;\n}\n\n/**\n * {@link DDialogSelect} note options.\n */\nexport interface DDialogSelectNoteOptions {\n\terror?: DNoteOptions | null;\n\tnoItemsFound?: DNoteOptions | null;\n\tsearching?: DNoteOptions | null;\n}\n\nexport type DDialogSelectItemToLabel<VALUE> = (result: VALUE, caller: any) => string;\n\nexport type DDialogSelectItemIsEqual<VALUE> = (a: VALUE, b: VALUE, caller: any) => boolean;\n\n/**\n * {@link DDialogSelect} events.\n */\nexport interface DDialogSelectEvents<VALUE, EMITTER> extends DDialogLayeredEvents<VALUE, EMITTER> {\n\tselect(value: VALUE, self: EMITTER): void;\n}\n\n/**\n * {@link DDialogSelect} category options.\n */\nexport interface DDialogSelectCategoryOptions<VALUE, CATEGORY, CATEGORY_ID>\n\textends DSelectOptions<CATEGORY_ID | null> {\n\ttoId?: (category: CATEGORY) => CATEGORY_ID;\n\ttoLabel?: (category: CATEGORY | null) => string;\n}\n\n/**\n * {@link DDialogSelect} \"on\" options.\n */\nexport interface DDialogSelectOnOptions<VALUE, EMITTER>\n\textends Partial<DDialogSelectEvents<VALUE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DDialogSelect} options.\n */\nexport interface DDialogSelectOptions<\n\tVALUE,\n\tCATEGORY = unknown,\n\tCATEGORY_ID = unknown,\n\tTHEME extends DThemeDialogSelect<VALUE, CATEGORY, CATEGORY_ID> = DThemeDialogSelect<\n\t\tVALUE,\n\t\tCATEGORY,\n\t\tCATEGORY_ID\n\t>,\n\tEMITTER = any\n> extends DDialogLayeredOptions<VALUE, THEME> {\n\tcontroller?: DDialogSelectController<VALUE, CATEGORY, CATEGORY_ID>;\n\tcategory?: DDialogSelectCategoryOptions<VALUE, CATEGORY, CATEGORY_ID>;\n\tdismiss?: DDialogSelectSearhDismissableOptions<VALUE, CATEGORY, CATEGORY_ID>;\n\tinput?: DDialogSelectInputOpitons;\n\tlist?: DListOptions<VALUE>;\n\tnote?: DDialogSelectNoteOptions;\n\ton?: DDialogSelectOnOptions<VALUE, EMITTER>;\n}\n\n/**\n * {@link DDialogSelect} theme.\n */\nexport interface DThemeDialogSelect<VALUE = unknown, CATEGORY = unknown, CATEGORY_ID = unknown>\n\textends DThemeDialogLayered {\n\tgetInputMargin(): number;\n\ttoCategoryId(category: CATEGORY): CATEGORY_ID;\n\ttoCategoryLabel(category: CATEGORY | null): string;\n}\n\nexport class DDialogSelect<\n\tVALUE = unknown,\n\tCATEGORY = unknown,\n\tCATEGORY_ID = unknown,\n\tTHEME extends DThemeDialogSelect<VALUE, CATEGORY, CATEGORY_ID> = DThemeDialogSelect<\n\t\tVALUE,\n\t\tCATEGORY,\n\t\tCATEGORY_ID\n\t>,\n\tOPTIONS extends DDialogSelectOptions<\n\t\tVALUE,\n\t\tCATEGORY,\n\t\tCATEGORY_ID,\n\t\tTHEME\n\t> = DDialogSelectOptions<VALUE, CATEGORY, CATEGORY_ID, THEME>\n> extends DDialogLayered<VALUE | null, THEME, OPTIONS> {\n\tprotected _value: VALUE | null;\n\tprotected _spaceLeft?: DLayoutSpace;\n\tprotected _spaceRight?: DLayoutSpace;\n\tprotected _selectCategory?: DSelect<CATEGORY_ID | null> | null;\n\tprotected _isCategoryFetched?: boolean;\n\tprotected _input?: DInputSearch;\n\tprotected _inputLayout?: DLayoutHorizontal;\n\tprotected _list?: DDialogSelectList<VALUE>;\n\tprotected _search?: DDialogSelectSearch<VALUE, CATEGORY, CATEGORY_ID>;\n\tprotected _noteError?: DNote | null;\n\tprotected _noteNoItemsFound?: DNote | null;\n\tprotected _noteSearching?: DNote | null;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis._value = null;\n\n\t\t// Controller binding\n\t\tconst transition = new UtilTransition();\n\t\tconst search = this.search;\n\t\tsearch.on(\"success\", (e: unknown, results: VALUE[]): void => {\n\t\t\tif (0 < results.length) {\n\t\t\t\ttransition.hide();\n\t\t\t} else {\n\t\t\t\ttransition.show(this.noteNoItemsFound);\n\t\t\t}\n\t\t\tthis.onSearched(results);\n\t\t});\n\t\tsearch.on(\"fail\", (): void => {\n\t\t\ttransition.show(this.noteError);\n\t\t\tthis.onSearched([]);\n\t\t});\n\t\tsearch.on(\"change\", (): void => {\n\t\t\tif (!search.isDone()) {\n\t\t\t\tconst noteSearching = this.noteSearching;\n\t\t\t\tif (noteSearching) {\n\t\t\t\t\ttransition.show(noteSearching);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected newContentChildren(theme: THEME, options?: OPTIONS): Array<DisplayObject | null> {\n\t\tconst result = super.newContentChildren(theme, options);\n\t\tresult.push(this.inputLayout, this.list);\n\t\treturn result;\n\t}\n\n\tprotected get inputLayout(): DLayoutHorizontal {\n\t\tlet result = this._inputLayout;\n\t\tif (result == null) {\n\t\t\tresult = this.newInputLayout();\n\t\t\tthis._inputLayout = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newInputLayout(): DLayoutHorizontal {\n\t\treturn new DLayoutHorizontal({\n\t\t\twidth: \"padding\",\n\t\t\theight: \"auto\",\n\t\t\tchildren: [this.spaceLeft, this.selectCategory, this.input, this.spaceRight]\n\t\t});\n\t}\n\n\tprotected get spaceLeft(): DLayoutSpace {\n\t\tlet result = this._spaceLeft;\n\t\tif (result == null) {\n\t\t\tresult = this.newSpace();\n\t\t\tthis._spaceLeft = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected get spaceRight(): DLayoutSpace {\n\t\tlet result = this._spaceRight;\n\t\tif (result == null) {\n\t\t\tresult = this.newSpace();\n\t\t\tthis._spaceRight = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newSpace(): DLayoutSpace {\n\t\treturn new DLayoutSpace({\n\t\t\twidth: this.toInputMargin(this.theme, this._options)\n\t\t});\n\t}\n\n\tprotected get selectCategory(): DSelect<CATEGORY_ID | null> | null {\n\t\tlet result = this._selectCategory;\n\t\tif (result === undefined) {\n\t\t\tresult = this.newSelectCategory();\n\t\t\tthis._selectCategory = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newSelectCategory(): DSelect<CATEGORY_ID | null> | null {\n\t\tconst options = this._options;\n\t\tif (options != null) {\n\t\t\tconst controller = options.controller;\n\t\t\tif (controller != null && controller.getCategories != null) {\n\t\t\t\tconst result = new DSelect<CATEGORY_ID | null>(\n\t\t\t\t\tthis.toSelectCategoryOptions(this.theme, this._options)\n\t\t\t\t);\n\t\t\t\tresult.on(\"change\", (value: CATEGORY_ID) => {\n\t\t\t\t\tthis.onSelectCategoryChange(value);\n\t\t\t\t});\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected toSelectCategoryOptions(\n\t\ttheme: THEME,\n\t\toptions?: OPTIONS\n\t): DSelectOptions<CATEGORY_ID | null> {\n\t\tconst result = options?.category || {};\n\t\tif (result.width === undefined && result.weight === undefined) {\n\t\t\tresult.width = 140;\n\t\t}\n\t\tif (result.state === undefined) {\n\t\t\tresult.state = DBaseState.DISABLED;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected onSelectCategoryChange(categoryId: CATEGORY_ID): void {\n\t\tthis.search.create([this.input.value, categoryId]);\n\t}\n\n\tget input(): DInputSearch {\n\t\tlet result = this._input;\n\t\tif (result == null) {\n\t\t\tresult = this.newInput();\n\t\t\tthis._input = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newInput(): DInputSearch {\n\t\tconst result = new DInputSearch(this.toInputOptions(this.theme, this._options));\n\t\tresult.on(\"input\", (value: string): void => {\n\t\t\tthis.onInputInput(value);\n\t\t});\n\t\treturn result;\n\t}\n\n\tprotected toInputOptions(theme: THEME, options?: OPTIONS): DInputSearchOptions {\n\t\tconst result = options?.input || {};\n\t\tif (result.width === undefined && result.weight === undefined) {\n\t\t\tresult.weight = 1;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected toInputMargin(theme: THEME, options?: OPTIONS): number {\n\t\treturn options?.input?.margin ?? theme.getInputMargin();\n\t}\n\n\tprotected onInputInput(value: string): void {\n\t\tconst selectCategory = this.selectCategory;\n\t\tif (selectCategory != null) {\n\t\t\tthis.search.create([value, selectCategory.value]);\n\t\t} else {\n\t\t\tthis.search.create([value]);\n\t\t}\n\t}\n\n\tget list(): DDialogSelectList<VALUE> {\n\t\tlet result = this._list;\n\t\tif (result == null) {\n\t\t\tresult = this.newList();\n\t\t\tthis._list = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newList(): DDialogSelectList<VALUE> {\n\t\tconst result = new DDialogSelectList<VALUE>(this.toListOptions(this.theme, this._options));\n\t\tresult.selection.on(\"change\", (selection: DListDataSelection<VALUE>): void => {\n\t\t\tthis.onListSelectionChange(selection);\n\t\t});\n\t\treturn result;\n\t}\n\n\tprotected onListSelectionChange(selection: DListDataSelection<VALUE>): void {\n\t\tlet selected = selection.first;\n\t\tif (selected == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst options = this._options;\n\t\tif (options) {\n\t\t\tconst dismiss = options.dismiss;\n\t\t\tif (dismiss) {\n\t\t\t\tif (selected === dismiss.value) {\n\t\t\t\t\tselected = null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis._value = selected;\n\t\tthis.onOk(selected);\n\t}\n\n\tprotected toListOptions(theme: THEME, options?: OPTIONS): DDialogSelectListOptions<VALUE> {\n\t\tconst result = options?.list || {};\n\t\tif (result.width === undefined) {\n\t\t\tresult.width = \"padding\";\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected get noteError(): DNote | null {\n\t\tlet result = this._noteError;\n\t\tif (result == null) {\n\t\t\tresult = this.newNoteError();\n\t\t\tthis._noteError = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newNoteError(): DNote | null {\n\t\tconst error = this._options?.note?.error;\n\t\tif (error !== null) {\n\t\t\treturn new DNoteSmallError(this.toNoteOptions(this.list, error));\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected get noteNoItemsFound(): DNote | null {\n\t\tlet result = this._noteNoItemsFound;\n\t\tif (result == null) {\n\t\t\tresult = this.newNoteNoItemsFound();\n\t\t\tthis._noteNoItemsFound = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newNoteNoItemsFound(): DNote | null {\n\t\tconst noItemsFound = this._options?.note?.noItemsFound;\n\t\tif (noItemsFound !== null) {\n\t\t\treturn new DNoteSmallNoItemsFound(this.toNoteOptions(this.list, noItemsFound));\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected get noteSearching(): DNote | null {\n\t\tlet result = this._noteSearching;\n\t\tif (result == null) {\n\t\t\tresult = this.newNoteSearching();\n\t\t\tthis._noteSearching = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newNoteSearching(): DNote | null {\n\t\tconst searching = this._options?.note?.searching;\n\t\t// Because the `searching` note is disabled by default,\n\t\t// if options.searching is missing, i.e., if its value is undefined,\n\t\t// this method returns null. This is why `!=` is used here instead of `!==`.\n\t\tif (searching != null) {\n\t\t\treturn new DNoteSmallSearching(this.toNoteOptions(this.list, searching));\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected toNoteOptions(parent: DBase, options?: DNoteOptions): DNoteOptions {\n\t\tif (options != null) {\n\t\t\tif (options.parent == null) {\n\t\t\t\toptions.parent = parent;\n\t\t\t}\n\t\t\tif (options.visible == null) {\n\t\t\t\toptions.visible = false;\n\t\t\t}\n\t\t\treturn options;\n\t\t}\n\t\treturn {\n\t\t\tparent,\n\t\t\tvisible: false\n\t\t};\n\t}\n\n\tprotected get search(): DDialogSelectSearch<VALUE, CATEGORY, CATEGORY_ID> {\n\t\tlet result = this._search;\n\t\tif (result == null) {\n\t\t\tresult = this.newSearch();\n\t\t\tthis._search = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newSearch(): DDialogSelectSearch<VALUE, CATEGORY, CATEGORY_ID> {\n\t\tconst options = this._options;\n\t\tif (options) {\n\t\t\tconst controller = options.controller;\n\t\t\tif (controller) {\n\t\t\t\tconst dismiss = options.dismiss;\n\t\t\t\tconst search = controller.search;\n\t\t\t\tif (\"create\" in search) {\n\t\t\t\t\tif (dismiss != null) {\n\t\t\t\t\t\treturn new DDialogSelectSearhDismissableImpl(search, dismiss);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn search;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (dismiss != null) {\n\t\t\t\t\t\treturn new DDialogSelectSearhDismissableImpl(\n\t\t\t\t\t\t\tnew DDialogSelectSearhImpl(search),\n\t\t\t\t\t\t\tdismiss\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn new DDialogSelectSearhImpl(search);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn new DDialogSelectSearhImpl();\n\t}\n\n\tget value(): VALUE | null {\n\t\treturn this._value;\n\t}\n\n\tprotected onSearched(results: VALUE[]): void {\n\t\tthis.list.data.items = results;\n\t}\n\n\tprotected getResolvedValue(): VALUE | null | PromiseLike<VALUE | null> {\n\t\treturn this._value;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDialogSelect\";\n\t}\n\n\tprotected onOpen(): void {\n\t\tsuper.onOpen();\n\t\tthis.list.selection.clear();\n\t\tconst selectCategory = this.selectCategory;\n\t\tif (selectCategory != null) {\n\t\t\tif (this._isCategoryFetched !== true) {\n\t\t\t\tthis._isCategoryFetched = true;\n\t\t\t\tconst categoriesOrPromise = this.findCategories();\n\t\t\t\tif (categoriesOrPromise == null) {\n\t\t\t\t\tthis.search.create([this.input.value, null]);\n\t\t\t\t} else if (isArray(categoriesOrPromise)) {\n\t\t\t\t\tthis.onCategoryFetched(selectCategory, categoriesOrPromise);\n\t\t\t\t} else {\n\t\t\t\t\tcategoriesOrPromise.then((categories) => {\n\t\t\t\t\t\tthis.onCategoryFetched(selectCategory, categories);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.search.create([this.input.value, selectCategory.value]);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.search.create([this.input.value]);\n\t\t}\n\t}\n\n\tprotected onCategoryFetched(\n\t\tselectCategory: DSelect<CATEGORY_ID | null>,\n\t\tcategories: CATEGORY[]\n\t): void {\n\t\tconst items = [];\n\t\tconst toId = this.newToCategoryId();\n\t\tconst toLabel = this.newToCategoryLabel();\n\t\titems.push({\n\t\t\tvalue: null,\n\t\t\ttext: {\n\t\t\t\tvalue: toLabel(null)\n\t\t\t}\n\t\t});\n\t\tfor (let i = 0, imax = categories.length; i < imax; ++i) {\n\t\t\tconst category = categories[i];\n\t\t\titems.push({\n\t\t\t\tvalue: toId(category),\n\t\t\t\ttext: {\n\t\t\t\t\tvalue: toLabel(category)\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tselectCategory.menu = new DMenu<CATEGORY_ID | null>({\n\t\t\tfit: true,\n\t\t\titems\n\t\t});\n\t\tselectCategory.state.isEnabled = true;\n\t\tthis.search.create([this.input.value, null]);\n\t}\n\n\tprotected newToCategoryId(): (category: CATEGORY) => CATEGORY_ID {\n\t\tconst options = this._options;\n\t\tif (options != null) {\n\t\t\tconst category = options.category;\n\t\t\tif (category != null) {\n\t\t\t\tconst toId = category.toId;\n\t\t\t\tif (toId != null) {\n\t\t\t\t\treturn toId;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst theme = this.theme;\n\t\treturn (category: CATEGORY): CATEGORY_ID => {\n\t\t\treturn theme.toCategoryId(category);\n\t\t};\n\t}\n\n\tprotected newToCategoryLabel(): (category: CATEGORY | null) => string {\n\t\tconst options = this._options;\n\t\tif (options != null) {\n\t\t\tconst category = options.category;\n\t\t\tif (category != null) {\n\t\t\t\tconst toLabel = category.toLabel;\n\t\t\t\tif (toLabel != null) {\n\t\t\t\t\treturn toLabel;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst theme = this.theme;\n\t\treturn (category: CATEGORY | null): string => {\n\t\t\treturn theme.toCategoryLabel(category);\n\t\t};\n\t}\n\n\tprotected findCategories(): Promise<CATEGORY[]> | CATEGORY[] | null {\n\t\tconst options = this._options;\n\t\tif (options != null) {\n\t\t\tconst controller = options.controller;\n\t\t\tif (controller != null && controller.getCategories != null) {\n\t\t\t\treturn controller.getCategories();\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onOk(value: VALUE | null | PromiseLike<VALUE | null>): void {\n\t\tthis.emit(\"select\", value, this);\n\t\tsuper.onOk(value);\n\t}\n\n\tdestroy(): void {\n\t\tconst input = this._input;\n\t\tif (input) {\n\t\t\tinput.destroy();\n\t\t}\n\t\tconst noteError = this._noteError;\n\t\tif (noteError) {\n\t\t\tnoteError.destroy();\n\t\t}\n\t\tconst noteNoItemsFound = this._noteNoItemsFound;\n\t\tif (noteNoItemsFound) {\n\t\t\tnoteNoItemsFound?.destroy();\n\t\t}\n\t\tconst noteSearching = this._noteSearching;\n\t\tif (noteSearching) {\n\t\t\tnoteSearching?.destroy();\n\t\t}\n\t\tconst list = this._list;\n\t\tif (list) {\n\t\t\tlist.destroy();\n\t\t}\n\t\tsuper.destroy();\n\t}\n}\n"]}
@@ -34,16 +34,10 @@ var DSelect = /** @class */ (function (_super) {
34
34
  _super.prototype.onMenuReplaced.call(this, newMenu, oldMenu);
35
35
  // Update the value
36
36
  var value = this._value;
37
- if (value != null) {
38
- var item = this.findMenuItem(newMenu, value);
39
- if (item != null) {
40
- this._value = value;
41
- this.text = item;
42
- }
43
- else {
44
- this._value = null;
45
- this.text = null;
46
- }
37
+ var item = this.findMenuItem(newMenu, value);
38
+ if (item != null) {
39
+ this._value = value;
40
+ this.text = item;
47
41
  }
48
42
  else {
49
43
  this._value = null;
@@ -1 +1 @@
1
- {"version":3,"file":"d-select.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-select.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\tDDropdownBase,\n\tDDropdownBaseEvents,\n\tDDropdownBaseOptions,\n\tDThemeDropdownBase\n} from \"./d-dropdown-base\";\nimport { DMenu } from \"./d-menu\";\nimport { DMenuItem } from \"./d-menu-item\";\nimport { DMenuItemMenu } from \"./d-menu-item-menu\";\nimport { DOnOptions } from \"./d-on-options\";\n\n/**\n * {@link DSelect} events.\n */\nexport interface DSelectEvents<VALUE, EMITTER>\n\textends DDropdownBaseEvents<VALUE, DMenuItem<VALUE> | null, EMITTER> {\n\t/**\n\t * Triggered when a selection is changed.\n\t *\n\t * @param newVAlue a newly-selected value\n\t * @param oldValue a previously-selected value\n\t * @param item a newly-selected item\n\t * @param emitter an emitter\n\t */\n\tchange(\n\t\tnewValue: VALUE | null,\n\t\toldValue: VALUE | null,\n\t\titem: DMenuItem<VALUE> | null,\n\t\temitter: EMITTER\n\t): void;\n}\n\n/**\n * {@link DSelect} \"on\" options.\n */\nexport interface DSelectOnOptions<VALUE, EMITTER>\n\textends Partial<DSelectEvents<VALUE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DSelect} options.\n */\nexport interface DSelectOptions<\n\tVALUE = unknown,\n\tTHEME extends DThemeSelect<VALUE> = DThemeSelect<VALUE>,\n\tEMITTER = any\n> extends DDropdownBaseOptions<VALUE, DMenuItem<VALUE> | null, THEME, EMITTER> {\n\t/**\n\t * A default value.\n\t */\n\tvalue?: VALUE | null;\n\n\ton?: DSelectOnOptions<VALUE, EMITTER>;\n}\n\n/**\n * {@link DSelect} theme.\n */\nexport interface DThemeSelect<VALUE = unknown>\n\textends DThemeDropdownBase<DMenuItem<VALUE> | null> {}\n\n/**\n * A selector class.\n */\nexport class DSelect<\n\tVALUE = unknown,\n\tTHEME extends DThemeSelect<VALUE> = DThemeSelect<VALUE>,\n\tOPTIONS extends DSelectOptions<VALUE, THEME> = DSelectOptions<VALUE, THEME>\n> extends DDropdownBase<VALUE, DMenuItem<VALUE> | null, THEME, OPTIONS> {\n\tprotected _value: VALUE | null;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\n\t\t// Default value\n\t\tthis._value = null;\n\t\tconst value = options?.value;\n\t\tif (value != null) {\n\t\t\tthis.value = value;\n\t\t}\n\t}\n\n\tprotected onMenuSelect(newValue: VALUE, item: DMenuItem<VALUE>, menu: DMenu<VALUE>): void {\n\t\tsuper.onMenuSelect(newValue, item, menu);\n\t\tconst oldValue = this._value;\n\t\tif (oldValue !== newValue) {\n\t\t\tthis._value = newValue;\n\t\t\tthis.text = item;\n\t\t\tthis.onValueChange(newValue, oldValue, item);\n\t\t}\n\t}\n\n\tprotected onMenuReplaced(newMenu: DMenu<VALUE>, oldMenu?: DMenu<VALUE>): void {\n\t\tsuper.onMenuReplaced(newMenu, oldMenu);\n\n\t\t// Update the value\n\t\tconst value = this._value;\n\t\tif (value != null) {\n\t\t\tconst item = this.findMenuItem(newMenu, value);\n\t\t\tif (item != null) {\n\t\t\t\tthis._value = value;\n\t\t\t\tthis.text = item;\n\t\t\t} else {\n\t\t\t\tthis._value = null;\n\t\t\t\tthis.text = null;\n\t\t\t}\n\t\t} else {\n\t\t\tthis._value = null;\n\t\t\tthis.text = null;\n\t\t}\n\t}\n\n\tprotected onValueChange(\n\t\tnewValue: VALUE | null,\n\t\toldValue: VALUE | null,\n\t\titem: DMenuItem<VALUE> | null\n\t): void {\n\t\tthis.emit(\"change\", newValue, oldValue, item, this);\n\t}\n\n\tprotected findMenuItem(menu: DMenu<VALUE>, value: VALUE | null): DMenuItem<VALUE> | null {\n\t\tconst children = menu.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst child = children[i];\n\t\t\tif (child instanceof DMenuItemMenu) {\n\t\t\t\tconst result = this.findMenuItem(child.menu, value);\n\t\t\t\tif (result != null) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t} else if (child instanceof DMenuItem) {\n\t\t\t\tif (child.value === value) {\n\t\t\t\t\treturn child;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Returns a selected value or null.\n\t */\n\tget value(): VALUE | null {\n\t\treturn this._value;\n\t}\n\n\t/**\n\t * Sets to the specified value.\n\t */\n\tset value(value: VALUE | null) {\n\t\tif (this._value !== value) {\n\t\t\tconst item = this.findMenuItem(this.menu, value);\n\t\t\tif (item != null) {\n\t\t\t\tthis._value = value;\n\t\t\t\tthis.text = item;\n\t\t\t} else {\n\t\t\t\tthis._value = null;\n\t\t\t\tthis.text = null;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DSelect\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-select.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-select.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\tDDropdownBase,\n\tDDropdownBaseEvents,\n\tDDropdownBaseOptions,\n\tDThemeDropdownBase\n} from \"./d-dropdown-base\";\nimport { DMenu } from \"./d-menu\";\nimport { DMenuItem } from \"./d-menu-item\";\nimport { DMenuItemMenu } from \"./d-menu-item-menu\";\nimport { DOnOptions } from \"./d-on-options\";\n\n/**\n * {@link DSelect} events.\n */\nexport interface DSelectEvents<VALUE, EMITTER>\n\textends DDropdownBaseEvents<VALUE, DMenuItem<VALUE> | null, EMITTER> {\n\t/**\n\t * Triggered when a selection is changed.\n\t *\n\t * @param newVAlue a newly-selected value\n\t * @param oldValue a previously-selected value\n\t * @param item a newly-selected item\n\t * @param emitter an emitter\n\t */\n\tchange(\n\t\tnewValue: VALUE | null,\n\t\toldValue: VALUE | null,\n\t\titem: DMenuItem<VALUE> | null,\n\t\temitter: EMITTER\n\t): void;\n}\n\n/**\n * {@link DSelect} \"on\" options.\n */\nexport interface DSelectOnOptions<VALUE, EMITTER>\n\textends Partial<DSelectEvents<VALUE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DSelect} options.\n */\nexport interface DSelectOptions<\n\tVALUE = unknown,\n\tTHEME extends DThemeSelect<VALUE> = DThemeSelect<VALUE>,\n\tEMITTER = any\n> extends DDropdownBaseOptions<VALUE, DMenuItem<VALUE> | null, THEME, EMITTER> {\n\t/**\n\t * A default value.\n\t */\n\tvalue?: VALUE | null;\n\n\ton?: DSelectOnOptions<VALUE, EMITTER>;\n}\n\n/**\n * {@link DSelect} theme.\n */\nexport interface DThemeSelect<VALUE = unknown>\n\textends DThemeDropdownBase<DMenuItem<VALUE> | null> {}\n\n/**\n * A selector class.\n */\nexport class DSelect<\n\tVALUE = unknown,\n\tTHEME extends DThemeSelect<VALUE> = DThemeSelect<VALUE>,\n\tOPTIONS extends DSelectOptions<VALUE, THEME> = DSelectOptions<VALUE, THEME>\n> extends DDropdownBase<VALUE, DMenuItem<VALUE> | null, THEME, OPTIONS> {\n\tprotected _value: VALUE | null;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\n\t\t// Default value\n\t\tthis._value = null;\n\t\tconst value = options?.value;\n\t\tif (value != null) {\n\t\t\tthis.value = value;\n\t\t}\n\t}\n\n\tprotected onMenuSelect(newValue: VALUE, item: DMenuItem<VALUE>, menu: DMenu<VALUE>): void {\n\t\tsuper.onMenuSelect(newValue, item, menu);\n\t\tconst oldValue = this._value;\n\t\tif (oldValue !== newValue) {\n\t\t\tthis._value = newValue;\n\t\t\tthis.text = item;\n\t\t\tthis.onValueChange(newValue, oldValue, item);\n\t\t}\n\t}\n\n\tprotected onMenuReplaced(newMenu: DMenu<VALUE>, oldMenu?: DMenu<VALUE>): void {\n\t\tsuper.onMenuReplaced(newMenu, oldMenu);\n\n\t\t// Update the value\n\t\tconst value = this._value;\n\t\tconst item = this.findMenuItem(newMenu, value);\n\t\tif (item != null) {\n\t\t\tthis._value = value;\n\t\t\tthis.text = item;\n\t\t} else {\n\t\t\tthis._value = null;\n\t\t\tthis.text = null;\n\t\t}\n\t}\n\n\tprotected onValueChange(\n\t\tnewValue: VALUE | null,\n\t\toldValue: VALUE | null,\n\t\titem: DMenuItem<VALUE> | null\n\t): void {\n\t\tthis.emit(\"change\", newValue, oldValue, item, this);\n\t}\n\n\tprotected findMenuItem(menu: DMenu<VALUE>, value: VALUE | null): DMenuItem<VALUE> | null {\n\t\tconst children = menu.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst child = children[i];\n\t\t\tif (child instanceof DMenuItemMenu) {\n\t\t\t\tconst result = this.findMenuItem(child.menu, value);\n\t\t\t\tif (result != null) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t} else if (child instanceof DMenuItem) {\n\t\t\t\tif (child.value === value) {\n\t\t\t\t\treturn child;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Returns a selected value or null.\n\t */\n\tget value(): VALUE | null {\n\t\treturn this._value;\n\t}\n\n\t/**\n\t * Sets to the specified value.\n\t */\n\tset value(value: VALUE | null) {\n\t\tif (this._value !== value) {\n\t\t\tconst item = this.findMenuItem(this.menu, value);\n\t\t\tif (item != null) {\n\t\t\t\tthis._value = value;\n\t\t\t\tthis.text = item;\n\t\t\t} else {\n\t\t\t\tthis._value = null;\n\t\t\t\tthis.text = null;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DSelect\";\n\t}\n}\n"]}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { __extends } from "tslib";
6
6
  import { toId } from "../../util/to-id";
7
- import { toLabel } from "../../util/to-label";
7
+ import { toLabelWith } from "../../util/to-label-with";
8
8
  import { DThemeDarkDialogLayered } from "./d-theme-dark-dialog-layered";
9
9
  var DThemeDarkDialogSelect = /** @class */ (function (_super) {
10
10
  __extends(DThemeDarkDialogSelect, _super);
@@ -24,7 +24,7 @@ var DThemeDarkDialogSelect = /** @class */ (function (_super) {
24
24
  return toId(category);
25
25
  };
26
26
  DThemeDarkDialogSelect.prototype.toCategoryLabel = function (category) {
27
- return toLabel(category);
27
+ return toLabelWith(category, "All");
28
28
  };
29
29
  return DThemeDarkDialogSelect;
30
30
  }(DThemeDarkDialogLayered));
@@ -1 +1 @@
1
- {"version":3,"file":"d-theme-dark-dialog-select.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/theme/dark/d-theme-dark-dialog-select.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAKH,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAExE;IACS,0CAAuB;IADhC;;IAuBA,CAAC;IAnBA,yCAAQ,GAAR;QACC,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,0CAAS,GAAT;QACC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,+CAAc,GAAd;QACC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,6CAAY,GAAZ,UAAa,QAAiB;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAED,gDAAe,GAAf,UAAgB,QAAiB;QAChC,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IACF,6BAAC;AAAD,CAAC,AAvBD,CACS,uBAAuB,GAsB/B","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DCoordinateSize } from \"../../d-coordinate\";\nimport { DDialogLayeredFooterOptions } from \"../../d-dialog-layered-footer\";\nimport { DThemeDialogSelect } from \"../../d-dialog-select\";\nimport { toId } from \"../../util/to-id\";\nimport { toLabel } from \"../../util/to-label\";\nimport { DThemeDarkDialogLayered } from \"./d-theme-dark-dialog-layered\";\n\nexport class DThemeDarkDialogSelect<VALUE>\n\textends DThemeDarkDialogLayered\n\timplements DThemeDialogSelect<VALUE>\n{\n\tgetWidth(): DCoordinateSize {\n\t\treturn 480;\n\t}\n\n\tgetFooter(): DDialogLayeredFooterOptions | undefined | null {\n\t\treturn null;\n\t}\n\n\tgetInputMargin(): number {\n\t\treturn 19;\n\t}\n\n\ttoCategoryId(category: unknown): unknown {\n\t\treturn toId(category);\n\t}\n\n\ttoCategoryLabel(category: unknown): string {\n\t\treturn toLabel(category);\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-theme-dark-dialog-select.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/theme/dark/d-theme-dark-dialog-select.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAKH,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAExE;IACS,0CAAuB;IADhC;;IAuBA,CAAC;IAnBA,yCAAQ,GAAR;QACC,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,0CAAS,GAAT;QACC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,+CAAc,GAAd;QACC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,6CAAY,GAAZ,UAAa,QAAiB;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAED,gDAAe,GAAf,UAAgB,QAAiB;QAChC,OAAO,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IACF,6BAAC;AAAD,CAAC,AAvBD,CACS,uBAAuB,GAsB/B","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DCoordinateSize } from \"../../d-coordinate\";\nimport { DDialogLayeredFooterOptions } from \"../../d-dialog-layered-footer\";\nimport { DThemeDialogSelect } from \"../../d-dialog-select\";\nimport { toId } from \"../../util/to-id\";\nimport { toLabelWith } from \"../../util/to-label-with\";\nimport { DThemeDarkDialogLayered } from \"./d-theme-dark-dialog-layered\";\n\nexport class DThemeDarkDialogSelect<VALUE>\n\textends DThemeDarkDialogLayered\n\timplements DThemeDialogSelect<VALUE>\n{\n\tgetWidth(): DCoordinateSize {\n\t\treturn 480;\n\t}\n\n\tgetFooter(): DDialogLayeredFooterOptions | undefined | null {\n\t\treturn null;\n\t}\n\n\tgetInputMargin(): number {\n\t\treturn 19;\n\t}\n\n\ttoCategoryId(category: unknown): unknown {\n\t\treturn toId(category);\n\t}\n\n\ttoCategoryLabel(category: unknown): string {\n\t\treturn toLabelWith(category, \"All\");\n\t}\n}\n"]}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { __extends } from "tslib";
6
6
  import { toId } from "../../util/to-id";
7
- import { toLabel } from "../../util/to-label";
7
+ import { toLabelWith } from "../../util/to-label-with";
8
8
  import { DThemeWhiteDialogLayered } from "./d-theme-white-dialog-layered";
9
9
  var DThemeWhiteDialogSelect = /** @class */ (function (_super) {
10
10
  __extends(DThemeWhiteDialogSelect, _super);
@@ -24,7 +24,7 @@ var DThemeWhiteDialogSelect = /** @class */ (function (_super) {
24
24
  return toId(category);
25
25
  };
26
26
  DThemeWhiteDialogSelect.prototype.toCategoryLabel = function (category) {
27
- return toLabel(category);
27
+ return toLabelWith(category, "All");
28
28
  };
29
29
  return DThemeWhiteDialogSelect;
30
30
  }(DThemeWhiteDialogLayered));
@@ -1 +1 @@
1
- {"version":3,"file":"d-theme-white-dialog-select.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/theme/white/d-theme-white-dialog-select.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAKH,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;IACS,2CAAwB;IADjC;;IAuBA,CAAC;IAnBA,0CAAQ,GAAR;QACC,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,2CAAS,GAAT;QACC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,gDAAc,GAAd;QACC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,8CAAY,GAAZ,UAAa,QAAiB;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAED,iDAAe,GAAf,UAAgB,QAAiB;QAChC,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IACF,8BAAC;AAAD,CAAC,AAvBD,CACS,wBAAwB,GAsBhC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DCoordinateSize } from \"../../d-coordinate\";\nimport { DDialogLayeredFooterOptions } from \"../../d-dialog-layered-footer\";\nimport { DThemeDialogSelect } from \"../../d-dialog-select\";\nimport { toId } from \"../../util/to-id\";\nimport { toLabel } from \"../../util/to-label\";\nimport { DThemeWhiteDialogLayered } from \"./d-theme-white-dialog-layered\";\n\nexport class DThemeWhiteDialogSelect<VALUE>\n\textends DThemeWhiteDialogLayered\n\timplements DThemeDialogSelect<VALUE>\n{\n\tgetWidth(): DCoordinateSize {\n\t\treturn 480;\n\t}\n\n\tgetFooter(): DDialogLayeredFooterOptions | undefined | null {\n\t\treturn null;\n\t}\n\n\tgetInputMargin(): number {\n\t\treturn 19;\n\t}\n\n\ttoCategoryId(category: unknown): unknown {\n\t\treturn toId(category);\n\t}\n\n\ttoCategoryLabel(category: unknown): string {\n\t\treturn toLabel(category);\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-theme-white-dialog-select.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/theme/white/d-theme-white-dialog-select.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAKH,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;IACS,2CAAwB;IADjC;;IAuBA,CAAC;IAnBA,0CAAQ,GAAR;QACC,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,2CAAS,GAAT;QACC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,gDAAc,GAAd;QACC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,8CAAY,GAAZ,UAAa,QAAiB;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAED,iDAAe,GAAf,UAAgB,QAAiB;QAChC,OAAO,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IACF,8BAAC;AAAD,CAAC,AAvBD,CACS,wBAAwB,GAsBhC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DCoordinateSize } from \"../../d-coordinate\";\nimport { DDialogLayeredFooterOptions } from \"../../d-dialog-layered-footer\";\nimport { DThemeDialogSelect } from \"../../d-dialog-select\";\nimport { toId } from \"../../util/to-id\";\nimport { toLabelWith } from \"../../util/to-label-with\";\nimport { DThemeWhiteDialogLayered } from \"./d-theme-white-dialog-layered\";\n\nexport class DThemeWhiteDialogSelect<VALUE>\n\textends DThemeWhiteDialogLayered\n\timplements DThemeDialogSelect<VALUE>\n{\n\tgetWidth(): DCoordinateSize {\n\t\treturn 480;\n\t}\n\n\tgetFooter(): DDialogLayeredFooterOptions | undefined | null {\n\t\treturn null;\n\t}\n\n\tgetInputMargin(): number {\n\t\treturn 19;\n\t}\n\n\ttoCategoryId(category: unknown): unknown {\n\t\treturn toId(category);\n\t}\n\n\ttoCategoryLabel(category: unknown): string {\n\t\treturn toLabelWith(category, \"All\");\n\t}\n}\n"]}