@wcardinal/wcardinal-ui 0.395.0 → 0.397.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 (163) hide show
  1. package/dist/types/wcardinal/ui/d-base.d.ts +1 -3
  2. package/dist/types/wcardinal/ui/d-button-base.d.ts +8 -8
  3. package/dist/types/wcardinal/ui/d-button-color-gradient.d.ts +2 -2
  4. package/dist/types/wcardinal/ui/d-button-color.d.ts +2 -2
  5. package/dist/types/wcardinal/ui/d-button-date.d.ts +2 -2
  6. package/dist/types/wcardinal/ui/d-button-datetime.d.ts +2 -2
  7. package/dist/types/wcardinal/ui/d-button-file.d.ts +2 -2
  8. package/dist/types/wcardinal/ui/d-button-link.d.ts +3 -3
  9. package/dist/types/wcardinal/ui/d-button-redo.d.ts +2 -2
  10. package/dist/types/wcardinal/ui/d-button-select.d.ts +2 -2
  11. package/dist/types/wcardinal/ui/d-button-time.d.ts +2 -2
  12. package/dist/types/wcardinal/ui/d-button-undo.d.ts +2 -2
  13. package/dist/types/wcardinal/ui/d-canvas-container.d.ts +3 -3
  14. package/dist/types/wcardinal/ui/d-chart-plot-area-impl.d.ts +3 -3
  15. package/dist/types/wcardinal/ui/d-chart-selection-simple.d.ts +5 -5
  16. package/dist/types/wcardinal/ui/d-diagram-canvas-base.d.ts +0 -1
  17. package/dist/types/wcardinal/ui/d-diagram-canvas.d.ts +13 -13
  18. package/dist/types/wcardinal/ui/d-diagram.d.ts +1 -3
  19. package/dist/types/wcardinal/ui/d-dropdown-base.d.ts +2 -2
  20. package/dist/types/wcardinal/ui/d-expandable-header.d.ts +2 -2
  21. package/dist/types/wcardinal/ui/d-html-element.d.ts +3 -3
  22. package/dist/types/wcardinal/ui/d-link.d.ts +1 -2
  23. package/dist/types/wcardinal/ui/d-list-item.d.ts +4 -4
  24. package/dist/types/wcardinal/ui/d-menu-bar-item.d.ts +2 -2
  25. package/dist/types/wcardinal/ui/d-menu-item-base.d.ts +4 -4
  26. package/dist/types/wcardinal/ui/d-menu-item-check.d.ts +2 -2
  27. package/dist/types/wcardinal/ui/d-menu-item-link.d.ts +3 -3
  28. package/dist/types/wcardinal/ui/d-menu-item-menu.d.ts +2 -2
  29. package/dist/types/wcardinal/ui/d-menu-item-text.d.ts +2 -2
  30. package/dist/types/wcardinal/ui/d-pane.d.ts +2 -2
  31. package/dist/types/wcardinal/ui/d-picker-color-gradient-view.d.ts +2 -2
  32. package/dist/types/wcardinal/ui/d-picker-color-gradient.d.ts +1 -2
  33. package/dist/types/wcardinal/ui/d-picker-color.d.ts +1 -2
  34. package/dist/types/wcardinal/ui/d-scroll-bar-horizontal.d.ts +1 -2
  35. package/dist/types/wcardinal/ui/d-scroll-bar-vertical.d.ts +1 -2
  36. package/dist/types/wcardinal/ui/d-shadow.d.ts +2 -1
  37. package/dist/types/wcardinal/ui/d-slider.d.ts +1 -3
  38. package/dist/types/wcardinal/ui/d-table-body-cell-button.d.ts +5 -5
  39. package/dist/types/wcardinal/ui/d-table-body-cell-check.d.ts +3 -3
  40. package/dist/types/wcardinal/ui/d-table-body-cell-input-tree.d.ts +2 -2
  41. package/dist/types/wcardinal/ui/d-table-body-cell-link.d.ts +3 -3
  42. package/dist/types/wcardinal/ui/d-table-body-cell-select-dialog.d.ts +2 -2
  43. package/dist/types/wcardinal/ui/d-table-body-cell-select-promise.d.ts +2 -2
  44. package/dist/types/wcardinal/ui/d-table-body-cell-tree.d.ts +4 -4
  45. package/dist/types/wcardinal/ui/d-table-body-cell.d.ts +2 -2
  46. package/dist/types/wcardinal/ui/d-table-body.d.ts +2 -3
  47. package/dist/types/wcardinal/ui/d-table-header-cell.d.ts +1 -2
  48. package/dist/types/wcardinal/ui/d-table.d.ts +1 -2
  49. package/dist/types/wcardinal/ui/d-tree-item-button.d.ts +5 -5
  50. package/dist/types/wcardinal/ui/d-tree-item-non-editable.d.ts +2 -2
  51. package/dist/types/wcardinal/ui/d-tree-item-text.d.ts +2 -2
  52. package/dist/types/wcardinal/ui/d-view-gesture-impl.d.ts +2 -2
  53. package/dist/types/wcardinal/ui/d-view-impl.d.ts +5 -5
  54. package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime-base.d.ts +1 -3
  55. package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-layer.d.ts +1 -2
  56. package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-shape.d.ts +1 -2
  57. package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime-misc-html-element-base.d.ts +1 -3
  58. package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime.d.ts +1 -3
  59. package/dist/types/wcardinal/ui/shape/e-shape-runtime-impl.d.ts +1 -3
  60. package/dist/types/wcardinal/ui/shape/e-shape-runtime.d.ts +1 -3
  61. package/dist/types/wcardinal/ui/shape/variant/e-shape-button-runtime.d.ts +2 -2
  62. package/dist/types/wcardinal/ui/util/util-click-outside.d.ts +1 -2
  63. package/dist/types/wcardinal/ui/util/util-gesture-data.d.ts +1 -3
  64. package/dist/types/wcardinal/ui/util/util-gesture-modifiers.d.ts +2 -2
  65. package/dist/types/wcardinal/ui/util/util-gesture.d.ts +1 -2
  66. package/dist/types/wcardinal/ui/util/util-html-element.d.ts +4 -4
  67. package/dist/types/wcardinal/ui/util/util-pointer-event.d.ts +2 -3
  68. package/dist/wcardinal/ui/d-application-layer.js +7 -1
  69. package/dist/wcardinal/ui/d-application-layer.js.map +1 -1
  70. package/dist/wcardinal/ui/d-base.js.map +1 -1
  71. package/dist/wcardinal/ui/d-button-base.js +5 -3
  72. package/dist/wcardinal/ui/d-button-base.js.map +1 -1
  73. package/dist/wcardinal/ui/d-button-color-gradient.js.map +1 -1
  74. package/dist/wcardinal/ui/d-button-color.js.map +1 -1
  75. package/dist/wcardinal/ui/d-button-date.js.map +1 -1
  76. package/dist/wcardinal/ui/d-button-datetime.js.map +1 -1
  77. package/dist/wcardinal/ui/d-button-file.js.map +1 -1
  78. package/dist/wcardinal/ui/d-button-link.js.map +1 -1
  79. package/dist/wcardinal/ui/d-button-redo.js.map +1 -1
  80. package/dist/wcardinal/ui/d-button-select.js.map +1 -1
  81. package/dist/wcardinal/ui/d-button-time.js.map +1 -1
  82. package/dist/wcardinal/ui/d-button-undo.js.map +1 -1
  83. package/dist/wcardinal/ui/d-canvas-container.js.map +1 -1
  84. package/dist/wcardinal/ui/d-chart-plot-area-impl.js.map +1 -1
  85. package/dist/wcardinal/ui/d-chart-selection-simple.js.map +1 -1
  86. package/dist/wcardinal/ui/d-diagram-canvas-base.js +2 -1
  87. package/dist/wcardinal/ui/d-diagram-canvas-base.js.map +1 -1
  88. package/dist/wcardinal/ui/d-diagram-canvas.js.map +1 -1
  89. package/dist/wcardinal/ui/d-diagram.js.map +1 -1
  90. package/dist/wcardinal/ui/d-dropdown-base.js.map +1 -1
  91. package/dist/wcardinal/ui/d-expandable-header.js.map +1 -1
  92. package/dist/wcardinal/ui/d-html-element.js.map +1 -1
  93. package/dist/wcardinal/ui/d-item-updater.js +1 -1
  94. package/dist/wcardinal/ui/d-item-updater.js.map +1 -1
  95. package/dist/wcardinal/ui/d-link.js +1 -2
  96. package/dist/wcardinal/ui/d-link.js.map +1 -1
  97. package/dist/wcardinal/ui/d-list-item.js.map +1 -1
  98. package/dist/wcardinal/ui/d-menu-bar-item.js.map +1 -1
  99. package/dist/wcardinal/ui/d-menu-item-base.js.map +1 -1
  100. package/dist/wcardinal/ui/d-menu-item-check.js.map +1 -1
  101. package/dist/wcardinal/ui/d-menu-item-link.js.map +1 -1
  102. package/dist/wcardinal/ui/d-menu-item-menu.js.map +1 -1
  103. package/dist/wcardinal/ui/d-menu-item-text.js.map +1 -1
  104. package/dist/wcardinal/ui/d-pane.js.map +1 -1
  105. package/dist/wcardinal/ui/d-picker-color-gradient-view.js +7 -4
  106. package/dist/wcardinal/ui/d-picker-color-gradient-view.js.map +1 -1
  107. package/dist/wcardinal/ui/d-picker-color-gradient.js.map +1 -1
  108. package/dist/wcardinal/ui/d-picker-color.js.map +1 -1
  109. package/dist/wcardinal/ui/d-scroll-bar-horizontal.js.map +1 -1
  110. package/dist/wcardinal/ui/d-scroll-bar-vertical.js.map +1 -1
  111. package/dist/wcardinal/ui/d-shadow.js.map +1 -1
  112. package/dist/wcardinal/ui/d-slider.js.map +1 -1
  113. package/dist/wcardinal/ui/d-table-body-cell-button.js.map +1 -1
  114. package/dist/wcardinal/ui/d-table-body-cell-check.js.map +1 -1
  115. package/dist/wcardinal/ui/d-table-body-cell-input-tree.js.map +1 -1
  116. package/dist/wcardinal/ui/d-table-body-cell-link.js.map +1 -1
  117. package/dist/wcardinal/ui/d-table-body-cell-select-dialog.js.map +1 -1
  118. package/dist/wcardinal/ui/d-table-body-cell-select-promise.js.map +1 -1
  119. package/dist/wcardinal/ui/d-table-body-cell-tree.js.map +1 -1
  120. package/dist/wcardinal/ui/d-table-body-cell.js.map +1 -1
  121. package/dist/wcardinal/ui/d-table-body.js +1 -1
  122. package/dist/wcardinal/ui/d-table-body.js.map +1 -1
  123. package/dist/wcardinal/ui/d-table-header-cell.js +1 -2
  124. package/dist/wcardinal/ui/d-table-header-cell.js.map +1 -1
  125. package/dist/wcardinal/ui/d-table.js.map +1 -1
  126. package/dist/wcardinal/ui/d-tree-item-button.js.map +1 -1
  127. package/dist/wcardinal/ui/d-tree-item-non-editable.js.map +1 -1
  128. package/dist/wcardinal/ui/d-tree-item-text.js.map +1 -1
  129. package/dist/wcardinal/ui/d-view-gesture-impl.js.map +1 -1
  130. package/dist/wcardinal/ui/d-view-impl.js.map +1 -1
  131. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-base.js.map +1 -1
  132. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-layer.js +1 -2
  133. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-layer.js.map +1 -1
  134. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-shape.js +1 -2
  135. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-shape.js.map +1 -1
  136. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-misc-html-element-base.js.map +1 -1
  137. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime.js.map +1 -1
  138. package/dist/wcardinal/ui/shape/e-shape-runtime-impl.js.map +1 -1
  139. package/dist/wcardinal/ui/shape/e-shape-runtime.js.map +1 -1
  140. package/dist/wcardinal/ui/shape/variant/e-shape-button-runtime.js.map +1 -1
  141. package/dist/wcardinal/ui/util/util-click-outside.js.map +1 -1
  142. package/dist/wcardinal/ui/util/util-gesture-data.js.map +1 -1
  143. package/dist/wcardinal/ui/util/util-gesture-modifiers.js.map +1 -1
  144. package/dist/wcardinal/ui/util/util-gesture.js.map +1 -1
  145. package/dist/wcardinal/ui/util/util-html-element.js.map +1 -1
  146. package/dist/wcardinal/ui/util/util-pointer-event.js.map +1 -1
  147. package/dist/wcardinal-ui-theme-dark-en-us.js +1 -1
  148. package/dist/wcardinal-ui-theme-dark-en-us.min.js +1 -1
  149. package/dist/wcardinal-ui-theme-dark-ja-jp.js +1 -1
  150. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +1 -1
  151. package/dist/wcardinal-ui-theme-dark.js +1 -1
  152. package/dist/wcardinal-ui-theme-dark.min.js +1 -1
  153. package/dist/wcardinal-ui-theme-white-en-us.js +1 -1
  154. package/dist/wcardinal-ui-theme-white-en-us.min.js +1 -1
  155. package/dist/wcardinal-ui-theme-white-ja-jp.js +1 -1
  156. package/dist/wcardinal-ui-theme-white-ja-jp.min.js +1 -1
  157. package/dist/wcardinal-ui-theme-white.js +1 -1
  158. package/dist/wcardinal-ui-theme-white.min.js +1 -1
  159. package/dist/wcardinal-ui.cjs.js +27 -19
  160. package/dist/wcardinal-ui.js +27 -19
  161. package/dist/wcardinal-ui.min.js +2 -2
  162. package/dist/wcardinal-ui.min.js.map +1 -1
  163. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"d-diagram-canvas.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram-canvas.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, IPoint, Point, Renderer } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport {\n\tDDiagramCanvasBase,\n\tDDiagramCanvasBaseOptions,\n\tDThemeDiagramCanvasBase\n} from \"./d-diagram-canvas-base\";\nimport { EShape } from \"./shape/e-shape\";\nimport { EShapeBase } from \"./shape/variant/e-shape-base\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\nimport { EShapeActionValue } from \"./shape/action/e-shape-action-value\";\nimport { EShapeActionRuntime } from \"./shape/action/e-shape-action-runtime\";\nimport { DDiagramDataMapper } from \"./d-diagram-data-mapper\";\nimport { EShapeRuntimes } from \"./shape/e-shape-runtimes\";\nimport { EShapeRuntime } from \"./shape/e-shape-runtime\";\nimport { EShapeDataValue } from \"./shape/e-shape-data-value\";\nimport { EShapeDataValueType } from \"./shape/e-shape-data-value-type\";\nimport { EShapeContainer } from \"./shape/e-shape-container\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { DDiagramCanvasData } from \"./d-diagram-canvas-data\";\nimport { DDiagramCanvasDataImpl } from \"./d-diagram-canvas-data-impl\";\nimport { DDiagramCanvasShape } from \"./d-diagram-canvas-shape\";\nimport { DDiagramCanvasShapeImpl } from \"./d-diagram-canvas-shape-impl\";\nimport { DDiagramCanvasTicker } from \"./d-diagram-canvas-ticker\";\nimport { DDiagramCanvasTickerImpl } from \"./d-diagram-canvas-ticker-impl\";\nimport { EShapeDataValueScope } from \"./shape/e-shape-data-value-scope\";\nimport { EShapeEmbedded } from \"./shape/variant/e-shape-embedded\";\nimport { EShapeDataValueExtensions } from \"./shape/e-shape-data-value-extensions\";\nimport { EShapeActionEnvironment } from \"./shape/action/e-shape-action-environment\";\nimport { EShapeRuntimeImpl } from \"./shape/e-shape-runtime-impl\";\nimport { EShapeActionRuntimes } from \"./shape/action/e-shape-action-runtimes\";\n\nexport interface DDiagramCanvasOptions<THEME extends DThemeDiagramCanvas = DThemeDiagramCanvas>\n\textends DDiagramCanvasBaseOptions<THEME> {}\n\nexport interface DThemeDiagramCanvas extends DThemeDiagramCanvasBase {}\n\nconst INITIAL_ZERO = \"0\";\n\nconst INITIAL_ARRAY = \"[]\";\n\nconst INITIAL_STRING = '\"\"';\n\nconst INITIAL_OBJECT = \"{}\";\n\nconst INITIAL_FALSE = \"false\";\n\nconst INITIALIZER_ZERO = () => {\n\treturn 0;\n};\n\nconst INITIALIZER_ARRAY = () => {\n\treturn [];\n};\n\nconst INITIALIZER_STRING = () => {\n\treturn \"\";\n};\n\nconst INITIALIZER_OBJECT = () => {\n\treturn {};\n};\n\nconst INITIALIZER_FALSE = () => {\n\treturn false;\n};\n\nexport class DDiagramCanvas<\n\tTHEME extends DThemeDiagramCanvas = DThemeDiagramCanvas,\n\tOPTIONS extends DDiagramCanvasOptions<THEME> = DDiagramCanvasOptions<THEME>\n> extends DDiagramCanvasBase<THEME, OPTIONS> {\n\tprotected static WORK_DBLCLICK?: Point;\n\n\tprotected _data: DDiagramCanvasData;\n\tprotected _shape: DDiagramCanvasShape;\n\tprotected _ticker: DDiagramCanvasTicker;\n\tprotected _actionables: EShape[];\n\n\tprotected _overed?: EShape | null;\n\tprotected _downed?: EShape | null;\n\tprotected _downeds: Set<EShape>;\n\n\tprotected _updateBound: () => void;\n\n\tconstructor(options: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._data = new DDiagramCanvasDataImpl();\n\t\tthis._shape = new DDiagramCanvasShapeImpl(this);\n\t\tthis._ticker = new DDiagramCanvasTickerImpl(this);\n\t\tthis._actionables = [];\n\t\tthis._downeds = new Set<EShape>();\n\t\tthis._updateBound = (): void => {\n\t\t\tDApplications.update(this);\n\t\t};\n\t}\n\n\tget data(): DDiagramCanvasData {\n\t\treturn this._data;\n\t}\n\n\tget shape(): DDiagramCanvasShape {\n\t\treturn this._shape;\n\t}\n\n\tget ticker(): DDiagramCanvasTicker {\n\t\treturn this._ticker;\n\t}\n\n\tinitialize(shapes: EShape[], mapper?: DDiagramDataMapper | null): void {\n\t\tconst actionables = this._actionables;\n\t\tconst data = this._data;\n\t\tthis.initialize_(\n\t\t\tshapes,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tmapper,\n\t\t\tnew Map<EShapeDataValueType, Map<string, (value: unknown) => unknown>>(),\n\t\t\tnew Map<EShapeDataValueType, Map<string, () => unknown>>(),\n\t\t\tnew Map<EShapeActionValue, EShapeActionRuntime>(),\n\t\t\tthis._ticker,\n\t\t\tthis._shape,\n\t\t\tdata,\n\t\t\tactionables\n\t\t);\n\t\tconst layers = this._layer.children;\n\t\tconst layersLength = layers.length;\n\t\tfor (let i = 0; i < layersLength; ++i) {\n\t\t\tlayers[i].initialize(actionables);\n\t\t}\n\t\tEShapeActionEnvironment.isInitializing = true;\n\t\tconst time = Date.now();\n\t\tfor (let i = 0; i < layersLength; ++i) {\n\t\t\tlayers[i].update(time);\n\t\t}\n\t\tEShapeActionEnvironment.isInitializing = false;\n\t\tdata.extended.each((id): void => {\n\t\t\tconst extension = EShapeDataValueExtensions.getById(id);\n\t\t\tif (extension) {\n\t\t\t\tconst start = extension.start;\n\t\t\t\tif (start) {\n\t\t\t\t\tstart(this);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tthis._ticker.start();\n\t}\n\n\tprotected initialize_(\n\t\tshapes: EShape[],\n\t\tdataShape: EShape | null,\n\t\tcontainerShape: EShape | null,\n\t\tmapper: DDiagramDataMapper | null | undefined,\n\t\tformatters: Map<EShapeDataValueType, Map<string, (value: unknown) => unknown>>,\n\t\tinitializers: Map<EShapeDataValueType, Map<string, () => unknown>>,\n\t\tactionValueToRuntime: Map<EShapeActionValue, EShapeActionRuntime>,\n\t\tcanvasTicker: DDiagramCanvasTicker,\n\t\tcanvasShape: DDiagramCanvasShape,\n\t\tcanvasData: DDiagramCanvasData,\n\t\tactionables: EShape[]\n\t): void {\n\t\tfor (let i = 0, imax = shapes.length; i < imax; ++i) {\n\t\t\tconst shape = shapes[i];\n\n\t\t\t// ID\n\t\t\tconst id = shape.id;\n\t\t\tif (0 < id.length) {\n\t\t\t\tcanvasShape.add(id, shape);\n\t\t\t}\n\n\t\t\t// Data\n\t\t\tthis.initData(\n\t\t\t\tshape,\n\t\t\t\tdataShape,\n\t\t\t\tcontainerShape,\n\t\t\t\tmapper,\n\t\t\t\tformatters,\n\t\t\t\tinitializers,\n\t\t\t\tcanvasTicker,\n\t\t\t\tcanvasData\n\t\t\t);\n\n\t\t\t// Runtime\n\t\t\tconst runtime = new (EShapeRuntimes[shape.type] || EShapeRuntimeImpl)(shape);\n\t\t\tshape.runtime = runtime;\n\n\t\t\t// Action\n\t\t\tthis.initActions(shape, runtime, actionValueToRuntime);\n\n\t\t\t// Init the runtime\n\t\t\truntime.initialize(shape);\n\n\t\t\t// Shortcut\n\t\t\tconst shortcut = shape.shortcut;\n\t\t\tif (shortcut != null) {\n\t\t\t\tUtilKeyboardEvent.on(shape, shortcut, (e: KeyboardEvent): void => {\n\t\t\t\t\truntime.onClick(shape, e);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Actionables\n\t\t\tif (runtime.isActionable()) {\n\t\t\t\tactionables.push(shape);\n\t\t\t}\n\n\t\t\t// Children\n\t\t\tconst children = shape.children;\n\t\t\tif (0 < children.length) {\n\t\t\t\tlet newDataShape = dataShape;\n\t\t\t\tlet newContainerShape = containerShape;\n\t\t\t\tif (shape instanceof EShapeEmbedded) {\n\t\t\t\t\tif (newDataShape == null) {\n\t\t\t\t\t\tnewDataShape = shape;\n\t\t\t\t\t}\n\t\t\t\t\tnewContainerShape = shape;\n\t\t\t\t}\n\t\t\t\tthis.initialize_(\n\t\t\t\t\tchildren,\n\t\t\t\t\tnewDataShape,\n\t\t\t\t\tnewContainerShape,\n\t\t\t\t\tmapper,\n\t\t\t\t\tformatters,\n\t\t\t\t\tinitializers,\n\t\t\t\t\tactionValueToRuntime,\n\t\t\t\t\tcanvasTicker,\n\t\t\t\t\tcanvasShape,\n\t\t\t\t\tcanvasData,\n\t\t\t\t\tactionables\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected initData(\n\t\tshape: EShape,\n\t\tdataShape: EShape | null,\n\t\tcontainerShape: EShape | null,\n\t\tmapper: DDiagramDataMapper | null | undefined,\n\t\tformatters: Map<EShapeDataValueType, Map<string, (value: unknown) => unknown>>,\n\t\tinitializers: Map<EShapeDataValueType, Map<string, () => unknown>>,\n\t\tcanvasTicker: DDiagramCanvasTicker,\n\t\tcanvasData: DDiagramCanvasData\n\t): void {\n\t\tconst data = shape.data;\n\t\tfor (let i = 0, imax = data.size(); i < imax; ++i) {\n\t\t\tconst value = data.get(i);\n\t\t\tif (value == null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tswitch (value.type) {\n\t\t\t\tcase EShapeDataValueType.BOOLEAN:\n\t\t\t\tcase EShapeDataValueType.BOOLEAN_ARRAY:\n\t\t\t\tcase EShapeDataValueType.NUMBER:\n\t\t\t\tcase EShapeDataValueType.NUMBER_ARRAY:\n\t\t\t\tcase EShapeDataValueType.STRING:\n\t\t\t\tcase EShapeDataValueType.STRING_ARRAY:\n\t\t\t\tcase EShapeDataValueType.OBJECT:\n\t\t\t\tcase EShapeDataValueType.OBJECT_ARRAY:\n\t\t\t\t\tthis.initDataValue(\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tshape,\n\t\t\t\t\t\tdataShape,\n\t\t\t\t\t\tcontainerShape,\n\t\t\t\t\t\tmapper,\n\t\t\t\t\t\tformatters,\n\t\t\t\t\t\tinitializers,\n\t\t\t\t\t\tcanvasData\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase EShapeDataValueType.TICKER:\n\t\t\t\t\tthis.initDataTicker(value, initializers, canvasTicker);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.initDataExtension(value, canvasData);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected initDataValue(\n\t\tvalue: EShapeDataValue,\n\t\tshape: EShape,\n\t\tdataShape: EShape | null,\n\t\tcontainerShape: EShape | null,\n\t\tmapper: DDiagramDataMapper | null | undefined,\n\t\tformatters: Map<EShapeDataValueType, Map<string, (value: unknown) => unknown>>,\n\t\tinitializers: Map<EShapeDataValueType, Map<string, () => unknown>>,\n\t\tcanvasData: DDiagramCanvasData\n\t): void {\n\t\t// Mapping\n\t\tif (value.scope === EShapeDataValueScope.PRIVATE) {\n\t\t\tconst id = value.id;\n\t\t\tif (0 < id.length) {\n\t\t\t\tif (containerShape) {\n\t\t\t\t\tcontainerShape.data.private.add(id, value);\n\t\t\t\t} else {\n\t\t\t\t\tcanvasData.private.add(id, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (value.scope === EShapeDataValueScope.PROTECTED) {\n\t\t\tconst id = value.id;\n\t\t\tif (0 < id.length) {\n\t\t\t\tcanvasData.protected.add(id, value);\n\t\t\t}\n\t\t} else {\n\t\t\tif (mapper) {\n\t\t\t\tmapper(value, dataShape || shape);\n\t\t\t}\n\t\t\tconst id = value.id;\n\t\t\tif (0 < id.length) {\n\t\t\t\tcanvasData.add(id, value);\n\t\t\t}\n\t\t}\n\n\t\t// Format\n\t\tconst format = value.format;\n\t\tconst initial = value.initial;\n\t\tlet formatToFormatter = formatters.get(value.type);\n\t\tif (formatToFormatter == null) {\n\t\t\tformatToFormatter = new Map<string, (value: unknown) => unknown>();\n\t\t\tformatters.set(value.type, formatToFormatter);\n\t\t}\n\t\tconst oldFormatter = formatToFormatter.get(format);\n\t\tif (oldFormatter != null) {\n\t\t\tvalue.formatter = oldFormatter;\n\t\t} else if (0 < format.length) {\n\t\t\tconst newFormatter = this.calcFormatter(value, format, initial);\n\t\t\tformatToFormatter.set(format, newFormatter);\n\t\t\tvalue.formatter = newFormatter;\n\t\t}\n\n\t\t// Initial\n\t\tlet initialToInitializer = initializers.get(value.type);\n\t\tif (initialToInitializer == null) {\n\t\t\tinitialToInitializer = new Map<string, () => unknown>();\n\t\t\tinitializers.set(value.type, initialToInitializer);\n\t\t}\n\t\tconst oldInitializer = initialToInitializer.get(initial);\n\t\tif (oldInitializer != null) {\n\t\t\tvalue.value = oldInitializer();\n\t\t} else {\n\t\t\tconst newInitializer = this.calcInitial(value, initial);\n\t\t\tinitialToInitializer.set(initial, newInitializer);\n\t\t\tvalue.value = newInitializer();\n\t\t}\n\t}\n\n\tprotected initDataTicker(\n\t\tvalue: EShapeDataValue,\n\t\tinitializers: Map<EShapeDataValueType, Map<string, () => unknown>>,\n\t\tcanvasTicker: DDiagramCanvasTicker\n\t): void {\n\t\tconst initial = value.initial;\n\t\tlet initialToInitializer = initializers.get(value.type);\n\t\tif (initialToInitializer == null) {\n\t\t\tinitialToInitializer = new Map<string, () => unknown>();\n\t\t\tinitializers.set(value.type, initialToInitializer);\n\t\t}\n\t\tconst oldInitializer = initialToInitializer.get(initial);\n\t\tif (oldInitializer !== undefined) {\n\t\t\tvalue.value = 0;\n\t\t\tcanvasTicker.add(oldInitializer()).add(value);\n\t\t} else {\n\t\t\tconst newInitializer = this.calcInitial(value, initial);\n\t\t\tinitialToInitializer.set(initial, newInitializer);\n\t\t\tvalue.value = 0;\n\t\t\tcanvasTicker.add(newInitializer()).add(value);\n\t\t}\n\t}\n\n\tprotected initDataExtension(value: EShapeDataValue, canvasData: DDiagramCanvasData): void {\n\t\tconst extension = EShapeDataValueExtensions.get(value.type);\n\t\tif (extension) {\n\t\t\tcanvasData.extended.add(extension.id, value);\n\t\t\tvalue.value = extension.initial;\n\t\t}\n\t}\n\n\tprotected initActions(\n\t\tshape: EShape,\n\t\tshapeRuntime: EShapeRuntime,\n\t\tvalueToRuntime: Map<EShapeActionValue, EShapeActionRuntime>\n\t): void {\n\t\tconst values = shape.action.values;\n\t\tconst runtimes = shapeRuntime.actions;\n\t\tconst typeRuntimes = EShapeActionRuntimes.get(shape.type);\n\t\tif (typeRuntimes != null) {\n\t\t\tfor (let i = 0, imax = typeRuntimes.length; i < imax; ++i) {\n\t\t\t\tconst typeRuntime = typeRuntimes[i];\n\t\t\t\truntimes.push(typeRuntime);\n\t\t\t\tshapeRuntime.reset |= typeRuntime.reset;\n\t\t\t}\n\t\t}\n\t\tfor (let i = 0, imax = values.length; i < imax; ++i) {\n\t\t\tconst value = values[i];\n\t\t\tlet runtime = valueToRuntime.get(value);\n\t\t\tif (runtime == null) {\n\t\t\t\truntime = value.toRuntime();\n\t\t\t\tif (runtime != null) {\n\t\t\t\t\tvalueToRuntime.set(value, runtime);\n\t\t\t\t\truntimes.push(runtime);\n\t\t\t\t\tshapeRuntime.reset |= runtime.reset;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\truntimes.push(runtime);\n\t\t\t\tshapeRuntime.reset |= runtime.reset;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected calcFormatter(\n\t\tvalue: EShapeDataValue,\n\t\tformat: string,\n\t\tinitial: string\n\t): (value: unknown) => unknown {\n\t\tconst def = this.toInitial(value);\n\t\ttry {\n\t\t\treturn Function(\n\t\t\t\t\"value\",\n\t\t\t\t/* eslint-disable prettier/prettier */\n\t\t\t\t`try {` +\n\t\t\t\t\t`return (${format});` +\n\t\t\t\t`} catch( e1 ) {` +\n\t\t\t\t\t`try {` +\n\t\t\t\t\t\t`return (${0 < initial.length ? initial : def});` +\n\t\t\t\t\t`} catch( e2 ) {` +\n\t\t\t\t\t\t`return ${def};` +\n\t\t\t\t\t`}` +\n\t\t\t\t`}`\n\t\t\t\t/* eslint-enable prettier/prettier */\n\t\t\t) as any;\n\t\t} catch (e) {\n\t\t\treturn this.toInitializer(value);\n\t\t}\n\t}\n\n\tprotected calcInitial(value: EShapeDataValue, initial: string): () => unknown {\n\t\tif (initial.length <= 0) {\n\t\t\treturn this.toInitializer(value);\n\t\t}\n\t\ttry {\n\t\t\treturn Function(\n\t\t\t\t/* eslint-disable prettier/prettier */\n\t\t\t\t`try {` +\n\t\t\t\t\t`return (${initial});` +\n\t\t\t\t`} catch( e ) {` +\n\t\t\t\t\t`return ${this.toInitial(value)};` +\n\t\t\t\t`}`\n\t\t\t\t/* eslint-enable prettier/prettier */\n\t\t\t) as any;\n\t\t} catch (e) {\n\t\t\treturn this.toInitializer(value);\n\t\t}\n\t}\n\n\tprotected toInitial(value: EShapeDataValue): string {\n\t\tconst valueType = value.type;\n\t\tswitch (valueType) {\n\t\t\tcase EShapeDataValueType.BOOLEAN:\n\t\t\t\treturn INITIAL_FALSE;\n\t\t\tcase EShapeDataValueType.BOOLEAN_ARRAY:\n\t\t\t\treturn INITIAL_ARRAY;\n\t\t\tcase EShapeDataValueType.NUMBER:\n\t\t\t\treturn INITIAL_ZERO;\n\t\t\tcase EShapeDataValueType.NUMBER_ARRAY:\n\t\t\t\treturn INITIAL_ARRAY;\n\t\t\tcase EShapeDataValueType.STRING:\n\t\t\t\treturn INITIAL_STRING;\n\t\t\tcase EShapeDataValueType.STRING_ARRAY:\n\t\t\t\treturn INITIAL_ARRAY;\n\t\t\tcase EShapeDataValueType.OBJECT:\n\t\t\t\treturn INITIAL_OBJECT;\n\t\t\tcase EShapeDataValueType.OBJECT_ARRAY:\n\t\t\t\treturn INITIAL_ARRAY;\n\t\t\tcase EShapeDataValueType.TICKER:\n\t\t\t\treturn INITIAL_ZERO;\n\t\t\tdefault:\n\t\t\t\treturn INITIAL_ZERO;\n\t\t}\n\t}\n\n\tprotected toInitializer(value: EShapeDataValue): () => unknown {\n\t\tconst valueType = value.type;\n\t\tswitch (valueType) {\n\t\t\tcase EShapeDataValueType.BOOLEAN:\n\t\t\t\treturn INITIALIZER_FALSE;\n\t\t\tcase EShapeDataValueType.BOOLEAN_ARRAY:\n\t\t\t\treturn INITIALIZER_ARRAY;\n\t\t\tcase EShapeDataValueType.NUMBER:\n\t\t\t\treturn INITIALIZER_ZERO;\n\t\t\tcase EShapeDataValueType.NUMBER_ARRAY:\n\t\t\t\treturn INITIALIZER_ARRAY;\n\t\t\tcase EShapeDataValueType.STRING:\n\t\t\t\treturn INITIALIZER_STRING;\n\t\t\tcase EShapeDataValueType.STRING_ARRAY:\n\t\t\t\treturn INITIALIZER_ARRAY;\n\t\t\tcase EShapeDataValueType.OBJECT:\n\t\t\t\treturn INITIALIZER_OBJECT;\n\t\t\tcase EShapeDataValueType.OBJECT_ARRAY:\n\t\t\t\treturn INITIALIZER_ARRAY;\n\t\t\tcase EShapeDataValueType.TICKER:\n\t\t\t\treturn INITIALIZER_ZERO;\n\t\t\tdefault:\n\t\t\t\treturn INITIALIZER_ZERO;\n\t\t}\n\t}\n\n\tprotected onDestroy(): void {\n\t\tthis._data.extended.each((id): void => {\n\t\t\tconst extension = EShapeDataValueExtensions.getById(id);\n\t\t\tif (extension) {\n\t\t\t\tconst stop = extension.stop;\n\t\t\t\tif (stop) {\n\t\t\t\t\tstop(this);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tthis._ticker.stop();\n\t\tsuper.onDestroy();\n\t}\n\n\thitTestInteractives(global: IPoint): 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 result = layer.hitTestInteractives(global);\n\t\t\t\tif (result != null) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tonShapeMove(e: interaction.InteractionEvent): boolean {\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\n\t\t// Cursor\n\t\tthis.cursor = this._cursor = this.toShapeCursor(found);\n\n\t\t// TItle\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst title = this.toShapeTitle(found);\n\t\t\tconst view = layer.view;\n\t\t\tif (view.title !== title) {\n\t\t\t\tview.title = title;\n\t\t\t}\n\t\t}\n\n\t\tconst overed = this._overed;\n\t\tthis._overed = found;\n\t\tif (found === overed) {\n\t\t\tif (found != null) {\n\t\t\t\tconst runtime = found.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onMove(found, e);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthis.onShapeOut(e, overed, found);\n\t\t\tthis.onShapeOver(e, found);\n\t\t}\n\t\treturn found != null;\n\t}\n\n\tprotected toShapeCursor(target: EShape | null): string {\n\t\tif (target != null) {\n\t\t\tlet current = target;\n\t\t\twhile (true) {\n\t\t\t\tconst cursor = current.cursor;\n\t\t\t\tif (cursor != null && 0 < cursor.length) {\n\t\t\t\t\treturn cursor;\n\t\t\t\t}\n\t\t\t\tconst parent = current.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\tcurrent = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn \"auto\";\n\t}\n\n\tprotected toShapeTitle(target: EShape | null): string {\n\t\tif (target != null) {\n\t\t\tlet current = target;\n\t\t\twhile (true) {\n\t\t\t\tconst title = current.title;\n\t\t\t\tif (title != null && 0 < title.length) {\n\t\t\t\t\treturn title;\n\t\t\t\t}\n\t\t\t\tconst parent = current.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\tcurrent = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tprotected onShapeOut(\n\t\te: interaction.InteractionEvent,\n\t\ttarget?: EShape | EShapeContainer | null,\n\t\texcept?: EShape | null\n\t): void {\n\t\twhile (target != null && target !== except && target instanceof EShapeBase) {\n\t\t\tconst runtime = target.runtime;\n\t\t\tif (runtime) {\n\t\t\t\truntime.onOut(target, e);\n\t\t\t}\n\t\t\ttarget = target.parent;\n\t\t}\n\t}\n\n\tprotected onShapeOver(\n\t\te: interaction.InteractionEvent,\n\t\ttarget?: EShape | EShapeContainer | null,\n\t\texcept?: EShape | null\n\t): void {\n\t\twhile (target != null && target !== except && target instanceof EShapeBase) {\n\t\t\tconst runtime = target.runtime;\n\t\t\tif (runtime) {\n\t\t\t\truntime.onOver(target, e);\n\t\t\t}\n\t\t\ttarget = target.parent;\n\t\t}\n\t}\n\n\tonShapeDown(e: interaction.InteractionEvent): boolean {\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tthis._downed = found;\n\t\tif (found) {\n\t\t\tthis._downeds.add(found);\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onDown(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeUp(e: interaction.InteractionEvent): boolean {\n\t\tconst downeds = this._downeds;\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tif (found) {\n\t\t\tdowneds.delete(found);\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onUp(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis.onShapeCancel(e);\n\t\treturn found != null;\n\t}\n\n\tonShapeCancel(e: interaction.InteractionEvent): boolean {\n\t\tconst downeds = this._downeds;\n\t\tif (0 < downeds.size) {\n\t\t\tdowneds.forEach((downed: EShape): void => {\n\t\t\t\tlet target = downed;\n\t\t\t\twhile (true) {\n\t\t\t\t\tconst runtime = target.runtime;\n\t\t\t\t\tif (runtime) {\n\t\t\t\t\t\truntime.onUpOutside(target, e);\n\t\t\t\t\t}\n\t\t\t\t\tconst parent = target.parent;\n\t\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\t\ttarget = parent;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tdowneds.clear();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeClick(e: interaction.InteractionEvent): boolean {\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tif (found && this._downed === found) {\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onClick(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeDblClick(\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: interaction.InteractionManager\n\t): boolean {\n\t\tconst global = (DDiagramCanvas.WORK_DBLCLICK ??= new Point());\n\t\tUtilPointerEvent.toGlobal(e, interactionManager, global);\n\t\tconst found = this.hitTestInteractives(global);\n\t\tif (found) {\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onDblClick(target, e, interactionManager);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeRightClick(e: interaction.InteractionEvent): boolean {\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tif (found && this._downed === found) {\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onRightClick(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeRightDown(e: interaction.InteractionEvent): boolean {\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tthis._downed = found;\n\t\tif (found) {\n\t\t\tthis._downeds.add(found);\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onRightDown(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeRightUp(e: interaction.InteractionEvent): boolean {\n\t\tconst downeds = this._downeds;\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tif (found) {\n\t\t\tdowneds.delete(found);\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onRightUp(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis.onShapeRightCancel(e);\n\t\treturn found != null;\n\t}\n\n\tonShapeRightCancel(e: interaction.InteractionEvent): boolean {\n\t\tconst downeds = this._downeds;\n\t\tif (0 < downeds.size) {\n\t\t\tdowneds.forEach((downed: EShape): void => {\n\t\t\t\tlet target = downed;\n\t\t\t\twhile (true) {\n\t\t\t\t\tconst runtime = target.runtime;\n\t\t\t\t\tif (runtime) {\n\t\t\t\t\t\truntime.onRightUpOutside(target, e);\n\t\t\t\t\t}\n\t\t\t\t\tconst parent = target.parent;\n\t\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\t\ttarget = parent;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tdowneds.clear();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tupdate(): void {\n\t\tconst actionables = this._actionables;\n\t\tif (0 < actionables.length) {\n\t\t\tlet effect = -1;\n\t\t\tconst time = Date.now();\n\t\t\tfor (let i = 0, imax = actionables.length; i < imax; ++i) {\n\t\t\t\tconst actionable = actionables[i];\n\t\t\t\tactionable.update(time);\n\t\t\t\tconst runtime = actionable.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\tconst runtimeEffect = runtime.effect;\n\t\t\t\t\tif (0 <= runtimeEffect && time < runtimeEffect) {\n\t\t\t\t\t\teffect = effect < 0 ? runtimeEffect : Math.min(effect, runtimeEffect);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (0 <= effect) {\n\t\t\t\twindow.setTimeout(this._updateBound, effect - Date.now());\n\t\t\t}\n\t\t}\n\t}\n\n\tonRender(renderer: Renderer): void {\n\t\tconst actionables = this._actionables;\n\t\tif (0 < actionables.length) {\n\t\t\tlet effect = -1;\n\t\t\tconst time = Date.now();\n\t\t\tfor (let i = 0, imax = actionables.length; i < imax; ++i) {\n\t\t\t\tconst actionable = actionables[i];\n\t\t\t\tactionable.onRender(time, renderer);\n\t\t\t\tconst runtime = actionable.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\tconst runtimeEffect = runtime.effect;\n\t\t\t\t\tif (0 <= runtimeEffect && time < runtimeEffect) {\n\t\t\t\t\t\teffect = effect < 0 ? runtimeEffect : Math.min(effect, runtimeEffect);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (0 <= effect) {\n\t\t\t\twindow.setTimeout(this._updateBound, effect - Date.now());\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagramCanvas\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-diagram-canvas.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram-canvas.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, InteractionEvent, InteractionManager, Point, Renderer } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport {\n\tDDiagramCanvasBase,\n\tDDiagramCanvasBaseOptions,\n\tDThemeDiagramCanvasBase\n} from \"./d-diagram-canvas-base\";\nimport { EShape } from \"./shape/e-shape\";\nimport { EShapeBase } from \"./shape/variant/e-shape-base\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\nimport { EShapeActionValue } from \"./shape/action/e-shape-action-value\";\nimport { EShapeActionRuntime } from \"./shape/action/e-shape-action-runtime\";\nimport { DDiagramDataMapper } from \"./d-diagram-data-mapper\";\nimport { EShapeRuntimes } from \"./shape/e-shape-runtimes\";\nimport { EShapeRuntime } from \"./shape/e-shape-runtime\";\nimport { EShapeDataValue } from \"./shape/e-shape-data-value\";\nimport { EShapeDataValueType } from \"./shape/e-shape-data-value-type\";\nimport { EShapeContainer } from \"./shape/e-shape-container\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { DDiagramCanvasData } from \"./d-diagram-canvas-data\";\nimport { DDiagramCanvasDataImpl } from \"./d-diagram-canvas-data-impl\";\nimport { DDiagramCanvasShape } from \"./d-diagram-canvas-shape\";\nimport { DDiagramCanvasShapeImpl } from \"./d-diagram-canvas-shape-impl\";\nimport { DDiagramCanvasTicker } from \"./d-diagram-canvas-ticker\";\nimport { DDiagramCanvasTickerImpl } from \"./d-diagram-canvas-ticker-impl\";\nimport { EShapeDataValueScope } from \"./shape/e-shape-data-value-scope\";\nimport { EShapeEmbedded } from \"./shape/variant/e-shape-embedded\";\nimport { EShapeDataValueExtensions } from \"./shape/e-shape-data-value-extensions\";\nimport { EShapeActionEnvironment } from \"./shape/action/e-shape-action-environment\";\nimport { EShapeRuntimeImpl } from \"./shape/e-shape-runtime-impl\";\nimport { EShapeActionRuntimes } from \"./shape/action/e-shape-action-runtimes\";\n\nexport interface DDiagramCanvasOptions<THEME extends DThemeDiagramCanvas = DThemeDiagramCanvas>\n\textends DDiagramCanvasBaseOptions<THEME> {}\n\nexport interface DThemeDiagramCanvas extends DThemeDiagramCanvasBase {}\n\nconst INITIAL_ZERO = \"0\";\n\nconst INITIAL_ARRAY = \"[]\";\n\nconst INITIAL_STRING = '\"\"';\n\nconst INITIAL_OBJECT = \"{}\";\n\nconst INITIAL_FALSE = \"false\";\n\nconst INITIALIZER_ZERO = () => {\n\treturn 0;\n};\n\nconst INITIALIZER_ARRAY = () => {\n\treturn [];\n};\n\nconst INITIALIZER_STRING = () => {\n\treturn \"\";\n};\n\nconst INITIALIZER_OBJECT = () => {\n\treturn {};\n};\n\nconst INITIALIZER_FALSE = () => {\n\treturn false;\n};\n\nexport class DDiagramCanvas<\n\tTHEME extends DThemeDiagramCanvas = DThemeDiagramCanvas,\n\tOPTIONS extends DDiagramCanvasOptions<THEME> = DDiagramCanvasOptions<THEME>\n> extends DDiagramCanvasBase<THEME, OPTIONS> {\n\tprotected static WORK_DBLCLICK?: Point;\n\n\tprotected _data: DDiagramCanvasData;\n\tprotected _shape: DDiagramCanvasShape;\n\tprotected _ticker: DDiagramCanvasTicker;\n\tprotected _actionables: EShape[];\n\n\tprotected _overed?: EShape | null;\n\tprotected _downed?: EShape | null;\n\tprotected _downeds: Set<EShape>;\n\n\tprotected _updateBound: () => void;\n\n\tconstructor(options: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._data = new DDiagramCanvasDataImpl();\n\t\tthis._shape = new DDiagramCanvasShapeImpl(this);\n\t\tthis._ticker = new DDiagramCanvasTickerImpl(this);\n\t\tthis._actionables = [];\n\t\tthis._downeds = new Set<EShape>();\n\t\tthis._updateBound = (): void => {\n\t\t\tDApplications.update(this);\n\t\t};\n\t}\n\n\tget data(): DDiagramCanvasData {\n\t\treturn this._data;\n\t}\n\n\tget shape(): DDiagramCanvasShape {\n\t\treturn this._shape;\n\t}\n\n\tget ticker(): DDiagramCanvasTicker {\n\t\treturn this._ticker;\n\t}\n\n\tinitialize(shapes: EShape[], mapper?: DDiagramDataMapper | null): void {\n\t\tconst actionables = this._actionables;\n\t\tconst data = this._data;\n\t\tthis.initialize_(\n\t\t\tshapes,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tmapper,\n\t\t\tnew Map<EShapeDataValueType, Map<string, (value: unknown) => unknown>>(),\n\t\t\tnew Map<EShapeDataValueType, Map<string, () => unknown>>(),\n\t\t\tnew Map<EShapeActionValue, EShapeActionRuntime>(),\n\t\t\tthis._ticker,\n\t\t\tthis._shape,\n\t\t\tdata,\n\t\t\tactionables\n\t\t);\n\t\tconst layers = this._layer.children;\n\t\tconst layersLength = layers.length;\n\t\tfor (let i = 0; i < layersLength; ++i) {\n\t\t\tlayers[i].initialize(actionables);\n\t\t}\n\t\tEShapeActionEnvironment.isInitializing = true;\n\t\tconst time = Date.now();\n\t\tfor (let i = 0; i < layersLength; ++i) {\n\t\t\tlayers[i].update(time);\n\t\t}\n\t\tEShapeActionEnvironment.isInitializing = false;\n\t\tdata.extended.each((id): void => {\n\t\t\tconst extension = EShapeDataValueExtensions.getById(id);\n\t\t\tif (extension) {\n\t\t\t\tconst start = extension.start;\n\t\t\t\tif (start) {\n\t\t\t\t\tstart(this);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tthis._ticker.start();\n\t}\n\n\tprotected initialize_(\n\t\tshapes: EShape[],\n\t\tdataShape: EShape | null,\n\t\tcontainerShape: EShape | null,\n\t\tmapper: DDiagramDataMapper | null | undefined,\n\t\tformatters: Map<EShapeDataValueType, Map<string, (value: unknown) => unknown>>,\n\t\tinitializers: Map<EShapeDataValueType, Map<string, () => unknown>>,\n\t\tactionValueToRuntime: Map<EShapeActionValue, EShapeActionRuntime>,\n\t\tcanvasTicker: DDiagramCanvasTicker,\n\t\tcanvasShape: DDiagramCanvasShape,\n\t\tcanvasData: DDiagramCanvasData,\n\t\tactionables: EShape[]\n\t): void {\n\t\tfor (let i = 0, imax = shapes.length; i < imax; ++i) {\n\t\t\tconst shape = shapes[i];\n\n\t\t\t// ID\n\t\t\tconst id = shape.id;\n\t\t\tif (0 < id.length) {\n\t\t\t\tcanvasShape.add(id, shape);\n\t\t\t}\n\n\t\t\t// Data\n\t\t\tthis.initData(\n\t\t\t\tshape,\n\t\t\t\tdataShape,\n\t\t\t\tcontainerShape,\n\t\t\t\tmapper,\n\t\t\t\tformatters,\n\t\t\t\tinitializers,\n\t\t\t\tcanvasTicker,\n\t\t\t\tcanvasData\n\t\t\t);\n\n\t\t\t// Runtime\n\t\t\tconst runtime = new (EShapeRuntimes[shape.type] || EShapeRuntimeImpl)(shape);\n\t\t\tshape.runtime = runtime;\n\n\t\t\t// Action\n\t\t\tthis.initActions(shape, runtime, actionValueToRuntime);\n\n\t\t\t// Init the runtime\n\t\t\truntime.initialize(shape);\n\n\t\t\t// Shortcut\n\t\t\tconst shortcut = shape.shortcut;\n\t\t\tif (shortcut != null) {\n\t\t\t\tUtilKeyboardEvent.on(shape, shortcut, (e: KeyboardEvent): void => {\n\t\t\t\t\truntime.onClick(shape, e);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Actionables\n\t\t\tif (runtime.isActionable()) {\n\t\t\t\tactionables.push(shape);\n\t\t\t}\n\n\t\t\t// Children\n\t\t\tconst children = shape.children;\n\t\t\tif (0 < children.length) {\n\t\t\t\tlet newDataShape = dataShape;\n\t\t\t\tlet newContainerShape = containerShape;\n\t\t\t\tif (shape instanceof EShapeEmbedded) {\n\t\t\t\t\tif (newDataShape == null) {\n\t\t\t\t\t\tnewDataShape = shape;\n\t\t\t\t\t}\n\t\t\t\t\tnewContainerShape = shape;\n\t\t\t\t}\n\t\t\t\tthis.initialize_(\n\t\t\t\t\tchildren,\n\t\t\t\t\tnewDataShape,\n\t\t\t\t\tnewContainerShape,\n\t\t\t\t\tmapper,\n\t\t\t\t\tformatters,\n\t\t\t\t\tinitializers,\n\t\t\t\t\tactionValueToRuntime,\n\t\t\t\t\tcanvasTicker,\n\t\t\t\t\tcanvasShape,\n\t\t\t\t\tcanvasData,\n\t\t\t\t\tactionables\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected initData(\n\t\tshape: EShape,\n\t\tdataShape: EShape | null,\n\t\tcontainerShape: EShape | null,\n\t\tmapper: DDiagramDataMapper | null | undefined,\n\t\tformatters: Map<EShapeDataValueType, Map<string, (value: unknown) => unknown>>,\n\t\tinitializers: Map<EShapeDataValueType, Map<string, () => unknown>>,\n\t\tcanvasTicker: DDiagramCanvasTicker,\n\t\tcanvasData: DDiagramCanvasData\n\t): void {\n\t\tconst data = shape.data;\n\t\tfor (let i = 0, imax = data.size(); i < imax; ++i) {\n\t\t\tconst value = data.get(i);\n\t\t\tif (value == null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tswitch (value.type) {\n\t\t\t\tcase EShapeDataValueType.BOOLEAN:\n\t\t\t\tcase EShapeDataValueType.BOOLEAN_ARRAY:\n\t\t\t\tcase EShapeDataValueType.NUMBER:\n\t\t\t\tcase EShapeDataValueType.NUMBER_ARRAY:\n\t\t\t\tcase EShapeDataValueType.STRING:\n\t\t\t\tcase EShapeDataValueType.STRING_ARRAY:\n\t\t\t\tcase EShapeDataValueType.OBJECT:\n\t\t\t\tcase EShapeDataValueType.OBJECT_ARRAY:\n\t\t\t\t\tthis.initDataValue(\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tshape,\n\t\t\t\t\t\tdataShape,\n\t\t\t\t\t\tcontainerShape,\n\t\t\t\t\t\tmapper,\n\t\t\t\t\t\tformatters,\n\t\t\t\t\t\tinitializers,\n\t\t\t\t\t\tcanvasData\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase EShapeDataValueType.TICKER:\n\t\t\t\t\tthis.initDataTicker(value, initializers, canvasTicker);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.initDataExtension(value, canvasData);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected initDataValue(\n\t\tvalue: EShapeDataValue,\n\t\tshape: EShape,\n\t\tdataShape: EShape | null,\n\t\tcontainerShape: EShape | null,\n\t\tmapper: DDiagramDataMapper | null | undefined,\n\t\tformatters: Map<EShapeDataValueType, Map<string, (value: unknown) => unknown>>,\n\t\tinitializers: Map<EShapeDataValueType, Map<string, () => unknown>>,\n\t\tcanvasData: DDiagramCanvasData\n\t): void {\n\t\t// Mapping\n\t\tif (value.scope === EShapeDataValueScope.PRIVATE) {\n\t\t\tconst id = value.id;\n\t\t\tif (0 < id.length) {\n\t\t\t\tif (containerShape) {\n\t\t\t\t\tcontainerShape.data.private.add(id, value);\n\t\t\t\t} else {\n\t\t\t\t\tcanvasData.private.add(id, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (value.scope === EShapeDataValueScope.PROTECTED) {\n\t\t\tconst id = value.id;\n\t\t\tif (0 < id.length) {\n\t\t\t\tcanvasData.protected.add(id, value);\n\t\t\t}\n\t\t} else {\n\t\t\tif (mapper) {\n\t\t\t\tmapper(value, dataShape || shape);\n\t\t\t}\n\t\t\tconst id = value.id;\n\t\t\tif (0 < id.length) {\n\t\t\t\tcanvasData.add(id, value);\n\t\t\t}\n\t\t}\n\n\t\t// Format\n\t\tconst format = value.format;\n\t\tconst initial = value.initial;\n\t\tlet formatToFormatter = formatters.get(value.type);\n\t\tif (formatToFormatter == null) {\n\t\t\tformatToFormatter = new Map<string, (value: unknown) => unknown>();\n\t\t\tformatters.set(value.type, formatToFormatter);\n\t\t}\n\t\tconst oldFormatter = formatToFormatter.get(format);\n\t\tif (oldFormatter != null) {\n\t\t\tvalue.formatter = oldFormatter;\n\t\t} else if (0 < format.length) {\n\t\t\tconst newFormatter = this.calcFormatter(value, format, initial);\n\t\t\tformatToFormatter.set(format, newFormatter);\n\t\t\tvalue.formatter = newFormatter;\n\t\t}\n\n\t\t// Initial\n\t\tlet initialToInitializer = initializers.get(value.type);\n\t\tif (initialToInitializer == null) {\n\t\t\tinitialToInitializer = new Map<string, () => unknown>();\n\t\t\tinitializers.set(value.type, initialToInitializer);\n\t\t}\n\t\tconst oldInitializer = initialToInitializer.get(initial);\n\t\tif (oldInitializer != null) {\n\t\t\tvalue.value = oldInitializer();\n\t\t} else {\n\t\t\tconst newInitializer = this.calcInitial(value, initial);\n\t\t\tinitialToInitializer.set(initial, newInitializer);\n\t\t\tvalue.value = newInitializer();\n\t\t}\n\t}\n\n\tprotected initDataTicker(\n\t\tvalue: EShapeDataValue,\n\t\tinitializers: Map<EShapeDataValueType, Map<string, () => unknown>>,\n\t\tcanvasTicker: DDiagramCanvasTicker\n\t): void {\n\t\tconst initial = value.initial;\n\t\tlet initialToInitializer = initializers.get(value.type);\n\t\tif (initialToInitializer == null) {\n\t\t\tinitialToInitializer = new Map<string, () => unknown>();\n\t\t\tinitializers.set(value.type, initialToInitializer);\n\t\t}\n\t\tconst oldInitializer = initialToInitializer.get(initial);\n\t\tif (oldInitializer !== undefined) {\n\t\t\tvalue.value = 0;\n\t\t\tcanvasTicker.add(oldInitializer()).add(value);\n\t\t} else {\n\t\t\tconst newInitializer = this.calcInitial(value, initial);\n\t\t\tinitialToInitializer.set(initial, newInitializer);\n\t\t\tvalue.value = 0;\n\t\t\tcanvasTicker.add(newInitializer()).add(value);\n\t\t}\n\t}\n\n\tprotected initDataExtension(value: EShapeDataValue, canvasData: DDiagramCanvasData): void {\n\t\tconst extension = EShapeDataValueExtensions.get(value.type);\n\t\tif (extension) {\n\t\t\tcanvasData.extended.add(extension.id, value);\n\t\t\tvalue.value = extension.initial;\n\t\t}\n\t}\n\n\tprotected initActions(\n\t\tshape: EShape,\n\t\tshapeRuntime: EShapeRuntime,\n\t\tvalueToRuntime: Map<EShapeActionValue, EShapeActionRuntime>\n\t): void {\n\t\tconst values = shape.action.values;\n\t\tconst runtimes = shapeRuntime.actions;\n\t\tconst typeRuntimes = EShapeActionRuntimes.get(shape.type);\n\t\tif (typeRuntimes != null) {\n\t\t\tfor (let i = 0, imax = typeRuntimes.length; i < imax; ++i) {\n\t\t\t\tconst typeRuntime = typeRuntimes[i];\n\t\t\t\truntimes.push(typeRuntime);\n\t\t\t\tshapeRuntime.reset |= typeRuntime.reset;\n\t\t\t}\n\t\t}\n\t\tfor (let i = 0, imax = values.length; i < imax; ++i) {\n\t\t\tconst value = values[i];\n\t\t\tlet runtime = valueToRuntime.get(value);\n\t\t\tif (runtime == null) {\n\t\t\t\truntime = value.toRuntime();\n\t\t\t\tif (runtime != null) {\n\t\t\t\t\tvalueToRuntime.set(value, runtime);\n\t\t\t\t\truntimes.push(runtime);\n\t\t\t\t\tshapeRuntime.reset |= runtime.reset;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\truntimes.push(runtime);\n\t\t\t\tshapeRuntime.reset |= runtime.reset;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected calcFormatter(\n\t\tvalue: EShapeDataValue,\n\t\tformat: string,\n\t\tinitial: string\n\t): (value: unknown) => unknown {\n\t\tconst def = this.toInitial(value);\n\t\ttry {\n\t\t\treturn Function(\n\t\t\t\t\"value\",\n\t\t\t\t/* eslint-disable prettier/prettier */\n\t\t\t\t`try {` +\n\t\t\t\t\t`return (${format});` +\n\t\t\t\t`} catch( e1 ) {` +\n\t\t\t\t\t`try {` +\n\t\t\t\t\t\t`return (${0 < initial.length ? initial : def});` +\n\t\t\t\t\t`} catch( e2 ) {` +\n\t\t\t\t\t\t`return ${def};` +\n\t\t\t\t\t`}` +\n\t\t\t\t`}`\n\t\t\t\t/* eslint-enable prettier/prettier */\n\t\t\t) as any;\n\t\t} catch (e) {\n\t\t\treturn this.toInitializer(value);\n\t\t}\n\t}\n\n\tprotected calcInitial(value: EShapeDataValue, initial: string): () => unknown {\n\t\tif (initial.length <= 0) {\n\t\t\treturn this.toInitializer(value);\n\t\t}\n\t\ttry {\n\t\t\treturn Function(\n\t\t\t\t/* eslint-disable prettier/prettier */\n\t\t\t\t`try {` +\n\t\t\t\t\t`return (${initial});` +\n\t\t\t\t`} catch( e ) {` +\n\t\t\t\t\t`return ${this.toInitial(value)};` +\n\t\t\t\t`}`\n\t\t\t\t/* eslint-enable prettier/prettier */\n\t\t\t) as any;\n\t\t} catch (e) {\n\t\t\treturn this.toInitializer(value);\n\t\t}\n\t}\n\n\tprotected toInitial(value: EShapeDataValue): string {\n\t\tconst valueType = value.type;\n\t\tswitch (valueType) {\n\t\t\tcase EShapeDataValueType.BOOLEAN:\n\t\t\t\treturn INITIAL_FALSE;\n\t\t\tcase EShapeDataValueType.BOOLEAN_ARRAY:\n\t\t\t\treturn INITIAL_ARRAY;\n\t\t\tcase EShapeDataValueType.NUMBER:\n\t\t\t\treturn INITIAL_ZERO;\n\t\t\tcase EShapeDataValueType.NUMBER_ARRAY:\n\t\t\t\treturn INITIAL_ARRAY;\n\t\t\tcase EShapeDataValueType.STRING:\n\t\t\t\treturn INITIAL_STRING;\n\t\t\tcase EShapeDataValueType.STRING_ARRAY:\n\t\t\t\treturn INITIAL_ARRAY;\n\t\t\tcase EShapeDataValueType.OBJECT:\n\t\t\t\treturn INITIAL_OBJECT;\n\t\t\tcase EShapeDataValueType.OBJECT_ARRAY:\n\t\t\t\treturn INITIAL_ARRAY;\n\t\t\tcase EShapeDataValueType.TICKER:\n\t\t\t\treturn INITIAL_ZERO;\n\t\t\tdefault:\n\t\t\t\treturn INITIAL_ZERO;\n\t\t}\n\t}\n\n\tprotected toInitializer(value: EShapeDataValue): () => unknown {\n\t\tconst valueType = value.type;\n\t\tswitch (valueType) {\n\t\t\tcase EShapeDataValueType.BOOLEAN:\n\t\t\t\treturn INITIALIZER_FALSE;\n\t\t\tcase EShapeDataValueType.BOOLEAN_ARRAY:\n\t\t\t\treturn INITIALIZER_ARRAY;\n\t\t\tcase EShapeDataValueType.NUMBER:\n\t\t\t\treturn INITIALIZER_ZERO;\n\t\t\tcase EShapeDataValueType.NUMBER_ARRAY:\n\t\t\t\treturn INITIALIZER_ARRAY;\n\t\t\tcase EShapeDataValueType.STRING:\n\t\t\t\treturn INITIALIZER_STRING;\n\t\t\tcase EShapeDataValueType.STRING_ARRAY:\n\t\t\t\treturn INITIALIZER_ARRAY;\n\t\t\tcase EShapeDataValueType.OBJECT:\n\t\t\t\treturn INITIALIZER_OBJECT;\n\t\t\tcase EShapeDataValueType.OBJECT_ARRAY:\n\t\t\t\treturn INITIALIZER_ARRAY;\n\t\t\tcase EShapeDataValueType.TICKER:\n\t\t\t\treturn INITIALIZER_ZERO;\n\t\t\tdefault:\n\t\t\t\treturn INITIALIZER_ZERO;\n\t\t}\n\t}\n\n\tprotected onDestroy(): void {\n\t\tthis._data.extended.each((id): void => {\n\t\t\tconst extension = EShapeDataValueExtensions.getById(id);\n\t\t\tif (extension) {\n\t\t\t\tconst stop = extension.stop;\n\t\t\t\tif (stop) {\n\t\t\t\t\tstop(this);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tthis._ticker.stop();\n\t\tsuper.onDestroy();\n\t}\n\n\thitTestInteractives(global: IPoint): 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 result = layer.hitTestInteractives(global);\n\t\t\t\tif (result != null) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tonShapeMove(e: InteractionEvent): boolean {\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\n\t\t// Cursor\n\t\tthis.cursor = this._cursor = this.toShapeCursor(found);\n\n\t\t// TItle\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst title = this.toShapeTitle(found);\n\t\t\tconst view = layer.view;\n\t\t\tif (view.title !== title) {\n\t\t\t\tview.title = title;\n\t\t\t}\n\t\t}\n\n\t\tconst overed = this._overed;\n\t\tthis._overed = found;\n\t\tif (found === overed) {\n\t\t\tif (found != null) {\n\t\t\t\tconst runtime = found.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onMove(found, e);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthis.onShapeOut(e, overed, found);\n\t\t\tthis.onShapeOver(e, found);\n\t\t}\n\t\treturn found != null;\n\t}\n\n\tprotected toShapeCursor(target: EShape | null): string {\n\t\tif (target != null) {\n\t\t\tlet current = target;\n\t\t\twhile (true) {\n\t\t\t\tconst cursor = current.cursor;\n\t\t\t\tif (cursor != null && 0 < cursor.length) {\n\t\t\t\t\treturn cursor;\n\t\t\t\t}\n\t\t\t\tconst parent = current.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\tcurrent = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn \"auto\";\n\t}\n\n\tprotected toShapeTitle(target: EShape | null): string {\n\t\tif (target != null) {\n\t\t\tlet current = target;\n\t\t\twhile (true) {\n\t\t\t\tconst title = current.title;\n\t\t\t\tif (title != null && 0 < title.length) {\n\t\t\t\t\treturn title;\n\t\t\t\t}\n\t\t\t\tconst parent = current.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\tcurrent = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tprotected onShapeOut(\n\t\te: InteractionEvent,\n\t\ttarget?: EShape | EShapeContainer | null,\n\t\texcept?: EShape | null\n\t): void {\n\t\twhile (target != null && target !== except && target instanceof EShapeBase) {\n\t\t\tconst runtime = target.runtime;\n\t\t\tif (runtime) {\n\t\t\t\truntime.onOut(target, e);\n\t\t\t}\n\t\t\ttarget = target.parent;\n\t\t}\n\t}\n\n\tprotected onShapeOver(\n\t\te: InteractionEvent,\n\t\ttarget?: EShape | EShapeContainer | null,\n\t\texcept?: EShape | null\n\t): void {\n\t\twhile (target != null && target !== except && target instanceof EShapeBase) {\n\t\t\tconst runtime = target.runtime;\n\t\t\tif (runtime) {\n\t\t\t\truntime.onOver(target, e);\n\t\t\t}\n\t\t\ttarget = target.parent;\n\t\t}\n\t}\n\n\tonShapeDown(e: InteractionEvent): boolean {\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tthis._downed = found;\n\t\tif (found) {\n\t\t\tthis._downeds.add(found);\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onDown(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeUp(e: InteractionEvent): boolean {\n\t\tconst downeds = this._downeds;\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tif (found) {\n\t\t\tdowneds.delete(found);\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onUp(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis.onShapeCancel(e);\n\t\treturn found != null;\n\t}\n\n\tonShapeCancel(e: InteractionEvent): boolean {\n\t\tconst downeds = this._downeds;\n\t\tif (0 < downeds.size) {\n\t\t\tdowneds.forEach((downed: EShape): void => {\n\t\t\t\tlet target = downed;\n\t\t\t\twhile (true) {\n\t\t\t\t\tconst runtime = target.runtime;\n\t\t\t\t\tif (runtime) {\n\t\t\t\t\t\truntime.onUpOutside(target, e);\n\t\t\t\t\t}\n\t\t\t\t\tconst parent = target.parent;\n\t\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\t\ttarget = parent;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tdowneds.clear();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeClick(e: InteractionEvent): boolean {\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tif (found && this._downed === found) {\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onClick(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeDblClick(e: MouseEvent | TouchEvent, interactionManager: InteractionManager): boolean {\n\t\tconst global = (DDiagramCanvas.WORK_DBLCLICK ??= new Point());\n\t\tUtilPointerEvent.toGlobal(e, interactionManager, global);\n\t\tconst found = this.hitTestInteractives(global);\n\t\tif (found) {\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onDblClick(target, e, interactionManager);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeRightClick(e: InteractionEvent): boolean {\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tif (found && this._downed === found) {\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onRightClick(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeRightDown(e: InteractionEvent): boolean {\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tthis._downed = found;\n\t\tif (found) {\n\t\t\tthis._downeds.add(found);\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onRightDown(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeRightUp(e: InteractionEvent): boolean {\n\t\tconst downeds = this._downeds;\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tif (found) {\n\t\t\tdowneds.delete(found);\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onRightUp(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis.onShapeRightCancel(e);\n\t\treturn found != null;\n\t}\n\n\tonShapeRightCancel(e: InteractionEvent): boolean {\n\t\tconst downeds = this._downeds;\n\t\tif (0 < downeds.size) {\n\t\t\tdowneds.forEach((downed: EShape): void => {\n\t\t\t\tlet target = downed;\n\t\t\t\twhile (true) {\n\t\t\t\t\tconst runtime = target.runtime;\n\t\t\t\t\tif (runtime) {\n\t\t\t\t\t\truntime.onRightUpOutside(target, e);\n\t\t\t\t\t}\n\t\t\t\t\tconst parent = target.parent;\n\t\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\t\ttarget = parent;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tdowneds.clear();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tupdate(): void {\n\t\tconst actionables = this._actionables;\n\t\tif (0 < actionables.length) {\n\t\t\tlet effect = -1;\n\t\t\tconst time = Date.now();\n\t\t\tfor (let i = 0, imax = actionables.length; i < imax; ++i) {\n\t\t\t\tconst actionable = actionables[i];\n\t\t\t\tactionable.update(time);\n\t\t\t\tconst runtime = actionable.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\tconst runtimeEffect = runtime.effect;\n\t\t\t\t\tif (0 <= runtimeEffect && time < runtimeEffect) {\n\t\t\t\t\t\teffect = effect < 0 ? runtimeEffect : Math.min(effect, runtimeEffect);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (0 <= effect) {\n\t\t\t\twindow.setTimeout(this._updateBound, effect - Date.now());\n\t\t\t}\n\t\t}\n\t}\n\n\tonRender(renderer: Renderer): void {\n\t\tconst actionables = this._actionables;\n\t\tif (0 < actionables.length) {\n\t\t\tlet effect = -1;\n\t\t\tconst time = Date.now();\n\t\t\tfor (let i = 0, imax = actionables.length; i < imax; ++i) {\n\t\t\t\tconst actionable = actionables[i];\n\t\t\t\tactionable.onRender(time, renderer);\n\t\t\t\tconst runtime = actionable.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\tconst runtimeEffect = runtime.effect;\n\t\t\t\t\tif (0 <= runtimeEffect && time < runtimeEffect) {\n\t\t\t\t\t\teffect = effect < 0 ? runtimeEffect : Math.min(effect, runtimeEffect);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (0 <= effect) {\n\t\t\t\twindow.setTimeout(this._updateBound, effect - Date.now());\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagramCanvas\";\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-diagram.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, Renderer } from \"pixi.js\";\nimport InteractionEvent = interaction.InteractionEvent;\nimport InteractionManager = interaction.InteractionManager;\nimport { DDiagramBase, DDiagramBaseOptions, DThemeDiagramBase } from \"./d-diagram-base\";\nimport { DDiagramCanvas, DDiagramCanvasOptions } from \"./d-diagram-canvas\";\nimport { DDiagramSerialized } from \"./d-diagram-serialized\";\nimport { DDiagramShape } from \"./d-diagram-shape\";\nimport { DDiagramData, DDiagramDataOptions } from \"./d-diagram-data\";\nimport { EShape } from \"./shape/e-shape\";\nimport { DDiagramDataImpl } from \"./d-diagram-data-impl\";\nimport { DDiagramDataMapper } from \"./d-diagram-data-mapper\";\nimport { DDiagramController } from \"./d-diagram-controller\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\nimport { EShapeResourceManagerDeserializationMode } from \"./shape/e-shape-resource-manager-deserialization-mode\";\n\n/**\n * {@link DDiagram} options.\n */\nexport interface DDiagramOptions<THEME extends DThemeDiagram = DThemeDiagram, EMITTER = any>\n\textends DDiagramBaseOptions<\n\t\tDDiagramCanvas,\n\t\tDDiagramCanvasOptions,\n\t\tDDiagramController,\n\t\tTHEME,\n\t\tEMITTER\n\t> {\n\t/** @deprecated in favor of {@link data} */\n\ttag?: DDiagramDataOptions;\n\tdata?: DDiagramDataOptions;\n}\n\n/**\n * {@link DDiagram} theme.\n */\nexport interface DThemeDiagram extends DThemeDiagramBase {}\n\nexport class DDiagram<\n\tTHEME extends DThemeDiagram = DThemeDiagram,\n\tOPTIONS extends DDiagramOptions<THEME> = DDiagramOptions<THEME>\n> extends DDiagramBase<DDiagramCanvas, DDiagramCanvasOptions, DDiagramController, THEME, OPTIONS> {\n\t/** @deprecated in favor of {@link data} */\n\ttag: DDiagramData;\n\tdata: DDiagramData;\n\tshape: DDiagramShape;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\n\t\t// Event handlers\n\t\tthis.on(UtilPointerEvent.move, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeMove(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.up, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeUp(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.upoutside, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeCancel(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.cancel, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeCancel(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.tap, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeClick(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.righttap, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeRightClick(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.rightdown, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeRightDown(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.rightup, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeRightUp(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.rightupoutside, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeRightCancel(e);\n\t\t});\n\n\t\t// Data\n\t\tconst data = new DDiagramDataImpl(this, options && (options.data || options.tag));\n\t\tthis.data = data;\n\t\tthis.tag = data;\n\n\t\t// Shape\n\t\tthis.shape = new DDiagramShape(this);\n\t}\n\n\tprotected initLayer(\n\t\tcanvas: DDiagramCanvas,\n\t\tshapes: EShape[],\n\t\tmapper?: DDiagramDataMapper | null\n\t): DDiagramCanvas {\n\t\treturn super.initLayer(canvas, shapes, mapper || this.data.mapper);\n\t}\n\n\tprotected toMode(options?: OPTIONS): EShapeResourceManagerDeserializationMode {\n\t\treturn EShapeResourceManagerDeserializationMode.VIEWER;\n\t}\n\n\tprotected newCanvas(serialized: DDiagramSerialized): DDiagramCanvas {\n\t\treturn new DDiagramCanvas(this.toCanvasOptions(serialized));\n\t}\n\n\tprotected toCanvasOptions(serialized: DDiagramSerialized): DDiagramCanvasOptions {\n\t\treturn this.toCanvasBaseOptions(serialized);\n\t}\n\n\tprotected onDown(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tsuper.onDown(e, canvas.onShapeDown(e));\n\t\t} else {\n\t\t\tsuper.onDown(e);\n\t\t}\n\t}\n\n\tprotected onShapeMove(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeMove(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeUp(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeUp(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeCancel(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeCancel(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeClick(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeClick(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeRightClick(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeRightClick(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeRightDown(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tcanvas.onShapeRightDown(e);\n\t\t}\n\t}\n\n\tprotected onShapeRightUp(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeRightUp(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeRightCancel(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeRightCancel(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tonDblClick(e: MouseEvent | TouchEvent, manager: InteractionManager): boolean {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\treturn super.onDblClick(e, manager, canvas.onShapeDblClick(e, manager));\n\t\t} else {\n\t\t\treturn super.onDblClick(e, manager);\n\t\t}\n\t}\n\n\trender(renderer: Renderer): void {\n\t\tthis.shape.onRender(renderer);\n\t\tsuper.render(renderer);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagram\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-diagram.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, InteractionManager, Renderer } from \"pixi.js\";\nimport { DDiagramBase, DDiagramBaseOptions, DThemeDiagramBase } from \"./d-diagram-base\";\nimport { DDiagramCanvas, DDiagramCanvasOptions } from \"./d-diagram-canvas\";\nimport { DDiagramSerialized } from \"./d-diagram-serialized\";\nimport { DDiagramShape } from \"./d-diagram-shape\";\nimport { DDiagramData, DDiagramDataOptions } from \"./d-diagram-data\";\nimport { EShape } from \"./shape/e-shape\";\nimport { DDiagramDataImpl } from \"./d-diagram-data-impl\";\nimport { DDiagramDataMapper } from \"./d-diagram-data-mapper\";\nimport { DDiagramController } from \"./d-diagram-controller\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\nimport { EShapeResourceManagerDeserializationMode } from \"./shape/e-shape-resource-manager-deserialization-mode\";\n\n/**\n * {@link DDiagram} options.\n */\nexport interface DDiagramOptions<THEME extends DThemeDiagram = DThemeDiagram, EMITTER = any>\n\textends DDiagramBaseOptions<\n\t\tDDiagramCanvas,\n\t\tDDiagramCanvasOptions,\n\t\tDDiagramController,\n\t\tTHEME,\n\t\tEMITTER\n\t> {\n\t/** @deprecated in favor of {@link data} */\n\ttag?: DDiagramDataOptions;\n\tdata?: DDiagramDataOptions;\n}\n\n/**\n * {@link DDiagram} theme.\n */\nexport interface DThemeDiagram extends DThemeDiagramBase {}\n\nexport class DDiagram<\n\tTHEME extends DThemeDiagram = DThemeDiagram,\n\tOPTIONS extends DDiagramOptions<THEME> = DDiagramOptions<THEME>\n> extends DDiagramBase<DDiagramCanvas, DDiagramCanvasOptions, DDiagramController, THEME, OPTIONS> {\n\t/** @deprecated in favor of {@link data} */\n\ttag: DDiagramData;\n\tdata: DDiagramData;\n\tshape: DDiagramShape;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\n\t\t// Event handlers\n\t\tthis.on(UtilPointerEvent.move, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeMove(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.up, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeUp(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.upoutside, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeCancel(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.cancel, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeCancel(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.tap, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeClick(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.righttap, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeRightClick(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.rightdown, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeRightDown(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.rightup, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeRightUp(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.rightupoutside, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeRightCancel(e);\n\t\t});\n\n\t\t// Data\n\t\tconst data = new DDiagramDataImpl(this, options && (options.data || options.tag));\n\t\tthis.data = data;\n\t\tthis.tag = data;\n\n\t\t// Shape\n\t\tthis.shape = new DDiagramShape(this);\n\t}\n\n\tprotected initLayer(\n\t\tcanvas: DDiagramCanvas,\n\t\tshapes: EShape[],\n\t\tmapper?: DDiagramDataMapper | null\n\t): DDiagramCanvas {\n\t\treturn super.initLayer(canvas, shapes, mapper || this.data.mapper);\n\t}\n\n\tprotected toMode(options?: OPTIONS): EShapeResourceManagerDeserializationMode {\n\t\treturn EShapeResourceManagerDeserializationMode.VIEWER;\n\t}\n\n\tprotected newCanvas(serialized: DDiagramSerialized): DDiagramCanvas {\n\t\treturn new DDiagramCanvas(this.toCanvasOptions(serialized));\n\t}\n\n\tprotected toCanvasOptions(serialized: DDiagramSerialized): DDiagramCanvasOptions {\n\t\treturn this.toCanvasBaseOptions(serialized);\n\t}\n\n\tprotected onDown(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tsuper.onDown(e, canvas.onShapeDown(e));\n\t\t} else {\n\t\t\tsuper.onDown(e);\n\t\t}\n\t}\n\n\tprotected onShapeMove(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeMove(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeUp(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeUp(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeCancel(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeCancel(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeClick(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeClick(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeRightClick(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeRightClick(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeRightDown(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tcanvas.onShapeRightDown(e);\n\t\t}\n\t}\n\n\tprotected onShapeRightUp(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeRightUp(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeRightCancel(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeRightCancel(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tonDblClick(e: MouseEvent | TouchEvent, manager: InteractionManager): boolean {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\treturn super.onDblClick(e, manager, canvas.onShapeDblClick(e, manager));\n\t\t} else {\n\t\t\treturn super.onDblClick(e, manager);\n\t\t}\n\t}\n\n\trender(renderer: Renderer): void {\n\t\tthis.shape.onRender(renderer);\n\t\tsuper.render(renderer);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagram\";\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-dropdown-base.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-dropdown-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 { interaction } from \"pixi.js\";\nimport {\n\tDButtonBase,\n\tDButtonBaseEvents,\n\tDButtonBaseOptions,\n\tDThemeButtonBase\n} from \"./d-button-base\";\nimport { DMenu, DMenuOptions, DThemeMenu } from \"./d-menu\";\nimport { DMenuItem } from \"./d-menu-item\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\n\n/**\n * {@link DDropdownBase} events.\n */\nexport interface DDropdownBaseEvents<VALUE, TEXT_VALUE, EMITTER>\n\textends DButtonBaseEvents<VALUE, EMITTER> {\n\t/**\n\t * Triggered when a menu item is selected.\n\t *\n\t * @param value a value of a selected menu item\n\t * @param item a selected menu item\n\t * @param emitter an emitter\n\t */\n\tselect(value: VALUE, item: DMenuItem<VALUE>, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a menu is opened.\n\t */\n\topen(menu: DMenu<VALUE>, emitter: EMITTER): void;\n}\n\n/**\n * {@link DDropdownBase} \"on\" options.\n */\nexport interface DDropdownBaseOnOptions<VALUE, TEXT_VALUE, EMITTER>\n\textends Partial<DDropdownBaseEvents<VALUE, TEXT_VALUE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DDropdownBase} options.\n */\nexport interface DDropdownBaseOptions<\n\tVALUE = unknown,\n\tTEXT_VALUE = string,\n\tTHEME extends DThemeDropdownBase<TEXT_VALUE> = DThemeDropdownBase<TEXT_VALUE>,\n\tEMITTER = any\n> extends DButtonBaseOptions<TEXT_VALUE, THEME, EMITTER> {\n\t/**\n\t * Menu options.\n\t */\n\tmenu?: DMenuOptions<VALUE> | DMenu<VALUE>;\n\n\ton?: DDropdownBaseOnOptions<VALUE, TEXT_VALUE, EMITTER>;\n}\n\n/**\n * {@link DDropdownBase} theme.\n */\nexport interface DThemeDropdownBase<TEXT_VALUE = unknown> extends DThemeButtonBase<TEXT_VALUE> {}\n\n/**\n * A dropdown base class.\n */\nexport class DDropdownBase<\n\tVALUE = unknown,\n\tTEXT_VALUE = string,\n\tTHEME extends DThemeDropdownBase<TEXT_VALUE> = DThemeDropdownBase<TEXT_VALUE>,\n\tOPTIONS extends DDropdownBaseOptions<VALUE, TEXT_VALUE, THEME> = DDropdownBaseOptions<\n\t\tVALUE,\n\t\tTEXT_VALUE,\n\t\tTHEME\n\t>\n> extends DButtonBase<TEXT_VALUE, THEME, OPTIONS> {\n\tprotected _menu?: DMenu<VALUE>;\n\tprotected _onMenuSelectBound?: (\n\t\tselected: VALUE,\n\t\titem: DMenuItem<VALUE>,\n\t\tmenu: DMenu<VALUE>\n\t) => void;\n\tprotected _onMenuCloseBound?: () => void;\n\n\tprotected onMenuSelect(value: VALUE, item: DMenuItem<VALUE>, menu: DMenu<VALUE>): void {\n\t\tthis.emit(\"select\", value, item, this);\n\t}\n\n\tprotected onMenuClose(menu?: DMenu<VALUE>): void {\n\t\tif (menu) {\n\t\t\tconst onMenuSelectBound = this._onMenuSelectBound;\n\t\t\tif (onMenuSelectBound) {\n\t\t\t\tmenu.off(\"select\", onMenuSelectBound);\n\t\t\t}\n\t\t\tconst onMenuCloseBound = this._onMenuCloseBound;\n\t\t\tif (onMenuCloseBound) {\n\t\t\t\tmenu.off(\"close\", onMenuCloseBound);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected toMenu(theme: THEME, options?: OPTIONS): DMenu<VALUE> {\n\t\tconst menu = options?.menu;\n\t\tif (menu instanceof DMenu) {\n\t\t\treturn menu;\n\t\t}\n\t\treturn new DMenu<VALUE>(this.toMenuOptions(theme, menu));\n\t}\n\n\tprotected toMenuOptions(\n\t\ttheme: THEME,\n\t\toptions?: DMenuOptions<VALUE>\n\t): DMenuOptions<VALUE, DThemeMenu> {\n\t\tif (options) {\n\t\t\tif (options.fit == null) {\n\t\t\t\toptions.fit = true;\n\t\t\t}\n\t\t\treturn options;\n\t\t}\n\t\treturn {\n\t\t\tfit: true\n\t\t};\n\t}\n\n\tget menu(): DMenu<VALUE> {\n\t\tlet result = this._menu;\n\t\tif (result == null) {\n\t\t\tresult = this.toMenu(this.theme, this._options);\n\t\t\tthis._menu = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tset menu(newMenu: DMenu<VALUE>) {\n\t\tconst oldMenu = this._menu;\n\t\tif (oldMenu != newMenu) {\n\t\t\tthis._menu = newMenu;\n\t\t\tthis.onMenuReplaced(newMenu, oldMenu);\n\t\t}\n\t}\n\n\tprotected onMenuReplaced(newMenu: DMenu<VALUE>, oldMenu?: DMenu<VALUE>): void {\n\t\tif (oldMenu != null) {\n\t\t\tthis.onMenuClose(oldMenu);\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDropdownBase\";\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isArrowDownKey(e)) {\n\t\t\tthis.onKeyDownArrowDown(e);\n\t\t}\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onKeyDownArrowDown(e: KeyboardEvent): boolean {\n\t\tif (this.state.isActionable && this.state.isFocused) {\n\t\t\tthis.activate(e);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected onActivate(\n\t\te?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): void {\n\t\tsuper.onActivate(e);\n\t\tthis.open();\n\t}\n\n\topen(): void {\n\t\tconst menu = this.menu;\n\t\tif (menu.isHidden()) {\n\t\t\t// In the case that the menu is created elsewhere,\n\t\t\t// the menu might be opened by other UI elements\n\t\t\t// and the `select` event might be triggered. In\n\t\t\t// that case, we are not supposed to catct that\n\t\t\t// `select` event. This is why the `select` event\n\t\t\t// handler is registered here. Instead of the\n\t\t\t// initialization time.\n\t\t\tlet onMenuSelectBound = this._onMenuSelectBound;\n\t\t\tif (onMenuSelectBound == null) {\n\t\t\t\tonMenuSelectBound = (\n\t\t\t\t\tvalue: VALUE,\n\t\t\t\t\titem: DMenuItem<VALUE>,\n\t\t\t\t\tm: DMenu<VALUE>\n\t\t\t\t): void => {\n\t\t\t\t\tthis.onMenuSelect(value, item, m);\n\t\t\t\t};\n\t\t\t\tthis._onMenuSelectBound = onMenuSelectBound;\n\t\t\t}\n\t\t\tlet onMenuCloseBound = this._onMenuCloseBound;\n\t\t\tif (onMenuCloseBound == null) {\n\t\t\t\tonMenuCloseBound = (): void => {\n\t\t\t\t\tthis.onMenuClose(this._menu);\n\t\t\t\t};\n\t\t\t}\n\t\t\tmenu.on(\"select\", onMenuSelectBound);\n\t\t\tmenu.on(\"close\", onMenuCloseBound);\n\t\t\tmenu.open(this);\n\t\t\tthis.emit(\"open\", menu, this);\n\t\t}\n\t}\n\n\tclose(): void {\n\t\tthis.menu.close();\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-dropdown-base.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-dropdown-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 { InteractionEvent } from \"pixi.js\";\nimport {\n\tDButtonBase,\n\tDButtonBaseEvents,\n\tDButtonBaseOptions,\n\tDThemeButtonBase\n} from \"./d-button-base\";\nimport { DMenu, DMenuOptions, DThemeMenu } from \"./d-menu\";\nimport { DMenuItem } from \"./d-menu-item\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\n\n/**\n * {@link DDropdownBase} events.\n */\nexport interface DDropdownBaseEvents<VALUE, TEXT_VALUE, EMITTER>\n\textends DButtonBaseEvents<VALUE, EMITTER> {\n\t/**\n\t * Triggered when a menu item is selected.\n\t *\n\t * @param value a value of a selected menu item\n\t * @param item a selected menu item\n\t * @param emitter an emitter\n\t */\n\tselect(value: VALUE, item: DMenuItem<VALUE>, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a menu is opened.\n\t */\n\topen(menu: DMenu<VALUE>, emitter: EMITTER): void;\n}\n\n/**\n * {@link DDropdownBase} \"on\" options.\n */\nexport interface DDropdownBaseOnOptions<VALUE, TEXT_VALUE, EMITTER>\n\textends Partial<DDropdownBaseEvents<VALUE, TEXT_VALUE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DDropdownBase} options.\n */\nexport interface DDropdownBaseOptions<\n\tVALUE = unknown,\n\tTEXT_VALUE = string,\n\tTHEME extends DThemeDropdownBase<TEXT_VALUE> = DThemeDropdownBase<TEXT_VALUE>,\n\tEMITTER = any\n> extends DButtonBaseOptions<TEXT_VALUE, THEME, EMITTER> {\n\t/**\n\t * Menu options.\n\t */\n\tmenu?: DMenuOptions<VALUE> | DMenu<VALUE>;\n\n\ton?: DDropdownBaseOnOptions<VALUE, TEXT_VALUE, EMITTER>;\n}\n\n/**\n * {@link DDropdownBase} theme.\n */\nexport interface DThemeDropdownBase<TEXT_VALUE = unknown> extends DThemeButtonBase<TEXT_VALUE> {}\n\n/**\n * A dropdown base class.\n */\nexport class DDropdownBase<\n\tVALUE = unknown,\n\tTEXT_VALUE = string,\n\tTHEME extends DThemeDropdownBase<TEXT_VALUE> = DThemeDropdownBase<TEXT_VALUE>,\n\tOPTIONS extends DDropdownBaseOptions<VALUE, TEXT_VALUE, THEME> = DDropdownBaseOptions<\n\t\tVALUE,\n\t\tTEXT_VALUE,\n\t\tTHEME\n\t>\n> extends DButtonBase<TEXT_VALUE, THEME, OPTIONS> {\n\tprotected _menu?: DMenu<VALUE>;\n\tprotected _onMenuSelectBound?: (\n\t\tselected: VALUE,\n\t\titem: DMenuItem<VALUE>,\n\t\tmenu: DMenu<VALUE>\n\t) => void;\n\tprotected _onMenuCloseBound?: () => void;\n\n\tprotected onMenuSelect(value: VALUE, item: DMenuItem<VALUE>, menu: DMenu<VALUE>): void {\n\t\tthis.emit(\"select\", value, item, this);\n\t}\n\n\tprotected onMenuClose(menu?: DMenu<VALUE>): void {\n\t\tif (menu) {\n\t\t\tconst onMenuSelectBound = this._onMenuSelectBound;\n\t\t\tif (onMenuSelectBound) {\n\t\t\t\tmenu.off(\"select\", onMenuSelectBound);\n\t\t\t}\n\t\t\tconst onMenuCloseBound = this._onMenuCloseBound;\n\t\t\tif (onMenuCloseBound) {\n\t\t\t\tmenu.off(\"close\", onMenuCloseBound);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected toMenu(theme: THEME, options?: OPTIONS): DMenu<VALUE> {\n\t\tconst menu = options?.menu;\n\t\tif (menu instanceof DMenu) {\n\t\t\treturn menu;\n\t\t}\n\t\treturn new DMenu<VALUE>(this.toMenuOptions(theme, menu));\n\t}\n\n\tprotected toMenuOptions(\n\t\ttheme: THEME,\n\t\toptions?: DMenuOptions<VALUE>\n\t): DMenuOptions<VALUE, DThemeMenu> {\n\t\tif (options) {\n\t\t\tif (options.fit == null) {\n\t\t\t\toptions.fit = true;\n\t\t\t}\n\t\t\treturn options;\n\t\t}\n\t\treturn {\n\t\t\tfit: true\n\t\t};\n\t}\n\n\tget menu(): DMenu<VALUE> {\n\t\tlet result = this._menu;\n\t\tif (result == null) {\n\t\t\tresult = this.toMenu(this.theme, this._options);\n\t\t\tthis._menu = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tset menu(newMenu: DMenu<VALUE>) {\n\t\tconst oldMenu = this._menu;\n\t\tif (oldMenu != newMenu) {\n\t\t\tthis._menu = newMenu;\n\t\t\tthis.onMenuReplaced(newMenu, oldMenu);\n\t\t}\n\t}\n\n\tprotected onMenuReplaced(newMenu: DMenu<VALUE>, oldMenu?: DMenu<VALUE>): void {\n\t\tif (oldMenu != null) {\n\t\t\tthis.onMenuClose(oldMenu);\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDropdownBase\";\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isArrowDownKey(e)) {\n\t\t\tthis.onKeyDownArrowDown(e);\n\t\t}\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onKeyDownArrowDown(e: KeyboardEvent): boolean {\n\t\tif (this.state.isActionable && this.state.isFocused) {\n\t\t\tthis.activate(e);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tsuper.onActivate(e);\n\t\tthis.open();\n\t}\n\n\topen(): void {\n\t\tconst menu = this.menu;\n\t\tif (menu.isHidden()) {\n\t\t\t// In the case that the menu is created elsewhere,\n\t\t\t// the menu might be opened by other UI elements\n\t\t\t// and the `select` event might be triggered. In\n\t\t\t// that case, we are not supposed to catct that\n\t\t\t// `select` event. This is why the `select` event\n\t\t\t// handler is registered here. Instead of the\n\t\t\t// initialization time.\n\t\t\tlet onMenuSelectBound = this._onMenuSelectBound;\n\t\t\tif (onMenuSelectBound == null) {\n\t\t\t\tonMenuSelectBound = (\n\t\t\t\t\tvalue: VALUE,\n\t\t\t\t\titem: DMenuItem<VALUE>,\n\t\t\t\t\tm: DMenu<VALUE>\n\t\t\t\t): void => {\n\t\t\t\t\tthis.onMenuSelect(value, item, m);\n\t\t\t\t};\n\t\t\t\tthis._onMenuSelectBound = onMenuSelectBound;\n\t\t\t}\n\t\t\tlet onMenuCloseBound = this._onMenuCloseBound;\n\t\t\tif (onMenuCloseBound == null) {\n\t\t\t\tonMenuCloseBound = (): void => {\n\t\t\t\t\tthis.onMenuClose(this._menu);\n\t\t\t\t};\n\t\t\t}\n\t\t\tmenu.on(\"select\", onMenuSelectBound);\n\t\t\tmenu.on(\"close\", onMenuCloseBound);\n\t\t\tmenu.open(this);\n\t\t\tthis.emit(\"open\", menu, this);\n\t\t}\n\t}\n\n\tclose(): void {\n\t\tthis.menu.close();\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-expandable-header.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-expandable-header.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,MAAM,EAA8B,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAS7D;IAIU,qCAA6B;IACtC,2BAAY,OAAiB;QAA7B,YACC,kBAAM,OAAO,CAAC,SAOd;QALA,KAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAC,CAA+B;YAC9D,IAAI,KAAI,CAAC,KAAK,CAAC,YAAY,EAAE;gBAC5B,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACjB;QACF,CAAC,CAAC,CAAC;;IACJ,CAAC;IAES,oCAAQ,GAAlB,UAAmB,CAA+C;QACjE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAES,qCAAS,GAAnB,UAAoB,CAAgB;QACnC,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;YACvC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;SAC1B;QACD,OAAO,iBAAM,SAAS,YAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAES,6CAAiB,GAA3B,UAA4B,CAAgB;QAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YACpD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAES,mCAAO,GAAjB;QACC,OAAO,mBAAmB,CAAC;IAC5B,CAAC;IACF,wBAAC;AAAD,CAAC,AArCD,CAIU,MAAM,GAiCf","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction } from \"pixi.js\";\nimport { DImage, DImageOptions, DThemeImage } from \"./d-image\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\n\nexport interface DExpandableHeaderOptions<\n\tVALUE = unknown,\n\tTHEME extends DThemeExpandableHeader<VALUE> = DThemeExpandableHeader<VALUE>\n> extends DImageOptions<VALUE, THEME> {}\n\nexport interface DThemeExpandableHeader<VALUE = unknown> extends DThemeImage<VALUE> {}\n\nexport class DExpandableHeader<\n\tVALUE = unknown,\n\tTHEME extends DThemeExpandableHeader<VALUE> = DThemeExpandableHeader<VALUE>,\n\tOPTIONS extends DExpandableHeaderOptions<VALUE, THEME> = DExpandableHeaderOptions<VALUE, THEME>\n> extends DImage<VALUE, THEME, OPTIONS> {\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis.on(UtilPointerEvent.down, (e: interaction.InteractionEvent): void => {\n\t\t\tif (this.state.isActionable) {\n\t\t\t\tthis.onSelect(e);\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected onSelect(e: KeyboardEvent | interaction.InteractionEvent): void {\n\t\tthis.emit(\"select\", this);\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onKeyDownActivate(e);\n\t\t}\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onKeyDownActivate(e: KeyboardEvent): boolean {\n\t\tif (this.state.isActionable && this.state.isFocused) {\n\t\t\tthis.onSelect(e);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DExpandableHeader\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-expandable-header.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-expandable-header.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,MAAM,EAA8B,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAS7D;IAIU,qCAA6B;IACtC,2BAAY,OAAiB;QAA7B,YACC,kBAAM,OAAO,CAAC,SAOd;QALA,KAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAC,CAAmB;YAClD,IAAI,KAAI,CAAC,KAAK,CAAC,YAAY,EAAE;gBAC5B,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACjB;QACF,CAAC,CAAC,CAAC;;IACJ,CAAC;IAES,oCAAQ,GAAlB,UAAmB,CAAmC;QACrD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAES,qCAAS,GAAnB,UAAoB,CAAgB;QACnC,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;YACvC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;SAC1B;QACD,OAAO,iBAAM,SAAS,YAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAES,6CAAiB,GAA3B,UAA4B,CAAgB;QAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YACpD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAES,mCAAO,GAAjB;QACC,OAAO,mBAAmB,CAAC;IAC5B,CAAC;IACF,wBAAC;AAAD,CAAC,AArCD,CAIU,MAAM,GAiCf","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent } from \"pixi.js\";\nimport { DImage, DImageOptions, DThemeImage } from \"./d-image\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\n\nexport interface DExpandableHeaderOptions<\n\tVALUE = unknown,\n\tTHEME extends DThemeExpandableHeader<VALUE> = DThemeExpandableHeader<VALUE>\n> extends DImageOptions<VALUE, THEME> {}\n\nexport interface DThemeExpandableHeader<VALUE = unknown> extends DThemeImage<VALUE> {}\n\nexport class DExpandableHeader<\n\tVALUE = unknown,\n\tTHEME extends DThemeExpandableHeader<VALUE> = DThemeExpandableHeader<VALUE>,\n\tOPTIONS extends DExpandableHeaderOptions<VALUE, THEME> = DExpandableHeaderOptions<VALUE, THEME>\n> extends DImage<VALUE, THEME, OPTIONS> {\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis.on(UtilPointerEvent.down, (e: InteractionEvent): void => {\n\t\t\tif (this.state.isActionable) {\n\t\t\t\tthis.onSelect(e);\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected onSelect(e: KeyboardEvent | InteractionEvent): void {\n\t\tthis.emit(\"select\", this);\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onKeyDownActivate(e);\n\t\t}\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onKeyDownActivate(e: KeyboardEvent): boolean {\n\t\tif (this.state.isActionable && this.state.isFocused) {\n\t\t\tthis.onSelect(e);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DExpandableHeader\";\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-html-element.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-html-element.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, Matrix, Point, Rectangle, Renderer } from \"pixi.js\";\nimport { DImageBase, DImageBaseOptions, DThemeImageBase } from \"./d-image-base\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport {\n\tUtilHtmlElement,\n\tUtilHtmlElementOperation,\n\tUtilHtmlElementOptions,\n\tUtilHtmlElementPadding,\n\tUtilThemeHtmlElement\n} from \"./util/util-html-element\";\n\nexport interface DHtmlElementOptions<\n\tVALUE = unknown,\n\tELEMENT extends HTMLElement = HTMLElement,\n\tTHEME extends DThemeHtmlElement<VALUE, ELEMENT> = DThemeHtmlElement<VALUE, ELEMENT>\n> extends DImageBaseOptions<VALUE, THEME>,\n\t\tUtilHtmlElementOptions<ELEMENT> {}\n\nexport interface DThemeHtmlElement<VALUE = unknown, ELEMENT extends HTMLElement = HTMLElement>\n\textends DThemeImageBase<VALUE>,\n\t\tUtilThemeHtmlElement<ELEMENT> {}\n\nexport class DHtmlElement<\n\tVALUE = unknown,\n\tELEMENT extends HTMLElement = HTMLElement,\n\tTHEME extends DThemeHtmlElement<VALUE, ELEMENT> = DThemeHtmlElement<VALUE, ELEMENT>,\n\tOPTIONS extends DHtmlElementOptions<VALUE, ELEMENT, THEME> = DHtmlElementOptions<\n\t\tVALUE,\n\t\tELEMENT,\n\t\tTHEME\n\t>,\n\tUTIL extends UtilHtmlElement<ELEMENT> = UtilHtmlElement<ELEMENT>\n> extends DImageBase<VALUE, THEME, OPTIONS> {\n\tprotected _util?: UTIL;\n\n\tprotected getUtil(): UTIL {\n\t\tlet result = this._util;\n\t\tif (result == null) {\n\t\t\tresult = this.newUtil();\n\t\t\tthis._util = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newUtil(): UTIL {\n\t\treturn new UtilHtmlElement<ELEMENT>(\n\t\t\tthis,\n\t\t\tthis.newOperation(),\n\t\t\tthis.theme,\n\t\t\tthis._options\n\t\t) as any;\n\t}\n\n\tprotected newOperation(): UtilHtmlElementOperation<ELEMENT> {\n\t\treturn {\n\t\t\tgetElementRect: (\n\t\t\t\tresolution: number,\n\t\t\t\twork: Point,\n\t\t\t\tresult: Rectangle\n\t\t\t): Rectangle | null => {\n\t\t\t\treturn this.getElementRect(resolution, work, result);\n\t\t\t},\n\n\t\t\tgetElementMatrix: (): Matrix | null => {\n\t\t\t\treturn null;\n\t\t\t},\n\n\t\t\tgetClipperRect: (\n\t\t\t\tresolution: number,\n\t\t\t\twork: Point,\n\t\t\t\tresult: Rectangle\n\t\t\t): Rectangle | null => {\n\t\t\t\treturn this.getClipperRect(resolution, work, result);\n\t\t\t},\n\n\t\t\tgetPadding: (): UtilHtmlElementPadding | null => {\n\t\t\t\treturn this.padding;\n\t\t\t},\n\n\t\t\tcontainsPoint: (point: Point): boolean => {\n\t\t\t\treturn this.containsPoint(point);\n\t\t\t},\n\n\t\t\tonStart: (): void => {\n\t\t\t\t// DO NOTHING\n\t\t\t},\n\n\t\t\tonCancel: (): void => {\n\t\t\t\t// DO NOTHING\n\t\t\t},\n\n\t\t\tonEnd: (): void => {\n\t\t\t\t// DO NOTHING\n\t\t\t}\n\t\t};\n\t}\n\n\tget element(): ELEMENT | null {\n\t\treturn this.getUtil().element;\n\t}\n\n\tprotected onDownThis(e: interaction.InteractionEvent): void {\n\t\tconst util = this.getUtil();\n\t\tutil.onDowning(e);\n\t\tsuper.onDownThis(e);\n\t\tutil.onDown(e);\n\t}\n\n\tonDblClick(\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: interaction.InteractionManager\n\t): boolean {\n\t\tthis.getUtil().onDblClick(e, interactionManager);\n\t\treturn super.onDblClick(e, interactionManager);\n\t}\n\n\tprotected onFocus(): void {\n\t\tsuper.onFocus();\n\t\tthis.getUtil().onFocus();\n\t}\n\n\tprotected onBlur(): void {\n\t\tsuper.onBlur();\n\t\tthis.getUtil().onBlur();\n\t}\n\n\tstart(): void {\n\t\tthis.getUtil().start();\n\t}\n\n\trender(renderer: Renderer): void {\n\t\tthis.getUtil().onRender(renderer);\n\t\tsuper.render(renderer);\n\t}\n\n\t/**\n\t * Please note that this method does not update transforms.\n\t *\n\t * @param resolution\n\t */\n\tprotected getElementRect(\n\t\tresolution: number,\n\t\tpoint: Point,\n\t\tresult: Rectangle\n\t): Rectangle | null {\n\t\tpoint.set(0, 0);\n\t\tthis.toGlobal(point, point, false);\n\t\tresult.x = point.x;\n\t\tresult.y = point.y;\n\n\t\tpoint.set(this.width, this.height);\n\t\tthis.toGlobal(point, point, true);\n\t\tresult.width = point.x - result.x;\n\t\tresult.height = point.y - result.y;\n\n\t\treturn result;\n\t}\n\n\tprotected getClipperRect(\n\t\tresolution: number,\n\t\tpoint: Point,\n\t\tresult: Rectangle\n\t): Rectangle | null {\n\t\treturn UtilHtmlElement.getClipperRect(this.parent, this, resolution, point, result);\n\t}\n\n\tcancel(): void {\n\t\tthis.getUtil().cancel();\n\t}\n\n\tend(): void {\n\t\tthis.getUtil().end();\n\t}\n\n\tselect(): this {\n\t\tthis.getUtil().select();\n\t\treturn this;\n\t}\n\n\tprotected onActivateKeyDown(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tthis.state.isPressed = true;\n\t\t}\n\t}\n\n\tprotected onActivateKeyUp(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.state.isPressed) {\n\t\t\t\tthis.start();\n\t\t\t}\n\t\t\tthis.state.isPressed = false;\n\t\t}\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onActivateKeyDown(e);\n\t\t}\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onKeyUp(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onActivateKeyUp(e);\n\t\t}\n\t\treturn super.onKeyUp(e);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DHtmlElement\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-html-element.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-html-element.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,UAAU,EAAsC,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EACN,eAAe,EAKf,MAAM,0BAA0B,CAAC;AAalC;IAUU,gCAAiC;IAV3C;;IA0LA,CAAC;IA7KU,8BAAO,GAAjB;QACC,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,MAAM,IAAI,IAAI,EAAE;YACnB,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;SACpB;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAES,8BAAO,GAAjB;QACC,OAAO,IAAI,eAAe,CACzB,IAAI,EACJ,IAAI,CAAC,YAAY,EAAE,EACnB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,QAAQ,CACN,CAAC;IACV,CAAC;IAES,mCAAY,GAAtB;QAAA,iBA0CC;QAzCA,OAAO;YACN,cAAc,EAAE,UACf,UAAkB,EAClB,IAAW,EACX,MAAiB;gBAEjB,OAAO,KAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACtD,CAAC;YAED,gBAAgB,EAAE;gBACjB,OAAO,IAAI,CAAC;YACb,CAAC;YAED,cAAc,EAAE,UACf,UAAkB,EAClB,IAAW,EACX,MAAiB;gBAEjB,OAAO,KAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACtD,CAAC;YAED,UAAU,EAAE;gBACX,OAAO,KAAI,CAAC,OAAO,CAAC;YACrB,CAAC;YAED,aAAa,EAAE,UAAC,KAAY;gBAC3B,OAAO,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YAED,OAAO,EAAE;gBACR,aAAa;YACd,CAAC;YAED,QAAQ,EAAE;gBACT,aAAa;YACd,CAAC;YAED,KAAK,EAAE;gBACN,aAAa;YACd,CAAC;SACD,CAAC;IACH,CAAC;IAED,sBAAI,iCAAO;aAAX;YACC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;QAC/B,CAAC;;;OAAA;IAES,iCAAU,GAApB,UAAqB,CAAmB;QACvC,IAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAClB,iBAAM,UAAU,YAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IAED,iCAAU,GAAV,UAAW,CAA0B,EAAE,kBAAsC;QAC5E,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;QACjD,OAAO,iBAAM,UAAU,YAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAChD,CAAC;IAES,8BAAO,GAAjB;QACC,iBAAM,OAAO,WAAE,CAAC;QAChB,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAES,6BAAM,GAAhB;QACC,iBAAM,MAAM,WAAE,CAAC;QACf,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC;IACzB,CAAC;IAED,4BAAK,GAAL;QACC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,6BAAM,GAAN,UAAO,QAAkB;QACxB,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClC,iBAAM,MAAM,YAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACO,qCAAc,GAAxB,UACC,UAAkB,EAClB,KAAY,EACZ,MAAiB;QAEjB,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QACnB,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QAEnB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QAEnC,OAAO,MAAM,CAAC;IACf,CAAC;IAES,qCAAc,GAAxB,UACC,UAAkB,EAClB,KAAY,EACZ,MAAiB;QAEjB,OAAO,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACrF,CAAC;IAED,6BAAM,GAAN;QACC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC;IACzB,CAAC;IAED,0BAAG,GAAH;QACC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,6BAAM,GAAN;QACC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACb,CAAC;IAES,wCAAiB,GAA3B,UAA4B,CAAgB;QAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC5B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;SAC5B;IACF,CAAC;IAES,sCAAe,GAAzB,UAA0B,CAAgB;QACzC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;gBACzB,IAAI,CAAC,KAAK,EAAE,CAAC;aACb;YACD,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;SAC7B;IACF,CAAC;IAES,gCAAS,GAAnB,UAAoB,CAAgB;QACnC,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;YACvC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;SAC1B;QACD,OAAO,iBAAM,SAAS,YAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAES,8BAAO,GAAjB,UAAkB,CAAgB;QACjC,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;YACvC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;SACxB;QACD,OAAO,iBAAM,OAAO,YAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAES,8BAAO,GAAjB;QACC,OAAO,cAAc,CAAC;IACvB,CAAC;IACF,mBAAC;AAAD,CAAC,AA1LD,CAUU,UAAU,GAgLnB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, InteractionManager, Matrix, Point, Rectangle, Renderer } from \"pixi.js\";\nimport { DImageBase, DImageBaseOptions, DThemeImageBase } from \"./d-image-base\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport {\n\tUtilHtmlElement,\n\tUtilHtmlElementOperation,\n\tUtilHtmlElementOptions,\n\tUtilHtmlElementPadding,\n\tUtilThemeHtmlElement\n} from \"./util/util-html-element\";\n\nexport interface DHtmlElementOptions<\n\tVALUE = unknown,\n\tELEMENT extends HTMLElement = HTMLElement,\n\tTHEME extends DThemeHtmlElement<VALUE, ELEMENT> = DThemeHtmlElement<VALUE, ELEMENT>\n> extends DImageBaseOptions<VALUE, THEME>,\n\t\tUtilHtmlElementOptions<ELEMENT> {}\n\nexport interface DThemeHtmlElement<VALUE = unknown, ELEMENT extends HTMLElement = HTMLElement>\n\textends DThemeImageBase<VALUE>,\n\t\tUtilThemeHtmlElement<ELEMENT> {}\n\nexport class DHtmlElement<\n\tVALUE = unknown,\n\tELEMENT extends HTMLElement = HTMLElement,\n\tTHEME extends DThemeHtmlElement<VALUE, ELEMENT> = DThemeHtmlElement<VALUE, ELEMENT>,\n\tOPTIONS extends DHtmlElementOptions<VALUE, ELEMENT, THEME> = DHtmlElementOptions<\n\t\tVALUE,\n\t\tELEMENT,\n\t\tTHEME\n\t>,\n\tUTIL extends UtilHtmlElement<ELEMENT> = UtilHtmlElement<ELEMENT>\n> extends DImageBase<VALUE, THEME, OPTIONS> {\n\tprotected _util?: UTIL;\n\n\tprotected getUtil(): UTIL {\n\t\tlet result = this._util;\n\t\tif (result == null) {\n\t\t\tresult = this.newUtil();\n\t\t\tthis._util = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newUtil(): UTIL {\n\t\treturn new UtilHtmlElement<ELEMENT>(\n\t\t\tthis,\n\t\t\tthis.newOperation(),\n\t\t\tthis.theme,\n\t\t\tthis._options\n\t\t) as any;\n\t}\n\n\tprotected newOperation(): UtilHtmlElementOperation<ELEMENT> {\n\t\treturn {\n\t\t\tgetElementRect: (\n\t\t\t\tresolution: number,\n\t\t\t\twork: Point,\n\t\t\t\tresult: Rectangle\n\t\t\t): Rectangle | null => {\n\t\t\t\treturn this.getElementRect(resolution, work, result);\n\t\t\t},\n\n\t\t\tgetElementMatrix: (): Matrix | null => {\n\t\t\t\treturn null;\n\t\t\t},\n\n\t\t\tgetClipperRect: (\n\t\t\t\tresolution: number,\n\t\t\t\twork: Point,\n\t\t\t\tresult: Rectangle\n\t\t\t): Rectangle | null => {\n\t\t\t\treturn this.getClipperRect(resolution, work, result);\n\t\t\t},\n\n\t\t\tgetPadding: (): UtilHtmlElementPadding | null => {\n\t\t\t\treturn this.padding;\n\t\t\t},\n\n\t\t\tcontainsPoint: (point: Point): boolean => {\n\t\t\t\treturn this.containsPoint(point);\n\t\t\t},\n\n\t\t\tonStart: (): void => {\n\t\t\t\t// DO NOTHING\n\t\t\t},\n\n\t\t\tonCancel: (): void => {\n\t\t\t\t// DO NOTHING\n\t\t\t},\n\n\t\t\tonEnd: (): void => {\n\t\t\t\t// DO NOTHING\n\t\t\t}\n\t\t};\n\t}\n\n\tget element(): ELEMENT | null {\n\t\treturn this.getUtil().element;\n\t}\n\n\tprotected onDownThis(e: InteractionEvent): void {\n\t\tconst util = this.getUtil();\n\t\tutil.onDowning(e);\n\t\tsuper.onDownThis(e);\n\t\tutil.onDown(e);\n\t}\n\n\tonDblClick(e: MouseEvent | TouchEvent, interactionManager: InteractionManager): boolean {\n\t\tthis.getUtil().onDblClick(e, interactionManager);\n\t\treturn super.onDblClick(e, interactionManager);\n\t}\n\n\tprotected onFocus(): void {\n\t\tsuper.onFocus();\n\t\tthis.getUtil().onFocus();\n\t}\n\n\tprotected onBlur(): void {\n\t\tsuper.onBlur();\n\t\tthis.getUtil().onBlur();\n\t}\n\n\tstart(): void {\n\t\tthis.getUtil().start();\n\t}\n\n\trender(renderer: Renderer): void {\n\t\tthis.getUtil().onRender(renderer);\n\t\tsuper.render(renderer);\n\t}\n\n\t/**\n\t * Please note that this method does not update transforms.\n\t *\n\t * @param resolution\n\t */\n\tprotected getElementRect(\n\t\tresolution: number,\n\t\tpoint: Point,\n\t\tresult: Rectangle\n\t): Rectangle | null {\n\t\tpoint.set(0, 0);\n\t\tthis.toGlobal(point, point, false);\n\t\tresult.x = point.x;\n\t\tresult.y = point.y;\n\n\t\tpoint.set(this.width, this.height);\n\t\tthis.toGlobal(point, point, true);\n\t\tresult.width = point.x - result.x;\n\t\tresult.height = point.y - result.y;\n\n\t\treturn result;\n\t}\n\n\tprotected getClipperRect(\n\t\tresolution: number,\n\t\tpoint: Point,\n\t\tresult: Rectangle\n\t): Rectangle | null {\n\t\treturn UtilHtmlElement.getClipperRect(this.parent, this, resolution, point, result);\n\t}\n\n\tcancel(): void {\n\t\tthis.getUtil().cancel();\n\t}\n\n\tend(): void {\n\t\tthis.getUtil().end();\n\t}\n\n\tselect(): this {\n\t\tthis.getUtil().select();\n\t\treturn this;\n\t}\n\n\tprotected onActivateKeyDown(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tthis.state.isPressed = true;\n\t\t}\n\t}\n\n\tprotected onActivateKeyUp(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.state.isPressed) {\n\t\t\t\tthis.start();\n\t\t\t}\n\t\t\tthis.state.isPressed = false;\n\t\t}\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onActivateKeyDown(e);\n\t\t}\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onKeyUp(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onActivateKeyUp(e);\n\t\t}\n\t\treturn super.onKeyUp(e);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DHtmlElement\";\n\t}\n}\n"]}
