@operato/data-grist 9.0.0-beta.61 → 9.0.0-beta.63
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-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/registry.d.ts +12 -0
- package/dist/src/editors/registry.js +71 -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 +4 -4
- 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,41 @@
|
|
1
|
+
import '@operato/input/ox-checkbox.js';
|
2
|
+
import { html } from 'lit-html';
|
3
|
+
export const FilterCheckbox = (column, value, owner) => {
|
4
|
+
const { name, header, label, filter } = column;
|
5
|
+
const { label: filterLabel, operator } = filter;
|
6
|
+
const labelText = filterLabel !== undefined
|
7
|
+
? filterLabel
|
8
|
+
: typeof label === 'object' && label.renderer
|
9
|
+
? label.renderer(column)
|
10
|
+
: header.renderer(column) || name;
|
11
|
+
// 텍스트 형태로 받았을시 의도가 boolean이면 boolean 타입으로 변환
|
12
|
+
if (value === 'false') {
|
13
|
+
value = false;
|
14
|
+
}
|
15
|
+
else if (value === 'true') {
|
16
|
+
value = true;
|
17
|
+
}
|
18
|
+
return html `
|
19
|
+
<ox-checkbox
|
20
|
+
name=${column.name}
|
21
|
+
?checked=${value}
|
22
|
+
indeterminatable
|
23
|
+
?indeterminate=${value === undefined}
|
24
|
+
left-label
|
25
|
+
@change=${(e) => {
|
26
|
+
;
|
27
|
+
e.target.dispatchEvent(new CustomEvent('filter-change', {
|
28
|
+
bubbles: true,
|
29
|
+
composed: true,
|
30
|
+
detail: {
|
31
|
+
name,
|
32
|
+
operator,
|
33
|
+
value: e.target.checked
|
34
|
+
}
|
35
|
+
}));
|
36
|
+
}}
|
37
|
+
><label filter-title><span>${labelText}</span></label></ox-checkbox
|
38
|
+
>
|
39
|
+
`;
|
40
|
+
};
|
41
|
+
//# sourceMappingURL=filter-checkbox.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"filter-checkbox.js","sourceRoot":"","sources":["../../../src/filters/filter-checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,+BAA+B,CAAA;AAEtC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAI/B,MAAM,CAAC,MAAM,cAAc,GAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAC3E,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAE9C,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,MAA6B,CAAA;IAEtE,MAAM,SAAS,GACb,WAAW,KAAK,SAAS;QACvB,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ;YAC3C,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;YACxB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAA;IAEvC,6CAA6C;IAC7C,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,KAAK,GAAG,KAAK,CAAC;IAChB,CAAC;SAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QAC5B,KAAK,GAAG,IAAI,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAA;;aAEA,MAAM,CAAC,IAAI;iBACP,KAAK;;uBAEC,KAAK,KAAK,SAAS;;gBAE1B,CAAC,CAAc,EAAE,EAAE;QAC3B,CAAC;QAAC,CAAC,CAAC,MAAsB,CAAC,aAAa,CACtC,IAAI,WAAW,CAAC,eAAe,EAAE;YAC/B,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACN,IAAI;gBACJ,QAAQ;gBACR,KAAK,EAAG,CAAC,CAAC,MAAqD,CAAC,OAAO;aACxE;SACF,CAAC,CACH,CAAA;IACH,CAAC;mCAC4B,SAAS;;GAEzC,CAAA;AACH,CAAC,CAAA","sourcesContent":["import '@operato/input/ox-checkbox.js'\n\nimport { html } from 'lit-html'\n\nimport { FilterConfigObject, FilterSelectRenderer } from '../types.js'\n\nexport const FilterCheckbox: FilterSelectRenderer = (column, value, owner) => {\n const { name, header, label, filter } = column\n\n const { label: filterLabel, operator } = filter! as FilterConfigObject\n\n const labelText =\n filterLabel !== undefined\n ? filterLabel\n : typeof label === 'object' && label.renderer\n ? label.renderer(column)\n : header.renderer(column) || name\n\n // 텍스트 형태로 받았을시 의도가 boolean이면 boolean 타입으로 변환\n if (value === 'false') {\n value = false;\n } else if (value === 'true') {\n value = true;\n }\n\n return html`\n <ox-checkbox\n name=${column.name}\n ?checked=${value}\n indeterminatable\n ?indeterminate=${value === undefined}\n left-label\n @change=${(e: CustomEvent) => {\n ;(e.target as HTMLElement).dispatchEvent(\n new CustomEvent('filter-change', {\n bubbles: true,\n composed: true,\n detail: {\n name,\n operator,\n value: (e.target as Element & { checked: boolean | undefined }).checked\n }\n })\n )\n }}\n ><label filter-title><span>${labelText}</span></label></ox-checkbox\n >\n `\n}\n"]}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import '@operato/input/ox-input-barcode.js';
|
2
|
+
import { html } from 'lit-html';
|
3
|
+
export const FilterInputBarcode = (column, value, owner) => {
|
4
|
+
const filter = column.filter;
|
5
|
+
const { englishOnly, selectAfterChange } = filter.options || {};
|
6
|
+
return html `
|
7
|
+
<ox-input-barcode
|
8
|
+
name=${column.name}
|
9
|
+
?english-only=${englishOnly}
|
10
|
+
?select-after-change=${selectAfterChange}
|
11
|
+
.value=${value == null ? '' : value}
|
12
|
+
@change=${(e) => {
|
13
|
+
const input = e.target;
|
14
|
+
input.dispatchEvent(new CustomEvent('filter-change', {
|
15
|
+
bubbles: true,
|
16
|
+
composed: true,
|
17
|
+
detail: {
|
18
|
+
name: column.name,
|
19
|
+
operator: filter.operator,
|
20
|
+
value: input.value
|
21
|
+
}
|
22
|
+
}));
|
23
|
+
}}
|
24
|
+
filter-input
|
25
|
+
></ox-input-barcode>
|
26
|
+
`;
|
27
|
+
};
|
28
|
+
//# sourceMappingURL=filter-input-barcode.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"filter-input-barcode.js","sourceRoot":"","sources":["../../../src/filters/filter-input-barcode.ts"],"names":[],"mappings":"AAAA,OAAO,oCAAoC,CAAA;AAE3C,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAI/B,MAAM,CAAC,MAAM,kBAAkB,GAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAC/E,MAAM,MAAM,GAAG,MAAM,CAAC,MAA4B,CAAA;IAClD,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAA;IAE/D,OAAO,IAAI,CAAA;;aAEA,MAAM,CAAC,IAAI;sBACF,WAAW;6BACJ,iBAAiB;eAC/B,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;gBACzB,CAAC,CAAc,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,CAAC,CAAC,MAA0B,CAAA;QAC1C,KAAK,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,eAAe,EAAE;YAC/B,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB;SACF,CAAC,CACH,CAAA;IACH,CAAC;;;GAGJ,CAAA;AACH,CAAC,CAAA","sourcesContent":["import '@operato/input/ox-input-barcode.js'\n\nimport { html } from 'lit-html'\n\nimport { FilterConfigObject, FilterSelectRenderer } from '../types.js'\n\nexport const FilterInputBarcode: FilterSelectRenderer = (column, value, owner) => {\n const filter = column.filter as FilterConfigObject\n const { englishOnly, selectAfterChange } = filter.options || {}\n\n return html`\n <ox-input-barcode\n name=${column.name}\n ?english-only=${englishOnly}\n ?select-after-change=${selectAfterChange}\n .value=${value == null ? '' : value}\n @change=${(e: CustomEvent) => {\n const input = e.target as HTMLInputElement\n input.dispatchEvent(\n new CustomEvent('filter-change', {\n bubbles: true,\n composed: true,\n detail: {\n name: column.name,\n operator: filter.operator,\n value: input.value\n }\n })\n )\n }}\n filter-input\n ></ox-input-barcode>\n `\n}\n"]}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { html } from 'lit-html';
|
2
|
+
export const FilterInput = (column, value, owner) => {
|
3
|
+
const filter = column.filter;
|
4
|
+
const type = (filter === null || filter === void 0 ? void 0 : filter.type) || column.type;
|
5
|
+
return html `
|
6
|
+
<input
|
7
|
+
type=${type}
|
8
|
+
name=${column.name}
|
9
|
+
.value=${value == null ? '' : value}
|
10
|
+
@change=${(e) => {
|
11
|
+
const input = e.target;
|
12
|
+
input.dispatchEvent(new CustomEvent('filter-change', {
|
13
|
+
bubbles: true,
|
14
|
+
composed: true,
|
15
|
+
detail: {
|
16
|
+
name: column.name,
|
17
|
+
operator: filter.operator,
|
18
|
+
value: input.value
|
19
|
+
}
|
20
|
+
}));
|
21
|
+
}}
|
22
|
+
/>
|
23
|
+
`;
|
24
|
+
};
|
25
|
+
//# sourceMappingURL=filter-input.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"filter-input.js","sourceRoot":"","sources":["../../../src/filters/filter-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAI/B,MAAM,CAAC,MAAM,WAAW,GAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IACxE,MAAM,MAAM,GAAG,MAAM,CAAC,MAA4B,CAAA;IAClD,MAAM,IAAI,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,MAAM,CAAC,IAAI,CAAA;IAExC,OAAO,IAAI,CAAA;;aAEA,IAAW;aACX,MAAM,CAAC,IAAI;eACT,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;gBACzB,CAAC,CAAc,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,CAAC,CAAC,MAA0B,CAAA;QAC1C,KAAK,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,eAAe,EAAE;YAC/B,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB;SACF,CAAC,CACH,CAAA;IACH,CAAC;;GAEJ,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { html } from 'lit-html'\n\nimport { FilterConfigObject, FilterSelectRenderer } from '../types.js'\n\nexport const FilterInput: FilterSelectRenderer = (column, value, owner) => {\n const filter = column.filter as FilterConfigObject\n const type = filter?.type || column.type\n\n return html`\n <input\n type=${type as any}\n name=${column.name}\n .value=${value == null ? '' : value}\n @change=${(e: CustomEvent) => {\n const input = e.target as HTMLInputElement\n input.dispatchEvent(\n new CustomEvent('filter-change', {\n bubbles: true,\n composed: true,\n detail: {\n name: column.name,\n operator: filter.operator,\n value: input.value\n }\n })\n )\n }}\n />\n `\n}\n"]}
|
@@ -0,0 +1,66 @@
|
|
1
|
+
import { html } from 'lit-html';
|
2
|
+
function formatDate(type, date) {
|
3
|
+
var year = date.getFullYear();
|
4
|
+
var month = ('0' + (date.getMonth() + 1)).slice(-2);
|
5
|
+
var day = ('0' + date.getDate()).slice(-2);
|
6
|
+
var hours = ('0' + date.getHours()).slice(-2);
|
7
|
+
var minutes = ('0' + date.getMinutes()).slice(-2);
|
8
|
+
var formatDate = year + '-' + month + '-' + day;
|
9
|
+
return type == 'date' ? formatDate : formatDate + 'T' + hours + ':' + minutes;
|
10
|
+
}
|
11
|
+
export const FilterRangeDate = (column, value, owner) => {
|
12
|
+
const filter = column.filter;
|
13
|
+
var [from, to] = value instanceof Array ? value : [];
|
14
|
+
var type = (filter === null || filter === void 0 ? void 0 : filter.type) || column.type;
|
15
|
+
if (type === 'datetime') {
|
16
|
+
type = 'datetime-local';
|
17
|
+
}
|
18
|
+
from = formatDate(type, new Date(from));
|
19
|
+
to = formatDate(type, new Date(to));
|
20
|
+
return html `
|
21
|
+
<input
|
22
|
+
name=${column.name}
|
23
|
+
type=${type}
|
24
|
+
.value=${from}
|
25
|
+
from
|
26
|
+
@keyup=${(e) => {
|
27
|
+
if (e.key !== 'Enter') {
|
28
|
+
return;
|
29
|
+
}
|
30
|
+
;
|
31
|
+
e.target.dispatchEvent(new CustomEvent('filter-change', {
|
32
|
+
bubbles: true,
|
33
|
+
composed: true,
|
34
|
+
detail: {
|
35
|
+
name: column.name,
|
36
|
+
operator: filter.operator,
|
37
|
+
value: Array.from(e.target.parentElement.querySelectorAll('input[from], input[to]')).map(input => input.value)
|
38
|
+
}
|
39
|
+
}));
|
40
|
+
}}
|
41
|
+
/>
|
42
|
+
~
|
43
|
+
<input
|
44
|
+
name=${column.name}
|
45
|
+
type=${type}
|
46
|
+
.value=${to}
|
47
|
+
to
|
48
|
+
@keyup=${(e) => {
|
49
|
+
if (e.key !== 'Enter') {
|
50
|
+
return;
|
51
|
+
}
|
52
|
+
;
|
53
|
+
e.target.dispatchEvent(new CustomEvent('filter-change', {
|
54
|
+
bubbles: true,
|
55
|
+
composed: true,
|
56
|
+
detail: {
|
57
|
+
name: column.name,
|
58
|
+
operator: filter.operator,
|
59
|
+
value: Array.from(e.target.parentElement.querySelectorAll('input[from], input[to]')).map(input => input.value)
|
60
|
+
}
|
61
|
+
}));
|
62
|
+
}}
|
63
|
+
/>
|
64
|
+
`;
|
65
|
+
};
|
66
|
+
//# sourceMappingURL=filter-range-date.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"filter-range-date.js","sourceRoot":"","sources":["../../../src/filters/filter-range-date.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit-html'\n\nimport { FilterConfigObject, FilterSelectRenderer } from '../types.js'\n\nfunction formatDate(type: string, date: Date) {\n var year = date.getFullYear()\n var month = ('0' + (date.getMonth() + 1)).slice(-2)\n var day = ('0' + date.getDate()).slice(-2)\n var hours = ('0' + date.getHours()).slice(-2)\n var minutes = ('0' + date.getMinutes()).slice(-2)\n\n var formatDate = year + '-' + month + '-' + day\n\n return type == 'date' ? formatDate : formatDate + 'T' + hours + ':' + minutes\n}\n\nexport const FilterRangeDate: FilterSelectRenderer = (column, value, owner) => {\n const filter = column.filter as FilterConfigObject\n\n var [from, to] = value instanceof Array ? value : []\n\n var type: any = filter?.type || column.type\n if (type === 'datetime') {\n type = 'datetime-local'\n }\n\n from = formatDate(type, new Date(from))\n to = formatDate(type, new Date(to))\n\n return html`\n <input\n name=${column.name}\n type=${type}\n .value=${from}\n from\n @keyup=${(e: KeyboardEvent) => {\n if (e.key !== 'Enter') {\n return\n }\n ;(e.target as HTMLElement).dispatchEvent(\n new CustomEvent('filter-change', {\n bubbles: true,\n composed: true,\n detail: {\n name: column.name,\n operator: filter.operator,\n value: Array.from(\n (e.target as HTMLElement).parentElement!.querySelectorAll('input[from], input[to]')\n ).map(input => (input as HTMLInputElement).value)\n }\n })\n )\n }}\n />\n ~\n <input\n name=${column.name}\n type=${type}\n .value=${to}\n to\n @keyup=${(e: KeyboardEvent) => {\n if (e.key !== 'Enter') {\n return\n }\n ;(e.target as HTMLElement).dispatchEvent(\n new CustomEvent('filter-change', {\n bubbles: true,\n composed: true,\n detail: {\n name: column.name,\n operator: filter.operator,\n value: Array.from(\n (e.target as HTMLElement).parentElement!.querySelectorAll('input[from], input[to]')\n ).map(input => (input as HTMLInputElement).value)\n }\n })\n )\n }}\n />\n `\n}\n"]}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
import { html } from 'lit-html';
|
2
|
+
export const FilterRangeNumber = (column, value, owner) => {
|
3
|
+
const filter = column.filter;
|
4
|
+
const type = (filter === null || filter === void 0 ? void 0 : filter.type) || column.type;
|
5
|
+
const [from, to] = value instanceof Array ? value : [];
|
6
|
+
return html `
|
7
|
+
<input
|
8
|
+
name=${column.name}
|
9
|
+
type="number"
|
10
|
+
placeholder="minimum"
|
11
|
+
.value=${from}
|
12
|
+
from
|
13
|
+
@keyup=${(e) => {
|
14
|
+
if (e.key !== 'Enter') {
|
15
|
+
return;
|
16
|
+
}
|
17
|
+
;
|
18
|
+
e.target.dispatchEvent(new CustomEvent('filter-change', {
|
19
|
+
bubbles: true,
|
20
|
+
composed: true,
|
21
|
+
detail: {
|
22
|
+
name: column.name,
|
23
|
+
operator: filter.operator,
|
24
|
+
value: Array.from(e.target.parentElement.querySelectorAll('input[from], input[to]')).map(input => input.value)
|
25
|
+
}
|
26
|
+
}));
|
27
|
+
}}
|
28
|
+
/>
|
29
|
+
~
|
30
|
+
<input
|
31
|
+
name=${column.name}
|
32
|
+
type="number"
|
33
|
+
placeholder="maximum"
|
34
|
+
.value=${to}
|
35
|
+
to
|
36
|
+
@keyup=${(e) => {
|
37
|
+
if (e.key !== 'Enter') {
|
38
|
+
return;
|
39
|
+
}
|
40
|
+
;
|
41
|
+
e.target.dispatchEvent(new CustomEvent('filter-change', {
|
42
|
+
bubbles: true,
|
43
|
+
composed: true,
|
44
|
+
detail: {
|
45
|
+
name: column.name,
|
46
|
+
operator: filter.operator,
|
47
|
+
value: Array.from(e.target.parentElement.querySelectorAll('input[from], input[to]')).map(input => input.value)
|
48
|
+
}
|
49
|
+
}));
|
50
|
+
}}
|
51
|
+
/>
|
52
|
+
`;
|
53
|
+
};
|
54
|
+
//# sourceMappingURL=filter-range-number.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"filter-range-number.js","sourceRoot":"","sources":["../../../src/filters/filter-range-number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAI/B,MAAM,CAAC,MAAM,iBAAiB,GAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAC9E,MAAM,MAAM,GAAG,MAAM,CAAC,MAA4B,CAAA;IAClD,MAAM,IAAI,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,MAAM,CAAC,IAAI,CAAA;IAExC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;IAEtD,OAAO,IAAI,CAAA;;aAEA,MAAM,CAAC,IAAI;;;eAGT,IAAI;;eAEJ,CAAC,CAAgB,EAAE,EAAE;QAC5B,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YACtB,OAAM;QACR,CAAC;QACD,CAAC;QAAC,CAAC,CAAC,MAAsB,CAAC,aAAa,CACtC,IAAI,WAAW,CAAC,eAAe,EAAE;YAC/B,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,KAAK,EAAE,KAAK,CAAC,IAAI,CACd,CAAC,CAAC,MAAsB,CAAC,aAAc,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CACpF,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAE,KAA0B,CAAC,KAAK,CAAC;aAClD;SACF,CAAC,CACH,CAAA;IACH,CAAC;;;;aAIM,MAAM,CAAC,IAAI;;;eAGT,EAAE;;eAEF,CAAC,CAAgB,EAAE,EAAE;QAC5B,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YACtB,OAAM;QACR,CAAC;QACD,CAAC;QAAC,CAAC,CAAC,MAAsB,CAAC,aAAa,CACtC,IAAI,WAAW,CAAC,eAAe,EAAE;YAC/B,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,KAAK,EAAE,KAAK,CAAC,IAAI,CACd,CAAC,CAAC,MAAsB,CAAC,aAAc,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CACpF,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAE,KAA0B,CAAC,KAAK,CAAC;aAClD;SACF,CAAC,CACH,CAAA;IACH,CAAC;;GAEJ,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { html } from 'lit-html'\n\nimport { FilterConfigObject, FilterSelectRenderer } from '../types.js'\n\nexport const FilterRangeNumber: FilterSelectRenderer = (column, value, owner) => {\n const filter = column.filter as FilterConfigObject\n const type = filter?.type || column.type\n\n const [from, to] = value instanceof Array ? value : []\n\n return html`\n <input\n name=${column.name}\n type=\"number\"\n placeholder=\"minimum\"\n .value=${from}\n from\n @keyup=${(e: KeyboardEvent) => {\n if (e.key !== 'Enter') {\n return\n }\n ;(e.target as HTMLElement).dispatchEvent(\n new CustomEvent('filter-change', {\n bubbles: true,\n composed: true,\n detail: {\n name: column.name,\n operator: filter.operator,\n value: Array.from(\n (e.target as HTMLElement).parentElement!.querySelectorAll('input[from], input[to]')\n ).map(input => (input as HTMLInputElement).value)\n }\n })\n )\n }}\n />\n ~\n <input\n name=${column.name}\n type=\"number\"\n placeholder=\"maximum\"\n .value=${to}\n to\n @keyup=${(e: KeyboardEvent) => {\n if (e.key !== 'Enter') {\n return\n }\n ;(e.target as HTMLElement).dispatchEvent(\n new CustomEvent('filter-change', {\n bubbles: true,\n composed: true,\n detail: {\n name: column.name,\n operator: filter.operator,\n value: Array.from(\n (e.target as HTMLElement).parentElement!.querySelectorAll('input[from], input[to]')\n ).map(input => (input as HTMLInputElement).value)\n }\n })\n )\n }}\n />\n `\n}\n"]}
|
@@ -0,0 +1,50 @@
|
|
1
|
+
import '@operato/input/ox-input-select-buttons.js';
|
2
|
+
import { html } from 'lit-html';
|
3
|
+
export const FilterSelectButtons = (column, value, owner) => {
|
4
|
+
const filter = column.filter;
|
5
|
+
const operator = filter === null || filter === void 0 ? void 0 : filter.operator;
|
6
|
+
var options = (filter === null || filter === void 0 ? void 0 : filter.options) || column.record.options || [];
|
7
|
+
if (typeof options === 'function') {
|
8
|
+
if (!(filter === null || filter === void 0 ? void 0 : filter.options)) {
|
9
|
+
console.warn('ox-grist의 column.filter 속성에서는 column.record.options의 함수형 options을 사용할 수 없으므로, filter 속성에서 재지정해야한다.');
|
10
|
+
}
|
11
|
+
options = options.call(column, owner);
|
12
|
+
}
|
13
|
+
options = options.map((option) => {
|
14
|
+
switch (typeof option) {
|
15
|
+
case 'string':
|
16
|
+
return {
|
17
|
+
display: option,
|
18
|
+
value: option
|
19
|
+
};
|
20
|
+
case 'object':
|
21
|
+
return {
|
22
|
+
display: option.display,
|
23
|
+
value: option.value
|
24
|
+
};
|
25
|
+
default:
|
26
|
+
return option;
|
27
|
+
}
|
28
|
+
});
|
29
|
+
return html `
|
30
|
+
<ox-input-select-buttons
|
31
|
+
name=${column.name}
|
32
|
+
.value=${value}
|
33
|
+
.options=${options}
|
34
|
+
?multiple=${operator === 'in'}
|
35
|
+
@change=${(e) => {
|
36
|
+
;
|
37
|
+
e.target.dispatchEvent(new CustomEvent('filter-change', {
|
38
|
+
bubbles: true,
|
39
|
+
composed: true,
|
40
|
+
detail: {
|
41
|
+
name: column.name,
|
42
|
+
operator: filter.operator,
|
43
|
+
value: e.target.value
|
44
|
+
}
|
45
|
+
}));
|
46
|
+
}}
|
47
|
+
></ox-input-select-buttons>
|
48
|
+
`;
|
49
|
+
};
|
50
|
+
//# sourceMappingURL=filter-select-buttons.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"filter-select-buttons.js","sourceRoot":"","sources":["../../../src/filters/filter-select-buttons.ts"],"names":[],"mappings":"AAAA,OAAO,2CAA2C,CAAA;AAElD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAI/B,MAAM,CAAC,MAAM,mBAAmB,GAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAChF,MAAM,MAAM,GAAG,MAAM,CAAC,MAA4B,CAAA;IAClD,MAAM,QAAQ,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAA;IAEjC,IAAI,OAAO,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,KAAI,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAA;IAE5D,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAA,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CACV,oGAAoG,CACrG,CAAA;QACH,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACvC,CAAC;IAED,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE;QACpC,QAAQ,OAAO,MAAM,EAAE,CAAC;YACtB,KAAK,QAAQ;gBACX,OAAO;oBACL,OAAO,EAAE,MAAM;oBACf,KAAK,EAAE,MAAM;iBACd,CAAA;YACH,KAAK,QAAQ;gBACX,OAAO;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;iBACpB,CAAA;YACH;gBACE,OAAO,MAAM,CAAA;QACjB,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,IAAI,CAAA;;aAEA,MAAM,CAAC,IAAI;eACT,KAAK;iBACH,OAAO;kBACN,QAAQ,KAAK,IAAI;gBACnB,CAAC,CAAc,EAAE,EAAE;QAC3B,CAAC;QAAC,CAAC,CAAC,MAAsB,CAAC,aAAa,CACtC,IAAI,WAAW,CAAC,eAAe,EAAE;YAC/B,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,KAAK,EAAG,CAAC,CAAC,MAA2B,CAAC,KAAK;aAC5C;SACF,CAAC,CACH,CAAA;IACH,CAAC;;GAEJ,CAAA;AACH,CAAC,CAAA","sourcesContent":["import '@operato/input/ox-input-select-buttons.js'\n\nimport { html } from 'lit-html'\n\nimport { FilterConfigObject, FilterSelectRenderer } from '../types.js'\n\nexport const FilterSelectButtons: FilterSelectRenderer = (column, value, owner) => {\n const filter = column.filter as FilterConfigObject\n const operator = filter?.operator\n\n var options = filter?.options || column.record.options || []\n\n if (typeof options === 'function') {\n if (!filter?.options) {\n console.warn(\n 'ox-grist의 column.filter 속성에서는 column.record.options의 함수형 options을 사용할 수 없으므로, filter 속성에서 재지정해야한다.'\n )\n }\n options = options.call(column, owner)\n }\n\n options = options.map((option: any) => {\n switch (typeof option) {\n case 'string':\n return {\n display: option,\n value: option\n }\n case 'object':\n return {\n display: option.display,\n value: option.value\n }\n default:\n return option\n }\n })\n\n return html`\n <ox-input-select-buttons\n name=${column.name}\n .value=${value}\n .options=${options}\n ?multiple=${operator === 'in'}\n @change=${(e: CustomEvent) => {\n ;(e.target as HTMLElement).dispatchEvent(\n new CustomEvent('filter-change', {\n bubbles: true,\n composed: true,\n detail: {\n name: column.name,\n operator: filter.operator,\n value: (e.target as HTMLInputElement).value\n }\n })\n )\n }}\n ></ox-input-select-buttons>\n `\n}\n"]}
|
@@ -0,0 +1,52 @@
|
|
1
|
+
import '@operato/input/ox-checkbox.js';
|
2
|
+
import { html } from 'lit';
|
3
|
+
import { until } from 'lit/directives/until.js';
|
4
|
+
import { OxFiltersForm } from './filters-form.js';
|
5
|
+
function buildOptions(options, operator) {
|
6
|
+
const selectOptionObjects = options.map(option => {
|
7
|
+
switch (typeof option) {
|
8
|
+
case 'string':
|
9
|
+
return {
|
10
|
+
display: option,
|
11
|
+
value: option
|
12
|
+
};
|
13
|
+
case 'object':
|
14
|
+
return {
|
15
|
+
display: option.display || option.name,
|
16
|
+
value: option.value
|
17
|
+
};
|
18
|
+
default:
|
19
|
+
return option;
|
20
|
+
}
|
21
|
+
});
|
22
|
+
return operator === 'in'
|
23
|
+
? html `
|
24
|
+
${selectOptionObjects === null || selectOptionObjects === void 0 ? void 0 : selectOptionObjects.filter(option => !!option).map(({ value, display, name }) => html ` <ox-checkbox option value=${value}>${display || name}</ox-checkbox> `)}
|
25
|
+
`
|
26
|
+
: html `
|
27
|
+
${selectOptionObjects === null || selectOptionObjects === void 0 ? void 0 : selectOptionObjects.map(({ value, display, name }) => html ` <div option value=${value}>${display || name} </div> `)}
|
28
|
+
`;
|
29
|
+
}
|
30
|
+
export const FilterSelect = (column, value, owner) => {
|
31
|
+
/* value는 filters-form이나 grid-header에서 처리되므로 이 곳에서는 무시한다. */
|
32
|
+
const filter = column.filter;
|
33
|
+
const operator = filter === null || filter === void 0 ? void 0 : filter.operator;
|
34
|
+
const form = owner;
|
35
|
+
var options = (filter === null || filter === void 0 ? void 0 : filter.options) || column.record.options || [];
|
36
|
+
if (typeof options === 'function') {
|
37
|
+
if (!(filter === null || filter === void 0 ? void 0 : filter.options)) {
|
38
|
+
console.warn('ox-grist의 column.filter 속성에서는 column.record.options의 함수형 options을 사용할 수 없으므로, filter 속성에서 재지정해야한다.');
|
39
|
+
}
|
40
|
+
options = options.call(null, value, column, form instanceof OxFiltersForm ? form.getFormObjectValue() : {}, owner);
|
41
|
+
if (options instanceof Promise) {
|
42
|
+
return html `${until(options.then(options => buildOptions(options, operator)))}`;
|
43
|
+
}
|
44
|
+
else {
|
45
|
+
return buildOptions((options || []), operator);
|
46
|
+
}
|
47
|
+
}
|
48
|
+
else {
|
49
|
+
return buildOptions((options || []), operator);
|
50
|
+
}
|
51
|
+
};
|
52
|
+
//# sourceMappingURL=filter-select.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"filter-select.js","sourceRoot":"","sources":["../../../src/filters/filter-select.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/input/ox-checkbox.js'\n\nimport { html } from 'lit'\nimport { until } from 'lit/directives/until.js'\n\nimport { FilterConfigObject, FilterOperator, FilterSelectRenderer, SelectOption, SelectOptionObject } from '../types.js'\nimport { OxFiltersForm } from './filters-form.js'\nimport { DataGridHeader } from '../data-grid/data-grid-header.js'\n\nfunction buildOptions(options: SelectOption[], operator?: FilterOperator) {\n const selectOptionObjects = options.map(option => {\n switch (typeof option) {\n case 'string':\n return {\n display: option,\n value: option\n }\n case 'object':\n return {\n display: option.display || option.name,\n value: option.value\n }\n default:\n return option\n }\n }) as SelectOptionObject[]\n\n return operator === 'in'\n ? html`\n ${selectOptionObjects\n ?.filter(option => !!option)\n .map(\n ({ value, display, name }) => html` <ox-checkbox option value=${value}>${display || name}</ox-checkbox> `\n )}\n `\n : html`\n ${selectOptionObjects?.map(\n ({ value, display, name }) => html` <div option value=${value}>${display || name} </div> `\n )}\n `\n}\n\nexport const FilterSelect: FilterSelectRenderer = (column, value, owner) => {\n /* value는 filters-form이나 grid-header에서 처리되므로 이 곳에서는 무시한다. */\n const filter = column.filter as FilterConfigObject\n const operator = filter?.operator\n const form = owner as OxFiltersForm | DataGridHeader\n\n var options = filter?.options || column.record.options || []\n\n if (typeof options === 'function') {\n if (!filter?.options) {\n console.warn(\n 'ox-grist의 column.filter 속성에서는 column.record.options의 함수형 options을 사용할 수 없으므로, filter 속성에서 재지정해야한다.'\n )\n }\n\n options = options.call(null, value, column, form instanceof OxFiltersForm ? form.getFormObjectValue() : {}, owner)\n\n if (options instanceof Promise) {\n return html`${until(options.then(options => buildOptions(options, operator)))}`\n } else {\n return buildOptions((options || []) as SelectOption[], operator)\n }\n } else {\n return buildOptions((options || []) as SelectOption[], operator)\n }\n}\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const FilterStyles: import("lit").CSSResult;
|
@@ -0,0 +1,119 @@
|
|
1
|
+
import { css } from 'lit';
|
2
|
+
export const FilterStyles = css `
|
3
|
+
:host {
|
4
|
+
--ox-filters-input-placeholder-color: var(--input-placeholder-color, var(--md-sys-color-on-surface));
|
5
|
+
|
6
|
+
--ox-filters-input-border: var(--input-border, 1px solid rgba(0, 0, 0, 0.2));
|
7
|
+
--ox-filters-input-focus-border: var(--input-focus-border, 1px solid var(--md-sys-color-outline-variant));
|
8
|
+
--ox-filters-input-font: var(--input-font, normal 14px var(--theme-font));
|
9
|
+
--ox-filters-input-color: var(--input-color, var(--md-sys-color-on-surface));
|
10
|
+
--ox-filters-input-focus-color: var(--input-focus-color, var(--md-sys-color-on-surface-variant));
|
11
|
+
--ox-filters-label-font: var(--label-font, normal 14px var(--theme-font));
|
12
|
+
--ox-filters-label-color: var(--label-color, var(--md-sys-color-on-surface));
|
13
|
+
--ox-filters-input-background-color: transparent;
|
14
|
+
|
15
|
+
--ox-filters-form-gap: var(--input-gap-vertical, 8px) var(--input-gap-horizontal, 16px);
|
16
|
+
--ox-filters-input-padding: var(--spacing-small, 4px);
|
17
|
+
|
18
|
+
--ox-select-padding: var(--ox-filters-input-padding);
|
19
|
+
--ox-checkbox-background-color: var(--ox-filters-input-background-color, transparent);
|
20
|
+
}
|
21
|
+
|
22
|
+
label {
|
23
|
+
color: var(--ox-filters-label-color, var(--md-sys-color-on-primary-container));
|
24
|
+
}
|
25
|
+
|
26
|
+
span {
|
27
|
+
font-weight: var(--md-sys-typescale-label-medium-weight);
|
28
|
+
text-transform: capitalize;
|
29
|
+
}
|
30
|
+
|
31
|
+
input::placeholder {
|
32
|
+
color: var(--ox-filters-input-placeholder-color, var(--md-sys-color-surface-dim));
|
33
|
+
opacity: 0.6;
|
34
|
+
}
|
35
|
+
|
36
|
+
input,
|
37
|
+
ox-input-search,
|
38
|
+
[filter-input] {
|
39
|
+
padding: var(--ox-filters-input-padding);
|
40
|
+
}
|
41
|
+
|
42
|
+
ox-select,
|
43
|
+
ox-input-search,
|
44
|
+
input,
|
45
|
+
[filter-input] {
|
46
|
+
border: none;
|
47
|
+
border-bottom: var(--ox-filters-input-border, var(--md-sys-color-outline));
|
48
|
+
font: var(--ox-filters-input-font);
|
49
|
+
color: var(--ox-filters-input-color, var(--md-sys-color-on-surface));
|
50
|
+
background-color: var(--ox-filters-input-background-color, transparent);
|
51
|
+
vertical-align: middle;
|
52
|
+
}
|
53
|
+
|
54
|
+
ox-select:focus,
|
55
|
+
input:focus,
|
56
|
+
[filter-input]:focus {
|
57
|
+
outline: none;
|
58
|
+
border-bottom: var(--ox-filters-input-focus-border, var(--md-sys-color-outline-variant));
|
59
|
+
color: var(--ox-filters-input-focus-color, var(--md-sys-color-on-surface-variant));
|
60
|
+
}
|
61
|
+
|
62
|
+
ox-select {
|
63
|
+
min-width: 90px;
|
64
|
+
max-width: 170px;
|
65
|
+
}
|
66
|
+
|
67
|
+
ox-input-search {
|
68
|
+
max-width: 150px;
|
69
|
+
}
|
70
|
+
|
71
|
+
input[type='number'] {
|
72
|
+
max-width: 90px;
|
73
|
+
}
|
74
|
+
|
75
|
+
input[type*='date'],
|
76
|
+
input[type*='time'],
|
77
|
+
input[type='week'],
|
78
|
+
input[type='month'] {
|
79
|
+
max-width: 170px;
|
80
|
+
}
|
81
|
+
|
82
|
+
[filter-input] {
|
83
|
+
min-width: 140px;
|
84
|
+
max-width: 170px;
|
85
|
+
}
|
86
|
+
|
87
|
+
@media only screen and (max-width: 460px) {
|
88
|
+
:host {
|
89
|
+
--ox-filters-form-label-font: bold 13px var(--theme-font);
|
90
|
+
--ox-filters-input-font: normal 16px var(--theme-font);
|
91
|
+
}
|
92
|
+
|
93
|
+
ox-input-barcode {
|
94
|
+
max-width: unset;
|
95
|
+
flex: 1;
|
96
|
+
}
|
97
|
+
|
98
|
+
ox-input-search {
|
99
|
+
max-width: unset;
|
100
|
+
}
|
101
|
+
|
102
|
+
ox-select {
|
103
|
+
max-width: unset;
|
104
|
+
}
|
105
|
+
|
106
|
+
ox-checkbox {
|
107
|
+
max-width: unset;
|
108
|
+
}
|
109
|
+
|
110
|
+
input[type='number'] {
|
111
|
+
max-width: unset;
|
112
|
+
}
|
113
|
+
|
114
|
+
input {
|
115
|
+
flex: 1;
|
116
|
+
}
|
117
|
+
}
|
118
|
+
`;
|
119
|
+
//# sourceMappingURL=filter-styles.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"filter-styles.js","sourceRoot":"","sources":["../../../src/filters/filter-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoH9B,CAAA","sourcesContent":["import { css } from 'lit'\n\nexport const FilterStyles = css`\n :host {\n --ox-filters-input-placeholder-color: var(--input-placeholder-color, var(--md-sys-color-on-surface));\n\n --ox-filters-input-border: var(--input-border, 1px solid rgba(0, 0, 0, 0.2));\n --ox-filters-input-focus-border: var(--input-focus-border, 1px solid var(--md-sys-color-outline-variant));\n --ox-filters-input-font: var(--input-font, normal 14px var(--theme-font));\n --ox-filters-input-color: var(--input-color, var(--md-sys-color-on-surface));\n --ox-filters-input-focus-color: var(--input-focus-color, var(--md-sys-color-on-surface-variant));\n --ox-filters-label-font: var(--label-font, normal 14px var(--theme-font));\n --ox-filters-label-color: var(--label-color, var(--md-sys-color-on-surface));\n --ox-filters-input-background-color: transparent;\n\n --ox-filters-form-gap: var(--input-gap-vertical, 8px) var(--input-gap-horizontal, 16px);\n --ox-filters-input-padding: var(--spacing-small, 4px);\n\n --ox-select-padding: var(--ox-filters-input-padding);\n --ox-checkbox-background-color: var(--ox-filters-input-background-color, transparent);\n }\n\n label {\n color: var(--ox-filters-label-color, var(--md-sys-color-on-primary-container));\n }\n\n span {\n font-weight: var(--md-sys-typescale-label-medium-weight);\n text-transform: capitalize;\n }\n\n input::placeholder {\n color: var(--ox-filters-input-placeholder-color, var(--md-sys-color-surface-dim));\n opacity: 0.6;\n }\n\n input,\n ox-input-search,\n [filter-input] {\n padding: var(--ox-filters-input-padding);\n }\n\n ox-select,\n ox-input-search,\n input,\n [filter-input] {\n border: none;\n border-bottom: var(--ox-filters-input-border, var(--md-sys-color-outline));\n font: var(--ox-filters-input-font);\n color: var(--ox-filters-input-color, var(--md-sys-color-on-surface));\n background-color: var(--ox-filters-input-background-color, transparent);\n vertical-align: middle;\n }\n\n ox-select:focus,\n input:focus,\n [filter-input]:focus {\n outline: none;\n border-bottom: var(--ox-filters-input-focus-border, var(--md-sys-color-outline-variant));\n color: var(--ox-filters-input-focus-color, var(--md-sys-color-on-surface-variant));\n }\n\n ox-select {\n min-width: 90px;\n max-width: 170px;\n }\n\n ox-input-search {\n max-width: 150px;\n }\n\n input[type='number'] {\n max-width: 90px;\n }\n\n input[type*='date'],\n input[type*='time'],\n input[type='week'],\n input[type='month'] {\n max-width: 170px;\n }\n\n [filter-input] {\n min-width: 140px;\n max-width: 170px;\n }\n\n @media only screen and (max-width: 460px) {\n :host {\n --ox-filters-form-label-font: bold 13px var(--theme-font);\n --ox-filters-input-font: normal 16px var(--theme-font);\n }\n\n ox-input-barcode {\n max-width: unset;\n flex: 1;\n }\n\n ox-input-search {\n max-width: unset;\n }\n\n ox-select {\n max-width: unset;\n }\n\n ox-checkbox {\n max-width: unset;\n }\n\n input[type='number'] {\n max-width: unset;\n }\n\n input {\n flex: 1;\n }\n }\n`\n"]}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import '@operato/input/ox-checkbox.js';
|
2
|
+
import '@operato/input/ox-select.js';
|
3
|
+
import '@operato/popup/ox-popup-list.js';
|
4
|
+
import '@operato/input/ox-input-search.js';
|
5
|
+
import { LitElement, PropertyValues, TemplateResult } from 'lit';
|
6
|
+
import { PagePreferenceProvider } from '@operato/p13n';
|
7
|
+
import { ColumnConfig, FilterPreference, FilterOperator, FilterValue, GristConfig, PersonalGristPreference } from '../types.js';
|
8
|
+
export type QueryFilterRangeValue = [from: number, to: number];
|
9
|
+
export type QueryFilter = {
|
10
|
+
name: string;
|
11
|
+
operator: FilterOperator;
|
12
|
+
value: any;
|
13
|
+
};
|
14
|
+
export declare class OxFiltersForm extends LitElement {
|
15
|
+
static styles: import("lit").CSSResult[];
|
16
|
+
value: FilterValue[];
|
17
|
+
withoutSearch: boolean;
|
18
|
+
autofocus: boolean;
|
19
|
+
empty: boolean;
|
20
|
+
personalConfigProvider?: PagePreferenceProvider;
|
21
|
+
personalConfig?: PersonalGristPreference;
|
22
|
+
personalFilters?: FilterPreference[];
|
23
|
+
config: GristConfig;
|
24
|
+
filterColumns: ColumnConfig[];
|
25
|
+
searchColumns: ColumnConfig[];
|
26
|
+
form: HTMLFormElement;
|
27
|
+
private autoUpdateTargetsOnChange;
|
28
|
+
private objectValue?;
|
29
|
+
connectedCallback(): void;
|
30
|
+
buildDefaultValue(operator: FilterOperator, defaultValue: any): any;
|
31
|
+
updated(changes: PropertyValues<this>): Promise<void>;
|
32
|
+
render(): TemplateResult;
|
33
|
+
applyUpdatedConfiguration(): void;
|
34
|
+
getQueryFilters(): Promise<QueryFilter[]>;
|
35
|
+
setInputValue(name: string, value: any): void;
|
36
|
+
getInputValue(name: string): any;
|
37
|
+
private updateObjectValues;
|
38
|
+
getFormObjectValue(): object | undefined;
|
39
|
+
reset(): void;
|
40
|
+
}
|