@jimka/typescript-ui 0.5.0 → 0.7.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/lib/{AbstractInput-B10DfLOf.js → AbstractInput-W2PLJV5_.js} +2 -2
- package/dist/lib/{AbstractInput-B10DfLOf.js.map → AbstractInput-W2PLJV5_.js.map} +1 -1
- package/dist/lib/Anchor-iZhsvMlT.js +2 -0
- package/dist/lib/Anchor-iZhsvMlT.js.map +1 -0
- package/dist/lib/AnimatedDropdown-D0RhVgv3.js +2 -0
- package/dist/lib/AnimatedDropdown-D0RhVgv3.js.map +1 -0
- package/dist/lib/Border-6GsTNV-2.js +2 -0
- package/dist/lib/Border-6GsTNV-2.js.map +1 -0
- package/dist/lib/Button-CnFAiQuV.js +2 -0
- package/dist/lib/Button-CnFAiQuV.js.map +1 -0
- package/dist/lib/{Card-CD3jxshU.js → Card-C20k2YHU.js} +2 -2
- package/dist/lib/{Card-CD3jxshU.js.map → Card-C20k2YHU.js.map} +1 -1
- package/dist/lib/Checkbox-CM1z8keM.js +2 -0
- package/dist/lib/Checkbox-CM1z8keM.js.map +1 -0
- package/dist/lib/CheckboxMenuRow-C1h4LPHR.js +2 -0
- package/dist/lib/CheckboxMenuRow-C1h4LPHR.js.map +1 -0
- package/dist/lib/{CodeEditor-BGlB232h.js → CodeEditor-CTL2WjF8.js} +2 -2
- package/dist/lib/CodeEditor-CTL2WjF8.js.map +1 -0
- package/dist/lib/ComboBox-PZ5YPL0X.js +2 -0
- package/dist/lib/ComboBox-PZ5YPL0X.js.map +1 -0
- package/dist/lib/Component-D99-15Zt.js +2 -0
- package/dist/lib/Component-D99-15Zt.js.map +1 -0
- package/dist/lib/Container-FWRjgF6T.js +2 -0
- package/dist/lib/{Container-C7RPLQEc.js.map → Container-FWRjgF6T.js.map} +1 -1
- package/dist/lib/DOM-Cjh7_7TF.js +2 -0
- package/dist/lib/DOM-Cjh7_7TF.js.map +1 -0
- package/dist/lib/Dialog-DN78RaVH.js +2 -0
- package/dist/lib/Dialog-DN78RaVH.js.map +1 -0
- package/dist/lib/{FieldDecorator-HG65hEtk.js → FieldDecorator-DyPX8CFh.js} +2 -2
- package/dist/lib/{FieldDecorator-HG65hEtk.js.map → FieldDecorator-DyPX8CFh.js.map} +1 -1
- package/dist/lib/{Fit-Cg3dPyZg.js → Fit-CaPMj7Up.js} +2 -2
- package/dist/lib/{Fit-Cg3dPyZg.js.map → Fit-CaPMj7Up.js.map} +1 -1
- package/dist/lib/{FloatingPanel-D5buuVrQ.js → FloatingPanel-Dsy_vJxi.js} +2 -2
- package/dist/lib/{FloatingPanel-D5buuVrQ.js.map → FloatingPanel-Dsy_vJxi.js.map} +1 -1
- package/dist/lib/Glyph-DiEpD3gy.js +2 -0
- package/dist/lib/Glyph-DiEpD3gy.js.map +1 -0
- package/dist/lib/{Grid-BYBohJIA.js → Grid-ft_UUpj8.js} +2 -2
- package/dist/lib/Grid-ft_UUpj8.js.map +1 -0
- package/dist/lib/GridConstraints-CvZ0Nzaw.js +2 -0
- package/dist/lib/{GridConstraints-Bts284FI.js.map → GridConstraints-CvZ0Nzaw.js.map} +1 -1
- package/dist/lib/{Header-BIFJK9nR.js → Header-Osm3IjDw.js} +2 -2
- package/dist/lib/{Header-BIFJK9nR.js.map → Header-Osm3IjDw.js.map} +1 -1
- package/dist/lib/{IconText-Dsb1xS-E.js → IconText-BBaYJ2Fx.js} +2 -2
- package/dist/lib/{IconText-Dsb1xS-E.js.map → IconText-BBaYJ2Fx.js.map} +1 -1
- package/dist/lib/LayoutSerialization-BC64__O7.js +2 -0
- package/dist/lib/LayoutSerialization-BC64__O7.js.map +1 -0
- package/dist/lib/List-CQbZK_pT.js +2 -0
- package/dist/lib/List-CQbZK_pT.js.map +1 -0
- package/dist/lib/MemoryStore-DhPoU-7X.js +2 -0
- package/dist/lib/MemoryStore-DhPoU-7X.js.map +1 -0
- package/dist/lib/Menu-CwHluLGT.js +2 -0
- package/dist/lib/Menu-CwHluLGT.js.map +1 -0
- package/dist/lib/{MenuButton-BR4KOFld.js → MenuButton-BqCT-1yv.js} +2 -2
- package/dist/lib/{MenuButton-BR4KOFld.js.map → MenuButton-BqCT-1yv.js.map} +1 -1
- package/dist/lib/OverlayFade-CuEXgimf.js +2 -0
- package/dist/lib/OverlayFade-CuEXgimf.js.map +1 -0
- package/dist/lib/{Panel-CpNQTLNF.js → Panel-CtViePqY.js} +2 -2
- package/dist/lib/{Panel-CpNQTLNF.js.map → Panel-CtViePqY.js.map} +1 -1
- package/dist/lib/{Position-PBVBW1JS.js → Position-BIEU1Eze.js} +2 -2
- package/dist/lib/Position-BIEU1Eze.js.map +1 -0
- package/dist/lib/{ProgressSpinner-lAsK26C-.js → ProgressSpinner-BuBvC1FY.js} +2 -2
- package/dist/lib/{ProgressSpinner-lAsK26C-.js.map → ProgressSpinner-BuBvC1FY.js.map} +1 -1
- package/dist/lib/RadioButton-Df5J-H6m.js +2 -0
- package/dist/lib/RadioButton-Df5J-H6m.js.map +1 -0
- package/dist/lib/RadioMenuRow-Cfv0x6Qj.js +2 -0
- package/dist/lib/RadioMenuRow-Cfv0x6Qj.js.map +1 -0
- package/dist/lib/{RovingTabIndex-C2Vzq0IX.js → RovingTabIndex--w28AnXc.js} +2 -2
- package/dist/lib/{RovingTabIndex-C2Vzq0IX.js.map → RovingTabIndex--w28AnXc.js.map} +1 -1
- package/dist/lib/Scrollbar-DcnueNJd.js +2 -0
- package/dist/lib/Scrollbar-DcnueNJd.js.map +1 -0
- package/dist/lib/SelectableText-DZNxjKXR.js +2 -0
- package/dist/lib/SelectableText-DZNxjKXR.js.map +1 -0
- package/dist/lib/{Slider-DZ9drUxn.js → Slider-DNfd8Lxz.js} +2 -2
- package/dist/lib/{Slider-DZ9drUxn.js.map → Slider-DNfd8Lxz.js.map} +1 -1
- package/dist/lib/{Spacer-SDhOMp2g.js → Spacer-BznfGbwG.js} +2 -2
- package/dist/lib/{Spacer-SDhOMp2g.js.map → Spacer-BznfGbwG.js.map} +1 -1
- package/dist/lib/TabButton-CAACsMov.js +2 -0
- package/dist/lib/TabButton-CAACsMov.js.map +1 -0
- package/dist/lib/TabCloseButton-CCiqsX3y.js +2 -0
- package/dist/lib/TabCloseButton-CCiqsX3y.js.map +1 -0
- package/dist/lib/Text-O-FWa5Cy.js +2 -0
- package/dist/lib/Text-O-FWa5Cy.js.map +1 -0
- package/dist/lib/Tooltip-CyICVu15.js +3 -0
- package/dist/lib/Tooltip-CyICVu15.js.map +1 -0
- package/dist/lib/Tree-CSEguhlk.js +2 -0
- package/dist/lib/Tree-CSEguhlk.js.map +1 -0
- package/dist/lib/VBox-DVe4UXwX.js +2 -0
- package/dist/lib/VBox-DVe4UXwX.js.map +1 -0
- package/dist/lib/VirtualScroller-ggPTCQb0.js +2 -0
- package/dist/lib/VirtualScroller-ggPTCQb0.js.map +1 -0
- package/dist/lib/assets/StoreWorker-B5NwRM2I.js +2 -0
- package/dist/lib/assets/StoreWorker-B5NwRM2I.js.map +1 -0
- package/dist/lib/component/button.es.js +1 -1
- package/dist/lib/component/button.es.js.map +1 -1
- package/dist/lib/component/chart.es.js +1 -1
- package/dist/lib/component/chart.es.js.map +1 -1
- package/dist/lib/component/container.es.js +1 -1
- package/dist/lib/component/container.es.js.map +1 -1
- package/dist/lib/component/diagram.es.js +1 -1
- package/dist/lib/component/diagram.es.js.map +1 -1
- package/dist/lib/component/display.es.js +1 -1
- package/dist/lib/component/display.es.js.map +1 -1
- package/dist/lib/component/editor.es.js +2 -2
- package/dist/lib/component/editor.es.js.map +1 -1
- package/dist/lib/component/input.es.js +1 -1
- package/dist/lib/component/input.es.js.map +1 -1
- package/dist/lib/component/list.es.js +1 -1
- package/dist/lib/component/list.es.js.map +1 -1
- package/dist/lib/component/menubar.es.js +1 -1
- package/dist/lib/component/menubar.es.js.map +1 -1
- package/dist/lib/component/table.es.js +6 -3
- package/dist/lib/component/table.es.js.map +1 -1
- package/dist/lib/component/tree.es.js +1 -1
- package/dist/lib/core.es.js +1 -1
- package/dist/lib/core.es.js.map +1 -1
- package/dist/lib/data.es.js +1 -1
- package/dist/lib/glyphs/solid/index.es.js +1 -1
- package/dist/lib/layout.es.js +1 -1
- package/dist/lib/layout.es.js.map +1 -1
- package/dist/lib/overlay.es.js +1 -1
- package/dist/lib/overlay.es.js.map +1 -1
- package/dist/lib/primitive.es.js +1 -1
- package/dist/lib/router.es.js +1 -1
- package/dist/lib/router.es.js.map +1 -1
- package/dist/lib/selectionsEqual-C7MrKMQr.js +2 -0
- package/dist/lib/selectionsEqual-C7MrKMQr.js.map +1 -0
- package/dist/lib/types/component/button/Button.d.ts +22 -0
- package/dist/lib/types/component/button/MenuButton.d.ts +1 -0
- package/dist/lib/types/component/button/PopupButton.d.ts +22 -0
- package/dist/lib/types/component/button/TabButton.d.ts +9 -0
- package/dist/lib/types/component/button/ToggleButton.d.ts +3 -0
- package/dist/lib/types/component/button/index.d.ts +2 -0
- package/dist/lib/types/component/chart/AbstractChart.d.ts +2 -0
- package/dist/lib/types/component/container/CheckboxMenuRow.d.ts +33 -0
- package/dist/lib/types/component/container/CollapseButton.d.ts +11 -3
- package/dist/lib/types/component/container/MenuItem.d.ts +15 -5
- package/dist/lib/types/component/container/MenuRow.d.ts +24 -0
- package/dist/lib/types/component/container/MenuSeparator.d.ts +4 -2
- package/dist/lib/types/component/container/RadioMenuRow.d.ts +33 -0
- package/dist/lib/types/component/container/Scrollbar.d.ts +5 -0
- package/dist/lib/types/component/container/SplitGutter.d.ts +7 -2
- package/dist/lib/types/component/container/TabBar.d.ts +2 -0
- package/dist/lib/types/component/container/WindowBorder.d.ts +1 -1
- package/dist/lib/types/component/container/index.d.ts +6 -1
- package/dist/lib/types/component/display/Markdown.d.ts +2 -1
- package/dist/lib/types/component/display/WebGLCanvas.d.ts +1 -0
- package/dist/lib/types/component/input/AbstractCalendarDropdown.d.ts +4 -0
- package/dist/lib/types/component/input/AbstractPickerField.d.ts +5 -2
- package/dist/lib/types/component/input/AutoCompleteDropdown.d.ts +2 -0
- package/dist/lib/types/component/input/ComboBox.d.ts +3 -1
- package/dist/lib/types/component/input/Link.d.ts +2 -0
- package/dist/lib/types/component/input/PasswordField.d.ts +2 -0
- package/dist/lib/types/component/input/PickerInput.d.ts +2 -0
- package/dist/lib/types/component/input/SelectableText.d.ts +11 -0
- package/dist/lib/types/component/input/SpinButton.d.ts +2 -0
- package/dist/lib/types/component/input/Text.d.ts +16 -2
- package/dist/lib/types/component/input/TextArea.d.ts +2 -0
- package/dist/lib/types/component/input/TextField.d.ts +2 -0
- package/dist/lib/types/component/input/TextInput.d.ts +2 -0
- package/dist/lib/types/component/input/TimePickerDropdown.d.ts +3 -1
- package/dist/lib/types/component/input/UsernameField.d.ts +2 -0
- package/dist/lib/types/component/input/index.d.ts +2 -0
- package/dist/lib/types/component/list/AbstractSelectableList.d.ts +5 -3
- package/dist/lib/types/component/list/MultiSelectList.d.ts +2 -1
- package/dist/lib/types/component/shared/VirtualRowView.d.ts +2 -0
- package/dist/lib/types/component/table/Body.d.ts +52 -5
- package/dist/lib/types/component/table/Column.d.ts +3 -1
- package/dist/lib/types/component/table/ColumnConfig.d.ts +2 -0
- package/dist/lib/types/component/table/ColumnFilter.d.ts +27 -0
- package/dist/lib/types/component/table/Header.d.ts +31 -4
- package/dist/lib/types/component/table/Row.d.ts +24 -2
- package/dist/lib/types/component/table/Table.d.ts +31 -0
- package/dist/lib/types/component/table/TableExporter.d.ts +7 -3
- package/dist/lib/types/component/table/TablePanel.d.ts +1 -0
- package/dist/lib/types/component/table/TreeBody.d.ts +2 -1
- package/dist/lib/types/component/table/TreeTablePanel.d.ts +1 -0
- package/dist/lib/types/component/table/cell/Cell.d.ts +7 -2
- package/dist/lib/types/component/table/cell/CellText.d.ts +9 -0
- package/dist/lib/types/component/table/cell/Default.d.ts +1 -1
- package/dist/lib/types/component/table/cell/Filter.d.ts +54 -0
- package/dist/lib/types/component/table/cell/FilterClauseBadge.d.ts +21 -0
- package/dist/lib/types/component/table/cell/GroupSeparator.d.ts +9 -0
- package/dist/lib/types/component/table/cell/Header.d.ts +4 -0
- package/dist/lib/types/component/table/cell/ResizeHandle.d.ts +1 -1
- package/dist/lib/types/component/table/cell/editor/CellEditor.d.ts +1 -0
- package/dist/lib/types/component/table/cell/renderer/CellRenderer.d.ts +3 -2
- package/dist/lib/types/component/table/cell/renderer/Combo.d.ts +2 -0
- package/dist/lib/types/component/table/cell/renderer/Date.d.ts +2 -0
- package/dist/lib/types/component/table/cell/renderer/DateTime.d.ts +2 -0
- package/dist/lib/types/component/table/cell/renderer/Filter.d.ts +16 -0
- package/dist/lib/types/component/table/cell/renderer/Glyph.d.ts +1 -0
- package/dist/lib/types/component/table/cell/renderer/Link.d.ts +2 -0
- package/dist/lib/types/component/table/cell/renderer/Number.d.ts +3 -1
- package/dist/lib/types/component/table/cell/renderer/String.d.ts +5 -1
- package/dist/lib/types/component/table/cell/renderer/Time.d.ts +2 -0
- package/dist/lib/types/component/table/cell/renderer/TreeCell.d.ts +1 -0
- package/dist/lib/types/component/table/index.d.ts +7 -1
- package/dist/lib/types/component/tree/Tree.d.ts +17 -1
- package/dist/lib/types/component/tree/index.d.ts +1 -1
- package/dist/lib/types/core/AnimatedDropdown.d.ts +2 -9
- package/dist/lib/types/core/Body.d.ts +4 -0
- package/dist/lib/types/core/ClassStyleRules.d.ts +47 -3
- package/dist/lib/types/core/Component.d.ts +30 -2
- package/dist/lib/types/core/DOM.d.ts +15 -1
- package/dist/lib/types/core/Event.d.ts +11 -2
- package/dist/lib/types/core/LayerManager.d.ts +1 -0
- package/dist/lib/types/core/OverlayFade.d.ts +12 -0
- package/dist/lib/types/core/OverlayPosition.d.ts +6 -0
- package/dist/lib/types/core/StyleTarget.d.ts +2 -0
- package/dist/lib/types/core/Theme.d.ts +9 -0
- package/dist/lib/types/core/Util.d.ts +4 -0
- package/dist/lib/types/core/index.d.ts +6 -4
- package/dist/lib/types/data/AbstractStore.d.ts +3 -0
- package/dist/lib/types/data/FilterDescriptor.d.ts +13 -0
- package/dist/lib/types/data/index.d.ts +2 -1
- package/dist/lib/types/data/temporalText.d.ts +2 -0
- package/dist/lib/types/layout/BoxLayout.d.ts +6 -1
- package/dist/lib/types/layout/Grid.d.ts +1 -0
- package/dist/lib/types/layout/HFlow.d.ts +1 -1
- package/dist/lib/types/layout/Split.d.ts +10 -1
- package/dist/lib/types/layout/Tab.d.ts +7 -1
- package/dist/lib/types/layout/Table.d.ts +2 -0
- package/dist/lib/types/layout/VFlow.d.ts +1 -1
- package/dist/lib/types/layout/index.d.ts +1 -1
- package/dist/lib/types/overlay/AbstractWindow.d.ts +3 -0
- package/dist/lib/types/overlay/Dock.d.ts +1 -0
- package/dist/lib/types/overlay/Menu.d.ts +1 -1
- package/dist/lib/types/overlay/Popover.d.ts +3 -0
- package/dist/lib/types/overlay/PopupPanel.d.ts +19 -0
- package/dist/lib/types/overlay/Window.d.ts +2 -0
- package/dist/lib/types/overlay/index.d.ts +2 -0
- package/dist/lib/types/router/RoutePattern.d.ts +7 -0
- package/dist/lib/types/router/Router.d.ts +6 -2
- package/dist/lib/types/router/index.d.ts +1 -1
- package/dist/lib/validation.es.js +1 -1
- package/llms.txt +4 -0
- package/package.json +1 -1
- package/dist/lib/AbstractBooleanInput-CbW7ZrDT.js +0 -2
- package/dist/lib/AbstractBooleanInput-CbW7ZrDT.js.map +0 -1
- package/dist/lib/Anchor-BsblS5it.js +0 -2
- package/dist/lib/Anchor-BsblS5it.js.map +0 -1
- package/dist/lib/AnimatedDropdown-kL47HPGP.js +0 -2
- package/dist/lib/AnimatedDropdown-kL47HPGP.js.map +0 -1
- package/dist/lib/Border-CNS6aEXB.js +0 -2
- package/dist/lib/Border-CNS6aEXB.js.map +0 -1
- package/dist/lib/Button-T16zSZip.js +0 -2
- package/dist/lib/Button-T16zSZip.js.map +0 -1
- package/dist/lib/CodeEditor-BGlB232h.js.map +0 -1
- package/dist/lib/ComboBox-C9FYMuLv.js +0 -2
- package/dist/lib/ComboBox-C9FYMuLv.js.map +0 -1
- package/dist/lib/Component-w65rPK75.js +0 -2
- package/dist/lib/Component-w65rPK75.js.map +0 -1
- package/dist/lib/Container-C7RPLQEc.js +0 -2
- package/dist/lib/DOM-Ba8YRVel.js +0 -2
- package/dist/lib/DOM-Ba8YRVel.js.map +0 -1
- package/dist/lib/DragManager-UvPHSoRm.js +0 -2
- package/dist/lib/DragManager-UvPHSoRm.js.map +0 -1
- package/dist/lib/Glyph-DeJF_zsR.js +0 -2
- package/dist/lib/Glyph-DeJF_zsR.js.map +0 -1
- package/dist/lib/Grid-BYBohJIA.js.map +0 -1
- package/dist/lib/GridConstraints-Bts284FI.js +0 -2
- package/dist/lib/LayoutSerialization-ySzY1h2l.js +0 -2
- package/dist/lib/LayoutSerialization-ySzY1h2l.js.map +0 -1
- package/dist/lib/LayoutSizes-DKDK1Cle.js +0 -2
- package/dist/lib/LayoutSizes-DKDK1Cle.js.map +0 -1
- package/dist/lib/List-BPd-IXZR.js +0 -2
- package/dist/lib/List-BPd-IXZR.js.map +0 -1
- package/dist/lib/MemoryStore-BgP7-Uzn.js +0 -2
- package/dist/lib/MemoryStore-BgP7-Uzn.js.map +0 -1
- package/dist/lib/Menu-C0roOCY7.js +0 -2
- package/dist/lib/Menu-C0roOCY7.js.map +0 -1
- package/dist/lib/Position-PBVBW1JS.js.map +0 -1
- package/dist/lib/RadioButton-CCcIaL54.js +0 -2
- package/dist/lib/RadioButton-CCcIaL54.js.map +0 -1
- package/dist/lib/Scrollbar-C3ZZyZ1e.js +0 -2
- package/dist/lib/Scrollbar-C3ZZyZ1e.js.map +0 -1
- package/dist/lib/TabButton-DNo4ZgV8.js +0 -2
- package/dist/lib/TabButton-DNo4ZgV8.js.map +0 -1
- package/dist/lib/Text-CdHf3B-1.js +0 -2
- package/dist/lib/Text-CdHf3B-1.js.map +0 -1
- package/dist/lib/Tooltip-B_UF5bXD.js +0 -3
- package/dist/lib/Tooltip-B_UF5bXD.js.map +0 -1
- package/dist/lib/Tree-C7qLbIYH.js +0 -2
- package/dist/lib/Tree-C7qLbIYH.js.map +0 -1
- package/dist/lib/VBox-32fxpkDl.js +0 -2
- package/dist/lib/VBox-32fxpkDl.js.map +0 -1
- package/dist/lib/VirtualScroller-cvFNMS7U.js +0 -2
- package/dist/lib/VirtualScroller-cvFNMS7U.js.map +0 -1
- package/dist/lib/assets/StoreWorker-CgOBYoai.js +0 -2
- package/dist/lib/assets/StoreWorker-CgOBYoai.js.map +0 -1
- package/dist/lib/selectionsEqual-BrTxPMmK.js +0 -2
- package/dist/lib/selectionsEqual-BrTxPMmK.js.map +0 -1
- package/dist/lib/types/component/table/CellGeometry.d.ts +0 -6
|
@@ -3,12 +3,14 @@ import type { Handle } from "../../core/DOM.js";
|
|
|
3
3
|
import { AbstractStore } from "../../data/AbstractStore.js";
|
|
4
4
|
import { ModelRecord } from "../../data/ModelRecord.js";
|
|
5
5
|
import { Row } from "../../component/table/Row.js";
|
|
6
|
+
import type { ColumnWindowSlidePlan } from "../../component/table/Row.js";
|
|
6
7
|
import { CellEditorPool } from "../../component/table/cell/editor/CellEditorPool.js";
|
|
8
|
+
import { Event } from "../../core/Event.js";
|
|
7
9
|
import { VirtualRowView } from "../../component/shared/VirtualRowView.js";
|
|
8
10
|
import type { ColumnConfig } from "../../component/table/ColumnConfig.js";
|
|
9
11
|
import { Column } from "../../component/table/Column.js";
|
|
10
12
|
import type { TableHeader } from "../../component/table/Header.js";
|
|
11
|
-
export type BodyEvent = "verticalscroll" | "horizontalscroll" | "selection" | "cellclick";
|
|
13
|
+
export type BodyEvent = "verticalscroll" | "horizontalscroll" | "selection" | "cellclick" | "cellcontextmenu";
|
|
12
14
|
export interface CellClickEvent {
|
|
13
15
|
record: ModelRecord;
|
|
14
16
|
field: string;
|
|
@@ -17,6 +19,19 @@ export interface CellClickEvent {
|
|
|
17
19
|
rowIndex: number;
|
|
18
20
|
event: MouseEvent;
|
|
19
21
|
}
|
|
22
|
+
export interface BodyViewState {
|
|
23
|
+
store: AbstractStore;
|
|
24
|
+
columns: Column[];
|
|
25
|
+
columnConfigs: Map<string, ColumnConfig>;
|
|
26
|
+
hiddenColumns: Set<string>;
|
|
27
|
+
rowReadOnly: ((record: ModelRecord) => boolean) | null;
|
|
28
|
+
rowVisible: ((record: ModelRecord) => boolean) | null;
|
|
29
|
+
rowSeparator: ((record: ModelRecord) => {
|
|
30
|
+
label: string;
|
|
31
|
+
color: string | null;
|
|
32
|
+
} | null) | null;
|
|
33
|
+
rowIndented: ((record: ModelRecord) => boolean) | null;
|
|
34
|
+
}
|
|
20
35
|
export declare function resolveClickedColumn(cells: Component[], target: Handle | null): number;
|
|
21
36
|
export interface ColumnWindow {
|
|
22
37
|
firstCol: number;
|
|
@@ -31,7 +46,9 @@ declare class Body extends VirtualRowView<Row> {
|
|
|
31
46
|
private _columns;
|
|
32
47
|
private _columnConfigs;
|
|
33
48
|
private _rowReadOnly;
|
|
34
|
-
private
|
|
49
|
+
private _rowVisible;
|
|
50
|
+
private _rowSeparator;
|
|
51
|
+
private _rowIndented;
|
|
35
52
|
private _lastBodyWidth;
|
|
36
53
|
private _lastColumnWidths;
|
|
37
54
|
private _lastAriaRowCount;
|
|
@@ -42,6 +59,10 @@ declare class Body extends VirtualRowView<Row> {
|
|
|
42
59
|
private _selectedRecords;
|
|
43
60
|
private _anchorRecord;
|
|
44
61
|
private _focusedColIndex;
|
|
62
|
+
private _rangeAnchor;
|
|
63
|
+
private _rangeFocus;
|
|
64
|
+
private _contextMenuCell;
|
|
65
|
+
private _cellText;
|
|
45
66
|
private _editorPool;
|
|
46
67
|
private _header;
|
|
47
68
|
private _listeners;
|
|
@@ -54,6 +75,7 @@ declare class Body extends VirtualRowView<Row> {
|
|
|
54
75
|
private bindStore;
|
|
55
76
|
protected onStoreChange(): void;
|
|
56
77
|
protected getVisibleRecords(): ModelRecord[];
|
|
78
|
+
private computeVisibleFields;
|
|
57
79
|
protected createRow(): Row;
|
|
58
80
|
protected getTreeFieldName(): string | undefined;
|
|
59
81
|
protected computeRowAria(row: Row, dataIndex: number): void;
|
|
@@ -63,14 +85,22 @@ declare class Body extends VirtualRowView<Row> {
|
|
|
63
85
|
protected getHiddenColumns(): Set<string>;
|
|
64
86
|
protected getColumnConfigs(): Map<string, ColumnConfig>;
|
|
65
87
|
protected getRowPool(): Row[];
|
|
66
|
-
protected invalidateGeom(): void;
|
|
67
88
|
setHiddenColumns(hidden: Set<string>): this;
|
|
89
|
+
private filterUnhideable;
|
|
68
90
|
setColumns(columns: Column[]): this;
|
|
69
91
|
setRowReadOnly(predicate: ((record: ModelRecord) => boolean) | null): this;
|
|
92
|
+
setRowSeparator(predicate: ((record: ModelRecord) => {
|
|
93
|
+
label: string;
|
|
94
|
+
color: string | null;
|
|
95
|
+
} | null) | null): this;
|
|
96
|
+
setRowIndented(predicate: ((record: ModelRecord) => boolean) | null): this;
|
|
97
|
+
setRowVisible(predicate: ((record: ModelRecord) => boolean) | null): this;
|
|
70
98
|
setColumnConfigs(configs: Map<string, ColumnConfig>): this;
|
|
71
99
|
private registerComboEditors;
|
|
72
100
|
private syncPoolCells;
|
|
73
101
|
setStore(store: AbstractStore): this;
|
|
102
|
+
private rebindStore;
|
|
103
|
+
bindViewState(state: BodyViewState): this;
|
|
74
104
|
protected init(element?: Handle): this;
|
|
75
105
|
protected onScrollerTick(): void;
|
|
76
106
|
private onFocus;
|
|
@@ -78,12 +108,26 @@ declare class Body extends VirtualRowView<Row> {
|
|
|
78
108
|
protected destructor(): void;
|
|
79
109
|
doLayout(): this;
|
|
80
110
|
renderWindow(bodyWidth?: number, columnWidths?: number[]): void;
|
|
111
|
+
private computeColumnWindowSlidePlan;
|
|
81
112
|
private renderWindowPass;
|
|
82
113
|
private updateColumnWidthCache;
|
|
83
114
|
private commitEditsOutsideWindow;
|
|
84
|
-
protected bindAndPositionRows(firstRow: number, windowSize: number, rowWidth: number, records: ModelRecord[], columns: ColumnWindow): void;
|
|
115
|
+
protected bindAndPositionRows(firstRow: number, windowSize: number, rowWidth: number, records: ModelRecord[], columns: ColumnWindow, slidePlan?: ColumnWindowSlidePlan): void;
|
|
85
116
|
protected onSubtreeClick(e: MouseEvent): void;
|
|
86
117
|
private onRowClick;
|
|
118
|
+
private locateCellFromTarget;
|
|
119
|
+
private getCellRangeBounds;
|
|
120
|
+
private isCellWithinBounds;
|
|
121
|
+
private refreshCellRangeHighlight;
|
|
122
|
+
private updateCellRangeVisualState;
|
|
123
|
+
private buildCopyText;
|
|
124
|
+
copySelectionToClipboard(): void;
|
|
125
|
+
copyContextMenuSelection(): void;
|
|
126
|
+
protected onCellMouseDown(e: MouseEvent): void;
|
|
127
|
+
protected onCellDragMove(e: MouseEvent): Event.ListenerResult;
|
|
128
|
+
protected onCellDragEnd(): Event.ListenerResult;
|
|
129
|
+
private onCellDragSelectStart;
|
|
130
|
+
protected onCellContextMenu(e: MouseEvent): Event.ListenerResult;
|
|
87
131
|
selectRecord(record: ModelRecord | null): void;
|
|
88
132
|
getSelectedRecord(): ModelRecord | null;
|
|
89
133
|
getSelectedRecords(): ModelRecord[];
|
|
@@ -92,10 +136,12 @@ declare class Body extends VirtualRowView<Row> {
|
|
|
92
136
|
on(event: "horizontalscroll", listener: (scrollLeft: number) => void): this;
|
|
93
137
|
on(event: "selection", listener: (records: ModelRecord[]) => void): this;
|
|
94
138
|
on(event: "cellclick", listener: (e: CellClickEvent) => void): this;
|
|
139
|
+
on(event: "cellcontextmenu", listener: (x: number, y: number) => void): this;
|
|
95
140
|
off(event: BodyEvent, listener: Function): this;
|
|
96
141
|
protected emit(event: "verticalscroll" | "horizontalscroll", offset: number): void;
|
|
97
142
|
protected emit(event: "selection", records: ModelRecord[]): void;
|
|
98
143
|
protected emit(event: "cellclick", detail: CellClickEvent): void;
|
|
144
|
+
protected emit(event: "cellcontextmenu", x: number, y: number): void;
|
|
99
145
|
private notifySelectionChange;
|
|
100
146
|
scrollToRecord(record: ModelRecord): void;
|
|
101
147
|
private applyReadOnlyState;
|
|
@@ -105,7 +151,8 @@ declare class Body extends VirtualRowView<Row> {
|
|
|
105
151
|
setHeader(header: TableHeader): this;
|
|
106
152
|
protected _updateFocusStyle(): void;
|
|
107
153
|
protected _updateActiveDescendant(): void;
|
|
108
|
-
|
|
154
|
+
private skipSeparators;
|
|
155
|
+
protected onKeyDown(e: KeyboardEvent): Event.ListenerResult;
|
|
109
156
|
protected scrollRecordIntoView(record: ModelRecord): void;
|
|
110
157
|
protected scrollColumnIntoView(colIndex: number): void;
|
|
111
158
|
}
|
|
@@ -14,7 +14,8 @@ export declare class Column {
|
|
|
14
14
|
private _group;
|
|
15
15
|
private _groupColor;
|
|
16
16
|
private _required;
|
|
17
|
-
|
|
17
|
+
private _filterable;
|
|
18
|
+
constructor(field: Field, config?: ColumnConfig, specFilterable?: boolean);
|
|
18
19
|
getField(): Field;
|
|
19
20
|
getMinWidth(): number | undefined;
|
|
20
21
|
getMaxWidth(): number | undefined;
|
|
@@ -30,5 +31,6 @@ export declare class Column {
|
|
|
30
31
|
getGroup(): string | null;
|
|
31
32
|
getGroupColor(): string | null;
|
|
32
33
|
isRequired(): boolean;
|
|
34
|
+
isFilterable(): boolean;
|
|
33
35
|
static resolve(fields: Field[], spec?: ColumnSpec): Column[];
|
|
34
36
|
}
|
|
@@ -16,6 +16,7 @@ export interface ColumnConfig {
|
|
|
16
16
|
hidden?: boolean;
|
|
17
17
|
unhideable?: boolean;
|
|
18
18
|
readOnly?: boolean;
|
|
19
|
+
filterable?: boolean;
|
|
19
20
|
cellReadOnly?: (record: ModelRecord) => boolean;
|
|
20
21
|
showSeconds?: boolean;
|
|
21
22
|
values?: Array<ComboOption | string>;
|
|
@@ -34,4 +35,5 @@ export interface ColumnSpec {
|
|
|
34
35
|
appendUnlisted?: boolean;
|
|
35
36
|
rowReadOnly?: (record: ModelRecord) => boolean;
|
|
36
37
|
autoSizeColumns?: boolean;
|
|
38
|
+
filterable?: boolean;
|
|
37
39
|
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { FieldType } from "../../data/Field.js";
|
|
2
|
+
import type { FilterDescriptor } from "../../data/FilterDescriptor.js";
|
|
3
|
+
import type { ComboOption } from "../../component/table/ColumnConfig.js";
|
|
4
|
+
import type { CellTextResolver } from "../../component/table/cell/CellText.js";
|
|
5
|
+
export type ColumnFilterOperator = 'contains' | 'startsWith' | 'endsWith' | 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte' | 'isEmpty' | 'isNotEmpty';
|
|
6
|
+
export interface ColumnFilterClause {
|
|
7
|
+
operator: ColumnFilterOperator;
|
|
8
|
+
text: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ColumnFilterState {
|
|
11
|
+
clauses: ColumnFilterClause[];
|
|
12
|
+
}
|
|
13
|
+
export interface ColumnFilterTarget {
|
|
14
|
+
type: FieldType;
|
|
15
|
+
values?: Array<ComboOption | string>;
|
|
16
|
+
showSeconds?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare function columnFilterOperators(type: FieldType): ColumnFilterOperator[];
|
|
19
|
+
export declare function columnFilterOperatorLabel(operator: ColumnFilterOperator): string;
|
|
20
|
+
export declare function columnFilterOperatorGlyph(operator: ColumnFilterOperator): string;
|
|
21
|
+
export declare function columnFilterTakesOperand(operator: ColumnFilterOperator): boolean;
|
|
22
|
+
export declare function isClauseEffective(clause: ColumnFilterClause): boolean;
|
|
23
|
+
export declare function effectiveClauseCount(clauses: ColumnFilterClause[]): number;
|
|
24
|
+
export declare function columnFilterTakesNumericOperand(target: ColumnFilterTarget): boolean;
|
|
25
|
+
export declare function columnFilterAcceptsNumericKey(key: string): boolean;
|
|
26
|
+
export declare function buildColumnFilter(field: string, target: ColumnFilterTarget, state: ColumnFilterState, display: CellTextResolver): FilterDescriptor | null;
|
|
27
|
+
export declare function columnFilterStatesEqual(a: ColumnFilterState, b: ColumnFilterState): boolean;
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { Component } from "../../core/Component.js";
|
|
2
|
-
import type { Handle } from "../../core/DOM.js";
|
|
3
2
|
import { Row } from "../../component/table/Row.js";
|
|
4
3
|
import { AbstractModel } from "../../data/AbstractModel.js";
|
|
5
4
|
import { AbstractStore } from "../../data/AbstractStore.js";
|
|
6
5
|
import { Column } from "../../component/table/Column.js";
|
|
6
|
+
import type { ColumnConfig } from "../../component/table/ColumnConfig.js";
|
|
7
|
+
import { Button } from "../../component/button/Button.js";
|
|
7
8
|
export type TableHeaderEvent = "columnresizestart" | "columnresize" | "columncontextmenu";
|
|
8
9
|
export interface HeaderColumnGeometry {
|
|
9
10
|
columnWidths: number[];
|
|
10
11
|
viewportWidth: number;
|
|
11
12
|
columnHeight: number;
|
|
12
13
|
parentRowHeight: number;
|
|
14
|
+
filterRowHeight: number;
|
|
13
15
|
}
|
|
14
16
|
declare class TableHeader extends Component {
|
|
15
17
|
private _model;
|
|
@@ -17,20 +19,30 @@ declare class TableHeader extends Component {
|
|
|
17
19
|
private _hiddenColumns;
|
|
18
20
|
private _columns;
|
|
19
21
|
private _listeners;
|
|
20
|
-
private
|
|
22
|
+
private _menuButton;
|
|
23
|
+
private _boundOnMenuButtonAction;
|
|
21
24
|
private _visibleFields;
|
|
22
25
|
private _windowFirst;
|
|
23
26
|
private _scrollX;
|
|
24
27
|
private _focusedCol;
|
|
25
28
|
private _columnsDirty;
|
|
26
29
|
private _geometry;
|
|
27
|
-
private
|
|
30
|
+
private _filterRowVisible;
|
|
31
|
+
private _filterStates;
|
|
32
|
+
private _filterCellsDirty;
|
|
33
|
+
private _filterWindowFirst;
|
|
34
|
+
private _pendingFilterField;
|
|
35
|
+
private _filterTimer;
|
|
36
|
+
private _boundOnStoreFilterChange;
|
|
37
|
+
private _columnConfigs;
|
|
38
|
+
private _cellText;
|
|
28
39
|
constructor(model: AbstractModel, store: AbstractStore);
|
|
29
40
|
getModel(): AbstractModel;
|
|
30
41
|
setStore(store: AbstractStore): this;
|
|
31
42
|
setModel(model: AbstractModel): this;
|
|
32
43
|
setHiddenColumns(hidden: Set<string>): this;
|
|
33
44
|
setColumns(columns: Column[]): this;
|
|
45
|
+
setColumnConfigs(configs: Map<string, ColumnConfig>): this;
|
|
34
46
|
on(event: "columnresizestart", listener: (colIndex: number, clientX: number) => void): this;
|
|
35
47
|
on(event: "columnresize", listener: (colIndex: number, clientX: number) => void): this;
|
|
36
48
|
on(event: "columncontextmenu", listener: (fieldName: string, x: number, y: number) => void): this;
|
|
@@ -42,7 +54,12 @@ declare class TableHeader extends Component {
|
|
|
42
54
|
getColumnWindowStart(): number;
|
|
43
55
|
getParentRow(): Row;
|
|
44
56
|
hasParentRow(): boolean;
|
|
45
|
-
|
|
57
|
+
getFilterRow(): Row;
|
|
58
|
+
hasFilterRow(): boolean;
|
|
59
|
+
setFilterRowVisible(visible: boolean): this;
|
|
60
|
+
private clearFilterRowState;
|
|
61
|
+
getMenuButton(): Button;
|
|
62
|
+
private onMenuButtonAction;
|
|
46
63
|
addRow(row: Row): this;
|
|
47
64
|
addComponent(row: Row): this;
|
|
48
65
|
setHeight(height: number): this;
|
|
@@ -54,13 +71,23 @@ declare class TableHeader extends Component {
|
|
|
54
71
|
private columnIndexOf;
|
|
55
72
|
private handleSortClick;
|
|
56
73
|
private syncSortIndicators;
|
|
74
|
+
private filterState;
|
|
75
|
+
private onFilterCellChange;
|
|
76
|
+
private filterTarget;
|
|
77
|
+
private applyPendingFilter;
|
|
78
|
+
private onStoreFilterChange;
|
|
79
|
+
private wireFilterCell;
|
|
80
|
+
private reconcileFilterCells;
|
|
57
81
|
renderColumnWindow(geometry?: HeaderColumnGeometry): this;
|
|
82
|
+
private invalidateCellLayouts;
|
|
83
|
+
private positionFilterCells;
|
|
58
84
|
private positionColumnCells;
|
|
59
85
|
private positionParentCells;
|
|
60
86
|
setScrollX(scrollLeft: number): this;
|
|
61
87
|
getScrollX(): number;
|
|
62
88
|
setFocusedColumn(colIndex: number | null): this;
|
|
63
89
|
private applyFocusedColumn;
|
|
90
|
+
protected destructor(): void;
|
|
64
91
|
}
|
|
65
92
|
declare const TableHeaderCallable: import("../../core/Callable.js").Callable<typeof TableHeader>;
|
|
66
93
|
type TableHeaderCallable = TableHeader;
|
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
import { Component } from "../../core/Component.js";
|
|
2
2
|
import { AbstractModel } from "../../data/AbstractModel.js";
|
|
3
|
+
import { Field } from "../../data/Field.js";
|
|
3
4
|
import { ModelRecord } from "../../data/ModelRecord.js";
|
|
4
5
|
import { Cell } from "../../component/table/cell/Cell.js";
|
|
5
6
|
import type { ColumnConfig } from "../../component/table/ColumnConfig.js";
|
|
6
7
|
import { LayoutConstraints } from "../../layout/LayoutConstraints.js";
|
|
8
|
+
export interface ColumnWindowSlidePlan {
|
|
9
|
+
prevFirstCol: number;
|
|
10
|
+
prevLastCol: number;
|
|
11
|
+
delta: number;
|
|
12
|
+
enteringKeys: Map<number, string>;
|
|
13
|
+
}
|
|
14
|
+
export interface RetargetedCell {
|
|
15
|
+
cell: Cell<any>;
|
|
16
|
+
fieldName: string;
|
|
17
|
+
}
|
|
7
18
|
declare class Row extends Component {
|
|
8
19
|
private _model?;
|
|
9
20
|
private _data?;
|
|
@@ -16,11 +27,17 @@ declare class Row extends Component {
|
|
|
16
27
|
private _windowFirst;
|
|
17
28
|
private _cellKeys;
|
|
18
29
|
private _fieldNames;
|
|
30
|
+
private _cellCache;
|
|
31
|
+
private _lastRetargeted;
|
|
19
32
|
private _columnsDirty;
|
|
33
|
+
private _separatorMode;
|
|
20
34
|
constructor(model?: AbstractModel, data?: ModelRecord, hiddenColumns?: Set<string>, columnConfigs?: Map<string, ColumnConfig>, onCellCommit?: (record: ModelRecord) => void, treeFieldName?: string);
|
|
21
35
|
getTreeCell(): Cell<any> | null;
|
|
22
36
|
getColumnWindowStart(): number;
|
|
23
37
|
getFieldNames(): string[];
|
|
38
|
+
getRetargetedCells(): RetargetedCell[];
|
|
39
|
+
isSeparator(): boolean;
|
|
40
|
+
setFieldIndent(indented: boolean): void;
|
|
24
41
|
getData(): ModelRecord | undefined;
|
|
25
42
|
setData(record: ModelRecord): this;
|
|
26
43
|
setStripe(striped: boolean): void;
|
|
@@ -28,13 +45,18 @@ declare class Row extends Component {
|
|
|
28
45
|
addColumn(cell: Cell<any>, constraints?: LayoutConstraints): this;
|
|
29
46
|
addComponent(cell: Cell<any>, constraints?: LayoutConstraints): this;
|
|
30
47
|
setColumnFields(model: AbstractModel, hiddenColumns: Set<string>, columnConfigs: Map<string, ColumnConfig>, treeFieldName?: string): this;
|
|
31
|
-
|
|
48
|
+
renderSeparator(label: string, color: string | null): void;
|
|
49
|
+
setColumnWindow(firstCol: number, lastCol: number, plan?: ColumnWindowSlidePlan): boolean;
|
|
50
|
+
private reconcileWindowSlide;
|
|
32
51
|
private commitCellValue;
|
|
33
|
-
|
|
52
|
+
static cellKey(field: Field, config: ColumnConfig | undefined, isTreeColumn: boolean): string;
|
|
34
53
|
private cellKeyFor;
|
|
35
54
|
private bindCell;
|
|
36
55
|
private static createCellForField;
|
|
56
|
+
private retireCell;
|
|
57
|
+
private disposeCellCache;
|
|
37
58
|
doLayout(): this;
|
|
59
|
+
protected destructor(): void;
|
|
38
60
|
}
|
|
39
61
|
declare const RowCallable: import("../../core/Callable.js").Callable<typeof Row>;
|
|
40
62
|
type RowCallable = Row;
|
|
@@ -19,6 +19,7 @@ declare class Table extends Component<TableOptions> {
|
|
|
19
19
|
private _resolvedColumns;
|
|
20
20
|
private _hiddenColumns;
|
|
21
21
|
private _columnContextMenu;
|
|
22
|
+
private _columnDialog;
|
|
22
23
|
private _headerVisible;
|
|
23
24
|
private _header;
|
|
24
25
|
private _body;
|
|
@@ -32,18 +33,25 @@ declare class Table extends Component<TableOptions> {
|
|
|
32
33
|
private _savedColumnWidths;
|
|
33
34
|
private _columnConfigs;
|
|
34
35
|
private _exportMenuEnabled;
|
|
36
|
+
private _filterRowVisible;
|
|
35
37
|
private _listeners;
|
|
36
38
|
private _displayMode;
|
|
37
39
|
private _rotatedRecord;
|
|
40
|
+
private _rowVisible;
|
|
41
|
+
private _quickSearch;
|
|
38
42
|
private _rotatedStore;
|
|
39
43
|
private _rotatedColumns;
|
|
40
44
|
private _rotatedConfigs;
|
|
41
45
|
private _rotatedFieldByName;
|
|
46
|
+
private _rotatedSeparatorRecords;
|
|
47
|
+
private _rotatedIndentedRecords;
|
|
42
48
|
private _sourceRefresh;
|
|
49
|
+
private _sourceUpdate;
|
|
43
50
|
private _suppressSelectionForward;
|
|
44
51
|
private _autoWidthsSampled;
|
|
45
52
|
private _widthRefs;
|
|
46
53
|
private _sampledCandidates;
|
|
54
|
+
private _cellText;
|
|
47
55
|
constructor(store: AbstractStore, spec?: ColumnSpec, bodyFactory?: (store: AbstractStore) => Body);
|
|
48
56
|
on(event: "selection", listener: (records: ModelRecord[]) => void): this;
|
|
49
57
|
on(event: "cellclick", listener: (e: CellClickEvent) => void): this;
|
|
@@ -54,9 +62,16 @@ declare class Table extends Component<TableOptions> {
|
|
|
54
62
|
private getSourceColumns;
|
|
55
63
|
getDisplayMode(): TableDisplayMode;
|
|
56
64
|
setDisplayMode(mode: TableDisplayMode): this;
|
|
65
|
+
setRowVisible(predicate: ((record: ModelRecord) => boolean) | null): this;
|
|
66
|
+
setQuickSearch(text: string | null, fields?: readonly string[] | null): this;
|
|
67
|
+
private resolveSearchFields;
|
|
68
|
+
private quickSearchMatches;
|
|
69
|
+
private composeRowVisible;
|
|
70
|
+
private applyRowVisible;
|
|
57
71
|
getStore(): AbstractStore;
|
|
58
72
|
getModel(): import("../../data").AbstractModel;
|
|
59
73
|
setStore(store: AbstractStore): this;
|
|
74
|
+
private refreshQuickSearch;
|
|
60
75
|
getColumnWidths(): number[];
|
|
61
76
|
setColumnWidths(widths: number[]): this;
|
|
62
77
|
getAvailableColumnWidth(): number;
|
|
@@ -64,6 +79,8 @@ declare class Table extends Component<TableOptions> {
|
|
|
64
79
|
setColumnVisible(fieldName: string, visible: boolean): this;
|
|
65
80
|
getHeader(): import("../../component/table/Header.js")._TableHeader;
|
|
66
81
|
isHeaderVisible(): boolean;
|
|
82
|
+
isFilterRowVisible(): boolean;
|
|
83
|
+
setFilterRowVisible(visible: boolean): this;
|
|
67
84
|
getBody(): import("../../component/table/Body.js")._Body;
|
|
68
85
|
isBodyVisible(): boolean;
|
|
69
86
|
getFooter(): import("../../component/table/Footer.js")._FooterRow;
|
|
@@ -83,17 +100,29 @@ declare class Table extends Component<TableOptions> {
|
|
|
83
100
|
private bindSourceStore;
|
|
84
101
|
private unbindSourceStore;
|
|
85
102
|
private onSourceStoreChange;
|
|
103
|
+
private onSourceRecordUpdate;
|
|
86
104
|
private ensureRotatedStore;
|
|
87
105
|
private rebuildRotatedStore;
|
|
106
|
+
private computeGroupRuns;
|
|
88
107
|
private rotatedCellType;
|
|
89
108
|
private rotatedCellValues;
|
|
90
109
|
private bindView;
|
|
91
110
|
protected destructor(): void;
|
|
92
111
|
private showColumnMenu;
|
|
112
|
+
private showCellMenu;
|
|
113
|
+
private columnsInMenuOrder;
|
|
114
|
+
private buildColumnMenuItems;
|
|
115
|
+
private showColumnDialog;
|
|
116
|
+
private dialogColumnCount;
|
|
117
|
+
private splitIntoDialogColumns;
|
|
118
|
+
private buildColumnDialogBody;
|
|
119
|
+
private buildColumnDialogColumn;
|
|
93
120
|
setExportMenuEnabled(enabled: boolean): this;
|
|
94
121
|
exportCSV(options?: ExportOptions): void;
|
|
95
122
|
exportJSON(options?: ExportOptions): void;
|
|
123
|
+
exportTSV(options?: ExportOptions): void;
|
|
96
124
|
private getExportColumns;
|
|
125
|
+
getCellText(field: string, record: ModelRecord): string;
|
|
97
126
|
private onColumnResizeStart;
|
|
98
127
|
private onColumnResize;
|
|
99
128
|
private resetColumns;
|
|
@@ -105,6 +134,8 @@ declare class Table extends Component<TableOptions> {
|
|
|
105
134
|
private measureHeaders;
|
|
106
135
|
private measureContent;
|
|
107
136
|
private resolveContentCandidates;
|
|
137
|
+
private resolveRotatedContentCandidates;
|
|
138
|
+
private formatRotatedValueText;
|
|
108
139
|
private collectCandidates;
|
|
109
140
|
private keepLongest;
|
|
110
141
|
private samplesRecordText;
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { Column } from "../../component/table/Column.js";
|
|
2
2
|
import { ColumnConfig } from "../../component/table/ColumnConfig.js";
|
|
3
3
|
import { ModelRecord } from "../../data/ModelRecord.js";
|
|
4
|
+
import type { CellTextResolver } from "../../component/table/cell/CellText.js";
|
|
4
5
|
export interface ExportOptions {
|
|
5
6
|
includeHidden?: boolean;
|
|
6
7
|
filename?: string;
|
|
7
8
|
}
|
|
8
9
|
export declare class TableExporter {
|
|
9
|
-
static exportCSV(columns: Column[], records: ModelRecord[], columnConfigs: Map<string, ColumnConfig>, options?: ExportOptions): void;
|
|
10
|
-
static exportJSON(columns: Column[], records: ModelRecord[], columnConfigs: Map<string, ColumnConfig>, options?: ExportOptions): void;
|
|
11
|
-
static
|
|
10
|
+
static exportCSV(columns: Column[], records: ModelRecord[], columnConfigs: Map<string, ColumnConfig>, display: CellTextResolver, options?: ExportOptions): void;
|
|
11
|
+
static exportJSON(columns: Column[], records: ModelRecord[], columnConfigs: Map<string, ColumnConfig>, display: CellTextResolver, options?: ExportOptions): void;
|
|
12
|
+
static exportTSV(columns: Column[], records: ModelRecord[], columnConfigs: Map<string, ColumnConfig>, display: CellTextResolver, options?: ExportOptions): void;
|
|
13
|
+
static formatValue(column: Column, value: any, columnConfigs: Map<string, ColumnConfig>, display: CellTextResolver): any;
|
|
12
14
|
private static escapeCSVField;
|
|
15
|
+
static buildRectangularTSV(rows: string[][]): string;
|
|
16
|
+
private static escapeTSVField;
|
|
13
17
|
private static download;
|
|
14
18
|
}
|
|
@@ -19,6 +19,7 @@ declare class TablePanel extends Container {
|
|
|
19
19
|
setExportMenuEnabled(enabled: boolean): this;
|
|
20
20
|
exportCSV(options?: ExportOptions): void;
|
|
21
21
|
exportJSON(options?: ExportOptions): void;
|
|
22
|
+
exportTSV(options?: ExportOptions): void;
|
|
22
23
|
setPaginationBar(bar: PaginationBar): this;
|
|
23
24
|
getPaginationBar(): PaginationBar | undefined;
|
|
24
25
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { _Body } from "../../component/table/Body.js";
|
|
2
2
|
import { AbstractStore } from "../../data/AbstractStore.js";
|
|
3
3
|
import type { Handle } from "../../core/DOM.js";
|
|
4
|
+
import { Event } from "../../core/Event.js";
|
|
4
5
|
import { ModelRecord } from "../../data/ModelRecord.js";
|
|
5
6
|
import { Row } from "../../component/table/Row.js";
|
|
6
7
|
type TreeBodyReparentHandler = (dragged: ModelRecord, newParent: ModelRecord | null) => boolean;
|
|
@@ -61,7 +62,7 @@ declare class TreeBody extends _Body {
|
|
|
61
62
|
setReparentHandlers(validator: TreeBodyReparentValidator, handler: TreeBodyReparentHandler): this;
|
|
62
63
|
private ensureEmptyAreaDropTarget;
|
|
63
64
|
protected onSubtreeClick(e: MouseEvent): void;
|
|
64
|
-
protected onKeyDown(e: KeyboardEvent):
|
|
65
|
+
protected onKeyDown(e: KeyboardEvent): Event.ListenerResult;
|
|
65
66
|
private handleArrowRight;
|
|
66
67
|
private handleArrowLeft;
|
|
67
68
|
private moveFocusTo;
|
|
@@ -20,6 +20,7 @@ declare class TreeTablePanel extends Container {
|
|
|
20
20
|
setExportMenuEnabled(enabled: boolean): this;
|
|
21
21
|
exportCSV(options?: ExportOptions): void;
|
|
22
22
|
exportJSON(options?: ExportOptions): void;
|
|
23
|
+
exportTSV(options?: ExportOptions): void;
|
|
23
24
|
setPaginationBar(bar: PaginationBar): this;
|
|
24
25
|
getPaginationBar(): PaginationBar | undefined;
|
|
25
26
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Component } from "../../../core/Component.js";
|
|
1
|
+
import { Component, ComponentOptions } from "../../../core/Component.js";
|
|
2
|
+
import type { ClassStyleDefaults } from "../../../core/ClassStyleRules.js";
|
|
2
3
|
import { ListenerBag } from "../../../core/ListenerBag.js";
|
|
3
4
|
import { Card } from "../../../layout/Card.js";
|
|
4
5
|
import { CellRenderer } from "../../../component/table/cell/renderer/CellRenderer.js";
|
|
@@ -8,8 +9,10 @@ import { CellEditorPool } from "../../../component/table/cell/editor/CellEditorP
|
|
|
8
9
|
import { LayoutConstraints } from "../../../layout/LayoutConstraints.js";
|
|
9
10
|
export type CellEvent = "commit" | "editend";
|
|
10
11
|
export declare class Cell<T> extends Component {
|
|
12
|
+
protected static readonly ownClassStyleDefaults: ClassStyleDefaults;
|
|
11
13
|
private _readOnly;
|
|
12
14
|
private _requiredEmpty;
|
|
15
|
+
private _rangeSelected;
|
|
13
16
|
private _baseBackground;
|
|
14
17
|
private _renderer;
|
|
15
18
|
private _editor;
|
|
@@ -17,8 +20,9 @@ export declare class Cell<T> extends Component {
|
|
|
17
20
|
private _scrollIntoView;
|
|
18
21
|
protected _activeEditor: CellEditor<T> | null;
|
|
19
22
|
protected _listeners: ListenerBag<string>;
|
|
20
|
-
constructor(tag: string, renderer: CellRenderer<T>, editor?: CellEditor<T>, rendererConstraints?: LayoutConstraints, editorContraints?: LayoutConstraints);
|
|
23
|
+
constructor(tag: string, renderer: CellRenderer<T>, editor?: CellEditor<T>, rendererConstraints?: LayoutConstraints, editorContraints?: LayoutConstraints, subclassDefaults?: Partial<ComponentOptions>);
|
|
21
24
|
protected clampsToContentSize(): boolean;
|
|
25
|
+
protected canSkipUnchangedLayout(): boolean;
|
|
22
26
|
getEditorKey(): string | null;
|
|
23
27
|
setEditorPool(pool: CellEditorPool | null): this;
|
|
24
28
|
setScrollIntoViewHandler(handler: (() => void) | null): this;
|
|
@@ -30,6 +34,7 @@ export declare class Cell<T> extends Component {
|
|
|
30
34
|
isReadOnly(): boolean;
|
|
31
35
|
setReadOnly(value: boolean): this;
|
|
32
36
|
setRequiredEmpty(value: boolean): this;
|
|
37
|
+
setRangeSelected(value: boolean): this;
|
|
33
38
|
setBaseBackground(color: string | null): this;
|
|
34
39
|
private _applyStateTint;
|
|
35
40
|
onKeyDown(evnt: CustomEvent<ForwardedKeyDetail>): void;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CellRenderer } from "../../../component/table/cell/renderer/CellRenderer.js";
|
|
2
|
+
import type { CellType, ComboOption } from "../../../component/table/ColumnConfig.js";
|
|
3
|
+
export declare function buildCellRenderer(type: CellType, showSeconds: boolean, numberAlign?: "left" | "right"): CellRenderer<any>;
|
|
4
|
+
export declare class CellTextResolver {
|
|
5
|
+
private _renderers;
|
|
6
|
+
private _comboOptions;
|
|
7
|
+
text(type: CellType, showSeconds: boolean, values: Array<ComboOption | string> | undefined, value: any): string;
|
|
8
|
+
dispose(): void;
|
|
9
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { StringRenderer } from "../../../component/table/cell/renderer/String.js";
|
|
2
2
|
import { Cell } from "../../../component/table/cell/Cell.js";
|
|
3
3
|
declare class DefaultCell extends Cell<String | null> {
|
|
4
|
-
constructor(tag?: string);
|
|
4
|
+
constructor(tag?: string, renderer?: StringRenderer);
|
|
5
5
|
getRenderer(): StringRenderer;
|
|
6
6
|
setValue(value: String | null): this;
|
|
7
7
|
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Cell, CellEvent } from "../../../component/table/cell/Cell.js";
|
|
2
|
+
import type { ColumnFilterOperator, ColumnFilterState } from "../../../component/table/ColumnFilter.js";
|
|
3
|
+
import type { Handle } from "../../../core/DOM.js";
|
|
4
|
+
export type FilterCellEvent = CellEvent | "filterchange";
|
|
5
|
+
declare class FilterCell extends Cell<string | null> {
|
|
6
|
+
private _fieldName;
|
|
7
|
+
private _operators;
|
|
8
|
+
private _numericOnly;
|
|
9
|
+
private _clauses;
|
|
10
|
+
private _badge;
|
|
11
|
+
private _clausesPopover;
|
|
12
|
+
private _columnLabel;
|
|
13
|
+
constructor(fieldName: string, operators: ColumnFilterOperator[]);
|
|
14
|
+
private filterRenderer;
|
|
15
|
+
private applyOperatorFace;
|
|
16
|
+
private applyOperandAvailability;
|
|
17
|
+
setFieldName(name: string): this;
|
|
18
|
+
getFieldName(): string;
|
|
19
|
+
setOperators(operators: ColumnFilterOperator[]): this;
|
|
20
|
+
setNumericOnly(numeric: boolean): this;
|
|
21
|
+
setColumnLabel(label: string): this;
|
|
22
|
+
setFilterState(state: ColumnFilterState): this;
|
|
23
|
+
getFilterState(): ColumnFilterState;
|
|
24
|
+
private selectOperator;
|
|
25
|
+
private numericKeyDisposition;
|
|
26
|
+
private onInputKeyDown;
|
|
27
|
+
private onOperatorButtonClick;
|
|
28
|
+
private addConditionAndOpenPopover;
|
|
29
|
+
private ensureClausesPopover;
|
|
30
|
+
private pruneBlankClauses;
|
|
31
|
+
private openClausesPopover;
|
|
32
|
+
private refreshClausesPopoverBody;
|
|
33
|
+
private buildClausesBody;
|
|
34
|
+
private buildClauseRow;
|
|
35
|
+
private selectRowOperator;
|
|
36
|
+
private onRowTextChange;
|
|
37
|
+
private onAddConditionButtonClick;
|
|
38
|
+
private removeClause;
|
|
39
|
+
private syncBadge;
|
|
40
|
+
private describeClauses;
|
|
41
|
+
private fireFilterChange;
|
|
42
|
+
protected init(element?: Handle): this;
|
|
43
|
+
on(event: "commit", listener: (value: string | null) => void): this;
|
|
44
|
+
on(event: "editend", listener: () => void): this;
|
|
45
|
+
on(event: "filterchange", listener: (fieldName: string, state: ColumnFilterState, immediate: boolean) => void): this;
|
|
46
|
+
off(event: FilterCellEvent, listener: Function): this;
|
|
47
|
+
protected emit(event: "commit", value: string | null): void;
|
|
48
|
+
protected emit(event: "editend"): void;
|
|
49
|
+
protected emit(event: "filterchange", fieldName: string, state: ColumnFilterState, immediate: boolean): void;
|
|
50
|
+
protected destructor(): void;
|
|
51
|
+
}
|
|
52
|
+
declare const FilterCellCallable: import("../../../core/Callable.js").Callable<typeof FilterCell>;
|
|
53
|
+
type FilterCellCallable = FilterCell;
|
|
54
|
+
export { FilterCell as _FilterCell, FilterCellCallable as FilterCell };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Component, ComponentOptions } from "../../../core/Component.js";
|
|
2
|
+
import type { Handle } from "../../../core/DOM.js";
|
|
3
|
+
interface FilterClauseBadgeOptions extends ComponentOptions {
|
|
4
|
+
count?: number | null;
|
|
5
|
+
}
|
|
6
|
+
declare class FilterClauseBadge extends Component<FilterClauseBadgeOptions> {
|
|
7
|
+
private _count;
|
|
8
|
+
private _description;
|
|
9
|
+
constructor(options?: FilterClauseBadgeOptions, subclassDefaults?: Partial<FilterClauseBadgeOptions>);
|
|
10
|
+
protected applyOptions(options: FilterClauseBadgeOptions): this;
|
|
11
|
+
protected render(): Handle;
|
|
12
|
+
getCount(): number | null;
|
|
13
|
+
getAccessibleDescription(): string | null;
|
|
14
|
+
setAccessibleDescription(text: string | null): this;
|
|
15
|
+
setCount(value: number | null): this;
|
|
16
|
+
private _countText;
|
|
17
|
+
private _shouldShow;
|
|
18
|
+
}
|
|
19
|
+
declare const FilterClauseBadgeCallable: import("../../../core/Callable.js").Callable<typeof FilterClauseBadge>;
|
|
20
|
+
type FilterClauseBadgeCallable = FilterClauseBadge;
|
|
21
|
+
export { FilterClauseBadge as _FilterClauseBadge, FilterClauseBadgeCallable as FilterClauseBadge };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DefaultCell } from "../../../component/table/cell/Default.js";
|
|
2
|
+
declare class GroupSeparatorCell extends DefaultCell {
|
|
3
|
+
private _color;
|
|
4
|
+
constructor(text: string, color: string | null);
|
|
5
|
+
getColor(): string | null;
|
|
6
|
+
}
|
|
7
|
+
declare const GroupSeparatorCellCallable: import("../../../core/Callable.js").Callable<typeof GroupSeparatorCell>;
|
|
8
|
+
type GroupSeparatorCellCallable = GroupSeparatorCell;
|
|
9
|
+
export { GroupSeparatorCell as _GroupSeparatorCell, GroupSeparatorCellCallable as GroupSeparatorCell };
|