@@ -143,7 +143,7 @@ var DItemUpdater = /** @class */ (function () {
143
143
  newItemIndexEnd += 1;
144
144
  }
145
145
  var newItemCount = newItemIndexEnd - newItemIndexStart;
146
- if (newItemCount < oldItemCount && oldItemCount - 2 <= newItemCount) {
146
+ if (newItemCount < oldItemCount) {
147
147
  newItemCount = oldItemCount;
148
148
  newItemIndexEnd = newItemIndexStart + newItemCount;
149
149
  }
@@ -1 +1 @@
1
- {"version":3,"file":"d-item-updater.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-item-updater.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DApplications } from \"./d-applications\";\nimport { DBase } from \"./d-base\";\nimport { isNumber } from \"./util/is-number\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\n\nexport interface DItemUpdaterItem<VALUE> extends DBase {\n\treadonly value?: VALUE;\n\treadonly index?: number;\n\tset(value: VALUE, index: number, forcibly?: boolean): void;\n\tunset(): void;\n}\n\nexport type DItemUpdaterNewItem<DATA, ITEM> = (data: DATA) => ITEM;\n\nexport type DItemUpdaterInitItem<DATA, ITEM> = (item: ITEM, index: number, data: DATA) => ITEM;\n\n/**\n * Item updater options.\n */\nexport interface DItemUpdaterOptions<VALUE, DATA, ITEM> {\n\t/**\n\t * Called to create items.\n\t */\n\tnewItem?: DItemUpdaterNewItem<DATA, ITEM>;\n\n\t/**\n\t * Called to initialize items.\n\t */\n\tinitItem?: DItemUpdaterInitItem<DATA, ITEM>;\n\n\t/**\n\t * True to make stripe-colored items. Defaults to true.\n\t */\n\tstripe?: boolean;\n}\n\nexport interface DItemUpdaterDataSelection<VALUE> {\n\tcontains(value: VALUE): boolean;\n}\n\nexport interface DItemUpdaterDataMapped<VALUE> {\n\tsize(): number;\n\teach(iteratee: (value: VALUE, index: number) => void | boolean, from: number, to: number): void;\n}\n\nexport interface DItemUpdaterData<VALUE> {\n\treadonly selection: DItemUpdaterDataSelection<VALUE>;\n}\n\n/**\n * The primary purpose of this class is to minimize the number of rendered items (e.g., {@link DListItem})\n * as low as possible and to update their positions and states. For this sake, the updater calculates the\n * required number of items whenever their container size changes and creates items if needed.\n */\nexport abstract class DItemUpdater<\n\tVALUE = unknown,\n\tDATA extends DItemUpdaterData<VALUE> = DItemUpdaterData<VALUE>,\n\tDATA_MAPPED extends DItemUpdaterDataMapped<VALUE> = DItemUpdaterDataMapped<VALUE>,\n\tITEM extends DItemUpdaterItem<VALUE> = DItemUpdaterItem<VALUE>,\n\tOPTIONS extends DItemUpdaterOptions<VALUE, DATA, ITEM> = DItemUpdaterOptions<VALUE, DATA, ITEM>\n> {\n\tprotected _updateItemsCount: number;\n\tprotected _isUpdateItemsCalled: boolean;\n\tprotected _isUpdateItemsCalledForcibly: boolean;\n\tprotected _itemHeight: number;\n\tprotected _itemWidth: number;\n\tprotected _multiplicity: number;\n\tprotected _itemIndexStart: number;\n\tprotected _itemIndexEnd: number;\n\tprotected _workItems: ITEM[];\n\tprotected _data: DATA;\n\tprotected _content: DBase;\n\tprotected _container: DBase;\n\tprotected _newItem: DItemUpdaterNewItem<DATA, ITEM>;\n\tprotected _initItem: DItemUpdaterInitItem<DATA, ITEM>;\n\n\tconstructor(data: DATA, content: DBase, container: DBase, options?: OPTIONS) {\n\t\tthis._updateItemsCount = 0;\n\t\tthis._isUpdateItemsCalled = false;\n\t\tthis._isUpdateItemsCalledForcibly = false;\n\t\tthis._itemHeight = -1;\n\t\tthis._itemWidth = -1;\n\t\tthis._multiplicity = 1;\n\t\tthis._itemIndexStart = 0;\n\t\tthis._itemIndexEnd = 0;\n\t\tthis._workItems = [];\n\t\tthis._data = data;\n\t\tthis._content = content;\n\t\tthis._container = container;\n\t\tthis._newItem = this.toNewItem(options);\n\t\tthis._initItem = this.toInitItem(options);\n\t}\n\n\tprotected toNewItem(\n\t\toptions?: DItemUpdaterOptions<VALUE, DATA, ITEM>\n\t): DItemUpdaterNewItem<DATA, ITEM> {\n\t\treturn options?.newItem || this.newItem;\n\t}\n\n\tprotected abstract newItem(this: undefined, data: DATA): ITEM;\n\n\tprotected toInitItem(\n\t\toptions?: DItemUpdaterOptions<VALUE, DATA, ITEM>\n\t): DItemUpdaterInitItem<DATA, ITEM> {\n\t\tif (options) {\n\t\t\tconst initItem = options.initItem;\n\t\t\tif (initItem) {\n\t\t\t\treturn initItem;\n\t\t\t}\n\t\t\tif (options.stripe !== false) {\n\t\t\t\treturn this.initItem;\n\t\t\t}\n\t\t\treturn this.initItemNoStriping;\n\t\t}\n\t\treturn this.initItem;\n\t}\n\n\tprotected initItem(this: undefined, item: ITEM, index: number, data: DATA): ITEM {\n\t\titem.state.isAlternated = index % 2 === 1;\n\t\treturn item;\n\t}\n\n\tprotected initItemNoStriping(this: undefined, item: ITEM, index: number, data: DATA): ITEM {\n\t\treturn item;\n\t}\n\n\tget multiplicity(): number {\n\t\treturn this._multiplicity;\n\t}\n\n\tlock(): void {\n\t\tthis._updateItemsCount += 1;\n\t\tif (this._updateItemsCount === 1) {\n\t\t\tthis._isUpdateItemsCalled = false;\n\t\t\tthis._isUpdateItemsCalledForcibly = false;\n\t\t}\n\t}\n\n\tunlock(callIfNeeded: boolean): void {\n\t\tthis._updateItemsCount -= 1;\n\t\tif (this._updateItemsCount === 0) {\n\t\t\tif (callIfNeeded && this._isUpdateItemsCalled) {\n\t\t\t\tthis.update(this._isUpdateItemsCalledForcibly);\n\t\t\t}\n\t\t\tthis._isUpdateItemsCalled = false;\n\t\t\tthis._isUpdateItemsCalledForcibly = false;\n\t\t}\n\t}\n\n\tupdate(forcibly?: boolean): void {\n\t\tif (0 < this._updateItemsCount) {\n\t\t\tthis._isUpdateItemsCalled = true;\n\t\t\tif (forcibly) {\n\t\t\t\tthis._isUpdateItemsCalledForcibly = true;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tconst content = this._content;\n\t\tconst contentParent = content.parent;\n\t\tif (contentParent == null) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst container = this._container;\n\t\tconst items = container.children as ITEM[];\n\t\tconst height = contentParent.height;\n\n\t\tconst data = this._data;\n\t\tconst mapped = this.toMapped(data);\n\t\tconst dataSize = mapped.size();\n\n\t\tconst oldItemIndexStart = this._itemIndexStart;\n\t\tlet oldItemIndexEnd = this._itemIndexEnd;\n\t\tlet oldItemCount = oldItemIndexEnd - oldItemIndexStart;\n\n\t\tconst newItem = this._newItem;\n\t\tconst initItem = this._initItem;\n\t\tlet itemHeight = this._itemHeight;\n\t\tlet itemWidth = this._itemWidth;\n\t\tif (this._itemHeight < 0) {\n\t\t\tlet item: ITEM;\n\t\t\tif (0 < items.length) {\n\t\t\t\titem = items[0];\n\t\t\t} else {\n\t\t\t\titem = initItem(newItem(data), oldItemIndexStart, data);\n\t\t\t\tcontainer.addChild(item);\n\t\t\t\toldItemIndexEnd += 1;\n\t\t\t\toldItemCount += 1;\n\t\t\t}\n\t\t\titemHeight = Math.max(1, item.height);\n\t\t\tif (isNumber(item.getWidth())) {\n\t\t\t\titemWidth = Math.max(1, item.width);\n\t\t\t}\n\t\t\tthis._itemHeight = itemHeight;\n\t\t\tthis._itemWidth = itemWidth;\n\t\t}\n\t\tconst contentPadding = content.padding;\n\t\tconst contentPaddingTop = contentPadding.getTop();\n\t\tconst contentPaddingBottom = contentPadding.getBottom();\n\t\tconst contentPaddingLeft = contentPadding.getLeft();\n\t\tconst contentPaddingRight = contentPadding.getRight();\n\t\tconst contentWidthAvailable = Math.max(\n\t\t\t0,\n\t\t\tcontent.width - contentPaddingLeft - contentPaddingRight\n\t\t);\n\t\tconst multiplicity =\n\t\t\t0 < itemWidth ? Math.max(1, Math.floor(contentWidthAvailable / itemWidth)) : 1;\n\t\tthis._multiplicity = multiplicity;\n\n\t\tconst y = content !== container ? container.transform.position.y : contentPaddingTop;\n\t\tconst newHeight = Math.ceil(dataSize / multiplicity) * itemHeight;\n\t\tconst newContentHeight = Math.max(\n\t\t\theight,\n\t\t\tcontentPaddingTop + newHeight + contentPaddingBottom\n\t\t);\n\t\tconst newContentY = Math.max(height - newContentHeight, content.position.y);\n\n\t\tconst newItemIndexLowerBound = Math.floor(\n\t\t\t((0 - (newContentY + y)) * multiplicity) / itemHeight\n\t\t);\n\t\tconst newItemIndexUpperBound = Math.floor(\n\t\t\t((height - (newContentY + y)) * multiplicity) / itemHeight\n\t\t);\n\t\tlet newItemIndexStart = newItemIndexLowerBound - multiplicity;\n\t\tif (newItemIndexStart % 2 !== 0) {\n\t\t\tnewItemIndexStart -= 1;\n\t\t}\n\t\tlet newItemIndexEnd = newItemIndexUpperBound + multiplicity + multiplicity;\n\t\tif (newItemIndexEnd % 2 !== 0) {\n\t\t\tnewItemIndexEnd += 1;\n\t\t}\n\t\tlet newItemCount = newItemIndexEnd - newItemIndexStart;\n\t\tif (newItemCount < oldItemCount && oldItemCount - 2 <= newItemCount) {\n\t\t\tnewItemCount = oldItemCount;\n\t\t\tnewItemIndexEnd = newItemIndexStart + newItemCount;\n\t\t}\n\n\t\tif (oldItemCount < newItemCount) {\n\t\t\tfor (let i = oldItemCount; i < newItemCount; ++i) {\n\t\t\t\tconst oldItemIndex = oldItemIndexStart + i;\n\t\t\t\tconst item = initItem(newItem(data), oldItemIndex, data);\n\t\t\t\tcontainer.addChild(item);\n\t\t\t}\n\t\t\toldItemCount = newItemCount;\n\t\t\toldItemIndexEnd = oldItemIndexStart + oldItemCount;\n\t\t} else if (newItemCount < oldItemCount) {\n\t\t\tfor (let i = oldItemCount - 1; newItemCount <= i; --i) {\n\t\t\t\tcontainer.removeChild(items[i]);\n\t\t\t}\n\t\t\toldItemCount = newItemCount;\n\t\t\toldItemIndexEnd = oldItemIndexStart + oldItemCount;\n\t\t}\n\n\t\tthis._itemIndexStart = newItemIndexStart;\n\t\tthis._itemIndexEnd = newItemIndexEnd;\n\n\t\tconst itemIndexStartDelta = newItemIndexStart - oldItemIndexStart;\n\t\tconst itemIndexStartDeltaAbs = Math.abs(itemIndexStartDelta);\n\t\tconst itemsLength = items.length;\n\t\tif (0 < itemIndexStartDeltaAbs && itemIndexStartDeltaAbs < itemsLength) {\n\t\t\tconst work = this._workItems;\n\t\t\tif (0 < itemIndexStartDelta) {\n\t\t\t\tfor (let i = 0; i < itemIndexStartDeltaAbs; ++i) {\n\t\t\t\t\tconst item = items[i];\n\t\t\t\t\tthis.reset(item);\n\t\t\t\t\twork.push(item);\n\t\t\t\t}\n\t\t\t\tfor (let i = itemIndexStartDeltaAbs; i < itemsLength; ++i) {\n\t\t\t\t\titems[i - itemIndexStartDeltaAbs] = items[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < itemIndexStartDeltaAbs; ++i) {\n\t\t\t\t\titems[itemsLength - itemIndexStartDeltaAbs + i] = work[i];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < itemIndexStartDeltaAbs; ++i) {\n\t\t\t\t\tconst item = items[itemsLength - itemIndexStartDeltaAbs + i];\n\t\t\t\t\tthis.reset(item);\n\t\t\t\t\twork.push(item);\n\t\t\t\t}\n\t\t\t\tfor (let i = itemsLength - itemIndexStartDeltaAbs - 1; 0 <= i; --i) {\n\t\t\t\t\titems[i + itemIndexStartDeltaAbs] = items[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < itemIndexStartDeltaAbs; ++i) {\n\t\t\t\t\titems[i] = work[i];\n\t\t\t\t}\n\t\t\t}\n\t\t\twork.length = 0;\n\t\t}\n\n\t\tlet itemOffsetX = 0;\n\t\tlet itemOffsetY = 0;\n\t\tif (content === container) {\n\t\t\titemOffsetX = contentPaddingLeft;\n\t\t\titemOffsetY = contentPaddingTop;\n\t\t}\n\t\tmapped.each(\n\t\t\t(datum: VALUE, index: number): void | boolean => {\n\t\t\t\tconst item = items[index - newItemIndexStart];\n\t\t\t\tconst ix = index % multiplicity;\n\t\t\t\tconst iy = Math.floor(index / multiplicity);\n\t\t\t\titem.position.set(itemOffsetX + ix * itemWidth, itemOffsetY + iy * itemHeight);\n\t\t\t\tthis.set(item, datum, index, forcibly);\n\t\t\t},\n\t\t\tnewItemIndexStart,\n\t\t\tnewItemIndexStart + itemsLength\n\t\t);\n\n\t\tfor (let i = 0; newItemIndexStart + i < 0 && i < itemsLength; ++i) {\n\t\t\tconst item = items[i];\n\t\t\tconst index = newItemIndexStart + i;\n\t\t\tconst ix = index % multiplicity;\n\t\t\tconst iy = Math.floor(index / multiplicity);\n\t\t\titem.position.set(itemOffsetX + ix * itemWidth, itemOffsetY + iy * itemHeight);\n\t\t\tthis.unset(item);\n\t\t}\n\n\t\tfor (let i = itemsLength - 1; dataSize <= newItemIndexStart + i && 0 <= i; --i) {\n\t\t\tconst item = items[i];\n\t\t\tconst index = newItemIndexStart + i;\n\t\t\tconst ix = index % multiplicity;\n\t\t\tconst iy = Math.floor(index / multiplicity);\n\t\t\titem.position.set(itemOffsetX + ix * itemWidth, itemOffsetY + iy * itemHeight);\n\t\t\tthis.unset(item);\n\t\t}\n\n\t\tthis.lock();\n\t\tcontent.position.y = newContentY;\n\t\tcontent.height = newContentHeight;\n\t\tif (content !== container) {\n\t\t\tcontainer.height = newHeight;\n\t\t}\n\t\tthis.unlock(false);\n\t}\n\n\tprotected abstract toMapped(data: DATA): DATA_MAPPED;\n\n\tprotected set(item: ITEM, value: VALUE, index: number, forcibly?: boolean): void {\n\t\titem.set(value, index, forcibly);\n\t}\n\n\tprotected unset(item: ITEM): void {\n\t\titem.unset();\n\t}\n\n\tprotected reset(item: ITEM): ITEM {\n\t\titem.blur(true);\n\t\tconst cells = item.children;\n\t\tfor (let i = 0, imax = cells.length; i < imax; ++i) {\n\t\t\tconst cell = cells[i];\n\t\t\tif (cell instanceof DBase) {\n\t\t\t\tconst state = cell.state;\n\t\t\t\tstate.lock();\n\t\t\t\tstate.isPressed = false;\n\t\t\t\tstate.isHovered = false;\n\t\t\t\tstate.unlock();\n\t\t\t}\n\t\t}\n\t\titem.state.isHovered = false;\n\t\treturn item;\n\t}\n\n\tmoveFocus(\n\t\te: KeyboardEvent,\n\t\ttarget: DBase,\n\t\tmoveVertically: boolean,\n\t\tmoveHorizontally: boolean\n\t): boolean {\n\t\tif (!(moveVertically || moveHorizontally)) {\n\t\t\treturn false;\n\t\t}\n\t\tconst isUp = moveVertically && UtilKeyboardEvent.isArrowUpKey(e);\n\t\tconst isDown = moveVertically && UtilKeyboardEvent.isArrowDownKey(e);\n\t\tconst isLeft = moveHorizontally && UtilKeyboardEvent.isArrowLeftKey(e);\n\t\tconst isRight = moveHorizontally && UtilKeyboardEvent.isArrowRightKey(e);\n\t\tif (!(isUp || isDown || isLeft || isRight)) {\n\t\t\treturn false;\n\t\t}\n\t\tif (!target.state.isActionable) {\n\t\t\treturn false;\n\t\t}\n\t\tconst layer = DApplications.getLayer(target);\n\t\tif (layer == null) {\n\t\t\treturn false;\n\t\t}\n\t\tconst focusController = layer.getFocusController();\n\t\tconst focused = focusController.get();\n\t\tif (focused == null) {\n\t\t\treturn false;\n\t\t}\n\t\tconst container = this._container;\n\t\tif (focused.parent !== container) {\n\t\t\treturn false;\n\t\t}\n\t\tconst item = focused as ITEM;\n\t\tconst index = item.index;\n\t\tif (index == null) {\n\t\t\treturn false;\n\t\t}\n\t\tconst multiplicity = this._multiplicity;\n\t\tconst data = this._data;\n\t\tconst mapped = this.toMapped(data);\n\t\tconst dataSize = mapped.size();\n\t\tlet newIndex = index;\n\t\tif (isLeft || isRight) {\n\t\t\tif (isLeft) {\n\t\t\t\tif (0 <= newIndex - 1) {\n\t\t\t\t\tnewIndex -= 1;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (newIndex + 1 < dataSize) {\n\t\t\t\t\tnewIndex += 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (isUp || isDown) {\n\t\t\tif (isUp) {\n\t\t\t\tif (0 <= newIndex - multiplicity) {\n\t\t\t\t\tnewIndex -= multiplicity;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (newIndex + multiplicity < dataSize) {\n\t\t\t\t\tnewIndex += multiplicity;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (newIndex === index) {\n\t\t\treturn false;\n\t\t}\n\t\tconst items = container.children as ITEM[];\n\t\tconst itemIndex = items.indexOf(item);\n\t\tif (itemIndex < 0) {\n\t\t\treturn false;\n\t\t}\n\t\tconst newItemIndex = itemIndex + (newIndex - index);\n\t\tif (newItemIndex < 0 || items.length <= newItemIndex) {\n\t\t\treturn false;\n\t\t}\n\t\tconst newItem = items[newItemIndex];\n\t\tfocusController.focus(newItem);\n\t\treturn true;\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-item-updater.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-item-updater.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DApplications } from \"./d-applications\";\nimport { DBase } from \"./d-base\";\nimport { isNumber } from \"./util/is-number\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\n\nexport interface DItemUpdaterItem<VALUE> extends DBase {\n\treadonly value?: VALUE;\n\treadonly index?: number;\n\tset(value: VALUE, index: number, forcibly?: boolean): void;\n\tunset(): void;\n}\n\nexport type DItemUpdaterNewItem<DATA, ITEM> = (data: DATA) => ITEM;\n\nexport type DItemUpdaterInitItem<DATA, ITEM> = (item: ITEM, index: number, data: DATA) => ITEM;\n\n/**\n * Item updater options.\n */\nexport interface DItemUpdaterOptions<VALUE, DATA, ITEM> {\n\t/**\n\t * Called to create items.\n\t */\n\tnewItem?: DItemUpdaterNewItem<DATA, ITEM>;\n\n\t/**\n\t * Called to initialize items.\n\t */\n\tinitItem?: DItemUpdaterInitItem<DATA, ITEM>;\n\n\t/**\n\t * True to make stripe-colored items. Defaults to true.\n\t */\n\tstripe?: boolean;\n}\n\nexport interface DItemUpdaterDataSelection<VALUE> {\n\tcontains(value: VALUE): boolean;\n}\n\nexport interface DItemUpdaterDataMapped<VALUE> {\n\tsize(): number;\n\teach(iteratee: (value: VALUE, index: number) => void | boolean, from: number, to: number): void;\n}\n\nexport interface DItemUpdaterData<VALUE> {\n\treadonly selection: DItemUpdaterDataSelection<VALUE>;\n}\n\n/**\n * The primary purpose of this class is to minimize the number of rendered items (e.g., {@link DListItem})\n * as low as possible and to update their positions and states. For this sake, the updater calculates the\n * required number of items whenever their container size changes and creates items if needed.\n */\nexport abstract class DItemUpdater<\n\tVALUE = unknown,\n\tDATA extends DItemUpdaterData<VALUE> = DItemUpdaterData<VALUE>,\n\tDATA_MAPPED extends DItemUpdaterDataMapped<VALUE> = DItemUpdaterDataMapped<VALUE>,\n\tITEM extends DItemUpdaterItem<VALUE> = DItemUpdaterItem<VALUE>,\n\tOPTIONS extends DItemUpdaterOptions<VALUE, DATA, ITEM> = DItemUpdaterOptions<VALUE, DATA, ITEM>\n> {\n\tprotected _updateItemsCount: number;\n\tprotected _isUpdateItemsCalled: boolean;\n\tprotected _isUpdateItemsCalledForcibly: boolean;\n\tprotected _itemHeight: number;\n\tprotected _itemWidth: number;\n\tprotected _multiplicity: number;\n\tprotected _itemIndexStart: number;\n\tprotected _itemIndexEnd: number;\n\tprotected _workItems: ITEM[];\n\tprotected _data: DATA;\n\tprotected _content: DBase;\n\tprotected _container: DBase;\n\tprotected _newItem: DItemUpdaterNewItem<DATA, ITEM>;\n\tprotected _initItem: DItemUpdaterInitItem<DATA, ITEM>;\n\n\tconstructor(data: DATA, content: DBase, container: DBase, options?: OPTIONS) {\n\t\tthis._updateItemsCount = 0;\n\t\tthis._isUpdateItemsCalled = false;\n\t\tthis._isUpdateItemsCalledForcibly = false;\n\t\tthis._itemHeight = -1;\n\t\tthis._itemWidth = -1;\n\t\tthis._multiplicity = 1;\n\t\tthis._itemIndexStart = 0;\n\t\tthis._itemIndexEnd = 0;\n\t\tthis._workItems = [];\n\t\tthis._data = data;\n\t\tthis._content = content;\n\t\tthis._container = container;\n\t\tthis._newItem = this.toNewItem(options);\n\t\tthis._initItem = this.toInitItem(options);\n\t}\n\n\tprotected toNewItem(\n\t\toptions?: DItemUpdaterOptions<VALUE, DATA, ITEM>\n\t): DItemUpdaterNewItem<DATA, ITEM> {\n\t\treturn options?.newItem || this.newItem;\n\t}\n\n\tprotected abstract newItem(this: undefined, data: DATA): ITEM;\n\n\tprotected toInitItem(\n\t\toptions?: DItemUpdaterOptions<VALUE, DATA, ITEM>\n\t): DItemUpdaterInitItem<DATA, ITEM> {\n\t\tif (options) {\n\t\t\tconst initItem = options.initItem;\n\t\t\tif (initItem) {\n\t\t\t\treturn initItem;\n\t\t\t}\n\t\t\tif (options.stripe !== false) {\n\t\t\t\treturn this.initItem;\n\t\t\t}\n\t\t\treturn this.initItemNoStriping;\n\t\t}\n\t\treturn this.initItem;\n\t}\n\n\tprotected initItem(this: undefined, item: ITEM, index: number, data: DATA): ITEM {\n\t\titem.state.isAlternated = index % 2 === 1;\n\t\treturn item;\n\t}\n\n\tprotected initItemNoStriping(this: undefined, item: ITEM, index: number, data: DATA): ITEM {\n\t\treturn item;\n\t}\n\n\tget multiplicity(): number {\n\t\treturn this._multiplicity;\n\t}\n\n\tlock(): void {\n\t\tthis._updateItemsCount += 1;\n\t\tif (this._updateItemsCount === 1) {\n\t\t\tthis._isUpdateItemsCalled = false;\n\t\t\tthis._isUpdateItemsCalledForcibly = false;\n\t\t}\n\t}\n\n\tunlock(callIfNeeded: boolean): void {\n\t\tthis._updateItemsCount -= 1;\n\t\tif (this._updateItemsCount === 0) {\n\t\t\tif (callIfNeeded && this._isUpdateItemsCalled) {\n\t\t\t\tthis.update(this._isUpdateItemsCalledForcibly);\n\t\t\t}\n\t\t\tthis._isUpdateItemsCalled = false;\n\t\t\tthis._isUpdateItemsCalledForcibly = false;\n\t\t}\n\t}\n\n\tupdate(forcibly?: boolean): void {\n\t\tif (0 < this._updateItemsCount) {\n\t\t\tthis._isUpdateItemsCalled = true;\n\t\t\tif (forcibly) {\n\t\t\t\tthis._isUpdateItemsCalledForcibly = true;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tconst content = this._content;\n\t\tconst contentParent = content.parent;\n\t\tif (contentParent == null) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst container = this._container;\n\t\tconst items = container.children as ITEM[];\n\t\tconst height = contentParent.height;\n\n\t\tconst data = this._data;\n\t\tconst mapped = this.toMapped(data);\n\t\tconst dataSize = mapped.size();\n\n\t\tconst oldItemIndexStart = this._itemIndexStart;\n\t\tlet oldItemIndexEnd = this._itemIndexEnd;\n\t\tlet oldItemCount = oldItemIndexEnd - oldItemIndexStart;\n\n\t\tconst newItem = this._newItem;\n\t\tconst initItem = this._initItem;\n\t\tlet itemHeight = this._itemHeight;\n\t\tlet itemWidth = this._itemWidth;\n\t\tif (this._itemHeight < 0) {\n\t\t\tlet item: ITEM;\n\t\t\tif (0 < items.length) {\n\t\t\t\titem = items[0];\n\t\t\t} else {\n\t\t\t\titem = initItem(newItem(data), oldItemIndexStart, data);\n\t\t\t\tcontainer.addChild(item);\n\t\t\t\toldItemIndexEnd += 1;\n\t\t\t\toldItemCount += 1;\n\t\t\t}\n\t\t\titemHeight = Math.max(1, item.height);\n\t\t\tif (isNumber(item.getWidth())) {\n\t\t\t\titemWidth = Math.max(1, item.width);\n\t\t\t}\n\t\t\tthis._itemHeight = itemHeight;\n\t\t\tthis._itemWidth = itemWidth;\n\t\t}\n\t\tconst contentPadding = content.padding;\n\t\tconst contentPaddingTop = contentPadding.getTop();\n\t\tconst contentPaddingBottom = contentPadding.getBottom();\n\t\tconst contentPaddingLeft = contentPadding.getLeft();\n\t\tconst contentPaddingRight = contentPadding.getRight();\n\t\tconst contentWidthAvailable = Math.max(\n\t\t\t0,\n\t\t\tcontent.width - contentPaddingLeft - contentPaddingRight\n\t\t);\n\t\tconst multiplicity =\n\t\t\t0 < itemWidth ? Math.max(1, Math.floor(contentWidthAvailable / itemWidth)) : 1;\n\t\tthis._multiplicity = multiplicity;\n\n\t\tconst y = content !== container ? container.transform.position.y : contentPaddingTop;\n\t\tconst newHeight = Math.ceil(dataSize / multiplicity) * itemHeight;\n\t\tconst newContentHeight = Math.max(\n\t\t\theight,\n\t\t\tcontentPaddingTop + newHeight + contentPaddingBottom\n\t\t);\n\t\tconst newContentY = Math.max(height - newContentHeight, content.position.y);\n\n\t\tconst newItemIndexLowerBound = Math.floor(\n\t\t\t((0 - (newContentY + y)) * multiplicity) / itemHeight\n\t\t);\n\t\tconst newItemIndexUpperBound = Math.floor(\n\t\t\t((height - (newContentY + y)) * multiplicity) / itemHeight\n\t\t);\n\t\tlet newItemIndexStart = newItemIndexLowerBound - multiplicity;\n\t\tif (newItemIndexStart % 2 !== 0) {\n\t\t\tnewItemIndexStart -= 1;\n\t\t}\n\t\tlet newItemIndexEnd = newItemIndexUpperBound + multiplicity + multiplicity;\n\t\tif (newItemIndexEnd % 2 !== 0) {\n\t\t\tnewItemIndexEnd += 1;\n\t\t}\n\t\tlet newItemCount = newItemIndexEnd - newItemIndexStart;\n\t\tif (newItemCount < oldItemCount) {\n\t\t\tnewItemCount = oldItemCount;\n\t\t\tnewItemIndexEnd = newItemIndexStart + newItemCount;\n\t\t}\n\n\t\tif (oldItemCount < newItemCount) {\n\t\t\tfor (let i = oldItemCount; i < newItemCount; ++i) {\n\t\t\t\tconst oldItemIndex = oldItemIndexStart + i;\n\t\t\t\tconst item = initItem(newItem(data), oldItemIndex, data);\n\t\t\t\tcontainer.addChild(item);\n\t\t\t}\n\t\t\toldItemCount = newItemCount;\n\t\t\toldItemIndexEnd = oldItemIndexStart + oldItemCount;\n\t\t} else if (newItemCount < oldItemCount) {\n\t\t\tfor (let i = oldItemCount - 1; newItemCount <= i; --i) {\n\t\t\t\tcontainer.removeChild(items[i]);\n\t\t\t}\n\t\t\toldItemCount = newItemCount;\n\t\t\toldItemIndexEnd = oldItemIndexStart + oldItemCount;\n\t\t}\n\n\t\tthis._itemIndexStart = newItemIndexStart;\n\t\tthis._itemIndexEnd = newItemIndexEnd;\n\n\t\tconst itemIndexStartDelta = newItemIndexStart - oldItemIndexStart;\n\t\tconst itemIndexStartDeltaAbs = Math.abs(itemIndexStartDelta);\n\t\tconst itemsLength = items.length;\n\t\tif (0 < itemIndexStartDeltaAbs && itemIndexStartDeltaAbs < itemsLength) {\n\t\t\tconst work = this._workItems;\n\t\t\tif (0 < itemIndexStartDelta) {\n\t\t\t\tfor (let i = 0; i < itemIndexStartDeltaAbs; ++i) {\n\t\t\t\t\tconst item = items[i];\n\t\t\t\t\tthis.reset(item);\n\t\t\t\t\twork.push(item);\n\t\t\t\t}\n\t\t\t\tfor (let i = itemIndexStartDeltaAbs; i < itemsLength; ++i) {\n\t\t\t\t\titems[i - itemIndexStartDeltaAbs] = items[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < itemIndexStartDeltaAbs; ++i) {\n\t\t\t\t\titems[itemsLength - itemIndexStartDeltaAbs + i] = work[i];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < itemIndexStartDeltaAbs; ++i) {\n\t\t\t\t\tconst item = items[itemsLength - itemIndexStartDeltaAbs + i];\n\t\t\t\t\tthis.reset(item);\n\t\t\t\t\twork.push(item);\n\t\t\t\t}\n\t\t\t\tfor (let i = itemsLength - itemIndexStartDeltaAbs - 1; 0 <= i; --i) {\n\t\t\t\t\titems[i + itemIndexStartDeltaAbs] = items[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < itemIndexStartDeltaAbs; ++i) {\n\t\t\t\t\titems[i] = work[i];\n\t\t\t\t}\n\t\t\t}\n\t\t\twork.length = 0;\n\t\t}\n\n\t\tlet itemOffsetX = 0;\n\t\tlet itemOffsetY = 0;\n\t\tif (content === container) {\n\t\t\titemOffsetX = contentPaddingLeft;\n\t\t\titemOffsetY = contentPaddingTop;\n\t\t}\n\t\tmapped.each(\n\t\t\t(datum: VALUE, index: number): void | boolean => {\n\t\t\t\tconst item = items[index - newItemIndexStart];\n\t\t\t\tconst ix = index % multiplicity;\n\t\t\t\tconst iy = Math.floor(index / multiplicity);\n\t\t\t\titem.position.set(itemOffsetX + ix * itemWidth, itemOffsetY + iy * itemHeight);\n\t\t\t\tthis.set(item, datum, index, forcibly);\n\t\t\t},\n\t\t\tnewItemIndexStart,\n\t\t\tnewItemIndexStart + itemsLength\n\t\t);\n\n\t\tfor (let i = 0; newItemIndexStart + i < 0 && i < itemsLength; ++i) {\n\t\t\tconst item = items[i];\n\t\t\tconst index = newItemIndexStart + i;\n\t\t\tconst ix = index % multiplicity;\n\t\t\tconst iy = Math.floor(index / multiplicity);\n\t\t\titem.position.set(itemOffsetX + ix * itemWidth, itemOffsetY + iy * itemHeight);\n\t\t\tthis.unset(item);\n\t\t}\n\n\t\tfor (let i = itemsLength - 1; dataSize <= newItemIndexStart + i && 0 <= i; --i) {\n\t\t\tconst item = items[i];\n\t\t\tconst index = newItemIndexStart + i;\n\t\t\tconst ix = index % multiplicity;\n\t\t\tconst iy = Math.floor(index / multiplicity);\n\t\t\titem.position.set(itemOffsetX + ix * itemWidth, itemOffsetY + iy * itemHeight);\n\t\t\tthis.unset(item);\n\t\t}\n\n\t\tthis.lock();\n\t\tcontent.position.y = newContentY;\n\t\tcontent.height = newContentHeight;\n\t\tif (content !== container) {\n\t\t\tcontainer.height = newHeight;\n\t\t}\n\t\tthis.unlock(false);\n\t}\n\n\tprotected abstract toMapped(data: DATA): DATA_MAPPED;\n\n\tprotected set(item: ITEM, value: VALUE, index: number, forcibly?: boolean): void {\n\t\titem.set(value, index, forcibly);\n\t}\n\n\tprotected unset(item: ITEM): void {\n\t\titem.unset();\n\t}\n\n\tprotected reset(item: ITEM): ITEM {\n\t\titem.blur(true);\n\t\tconst cells = item.children;\n\t\tfor (let i = 0, imax = cells.length; i < imax; ++i) {\n\t\t\tconst cell = cells[i];\n\t\t\tif (cell instanceof DBase) {\n\t\t\t\tconst state = cell.state;\n\t\t\t\tstate.lock();\n\t\t\t\tstate.isPressed = false;\n\t\t\t\tstate.isHovered = false;\n\t\t\t\tstate.unlock();\n\t\t\t}\n\t\t}\n\t\titem.state.isHovered = false;\n\t\treturn item;\n\t}\n\n\tmoveFocus(\n\t\te: KeyboardEvent,\n\t\ttarget: DBase,\n\t\tmoveVertically: boolean,\n\t\tmoveHorizontally: boolean\n\t): boolean {\n\t\tif (!(moveVertically || moveHorizontally)) {\n\t\t\treturn false;\n\t\t}\n\t\tconst isUp = moveVertically && UtilKeyboardEvent.isArrowUpKey(e);\n\t\tconst isDown = moveVertically && UtilKeyboardEvent.isArrowDownKey(e);\n\t\tconst isLeft = moveHorizontally && UtilKeyboardEvent.isArrowLeftKey(e);\n\t\tconst isRight = moveHorizontally && UtilKeyboardEvent.isArrowRightKey(e);\n\t\tif (!(isUp || isDown || isLeft || isRight)) {\n\t\t\treturn false;\n\t\t}\n\t\tif (!target.state.isActionable) {\n\t\t\treturn false;\n\t\t}\n\t\tconst layer = DApplications.getLayer(target);\n\t\tif (layer == null) {\n\t\t\treturn false;\n\t\t}\n\t\tconst focusController = layer.getFocusController();\n\t\tconst focused = focusController.get();\n\t\tif (focused == null) {\n\t\t\treturn false;\n\t\t}\n\t\tconst container = this._container;\n\t\tif (focused.parent !== container) {\n\t\t\treturn false;\n\t\t}\n\t\tconst item = focused as ITEM;\n\t\tconst index = item.index;\n\t\tif (index == null) {\n\t\t\treturn false;\n\t\t}\n\t\tconst multiplicity = this._multiplicity;\n\t\tconst data = this._data;\n\t\tconst mapped = this.toMapped(data);\n\t\tconst dataSize = mapped.size();\n\t\tlet newIndex = index;\n\t\tif (isLeft || isRight) {\n\t\t\tif (isLeft) {\n\t\t\t\tif (0 <= newIndex - 1) {\n\t\t\t\t\tnewIndex -= 1;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (newIndex + 1 < dataSize) {\n\t\t\t\t\tnewIndex += 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (isUp || isDown) {\n\t\t\tif (isUp) {\n\t\t\t\tif (0 <= newIndex - multiplicity) {\n\t\t\t\t\tnewIndex -= multiplicity;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (newIndex + multiplicity < dataSize) {\n\t\t\t\t\tnewIndex += multiplicity;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (newIndex === index) {\n\t\t\treturn false;\n\t\t}\n\t\tconst items = container.children as ITEM[];\n\t\tconst itemIndex = items.indexOf(item);\n\t\tif (itemIndex < 0) {\n\t\t\treturn false;\n\t\t}\n\t\tconst newItemIndex = itemIndex + (newIndex - index);\n\t\tif (newItemIndex < 0 || items.length <= newItemIndex) {\n\t\t\treturn false;\n\t\t}\n\t\tconst newItem = items[newItemIndex];\n\t\tfocusController.focus(newItem);\n\t\treturn true;\n\t}\n}\n"]}
@@ -2,8 +2,7 @@
2
2
  * Copyright (C) 2019 Toshiba Corporation
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import { interaction } from "pixi.js";
6
- var InteractionEvent = interaction.InteractionEvent;
5
+ import { InteractionEvent } from "pixi.js";
7
6
  import { DLinkMenu } from "./d-link-menu";
8
7
  import { DLinkTarget } from "./d-link-target";
9
8
  import { isFunction } from "./util/is-function";