@wcardinal/wcardinal-ui 0.413.0 → 0.415.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 (43) hide show
  1. package/dist/types/wcardinal/ui/d-select.d.ts +1 -1
  2. package/dist/types/wcardinal/ui/d-table-category-cell.d.ts +3 -20
  3. package/dist/types/wcardinal/ui/d-table-category-column-impl.d.ts +1 -2
  4. package/dist/types/wcardinal/ui/d-table-category-container-impl.d.ts +1 -1
  5. package/dist/types/wcardinal/ui/d-table-cell-edge.d.ts +69 -0
  6. package/dist/types/wcardinal/ui/d-table-column-impl.d.ts +2 -0
  7. package/dist/types/wcardinal/ui/d-table-column.d.ts +2 -0
  8. package/dist/types/wcardinal/ui/d-table-data.d.ts +3 -3
  9. package/dist/types/wcardinal/ui/d-table-header-cell.d.ts +3 -19
  10. package/dist/types/wcardinal/ui/d-tree-data.d.ts +1 -1
  11. package/dist/wcardinal/ui/d-select.js.map +1 -1
  12. package/dist/wcardinal/ui/d-table-category-cell.js +5 -207
  13. package/dist/wcardinal/ui/d-table-category-cell.js.map +1 -1
  14. package/dist/wcardinal/ui/d-table-category-column-impl.js +19 -34
  15. package/dist/wcardinal/ui/d-table-category-column-impl.js.map +1 -1
  16. package/dist/wcardinal/ui/d-table-category-container-impl.js +14 -7
  17. package/dist/wcardinal/ui/d-table-category-container-impl.js.map +1 -1
  18. package/dist/wcardinal/ui/d-table-cell-edge.js +557 -0
  19. package/dist/wcardinal/ui/d-table-cell-edge.js.map +1 -0
  20. package/dist/wcardinal/ui/d-table-column-impl.js +2 -0
  21. package/dist/wcardinal/ui/d-table-column-impl.js.map +1 -1
  22. package/dist/wcardinal/ui/d-table-column.js.map +1 -1
  23. package/dist/wcardinal/ui/d-table-data.js.map +1 -1
  24. package/dist/wcardinal/ui/d-table-header-cell.js +6 -200
  25. package/dist/wcardinal/ui/d-table-header-cell.js.map +1 -1
  26. package/dist/wcardinal/ui/d-tree-data.js.map +1 -1
  27. package/dist/wcardinal-ui-theme-dark-en-us.js +1 -1
  28. package/dist/wcardinal-ui-theme-dark-en-us.min.js +1 -1
  29. package/dist/wcardinal-ui-theme-dark-ja-jp.js +1 -1
  30. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +1 -1
  31. package/dist/wcardinal-ui-theme-dark.js +1 -1
  32. package/dist/wcardinal-ui-theme-dark.min.js +1 -1
  33. package/dist/wcardinal-ui-theme-white-en-us.js +1 -1
  34. package/dist/wcardinal-ui-theme-white-en-us.min.js +1 -1
  35. package/dist/wcardinal-ui-theme-white-ja-jp.js +1 -1
  36. package/dist/wcardinal-ui-theme-white-ja-jp.min.js +1 -1
  37. package/dist/wcardinal-ui-theme-white.js +1 -1
  38. package/dist/wcardinal-ui-theme-white.min.js +1 -1
  39. package/dist/wcardinal-ui.cjs.js +558 -407
  40. package/dist/wcardinal-ui.js +558 -407
  41. package/dist/wcardinal-ui.min.js +2 -2
  42. package/dist/wcardinal-ui.min.js.map +1 -1
  43. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-column-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-column-impl.ts"],"names":[],"mappings":"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","sourcesContent":["import { utils } from \"pixi.js\";\nimport { DAlignHorizontal } from \"./d-align-horizontal\";\nimport { DDialogSelect, DDialogSelectOptions } from \"./d-dialog-select\";\nimport { DMenu, DMenuOptions } from \"./d-menu\";\nimport { DTableBodyCellLinkLinkOptions } from \"./d-table-body-cell-link\";\nimport { DTableBodyCellOptions } from \"./d-table-body-cell-options\";\nimport { DTableColumn, DTableColumnOptions } from \"./d-table-column\";\nimport { DTableColumnEditable, DTableColumnEditing } from \"./d-table-column-editing\";\nimport { DTableColumnFormatter } from \"./d-table-column-formatter\";\nimport { DTableColumnGetter } from \"./d-table-column-getter\";\nimport { DTableColumnRenderable } from \"./d-table-column-renderable\";\nimport {\n\tDTableColumnSelecting,\n\tDTableColumnSelectingDialog,\n\tDTableColumnSelectingOptions\n} from \"./d-table-column-selecting\";\nimport { DTableColumnSetter } from \"./d-table-column-setter\";\nimport { DTableColumnSorting } from \"./d-table-column-sorting\";\nimport { DTableColumnState } from \"./d-table-column-state\";\nimport { DTableColumnType } from \"./d-table-column-type\";\nimport { DTableColumnUpdate } from \"./d-table-column-update\";\nimport { DTableDataComparatorFunction } from \"./d-table-data-sorter\";\nimport { DTableHeaderCellOptions, DThemeTableHeaderCell } from \"./d-table-header-cell\";\nimport { isArray } from \"./util/is-array\";\nimport { isString } from \"./util/is-string\";\nimport { toEnum } from \"./util/to-enum\";\n\nconst defaultGetter = <ROW, CELL>(row: ROW, columnIndex: number): CELL => {\n\treturn (row as any)[columnIndex];\n};\n\nconst defaultSetter = <ROW, CELL>(row: ROW, columnIndex: number, cell: CELL): void => {\n\t(row as any)[columnIndex] = cell;\n};\n\nconst defaultGetterEmpty = <CELL>(): CELL => \"\" as any;\n\nconst defaultSetterEmpty = (): void => {\n\t// DO NOTHING\n};\n\nconst toPathGetter = <ROW, CELL>(path: string[], def?: CELL): DTableColumnGetter<ROW, CELL> => {\n\tif (path.length <= 1) {\n\t\tconst key = path[0];\n\t\tif (def === undefined) {\n\t\t\treturn (row: ROW): CELL => {\n\t\t\t\treturn (row as any)[key];\n\t\t\t};\n\t\t} else {\n\t\t\treturn (row: ROW): CELL => {\n\t\t\t\treturn Object.prototype.hasOwnProperty.call(row, key) ? (row as any)[key] : def;\n\t\t\t};\n\t\t}\n\t} else {\n\t\tif (def === undefined) {\n\t\t\treturn (row: ROW): CELL => {\n\t\t\t\tfor (let i = 0, imax = path.length - 1; i < imax; ++i) {\n\t\t\t\t\trow = (row as any)[path[i]];\n\t\t\t\t}\n\t\t\t\treturn (row as any)[path[path.length - 1]];\n\t\t\t};\n\t\t} else {\n\t\t\treturn (row: ROW): CELL => {\n\t\t\t\tfor (let i = 0, imax = path.length - 1; i < imax; ++i) {\n\t\t\t\t\trow = (row as any)[path[i]];\n\t\t\t\t}\n\t\t\t\tconst key = path[path.length - 1];\n\t\t\t\treturn Object.prototype.hasOwnProperty.call(row, key) ? (row as any)[key] : def;\n\t\t\t};\n\t\t}\n\t}\n};\n\nconst toPathSetter = <ROW, CELL>(path: string[]): DTableColumnSetter<ROW, CELL> => {\n\tif (path.length <= 1) {\n\t\tconst key = path[0];\n\t\treturn (row: ROW, columnIndex: number, cell: CELL): void => {\n\t\t\t(row as any)[key] = cell;\n\t\t};\n\t} else {\n\t\treturn (row: ROW, columnIndex: number, cell: CELL): void => {\n\t\t\tfor (let i = 0, imax = path.length - 1; i < imax; ++i) {\n\t\t\t\trow = (row as any)[path[i]] || {};\n\t\t\t}\n\t\t\t(row as any)[path[path.length - 1]] = cell;\n\t\t};\n\t}\n};\n\nconst toAlign = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\ttype: DTableColumnType\n): DAlignHorizontal => {\n\tconst align = options.align;\n\tif (align != null) {\n\t\tif (isString(align)) {\n\t\t\treturn DAlignHorizontal[align];\n\t\t} else {\n\t\t\treturn align;\n\t\t}\n\t}\n\tswitch (type) {\n\t\tcase DTableColumnType.TEXT:\n\t\tcase DTableColumnType.TEXT_AREA:\n\t\t\treturn DAlignHorizontal.LEFT;\n\t\tcase DTableColumnType.REAL:\n\t\tcase DTableColumnType.INTEGER:\n\t\t\treturn DAlignHorizontal.RIGHT;\n\t\tcase DTableColumnType.BUTTON:\n\t\tcase DTableColumnType.INDEX:\n\t\tcase DTableColumnType.SELECT:\n\t\tcase DTableColumnType.ACTION:\n\t\tcase DTableColumnType.LINK:\n\t\tcase DTableColumnType.CHECK:\n\t\tcase DTableColumnType.CHECK_SINGLE:\n\t\tcase DTableColumnType.COLOR:\n\t\t\treturn DAlignHorizontal.CENTER;\n\t\tdefault:\n\t\t\treturn DAlignHorizontal.LEFT;\n\t}\n};\n\nconst toDataChecker = <ROW>(path: string[] | null): DTableColumnEditable<ROW> => {\n\tif (path != null) {\n\t\tconst pathLength = path.length;\n\t\tif (pathLength <= 1) {\n\t\t\tconst key = path[0];\n\t\t\treturn (row: ROW): boolean => {\n\t\t\t\treturn Object.prototype.hasOwnProperty.call(row, key);\n\t\t\t};\n\t\t} else {\n\t\t\treturn (row: any): boolean => {\n\t\t\t\tfor (let i = 0; i < pathLength; ++i) {\n\t\t\t\t\tconst part: string = path[i];\n\t\t\t\t\tif (part in row) {\n\t\t\t\t\t\trow = row[part];\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t};\n\t\t}\n\t}\n\treturn (row: any, columnIndex: number): boolean => {\n\t\treturn columnIndex < row.length;\n\t};\n};\n\nconst toEditingEnable = <ROW>(\n\tenable: boolean | DTableColumnEditable<ROW> | \"auto\" | \"AUTO\" | undefined,\n\tpath: string[] | null\n): boolean | DTableColumnEditable<ROW> => {\n\tif (isString(enable)) {\n\t\treturn toDataChecker(path);\n\t} else if (enable != null) {\n\t\treturn enable;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nconst toEditing = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\tpath: string[] | null\n): DTableColumnEditing<ROW, CELL> => {\n\tconst editing = options.editing;\n\tconst editable = options.editable;\n\tif (editing) {\n\t\treturn {\n\t\t\tenable: toEditingEnable(editing.enable ?? editable, path),\n\t\t\tformatter: editing.formatter,\n\t\t\tunformatter: editing.unformatter,\n\t\t\tvalidator: editing.validator\n\t\t};\n\t}\n\treturn {\n\t\tenable: toEditingEnable(editable, path)\n\t};\n};\n\nconst toComparator = <ROW, CELL>(\n\tgetter: DTableColumnGetter<ROW, CELL>,\n\tindex: number\n): DTableDataComparatorFunction<ROW> => {\n\treturn (rowA: ROW, rowB: ROW): number => {\n\t\tconst valueA = getter(rowA, index) as any;\n\t\tconst valueB = getter(rowB, index) as any;\n\t\treturn valueA < valueB ? -1 : valueB < valueA ? +1 : 0;\n\t};\n};\n\nconst toSorting = <ROW, CELL>(\n\tgetter: DTableColumnGetter<ROW, CELL>,\n\tindex: number,\n\toptions: DTableColumnOptions<ROW, CELL>\n): DTableColumnSorting<ROW> => {\n\tconst sorting = options.sorting;\n\tconst sortable = options.sortable;\n\tif (sorting) {\n\t\tif (sorting.enable || sortable) {\n\t\t\treturn {\n\t\t\t\tenable: true,\n\t\t\t\tcomparator: sorting.comparator || toComparator(getter, index)\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tenable: false\n\t\t};\n\t}\n\tif (sortable) {\n\t\treturn {\n\t\t\tenable: true,\n\t\t\tcomparator: toComparator(getter, index)\n\t\t};\n\t}\n\treturn {\n\t\tenable: false\n\t};\n};\n\nconst toMenu = (options?: DMenuOptions<unknown> | DMenu<unknown>): DMenu<unknown> | undefined => {\n\tif (options == null) {\n\t\treturn undefined;\n\t} else if (options instanceof DMenu) {\n\t\treturn options;\n\t} else {\n\t\treturn new DMenu(options);\n\t}\n};\n\nconst toDialog = (\n\toptions?: DDialogSelectOptions<unknown> | DTableColumnSelectingDialog<unknown>\n): DTableColumnSelectingDialog<unknown> | undefined => {\n\tif (options == null) {\n\t\treturn undefined;\n\t} else if (\"open\" in options) {\n\t\treturn options;\n\t} else {\n\t\treturn new DDialogSelect(options);\n\t}\n};\n\nconst defaultSelectingGetter = (dialog: DTableColumnSelectingDialog<unknown>): unknown => {\n\treturn dialog.value;\n};\n\nconst defaultSelectingSetter = (): void => {\n\t// DO NOTHING\n};\n\nconst toSelecting = (\n\toptions: DTableColumnSelectingOptions<any, any, any> | undefined\n): DTableColumnSelecting<any, any, any> => {\n\tif (options) {\n\t\treturn {\n\t\t\tgetter: options.getter || defaultSelectingGetter,\n\t\t\tsetter: options.setter || defaultSelectingSetter,\n\t\t\tmenu: toMenu(options.menu),\n\t\t\tmultiple: toMenu(options.multiple),\n\t\t\tdialog: toDialog(options.dialog),\n\t\t\tpromise: options.promise\n\t\t};\n\t}\n\treturn {\n\t\tgetter: defaultSelectingGetter,\n\t\tsetter: defaultSelectingSetter\n\t};\n};\n\nconst toGetter = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\ttype: DTableColumnType,\n\tparts: string[] | null\n): DTableColumnGetter<ROW, CELL> => {\n\tconst getter = options.getter;\n\tif (getter) {\n\t\treturn getter;\n\t}\n\tswitch (type) {\n\t\tcase DTableColumnType.ACTION:\n\t\tcase DTableColumnType.LINK:\n\t\t\treturn defaultGetterEmpty;\n\t\tdefault:\n\t\t\tif (parts == null) {\n\t\t\t\treturn defaultGetter;\n\t\t\t} else {\n\t\t\t\treturn toPathGetter(parts, options.default);\n\t\t\t}\n\t}\n};\n\nconst toSetter = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\ttype: DTableColumnType,\n\tpath: string[] | null\n): DTableColumnSetter<ROW, CELL> => {\n\tconst setter = options.setter;\n\tif (setter) {\n\t\treturn setter;\n\t}\n\tswitch (type) {\n\t\tcase DTableColumnType.BUTTON:\n\t\tcase DTableColumnType.ACTION:\n\t\tcase DTableColumnType.LINK:\n\t\t\treturn defaultSetterEmpty;\n\t\tdefault:\n\t\t\tif (path == null) {\n\t\t\t\treturn defaultSetter;\n\t\t\t} else {\n\t\t\t\treturn toPathSetter(path);\n\t\t\t}\n\t}\n};\n\nconst toState = <ROW, CELL>(options: DTableColumnOptions<ROW, CELL>): DTableColumnState<ROW> => {\n\tconst state = options.state;\n\tif (state != null) {\n\t\tif (isString(state) || isArray(state)) {\n\t\t\treturn {\n\t\t\t\tinitial: state,\n\t\t\t\tmodifier: undefined\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tinitial: undefined,\n\t\t\t\tmodifier: state\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tinitial: undefined,\n\t\tmodifier: undefined\n\t};\n};\n\nconst toPath = <ROW, CELL>(options: DTableColumnOptions<ROW, CELL>): string[] | null => {\n\treturn options.path != null ? options.path.split(\".\") : null;\n};\n\nconst toRenderable = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\tpath: string[] | null\n): boolean | DTableColumnRenderable<ROW> => {\n\tconst renderable = options.renderable;\n\tif (isString(renderable)) {\n\t\treturn toDataChecker(path);\n\t} else if (renderable != null) {\n\t\treturn renderable;\n\t}\n\treturn true;\n};\n\nexport class DTableColumnImpl<\n\t\tROW_VALUE,\n\t\tCELL_VALUE,\n\t\tDIALOG_VALUE = CELL_VALUE,\n\t\tDIALOG extends\n\t\t\tDTableColumnSelectingDialog<DIALOG_VALUE> = DTableColumnSelectingDialog<DIALOG_VALUE>\n\t>\n\textends utils.EventEmitter\n\timplements DTableColumn<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG>\n{\n\tprotected _weight?: number;\n\tprotected _width?: number;\n\treadonly resizable: boolean;\n\n\treadonly type: DTableColumnType;\n\treadonly label: string;\n\treadonly getter: DTableColumnGetter<ROW_VALUE, CELL_VALUE>;\n\treadonly setter: DTableColumnSetter<ROW_VALUE, CELL_VALUE>;\n\treadonly formatter?: DTableColumnFormatter<CELL_VALUE>;\n\treadonly align: DAlignHorizontal;\n\treadonly state: DTableColumnState<ROW_VALUE>;\n\treadonly renderable: boolean | DTableColumnRenderable<ROW_VALUE>;\n\n\treadonly editing: DTableColumnEditing<ROW_VALUE, CELL_VALUE>;\n\treadonly sorting: DTableColumnSorting<ROW_VALUE>;\n\n\treadonly header?: DTableHeaderCellOptions<ROW_VALUE, DThemeTableHeaderCell>;\n\treadonly body?: DTableBodyCellOptions<ROW_VALUE>;\n\n\treadonly selecting: DTableColumnSelecting<CELL_VALUE, DIALOG_VALUE, DIALOG>;\n\n\treadonly category?: string | string[];\n\treadonly frozen?: boolean | undefined;\n\toffset: number;\n\n\treadonly link?: DTableBodyCellLinkLinkOptions<ROW_VALUE, CELL_VALUE>;\n\n\treadonly update: DTableColumnUpdate;\n\n\tconstructor(index: number, options: DTableColumnOptions<ROW_VALUE, CELL_VALUE>) {\n\t\tsuper();\n\t\tlet weight = options.weight;\n\t\tlet width = options.width;\n\t\tif (weight != null) {\n\t\t\tif (width != null) {\n\t\t\t\twidth = undefined;\n\t\t\t}\n\t\t} else if (width == null) {\n\t\t\tweight = 1;\n\t\t}\n\t\tconst type = toEnum(options.type ?? DTableColumnType.TEXT, DTableColumnType);\n\t\tconst align = toAlign(options, type);\n\t\tconst label = options.label || \"\";\n\t\tconst path = toPath(options);\n\t\tconst getter = toGetter(options, type, path);\n\t\tconst setter = toSetter(options, type, path);\n\n\t\tthis._weight = weight;\n\t\tthis._width = width;\n\t\tthis.resizable = options.resizable ?? false;\n\t\tthis.type = type;\n\t\tthis.label = label;\n\t\tthis.getter = getter;\n\t\tthis.setter = setter;\n\t\tthis.formatter = options.formatter;\n\t\tthis.renderable = toRenderable(options, path);\n\t\tthis.align = align;\n\t\tthis.state = toState(options);\n\n\t\tthis.editing = toEditing(options, path);\n\t\tthis.sorting = toSorting(getter, index, options);\n\n\t\tthis.header = options.header;\n\t\tthis.body = options.body;\n\n\t\tthis.selecting = toSelecting(options.selecting);\n\n\t\tthis.category = options.category;\n\t\tthis.frozen = options.frozen;\n\t\tthis.offset = 0.0;\n\n\t\tthis.link = options.link;\n\n\t\tthis.update = toEnum(options.update ?? DTableColumnUpdate.CELL, DTableColumnUpdate);\n\t}\n\n\tget weight(): number | undefined {\n\t\treturn this._weight;\n\t}\n\n\tset weight(weight: number) {\n\t\tif (this._weight != null && this._weight !== weight) {\n\t\t\tthis._weight = weight;\n\t\t\tthis.emit(\"resize\", this);\n\t\t}\n\t}\n\n\tget width(): number | undefined {\n\t\treturn this._width;\n\t}\n\n\tset width(width: number) {\n\t\tif (this._width != null && this._width !== width) {\n\t\t\tthis._width = width;\n\t\t\tthis.emit(\"resize\", this);\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-column-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-column-impl.ts"],"names":[],"mappings":"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","sourcesContent":["import { utils } from \"pixi.js\";\nimport { DAlignHorizontal } from \"./d-align-horizontal\";\nimport { DDialogSelect, DDialogSelectOptions } from \"./d-dialog-select\";\nimport { DMenu, DMenuOptions } from \"./d-menu\";\nimport { DTableBodyCellLinkLinkOptions } from \"./d-table-body-cell-link\";\nimport { DTableBodyCellOptions } from \"./d-table-body-cell-options\";\nimport { DTableColumn, DTableColumnOptions } from \"./d-table-column\";\nimport { DTableColumnEditable, DTableColumnEditing } from \"./d-table-column-editing\";\nimport { DTableColumnFormatter } from \"./d-table-column-formatter\";\nimport { DTableColumnGetter } from \"./d-table-column-getter\";\nimport { DTableColumnRenderable } from \"./d-table-column-renderable\";\nimport {\n\tDTableColumnSelecting,\n\tDTableColumnSelectingDialog,\n\tDTableColumnSelectingOptions\n} from \"./d-table-column-selecting\";\nimport { DTableColumnSetter } from \"./d-table-column-setter\";\nimport { DTableColumnSorting } from \"./d-table-column-sorting\";\nimport { DTableColumnState } from \"./d-table-column-state\";\nimport { DTableColumnType } from \"./d-table-column-type\";\nimport { DTableColumnUpdate } from \"./d-table-column-update\";\nimport { DTableDataComparatorFunction } from \"./d-table-data-sorter\";\nimport { DTableHeaderCellOptions, DThemeTableHeaderCell } from \"./d-table-header-cell\";\nimport { isArray } from \"./util/is-array\";\nimport { isString } from \"./util/is-string\";\nimport { toEnum } from \"./util/to-enum\";\n\nconst defaultGetter = <ROW, CELL>(row: ROW, columnIndex: number): CELL => {\n\treturn (row as any)[columnIndex];\n};\n\nconst defaultSetter = <ROW, CELL>(row: ROW, columnIndex: number, cell: CELL): void => {\n\t(row as any)[columnIndex] = cell;\n};\n\nconst defaultGetterEmpty = <CELL>(): CELL => \"\" as any;\n\nconst defaultSetterEmpty = (): void => {\n\t// DO NOTHING\n};\n\nconst toPathGetter = <ROW, CELL>(path: string[], def?: CELL): DTableColumnGetter<ROW, CELL> => {\n\tif (path.length <= 1) {\n\t\tconst key = path[0];\n\t\tif (def === undefined) {\n\t\t\treturn (row: ROW): CELL => {\n\t\t\t\treturn (row as any)[key];\n\t\t\t};\n\t\t} else {\n\t\t\treturn (row: ROW): CELL => {\n\t\t\t\treturn Object.prototype.hasOwnProperty.call(row, key) ? (row as any)[key] : def;\n\t\t\t};\n\t\t}\n\t} else {\n\t\tif (def === undefined) {\n\t\t\treturn (row: ROW): CELL => {\n\t\t\t\tfor (let i = 0, imax = path.length - 1; i < imax; ++i) {\n\t\t\t\t\trow = (row as any)[path[i]];\n\t\t\t\t}\n\t\t\t\treturn (row as any)[path[path.length - 1]];\n\t\t\t};\n\t\t} else {\n\t\t\treturn (row: ROW): CELL => {\n\t\t\t\tfor (let i = 0, imax = path.length - 1; i < imax; ++i) {\n\t\t\t\t\trow = (row as any)[path[i]];\n\t\t\t\t}\n\t\t\t\tconst key = path[path.length - 1];\n\t\t\t\treturn Object.prototype.hasOwnProperty.call(row, key) ? (row as any)[key] : def;\n\t\t\t};\n\t\t}\n\t}\n};\n\nconst toPathSetter = <ROW, CELL>(path: string[]): DTableColumnSetter<ROW, CELL> => {\n\tif (path.length <= 1) {\n\t\tconst key = path[0];\n\t\treturn (row: ROW, columnIndex: number, cell: CELL): void => {\n\t\t\t(row as any)[key] = cell;\n\t\t};\n\t} else {\n\t\treturn (row: ROW, columnIndex: number, cell: CELL): void => {\n\t\t\tfor (let i = 0, imax = path.length - 1; i < imax; ++i) {\n\t\t\t\trow = (row as any)[path[i]] || {};\n\t\t\t}\n\t\t\t(row as any)[path[path.length - 1]] = cell;\n\t\t};\n\t}\n};\n\nconst toAlign = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\ttype: DTableColumnType\n): DAlignHorizontal => {\n\tconst align = options.align;\n\tif (align != null) {\n\t\tif (isString(align)) {\n\t\t\treturn DAlignHorizontal[align];\n\t\t} else {\n\t\t\treturn align;\n\t\t}\n\t}\n\tswitch (type) {\n\t\tcase DTableColumnType.TEXT:\n\t\tcase DTableColumnType.TEXT_AREA:\n\t\t\treturn DAlignHorizontal.LEFT;\n\t\tcase DTableColumnType.REAL:\n\t\tcase DTableColumnType.INTEGER:\n\t\t\treturn DAlignHorizontal.RIGHT;\n\t\tcase DTableColumnType.BUTTON:\n\t\tcase DTableColumnType.INDEX:\n\t\tcase DTableColumnType.SELECT:\n\t\tcase DTableColumnType.ACTION:\n\t\tcase DTableColumnType.LINK:\n\t\tcase DTableColumnType.CHECK:\n\t\tcase DTableColumnType.CHECK_SINGLE:\n\t\tcase DTableColumnType.COLOR:\n\t\t\treturn DAlignHorizontal.CENTER;\n\t\tdefault:\n\t\t\treturn DAlignHorizontal.LEFT;\n\t}\n};\n\nconst toDataChecker = <ROW>(path: string[] | null): DTableColumnEditable<ROW> => {\n\tif (path != null) {\n\t\tconst pathLength = path.length;\n\t\tif (pathLength <= 1) {\n\t\t\tconst key = path[0];\n\t\t\treturn (row: ROW): boolean => {\n\t\t\t\treturn Object.prototype.hasOwnProperty.call(row, key);\n\t\t\t};\n\t\t} else {\n\t\t\treturn (row: any): boolean => {\n\t\t\t\tfor (let i = 0; i < pathLength; ++i) {\n\t\t\t\t\tconst part: string = path[i];\n\t\t\t\t\tif (part in row) {\n\t\t\t\t\t\trow = row[part];\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t};\n\t\t}\n\t}\n\treturn (row: any, columnIndex: number): boolean => {\n\t\treturn columnIndex < row.length;\n\t};\n};\n\nconst toEditingEnable = <ROW>(\n\tenable: boolean | DTableColumnEditable<ROW> | \"auto\" | \"AUTO\" | undefined,\n\tpath: string[] | null\n): boolean | DTableColumnEditable<ROW> => {\n\tif (isString(enable)) {\n\t\treturn toDataChecker(path);\n\t} else if (enable != null) {\n\t\treturn enable;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nconst toEditing = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\tpath: string[] | null\n): DTableColumnEditing<ROW, CELL> => {\n\tconst editing = options.editing;\n\tconst editable = options.editable;\n\tif (editing) {\n\t\treturn {\n\t\t\tenable: toEditingEnable(editing.enable ?? editable, path),\n\t\t\tformatter: editing.formatter,\n\t\t\tunformatter: editing.unformatter,\n\t\t\tvalidator: editing.validator\n\t\t};\n\t}\n\treturn {\n\t\tenable: toEditingEnable(editable, path)\n\t};\n};\n\nconst toComparator = <ROW, CELL>(\n\tgetter: DTableColumnGetter<ROW, CELL>,\n\tindex: number\n): DTableDataComparatorFunction<ROW> => {\n\treturn (rowA: ROW, rowB: ROW): number => {\n\t\tconst valueA = getter(rowA, index) as any;\n\t\tconst valueB = getter(rowB, index) as any;\n\t\treturn valueA < valueB ? -1 : valueB < valueA ? +1 : 0;\n\t};\n};\n\nconst toSorting = <ROW, CELL>(\n\tgetter: DTableColumnGetter<ROW, CELL>,\n\tindex: number,\n\toptions: DTableColumnOptions<ROW, CELL>\n): DTableColumnSorting<ROW> => {\n\tconst sorting = options.sorting;\n\tconst sortable = options.sortable;\n\tif (sorting) {\n\t\tif (sorting.enable || sortable) {\n\t\t\treturn {\n\t\t\t\tenable: true,\n\t\t\t\tcomparator: sorting.comparator || toComparator(getter, index)\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tenable: false\n\t\t};\n\t}\n\tif (sortable) {\n\t\treturn {\n\t\t\tenable: true,\n\t\t\tcomparator: toComparator(getter, index)\n\t\t};\n\t}\n\treturn {\n\t\tenable: false\n\t};\n};\n\nconst toMenu = (options?: DMenuOptions<unknown> | DMenu<unknown>): DMenu<unknown> | undefined => {\n\tif (options == null) {\n\t\treturn undefined;\n\t} else if (options instanceof DMenu) {\n\t\treturn options;\n\t} else {\n\t\treturn new DMenu(options);\n\t}\n};\n\nconst toDialog = (\n\toptions?: DDialogSelectOptions<unknown> | DTableColumnSelectingDialog<unknown>\n): DTableColumnSelectingDialog<unknown> | undefined => {\n\tif (options == null) {\n\t\treturn undefined;\n\t} else if (\"open\" in options) {\n\t\treturn options;\n\t} else {\n\t\treturn new DDialogSelect(options);\n\t}\n};\n\nconst defaultSelectingGetter = (dialog: DTableColumnSelectingDialog<unknown>): unknown => {\n\treturn dialog.value;\n};\n\nconst defaultSelectingSetter = (): void => {\n\t// DO NOTHING\n};\n\nconst toSelecting = (\n\toptions: DTableColumnSelectingOptions<any, any, any> | undefined\n): DTableColumnSelecting<any, any, any> => {\n\tif (options) {\n\t\treturn {\n\t\t\tgetter: options.getter || defaultSelectingGetter,\n\t\t\tsetter: options.setter || defaultSelectingSetter,\n\t\t\tmenu: toMenu(options.menu),\n\t\t\tmultiple: toMenu(options.multiple),\n\t\t\tdialog: toDialog(options.dialog),\n\t\t\tpromise: options.promise\n\t\t};\n\t}\n\treturn {\n\t\tgetter: defaultSelectingGetter,\n\t\tsetter: defaultSelectingSetter\n\t};\n};\n\nconst toGetter = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\ttype: DTableColumnType,\n\tparts: string[] | null\n): DTableColumnGetter<ROW, CELL> => {\n\tconst getter = options.getter;\n\tif (getter) {\n\t\treturn getter;\n\t}\n\tswitch (type) {\n\t\tcase DTableColumnType.ACTION:\n\t\tcase DTableColumnType.LINK:\n\t\t\treturn defaultGetterEmpty;\n\t\tdefault:\n\t\t\tif (parts == null) {\n\t\t\t\treturn defaultGetter;\n\t\t\t} else {\n\t\t\t\treturn toPathGetter(parts, options.default);\n\t\t\t}\n\t}\n};\n\nconst toSetter = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\ttype: DTableColumnType,\n\tpath: string[] | null\n): DTableColumnSetter<ROW, CELL> => {\n\tconst setter = options.setter;\n\tif (setter) {\n\t\treturn setter;\n\t}\n\tswitch (type) {\n\t\tcase DTableColumnType.BUTTON:\n\t\tcase DTableColumnType.ACTION:\n\t\tcase DTableColumnType.LINK:\n\t\t\treturn defaultSetterEmpty;\n\t\tdefault:\n\t\t\tif (path == null) {\n\t\t\t\treturn defaultSetter;\n\t\t\t} else {\n\t\t\t\treturn toPathSetter(path);\n\t\t\t}\n\t}\n};\n\nconst toState = <ROW, CELL>(options: DTableColumnOptions<ROW, CELL>): DTableColumnState<ROW> => {\n\tconst state = options.state;\n\tif (state != null) {\n\t\tif (isString(state) || isArray(state)) {\n\t\t\treturn {\n\t\t\t\tinitial: state,\n\t\t\t\tmodifier: undefined\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tinitial: undefined,\n\t\t\t\tmodifier: state\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tinitial: undefined,\n\t\tmodifier: undefined\n\t};\n};\n\nconst toPath = <ROW, CELL>(options: DTableColumnOptions<ROW, CELL>): string[] | null => {\n\treturn options.path != null ? options.path.split(\".\") : null;\n};\n\nconst toRenderable = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\tpath: string[] | null\n): boolean | DTableColumnRenderable<ROW> => {\n\tconst renderable = options.renderable;\n\tif (isString(renderable)) {\n\t\treturn toDataChecker(path);\n\t} else if (renderable != null) {\n\t\treturn renderable;\n\t}\n\treturn true;\n};\n\nexport class DTableColumnImpl<\n\t\tROW_VALUE,\n\t\tCELL_VALUE,\n\t\tDIALOG_VALUE = CELL_VALUE,\n\t\tDIALOG extends\n\t\t\tDTableColumnSelectingDialog<DIALOG_VALUE> = DTableColumnSelectingDialog<DIALOG_VALUE>\n\t>\n\textends utils.EventEmitter\n\timplements DTableColumn<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG>\n{\n\tprotected _weight?: number;\n\treadonly minWeight: number;\n\tprotected _width?: number;\n\treadonly minWidth: number;\n\treadonly resizable: boolean;\n\n\treadonly type: DTableColumnType;\n\treadonly label: string;\n\treadonly getter: DTableColumnGetter<ROW_VALUE, CELL_VALUE>;\n\treadonly setter: DTableColumnSetter<ROW_VALUE, CELL_VALUE>;\n\treadonly formatter?: DTableColumnFormatter<CELL_VALUE>;\n\treadonly align: DAlignHorizontal;\n\treadonly state: DTableColumnState<ROW_VALUE>;\n\treadonly renderable: boolean | DTableColumnRenderable<ROW_VALUE>;\n\n\treadonly editing: DTableColumnEditing<ROW_VALUE, CELL_VALUE>;\n\treadonly sorting: DTableColumnSorting<ROW_VALUE>;\n\n\treadonly header?: DTableHeaderCellOptions<ROW_VALUE, DThemeTableHeaderCell>;\n\treadonly body?: DTableBodyCellOptions<ROW_VALUE>;\n\n\treadonly selecting: DTableColumnSelecting<CELL_VALUE, DIALOG_VALUE, DIALOG>;\n\n\treadonly category?: string | string[];\n\treadonly frozen?: boolean | undefined;\n\toffset: number;\n\n\treadonly link?: DTableBodyCellLinkLinkOptions<ROW_VALUE, CELL_VALUE>;\n\n\treadonly update: DTableColumnUpdate;\n\n\tconstructor(index: number, options: DTableColumnOptions<ROW_VALUE, CELL_VALUE>) {\n\t\tsuper();\n\t\tlet weight = options.weight;\n\t\tlet width = options.width;\n\t\tif (weight != null) {\n\t\t\tif (width != null) {\n\t\t\t\twidth = undefined;\n\t\t\t}\n\t\t} else if (width == null) {\n\t\t\tweight = 1;\n\t\t}\n\t\tconst type = toEnum(options.type ?? DTableColumnType.TEXT, DTableColumnType);\n\t\tconst align = toAlign(options, type);\n\t\tconst label = options.label || \"\";\n\t\tconst path = toPath(options);\n\t\tconst getter = toGetter(options, type, path);\n\t\tconst setter = toSetter(options, type, path);\n\n\t\tthis._weight = weight;\n\t\tthis.minWeight = 0;\n\t\tthis._width = width;\n\t\tthis.minWidth = 0;\n\t\tthis.resizable = options.resizable ?? false;\n\t\tthis.type = type;\n\t\tthis.label = label;\n\t\tthis.getter = getter;\n\t\tthis.setter = setter;\n\t\tthis.formatter = options.formatter;\n\t\tthis.renderable = toRenderable(options, path);\n\t\tthis.align = align;\n\t\tthis.state = toState(options);\n\n\t\tthis.editing = toEditing(options, path);\n\t\tthis.sorting = toSorting(getter, index, options);\n\n\t\tthis.header = options.header;\n\t\tthis.body = options.body;\n\n\t\tthis.selecting = toSelecting(options.selecting);\n\n\t\tthis.category = options.category;\n\t\tthis.frozen = options.frozen;\n\t\tthis.offset = 0.0;\n\n\t\tthis.link = options.link;\n\n\t\tthis.update = toEnum(options.update ?? DTableColumnUpdate.CELL, DTableColumnUpdate);\n\t}\n\n\tget weight(): number | undefined {\n\t\treturn this._weight;\n\t}\n\n\tset weight(weight: number) {\n\t\tif (this._weight != null && this._weight !== weight) {\n\t\t\tthis._weight = weight;\n\t\t\tthis.emit(\"resize\", this);\n\t\t}\n\t}\n\n\tget width(): number | undefined {\n\t\treturn this._width;\n\t}\n\n\tset width(width: number) {\n\t\tif (this._width != null && this._width !== width) {\n\t\t\tthis._width = width;\n\t\t\tthis.emit(\"resize\", this);\n\t\t}\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-column.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-column.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DAlignHorizontal } from \"./d-align-horizontal\";\nimport { DTableBodyCellLinkLinkOptions } from \"./d-table-body-cell-link\";\nimport { DTableBodyCellOptions } from \"./d-table-body-cell-options\";\nimport {\n\tDTableColumnEditing,\n\tDTableColumnEditingOptions,\n\tDTableColumnEditable\n} from \"./d-table-column-editing\";\nimport { DTableColumnFormatter } from \"./d-table-column-formatter\";\nimport { DTableColumnGetter } from \"./d-table-column-getter\";\nimport { DTableColumnRenderable } from \"./d-table-column-renderable\";\nimport {\n\tDTableColumnSelecting,\n\tDTableColumnSelectingDialog,\n\tDTableColumnSelectingOptions\n} from \"./d-table-column-selecting\";\nimport { DTableColumnSetter } from \"./d-table-column-setter\";\nimport { DTableColumnSorting, DTableColumnSortingOptions } from \"./d-table-column-sorting\";\nimport { DTableColumnState, DTableColumnStateModifier } from \"./d-table-column-state\";\nimport { DTableColumnType } from \"./d-table-column-type\";\nimport { DTableColumnUpdate } from \"./d-table-column-update\";\nimport { DTableHeaderCellOptions } from \"./d-table-header-cell\";\n\nexport interface DTableColumnOptions<\n\tROW_VALUE,\n\tCELL_VALUE = any,\n\tDIALOG_VALUE = any,\n\tDIALOG extends DTableColumnSelectingDialog<DIALOG_VALUE> = any\n> {\n\tweight?: number;\n\twidth?: number;\n\tresizable?: boolean;\n\n\ttype?: keyof typeof DTableColumnType | DTableColumnType;\n\tlabel?: string;\n\tgetter?: DTableColumnGetter<ROW_VALUE, CELL_VALUE>;\n\tsetter?: DTableColumnSetter<ROW_VALUE, CELL_VALUE>;\n\tpath?: string;\n\tdefault?: CELL_VALUE;\n\n\t/**\n\t * A shortcut of body#text#formatter.\n\t */\n\tformatter?: DTableColumnFormatter<CELL_VALUE>;\n\n\t/**\n\t * A shortcut of body#text#align#horizontal.\n\t */\n\talign?: keyof typeof DAlignHorizontal | DAlignHorizontal;\n\n\t/**\n\t * A state option.\n\t */\n\tstate?: string | string[] | DTableColumnStateModifier<ROW_VALUE>;\n\n\t/**\n\t * If the renderable is\n\t *\n\t * * true, cells get rendered.\n\t * * false, cells do not get rendered.\n\t * * a function, cells get rendered only when that function returns true.\n\t * * \"AUTO\", cells get rendered only when the cell data exit.\n\t */\n\trenderable?: boolean | DTableColumnRenderable<ROW_VALUE> | \"auto\" | \"AUTO\";\n\n\t/**\n\t * If the editable is\n\t *\n\t * * true, cells get editable.\n\t * * false, cells do not get editable.\n\t * * a function, cells are editable only when that function returns true.\n\t * * \"AUTO\", cells are editable only when the cell data exist.\n\t */\n\teditable?: boolean | DTableColumnEditable<ROW_VALUE> | \"auto\" | \"AUTO\";\n\tediting?: DTableColumnEditingOptions<ROW_VALUE, CELL_VALUE>;\n\n\tsortable?: boolean;\n\tsorting?: DTableColumnSortingOptions<ROW_VALUE>;\n\n\theader?: DTableHeaderCellOptions<ROW_VALUE>;\n\tbody?: DTableBodyCellOptions<ROW_VALUE>;\n\n\tselecting?: DTableColumnSelectingOptions<CELL_VALUE, DIALOG_VALUE, DIALOG>;\n\n\tcategory?: string | string[];\n\tfrozen?: boolean;\n\n\tlink?: DTableBodyCellLinkLinkOptions<ROW_VALUE, CELL_VALUE>;\n\n\t/**\n\t * An update region when cells get edited.\n\t *\n\t * * CELL: Edited cells (Default).\n\t * * ROW: Rows that edited cells belongs to.\n\t * * ALL: All the rows.\n\t */\n\tupdate?: keyof typeof DTableColumnUpdate | DTableColumnUpdate;\n}\n\nexport interface DTableColumn<\n\tROW_VALUE,\n\tCELL_VALUE = unknown,\n\tDIALOG_VALUE = CELL_VALUE,\n\tDIALOG extends\n\t\tDTableColumnSelectingDialog<DIALOG_VALUE> = DTableColumnSelectingDialog<DIALOG_VALUE>\n> extends utils.EventEmitter {\n\tweight?: number;\n\twidth?: number;\n\treadonly resizable: boolean;\n\n\treadonly type: DTableColumnType;\n\tlabel: string;\n\treadonly getter: DTableColumnGetter<ROW_VALUE, CELL_VALUE>;\n\treadonly setter: DTableColumnSetter<ROW_VALUE, CELL_VALUE>;\n\treadonly formatter?: DTableColumnFormatter<CELL_VALUE>;\n\treadonly align: DAlignHorizontal;\n\treadonly state: DTableColumnState<ROW_VALUE>;\n\treadonly renderable: boolean | DTableColumnRenderable<ROW_VALUE>;\n\n\treadonly editing: DTableColumnEditing<ROW_VALUE, CELL_VALUE>;\n\treadonly sorting: DTableColumnSorting<ROW_VALUE>;\n\n\treadonly header?: DTableHeaderCellOptions<ROW_VALUE>;\n\treadonly body?: DTableBodyCellOptions<ROW_VALUE>;\n\n\treadonly selecting: DTableColumnSelecting<CELL_VALUE, DIALOG_VALUE, DIALOG>;\n\n\treadonly category?: string | string[];\n\treadonly frozen?: boolean;\n\toffset: number;\n\n\treadonly link?: DTableBodyCellLinkLinkOptions<ROW_VALUE, CELL_VALUE>;\n\n\treadonly update: DTableColumnUpdate;\n}\n"]}
