@wcardinal/wcardinal-ui 0.414.0 → 0.417.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/types/wcardinal/ui/d-table-category-cell.d.ts +3 -20
- package/dist/types/wcardinal/ui/d-table-category-column-impl.d.ts +1 -2
- package/dist/types/wcardinal/ui/d-table-category-container-impl.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-table-cell-edge.d.ts +69 -0
- package/dist/types/wcardinal/ui/d-table-column-impl.d.ts +2 -0
- package/dist/types/wcardinal/ui/d-table-column.d.ts +2 -0
- package/dist/types/wcardinal/ui/d-table-header-cell.d.ts +3 -19
- package/dist/types/wcardinal/ui/index.d.ts +1 -0
- package/dist/wcardinal/ui/d-table-category-cell.js +5 -207
- package/dist/wcardinal/ui/d-table-category-cell.js.map +1 -1
- package/dist/wcardinal/ui/d-table-category-column-impl.js +19 -34
- package/dist/wcardinal/ui/d-table-category-column-impl.js.map +1 -1
- package/dist/wcardinal/ui/d-table-category-container-impl.js +14 -7
- package/dist/wcardinal/ui/d-table-category-container-impl.js.map +1 -1
- package/dist/wcardinal/ui/d-table-cell-edge.js +557 -0
- package/dist/wcardinal/ui/d-table-cell-edge.js.map +1 -0
- package/dist/wcardinal/ui/d-table-column-impl.js +2 -0
- package/dist/wcardinal/ui/d-table-column-impl.js.map +1 -1
- package/dist/wcardinal/ui/d-table-column.js.map +1 -1
- package/dist/wcardinal/ui/d-table-header-cell.js +6 -200
- package/dist/wcardinal/ui/d-table-header-cell.js.map +1 -1
- package/dist/wcardinal/ui/index.js +1 -0
- package/dist/wcardinal/ui/index.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark-en-us.js +1 -1
- package/dist/wcardinal-ui-theme-dark-en-us.min.js +1 -1
- package/dist/wcardinal-ui-theme-dark-ja-jp.js +1 -1
- package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +1 -1
- package/dist/wcardinal-ui-theme-dark.js +1 -1
- package/dist/wcardinal-ui-theme-dark.min.js +1 -1
- package/dist/wcardinal-ui-theme-white-en-us.js +1 -1
- package/dist/wcardinal-ui-theme-white-en-us.min.js +1 -1
- package/dist/wcardinal-ui-theme-white-ja-jp.js +1 -1
- package/dist/wcardinal-ui-theme-white-ja-jp.min.js +1 -1
- package/dist/wcardinal-ui-theme-white.js +1 -1
- package/dist/wcardinal-ui-theme-white.min.js +1 -1
- package/dist/wcardinal-ui.cjs.js +560 -407
- package/dist/wcardinal-ui.js +560 -407
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- 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"]}
|
|
@@ -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 {
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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"]}
|
|
@@ -562,6 +562,7 @@ export * from "./d-table-category-column";
|
|
|
562
562
|
export * from "./d-table-category-container-impl";
|
|
563
563
|
export * from "./d-table-category-container";
|
|
564
564
|
export * from "./d-table-category";
|
|
565
|
+
export * from "./d-table-cell-edge";
|
|
565
566
|
export * from "./d-table-column-container-impl";
|
|
566
567
|
export * from "./d-table-column-container";
|
|
567
568
|
export * from "./d-table-column-editing";
|