@operato/data-grist 9.0.0-beta.62 → 9.0.0-beta.64
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/CHANGELOG.md +18 -0
- package/dist/src/accumulator/accumulator.d.ts +2 -0
- package/dist/src/accumulator/accumulator.js +42 -0
- package/dist/src/accumulator/accumulator.js.map +1 -0
- package/dist/src/configure/column-builder.d.ts +2 -0
- package/dist/src/configure/column-builder.js +99 -0
- package/dist/src/configure/column-builder.js.map +1 -0
- package/dist/src/configure/config-builder.d.ts +2 -0
- package/dist/src/configure/config-builder.js +36 -0
- package/dist/src/configure/config-builder.js.map +1 -0
- package/dist/src/configure/filters-option-builder.d.ts +2 -0
- package/dist/src/configure/filters-option-builder.js +7 -0
- package/dist/src/configure/filters-option-builder.js.map +1 -0
- package/dist/src/configure/imex-option-builder.d.ts +2 -0
- package/dist/src/configure/imex-option-builder.js +4 -0
- package/dist/src/configure/imex-option-builder.js.map +1 -0
- package/dist/src/configure/list-option-builder.d.ts +2 -0
- package/dist/src/configure/list-option-builder.js +8 -0
- package/dist/src/configure/list-option-builder.js.map +1 -0
- package/dist/src/configure/rows-option-builder.d.ts +2 -0
- package/dist/src/configure/rows-option-builder.js +26 -0
- package/dist/src/configure/rows-option-builder.js.map +1 -0
- package/dist/src/configure/tree-option-builder.d.ts +2 -0
- package/dist/src/configure/tree-option-builder.js +18 -0
- package/dist/src/configure/tree-option-builder.js.map +1 -0
- package/dist/src/configure/zero-config.d.ts +23 -0
- package/dist/src/configure/zero-config.js +59 -0
- package/dist/src/configure/zero-config.js.map +1 -0
- package/dist/src/const.d.ts +1 -0
- package/dist/src/const.js +2 -0
- package/dist/src/const.js.map +1 -0
- package/dist/src/data-card/data-card-field.d.ts +11 -0
- package/dist/src/data-card/data-card-field.js +106 -0
- package/dist/src/data-card/data-card-field.js.map +1 -0
- package/dist/src/data-card/data-card-gutter-menu.d.ts +2 -0
- package/dist/src/data-card/data-card-gutter-menu.js +96 -0
- package/dist/src/data-card/data-card-gutter-menu.js.map +1 -0
- package/dist/src/data-card/data-card-gutter.d.ts +12 -0
- package/dist/src/data-card/data-card-gutter.js +116 -0
- package/dist/src/data-card/data-card-gutter.js.map +1 -0
- package/dist/src/data-card/data-card.d.ts +19 -0
- package/dist/src/data-card/data-card.js +149 -0
- package/dist/src/data-card/data-card.js.map +1 -0
- package/dist/src/data-card/event-handlers/record-card-click-handler.d.ts +7 -0
- package/dist/src/data-card/event-handlers/record-card-click-handler.js +29 -0
- package/dist/src/data-card/event-handlers/record-card-click-handler.js.map +1 -0
- package/dist/src/data-card/event-handlers/record-card-dblclick-handler.d.ts +7 -0
- package/dist/src/data-card/event-handlers/record-card-dblclick-handler.js +29 -0
- package/dist/src/data-card/event-handlers/record-card-dblclick-handler.js.map +1 -0
- package/dist/src/data-card/record-card.d.ts +23 -0
- package/dist/src/data-card/record-card.js +288 -0
- package/dist/src/data-card/record-card.js.map +1 -0
- package/dist/src/data-consumer.d.ts +10 -0
- package/dist/src/data-consumer.js +2 -0
- package/dist/src/data-consumer.js.map +1 -0
- package/dist/src/data-grid/data-grid-accum-field.d.ts +16 -0
- package/dist/src/data-grid/data-grid-accum-field.js +133 -0
- package/dist/src/data-grid/data-grid-accum-field.js.map +1 -0
- package/dist/src/data-grid/data-grid-body-style.d.ts +1 -0
- package/dist/src/data-grid/data-grid-body-style.js +99 -0
- package/dist/src/data-grid/data-grid-body-style.js.map +1 -0
- package/dist/src/data-grid/data-grid-body.d.ts +52 -0
- package/dist/src/data-grid/data-grid-body.js +660 -0
- package/dist/src/data-grid/data-grid-body.js.map +1 -0
- package/dist/src/data-grid/data-grid-field.d.ts +25 -0
- package/dist/src/data-grid/data-grid-field.js +263 -0
- package/dist/src/data-grid/data-grid-field.js.map +1 -0
- package/dist/src/data-grid/data-grid-footer.d.ts +11 -0
- package/dist/src/data-grid/data-grid-footer.js +120 -0
- package/dist/src/data-grid/data-grid-footer.js.map +1 -0
- package/dist/src/data-grid/data-grid-header.d.ts +29 -0
- package/dist/src/data-grid/data-grid-header.js +531 -0
- package/dist/src/data-grid/data-grid-header.js.map +1 -0
- package/dist/src/data-grid/data-grid.d.ts +36 -0
- package/dist/src/data-grid/data-grid.js +260 -0
- package/dist/src/data-grid/data-grid.js.map +1 -0
- package/dist/src/data-grid/event-handlers/data-grid-body-click-handler.d.ts +7 -0
- package/dist/src/data-grid/event-handlers/data-grid-body-click-handler.js +57 -0
- package/dist/src/data-grid/event-handlers/data-grid-body-click-handler.js.map +1 -0
- package/dist/src/data-grid/event-handlers/data-grid-body-contextmenu-handler.d.ts +7 -0
- package/dist/src/data-grid/event-handlers/data-grid-body-contextmenu-handler.js +25 -0
- package/dist/src/data-grid/event-handlers/data-grid-body-contextmenu-handler.js.map +1 -0
- package/dist/src/data-grid/event-handlers/data-grid-body-dblclick-handler.d.ts +7 -0
- package/dist/src/data-grid/event-handlers/data-grid-body-dblclick-handler.js +34 -0
- package/dist/src/data-grid/event-handlers/data-grid-body-dblclick-handler.js.map +1 -0
- package/dist/src/data-grid/event-handlers/data-grid-body-focus-change-handler.d.ts +7 -0
- package/dist/src/data-grid/event-handlers/data-grid-body-focus-change-handler.js +19 -0
- package/dist/src/data-grid/event-handlers/data-grid-body-focus-change-handler.js.map +1 -0
- package/dist/src/data-grid/event-handlers/data-grid-body-keydown-handler.d.ts +7 -0
- package/dist/src/data-grid/event-handlers/data-grid-body-keydown-handler.js +226 -0
- package/dist/src/data-grid/event-handlers/data-grid-body-keydown-handler.js.map +1 -0
- package/dist/src/data-grist.d.ts +367 -0
- package/dist/src/data-grist.js +1064 -0
- package/dist/src/data-grist.js.map +1 -0
- package/dist/src/data-list/data-list-field.d.ts +11 -0
- package/dist/src/data-list/data-list-field.js +95 -0
- package/dist/src/data-list/data-list-field.js.map +1 -0
- package/dist/src/data-list/data-list-gutter.d.ts +12 -0
- package/dist/src/data-list/data-list-gutter.js +121 -0
- package/dist/src/data-list/data-list-gutter.js.map +1 -0
- package/dist/src/data-list/data-list.d.ts +18 -0
- package/dist/src/data-list/data-list.js +139 -0
- package/dist/src/data-list/data-list.js.map +1 -0
- package/dist/src/data-list/event-handlers/record-partial-click-handler.d.ts +7 -0
- package/dist/src/data-list/event-handlers/record-partial-click-handler.js +29 -0
- package/dist/src/data-list/event-handlers/record-partial-click-handler.js.map +1 -0
- package/dist/src/data-list/event-handlers/record-partial-dblclick-handler.d.ts +7 -0
- package/dist/src/data-list/event-handlers/record-partial-dblclick-handler.js +29 -0
- package/dist/src/data-list/event-handlers/record-partial-dblclick-handler.js.map +1 -0
- package/dist/src/data-list/event-handlers/record-partial-long-press-handler.d.ts +7 -0
- package/dist/src/data-list/event-handlers/record-partial-long-press-handler.js +29 -0
- package/dist/src/data-list/event-handlers/record-partial-long-press-handler.js.map +1 -0
- package/dist/src/data-list/record-partial.d.ts +21 -0
- package/dist/src/data-list/record-partial.js +252 -0
- package/dist/src/data-list/record-partial.js.map +1 -0
- package/dist/src/data-manipulator.d.ts +38 -0
- package/dist/src/data-manipulator.js +324 -0
- package/dist/src/data-manipulator.js.map +1 -0
- package/dist/src/data-provider.d.ts +50 -0
- package/dist/src/data-provider.js +200 -0
- package/dist/src/data-provider.js.map +1 -0
- package/dist/src/data-report/data-report-body-style.d.ts +1 -0
- package/dist/src/data-report/data-report-body-style.js +58 -0
- package/dist/src/data-report/data-report-body-style.js.map +1 -0
- package/dist/src/data-report/data-report-body.d.ts +18 -0
- package/dist/src/data-report/data-report-body.js +181 -0
- package/dist/src/data-report/data-report-body.js.map +1 -0
- package/dist/src/data-report/data-report-component.d.ts +21 -0
- package/dist/src/data-report/data-report-component.js +138 -0
- package/dist/src/data-report/data-report-component.js.map +1 -0
- package/dist/src/data-report/data-report-field.d.ts +13 -0
- package/dist/src/data-report/data-report-field.js +99 -0
- package/dist/src/data-report/data-report-field.js.map +1 -0
- package/dist/src/data-report/data-report-header.d.ts +1 -0
- package/dist/src/data-report/data-report-header.js +221 -0
- package/dist/src/data-report/data-report-header.js.map +1 -0
- package/dist/src/data-report/event-handlers/data-report-body-click-handler.d.ts +5 -0
- package/dist/src/data-report/event-handlers/data-report-body-click-handler.js +33 -0
- package/dist/src/data-report/event-handlers/data-report-body-click-handler.js.map +1 -0
- package/dist/src/data-report/event-handlers/data-report-body-dblclick-handler.d.ts +5 -0
- package/dist/src/data-report/event-handlers/data-report-body-dblclick-handler.js +19 -0
- package/dist/src/data-report/event-handlers/data-report-body-dblclick-handler.js.map +1 -0
- package/dist/src/data-report/event-handlers/data-report-body-keydown-handler.d.ts +5 -0
- package/dist/src/data-report/event-handlers/data-report-body-keydown-handler.js +58 -0
- package/dist/src/data-report/event-handlers/data-report-body-keydown-handler.js.map +1 -0
- package/dist/src/data-report.d.ts +44 -0
- package/dist/src/data-report.js +386 -0
- package/dist/src/data-report.js.map +1 -0
- package/dist/src/editors/index.d.ts +3 -0
- package/dist/src/editors/index.js +4 -0
- package/dist/src/editors/index.js.map +1 -0
- package/dist/src/editors/ox-grist-editor-checkbox.d.ts +7 -0
- package/dist/src/editors/ox-grist-editor-checkbox.js +27 -0
- package/dist/src/editors/ox-grist-editor-checkbox.js.map +1 -0
- package/dist/src/editors/ox-grist-editor-color.d.ts +4 -0
- package/dist/src/editors/ox-grist-editor-color.js +14 -0
- package/dist/src/editors/ox-grist-editor-color.js.map +1 -0
- package/dist/src/editors/ox-grist-editor-date.d.ts +4 -0
- package/dist/src/editors/ox-grist-editor-date.js +14 -0
- package/dist/src/editors/ox-grist-editor-date.js.map +1 -0
- package/dist/src/editors/ox-grist-editor-datetime.d.ts +6 -0
- package/dist/src/editors/ox-grist-editor-datetime.js +26 -0
- package/dist/src/editors/ox-grist-editor-datetime.js.map +1 -0
- package/dist/src/editors/ox-grist-editor-email.d.ts +4 -0
- package/dist/src/editors/ox-grist-editor-email.js +14 -0
- package/dist/src/editors/ox-grist-editor-email.js.map +1 -0
- package/dist/src/editors/ox-grist-editor-file.d.ts +6 -0
- package/dist/src/editors/ox-grist-editor-file.js +25 -0
- package/dist/src/editors/ox-grist-editor-file.js.map +1 -0
- package/dist/src/editors/ox-grist-editor-image.d.ts +7 -0
- package/dist/src/editors/ox-grist-editor-image.js +31 -0
- package/dist/src/editors/ox-grist-editor-image.js.map +1 -0
- package/dist/src/editors/ox-grist-editor-json5.d.ts +8 -0
- package/dist/src/editors/ox-grist-editor-json5.js +66 -0
- package/dist/src/editors/ox-grist-editor-json5.js.map +1 -0
- package/dist/src/editors/ox-grist-editor-month.d.ts +4 -0
- package/dist/src/editors/ox-grist-editor-month.js +14 -0
- package/dist/src/editors/ox-grist-editor-month.js.map +1 -0
- package/dist/src/editors/ox-grist-editor-multiple-select.d.ts +8 -0
- package/dist/src/editors/ox-grist-editor-multiple-select.js +52 -0
- package/dist/src/editors/ox-grist-editor-multiple-select.js.map +1 -0
- package/dist/src/editors/ox-grist-editor-number.d.ts +6 -0
- package/dist/src/editors/ox-grist-editor-number.js +27 -0
- package/dist/src/editors/ox-grist-editor-number.js.map +1 -0
- package/dist/src/editors/ox-grist-editor-password.d.ts +4 -0
- package/dist/src/editors/ox-grist-editor-password.js +14 -0
- package/dist/src/editors/ox-grist-editor-password.js.map +1 -0
- package/dist/src/editors/ox-grist-editor-select.d.ts +4 -0
- package/dist/src/editors/ox-grist-editor-select.js +53 -0
- package/dist/src/editors/ox-grist-editor-select.js.map +1 -0
- package/dist/src/editors/ox-grist-editor-tel.d.ts +4 -0
- package/dist/src/editors/ox-grist-editor-tel.js +14 -0
- package/dist/src/editors/ox-grist-editor-tel.js.map +1 -0
- package/dist/src/editors/ox-grist-editor-text.d.ts +5 -0
- package/dist/src/editors/ox-grist-editor-text.js +17 -0
- package/dist/src/editors/ox-grist-editor-text.js.map +1 -0
- package/dist/src/editors/ox-grist-editor-textarea.d.ts +6 -0
- package/dist/src/editors/ox-grist-editor-textarea.js +18 -0
- package/dist/src/editors/ox-grist-editor-textarea.js.map +1 -0
- package/dist/src/editors/ox-grist-editor-time.d.ts +4 -0
- package/dist/src/editors/ox-grist-editor-time.js +14 -0
- package/dist/src/editors/ox-grist-editor-time.js.map +1 -0
- package/dist/src/editors/ox-grist-editor-tree.d.ts +6 -0
- package/dist/src/editors/ox-grist-editor-tree.js +27 -0
- package/dist/src/editors/ox-grist-editor-tree.js.map +1 -0
- package/dist/src/editors/ox-grist-editor-varname.d.ts +6 -0
- package/dist/src/editors/ox-grist-editor-varname.js +36 -0
- package/dist/src/editors/ox-grist-editor-varname.js.map +1 -0
- package/dist/src/editors/ox-grist-editor-week.d.ts +4 -0
- package/dist/src/editors/ox-grist-editor-week.js +14 -0
- package/dist/src/editors/ox-grist-editor-week.js.map +1 -0
- package/dist/src/editors/ox-grist-editor.d.ts +27 -0
- package/dist/src/editors/ox-grist-editor.js +197 -0
- package/dist/src/editors/ox-grist-editor.js.map +1 -0
- package/dist/src/editors/ox-input-tree.d.ts +20 -0
- package/dist/src/editors/ox-input-tree.js +221 -0
- package/dist/src/editors/ox-input-tree.js.map +1 -0
- package/dist/src/editors/ox-popup-code-input.d.ts +14 -0
- package/dist/src/editors/ox-popup-code-input.js +78 -0
- package/dist/src/editors/ox-popup-code-input.js.map +1 -0
- package/dist/src/editors/registry.d.ts +12 -0
- package/dist/src/editors/registry.js +73 -0
- package/dist/src/editors/registry.js.map +1 -0
- package/dist/src/empty-note.d.ts +9 -0
- package/dist/src/empty-note.js +53 -0
- package/dist/src/empty-note.js.map +1 -0
- package/dist/src/filters/filter-checkbox.d.ts +3 -0
- package/dist/src/filters/filter-checkbox.js +41 -0
- package/dist/src/filters/filter-checkbox.js.map +1 -0
- package/dist/src/filters/filter-input-barcode.d.ts +3 -0
- package/dist/src/filters/filter-input-barcode.js +28 -0
- package/dist/src/filters/filter-input-barcode.js.map +1 -0
- package/dist/src/filters/filter-input.d.ts +2 -0
- package/dist/src/filters/filter-input.js +25 -0
- package/dist/src/filters/filter-input.js.map +1 -0
- package/dist/src/filters/filter-range-date.d.ts +2 -0
- package/dist/src/filters/filter-range-date.js +66 -0
- package/dist/src/filters/filter-range-date.js.map +1 -0
- package/dist/src/filters/filter-range-number.d.ts +2 -0
- package/dist/src/filters/filter-range-number.js +54 -0
- package/dist/src/filters/filter-range-number.js.map +1 -0
- package/dist/src/filters/filter-select-buttons.d.ts +3 -0
- package/dist/src/filters/filter-select-buttons.js +50 -0
- package/dist/src/filters/filter-select-buttons.js.map +1 -0
- package/dist/src/filters/filter-select.d.ts +3 -0
- package/dist/src/filters/filter-select.js +52 -0
- package/dist/src/filters/filter-select.js.map +1 -0
- package/dist/src/filters/filter-styles.d.ts +1 -0
- package/dist/src/filters/filter-styles.js +119 -0
- package/dist/src/filters/filter-styles.js.map +1 -0
- package/dist/src/filters/filters-form.d.ts +40 -0
- package/dist/src/filters/filters-form.js +430 -0
- package/dist/src/filters/filters-form.js.map +1 -0
- package/dist/src/filters/index.d.ts +8 -0
- package/dist/src/filters/index.js +9 -0
- package/dist/src/filters/index.js.map +1 -0
- package/dist/src/filters/registry.d.ts +7 -0
- package/dist/src/filters/registry.js +48 -0
- package/dist/src/filters/registry.js.map +1 -0
- package/dist/src/formatters/date-formatter.d.ts +1 -0
- package/dist/src/formatters/date-formatter.js +4 -0
- package/dist/src/formatters/date-formatter.js.map +1 -0
- package/dist/src/formatters/index.d.ts +1 -0
- package/dist/src/formatters/index.js +2 -0
- package/dist/src/formatters/index.js.map +1 -0
- package/dist/src/formatters/number-formatter.d.ts +1 -0
- package/dist/src/formatters/number-formatter.js +4 -0
- package/dist/src/formatters/number-formatter.js.map +1 -0
- package/dist/src/formatters/registry.d.ts +6 -0
- package/dist/src/formatters/registry.js +25 -0
- package/dist/src/formatters/registry.js.map +1 -0
- package/dist/src/formatters/text-formatter.d.ts +1 -0
- package/dist/src/formatters/text-formatter.js +4 -0
- package/dist/src/formatters/text-formatter.js.map +1 -0
- package/dist/src/gutters/gutter-button.d.ts +21 -0
- package/dist/src/gutters/gutter-button.js +40 -0
- package/dist/src/gutters/gutter-button.js.map +1 -0
- package/dist/src/gutters/gutter-dirty.d.ts +23 -0
- package/dist/src/gutters/gutter-dirty.js +87 -0
- package/dist/src/gutters/gutter-dirty.js.map +1 -0
- package/dist/src/gutters/gutter-row-selector.d.ts +21 -0
- package/dist/src/gutters/gutter-row-selector.js +70 -0
- package/dist/src/gutters/gutter-row-selector.js.map +1 -0
- package/dist/src/gutters/gutter-sequence.d.ts +35 -0
- package/dist/src/gutters/gutter-sequence.js +48 -0
- package/dist/src/gutters/gutter-sequence.js.map +1 -0
- package/dist/src/gutters/index.d.ts +1 -0
- package/dist/src/gutters/index.js +2 -0
- package/dist/src/gutters/index.js.map +1 -0
- package/dist/src/gutters/registry.d.ts +7 -0
- package/dist/src/gutters/registry.js +26 -0
- package/dist/src/gutters/registry.js.map +1 -0
- package/dist/src/handlers/contextmenu-tree-mutation.d.ts +3 -0
- package/dist/src/handlers/contextmenu-tree-mutation.js +64 -0
- package/dist/src/handlers/contextmenu-tree-mutation.js.map +1 -0
- package/dist/src/handlers/index.d.ts +1 -0
- package/dist/src/handlers/index.js +2 -0
- package/dist/src/handlers/index.js.map +1 -0
- package/dist/src/handlers/move-down.d.ts +3 -0
- package/dist/src/handlers/move-down.js +26 -0
- package/dist/src/handlers/move-down.js.map +1 -0
- package/dist/src/handlers/move-up.d.ts +3 -0
- package/dist/src/handlers/move-up.js +26 -0
- package/dist/src/handlers/move-up.js.map +1 -0
- package/dist/src/handlers/record-copy.d.ts +3 -0
- package/dist/src/handlers/record-copy.js +23 -0
- package/dist/src/handlers/record-copy.js.map +1 -0
- package/dist/src/handlers/record-delete.d.ts +3 -0
- package/dist/src/handlers/record-delete.js +16 -0
- package/dist/src/handlers/record-delete.js.map +1 -0
- package/dist/src/handlers/record-view-handler.d.ts +3 -0
- package/dist/src/handlers/record-view-handler.js +15 -0
- package/dist/src/handlers/record-view-handler.js.map +1 -0
- package/dist/src/handlers/registry.d.ts +7 -0
- package/dist/src/handlers/registry.js +34 -0
- package/dist/src/handlers/registry.js.map +1 -0
- package/dist/src/handlers/select-row-toggle.d.ts +3 -0
- package/dist/src/handlers/select-row-toggle.js +18 -0
- package/dist/src/handlers/select-row-toggle.js.map +1 -0
- package/dist/src/handlers/select-row.d.ts +3 -0
- package/dist/src/handlers/select-row.js +14 -0
- package/dist/src/handlers/select-row.js.map +1 -0
- package/dist/src/index.d.ts +14 -0
- package/dist/src/index.js +15 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/personalizer/index.d.ts +1 -0
- package/dist/src/personalizer/index.js +2 -0
- package/dist/src/personalizer/index.js.map +1 -0
- package/dist/src/personalizer/ox-grist-filter-personalizer.d.ts +8 -0
- package/dist/src/personalizer/ox-grist-filter-personalizer.js +178 -0
- package/dist/src/personalizer/ox-grist-filter-personalizer.js.map +1 -0
- package/dist/src/personalizer/ox-grist-personalizer.d.ts +8 -0
- package/dist/src/personalizer/ox-grist-personalizer.js +212 -0
- package/dist/src/personalizer/ox-grist-personalizer.js.map +1 -0
- package/dist/src/record-view/event-handlers/record-view-body-click-handler.d.ts +7 -0
- package/dist/src/record-view/event-handlers/record-view-body-click-handler.js +27 -0
- package/dist/src/record-view/event-handlers/record-view-body-click-handler.js.map +1 -0
- package/dist/src/record-view/event-handlers/record-view-body-keydown-handler.d.ts +7 -0
- package/dist/src/record-view/event-handlers/record-view-body-keydown-handler.js +22 -0
- package/dist/src/record-view/event-handlers/record-view-body-keydown-handler.js.map +1 -0
- package/dist/src/record-view/index.d.ts +2 -0
- package/dist/src/record-view/index.js +3 -0
- package/dist/src/record-view/index.js.map +1 -0
- package/dist/src/record-view/ox-record-creator.d.ts +26 -0
- package/dist/src/record-view/ox-record-creator.js +247 -0
- package/dist/src/record-view/ox-record-creator.js.map +1 -0
- package/dist/src/record-view/record-view-body.d.ts +21 -0
- package/dist/src/record-view/record-view-body.js +252 -0
- package/dist/src/record-view/record-view-body.js.map +1 -0
- package/dist/src/record-view/record-view-handler.d.ts +9 -0
- package/dist/src/record-view/record-view-handler.js +57 -0
- package/dist/src/record-view/record-view-handler.js.map +1 -0
- package/dist/src/record-view/record-view.d.ts +23 -0
- package/dist/src/record-view/record-view.js +117 -0
- package/dist/src/record-view/record-view.js.map +1 -0
- package/dist/src/renderers/index.d.ts +13 -0
- package/dist/src/renderers/index.js +14 -0
- package/dist/src/renderers/index.js.map +1 -0
- package/dist/src/renderers/ox-grist-renderer-boolean.d.ts +2 -0
- package/dist/src/renderers/ox-grist-renderer-boolean.js +39 -0
- package/dist/src/renderers/ox-grist-renderer-boolean.js.map +1 -0
- package/dist/src/renderers/ox-grist-renderer-color.d.ts +2 -0
- package/dist/src/renderers/ox-grist-renderer-color.js +12 -0
- package/dist/src/renderers/ox-grist-renderer-color.js.map +1 -0
- package/dist/src/renderers/ox-grist-renderer-date.d.ts +2 -0
- package/dist/src/renderers/ox-grist-renderer-date.js +53 -0
- package/dist/src/renderers/ox-grist-renderer-date.js.map +1 -0
- package/dist/src/renderers/ox-grist-renderer-file.d.ts +2 -0
- package/dist/src/renderers/ox-grist-renderer-file.js +27 -0
- package/dist/src/renderers/ox-grist-renderer-file.js.map +1 -0
- package/dist/src/renderers/ox-grist-renderer-image.d.ts +2 -0
- package/dist/src/renderers/ox-grist-renderer-image.js +24 -0
- package/dist/src/renderers/ox-grist-renderer-image.js.map +1 -0
- package/dist/src/renderers/ox-grist-renderer-json5.d.ts +2 -0
- package/dist/src/renderers/ox-grist-renderer-json5.js +30 -0
- package/dist/src/renderers/ox-grist-renderer-json5.js.map +1 -0
- package/dist/src/renderers/ox-grist-renderer-link.d.ts +2 -0
- package/dist/src/renderers/ox-grist-renderer-link.js +12 -0
- package/dist/src/renderers/ox-grist-renderer-link.js.map +1 -0
- package/dist/src/renderers/ox-grist-renderer-password.d.ts +2 -0
- package/dist/src/renderers/ox-grist-renderer-password.js +5 -0
- package/dist/src/renderers/ox-grist-renderer-password.js.map +1 -0
- package/dist/src/renderers/ox-grist-renderer-progress.d.ts +5 -0
- package/dist/src/renderers/ox-grist-renderer-progress.js +46 -0
- package/dist/src/renderers/ox-grist-renderer-progress.js.map +1 -0
- package/dist/src/renderers/ox-grist-renderer-select.d.ts +2 -0
- package/dist/src/renderers/ox-grist-renderer-select.js +50 -0
- package/dist/src/renderers/ox-grist-renderer-select.js.map +1 -0
- package/dist/src/renderers/ox-grist-renderer-text.d.ts +2 -0
- package/dist/src/renderers/ox-grist-renderer-text.js +11 -0
- package/dist/src/renderers/ox-grist-renderer-text.js.map +1 -0
- package/dist/src/renderers/ox-grist-renderer-textarea.d.ts +2 -0
- package/dist/src/renderers/ox-grist-renderer-textarea.js +5 -0
- package/dist/src/renderers/ox-grist-renderer-textarea.js.map +1 -0
- package/dist/src/renderers/ox-grist-renderer-tree.d.ts +12 -0
- package/dist/src/renderers/ox-grist-renderer-tree.js +183 -0
- package/dist/src/renderers/ox-grist-renderer-tree.js.map +1 -0
- package/dist/src/renderers/ox-grist-renderer.d.ts +15 -0
- package/dist/src/renderers/ox-grist-renderer.js +48 -0
- package/dist/src/renderers/ox-grist-renderer.js.map +1 -0
- package/dist/src/renderers/registry.d.ts +12 -0
- package/dist/src/renderers/registry.js +70 -0
- package/dist/src/renderers/registry.js.map +1 -0
- package/dist/src/sorters/sorters-control.d.ts +12 -0
- package/dist/src/sorters/sorters-control.js +138 -0
- package/dist/src/sorters/sorters-control.js.map +1 -0
- package/dist/src/types.d.ts +696 -0
- package/dist/src/types.js +23 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/utils/index.d.ts +2 -0
- package/dist/src/utils/index.js +3 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/src/utils/list-param.d.ts +16 -0
- package/dist/src/utils/list-param.js +40 -0
- package/dist/src/utils/list-param.js.map +1 -0
- package/dist/src/utils/supports-passive.d.ts +1 -0
- package/dist/src/utils/supports-passive.js +13 -0
- package/dist/src/utils/supports-passive.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -5
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +0 -1
- package/index.ts +0 -1
@@ -0,0 +1,226 @@
|
|
1
|
+
/**
|
2
|
+
* ox-grid-body 의 keydown handler
|
3
|
+
*
|
4
|
+
* - handler의 this 는 ox-grid-body임.
|
5
|
+
*/
|
6
|
+
export async function dataGridBodyKeydownHandler(e) {
|
7
|
+
// 한글 Composing 이벤트는 무시
|
8
|
+
if (e.isComposing)
|
9
|
+
return;
|
10
|
+
// arrow-key
|
11
|
+
const key = e.key;
|
12
|
+
var { row = 0, column = 0 } = this.focused || {};
|
13
|
+
var { records = [] } = this.data || {};
|
14
|
+
var maxrow = this.config.rows.appendable ? records.length : records.length - 1;
|
15
|
+
var maxcolumn = (this.columns || []).filter(column => !column.hidden).length - 1;
|
16
|
+
if (this.editTarget) {
|
17
|
+
switch (key) {
|
18
|
+
case 'Escape':
|
19
|
+
case 'Esc':
|
20
|
+
/* TODO 편집이 취소되어야 한다. */
|
21
|
+
case 'Enter':
|
22
|
+
this.editTarget = null;
|
23
|
+
this.focus();
|
24
|
+
return;
|
25
|
+
case 'Tab':
|
26
|
+
this.editTarget = null;
|
27
|
+
if (e.shiftKey) {
|
28
|
+
column = Math.max(0, column - 1);
|
29
|
+
}
|
30
|
+
else {
|
31
|
+
column = Math.min(maxcolumn, column + 1);
|
32
|
+
}
|
33
|
+
this.focus();
|
34
|
+
break;
|
35
|
+
// case 'Down':
|
36
|
+
// case 'ArrowDown':
|
37
|
+
// this.editTarget = null
|
38
|
+
// row = Math.min(maxrow, row + 1)
|
39
|
+
// this.focus()
|
40
|
+
// break
|
41
|
+
case 'PageUp':
|
42
|
+
case 'PageDown':
|
43
|
+
case 'End':
|
44
|
+
case 'Home':
|
45
|
+
// e.preventDefault()
|
46
|
+
// return
|
47
|
+
break;
|
48
|
+
default:
|
49
|
+
if (e.metaKey || e.ctrlKey) {
|
50
|
+
/* Window System에 선택된 영역이 없다면, 셀을 복사/붙여넣기 한다. */
|
51
|
+
switch (e.key) {
|
52
|
+
case 'c':
|
53
|
+
const selection = window.getSelection();
|
54
|
+
if (!selection || !selection.anchorNode || selection.type != 'Range') {
|
55
|
+
/*
|
56
|
+
editor가 select 인 경우 자체 복사 기능이 없으므로 this.copy()를 사용하도록 하기 위해서, selection.type != 'Range' 조건을 추가했다.
|
57
|
+
select인 경우에는 selection.type 이 'Caret' 이었다.
|
58
|
+
*/
|
59
|
+
this.copy();
|
60
|
+
e.preventDefault();
|
61
|
+
}
|
62
|
+
break;
|
63
|
+
case 'v':
|
64
|
+
this.paste();
|
65
|
+
break;
|
66
|
+
}
|
67
|
+
}
|
68
|
+
return;
|
69
|
+
}
|
70
|
+
}
|
71
|
+
else {
|
72
|
+
switch (key) {
|
73
|
+
case 'Up':
|
74
|
+
case 'ArrowUp':
|
75
|
+
if (e.shiftKey) {
|
76
|
+
let { start } = this._selectBlock || {};
|
77
|
+
let focused = this.focusedField;
|
78
|
+
if (focused && focused.rowIndex > 0) {
|
79
|
+
this.setSelectBlock(start || focused, this.getFieldByIndex(focused.rowIndex - 1, focused.columnIndex));
|
80
|
+
}
|
81
|
+
}
|
82
|
+
else {
|
83
|
+
this.setSelectBlock();
|
84
|
+
if (e.metaKey || e.ctrlKey) {
|
85
|
+
row = 0;
|
86
|
+
}
|
87
|
+
else {
|
88
|
+
row = Math.max(0, row - 1);
|
89
|
+
}
|
90
|
+
}
|
91
|
+
break;
|
92
|
+
case 'Down':
|
93
|
+
case 'ArrowDown':
|
94
|
+
if (e.shiftKey) {
|
95
|
+
let { start } = this._selectBlock || {};
|
96
|
+
let focused = this.focusedField;
|
97
|
+
if (focused) {
|
98
|
+
let end = this.getFieldByIndex(focused.rowIndex + 1, focused.columnIndex);
|
99
|
+
if (end) {
|
100
|
+
this.setSelectBlock(start || focused, end);
|
101
|
+
}
|
102
|
+
}
|
103
|
+
}
|
104
|
+
else {
|
105
|
+
this.setSelectBlock();
|
106
|
+
if (e.metaKey || e.ctrlKey) {
|
107
|
+
row = maxrow;
|
108
|
+
}
|
109
|
+
else {
|
110
|
+
row = Math.min(maxrow, row + 1);
|
111
|
+
}
|
112
|
+
}
|
113
|
+
break;
|
114
|
+
case 'Enter':
|
115
|
+
this.setSelectBlock();
|
116
|
+
this.startEditTarget(row, column, null);
|
117
|
+
return;
|
118
|
+
case 'Left':
|
119
|
+
case 'ArrowLeft':
|
120
|
+
case 'Backspace':
|
121
|
+
if (e.shiftKey) {
|
122
|
+
let { start } = this._selectBlock || {};
|
123
|
+
let focused = this.focusedField;
|
124
|
+
if (focused && focused.columnIndex > 0) {
|
125
|
+
this.setSelectBlock(start || focused, this.getFieldByIndex(focused.rowIndex, focused.columnIndex - 1));
|
126
|
+
}
|
127
|
+
}
|
128
|
+
else {
|
129
|
+
this.setSelectBlock();
|
130
|
+
if (e.metaKey || e.ctrlKey) {
|
131
|
+
column = 0;
|
132
|
+
}
|
133
|
+
else {
|
134
|
+
column = Math.max(0, column - 1);
|
135
|
+
}
|
136
|
+
}
|
137
|
+
break;
|
138
|
+
case 'Right':
|
139
|
+
case 'ArrowRight':
|
140
|
+
if (e.shiftKey) {
|
141
|
+
let { start } = this._selectBlock || {};
|
142
|
+
let focused = this.focusedField;
|
143
|
+
if (focused) {
|
144
|
+
let end = this.getFieldByIndex(focused.rowIndex, focused.columnIndex + 1, false);
|
145
|
+
if (end) {
|
146
|
+
this.setSelectBlock(start || focused, end);
|
147
|
+
}
|
148
|
+
}
|
149
|
+
}
|
150
|
+
else {
|
151
|
+
this.setSelectBlock();
|
152
|
+
if (e.metaKey || e.ctrlKey) {
|
153
|
+
column = maxcolumn;
|
154
|
+
}
|
155
|
+
else {
|
156
|
+
column = Math.min(maxcolumn, column + 1);
|
157
|
+
}
|
158
|
+
}
|
159
|
+
break;
|
160
|
+
case 'Tab':
|
161
|
+
this.editTarget = null;
|
162
|
+
this.setSelectBlock();
|
163
|
+
if (e.shiftKey) {
|
164
|
+
column = Math.max(0, column - 1);
|
165
|
+
}
|
166
|
+
else {
|
167
|
+
column = Math.min(maxcolumn, column + 1);
|
168
|
+
}
|
169
|
+
this.focus();
|
170
|
+
break;
|
171
|
+
case 'PageUp':
|
172
|
+
/* TODO 페이지당 레코드의 수를 계산해서 증감시켜야 한다. */
|
173
|
+
this.setSelectBlock();
|
174
|
+
row = Math.max(0, row - 10);
|
175
|
+
break;
|
176
|
+
case 'PageDown':
|
177
|
+
case ' ':
|
178
|
+
this.setSelectBlock();
|
179
|
+
row = Math.min(maxrow, row + 10);
|
180
|
+
break;
|
181
|
+
case 'Esc':
|
182
|
+
case 'Escape':
|
183
|
+
this.setSelectBlock();
|
184
|
+
return;
|
185
|
+
case 'End':
|
186
|
+
this.setSelectBlock();
|
187
|
+
row = maxrow;
|
188
|
+
break;
|
189
|
+
case 'Home':
|
190
|
+
this.setSelectBlock();
|
191
|
+
row = 0;
|
192
|
+
break;
|
193
|
+
default:
|
194
|
+
if (e.metaKey || e.ctrlKey) {
|
195
|
+
switch (e.key) {
|
196
|
+
case 'c':
|
197
|
+
const selection = window.getSelection();
|
198
|
+
if (!selection || !selection.anchorNode || selection.type != 'Range') {
|
199
|
+
/*
|
200
|
+
에디터 상태가 아닌 경우에도, selection.type != 'Range' 조건을 추가해서,
|
201
|
+
셀렉션이 된 상태에서는 기본 동작으로 텍스트 복사를 할 수 있도록 했다.
|
202
|
+
보통은, 싱글 필드가 셀렉션박스로 지정된 경우에 자체 텍스트의 일부를 복사하기 위해서 필요하다.
|
203
|
+
*/
|
204
|
+
this.copy();
|
205
|
+
e.preventDefault();
|
206
|
+
}
|
207
|
+
break;
|
208
|
+
case 'v':
|
209
|
+
this.paste();
|
210
|
+
break;
|
211
|
+
}
|
212
|
+
return;
|
213
|
+
}
|
214
|
+
else if (key.length === 1) {
|
215
|
+
this.setSelectBlock();
|
216
|
+
this.startEditTarget(row, column, key);
|
217
|
+
}
|
218
|
+
}
|
219
|
+
}
|
220
|
+
if (!this.focused || this.focused.row !== row || this.focused.column !== column) {
|
221
|
+
this.dispatchEvent(new CustomEvent('focus-change', { bubbles: true, composed: true, detail: { row, column } }));
|
222
|
+
}
|
223
|
+
/* arrow key에 의한 scrollbar의 자동 움직임을 하지 못하도록 한다. */
|
224
|
+
e.preventDefault();
|
225
|
+
}
|
226
|
+
//# sourceMappingURL=data-grid-body-keydown-handler.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"data-grid-body-keydown-handler.js","sourceRoot":"","sources":["../../../../src/data-grid/event-handlers/data-grid-body-keydown-handler.ts"],"names":[],"mappings":"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","sourcesContent":["import { DataGridBody } from '../data-grid-body.js'\n\n/**\n * ox-grid-body 의 keydown handler\n *\n * - handler의 this 는 ox-grid-body임.\n */\nexport async function dataGridBodyKeydownHandler(this: DataGridBody, e: KeyboardEvent): Promise<void> {\n // 한글 Composing 이벤트는 무시\n if (e.isComposing) return\n\n // arrow-key\n const key = e.key\n var { row = 0, column = 0 } = this.focused || {}\n var { records = [] } = this.data || {}\n var maxrow = this.config.rows.appendable ? records.length : records.length - 1\n var maxcolumn = (this.columns || []).filter(column => !column.hidden).length - 1\n\n if (this.editTarget) {\n switch (key) {\n case 'Escape':\n case 'Esc':\n /* TODO 편집이 취소되어야 한다. */\n case 'Enter':\n this.editTarget = null\n\n this.focus()\n return\n\n case 'Tab':\n this.editTarget = null\n if (e.shiftKey) {\n column = Math.max(0, column - 1)\n } else {\n column = Math.min(maxcolumn, column + 1)\n }\n this.focus()\n break\n\n // case 'Down':\n // case 'ArrowDown':\n // this.editTarget = null\n // row = Math.min(maxrow, row + 1)\n // this.focus()\n // break\n\n case 'PageUp':\n case 'PageDown':\n case 'End':\n case 'Home':\n // e.preventDefault()\n // return\n break\n\n default:\n if (e.metaKey || e.ctrlKey) {\n /* Window System에 선택된 영역이 없다면, 셀을 복사/붙여넣기 한다. */\n switch (e.key) {\n case 'c':\n const selection = window.getSelection()\n if (!selection || !selection.anchorNode || selection.type != 'Range') {\n /* \n editor가 select 인 경우 자체 복사 기능이 없으므로 this.copy()를 사용하도록 하기 위해서, selection.type != 'Range' 조건을 추가했다.\n select인 경우에는 selection.type 이 'Caret' 이었다.\n */\n this.copy()\n e.preventDefault()\n }\n break\n case 'v':\n this.paste()\n break\n }\n }\n return\n }\n } else {\n switch (key) {\n case 'Up':\n case 'ArrowUp':\n if (e.shiftKey) {\n let { start } = this._selectBlock || {}\n let focused = this.focusedField\n if (focused && focused.rowIndex > 0) {\n this.setSelectBlock(start || focused, this.getFieldByIndex(focused.rowIndex - 1, focused.columnIndex))\n }\n } else {\n this.setSelectBlock()\n if (e.metaKey || e.ctrlKey) {\n row = 0\n } else {\n row = Math.max(0, row - 1)\n }\n }\n break\n\n case 'Down':\n case 'ArrowDown':\n if (e.shiftKey) {\n let { start } = this._selectBlock || {}\n let focused = this.focusedField\n if (focused) {\n let end = this.getFieldByIndex(focused.rowIndex + 1, focused.columnIndex)\n if (end) {\n this.setSelectBlock(start || focused, end)\n }\n }\n } else {\n this.setSelectBlock()\n if (e.metaKey || e.ctrlKey) {\n row = maxrow\n } else {\n row = Math.min(maxrow, row + 1)\n }\n }\n break\n\n case 'Enter':\n this.setSelectBlock()\n this.startEditTarget(row, column, null)\n return\n\n case 'Left':\n case 'ArrowLeft':\n case 'Backspace':\n if (e.shiftKey) {\n let { start } = this._selectBlock || {}\n let focused = this.focusedField\n if (focused && focused.columnIndex > 0) {\n this.setSelectBlock(start || focused, this.getFieldByIndex(focused.rowIndex, focused.columnIndex - 1))\n }\n } else {\n this.setSelectBlock()\n if (e.metaKey || e.ctrlKey) {\n column = 0\n } else {\n column = Math.max(0, column - 1)\n }\n }\n break\n\n case 'Right':\n case 'ArrowRight':\n if (e.shiftKey) {\n let { start } = this._selectBlock || {}\n let focused = this.focusedField\n if (focused) {\n let end = this.getFieldByIndex(focused.rowIndex, focused.columnIndex + 1, false)\n if (end) {\n this.setSelectBlock(start || focused, end)\n }\n }\n } else {\n this.setSelectBlock()\n if (e.metaKey || e.ctrlKey) {\n column = maxcolumn\n } else {\n column = Math.min(maxcolumn, column + 1)\n }\n }\n break\n\n case 'Tab':\n this.editTarget = null\n this.setSelectBlock()\n if (e.shiftKey) {\n column = Math.max(0, column - 1)\n } else {\n column = Math.min(maxcolumn, column + 1)\n }\n this.focus()\n break\n\n case 'PageUp':\n /* TODO 페이지당 레코드의 수를 계산해서 증감시켜야 한다. */\n this.setSelectBlock()\n row = Math.max(0, row - 10)\n break\n\n case 'PageDown':\n case ' ':\n this.setSelectBlock()\n row = Math.min(maxrow, row + 10)\n break\n\n case 'Esc':\n case 'Escape':\n this.setSelectBlock()\n return\n\n case 'End':\n this.setSelectBlock()\n row = maxrow\n break\n\n case 'Home':\n this.setSelectBlock()\n row = 0\n break\n\n default:\n if (e.metaKey || e.ctrlKey) {\n switch (e.key) {\n case 'c':\n const selection = window.getSelection()\n if (!selection || !selection.anchorNode || selection.type != 'Range') {\n /* \n 에디터 상태가 아닌 경우에도, selection.type != 'Range' 조건을 추가해서,\n 셀렉션이 된 상태에서는 기본 동작으로 텍스트 복사를 할 수 있도록 했다.\n 보통은, 싱글 필드가 셀렉션박스로 지정된 경우에 자체 텍스트의 일부를 복사하기 위해서 필요하다.\n */\n this.copy()\n e.preventDefault()\n }\n break\n case 'v':\n this.paste()\n break\n }\n return\n } else if (key.length === 1) {\n this.setSelectBlock()\n this.startEditTarget(row, column, key)\n }\n }\n }\n\n if (!this.focused || this.focused.row !== row || this.focused.column !== column) {\n this.dispatchEvent(new CustomEvent('focus-change', { bubbles: true, composed: true, detail: { row, column } }))\n }\n\n /* arrow key에 의한 scrollbar의 자동 움직임을 하지 못하도록 한다. */\n e.preventDefault()\n}\n"]}
|
@@ -0,0 +1,367 @@
|
|
1
|
+
import './data-grid/data-grid.js';
|
2
|
+
import './data-list/data-list.js';
|
3
|
+
import './data-card/data-card.js';
|
4
|
+
import { LitElement, PropertyValues } from 'lit';
|
5
|
+
import { PagePreferenceProvider } from '@operato/p13n';
|
6
|
+
import { DataCard } from './data-card/data-card.js';
|
7
|
+
import { DataConsumer } from './data-consumer.js';
|
8
|
+
import { DataGrid } from './data-grid/data-grid.js';
|
9
|
+
import { DataList } from './data-list/data-list.js';
|
10
|
+
import { ColumnConfig, FetchHandler, FilterValue, GristConfig, GristData, GristRecord, GristSelectFunction, PaginationConfig, SortersConfig, ValidationReason } from './types.js';
|
11
|
+
/**
|
12
|
+
* A custom element for rendering data in a grid, list, or card format.
|
13
|
+
*
|
14
|
+
* @element ox-grist
|
15
|
+
*/
|
16
|
+
export declare class DataGrist extends LitElement implements DataConsumer {
|
17
|
+
static styles: import("lit").CSSResult[];
|
18
|
+
/**
|
19
|
+
* The rendering mode of the component, which can be 'GRID', 'LIST', or 'CARD'.
|
20
|
+
* Default is 'GRID'.
|
21
|
+
*
|
22
|
+
* @property {string}
|
23
|
+
*/
|
24
|
+
mode: 'GRID' | 'LIST' | 'CARD';
|
25
|
+
/**
|
26
|
+
* The configuration object for the data grist.
|
27
|
+
*
|
28
|
+
* @property {Object}
|
29
|
+
*/
|
30
|
+
config: any;
|
31
|
+
/**
|
32
|
+
* The data to be displayed in the data grist.
|
33
|
+
*
|
34
|
+
* @property {GristData}
|
35
|
+
*/
|
36
|
+
data: GristData;
|
37
|
+
/**
|
38
|
+
* An array of selected records in the data grist.
|
39
|
+
*
|
40
|
+
* @property {GristRecord[]}
|
41
|
+
*/
|
42
|
+
selectedRecords?: GristRecord[];
|
43
|
+
/**
|
44
|
+
* Indicates whether explicit fetching of data is enabled. If true, data will be fetched
|
45
|
+
* only when `fetch` method is called. Default is false.
|
46
|
+
*
|
47
|
+
* @property {boolean}
|
48
|
+
*/
|
49
|
+
explicitFetch: boolean;
|
50
|
+
/**
|
51
|
+
* The fetch handler function used to retrieve data from a remote source.
|
52
|
+
*
|
53
|
+
* @property {FetchHandler}
|
54
|
+
*/
|
55
|
+
fetchHandler?: FetchHandler;
|
56
|
+
/**
|
57
|
+
* Additional fetch options to be passed to the fetch handler.
|
58
|
+
*
|
59
|
+
* @property {Object}
|
60
|
+
*/
|
61
|
+
fetchOptions: any;
|
62
|
+
/**
|
63
|
+
* An array of filter values to be applied to the data grist.
|
64
|
+
*
|
65
|
+
* @property {FilterValue[]}
|
66
|
+
*/
|
67
|
+
filters?: FilterValue[];
|
68
|
+
/**
|
69
|
+
* An array of sorters to determine the order of records in the data grist.
|
70
|
+
*
|
71
|
+
* @property {SortersConfig}
|
72
|
+
*/
|
73
|
+
sorters?: SortersConfig;
|
74
|
+
/**
|
75
|
+
* The pagination configuration for the data grist.
|
76
|
+
*
|
77
|
+
* @property {PaginationConfig}
|
78
|
+
*/
|
79
|
+
pagination?: PaginationConfig;
|
80
|
+
/**
|
81
|
+
* Indicates whether URL parameters are sensitive to changes. If true, changes in URL
|
82
|
+
* parameters will trigger data fetching. Default is undefined.
|
83
|
+
*
|
84
|
+
* @property {boolean}
|
85
|
+
*/
|
86
|
+
urlParamsSensitive?: boolean;
|
87
|
+
personalConfigProvider: PagePreferenceProvider;
|
88
|
+
personalConfig?: {
|
89
|
+
columns?: Partial<ColumnConfig>[];
|
90
|
+
[key: string]: any;
|
91
|
+
};
|
92
|
+
_data: GristData;
|
93
|
+
_config: GristConfig;
|
94
|
+
private _showSpinner;
|
95
|
+
head: HTMLElement;
|
96
|
+
grist: DataGrid | DataList | DataCard;
|
97
|
+
private wrap;
|
98
|
+
private timeCapsule?;
|
99
|
+
private snapshotTaker?;
|
100
|
+
private dataProvider?;
|
101
|
+
private pulltorefreshHandle?;
|
102
|
+
private headroom?;
|
103
|
+
private orginPaddingTop?;
|
104
|
+
private originMarginTop?;
|
105
|
+
private lastLocation;
|
106
|
+
private pendingFetch?;
|
107
|
+
private popstateEventHandler;
|
108
|
+
private fetchParamsChangeEventHandler;
|
109
|
+
firstUpdated(): Promise<void>;
|
110
|
+
connectedCallback(): Promise<void>;
|
111
|
+
disconnectedCallback(): void;
|
112
|
+
private resetPullToRefresh;
|
113
|
+
private setPullToRefresh;
|
114
|
+
applyUpdatedConfiguration(): void;
|
115
|
+
private setHeadroom;
|
116
|
+
render(): import("lit-html").TemplateResult<1>;
|
117
|
+
private onKeydown;
|
118
|
+
/**
|
119
|
+
* Gets the current state of the component. The state includes information about the
|
120
|
+
* dirty records and their changes.
|
121
|
+
*
|
122
|
+
* @getter
|
123
|
+
* @public
|
124
|
+
* @type {string}
|
125
|
+
*/
|
126
|
+
get state(): string;
|
127
|
+
/**
|
128
|
+
* Undoes the previous change in the component's data by restoring it to the previous state.
|
129
|
+
* This method is part of the TimeCapsule feature, allowing users to revert changes.
|
130
|
+
*/
|
131
|
+
undo(): void;
|
132
|
+
/**
|
133
|
+
* Redoes the previously undone change in the component's data by restoring it to the next state.
|
134
|
+
* This method is part of the TimeCapsule feature, allowing users to reapply changes.
|
135
|
+
*/
|
136
|
+
redo(): void;
|
137
|
+
/**
|
138
|
+
* Fetches data from a data source and updates the component's data. This method is used to retrieve
|
139
|
+
* new data or refresh the existing data in the component.
|
140
|
+
*
|
141
|
+
* @method
|
142
|
+
* @param {boolean} reset - If true, the method resets the scroll position to the top.
|
143
|
+
*/
|
144
|
+
fetch(reset?: boolean): Promise<void>;
|
145
|
+
updated(changes: PropertyValues<this>): Promise<void>;
|
146
|
+
/**
|
147
|
+
* Represents the compiled configuration of the component, which includes various settings and
|
148
|
+
* column configurations. You can access this property to get information about how the component
|
149
|
+
* is configured.
|
150
|
+
*
|
151
|
+
* @getter
|
152
|
+
* @public
|
153
|
+
* @type {GristConfig}
|
154
|
+
*/
|
155
|
+
get compiledConfig(): GristConfig;
|
156
|
+
/**
|
157
|
+
* Returns the dirty data in the component, which includes the records that have been added,
|
158
|
+
* modified, or deleted but have not been committed to the main data yet.
|
159
|
+
*
|
160
|
+
* @getter
|
161
|
+
* @public
|
162
|
+
* @type {GristData} - An object representing the dirty data.
|
163
|
+
*/
|
164
|
+
get dirtyData(): GristData;
|
165
|
+
/**
|
166
|
+
* Returns an array of GristRecord objects representing the records in the dirty state. These are
|
167
|
+
* the records that have been added, modified, or deleted but have not been committed to the main
|
168
|
+
* data yet.
|
169
|
+
*
|
170
|
+
* @getter
|
171
|
+
* @public
|
172
|
+
* @type {GristRecord[]} - An array of GristRecord objects representing the dirty records.
|
173
|
+
*/
|
174
|
+
get dirtyRecords(): GristRecord[];
|
175
|
+
/**
|
176
|
+
* Exports a list of patches representing the changes in the dirty state of records. Each patch
|
177
|
+
* contains information about whether a record was added, modified, or deleted, along with the
|
178
|
+
* record's unique identifier and the changed field values.
|
179
|
+
*
|
180
|
+
* @param {Object} options - Export options that control the format of the patch list.
|
181
|
+
* @param {string} options.flagName - The name of the flag field in the patch indicating the change type (default: 'patchFlag').
|
182
|
+
* @param {string} options.addedFlag - The flag value for added records (default: '+').
|
183
|
+
* @param {string} options.deletedFlag - The flag value for deleted records (default: '-').
|
184
|
+
* @param {string} options.modifiedFlag - The flag value for modified records (default: 'M').
|
185
|
+
* @param {string} options.idField - The name of the unique identifier field (default: 'id').
|
186
|
+
* @returns {Object[]} - An array of objects representing the patches.
|
187
|
+
*/
|
188
|
+
exportPatchList({ flagName, addedFlag, deletedFlag, modifiedFlag, idField }: {
|
189
|
+
flagName?: string | undefined;
|
190
|
+
addedFlag?: string | undefined;
|
191
|
+
deletedFlag?: string | undefined;
|
192
|
+
modifiedFlag?: string | undefined;
|
193
|
+
idField?: string | undefined;
|
194
|
+
}): {
|
195
|
+
[flagName]: string;
|
196
|
+
}[];
|
197
|
+
/**
|
198
|
+
* Exports the selected records or all records in the component, depending on the specified options.
|
199
|
+
* You can use this method to export data from the component in various formats or for different purposes.
|
200
|
+
*
|
201
|
+
* @param {Object} options - Export options that control the behavior of the export.
|
202
|
+
* @param {boolean} options.ifSelectedOnly - If true, exports only the selected records. If false, exports all records.
|
203
|
+
* @param {boolean} options.includeHiddenField - If true, includes hidden fields in the exported data.
|
204
|
+
* @returns {Object[]} - An array of objects representing the exported records.
|
205
|
+
*/
|
206
|
+
exportRecords({ ifSelectedOnly, includeHiddenField }?: {
|
207
|
+
ifSelectedOnly?: boolean | undefined;
|
208
|
+
includeHiddenField?: boolean | undefined;
|
209
|
+
}): any[];
|
210
|
+
/**
|
211
|
+
* Gets the currently selected records in the component. It returns an array of GristRecord objects
|
212
|
+
* that are currently selected. You can access this getter to retrieve the selected records.
|
213
|
+
*
|
214
|
+
* @getter
|
215
|
+
* @public
|
216
|
+
* @type {GristRecord[]}
|
217
|
+
*/
|
218
|
+
get selected(): GristRecord[];
|
219
|
+
/**
|
220
|
+
* Sets the currently selected records in the component. You can use this setter to programmatically
|
221
|
+
* select specific records by providing an array of GristRecord objects to be selected.
|
222
|
+
*
|
223
|
+
* @setter
|
224
|
+
* @public
|
225
|
+
* @type {GristRecord[]}
|
226
|
+
*/
|
227
|
+
set selected(selected: GristRecord[]);
|
228
|
+
/**
|
229
|
+
* Selects records in the component based on the provided selector function. You can use this method
|
230
|
+
* to programmatically select specific records in the component.
|
231
|
+
*
|
232
|
+
* @method
|
233
|
+
* @param {GristSelectFunction} selector - A function that determines which records to select.
|
234
|
+
* @param {boolean} reset - If true, clears the previous selection before applying the new one.
|
235
|
+
* If false, adds to the existing selection.
|
236
|
+
*/
|
237
|
+
select(selector: GristSelectFunction, reset?: boolean): void;
|
238
|
+
/**
|
239
|
+
* Shows the loading spinner in the component's UI to indicate ongoing data loading or processing.
|
240
|
+
* You can call this method to display the spinner when necessary.
|
241
|
+
*/
|
242
|
+
showSpinner(): void;
|
243
|
+
/**
|
244
|
+
* Hides the loading spinner in the component's UI to indicate that data loading or processing has completed.
|
245
|
+
* You can call this method to hide the spinner when loading or processing is finished.
|
246
|
+
*/
|
247
|
+
hideSpinner(): void;
|
248
|
+
/**
|
249
|
+
* Focuses on the component, making it the active element in the document. This method is useful
|
250
|
+
* when you want to programmatically set focus to the component.
|
251
|
+
*/
|
252
|
+
focus(): void;
|
253
|
+
/**
|
254
|
+
* Commits the changes made in the dirty state to the component's data. This method updates the
|
255
|
+
* component's data with the changes made in the dirty state and clears the dirty state.
|
256
|
+
*/
|
257
|
+
commit(): void;
|
258
|
+
/**
|
259
|
+
* Shows the headroom element in the component. The headroom element is typically used for
|
260
|
+
* displaying additional information or controls at the top of the component.
|
261
|
+
*/
|
262
|
+
showHeadroom(): void;
|
263
|
+
/**
|
264
|
+
* Hides the headroom element in the component. This method hides the additional information
|
265
|
+
* or controls displayed at the top of the component.
|
266
|
+
*/
|
267
|
+
hideHeadroom(): void;
|
268
|
+
/**
|
269
|
+
* Toggles the visibility of the headroom element in the component. If the headroom element is
|
270
|
+
* currently visible, this method hides it. If it's hidden, this method shows it.
|
271
|
+
*/
|
272
|
+
toggleHeadroom(): void;
|
273
|
+
/**
|
274
|
+
* Forced internal data to be reflected on the screen
|
275
|
+
* Data changing through a normal method is automatically reflected on the screen, so it is a method that does not need to be used in general.
|
276
|
+
* Therefore, it will be deprecated.
|
277
|
+
* @method
|
278
|
+
*/
|
279
|
+
refresh(): void;
|
280
|
+
/**
|
281
|
+
* Resets the component's data to its original state before any changes were made.
|
282
|
+
* This method discards all unsaved changes and restores the data to its initial state.
|
283
|
+
*
|
284
|
+
* @method
|
285
|
+
* @public
|
286
|
+
*/
|
287
|
+
reset(): void;
|
288
|
+
private traverseReset;
|
289
|
+
private traverseExpanded;
|
290
|
+
/**
|
291
|
+
* Checks for dirty records in the component's data and marks them as dirty.
|
292
|
+
* Dirty records are those that have unsaved changes.
|
293
|
+
*/
|
294
|
+
checkDirties(): void;
|
295
|
+
/**
|
296
|
+
* Clones the selected records in the component's data. It creates a copy of the selected records
|
297
|
+
* and marks them as new (added) records.
|
298
|
+
*/
|
299
|
+
cloneSelectedRecords(): void;
|
300
|
+
/**
|
301
|
+
* Adds child nodes to selected records in the component's tree data. It allows users to add child nodes
|
302
|
+
* to the selected parent records.
|
303
|
+
*/
|
304
|
+
addChildNodes(): void;
|
305
|
+
/**
|
306
|
+
* Adds sibling nodes to selected records in the component's tree data. It allows users to add sibling nodes
|
307
|
+
* to the selected records.
|
308
|
+
*/
|
309
|
+
addSiblingNodes(): void;
|
310
|
+
/**
|
311
|
+
* Deletes the selected records in the component's data. It removes the selected records from the data,
|
312
|
+
* optionally marking them as deleted.
|
313
|
+
*
|
314
|
+
* @method
|
315
|
+
* @param {boolean} dirty - If true, the method marks the records as deleted.
|
316
|
+
*/
|
317
|
+
deleteSelectedRecords(dirty?: boolean): void;
|
318
|
+
/**
|
319
|
+
* Adds a new record to the data grid. The added record is marked as newly created
|
320
|
+
* by setting the `__dirty__` flag to '+'. This flag indicates that the record
|
321
|
+
* is in a "new" state and hasn't been committed to the main data yet.
|
322
|
+
*
|
323
|
+
* @param {GristRecord} [record] - An optional record to add. If no record is provided,
|
324
|
+
* an empty record with the `__dirty__` flag set to '+' will be added.
|
325
|
+
*/
|
326
|
+
addRecord(record?: GristRecord): void;
|
327
|
+
/**
|
328
|
+
* Adds a new record to the top of the data grid. The added record is marked as newly created
|
329
|
+
* by setting the `__dirty__` flag to '+'. This flag indicates that the record
|
330
|
+
* is in a "new" state and hasn't been committed to the main data yet.
|
331
|
+
*
|
332
|
+
* This method is useful when you need to add new records at the top of the grid
|
333
|
+
* without changing the default behavior of the appendable row.
|
334
|
+
*
|
335
|
+
* @param {GristRecord} [record] - An optional record to add. If no record is provided,
|
336
|
+
* an empty record with the `__dirty__` flag set to '+' will be added.
|
337
|
+
*/
|
338
|
+
addRecordToTop(record?: GristRecord): void;
|
339
|
+
/**
|
340
|
+
* Retrieves the search text used for filtering records.
|
341
|
+
*
|
342
|
+
* @property {string}
|
343
|
+
*/
|
344
|
+
get searchText(): string;
|
345
|
+
/**
|
346
|
+
* Sets the search text for filtering records.
|
347
|
+
*
|
348
|
+
* @property {string}
|
349
|
+
*/
|
350
|
+
set searchText(searchText: string);
|
351
|
+
/**
|
352
|
+
* Returns the current pagination limit.
|
353
|
+
* @returns {number} The current pagination limit value
|
354
|
+
*/
|
355
|
+
getCurrentLimit(): number;
|
356
|
+
/**
|
357
|
+
* Checks the validity of dirty records.
|
358
|
+
* @returns {Array<{record: GristRecord, invalidFields: Array<{field: string, reason: ValidationReason}>}>} List of invalid records and their corresponding invalid fields
|
359
|
+
*/
|
360
|
+
checkDirtyRecordsValidity(): {
|
361
|
+
record: GristRecord;
|
362
|
+
invalidFields: {
|
363
|
+
field: string;
|
364
|
+
reason: ValidationReason;
|
365
|
+
}[];
|
366
|
+
}[];
|
367
|
+
}
|