1
+ {"version":3,"file":"d-table-column.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-column.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DAlignHorizontal } from \"./d-align-horizontal\";\nimport { DTableBodyCellLinkLinkOptions } from \"./d-table-body-cell-link\";\nimport { DTableBodyCellOptions } from \"./d-table-body-cell-options\";\nimport {\n\tDTableColumnEditing,\n\tDTableColumnEditingOptions,\n\tDTableColumnEditable\n} from \"./d-table-column-editing\";\nimport { DTableColumnFormatter } from \"./d-table-column-formatter\";\nimport { DTableColumnGetter } from \"./d-table-column-getter\";\nimport { DTableColumnRenderable } from \"./d-table-column-renderable\";\nimport {\n\tDTableColumnSelecting,\n\tDTableColumnSelectingDialog,\n\tDTableColumnSelectingOptions\n} from \"./d-table-column-selecting\";\nimport { DTableColumnSetter } from \"./d-table-column-setter\";\nimport { DTableColumnSorting, DTableColumnSortingOptions } from \"./d-table-column-sorting\";\nimport { DTableColumnState, DTableColumnStateModifier } from \"./d-table-column-state\";\nimport { DTableColumnType } from \"./d-table-column-type\";\nimport { DTableColumnUpdate } from \"./d-table-column-update\";\nimport { DTableHeaderCellOptions } from \"./d-table-header-cell\";\n\nexport interface DTableColumnOptions<\n\tROW_VALUE,\n\tCELL_VALUE = any,\n\tDIALOG_VALUE = any,\n\tDIALOG extends DTableColumnSelectingDialog<DIALOG_VALUE> = any\n> {\n\tweight?: number;\n\twidth?: number;\n\tresizable?: boolean;\n\n\ttype?: keyof typeof DTableColumnType | DTableColumnType;\n\tlabel?: string;\n\tgetter?: DTableColumnGetter<ROW_VALUE, CELL_VALUE>;\n\tsetter?: DTableColumnSetter<ROW_VALUE, CELL_VALUE>;\n\tpath?: string;\n\tdefault?: CELL_VALUE;\n\n\t/**\n\t * A shortcut of body#text#formatter.\n\t */\n\tformatter?: DTableColumnFormatter<CELL_VALUE>;\n\n\t/**\n\t * A shortcut of body#text#align#horizontal.\n\t */\n\talign?: keyof typeof DAlignHorizontal | DAlignHorizontal;\n\n\t/**\n\t * A state option.\n\t */\n\tstate?: string | string[] | DTableColumnStateModifier<ROW_VALUE>;\n\n\t/**\n\t * If the renderable is\n\t *\n\t * * true, cells get rendered.\n\t * * false, cells do not get rendered.\n\t * * a function, cells get rendered only when that function returns true.\n\t * * \"AUTO\", cells get rendered only when the cell data exit.\n\t */\n\trenderable?: boolean | DTableColumnRenderable<ROW_VALUE> | \"auto\" | \"AUTO\";\n\n\t/**\n\t * If the editable is\n\t *\n\t * * true, cells get editable.\n\t * * false, cells do not get editable.\n\t * * a function, cells are editable only when that function returns true.\n\t * * \"AUTO\", cells are editable only when the cell data exist.\n\t */\n\teditable?: boolean | DTableColumnEditable<ROW_VALUE> | \"auto\" | \"AUTO\";\n\tediting?: DTableColumnEditingOptions<ROW_VALUE, CELL_VALUE>;\n\n\tsortable?: boolean;\n\tsorting?: DTableColumnSortingOptions<ROW_VALUE>;\n\n\theader?: DTableHeaderCellOptions<ROW_VALUE>;\n\tbody?: DTableBodyCellOptions<ROW_VALUE>;\n\n\tselecting?: DTableColumnSelectingOptions<CELL_VALUE, DIALOG_VALUE, DIALOG>;\n\n\tcategory?: string | string[];\n\tfrozen?: boolean;\n\n\tlink?: DTableBodyCellLinkLinkOptions<ROW_VALUE, CELL_VALUE>;\n\n\t/**\n\t * An update region when cells get edited.\n\t *\n\t * * CELL: Edited cells (Default).\n\t * * ROW: Rows that edited cells belongs to.\n\t * * ALL: All the rows.\n\t */\n\tupdate?: keyof typeof DTableColumnUpdate | DTableColumnUpdate;\n}\n\nexport interface DTableColumn<\n\tROW_VALUE,\n\tCELL_VALUE = unknown,\n\tDIALOG_VALUE = CELL_VALUE,\n\tDIALOG extends\n\t\tDTableColumnSelectingDialog<DIALOG_VALUE> = DTableColumnSelectingDialog<DIALOG_VALUE>\n> extends utils.EventEmitter {\n\tweight?: number;\n\tminWeight: number;\n\twidth?: number;\n\tminWidth: number;\n\treadonly resizable: boolean;\n\n\treadonly type: DTableColumnType;\n\tlabel: string;\n\treadonly getter: DTableColumnGetter<ROW_VALUE, CELL_VALUE>;\n\treadonly setter: DTableColumnSetter<ROW_VALUE, CELL_VALUE>;\n\treadonly formatter?: DTableColumnFormatter<CELL_VALUE>;\n\treadonly align: DAlignHorizontal;\n\treadonly state: DTableColumnState<ROW_VALUE>;\n\treadonly renderable: boolean | DTableColumnRenderable<ROW_VALUE>;\n\n\treadonly editing: DTableColumnEditing<ROW_VALUE, CELL_VALUE>;\n\treadonly sorting: DTableColumnSorting<ROW_VALUE>;\n\n\treadonly header?: DTableHeaderCellOptions<ROW_VALUE>;\n\treadonly body?: DTableBodyCellOptions<ROW_VALUE>;\n\n\treadonly selecting: DTableColumnSelecting<CELL_VALUE, DIALOG_VALUE, DIALOG>;\n\n\treadonly category?: string | string[];\n\treadonly frozen?: boolean;\n\toffset: number;\n\n\treadonly link?: DTableBodyCellLinkLinkOptions<ROW_VALUE, CELL_VALUE>;\n\n\treadonly update: DTableColumnUpdate;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-data.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data.ts"],"names":[],"mappings":"","sourcesContent":["import { utils } from \"pixi.js\";\nimport { DBaseOnOptions } from \"./d-base\";\nimport { DTableDataFilter, DTableDataFilterer } from \"./d-table-data-filter\";\nimport {\n\tDTableDataSelection,\n\tDTableDataSelectionCreator,\n\tDTableDataSelectionOptions\n} from \"./d-table-data-selection\";\nimport { DTableDataComparator, DTableDataSorter } from \"./d-table-data-sorter\";\n\nexport type DTableDataSupplimental = number;\n\nexport type DTableDataMappedEachIteratee<ROW> = (\n\trow: ROW,\n\tsupplimental: DTableDataSupplimental | null,\n\tindex: number,\n\tunmappedIndex: number\n) => void | boolean;\n\nexport interface DTableDataMapped<ROW> {\n\t/**\n\t * Mapped rows.\n\t */\n\treadonly rows: ROW[];\n\n\t/**\n\t * Returns an mapped index of the specified unmapped index.\n\t * A mapped index is an index on rows filters and sorters are applied.\n\t *\n\t * @param unmappedIndex a unmapped index\n\t */\n\tmap(unmappedIndex: number): number | null;\n\n\t/**\n\t * Returns an unmapped index of the specified mapped index.\n\t * A mapped index is an index on rows filters and sorters are applied.\n\t *\n\t * @param index a mapped index\n\t */\n\tunmap(index: number): number;\n\n\t/**\n\t * Returns a size of rows.\n\t */\n\tsize(): number;\n\n\t/**\n\t * Returns a row data at the specified index.\n\t * The index is an index on rows filters and sorters are applied.\n\t *\n\t * @param index a mapped index\n\t */\n\tget(index: number): ROW | null;\n\n\t/**\n\t * Calls the specified iteratee on each mapped datum of the specified index range.\n\t * If called iteratee explicitly returns false, stops an iteration.\n\t *\n\t * @param iteratee an function called on each mapped datum\n\t * @param ifrom an index to start an iteration\n\t * @param ito an index before which an interation stops\n\t */\n\teach(iteratee: DTableDataMappedEachIteratee<ROW>, ifrom?: number, iend?: number): void;\n}\n\nexport type DTableDataEachIteratee<ROW> = (row: ROW, index: number) => void | boolean;\n\nexport interface DTableDataOptions<ROW, EMITTER = any> {\n\t/**\n\t * Selection options.\n\t */\n\tselection?:\n\t\t| DTableDataSelection<ROW>\n\t\t| DTableDataSelectionCreator<ROW>\n\t\t| DTableDataSelectionOptions;\n\n\t/**\n\t * A filter.\n\t */\n\tfilter?: DTableDataFilterer<ROW>;\n\n\t/**\n\t * A comparator.\n\t */\n\tcomparator?: DTableDataComparator<ROW>;\n\n\t/**\n\t * Mappings of event names and event handlers.\n\t */\n\ton?: DBaseOnOptions<EMITTER>;\n}\n\nexport interface DTableDataParent {\n\tlock(): void;\n\tunlock(callIfNeeded: boolean): void;\n\tupdate(forcibly?: boolean): void;\n}\n\nexport interface DTableData<ROW> extends utils.EventEmitter {\n\t/**\n\t * A data selection.\n\t */\n\treadonly selection: DTableDataSelection<ROW>;\n\n\t/**\n\t * A data filter.\n\t */\n\treadonly filter: DTableDataFilter<ROW>;\n\n\t/**\n\t * A data sorter.\n\t */\n\treadonly sorter: DTableDataSorter<ROW>;\n\n\t/**\n\t * Sorted and filtered data.\n\t */\n\treadonly mapped: DTableDataMapped<ROW>;\n\n\t/** A list of rows. */\n\treadonly rows: ROW[];\n\n\tbind(parent: DTableDataParent): void;\n\n\tupdate(forcibly?: boolean): void;\n\n\tlock(): void;\n\n\tunlock(callIfNeeded: boolean): void;\n\n\t/**\n\t * Returns a size of rows.\n\t */\n\tsize(): number;\n\n\t/**\n\t * Returns a row data at the specified index.\n\t * The index is an index on rows filters and sorters are not applied.\n\t *\n\t * @param index an index on rows filters and sorters are not applied\n\t */\n\tget(index: number): ROW | null;\n\n\t/**\n\t * Calls the specified iteratee on each datum of the specified index range.\n\t * If called iteratee explicitly returns false, stops an iteration.\n\t *\n\t * @param iteratee an function called on each datum\n\t * @param ifrom an index to start an iteration\n\t * @param ito an index before which an interation stops\n\t */\n\teach(iteratee: DTableDataEachIteratee<ROW>, ifrom?: number, ito?: number): void;\n}\n"]}
1
+ {"version":3,"file":"d-table-data.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data.ts"],"names":[],"mappings":"","sourcesContent":["import { utils } from \"pixi.js\";\nimport { DBaseOnOptions } from \"./d-base\";\nimport { DTableDataFilter, DTableDataFilterer } from \"./d-table-data-filter\";\nimport {\n\tDTableDataSelection,\n\tDTableDataSelectionCreator,\n\tDTableDataSelectionOptions\n} from \"./d-table-data-selection\";\nimport { DTableDataComparator, DTableDataSorter } from \"./d-table-data-sorter\";\n\nexport type DTableDataSupplimental = number;\n\nexport type DTableDataMappedEachIteratee<ROW> = (\n\trow: ROW,\n\tsupplimental: DTableDataSupplimental | null,\n\tindex: number,\n\tunmappedIndex: number\n) => void | boolean;\n\nexport interface DTableDataMapped<ROW> {\n\t/**\n\t * Mapped rows.\n\t */\n\treadonly rows: ROW[];\n\n\t/**\n\t * Returns an mapped index of the specified unmapped index.\n\t * A mapped index is an index on rows filters and sorters are applied.\n\t *\n\t * @param unmappedIndex a unmapped index\n\t */\n\tmap(unmappedIndex: number): number | null;\n\n\t/**\n\t * Returns an unmapped index of the specified mapped index.\n\t * A mapped index is an index on rows filters and sorters are applied.\n\t *\n\t * @param index a mapped index\n\t */\n\tunmap(index: number): number;\n\n\t/**\n\t * Returns a size of rows.\n\t */\n\tsize(): number;\n\n\t/**\n\t * Returns a row data at the specified index.\n\t * The index is an index on rows filters and sorters are applied.\n\t *\n\t * @param index a mapped index\n\t */\n\tget(index: number): ROW | null;\n\n\t/**\n\t * Calls the specified iteratee on each mapped datum of the specified index range.\n\t * If called iteratee explicitly returns false, stops an iteration.\n\t *\n\t * @param iteratee an function called on each mapped datum\n\t * @param istart an index to start an iteration\n\t * @param iend an index before which an interation stops\n\t */\n\teach(iteratee: DTableDataMappedEachIteratee<ROW>, istart?: number, iend?: number): void;\n}\n\nexport type DTableDataEachIteratee<ROW> = (row: ROW, index: number) => void | boolean;\n\nexport interface DTableDataOptions<ROW, EMITTER = any> {\n\t/**\n\t * Selection options.\n\t */\n\tselection?:\n\t\t| DTableDataSelection<ROW>\n\t\t| DTableDataSelectionCreator<ROW>\n\t\t| DTableDataSelectionOptions;\n\n\t/**\n\t * A filter.\n\t */\n\tfilter?: DTableDataFilterer<ROW>;\n\n\t/**\n\t * A comparator.\n\t */\n\tcomparator?: DTableDataComparator<ROW>;\n\n\t/**\n\t * Mappings of event names and event handlers.\n\t */\n\ton?: DBaseOnOptions<EMITTER>;\n}\n\nexport interface DTableDataParent {\n\tlock(): void;\n\tunlock(callIfNeeded: boolean): void;\n\tupdate(forcibly?: boolean): void;\n}\n\nexport interface DTableData<ROW> extends utils.EventEmitter {\n\t/**\n\t * A data selection.\n\t */\n\treadonly selection: DTableDataSelection<ROW>;\n\n\t/**\n\t * A data filter.\n\t */\n\treadonly filter: DTableDataFilter<ROW>;\n\n\t/**\n\t * A data sorter.\n\t */\n\treadonly sorter: DTableDataSorter<ROW>;\n\n\t/**\n\t * Sorted and filtered data.\n\t */\n\treadonly mapped: DTableDataMapped<ROW>;\n\n\t/** A list of rows. */\n\treadonly rows: ROW[];\n\n\tbind(parent: DTableDataParent): void;\n\n\tupdate(forcibly?: boolean): void;\n\n\tlock(): void;\n\n\tunlock(callIfNeeded: boolean): void;\n\n\t/**\n\t * Returns a size of rows.\n\t */\n\tsize(): number;\n\n\t/**\n\t * Returns a row data at the specified index.\n\t * The index is an index on rows filters and sorters are not applied.\n\t *\n\t * @param index an index on rows filters and sorters are not applied\n\t */\n\tget(index: number): ROW | null;\n\n\t/**\n\t * Calls the specified iteratee on each datum of the specified index range.\n\t * If called iteratee explicitly returns false, stops an iteration.\n\t *\n\t * @param iteratee an function called on each datum\n\t * @param ifrom an index to start an iteration\n\t * @param ito an index before which an interation stops\n\t */\n\teach(iteratee: DTableDataEachIteratee<ROW>, ifrom?: number, ito?: number): void;\n}\n"]}
@@ -10,13 +10,7 @@ import { DTableDataOrder } from "./d-table-data-sorter";
10
10
  import { DTableHeaderCellCheck } from "./d-table-header-cell-check";
