@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,9 @@
|
|
1
|
+
export * from './registry.js';
|
2
|
+
export * from './filter-select.js';
|
3
|
+
export * from './filter-input.js';
|
4
|
+
export * from './filter-checkbox.js';
|
5
|
+
export * from './filter-range-date.js';
|
6
|
+
export * from './filter-range-number.js';
|
7
|
+
export * from './filter-select-buttons.js';
|
8
|
+
export * from './filters-form.js';
|
9
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/filters/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAE7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAE1C,cAAc,mBAAmB,CAAA","sourcesContent":["export * from './registry.js'\n\nexport * from './filter-select.js'\nexport * from './filter-input.js'\nexport * from './filter-checkbox.js'\nexport * from './filter-range-date.js'\nexport * from './filter-range-number.js'\nexport * from './filter-select-buttons.js'\n\nexport * from './filters-form.js'\n"]}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { FilterSelectRenderer } from '../types.js';
|
2
|
+
export declare function registerFilterRenderer(type: string, renderer: FilterSelectRenderer[]): void;
|
3
|
+
export declare function unregisterFilterRenderer(type: string): void;
|
4
|
+
export declare function getFilterRenderers(): {
|
5
|
+
[name: string]: FilterSelectRenderer[];
|
6
|
+
};
|
7
|
+
export declare function getFilterRenderer(type: string): FilterSelectRenderer[];
|
@@ -0,0 +1,48 @@
|
|
1
|
+
import { FilterCheckbox } from './filter-checkbox.js';
|
2
|
+
import { FilterInputBarcode } from './filter-input-barcode.js';
|
3
|
+
import { FilterInput } from './filter-input.js';
|
4
|
+
import { FilterRangeDate } from './filter-range-date.js';
|
5
|
+
import { FilterRangeNumber } from './filter-range-number.js';
|
6
|
+
import { FilterSelectButtons } from './filter-select-buttons.js';
|
7
|
+
import { FilterSelect } from './filter-select.js';
|
8
|
+
var RENDERERS = {
|
9
|
+
string: [FilterInput],
|
10
|
+
text: [FilterInput],
|
11
|
+
email: [FilterInput],
|
12
|
+
tel: [FilterInput],
|
13
|
+
integer: [FilterInput, FilterRangeNumber],
|
14
|
+
float: [FilterInput, FilterRangeNumber],
|
15
|
+
number: [FilterInput, FilterRangeNumber],
|
16
|
+
select: [FilterSelect],
|
17
|
+
'select-buttons': [FilterSelectButtons],
|
18
|
+
boolean: [FilterCheckbox],
|
19
|
+
checkbox: [FilterCheckbox],
|
20
|
+
month: [FilterInput, FilterRangeDate],
|
21
|
+
week: [FilterInput, FilterRangeDate],
|
22
|
+
date: [FilterInput, FilterRangeDate],
|
23
|
+
time: [FilterInput, FilterRangeDate],
|
24
|
+
datetime: [FilterInput, FilterRangeDate],
|
25
|
+
color: [FilterInput],
|
26
|
+
progress: [FilterInput, FilterRangeNumber],
|
27
|
+
link: [FilterInput],
|
28
|
+
image: [FilterInput],
|
29
|
+
json5: [FilterInput],
|
30
|
+
scanner: [FilterInputBarcode],
|
31
|
+
barcode: [FilterInputBarcode]
|
32
|
+
};
|
33
|
+
export function registerFilterRenderer(type, renderer) {
|
34
|
+
RENDERERS[type] = renderer;
|
35
|
+
}
|
36
|
+
export function unregisterFilterRenderer(type) {
|
37
|
+
delete RENDERERS[type];
|
38
|
+
}
|
39
|
+
export function getFilterRenderers() {
|
40
|
+
return { ...RENDERERS };
|
41
|
+
}
|
42
|
+
export function getFilterRenderer(type) {
|
43
|
+
if (typeof type === 'function') {
|
44
|
+
return type;
|
45
|
+
}
|
46
|
+
return RENDERERS[type || 'text'] || [FilterInput];
|
47
|
+
}
|
48
|
+
//# sourceMappingURL=registry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/filters/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,IAAI,SAAS,GAET;IACF,MAAM,EAAE,CAAC,WAAW,CAAC;IACrB,IAAI,EAAE,CAAC,WAAW,CAAC;IACnB,KAAK,EAAE,CAAC,WAAW,CAAC;IACpB,GAAG,EAAE,CAAC,WAAW,CAAC;IAClB,OAAO,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACzC,KAAK,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACvC,MAAM,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,MAAM,EAAE,CAAC,YAAY,CAAC;IACtB,gBAAgB,EAAE,CAAC,mBAAmB,CAAC;IACvC,OAAO,EAAE,CAAC,cAAc,CAAC;IACzB,QAAQ,EAAE,CAAC,cAAc,CAAC;IAC1B,KAAK,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;IACrC,IAAI,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;IACpC,IAAI,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;IACpC,IAAI,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;IACpC,QAAQ,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;IACxC,KAAK,EAAE,CAAC,WAAW,CAAC;IACpB,QAAQ,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;IAC1C,IAAI,EAAE,CAAC,WAAW,CAAC;IACnB,KAAK,EAAE,CAAC,WAAW,CAAC;IACpB,KAAK,EAAE,CAAC,WAAW,CAAC;IACpB,OAAO,EAAE,CAAC,kBAAkB,CAAC;IAC7B,OAAO,EAAE,CAAC,kBAAkB,CAAC;CAC9B,CAAA;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,QAAgC;IACnF,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,SAAS,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;AACnD,CAAC","sourcesContent":["import { FilterSelectRenderer } from '../types.js'\nimport { FilterCheckbox } from './filter-checkbox.js'\nimport { FilterInputBarcode } from './filter-input-barcode.js'\nimport { FilterInput } from './filter-input.js'\nimport { FilterRangeDate } from './filter-range-date.js'\nimport { FilterRangeNumber } from './filter-range-number.js'\nimport { FilterSelectButtons } from './filter-select-buttons.js'\nimport { FilterSelect } from './filter-select.js'\n\nvar RENDERERS: {\n [name: string]: FilterSelectRenderer[]\n} = {\n string: [FilterInput],\n text: [FilterInput],\n email: [FilterInput],\n tel: [FilterInput],\n integer: [FilterInput, FilterRangeNumber],\n float: [FilterInput, FilterRangeNumber],\n number: [FilterInput, FilterRangeNumber],\n select: [FilterSelect],\n 'select-buttons': [FilterSelectButtons],\n boolean: [FilterCheckbox],\n checkbox: [FilterCheckbox],\n month: [FilterInput, FilterRangeDate],\n week: [FilterInput, FilterRangeDate],\n date: [FilterInput, FilterRangeDate],\n time: [FilterInput, FilterRangeDate],\n datetime: [FilterInput, FilterRangeDate],\n color: [FilterInput],\n progress: [FilterInput, FilterRangeNumber],\n link: [FilterInput],\n image: [FilterInput],\n json5: [FilterInput],\n scanner: [FilterInputBarcode],\n barcode: [FilterInputBarcode]\n}\n\nexport function registerFilterRenderer(type: string, renderer: FilterSelectRenderer[]) {\n RENDERERS[type] = renderer\n}\n\nexport function unregisterFilterRenderer(type: string): void {\n delete RENDERERS[type]\n}\n\nexport function getFilterRenderers(): { [name: string]: FilterSelectRenderer[] } {\n return { ...RENDERERS }\n}\n\nexport function getFilterRenderer(type: string): FilterSelectRenderer[] {\n if (typeof type === 'function') {\n return type\n }\n\n return RENDERERS[type || 'text'] || [FilterInput]\n}\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const DateFormatter: (value: any) => string;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"date-formatter.js","sourceRoot":"","sources":["../../../src/formatters/date-formatter.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAU,EAAU,EAAE;IAClD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA","sourcesContent":["export const DateFormatter = (value: any): string => {\n return ''\n}\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './registry.js';
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/formatters/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA","sourcesContent":["export * from './registry.js'\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const NumberFormatter: (value: any) => string;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"number-formatter.js","sourceRoot":"","sources":["../../../src/formatters/number-formatter.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAU,EAAU,EAAE;IACpD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA","sourcesContent":["export const NumberFormatter = (value: any): string => {\n return ''\n}\n"]}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
export declare function registerFormatter(type: string, formatter: (value: any) => string): void;
|
2
|
+
export declare function unregisterFormatter(type: string): void;
|
3
|
+
export declare function getFormatters(): {
|
4
|
+
[name: string]: (value: any) => string;
|
5
|
+
};
|
6
|
+
export declare function getFormatter(type: string): (value: any) => string;
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { NOOP } from '../const.js';
|
2
|
+
import { DateFormatter } from './date-formatter.js';
|
3
|
+
import { NumberFormatter } from './number-formatter.js';
|
4
|
+
import { TextFormatter } from './text-formatter.js';
|
5
|
+
var FORMATTERS = {
|
6
|
+
number: NumberFormatter,
|
7
|
+
date: DateFormatter,
|
8
|
+
text: TextFormatter
|
9
|
+
};
|
10
|
+
export function registerFormatter(type, formatter) {
|
11
|
+
FORMATTERS[type] = formatter;
|
12
|
+
}
|
13
|
+
export function unregisterFormatter(type) {
|
14
|
+
delete FORMATTERS[type];
|
15
|
+
}
|
16
|
+
export function getFormatters() {
|
17
|
+
return { ...FORMATTERS };
|
18
|
+
}
|
19
|
+
export function getFormatter(type) {
|
20
|
+
if (typeof type == 'function') {
|
21
|
+
return type;
|
22
|
+
}
|
23
|
+
return FORMATTERS[type] || NOOP;
|
24
|
+
}
|
25
|
+
//# sourceMappingURL=registry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/formatters/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,IAAI,UAAU,GAA+C;IAC3D,MAAM,EAAE,eAAe;IACvB,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,aAAa;CACpB,CAAA;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,SAAiC;IAC/E,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,EAAE,GAAG,UAAU,EAAE,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,OAAO,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;AACjC,CAAC","sourcesContent":["import { NOOP } from '../const.js'\nimport { DateFormatter } from './date-formatter.js'\nimport { NumberFormatter } from './number-formatter.js'\nimport { TextFormatter } from './text-formatter.js'\n\nvar FORMATTERS: { [name: string]: (value: any) => string } = {\n number: NumberFormatter,\n date: DateFormatter,\n text: TextFormatter\n}\n\nexport function registerFormatter(type: string, formatter: (value: any) => string) {\n FORMATTERS[type] = formatter\n}\n\nexport function unregisterFormatter(type: string) {\n delete FORMATTERS[type]\n}\n\nexport function getFormatters() {\n return { ...FORMATTERS }\n}\n\nexport function getFormatter(type: string) {\n if (typeof type == 'function') {\n return type\n }\n\n return FORMATTERS[type] || NOOP\n}\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const TextFormatter: (value: any) => string;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"text-formatter.js","sourceRoot":"","sources":["../../../src/formatters/text-formatter.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAU,EAAU,EAAE;IAClD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA","sourcesContent":["export const TextFormatter = (value: any): string => {\n return ''\n}\n"]}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import '@material/web/icon/icon.js';
|
2
|
+
import { ColumnConfig, FieldRenderer, HeaderRenderer } from '../types.js';
|
3
|
+
export declare class GutterButton {
|
4
|
+
static instance(config?: Partial<ColumnConfig>): {
|
5
|
+
type: string;
|
6
|
+
gutterName: string;
|
7
|
+
width: number;
|
8
|
+
resizable: boolean;
|
9
|
+
sortable: boolean;
|
10
|
+
header: {
|
11
|
+
renderer: HeaderRenderer;
|
12
|
+
};
|
13
|
+
record: {
|
14
|
+
align: string;
|
15
|
+
renderer: FieldRenderer;
|
16
|
+
};
|
17
|
+
forGrid: boolean;
|
18
|
+
forList: boolean;
|
19
|
+
forCard: boolean;
|
20
|
+
} & Partial<ColumnConfig>;
|
21
|
+
}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import '@material/web/icon/icon.js';
|
2
|
+
import { html, nothing } from 'lit';
|
3
|
+
import { ifDefined } from 'lit/directives/if-defined.js';
|
4
|
+
export class GutterButton {
|
5
|
+
static instance(config = { type: 'gutter', gutterName: 'button' }) {
|
6
|
+
var { icon = 'edit', title, iconOnly = true } = config;
|
7
|
+
var iconFn = typeof icon == 'function' ? icon : (record) => icon;
|
8
|
+
var titleFn = typeof title == 'function' ? title : (record) => title;
|
9
|
+
return Object.assign({}, {
|
10
|
+
type: 'gutter',
|
11
|
+
gutterName: 'button',
|
12
|
+
width: 26,
|
13
|
+
resizable: false,
|
14
|
+
sortable: false,
|
15
|
+
header: {
|
16
|
+
renderer: function (column) {
|
17
|
+
const title = titleFn();
|
18
|
+
const icon = iconFn();
|
19
|
+
return iconOnly ? html ` <md-icon title=${ifDefined(title)}>${icon}</md-icon> ` : title;
|
20
|
+
}
|
21
|
+
},
|
22
|
+
record: {
|
23
|
+
align: 'center',
|
24
|
+
renderer: function (value, column, record, rowIndex, field) {
|
25
|
+
const title = titleFn(record);
|
26
|
+
const icon = iconFn(record);
|
27
|
+
return iconOnly
|
28
|
+
? html ` <md-icon title=${ifDefined(title && titleFn(record))}>${iconFn(record)}</md-icon> `
|
29
|
+
: title || icon
|
30
|
+
? html `<button><md-icon>${iconFn(record)}</md-icon>${titleFn(record)}</button>`
|
31
|
+
: nothing;
|
32
|
+
}
|
33
|
+
},
|
34
|
+
forGrid: true,
|
35
|
+
forList: true,
|
36
|
+
forCard: true
|
37
|
+
}, config);
|
38
|
+
}
|
39
|
+
}
|
40
|
+
//# sourceMappingURL=gutter-button.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"gutter-button.js","sourceRoot":"","sources":["../../../src/gutters/gutter-button.ts"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAA;AAEnC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAIxD,MAAM,OAAO,YAAY;IACvB,MAAM,CAAC,QAAQ,CAAC,SAAgC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE;QACtF,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;QAEtD,IAAI,MAAM,GAAG,OAAO,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAoB,EAAE,EAAE,CAAC,IAAI,CAAA;QAC9E,IAAI,OAAO,GAAG,OAAO,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAoB,EAAE,EAAE,CAAC,KAAK,CAAA;QAElF,OAAO,MAAM,CAAC,MAAM,CAClB,EAAE,EACF;YACE,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,QAAQ;YACpB,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE;gBACN,QAAQ,EAAE,UAAU,MAAM;oBACxB,MAAM,KAAK,GAAG,OAAO,EAAE,CAAA;oBACvB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAA;oBAErB,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA,mBAAmB,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,aAAa,CAAC,CAAC,CAAC,KAAK,CAAA;gBACxF,CAAmB;aACpB;YACD,MAAM,EAAE;gBACN,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,UAAU,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK;oBACxD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;oBAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;oBAE3B,OAAO,QAAQ;wBACb,CAAC,CAAC,IAAI,CAAA,mBAAmB,SAAS,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa;wBAC3F,CAAC,CAAC,KAAK,IAAI,IAAI;4BACb,CAAC,CAAC,IAAI,CAAA,oBAAoB,MAAM,CAAC,MAAM,CAAC,aAAa,OAAO,CAAC,MAAM,CAAC,WAAW;4BAC/E,CAAC,CAAC,OAAO,CAAA;gBACf,CAAkB;aACnB;YACD,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACd,EACD,MAAM,CACP,CAAA;IACH,CAAC;CACF","sourcesContent":["import '@material/web/icon/icon.js'\n\nimport { html, nothing } from 'lit'\nimport { ifDefined } from 'lit/directives/if-defined.js'\n\nimport { ColumnConfig, FieldRenderer, GristRecord, HeaderRenderer } from '../types.js'\n\nexport class GutterButton {\n static instance(config: Partial<ColumnConfig> = { type: 'gutter', gutterName: 'button' }) {\n var { icon = 'edit', title, iconOnly = true } = config\n\n var iconFn = typeof icon == 'function' ? icon : (record?: GristRecord) => icon\n var titleFn = typeof title == 'function' ? title : (record?: GristRecord) => title\n\n return Object.assign(\n {},\n {\n type: 'gutter',\n gutterName: 'button',\n width: 26,\n resizable: false,\n sortable: false,\n header: {\n renderer: function (column) {\n const title = titleFn()\n const icon = iconFn()\n\n return iconOnly ? html` <md-icon title=${ifDefined(title)}>${icon}</md-icon> ` : title\n } as HeaderRenderer\n },\n record: {\n align: 'center',\n renderer: function (value, column, record, rowIndex, field) {\n const title = titleFn(record)\n const icon = iconFn(record)\n\n return iconOnly\n ? html` <md-icon title=${ifDefined(title && titleFn(record))}>${iconFn(record)}</md-icon> `\n : title || icon\n ? html`<button><md-icon>${iconFn(record)}</md-icon>${titleFn(record)}</button>`\n : nothing\n } as FieldRenderer\n },\n forGrid: true,\n forList: true,\n forCard: true\n },\n config\n )\n }\n}\n"]}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import '@material/web/icon/icon.js';
|
2
|
+
import { ColumnConfig, FieldRenderer, GristEventHandler } from '../types.js';
|
3
|
+
export declare class GutterDirty {
|
4
|
+
static instance(config?: Partial<ColumnConfig>): {
|
5
|
+
type: string;
|
6
|
+
name: string;
|
7
|
+
gutterName: string;
|
8
|
+
width: number;
|
9
|
+
resizable: boolean;
|
10
|
+
sortable: boolean;
|
11
|
+
header: string;
|
12
|
+
record: {
|
13
|
+
align: string;
|
14
|
+
renderer: FieldRenderer;
|
15
|
+
};
|
16
|
+
forGrid: boolean;
|
17
|
+
forList: boolean;
|
18
|
+
forCard: boolean;
|
19
|
+
handlers: {
|
20
|
+
dblclick: GristEventHandler;
|
21
|
+
};
|
22
|
+
} & Partial<ColumnConfig>;
|
23
|
+
}
|
@@ -0,0 +1,87 @@
|
|
1
|
+
import { __decorate } from "tslib";
|
2
|
+
import '@material/web/icon/icon.js';
|
3
|
+
import { css, html, LitElement } from 'lit';
|
4
|
+
import { customElement, property } from 'lit/decorators.js';
|
5
|
+
let GutterDirtyElement = class GutterDirtyElement extends LitElement {
|
6
|
+
render() {
|
7
|
+
switch (this.value) {
|
8
|
+
case '+':
|
9
|
+
return html ` <md-icon style=${INLINESTYLE} center add>add</md-icon> `;
|
10
|
+
case '-':
|
11
|
+
return html ` <md-icon style=${INLINESTYLE} center remove>remove</md-icon> `;
|
12
|
+
case 'M':
|
13
|
+
return html ` <md-icon style=${INLINESTYLE} center done>done</md-icon> `;
|
14
|
+
default:
|
15
|
+
return '';
|
16
|
+
}
|
17
|
+
}
|
18
|
+
};
|
19
|
+
GutterDirtyElement.styles = css `
|
20
|
+
:host {
|
21
|
+
display: flex;
|
22
|
+
margin: auto;
|
23
|
+
}
|
24
|
+
|
25
|
+
md-icon {
|
26
|
+
width: var(--grid-record-dirty-icon-size);
|
27
|
+
height: var(--grid-record-dirty-icon-size);
|
28
|
+
border-radius: 50%;
|
29
|
+
opacity: 0.8;
|
30
|
+
}
|
31
|
+
|
32
|
+
[add] {
|
33
|
+
background-color: var(--md-sys-color-on-primary-container);
|
34
|
+
}
|
35
|
+
|
36
|
+
[remove] {
|
37
|
+
background-color: var(--md-sys-color-error);
|
38
|
+
}
|
39
|
+
|
40
|
+
[done] {
|
41
|
+
background-color: var(--status-info-color);
|
42
|
+
}
|
43
|
+
`;
|
44
|
+
__decorate([
|
45
|
+
property({ type: String })
|
46
|
+
], GutterDirtyElement.prototype, "value", void 0);
|
47
|
+
GutterDirtyElement = __decorate([
|
48
|
+
customElement('ox-gutter-dirty-element')
|
49
|
+
], GutterDirtyElement);
|
50
|
+
const INLINESTYLE = 'font-size: var(--grid-record-fontsize); vertical-align: middle; color: var(--grid-record-dirty-color)';
|
51
|
+
export class GutterDirty {
|
52
|
+
static instance(config = { type: 'gutter', name: '__dirty__' }) {
|
53
|
+
return Object.assign({}, {
|
54
|
+
type: 'gutter',
|
55
|
+
name: '__dirty__',
|
56
|
+
gutterName: 'dirty',
|
57
|
+
width: 30,
|
58
|
+
resizable: false,
|
59
|
+
sortable: false,
|
60
|
+
header: '',
|
61
|
+
record: {
|
62
|
+
align: 'center',
|
63
|
+
renderer: function (value, column, record, rowIndex, field) {
|
64
|
+
return value ? html ` <ox-gutter-dirty-element value=${value}></ox-gutter-dirty-element> ` : html ``;
|
65
|
+
}
|
66
|
+
},
|
67
|
+
forGrid: true,
|
68
|
+
forList: false,
|
69
|
+
forCard: false,
|
70
|
+
handlers: {
|
71
|
+
dblclick: ((columns, data, column, record, rowIndex, target) => {
|
72
|
+
target.dispatchEvent(new CustomEvent('set-select-block', {
|
73
|
+
bubbles: true,
|
74
|
+
composed: true,
|
75
|
+
detail: {
|
76
|
+
startRow: rowIndex,
|
77
|
+
startColumn: 0,
|
78
|
+
endRow: rowIndex,
|
79
|
+
endColumn: -1
|
80
|
+
}
|
81
|
+
}));
|
82
|
+
})
|
83
|
+
}
|
84
|
+
}, config);
|
85
|
+
}
|
86
|
+
}
|
87
|
+
//# sourceMappingURL=gutter-dirty.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"gutter-dirty.js","sourceRoot":"","sources":["../../../src/gutters/gutter-dirty.ts"],"names":[],"mappings":";AAAA,OAAO,4BAA4B,CAAA;AAEnC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAK3D,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,UAAU;IA6BzC,MAAM;QACJ,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,KAAK,GAAG;gBACN,OAAO,IAAI,CAAA,mBAAmB,WAAW,4BAA4B,CAAA;YACvE,KAAK,GAAG;gBACN,OAAO,IAAI,CAAA,mBAAmB,WAAW,kCAAkC,CAAA;YAC7E,KAAK,GAAG;gBACN,OAAO,IAAI,CAAA,mBAAmB,WAAW,8BAA8B,CAAA;YACzE;gBACE,OAAO,EAAE,CAAA;QACb,CAAC;IACH,CAAC;;AAvCM,yBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBlB,AAxBY,CAwBZ;AAE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDAAe;AA3BtC,kBAAkB;IADvB,aAAa,CAAC,yBAAyB,CAAC;GACnC,kBAAkB,CAyCvB;AAED,MAAM,WAAW,GACf,uGAAuG,CAAA;AAEzG,MAAM,OAAO,WAAW;IACtB,MAAM,CAAC,QAAQ,CAAC,SAAgC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE;QACnF,OAAO,MAAM,CAAC,MAAM,CAClB,EAAE,EACF;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,WAAW;YACjB,UAAU,EAAE,OAAO;YACnB,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,EAAE;YACV,MAAM,EAAE;gBACN,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,UAAU,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK;oBACxD,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA,mCAAmC,KAAK,8BAA8B,CAAC,CAAC,CAAC,IAAI,CAAA,EAAE,CAAA;gBACpG,CAAkB;aACnB;YACD,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE;gBACR,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;oBAC7D,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,kBAAkB,EAAE;wBAClC,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE;4BACN,QAAQ,EAAE,QAAQ;4BAClB,WAAW,EAAE,CAAC;4BACd,MAAM,EAAE,QAAQ;4BAChB,SAAS,EAAE,CAAC,CAAC;yBACd;qBACF,CAAC,CACH,CAAA;gBACH,CAAC,CAAsB;aACxB;SACF,EACD,MAAM,CACP,CAAA;IACH,CAAC;CACF","sourcesContent":["import '@material/web/icon/icon.js'\n\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nimport { ColumnConfig, FieldRenderer, GristEventHandler } from '../types.js'\n\n@customElement('ox-gutter-dirty-element')\nclass GutterDirtyElement extends LitElement {\n static styles = css`\n :host {\n display: flex;\n margin: auto;\n }\n\n md-icon {\n width: var(--grid-record-dirty-icon-size);\n height: var(--grid-record-dirty-icon-size);\n border-radius: 50%;\n opacity: 0.8;\n }\n\n [add] {\n background-color: var(--md-sys-color-on-primary-container);\n }\n\n [remove] {\n background-color: var(--md-sys-color-error);\n }\n\n [done] {\n background-color: var(--status-info-color);\n }\n `\n\n @property({ type: String }) value?: string\n\n render() {\n switch (this.value) {\n case '+':\n return html` <md-icon style=${INLINESTYLE} center add>add</md-icon> `\n case '-':\n return html` <md-icon style=${INLINESTYLE} center remove>remove</md-icon> `\n case 'M':\n return html` <md-icon style=${INLINESTYLE} center done>done</md-icon> `\n default:\n return ''\n }\n }\n}\n\nconst INLINESTYLE =\n 'font-size: var(--grid-record-fontsize); vertical-align: middle; color: var(--grid-record-dirty-color)'\n\nexport class GutterDirty {\n static instance(config: Partial<ColumnConfig> = { type: 'gutter', name: '__dirty__' }) {\n return Object.assign(\n {},\n {\n type: 'gutter',\n name: '__dirty__',\n gutterName: 'dirty',\n width: 30,\n resizable: false,\n sortable: false,\n header: '',\n record: {\n align: 'center',\n renderer: function (value, column, record, rowIndex, field) {\n return value ? html` <ox-gutter-dirty-element value=${value}></ox-gutter-dirty-element> ` : html``\n } as FieldRenderer\n },\n forGrid: true,\n forList: false,\n forCard: false,\n handlers: {\n dblclick: ((columns, data, column, record, rowIndex, target) => {\n target.dispatchEvent(\n new CustomEvent('set-select-block', {\n bubbles: true,\n composed: true,\n detail: {\n startRow: rowIndex,\n startColumn: 0,\n endRow: rowIndex,\n endColumn: -1\n }\n })\n )\n }) as GristEventHandler\n }\n },\n config\n )\n }\n}\n"]}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { ColumnConfig, FieldRenderer, HeaderRenderer } from '../types.js';
|
2
|
+
export declare class GutterRowSelector {
|
3
|
+
static instance(config?: Partial<ColumnConfig>): {
|
4
|
+
type: string;
|
5
|
+
name: string;
|
6
|
+
gutterName: string;
|
7
|
+
width: number;
|
8
|
+
resizable: boolean;
|
9
|
+
sortable: boolean;
|
10
|
+
header: {
|
11
|
+
renderer: HeaderRenderer;
|
12
|
+
};
|
13
|
+
record: {
|
14
|
+
align: string;
|
15
|
+
renderer: FieldRenderer;
|
16
|
+
};
|
17
|
+
forGrid: boolean;
|
18
|
+
forList: boolean;
|
19
|
+
forCard: boolean;
|
20
|
+
} & Partial<ColumnConfig>;
|
21
|
+
}
|
@@ -0,0 +1,70 @@
|
|
1
|
+
import { html } from 'lit';
|
2
|
+
export class GutterRowSelector {
|
3
|
+
static instance(config = { type: 'gutter', name: '__selected__' }) {
|
4
|
+
return Object.assign({}, {
|
5
|
+
type: 'gutter',
|
6
|
+
name: '__selected__',
|
7
|
+
gutterName: 'row-selector',
|
8
|
+
width: 30,
|
9
|
+
resizable: false,
|
10
|
+
sortable: false,
|
11
|
+
header: {
|
12
|
+
renderer: function (column) {
|
13
|
+
var checked = ((this.data || {}).records || []).find(record => record['__selected__']);
|
14
|
+
return html `
|
15
|
+
<input
|
16
|
+
type="checkbox"
|
17
|
+
.checked=${!!checked}
|
18
|
+
@change=${(e) => {
|
19
|
+
let selected = column.multiple ? e.target.checked : false;
|
20
|
+
this.dispatchEvent(new CustomEvent('select-all-change', {
|
21
|
+
bubbles: true,
|
22
|
+
composed: true,
|
23
|
+
detail: {
|
24
|
+
selected
|
25
|
+
}
|
26
|
+
}));
|
27
|
+
e.stopPropagation();
|
28
|
+
}}
|
29
|
+
/>
|
30
|
+
`;
|
31
|
+
}
|
32
|
+
},
|
33
|
+
record: {
|
34
|
+
align: 'center',
|
35
|
+
renderer: function (value, column, record, rowIndex, field) {
|
36
|
+
return html `
|
37
|
+
<input
|
38
|
+
type=${column.multiple ? 'checkbox' : 'radio'}
|
39
|
+
.checked=${!!value}
|
40
|
+
@click=${(e) => {
|
41
|
+
e.stopPropagation();
|
42
|
+
}}
|
43
|
+
@change=${(e) => {
|
44
|
+
let selected = e.target.checked;
|
45
|
+
let detail = column.multiple
|
46
|
+
? {
|
47
|
+
added: selected ? [record] : [],
|
48
|
+
removed: selected ? [] : [record]
|
49
|
+
}
|
50
|
+
: {
|
51
|
+
records: selected ? [record] : []
|
52
|
+
};
|
53
|
+
field.dispatchEvent(new CustomEvent('select-record-change', {
|
54
|
+
bubbles: true,
|
55
|
+
composed: true,
|
56
|
+
detail
|
57
|
+
}));
|
58
|
+
e.stopPropagation();
|
59
|
+
}}
|
60
|
+
/>
|
61
|
+
`;
|
62
|
+
}
|
63
|
+
},
|
64
|
+
forGrid: true,
|
65
|
+
forList: true,
|
66
|
+
forCard: true
|
67
|
+
}, config);
|
68
|
+
}
|
69
|
+
}
|
70
|
+
//# sourceMappingURL=gutter-row-selector.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"gutter-row-selector.js","sourceRoot":"","sources":["../../../src/gutters/gutter-row-selector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAO1B,MAAM,OAAO,iBAAiB;IAC5B,MAAM,CAAC,QAAQ,CAAC,SAAgC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE;QACtF,OAAO,MAAM,CAAC,MAAM,CAClB,EAAE,EACF;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,cAAc;YACpB,UAAU,EAAE,cAAc;YAC1B,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE;gBACN,QAAQ,EAAE,UAAgD,MAAM;oBAC9D,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAA;oBAEtF,OAAO,IAAI,CAAA;;;2BAGI,CAAC,CAAC,OAAO;0BACV,CAAC,CAAQ,EAAE,EAAE;wBACrB,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC,MAA2B,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAA;wBAE/E,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,mBAAmB,EAAE;4BACnC,OAAO,EAAE,IAAI;4BACb,QAAQ,EAAE,IAAI;4BACd,MAAM,EAAE;gCACN,QAAQ;6BACT;yBACF,CAAC,CACH,CAAA;wBAED,CAAC,CAAC,eAAe,EAAE,CAAA;oBACrB,CAAC;;aAEJ,CAAA;gBACH,CAAmB;aACpB;YACD,MAAM,EAAE;gBACN,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,UAAU,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK;oBACxD,OAAO,IAAI,CAAA;;uBAEA,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;2BAClC,CAAC,CAAC,KAAK;yBACT,CAAC,CAAQ,EAAE,EAAE;wBACpB,CAAC,CAAC,eAAe,EAAE,CAAA;oBACrB,CAAC;0BACS,CAAC,CAAQ,EAAE,EAAE;wBACrB,IAAI,QAAQ,GAAI,CAAC,CAAC,MAA2B,CAAC,OAAO,CAAA;wBAErD,IAAI,MAAM,GAAG,MAAM,CAAC,QAAQ;4BAC1B,CAAC,CAAC;gCACE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;gCAC/B,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;6BAClC;4BACH,CAAC,CAAC;gCACE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;6BAClC,CAAA;wBAEL,KAAK,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,sBAAsB,EAAE;4BACtC,OAAO,EAAE,IAAI;4BACb,QAAQ,EAAE,IAAI;4BACd,MAAM;yBACP,CAAC,CACH,CAAA;wBAED,CAAC,CAAC,eAAe,EAAE,CAAA;oBACrB,CAAC;;aAEJ,CAAA;gBACH,CAAkB;aACnB;YACD,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACd,EACD,MAAM,CACP,CAAA;IACH,CAAC;CACF","sourcesContent":["import { html } from 'lit'\n\nimport { DataCard } from '../data-card/data-card.js'\nimport { DataGrid } from '../data-grid/data-grid.js'\nimport { DataList } from '../data-list/data-list.js'\nimport { ColumnConfig, FieldRenderer, HeaderRenderer } from '../types.js'\n\nexport class GutterRowSelector {\n static instance(config: Partial<ColumnConfig> = { type: 'gutter', name: '__selected__' }) {\n return Object.assign(\n {},\n {\n type: 'gutter',\n name: '__selected__',\n gutterName: 'row-selector',\n width: 30,\n resizable: false,\n sortable: false,\n header: {\n renderer: function (this: DataGrid | DataList | DataCard, column) {\n var checked = ((this.data || {}).records || []).find(record => record['__selected__'])\n\n return html`\n <input\n type=\"checkbox\"\n .checked=${!!checked}\n @change=${(e: Event) => {\n let selected = column.multiple ? (e.target as HTMLInputElement).checked : false\n\n this.dispatchEvent(\n new CustomEvent('select-all-change', {\n bubbles: true,\n composed: true,\n detail: {\n selected\n }\n })\n )\n\n e.stopPropagation()\n }}\n />\n `\n } as HeaderRenderer\n },\n record: {\n align: 'center',\n renderer: function (value, column, record, rowIndex, field) {\n return html`\n <input\n type=${column.multiple ? 'checkbox' : 'radio'}\n .checked=${!!value}\n @click=${(e: Event) => {\n e.stopPropagation()\n }}\n @change=${(e: Event) => {\n let selected = (e.target as HTMLInputElement).checked\n\n let detail = column.multiple\n ? {\n added: selected ? [record] : [],\n removed: selected ? [] : [record]\n }\n : {\n records: selected ? [record] : []\n }\n\n field.dispatchEvent(\n new CustomEvent('select-record-change', {\n bubbles: true,\n composed: true,\n detail\n })\n )\n\n e.stopPropagation()\n }}\n />\n `\n } as FieldRenderer\n },\n forGrid: true,\n forList: true,\n forCard: true\n },\n config\n )\n }\n}\n"]}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
import { ColumnConfig, ColumnWidthCallback, FieldRenderer } from '../types.js';
|
2
|
+
export declare class GutterSequence {
|
3
|
+
static instance(config?: Partial<ColumnConfig>): {
|
4
|
+
type: string;
|
5
|
+
name: string;
|
6
|
+
gutterName?: "button" | "sequence" | "row-selector" | "dirty" | undefined;
|
7
|
+
title?: string | undefined;
|
8
|
+
fixed?: boolean | undefined;
|
9
|
+
icon?: string | undefined;
|
10
|
+
iconOnly?: boolean | undefined;
|
11
|
+
danger?: boolean | undefined;
|
12
|
+
header: string | import("../types.js").HeaderConfig;
|
13
|
+
record: import("../types.js").RecordConfig | {
|
14
|
+
renderer: FieldRenderer;
|
15
|
+
align: string;
|
16
|
+
};
|
17
|
+
handlers: import("../types.js").GristEventHandlerSet;
|
18
|
+
label?: import("../types.js").LabelConfig | undefined;
|
19
|
+
hidden?: boolean | undefined;
|
20
|
+
sortable: boolean;
|
21
|
+
resizable: boolean;
|
22
|
+
width: number | string | ColumnWidthCallback;
|
23
|
+
forList: boolean;
|
24
|
+
forCard: boolean;
|
25
|
+
validation?: import("../types.js").ValidationCallback | undefined;
|
26
|
+
accumulator?: import("../types.js").AccumulatorObject | undefined;
|
27
|
+
filter?: import("../types.js").FilterConfig | undefined;
|
28
|
+
imex?: (import("../types.js").ImexConfig | boolean) | undefined;
|
29
|
+
multiple?: boolean | undefined;
|
30
|
+
rowCount?: boolean | undefined;
|
31
|
+
unusable?: boolean | undefined;
|
32
|
+
getterType: string;
|
33
|
+
forGrid: boolean;
|
34
|
+
};
|
35
|
+
}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
export class GutterSequence {
|
2
|
+
static instance(config = { type: 'gutter', name: '__seq__' }) {
|
3
|
+
return {
|
4
|
+
type: 'gutter',
|
5
|
+
name: '__seq__',
|
6
|
+
getterType: 'sequence',
|
7
|
+
width: function (column) {
|
8
|
+
if (this.data) {
|
9
|
+
var { limit = 0, page = 1, records = [] } = this.data || {};
|
10
|
+
var lastIndex = (page - 1) * limit + records.length;
|
11
|
+
}
|
12
|
+
else {
|
13
|
+
var lastIndex = 100;
|
14
|
+
}
|
15
|
+
/* 1ch의 폭은 해당 폰트 0의 폭을 의미함. Arial이 약 8px이며, 정수로 떨어지지 않을 수 있으므로, 다소 여유있게 10px을 기준으로 함. */
|
16
|
+
return `${Math.max(String(lastIndex).length * 10, 20)}px`;
|
17
|
+
},
|
18
|
+
resizable: false,
|
19
|
+
sortable: false,
|
20
|
+
header: '#',
|
21
|
+
record: {
|
22
|
+
renderer: function (value, column, record, rowIndex, field) {
|
23
|
+
return value;
|
24
|
+
},
|
25
|
+
align: 'right'
|
26
|
+
},
|
27
|
+
forGrid: true,
|
28
|
+
forList: false,
|
29
|
+
forCard: false,
|
30
|
+
handlers: {
|
31
|
+
dblclick: ((columns, data, column, record, rowIndex, target) => {
|
32
|
+
target.dispatchEvent(new CustomEvent('set-select-block', {
|
33
|
+
bubbles: true,
|
34
|
+
composed: true,
|
35
|
+
detail: {
|
36
|
+
startRow: rowIndex,
|
37
|
+
startColumn: 0,
|
38
|
+
endRow: rowIndex,
|
39
|
+
endColumn: -1
|
40
|
+
}
|
41
|
+
}));
|
42
|
+
})
|
43
|
+
},
|
44
|
+
...config
|
45
|
+
};
|
46
|
+
}
|
47
|
+
}
|
48
|
+
//# sourceMappingURL=gutter-sequence.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"gutter-sequence.js","sourceRoot":"","sources":["../../../src/gutters/gutter-sequence.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,cAAc;IACzB,MAAM,CAAC,QAAQ,CAAC,SAAgC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QACjF,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,UAAU;YACtB,KAAK,EAAE,UAAgD,MAAM;gBAC3D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;oBAC3D,IAAI,SAAS,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,OAAO,CAAC,MAAM,CAAA;gBACrD,CAAC;qBAAM,CAAC;oBACN,IAAI,SAAS,GAAG,GAAG,CAAA;gBACrB,CAAC;gBAED,wFAAwF;gBACxF,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,CAAA;YAC3D,CAAwB;YACxB,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,GAAG;YACX,MAAM,EAAE;gBACN,QAAQ,EAAE,UAAU,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK;oBACxD,OAAO,KAAK,CAAA;gBACd,CAAkB;gBAClB,KAAK,EAAE,OAAO;aACf;YACD,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE;gBACR,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;oBAC7D,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,kBAAkB,EAAE;wBAClC,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE;4BACN,QAAQ,EAAE,QAAQ;4BAClB,WAAW,EAAE,CAAC;4BACd,MAAM,EAAE,QAAQ;4BAChB,SAAS,EAAE,CAAC,CAAC;yBACd;qBACF,CAAC,CACH,CAAA;gBACH,CAAC,CAAsB;aACxB;YACD,GAAG,MAAM;SACV,CAAA;IACH,CAAC;CACF","sourcesContent":["import { DataCard } from '../data-card/data-card.js'\nimport { DataGrid } from '../data-grid/data-grid.js'\nimport { DataList } from '../data-list/data-list.js'\nimport { ColumnConfig, ColumnWidthCallback, FieldRenderer, GristEventHandler } from '../types.js'\n\nexport class GutterSequence {\n static instance(config: Partial<ColumnConfig> = { type: 'gutter', name: '__seq__' }) {\n return {\n type: 'gutter',\n name: '__seq__',\n getterType: 'sequence',\n width: function (this: DataGrid | DataList | DataCard, column): string {\n if (this.data) {\n var { limit = 0, page = 1, records = [] } = this.data || {}\n var lastIndex = (page - 1) * limit + records.length\n } else {\n var lastIndex = 100\n }\n\n /* 1ch의 폭은 해당 폰트 0의 폭을 의미함. Arial이 약 8px이며, 정수로 떨어지지 않을 수 있으므로, 다소 여유있게 10px을 기준으로 함. */\n return `${Math.max(String(lastIndex).length * 10, 20)}px`\n } as ColumnWidthCallback,\n resizable: false,\n sortable: false,\n header: '#',\n record: {\n renderer: function (value, column, record, rowIndex, field) {\n return value\n } as FieldRenderer,\n align: 'right'\n },\n forGrid: true,\n forList: false,\n forCard: false,\n handlers: {\n dblclick: ((columns, data, column, record, rowIndex, target) => {\n target.dispatchEvent(\n new CustomEvent('set-select-block', {\n bubbles: true,\n composed: true,\n detail: {\n startRow: rowIndex,\n startColumn: 0,\n endRow: rowIndex,\n endColumn: -1\n }\n })\n )\n }) as GristEventHandler\n },\n ...config\n }\n }\n}\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './registry.js';
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/gutters/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA","sourcesContent":["export * from './registry.js'\n"]}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { ColumnConfig } from '../types.js';
|
2
|
+
export declare function registerGutter(name: string, gutter: any): void;
|
3
|
+
export declare function unregisterGutter(name: string): void;
|
4
|
+
export declare function getGutters(): {
|
5
|
+
[name: string]: any;
|
6
|
+
};
|
7
|
+
export declare const generateGutterColumn: (config: ColumnConfig) => any;
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { GutterButton } from './gutter-button.js';
|
2
|
+
import { GutterDirty } from './gutter-dirty.js';
|
3
|
+
import { GutterRowSelector } from './gutter-row-selector.js';
|
4
|
+
import { GutterSequence } from './gutter-sequence.js';
|
5
|
+
var GUTTERS = {
|
6
|
+
sequence: GutterSequence,
|
7
|
+
'row-selector': GutterRowSelector,
|
8
|
+
button: GutterButton,
|
9
|
+
dirty: GutterDirty
|
10
|
+
};
|
11
|
+
export function registerGutter(name, gutter) {
|
12
|
+
GUTTERS[name] = gutter;
|
13
|
+
}
|
14
|
+
export function unregisterGutter(name) {
|
15
|
+
delete GUTTERS[name];
|
16
|
+
}
|
17
|
+
export function getGutters() {
|
18
|
+
return { ...GUTTERS };
|
19
|
+
}
|
20
|
+
export const generateGutterColumn = (config) => {
|
21
|
+
var clazz = GUTTERS[config.gutterName || ''];
|
22
|
+
if (clazz) {
|
23
|
+
return clazz.instance(config);
|
24
|
+
}
|
25
|
+
};
|
26
|
+
//# sourceMappingURL=registry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/gutters/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,IAAI,OAAO,GAA4B;IACrC,QAAQ,EAAE,cAAc;IACxB,cAAc,EAAE,iBAAiB;IACjC,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,WAAW;CACnB,CAAA;AAED,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,MAAW;IACtD,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,EAAE,GAAG,OAAO,EAAE,CAAA;AACvB,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAoB,EAAE,EAAE;IAC3D,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAA;IAE5C,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC/B,CAAC;AACH,CAAC,CAAA","sourcesContent":["import { ColumnConfig } from '../types.js'\nimport { GutterButton } from './gutter-button.js'\nimport { GutterDirty } from './gutter-dirty.js'\nimport { GutterRowSelector } from './gutter-row-selector.js'\nimport { GutterSequence } from './gutter-sequence.js'\n\nvar GUTTERS: { [name: string]: any } = {\n sequence: GutterSequence,\n 'row-selector': GutterRowSelector,\n button: GutterButton,\n dirty: GutterDirty\n}\n\nexport function registerGutter(name: string, gutter: any) {\n GUTTERS[name] = gutter\n}\n\nexport function unregisterGutter(name: string) {\n delete GUTTERS[name]\n}\n\nexport function getGutters() {\n return { ...GUTTERS }\n}\n\nexport const generateGutterColumn = (config: ColumnConfig) => {\n var clazz = GUTTERS[config.gutterName || '']\n\n if (clazz) {\n return clazz.instance(config)\n }\n}\n"]}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import { DataGridField } from '../data-grid/data-grid-field.js';
|
2
|
+
import { ColumnConfig, GristData, GristRecord } from '../types.js';
|
3
|
+
export declare const ContextMenuTreeMutation: (columns: ColumnConfig[], data: GristData, column: ColumnConfig, record: GristRecord, rowIndex: number, field: DataGridField, event: Event) => void;
|