11
11
  import { UtilKeyboardEvent } from "./util/util-keyboard-event";
12
12
  import { UtilPointerEvent } from "./util/util-pointer-event";
13
- import { DApplications } from "./d-applications";
14
- export var DTableHeaderCellEdge = {
15
- NONE: 0,
16
- LEFT: 1,
17
- RIGHT: 2,
18
- BOTH: 3
19
- };
13
+ import { DTableCellEdge } from "./d-table-cell-edge";
20
14
  var DTableHeaderCell = /** @class */ (function (_super) {
21
15
  __extends(DTableHeaderCell, _super);
22
16
  function DTableHeaderCell(header, columnIndex, column, options) {
@@ -26,8 +20,7 @@ var DTableHeaderCell = /** @class */ (function (_super) {
26
20
  _this._columnIndex = columnIndex;
27
21
  var check = new DTableHeaderCellCheck(_this, options === null || options === void 0 ? void 0 : options.check);
28
22
  _this._check = check;
29
- _this._edgeSize = _this.theme.getEdgeWidth();
30
- _this._wasResizing = false;
23
+ _this._edge = new DTableCellEdge(_this._header, _this, columnIndex, _this.theme.getEdgeWidth());
31
24
  var sortable = column.sorting.enable;
32
25
  var checkable = check.isEnabled;
33
26
  if (checkable || sortable) {
@@ -71,200 +64,17 @@ var DTableHeaderCell = /** @class */ (function (_super) {
71
64
  configurable: true
72
65
  });
73
66
  DTableHeaderCell.prototype.onDown = function (e) {
74
- var edges = this.state.valueOf(DTableState.HOVERED_ON_EDGE);
75
- if (edges != null) {
76
- this._wasResizing = true;
77
- var layer = DApplications.getLayer(this);
78
- if (layer != null) {
79
- var interactionManager = layer.renderer.plugins.interaction;
80
- var columnIndex = this._columnIndex;
81
- if (edges === DTableHeaderCellEdge.LEFT) {
82
- this.onDownEdge(e.data.global.x, columnIndex - 1, interactionManager);
83
- }
84
- else {
85
- this.onDownEdge(e.data.global.x, columnIndex, interactionManager);
86
- }
87
- }
88
- }
89
- else {
90
- this._wasResizing = false;
67
+ if (!this._edge.onDown(e)) {
91
68
  _super.prototype.onDown.call(this, e);
92
69
  }
93
70
  };
94
- DTableHeaderCell.prototype.findLeftResizableCell = function (columnIndex) {
95
- var children = this._header.children;
96
- var childrenLength = children.length;
97
- for (var i = columnIndex; 0 <= i; --i) {
98
- var child = children[childrenLength - i - 1];
99
- if (child.column.resizable) {
100
- return child;
101
- }
102
- }
103
- return null;
104
- };
105
- DTableHeaderCell.prototype.findRightResizableCellOfWeight = function (columnIndex) {
106
- var children = this._header.children;
107
- var childrenLength = children.length;
108
- for (var i = columnIndex + 1; i < childrenLength; ++i) {
109
- var child = children[childrenLength - i - 1];
110
- var childColumn = child.column;
111
- if (childColumn.resizable) {
112
- var childColumnWeight = childColumn.weight;
113
- if (childColumnWeight != null) {
114
- return child;
115
- }
116
- }
117
- }
118
- return null;
119
- };
120
- DTableHeaderCell.prototype.checkIfEdgeResizable = function (columnIndex) {
121
- var target = this.findLeftResizableCell(columnIndex);
122
- if (target != null) {
123
- if (target.column.weight != null) {
124
- return this.findRightResizableCellOfWeight(target.columnIndex) != null;
125
- }
126
- else {
127
- return true;
128
- }
129
- }
130
- return false;
131
- };
132
- DTableHeaderCell.prototype.getResizableEdges = function () {
133
- var result = this._resizableEdges;
134
- if (result == null) {
135
- var columnIndex = this._columnIndex;
136
- if (this.checkIfEdgeResizable(columnIndex - 1)) {
137
- if (this.checkIfEdgeResizable(columnIndex)) {
138
- result = DTableHeaderCellEdge.BOTH;
139
- }
140
- else {
141
- result = DTableHeaderCellEdge.LEFT;
142
- }
143
- }
144
- else {
145
- if (this.checkIfEdgeResizable(columnIndex)) {
146
- result = DTableHeaderCellEdge.RIGHT;
147
- }
148
- else {
149
- result = DTableHeaderCellEdge.NONE;
150
- }
151
- }
152
- this._resizableEdges = result;
153
- }
154
- return result;
155
- };
156
71
  DTableHeaderCell.prototype.onOver = function (e) {
157
- var _this = this;
158
- var _a;
159
72
  _super.prototype.onOver.call(this, e);
160
- if (this.getResizableEdges() !== DTableHeaderCellEdge.NONE) {
161
- var onHoveredBound = ((_a = this._onHoveredBound) !== null && _a !== void 0 ? _a : (this._onHoveredBound = function (event) {
162
- _this.onHovered(event);
163
- }));
164
- this.on(UtilPointerEvent.move, onHoveredBound);
165
- // Since the cursor is set by InteractionManager before this method is called,
166
- // the cursor need to be overriden.
167
- this.onHovered(e);
168
- var layer = DApplications.getLayer(this);
169
- if (layer != null) {
170
- layer.renderer.plugins.interaction.cursor = this.cursor;
171
- }
172
- }
73
+ this._edge.onOver(e);
173
74
  };
174
75
  DTableHeaderCell.prototype.onOut = function (e) {
175
76
  _super.prototype.onOut.call(this, e);
176
- var onHoveredBound = this._onHoveredBound;
177
- if (onHoveredBound != null) {
178
- this.state.remove(DTableState.HOVERED_ON_EDGE);
179
- this.off(UtilPointerEvent.move, onHoveredBound);
180
- }
181
- };
182
- DTableHeaderCell.prototype.onHovered = function (e) {
183
- var width = this.width;
184
- var x = this.toClickPosition(e);
185
- var edgeSize = this._edgeSize;
186
- if (0 <= x && x <= edgeSize) {
187
- if (this.getResizableEdges() & DTableHeaderCellEdge.LEFT) {
188
- this.state.add(DTableState.HOVERED_ON_EDGE, DTableHeaderCellEdge.LEFT);
189
- }
190
- else {
191
- this.state.remove(DTableState.HOVERED_ON_EDGE);
192
- }
193
- }
194
- else if (width - edgeSize <= x && x <= width) {
195
- if (this.getResizableEdges() & DTableHeaderCellEdge.RIGHT) {
196
- this.state.add(DTableState.HOVERED_ON_EDGE, DTableHeaderCellEdge.RIGHT);
197
- }
198
- else {
199
- this.state.remove(DTableState.HOVERED_ON_EDGE);
200
- }
201
- }
202
- else {
203
- this.state.remove(DTableState.HOVERED_ON_EDGE);
204
- }
205
- };
206
- DTableHeaderCell.prototype.onDownEdge = function (onDownPoint, columnIndex, interactionManager) {
207
- // Find the resizable cell
208
- var left = this.findLeftResizableCell(columnIndex);
209
- if (left == null) {
210
- // No resizable cell
211
- return;
212
- }
213
- var header = this._header;
214
- var leftColumn = left.column;
215
- var leftOldWidth = left.width;
216
- var leftOldWeight = left.weight;
217
- if (leftColumn.weight == null) {
218
- header.state.add(DTableState.RESIZING);
219
- var onMove_1 = function (e) {
220
- leftColumn.width = Math.max(1, leftOldWidth + e.data.global.x - onDownPoint);
221
- };
222
- var onUp_1 = function (e) {
223
- header.state.remove(DTableState.RESIZING);
224
- interactionManager.off(UtilPointerEvent.move, onMove_1);
225
- interactionManager.off(UtilPointerEvent.up, onUp_1);
226
- interactionManager.off(UtilPointerEvent.upoutside, onUp_1);
227
- interactionManager.off(UtilPointerEvent.cancel, onUp_1);
228
- };
229
- interactionManager.on(UtilPointerEvent.move, onMove_1);
230
- interactionManager.on(UtilPointerEvent.up, onUp_1);
231
- interactionManager.on(UtilPointerEvent.upoutside, onUp_1);
232
- interactionManager.on(UtilPointerEvent.cancel, onUp_1);
233
- }
234
- else {
235
- var right = this.findRightResizableCellOfWeight(left.columnIndex);
236
- if (right == null) {
237
- // No right resizable cell found
238
- return;
239
- }
240
- var rightColumn_1 = right.column;
241
- var rightOldWeight = right.weight;
242
- var rightOldWidth = right.width;
243
- var totalWidth_1 = leftOldWidth + rightOldWidth;
244
- var totalWeight_1 = leftOldWeight + rightOldWeight;
245
- if (totalWidth_1 <= 0) {
246
- // The left and right resizable cells doesn't have non-zero width
247
- return;
248
- }
249
- header.state.add(DTableState.RESIZING);
250
- var onMove_2 = function (e) {
251
- var leftNewWidth = Math.max(0, Math.min(totalWidth_1, leftOldWidth + e.data.global.x - onDownPoint));
252
- var leftNewWeight = totalWeight_1 * (leftNewWidth / totalWidth_1);
253
- leftColumn.weight = leftNewWeight;
254
- rightColumn_1.weight = totalWeight_1 - leftNewWeight;
255
- };
256
- var onUp_2 = function (e) {
257
- header.state.remove(DTableState.RESIZING);
258
- interactionManager.off(UtilPointerEvent.move, onMove_2);
259
- interactionManager.off(UtilPointerEvent.up, onUp_2);
260
- interactionManager.off(UtilPointerEvent.upoutside, onUp_2);
261
- interactionManager.off(UtilPointerEvent.cancel, onUp_2);
262
- };
263
- interactionManager.on(UtilPointerEvent.move, onMove_2);
264
- interactionManager.on(UtilPointerEvent.up, onUp_2);
265
- interactionManager.on(UtilPointerEvent.upoutside, onUp_2);
266
- interactionManager.on(UtilPointerEvent.cancel, onUp_2);
267
- }
77
+ this._edge.onOut(e);
268
78
  };
269
79
  Object.defineProperty(DTableHeaderCell.prototype, "sorter", {
270
80
  get: function () {
@@ -352,10 +162,6 @@ var DTableHeaderCell = /** @class */ (function (_super) {
352
162
  }
353
163
  return false;
354
164
  };
355
- DTableHeaderCell.prototype.isEdgeClicked = function (e) {
356
- return (e instanceof InteractionEvent &&
357
- (this.state.is(DTableState.HOVERED_ON_EDGE) || this._wasResizing));
358
- };
359
165
  DTableHeaderCell.prototype.onClick = function (e) {
360
166
  if (this.state.isActionable) {
361
167
  this.activate(e);
@@ -365,7 +171,7 @@ var DTableHeaderCell = /** @class */ (function (_super) {
365
171
  this.onActivate(e);
366
172
  };
367
173
  DTableHeaderCell.prototype.onActivate = function (e) {
368
- if (!this.isEdgeClicked(e)) {
174
+ if (!this._edge.isClicked(e)) {
369
175
  if (this.isCheckClicked(e)) {
370
176
  this.onToggleStart();
371
177
  this.onToggleEnd();
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-header-cell.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-header-cell.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, Point } from \"pixi.js\";\nimport { DImage, DImageOptions, DThemeImage } from \"./d-image\";\nimport { DTableState } from \"./d-table-state\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableDataComparator, DTableDataOrder, DTableDataSorter } from \"./d-table-data-sorter\";\nimport { DTableHeaderTable } from \"./d-table-header\";\nimport { DTableHeaderCellCheck, DTableHeaderCellCheckOptions } from \"./d-table-header-cell-check\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\nimport { DApplications } from \"./d-applications\";\nimport { DBaseStateSet } from \"./d-base-state-set\";\n\nexport interface DTableHeaderCellHeader<ROW> {\n\treadonly table: DTableHeaderTable<ROW> | null;\n\treadonly children: DTableHeaderCell<ROW>[];\n\treadonly state: DBaseStateSet;\n}\n\nexport interface DTableHeaderCellOptions<\n\tROW,\n\tTHEME extends DThemeTableHeaderCell = DThemeTableHeaderCell\n> extends DImageOptions<string | null, THEME> {\n\tcheck?: DTableHeaderCellCheckOptions;\n}\n\nexport interface DThemeTableHeaderCell extends DThemeImage<string | null> {\n\tgetEdgeWidth(): number;\n}\n\nexport const DTableHeaderCellEdge = {\n\tNONE: 0,\n\tLEFT: 1,\n\tRIGHT: 2,\n\tBOTH: 3\n} as const;\n\nexport type DTableHeaderCellEdge = (typeof DTableHeaderCellEdge)[keyof typeof DTableHeaderCellEdge];\n\nexport class DTableHeaderCell<\n\tROW,\n\tTHEME extends DThemeTableHeaderCell = DThemeTableHeaderCell,\n\tOPTIONS extends DTableHeaderCellOptions<ROW, THEME> = DTableHeaderCellOptions<ROW, THEME>\n> extends DImage<string | null, THEME, OPTIONS> {\n\tprotected _sorter?: DTableDataSorter<ROW>;\n\tprotected _onSorterChangeBound?: () => void;\n\tprotected _header: DTableHeaderCellHeader<ROW>;\n\tprotected _column: DTableColumn<ROW>;\n\tprotected _columnIndex: number;\n\tprotected _check: DTableHeaderCellCheck<ROW>;\n\tprotected _checkWork?: Point;\n\tprotected _onHoveredBound?: (e: InteractionEvent) => void;\n\tprotected _resizableEdges?: DTableHeaderCellEdge;\n\tprotected _edgeSize: number;\n\tprotected _wasResizing: boolean;\n\n\tconstructor(\n\t\theader: DTableHeaderCellHeader<ROW>,\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW>,\n\t\toptions?: OPTIONS\n\t) {\n\t\tsuper(options);\n\t\tthis._header = header;\n\t\tthis._column = column;\n\t\tthis._columnIndex = columnIndex;\n\t\tconst check = new DTableHeaderCellCheck<ROW>(this, options?.check);\n\t\tthis._check = check;\n\t\tthis._edgeSize = this.theme.getEdgeWidth();\n\t\tthis._wasResizing = false;\n\n\t\tconst sortable = column.sorting.enable;\n\t\tconst checkable = check.isEnabled;\n\t\tif (checkable || sortable) {\n\t\t\tthis.on(UtilPointerEvent.tap, (e: InteractionEvent): void => {\n\t\t\t\tthis.onClick(e);\n\t\t\t});\n\t\t\tconst state = this.state;\n\t\t\tstate.lock();\n\t\t\tstate.set(DTableState.SORTABLE, sortable);\n\t\t\tstate.set(DTableState.CHECKABLE, checkable);\n\t\t\tstate.unlock();\n\t\t}\n\t}\n\n\tget column(): DTableColumn<ROW> {\n\t\treturn this._column;\n\t}\n\n\tget columnIndex(): number {\n\t\treturn this._columnIndex;\n\t}\n\n\tget header(): DTableHeaderCellHeader<ROW> {\n\t\treturn this._header;\n\t}\n\n\tget check(): DTableHeaderCellCheck<ROW> {\n\t\treturn this._check;\n\t}\n\n\tprotected override onDown(e: InteractionEvent): void {\n\t\tconst edges = this.state.valueOf(DTableState.HOVERED_ON_EDGE);\n\t\tif (edges != null) {\n\t\t\tthis._wasResizing = true;\n\t\t\tconst layer = DApplications.getLayer(this);\n\t\t\tif (layer != null) {\n\t\t\t\tconst interactionManager = layer.renderer.plugins.interaction;\n\t\t\t\tconst columnIndex = this._columnIndex;\n\t\t\t\tif (edges === DTableHeaderCellEdge.LEFT) {\n\t\t\t\t\tthis.onDownEdge(e.data.global.x, columnIndex - 1, interactionManager);\n\t\t\t\t} else {\n\t\t\t\t\tthis.onDownEdge(e.data.global.x, columnIndex, interactionManager);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthis._wasResizing = false;\n\t\t\tsuper.onDown(e);\n\t\t}\n\t}\n\n\tprotected findLeftResizableCell(columnIndex: number): DTableHeaderCell<ROW> | null {\n\t\tconst children = this._header.children;\n\t\tconst childrenLength = children.length;\n\t\tfor (let i = columnIndex; 0 <= i; --i) {\n\t\t\tconst child = children[childrenLength - i - 1];\n\t\t\tif (child.column.resizable) {\n\t\t\t\treturn child;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected findRightResizableCellOfWeight(columnIndex: number): DTableHeaderCell<ROW> | null {\n\t\tconst children = this._header.children;\n\t\tconst childrenLength = children.length;\n\t\tfor (let i = columnIndex + 1; i < childrenLength; ++i) {\n\t\t\tconst child = children[childrenLength - i - 1];\n\t\t\tconst childColumn = child.column;\n\t\t\tif (childColumn.resizable) {\n\t\t\t\tconst childColumnWeight = childColumn.weight;\n\t\t\t\tif (childColumnWeight != null) {\n\t\t\t\t\treturn child;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected checkIfEdgeResizable(columnIndex: number): boolean {\n\t\tconst target = this.findLeftResizableCell(columnIndex);\n\t\tif (target != null) {\n\t\t\tif (target.column.weight != null) {\n\t\t\t\treturn this.findRightResizableCellOfWeight(target.columnIndex) != null;\n\t\t\t} else {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected getResizableEdges(): DTableHeaderCellEdge {\n\t\tlet result = this._resizableEdges;\n\t\tif (result == null) {\n\t\t\tconst columnIndex = this._columnIndex;\n\t\t\tif (this.checkIfEdgeResizable(columnIndex - 1)) {\n\t\t\t\tif (this.checkIfEdgeResizable(columnIndex)) {\n\t\t\t\t\tresult = DTableHeaderCellEdge.BOTH;\n\t\t\t\t} else {\n\t\t\t\t\tresult = DTableHeaderCellEdge.LEFT;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (this.checkIfEdgeResizable(columnIndex)) {\n\t\t\t\t\tresult = DTableHeaderCellEdge.RIGHT;\n\t\t\t\t} else {\n\t\t\t\t\tresult = DTableHeaderCellEdge.NONE;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._resizableEdges = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected override onOver(e: InteractionEvent): void {\n\t\tsuper.onOver(e);\n\n\t\tif (this.getResizableEdges() !== DTableHeaderCellEdge.NONE) {\n\t\t\tconst onHoveredBound = (this._onHoveredBound ??= (event: InteractionEvent): void => {\n\t\t\t\tthis.onHovered(event);\n\t\t\t});\n\t\t\tthis.on(UtilPointerEvent.move, onHoveredBound);\n\n\t\t\t// Since the cursor is set by InteractionManager before this method is called,\n\t\t\t// the cursor need to be overriden.\n\t\t\tthis.onHovered(e);\n\t\t\tconst layer = DApplications.getLayer(this);\n\t\t\tif (layer != null) {\n\t\t\t\tlayer.renderer.plugins.interaction.cursor = this.cursor;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected override onOut(e: InteractionEvent): void {\n\t\tsuper.onOut(e);\n\n\t\tconst onHoveredBound = this._onHoveredBound;\n\t\tif (onHoveredBound != null) {\n\t\t\tthis.state.remove(DTableState.HOVERED_ON_EDGE);\n\t\t\tthis.off(UtilPointerEvent.move, onHoveredBound);\n\t\t}\n\t}\n\n\tprotected onHovered(e: InteractionEvent): void {\n\t\tconst width = this.width;\n\t\tconst x = this.toClickPosition(e);\n\t\tconst edgeSize = this._edgeSize;\n\t\tif (0 <= x && x <= edgeSize) {\n\t\t\tif (this.getResizableEdges() & DTableHeaderCellEdge.LEFT) {\n\t\t\t\tthis.state.add(DTableState.HOVERED_ON_EDGE, DTableHeaderCellEdge.LEFT);\n\t\t\t} else {\n\t\t\t\tthis.state.remove(DTableState.HOVERED_ON_EDGE);\n\t\t\t}\n\t\t} else if (width - edgeSize <= x && x <= width) {\n\t\t\tif (this.getResizableEdges() & DTableHeaderCellEdge.RIGHT) {\n\t\t\t\tthis.state.add(DTableState.HOVERED_ON_EDGE, DTableHeaderCellEdge.RIGHT);\n\t\t\t} else {\n\t\t\t\tthis.state.remove(DTableState.HOVERED_ON_EDGE);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.state.remove(DTableState.HOVERED_ON_EDGE);\n\t\t}\n\t}\n\n\tprotected onDownEdge(\n\t\tonDownPoint: number,\n\t\tcolumnIndex: number,\n\t\tinteractionManager: InteractionManager\n\t): void {\n\t\t// Find the resizable cell\n\t\tconst left = this.findLeftResizableCell(columnIndex);\n\t\tif (left == null) {\n\t\t\t// No resizable cell\n\t\t\treturn;\n\t\t}\n\n\t\tconst header = this._header;\n\t\tconst leftColumn = left.column;\n\t\tconst leftOldWidth = left.width;\n\t\tconst leftOldWeight = left.weight;\n\t\tif (leftColumn.weight == null) {\n\t\t\theader.state.add(DTableState.RESIZING);\n\t\t\tconst onMove = (e: InteractionEvent): void => {\n\t\t\t\tleftColumn.width = Math.max(1, leftOldWidth + e.data.global.x - onDownPoint);\n\t\t\t};\n\t\t\tconst onUp = (e: InteractionEvent) => {\n\t\t\t\theader.state.remove(DTableState.RESIZING);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.move, onMove);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.up, onUp);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.upoutside, onUp);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.cancel, onUp);\n\t\t\t};\n\t\t\tinteractionManager.on(UtilPointerEvent.move, onMove);\n\t\t\tinteractionManager.on(UtilPointerEvent.up, onUp);\n\t\t\tinteractionManager.on(UtilPointerEvent.upoutside, onUp);\n\t\t\tinteractionManager.on(UtilPointerEvent.cancel, onUp);\n\t\t} else {\n\t\t\tconst right = this.findRightResizableCellOfWeight(left.columnIndex);\n\t\t\tif (right == null) {\n\t\t\t\t// No right resizable cell found\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst rightColumn = right.column;\n\t\t\tconst rightOldWeight = right.weight;\n\t\t\tconst rightOldWidth = right.width;\n\t\t\tconst totalWidth = leftOldWidth + rightOldWidth;\n\t\t\tconst totalWeight = leftOldWeight + rightOldWeight;\n\t\t\tif (totalWidth <= 0) {\n\t\t\t\t// The left and right resizable cells doesn't have non-zero width\n\t\t\t\treturn;\n\t\t\t}\n\t\t\theader.state.add(DTableState.RESIZING);\n\t\t\tconst onMove = (e: InteractionEvent): void => {\n\t\t\t\tconst leftNewWidth = Math.max(\n\t\t\t\t\t0,\n\t\t\t\t\tMath.min(totalWidth, leftOldWidth + e.data.global.x - onDownPoint)\n\t\t\t\t);\n\t\t\t\tconst leftNewWeight = totalWeight * (leftNewWidth / totalWidth);\n\t\t\t\tleftColumn.weight = leftNewWeight;\n\t\t\t\trightColumn.weight = totalWeight - leftNewWeight;\n\t\t\t};\n\t\t\tconst onUp = (e: InteractionEvent) => {\n\t\t\t\theader.state.remove(DTableState.RESIZING);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.move, onMove);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.up, onUp);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.upoutside, onUp);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.cancel, onUp);\n\t\t\t};\n\t\t\tinteractionManager.on(UtilPointerEvent.move, onMove);\n\t\t\tinteractionManager.on(UtilPointerEvent.up, onUp);\n\t\t\tinteractionManager.on(UtilPointerEvent.upoutside, onUp);\n\t\t\tinteractionManager.on(UtilPointerEvent.cancel, onUp);\n\t\t}\n\t}\n\n\tget sorter(): DTableDataSorter<ROW> | null {\n\t\tlet sorter = this._sorter;\n\t\tif (sorter == null) {\n\t\t\tconst header = this._header;\n\t\t\tif (header) {\n\t\t\t\tconst table = header.table;\n\t\t\t\tif (table) {\n\t\t\t\t\tsorter = table.data.sorter;\n\t\t\t\t\tthis._sorter = sorter;\n\t\t\t\t\tthis._onSorterChangeBound =\n\t\t\t\t\t\tthis._onSorterChangeBound ||\n\t\t\t\t\t\t(() => {\n\t\t\t\t\t\t\tthis.onSorterChange();\n\t\t\t\t\t\t});\n\t\t\t\t\tsorter.on(\"change\", this._onSorterChangeBound);\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t\treturn sorter;\n\t}\n\n\tget comparator(): DTableDataComparator<ROW> | null {\n\t\treturn this._column.sorting.comparator || null;\n\t}\n\n\tprotected onSorterChange(): void {\n\t\tconst comparator = this.comparator;\n\t\tif (comparator) {\n\t\t\tconst sorter = this._sorter;\n\t\t\tif (sorter) {\n\t\t\t\tconst SORTED_ASCENDING = DTableState.SORTED_ASCENDING;\n\t\t\t\tconst SORTED_DESCENDING = DTableState.SORTED_DESCENDING;\n\t\t\t\tif (sorter.isApplied() && sorter.get() === comparator) {\n\t\t\t\t\tif (sorter.order === DTableDataOrder.ASCENDING) {\n\t\t\t\t\t\tthis.state.set(SORTED_ASCENDING, SORTED_DESCENDING);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.state.set(SORTED_DESCENDING, SORTED_ASCENDING);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.state.removeAll(SORTED_ASCENDING, SORTED_DESCENDING);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected toClickPosition(e: InteractionEvent): number {\n\t\tconst checkWork = (this._checkWork ??= new Point());\n\t\treturn e.data.getLocalPosition(this, checkWork).x;\n\t}\n\n\tprotected isCheckClicked(\n\t\te?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): boolean {\n\t\tif (e instanceof InteractionEvent && this._check.isEnabled) {\n\t\t\tif (this.isSortable) {\n\t\t\t\tconst image = this.image.get(1);\n\t\t\t\tif (image) {\n\t\t\t\t\tconst position = this.toClickPosition(e);\n\t\t\t\t\tconst object = image.object;\n\t\t\t\t\tif (object != null) {\n\t\t\t\t\t\tconst bound = object.getLocalBounds();\n\t\t\t\t\t\tconst margin = image.margin.horizontal;\n\t\t\t\t\t\tconst x = object.x;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tx + bound.left - margin <= position &&\n\t\t\t\t\t\t\tposition <= x + bound.right + margin\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected isEdgeClicked(\n\t\te?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): boolean {\n\t\treturn (\n\t\t\te instanceof InteractionEvent &&\n\t\t\t(this.state.is(DTableState.HOVERED_ON_EDGE) || this._wasResizing)\n\t\t);\n\t}\n\n\tprotected onClick(e: InteractionEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tthis.activate(e);\n\t\t}\n\t}\n\n\tactivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tthis.onActivate(e);\n\t}\n\n\tprotected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tif (!this.isEdgeClicked(e)) {\n\t\t\tif (this.isCheckClicked(e)) {\n\t\t\t\tthis.onToggleStart();\n\t\t\t\tthis.onToggleEnd();\n\t\t\t} else {\n\t\t\t\tthis.doSort(e);\n\t\t\t\tthis.emit(\"active\", this);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected doSort(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tif (this.isSortable) {\n\t\t\tconst comparator = this.comparator;\n\t\t\tif (comparator) {\n\t\t\t\tconst sorter = this.sorter;\n\t\t\t\tif (sorter) {\n\t\t\t\t\tif (sorter.get() === comparator) {\n\t\t\t\t\t\tif (sorter.order === DTableDataOrder.ASCENDING) {\n\t\t\t\t\t\t\tsorter.order = DTableDataOrder.DESCENDING;\n\t\t\t\t\t\t\tsorter.apply();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsorter.set(null);\n\t\t\t\t\t\t\tsorter.apply();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsorter.set(comparator);\n\t\t\t\t\t\tsorter.order = DTableDataOrder.ASCENDING;\n\t\t\t\t\t\tsorter.apply();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget isSortable(): boolean {\n\t\treturn this._column.sorting.enable;\n\t}\n\n\tget isResizable(): boolean {\n\t\treturn this._column.resizable;\n\t}\n\n\tget isToggle(): boolean {\n\t\treturn this._check.isEnabled;\n\t}\n\n\ttoggle(): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.isToggle) {\n\t\t\t\tthis.onToggleStart();\n\t\t\t\tthis.onToggleEnd();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onToggleStart(): void {\n\t\tthis.state.isActive = !this.state.isActive;\n\t}\n\n\tprotected onToggleEnd(): void {\n\t\tif (this.state.isActive) {\n\t\t\tthis._check.execute(true);\n\t\t\tthis.emit(\"active\", this);\n\t\t} else {\n\t\t\tthis._check.execute(false);\n\t\t\tthis.emit(\"inactive\", this);\n\t\t}\n\t}\n\n\tprotected onActivateKeyDown(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.isToggle) {\n\t\t\t\tthis.onToggleStart();\n\t\t\t} else {\n\t\t\t\tthis.state.isPressed = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onActivateKeyUp(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.isToggle) {\n\t\t\t\tthis.onToggleEnd();\n\t\t\t} else {\n\t\t\t\tif (this.state.isPressed) {\n\t\t\t\t\tthis.activate(e);\n\t\t\t\t}\n\t\t\t\tthis.state.isPressed = false;\n\t\t\t}\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\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\n\t\treturn super.onKeyUp(e);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableHeaderCell\";\n\t}\n\n\tdestroy(): void {\n\t\tconst sorter = this._sorter;\n\t\tconst onSorterChangeBound = this._onSorterChangeBound;\n\t\tif (sorter && onSorterChangeBound) {\n\t\t\tsorter.off(\"change\", onSorterChangeBound);\n\t\t}\n\t\tthis._sorter = undefined;\n\t\tthis._onSorterChangeBound = undefined;\n\n\t\tsuper.destroy();\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-header-cell.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-header-cell.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, Point } from \"pixi.js\";\nimport { DImage, DImageOptions, DThemeImage } from \"./d-image\";\nimport { DTableState } from \"./d-table-state\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableDataComparator, DTableDataOrder, DTableDataSorter } from \"./d-table-data-sorter\";\nimport { DTableHeaderTable } from \"./d-table-header\";\nimport { DTableHeaderCellCheck, DTableHeaderCellCheckOptions } from \"./d-table-header-cell-check\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\nimport { DBaseStateSet } from \"./d-base-state-set\";\nimport { DTableCellEdge } from \"./d-table-cell-edge\";\n\nexport interface DTableHeaderCellHeader<ROW> {\n\treadonly table: DTableHeaderTable<ROW> | null;\n\treadonly children: DTableHeaderCell<ROW>[];\n\treadonly state: DBaseStateSet;\n}\n\nexport interface DTableHeaderCellOptions<\n\tROW,\n\tTHEME extends DThemeTableHeaderCell = DThemeTableHeaderCell\n> extends DImageOptions<string | null, THEME> {\n\tcheck?: DTableHeaderCellCheckOptions;\n}\n\nexport interface DThemeTableHeaderCell extends DThemeImage<string | null> {\n\tgetEdgeWidth(): number;\n}\n\nexport class DTableHeaderCell<\n\tROW,\n\tTHEME extends DThemeTableHeaderCell = DThemeTableHeaderCell,\n\tOPTIONS extends DTableHeaderCellOptions<ROW, THEME> = DTableHeaderCellOptions<ROW, THEME>\n> extends DImage<string | null, THEME, OPTIONS> {\n\tprotected _sorter?: DTableDataSorter<ROW>;\n\tprotected _onSorterChangeBound?: () => void;\n\tprotected _header: DTableHeaderCellHeader<ROW>;\n\tprotected _column: DTableColumn<ROW>;\n\tprotected _columnIndex: number;\n\tprotected _check: DTableHeaderCellCheck<ROW>;\n\tprotected _checkWork?: Point;\n\tprotected _edge: DTableCellEdge<DTableHeaderCell<ROW>>;\n\n\tconstructor(\n\t\theader: DTableHeaderCellHeader<ROW>,\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW>,\n\t\toptions?: OPTIONS\n\t) {\n\t\tsuper(options);\n\t\tthis._header = header;\n\t\tthis._column = column;\n\t\tthis._columnIndex = columnIndex;\n\t\tconst check = new DTableHeaderCellCheck<ROW>(this, options?.check);\n\t\tthis._check = check;\n\t\tthis._edge = new DTableCellEdge<DTableHeaderCell<ROW>>(\n\t\t\tthis._header,\n\t\t\tthis,\n\t\t\tcolumnIndex,\n\t\t\tthis.theme.getEdgeWidth()\n\t\t);\n\n\t\tconst sortable = column.sorting.enable;\n\t\tconst checkable = check.isEnabled;\n\t\tif (checkable || sortable) {\n\t\t\tthis.on(UtilPointerEvent.tap, (e: InteractionEvent): void => {\n\t\t\t\tthis.onClick(e);\n\t\t\t});\n\t\t\tconst state = this.state;\n\t\t\tstate.lock();\n\t\t\tstate.set(DTableState.SORTABLE, sortable);\n\t\t\tstate.set(DTableState.CHECKABLE, checkable);\n\t\t\tstate.unlock();\n\t\t}\n\t}\n\n\tget column(): DTableColumn<ROW> {\n\t\treturn this._column;\n\t}\n\n\tget columnIndex(): number {\n\t\treturn this._columnIndex;\n\t}\n\n\tget header(): DTableHeaderCellHeader<ROW> {\n\t\treturn this._header;\n\t}\n\n\tget check(): DTableHeaderCellCheck<ROW> {\n\t\treturn this._check;\n\t}\n\n\tprotected override onDown(e: InteractionEvent): void {\n\t\tif (!this._edge.onDown(e)) {\n\t\t\tsuper.onDown(e);\n\t\t}\n\t}\n\n\tprotected override onOver(e: InteractionEvent): void {\n\t\tsuper.onOver(e);\n\t\tthis._edge.onOver(e);\n\t}\n\n\tprotected override onOut(e: InteractionEvent): void {\n\t\tsuper.onOut(e);\n\t\tthis._edge.onOut(e);\n\t}\n\n\tget sorter(): DTableDataSorter<ROW> | null {\n\t\tlet sorter = this._sorter;\n\t\tif (sorter == null) {\n\t\t\tconst header = this._header;\n\t\t\tif (header) {\n\t\t\t\tconst table = header.table;\n\t\t\t\tif (table) {\n\t\t\t\t\tsorter = table.data.sorter;\n\t\t\t\t\tthis._sorter = sorter;\n\t\t\t\t\tthis._onSorterChangeBound =\n\t\t\t\t\t\tthis._onSorterChangeBound ||\n\t\t\t\t\t\t(() => {\n\t\t\t\t\t\t\tthis.onSorterChange();\n\t\t\t\t\t\t});\n\t\t\t\t\tsorter.on(\"change\", this._onSorterChangeBound);\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t\treturn sorter;\n\t}\n\n\tget comparator(): DTableDataComparator<ROW> | null {\n\t\treturn this._column.sorting.comparator || null;\n\t}\n\n\tprotected onSorterChange(): void {\n\t\tconst comparator = this.comparator;\n\t\tif (comparator) {\n\t\t\tconst sorter = this._sorter;\n\t\t\tif (sorter) {\n\t\t\t\tconst SORTED_ASCENDING = DTableState.SORTED_ASCENDING;\n\t\t\t\tconst SORTED_DESCENDING = DTableState.SORTED_DESCENDING;\n\t\t\t\tif (sorter.isApplied() && sorter.get() === comparator) {\n\t\t\t\t\tif (sorter.order === DTableDataOrder.ASCENDING) {\n\t\t\t\t\t\tthis.state.set(SORTED_ASCENDING, SORTED_DESCENDING);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.state.set(SORTED_DESCENDING, SORTED_ASCENDING);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.state.removeAll(SORTED_ASCENDING, SORTED_DESCENDING);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected toClickPosition(e: InteractionEvent): number {\n\t\tconst checkWork = (this._checkWork ??= new Point());\n\t\treturn e.data.getLocalPosition(this, checkWork).x;\n\t}\n\n\tprotected isCheckClicked(\n\t\te?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): boolean {\n\t\tif (e instanceof InteractionEvent && this._check.isEnabled) {\n\t\t\tif (this.isSortable) {\n\t\t\t\tconst image = this.image.get(1);\n\t\t\t\tif (image) {\n\t\t\t\t\tconst position = this.toClickPosition(e);\n\t\t\t\t\tconst object = image.object;\n\t\t\t\t\tif (object != null) {\n\t\t\t\t\t\tconst bound = object.getLocalBounds();\n\t\t\t\t\t\tconst margin = image.margin.horizontal;\n\t\t\t\t\t\tconst x = object.x;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tx + bound.left - margin <= position &&\n\t\t\t\t\t\t\tposition <= x + bound.right + margin\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected onClick(e: InteractionEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tthis.activate(e);\n\t\t}\n\t}\n\n\tactivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tthis.onActivate(e);\n\t}\n\n\tprotected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tif (!this._edge.isClicked(e)) {\n\t\t\tif (this.isCheckClicked(e)) {\n\t\t\t\tthis.onToggleStart();\n\t\t\t\tthis.onToggleEnd();\n\t\t\t} else {\n\t\t\t\tthis.doSort(e);\n\t\t\t\tthis.emit(\"active\", this);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected doSort(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tif (this.isSortable) {\n\t\t\tconst comparator = this.comparator;\n\t\t\tif (comparator) {\n\t\t\t\tconst sorter = this.sorter;\n\t\t\t\tif (sorter) {\n\t\t\t\t\tif (sorter.get() === comparator) {\n\t\t\t\t\t\tif (sorter.order === DTableDataOrder.ASCENDING) {\n\t\t\t\t\t\t\tsorter.order = DTableDataOrder.DESCENDING;\n\t\t\t\t\t\t\tsorter.apply();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsorter.set(null);\n\t\t\t\t\t\t\tsorter.apply();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsorter.set(comparator);\n\t\t\t\t\t\tsorter.order = DTableDataOrder.ASCENDING;\n\t\t\t\t\t\tsorter.apply();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget isSortable(): boolean {\n\t\treturn this._column.sorting.enable;\n\t}\n\n\tget isResizable(): boolean {\n\t\treturn this._column.resizable;\n\t}\n\n\tget isToggle(): boolean {\n\t\treturn this._check.isEnabled;\n\t}\n\n\ttoggle(): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.isToggle) {\n\t\t\t\tthis.onToggleStart();\n\t\t\t\tthis.onToggleEnd();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onToggleStart(): void {\n\t\tthis.state.isActive = !this.state.isActive;\n\t}\n\n\tprotected onToggleEnd(): void {\n\t\tif (this.state.isActive) {\n\t\t\tthis._check.execute(true);\n\t\t\tthis.emit(\"active\", this);\n\t\t} else {\n\t\t\tthis._check.execute(false);\n\t\t\tthis.emit(\"inactive\", this);\n\t\t}\n\t}\n\n\tprotected onActivateKeyDown(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.isToggle) {\n\t\t\t\tthis.onToggleStart();\n\t\t\t} else {\n\t\t\t\tthis.state.isPressed = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onActivateKeyUp(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.isToggle) {\n\t\t\t\tthis.onToggleEnd();\n\t\t\t} else {\n\t\t\t\tif (this.state.isPressed) {\n\t\t\t\t\tthis.activate(e);\n\t\t\t\t}\n\t\t\t\tthis.state.isPressed = false;\n\t\t\t}\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\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\n\t\treturn super.onKeyUp(e);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableHeaderCell\";\n\t}\n\n\tdestroy(): void {\n\t\tconst sorter = this._sorter;\n\t\tconst onSorterChangeBound = this._onSorterChangeBound;\n\t\tif (sorter && onSorterChangeBound) {\n\t\t\tsorter.off(\"change\", onSorterChangeBound);\n\t\t}\n\t\tthis._sorter = undefined;\n\t\tthis._onSorterChangeBound = undefined;\n\n\t\tsuper.destroy();\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-tree-data.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-data.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DTreeDataMapped } from \"./d-tree-data-mapped\";\nimport { DTreeDataSelection, DTreeDataSelectionOptions } from \"./d-tree-data-selection\";\nimport { DTreeNode } from \"./d-tree-node\";\nimport { DTreeNodeAccessor, DTreeNodeAccessorOptions } from \"./d-tree-node-accessor\";\nimport { DTreeNodeIteratee } from \"./d-tree-node-iteratee\";\n\nexport interface DTreeDataOptions<NODE extends DTreeNode> extends DTreeNodeAccessorOptions<NODE> {\n\tnodes?: NODE[];\n\n\t/**\n\t * Selection options.\n\t */\n\tselection?: DTreeDataSelectionOptions<NODE>;\n\n\t/**\n\t * True to list up nodes in the given node array in the reverse order.\n\t */\n\treverse?: boolean;\n}\n\nexport interface DTreeDataLike<NODE extends DTreeNode> {\n\t/**\n\t * A selection.\n\t *\n\t * @returns a selection\n\t */\n\treadonly selection: DTreeDataSelection<NODE>;\n\n\tupdate(forcibly?: boolean): void;\n\n\t/**\n\t * Toggles the given node,\n\t *\n\t * @param target a node\n\t * @retrn true if succeeded\n\t */\n\ttoggle(target: NODE): boolean;\n\n\t/**\n\t * Expands the given node.\n\t *\n\t * @param target a node to be expanded\n\t * @return true if succeeded\n\t */\n\texpand(target: NODE): boolean;\n\n\t/**\n\t * Collapses the given node.\n\t *\n\t * @param target a node to be collapsed\n\t * @return true if succeeded\n\t */\n\tcollapse(target: NODE): boolean;\n\n\t/**\n\t * Expands all the nodes.\n\t *\n\t * @return true if the data is changed\n\t */\n\texpandAll(): boolean;\n\n\t/**\n\t * Collapses all the nodes.\n\t *\n\t * @return true if the data is changed\n\t */\n\tcollapseAll(): boolean;\n\n\t/**\n\t * Returns true if the given node is collapsed.\n\t *\n\t * @param target a node to be checked.\n\t * @returns true if the given node is collapsed\n\t */\n\tisCollapsed(target: NODE): boolean;\n\n\t/**\n\t * Returns true if the given item is expanded.\n\t *\n\t * @param target an item to be checked\n\t * @returns true if the given item is expanded\n\t */\n\tisExpanded(target: NODE): boolean;\n\n\t/**\n\t * Clears all the nodes.\n\t *\n\t * @return true if the data is changed\n\t */\n\tclear(): boolean;\n\n\t/**\n\t * Removes the given node.\n\t *\n\t * @param item a node to be removed\n\t * @return true if succeeded\n\t */\n\tremove(target: NODE): boolean;\n\n\t/**\n\t * Inserts a node.\n\t *\n\t * @param target a new node\n\t * @param parent a parent node\n\t * @return true if the data is changed\n\t */\n\tadd(target: NODE, parent?: NODE): boolean;\n\n\t/**\n\t * Inserts the given node before the given sibling.\n\t *\n\t * @param target a new node\n\t * @param sibling a sibling node\n\t * @return true if the data is changed\n\t */\n\taddBefore(target: NODE, sibling: NODE): boolean;\n\n\t/**\n\t * Inserts the given node after the given sibling.\n\t *\n\t * @param target a new node\n\t * @param sibling a sibling node\n\t * @return true if the data is changed\n\t */\n\taddAfter(target: NODE, sibling: NODE): boolean;\n\n\t/**\n\t * Iterates over all the nodes.\n\t * If the iteratee explicitly returns false, stops an iteration.\n\t *\n\t * @param iteratee an iteratee\n\t */\n\teach(iteratee: DTreeNodeIteratee<NODE>): void;\n}\n\nexport interface DTreeData<NODE extends DTreeNode> extends DTreeDataLike<NODE> {\n\tnodes: NODE[];\n\tmapped: DTreeDataMapped<NODE>;\n\treadonly accessor: DTreeNodeAccessor<NODE>;\n}\n"]}
1
+ {"version":3,"file":"d-tree-data.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-data.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DTreeDataMapped } from \"./d-tree-data-mapped\";\nimport { DTreeDataSelection, DTreeDataSelectionOptions } from \"./d-tree-data-selection\";\nimport { DTreeNode } from \"./d-tree-node\";\nimport { DTreeNodeAccessor, DTreeNodeAccessorOptions } from \"./d-tree-node-accessor\";\nimport { DTreeNodeIteratee } from \"./d-tree-node-iteratee\";\n\nexport interface DTreeDataOptions<NODE extends DTreeNode> extends DTreeNodeAccessorOptions<NODE> {\n\tnodes?: NODE[];\n\n\t/**\n\t * Selection options.\n\t */\n\tselection?: DTreeDataSelectionOptions<NODE>;\n\n\t/**\n\t * True to list up nodes in the given node array in the reverse order.\n\t */\n\treverse?: boolean;\n}\n\nexport interface DTreeDataLike<NODE extends DTreeNode> {\n\t/**\n\t * A selection.\n\t *\n\t * @returns a selection\n\t */\n\treadonly selection: DTreeDataSelection<NODE>;\n\n\tupdate(forcibly?: boolean): void;\n\n\t/**\n\t * Toggles the given node,\n\t *\n\t * @param target a node\n\t * @retrn true if succeeded\n\t */\n\ttoggle(target: NODE): boolean;\n\n\t/**\n\t * Expands the given node.\n\t *\n\t * @param target a node to be expanded\n\t * @return true if succeeded\n\t */\n\texpand(target: NODE): boolean;\n\n\t/**\n\t * Collapses the given node.\n\t *\n\t * @param target a node to be collapsed\n\t * @return true if succeeded\n\t */\n\tcollapse(target: NODE): boolean;\n\n\t/**\n\t * Expands all the nodes.\n\t *\n\t * @return true if the data is changed\n\t */\n\texpandAll(): boolean;\n\n\t/**\n\t * Collapses all the nodes.\n\t *\n\t * @return true if the data is changed\n\t */\n\tcollapseAll(): boolean;\n\n\t/**\n\t * Returns true if the given node is collapsed.\n\t *\n\t * @param target a node to be checked.\n\t * @returns true if the given node is collapsed\n\t */\n\tisCollapsed(target: NODE): boolean;\n\n\t/**\n\t * Returns true if the given item is expanded.\n\t *\n\t * @param target an item to be checked\n\t * @returns true if the given item is expanded\n\t */\n\tisExpanded(target: NODE): boolean;\n\n\t/**\n\t * Clears all the nodes.\n\t *\n\t * @return true if the data is changed\n\t */\n\tclear(): boolean;\n\n\t/**\n\t * Removes the given node.\n\t *\n\t * @param target a node to be removed\n\t * @return true if succeeded\n\t */\n\tremove(target: NODE): boolean;\n\n\t/**\n\t * Inserts a node.\n\t *\n\t * @param target a new node\n\t * @param parent a parent node\n\t * @return true if the data is changed\n\t */\n\tadd(target: NODE, parent?: NODE): boolean;\n\n\t/**\n\t * Inserts the given node before the given sibling.\n\t *\n\t * @param target a new node\n\t * @param sibling a sibling node\n\t * @return true if the data is changed\n\t */\n\taddBefore(target: NODE, sibling: NODE): boolean;\n\n\t/**\n\t * Inserts the given node after the given sibling.\n\t *\n\t * @param target a new node\n\t * @param sibling a sibling node\n\t * @return true if the data is changed\n\t */\n\taddAfter(target: NODE, sibling: NODE): boolean;\n\n\t/**\n\t * Iterates over all the nodes.\n\t * If the iteratee explicitly returns false, stops an iteration.\n\t *\n\t * @param iteratee an iteratee\n\t */\n\teach(iteratee: DTreeNodeIteratee<NODE>): void;\n}\n\nexport interface DTreeData<NODE extends DTreeNode> extends DTreeDataLike<NODE> {\n\tnodes: NODE[];\n\tmapped: DTreeDataMapped<NODE>;\n\treadonly accessor: DTreeNodeAccessor<NODE>;\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.413.0
2
+ Winter Cardinal UI v0.415.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.413.0
2
+ Winter Cardinal UI v0.415.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.413.0
2
+ Winter Cardinal UI v0.415.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.413.0
2
+ Winter Cardinal UI v0.415.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.413.0
2
+ Winter Cardinal UI v0.415.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.413.0
2
+ Winter Cardinal UI v0.415.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.413.0
2
+ Winter Cardinal UI v0.415.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.413.0
2
+ Winter Cardinal UI v0.415.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.413.0
2
+ Winter Cardinal UI v0.415.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5