@operato/data-grist 9.0.0-beta.0 → 9.0.0-beta.10
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 +44 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/src/accumulator/accumulator.d.ts +1 -1
- package/dist/src/accumulator/accumulator.js.map +1 -1
- package/dist/src/configure/column-builder.d.ts +1 -1
- package/dist/src/configure/column-builder.js +5 -5
- package/dist/src/configure/column-builder.js.map +1 -1
- package/dist/src/configure/config-builder.d.ts +1 -1
- package/dist/src/configure/config-builder.js +6 -6
- package/dist/src/configure/config-builder.js.map +1 -1
- package/dist/src/configure/filters-option-builder.d.ts +1 -1
- package/dist/src/configure/filters-option-builder.js.map +1 -1
- package/dist/src/configure/imex-option-builder.d.ts +1 -1
- package/dist/src/configure/imex-option-builder.js.map +1 -1
- package/dist/src/configure/list-option-builder.d.ts +1 -1
- package/dist/src/configure/list-option-builder.js.map +1 -1
- package/dist/src/configure/rows-option-builder.d.ts +1 -1
- package/dist/src/configure/rows-option-builder.js +2 -2
- package/dist/src/configure/rows-option-builder.js.map +1 -1
- package/dist/src/configure/tree-option-builder.d.ts +1 -1
- package/dist/src/configure/tree-option-builder.js.map +1 -1
- package/dist/src/configure/zero-config.d.ts +1 -1
- package/dist/src/configure/zero-config.js.map +1 -1
- package/dist/src/data-card/data-card-field.d.ts +1 -1
- package/dist/src/data-card/data-card-field.js +39 -7
- package/dist/src/data-card/data-card-field.js.map +1 -1
- package/dist/src/data-card/data-card-gutter-menu.js +46 -2
- package/dist/src/data-card/data-card-gutter-menu.js.map +1 -1
- package/dist/src/data-card/data-card-gutter.d.ts +1 -1
- package/dist/src/data-card/data-card-gutter.js +39 -7
- package/dist/src/data-card/data-card-gutter.js.map +1 -1
- package/dist/src/data-card/data-card.d.ts +3 -3
- package/dist/src/data-card/data-card.js +47 -11
- package/dist/src/data-card/data-card.js.map +1 -1
- package/dist/src/data-card/event-handlers/record-card-click-handler.d.ts +1 -1
- package/dist/src/data-card/event-handlers/record-card-click-handler.js.map +1 -1
- package/dist/src/data-card/event-handlers/record-card-dblclick-handler.d.ts +1 -1
- package/dist/src/data-card/event-handlers/record-card-dblclick-handler.js.map +1 -1
- package/dist/src/data-card/record-card.d.ts +5 -5
- package/dist/src/data-card/record-card.js +70 -19
- package/dist/src/data-card/record-card.js.map +1 -1
- package/dist/src/data-consumer.d.ts +1 -1
- package/dist/src/data-consumer.js.map +1 -1
- package/dist/src/data-grid/data-grid-accum-field.d.ts +1 -1
- package/dist/src/data-grid/data-grid-accum-field.js +63 -12
- package/dist/src/data-grid/data-grid-accum-field.js.map +1 -1
- package/dist/src/data-grid/data-grid-body.d.ts +4 -4
- package/dist/src/data-grid/data-grid-body.js +125 -32
- package/dist/src/data-grid/data-grid-body.js.map +1 -1
- package/dist/src/data-grid/data-grid-field.d.ts +1 -1
- package/dist/src/data-grid/data-grid-field.js +112 -17
- package/dist/src/data-grid/data-grid-field.js.map +1 -1
- package/dist/src/data-grid/data-grid-footer.d.ts +1 -1
- package/dist/src/data-grid/data-grid-footer.js +21 -6
- package/dist/src/data-grid/data-grid-footer.js.map +1 -1
- package/dist/src/data-grid/data-grid-header.d.ts +1 -1
- package/dist/src/data-grid/data-grid-header.js +73 -16
- package/dist/src/data-grid/data-grid-header.js.map +1 -1
- package/dist/src/data-grid/data-grid.d.ts +7 -7
- package/dist/src/data-grid/data-grid.js +52 -12
- package/dist/src/data-grid/data-grid.js.map +1 -1
- package/dist/src/data-grid/event-handlers/data-grid-body-click-handler.d.ts +1 -1
- package/dist/src/data-grid/event-handlers/data-grid-body-click-handler.js.map +1 -1
- package/dist/src/data-grid/event-handlers/data-grid-body-contextmenu-handler.d.ts +1 -1
- package/dist/src/data-grid/event-handlers/data-grid-body-contextmenu-handler.js.map +1 -1
- package/dist/src/data-grid/event-handlers/data-grid-body-dblclick-handler.d.ts +1 -1
- package/dist/src/data-grid/event-handlers/data-grid-body-dblclick-handler.js.map +1 -1
- package/dist/src/data-grid/event-handlers/data-grid-body-focus-change-handler.d.ts +1 -1
- package/dist/src/data-grid/event-handlers/data-grid-body-focus-change-handler.js.map +1 -1
- package/dist/src/data-grid/event-handlers/data-grid-body-keydown-handler.d.ts +1 -1
- package/dist/src/data-grid/event-handlers/data-grid-body-keydown-handler.js.map +1 -1
- package/dist/src/data-grist.d.ts +8 -8
- package/dist/src/data-grist.js +308 -91
- package/dist/src/data-grist.js.map +1 -1
- package/dist/src/data-list/data-list-field.d.ts +1 -1
- package/dist/src/data-list/data-list-field.js +39 -7
- package/dist/src/data-list/data-list-field.js.map +1 -1
- package/dist/src/data-list/data-list-gutter.d.ts +1 -1
- package/dist/src/data-list/data-list-gutter.js +39 -7
- package/dist/src/data-list/data-list-gutter.js.map +1 -1
- package/dist/src/data-list/data-list.d.ts +2 -2
- package/dist/src/data-list/data-list.js +46 -10
- package/dist/src/data-list/data-list.js.map +1 -1
- package/dist/src/data-list/event-handlers/record-partial-click-handler.d.ts +1 -1
- package/dist/src/data-list/event-handlers/record-partial-click-handler.js.map +1 -1
- package/dist/src/data-list/event-handlers/record-partial-dblclick-handler.d.ts +1 -1
- package/dist/src/data-list/event-handlers/record-partial-dblclick-handler.js.map +1 -1
- package/dist/src/data-list/event-handlers/record-partial-long-press-handler.d.ts +1 -1
- package/dist/src/data-list/event-handlers/record-partial-long-press-handler.js.map +1 -1
- package/dist/src/data-list/record-partial.d.ts +4 -4
- package/dist/src/data-list/record-partial.js +58 -17
- package/dist/src/data-list/record-partial.js.map +1 -1
- package/dist/src/data-manipulator.d.ts +1 -1
- package/dist/src/data-manipulator.js +31 -6
- package/dist/src/data-manipulator.js.map +1 -1
- package/dist/src/data-provider.js +90 -9
- package/dist/src/data-provider.js.map +1 -1
- package/dist/src/data-report/data-report-body.d.ts +2 -2
- package/dist/src/data-report/data-report-body.js +42 -10
- package/dist/src/data-report/data-report-body.js.map +1 -1
- package/dist/src/data-report/data-report-component.d.ts +3 -3
- package/dist/src/data-report/data-report-component.js +42 -10
- package/dist/src/data-report/data-report-component.js.map +1 -1
- package/dist/src/data-report/data-report-field.d.ts +1 -1
- package/dist/src/data-report/data-report-field.js +46 -9
- package/dist/src/data-report/data-report-field.js.map +1 -1
- package/dist/src/data-report/data-report-header.js +41 -8
- package/dist/src/data-report/data-report-header.js.map +1 -1
- package/dist/src/data-report/event-handlers/data-report-body-click-handler.d.ts +1 -1
- package/dist/src/data-report/event-handlers/data-report-body-click-handler.js.map +1 -1
- package/dist/src/data-report/event-handlers/data-report-body-dblclick-handler.d.ts +1 -1
- package/dist/src/data-report/event-handlers/data-report-body-dblclick-handler.js.map +1 -1
- package/dist/src/data-report/event-handlers/data-report-body-keydown-handler.d.ts +1 -1
- package/dist/src/data-report/event-handlers/data-report-body-keydown-handler.js.map +1 -1
- package/dist/src/data-report.d.ts +4 -4
- package/dist/src/data-report.js +88 -16
- package/dist/src/data-report.js.map +1 -1
- package/dist/src/editors/index.d.ts +1 -1
- package/dist/src/editors/index.js +1 -1
- package/dist/src/editors/index.js.map +1 -1
- package/dist/src/editors/ox-grist-editor-multiple-select.js +9 -4
- package/dist/src/editors/ox-grist-editor-multiple-select.js.map +1 -1
- package/dist/src/editors/ox-grist-editor-tree.d.ts +1 -1
- package/dist/src/editors/ox-grist-editor-tree.js +9 -4
- package/dist/src/editors/ox-grist-editor-tree.js.map +1 -1
- package/dist/src/editors/ox-grist-editor.d.ts +2 -2
- package/dist/src/editors/ox-grist-editor.js +49 -4
- package/dist/src/editors/ox-grist-editor.js.map +1 -1
- package/dist/src/editors/ox-input-tree.d.ts +1 -1
- package/dist/src/editors/ox-input-tree.js +37 -3
- package/dist/src/editors/ox-input-tree.js.map +1 -1
- package/dist/src/editors/registry.d.ts +2 -2
- package/dist/src/editors/registry.js +19 -19
- package/dist/src/editors/registry.js.map +1 -1
- package/dist/src/empty-note.js +28 -2
- package/dist/src/empty-note.js.map +1 -1
- package/dist/src/filters/filter-input.d.ts +1 -1
- package/dist/src/filters/filter-input.js.map +1 -1
- package/dist/src/filters/filter-range-date.d.ts +1 -1
- package/dist/src/filters/filter-range-date.js.map +1 -1
- package/dist/src/filters/filter-range-number.d.ts +1 -1
- package/dist/src/filters/filter-range-number.js.map +1 -1
- package/dist/src/filters/filter-select-buttons.d.ts +1 -1
- package/dist/src/filters/filter-select-buttons.js.map +1 -1
- package/dist/src/filters/filter-select.d.ts +1 -1
- package/dist/src/filters/filter-select.js +1 -1
- package/dist/src/filters/filter-select.js.map +1 -1
- package/dist/src/filters/filters-form.d.ts +1 -2
- package/dist/src/filters/filters-form.js +91 -15
- package/dist/src/filters/filters-form.js.map +1 -1
- package/dist/src/filters/index.d.ts +8 -8
- package/dist/src/filters/index.js +8 -8
- package/dist/src/filters/index.js.map +1 -1
- package/dist/src/formatters/index.d.ts +1 -1
- package/dist/src/formatters/index.js +1 -1
- package/dist/src/formatters/index.js.map +1 -1
- package/dist/src/formatters/registry.js +4 -4
- package/dist/src/formatters/registry.js.map +1 -1
- package/dist/src/gutters/gutter-button.d.ts +1 -1
- package/dist/src/gutters/gutter-button.js.map +1 -1
- package/dist/src/gutters/gutter-dirty.d.ts +1 -1
- package/dist/src/gutters/gutter-dirty.js +16 -2
- package/dist/src/gutters/gutter-dirty.js.map +1 -1
- package/dist/src/gutters/gutter-row-selector.d.ts +1 -1
- package/dist/src/gutters/gutter-row-selector.js.map +1 -1
- package/dist/src/gutters/gutter-sequence.d.ts +9 -9
- package/dist/src/gutters/gutter-sequence.js.map +1 -1
- package/dist/src/gutters/index.d.ts +1 -1
- package/dist/src/gutters/index.js +1 -1
- package/dist/src/gutters/index.js.map +1 -1
- package/dist/src/gutters/registry.d.ts +1 -1
- package/dist/src/gutters/registry.js +4 -4
- package/dist/src/gutters/registry.js.map +1 -1
- package/dist/src/handlers/contextmenu-tree-mutation.d.ts +2 -2
- package/dist/src/handlers/contextmenu-tree-mutation.js.map +1 -1
- package/dist/src/handlers/index.d.ts +1 -1
- package/dist/src/handlers/index.js +1 -1
- package/dist/src/handlers/index.js.map +1 -1
- package/dist/src/handlers/move-down.d.ts +2 -2
- package/dist/src/handlers/move-down.js.map +1 -1
- package/dist/src/handlers/move-up.d.ts +2 -2
- package/dist/src/handlers/move-up.js.map +1 -1
- package/dist/src/handlers/record-copy.d.ts +2 -2
- package/dist/src/handlers/record-copy.js.map +1 -1
- package/dist/src/handlers/record-delete.d.ts +2 -2
- package/dist/src/handlers/record-delete.js.map +1 -1
- package/dist/src/handlers/record-view-handler.d.ts +2 -2
- package/dist/src/handlers/record-view-handler.js.map +1 -1
- package/dist/src/handlers/registry.d.ts +1 -1
- package/dist/src/handlers/registry.js +8 -8
- package/dist/src/handlers/registry.js.map +1 -1
- package/dist/src/handlers/select-row-toggle.d.ts +2 -2
- package/dist/src/handlers/select-row-toggle.js.map +1 -1
- package/dist/src/handlers/select-row.d.ts +2 -2
- package/dist/src/handlers/select-row.js.map +1 -1
- package/dist/src/index.d.ts +14 -14
- package/dist/src/index.js +14 -14
- package/dist/src/index.js.map +1 -1
- package/dist/src/personalizer/index.d.ts +1 -1
- package/dist/src/personalizer/index.js +1 -1
- package/dist/src/personalizer/index.js.map +1 -1
- package/dist/src/personalizer/ox-grist-filter-personalizer.js +20 -4
- package/dist/src/personalizer/ox-grist-filter-personalizer.js.map +1 -1
- package/dist/src/personalizer/ox-grist-personalizer.js +20 -4
- package/dist/src/personalizer/ox-grist-personalizer.js.map +1 -1
- package/dist/src/record-view/event-handlers/record-view-body-click-handler.d.ts +1 -1
- package/dist/src/record-view/event-handlers/record-view-body-click-handler.js.map +1 -1
- package/dist/src/record-view/event-handlers/record-view-body-keydown-handler.d.ts +1 -1
- package/dist/src/record-view/event-handlers/record-view-body-keydown-handler.js.map +1 -1
- package/dist/src/record-view/index.d.ts +2 -2
- package/dist/src/record-view/index.js +2 -2
- package/dist/src/record-view/index.js.map +1 -1
- package/dist/src/record-view/ox-record-creator.d.ts +3 -3
- package/dist/src/record-view/ox-record-creator.js +40 -7
- package/dist/src/record-view/ox-record-creator.js.map +1 -1
- package/dist/src/record-view/record-view-body.d.ts +2 -2
- package/dist/src/record-view/record-view-body.js +35 -9
- package/dist/src/record-view/record-view-body.js.map +1 -1
- package/dist/src/record-view/record-view-handler.d.ts +6 -6
- package/dist/src/record-view/record-view-handler.js.map +1 -1
- package/dist/src/record-view/record-view.d.ts +4 -4
- package/dist/src/record-view/record-view.js +36 -10
- package/dist/src/record-view/record-view.js.map +1 -1
- package/dist/src/renderers/ox-grist-renderer-boolean.d.ts +1 -1
- package/dist/src/renderers/ox-grist-renderer-boolean.js.map +1 -1
- package/dist/src/renderers/ox-grist-renderer-color.d.ts +1 -1
- package/dist/src/renderers/ox-grist-renderer-color.js.map +1 -1
- package/dist/src/renderers/ox-grist-renderer-date.d.ts +1 -1
- package/dist/src/renderers/ox-grist-renderer-date.js.map +1 -1
- package/dist/src/renderers/ox-grist-renderer-file.d.ts +1 -1
- package/dist/src/renderers/ox-grist-renderer-file.js.map +1 -1
- package/dist/src/renderers/ox-grist-renderer-image.d.ts +1 -1
- package/dist/src/renderers/ox-grist-renderer-image.js.map +1 -1
- package/dist/src/renderers/ox-grist-renderer-json5.d.ts +1 -1
- package/dist/src/renderers/ox-grist-renderer-json5.js.map +1 -1
- package/dist/src/renderers/ox-grist-renderer-link.d.ts +1 -1
- package/dist/src/renderers/ox-grist-renderer-link.js.map +1 -1
- package/dist/src/renderers/ox-grist-renderer-password.d.ts +1 -1
- package/dist/src/renderers/ox-grist-renderer-password.js.map +1 -1
- package/dist/src/renderers/ox-grist-renderer-progress.d.ts +1 -1
- package/dist/src/renderers/ox-grist-renderer-progress.js +8 -3
- package/dist/src/renderers/ox-grist-renderer-progress.js.map +1 -1
- package/dist/src/renderers/ox-grist-renderer-select.d.ts +1 -1
- package/dist/src/renderers/ox-grist-renderer-select.js.map +1 -1
- package/dist/src/renderers/ox-grist-renderer-text.d.ts +1 -1
- package/dist/src/renderers/ox-grist-renderer-text.js.map +1 -1
- package/dist/src/renderers/ox-grist-renderer-textarea.d.ts +1 -1
- package/dist/src/renderers/ox-grist-renderer-textarea.js.map +1 -1
- package/dist/src/renderers/ox-grist-renderer-tree.d.ts +1 -1
- package/dist/src/renderers/ox-grist-renderer-tree.js +20 -4
- package/dist/src/renderers/ox-grist-renderer-tree.js.map +1 -1
- package/dist/src/renderers/ox-grist-renderer.d.ts +2 -2
- package/dist/src/renderers/ox-grist-renderer.js +43 -4
- package/dist/src/renderers/ox-grist-renderer.js.map +1 -1
- package/dist/src/sorters/sorters-control.d.ts +1 -1
- package/dist/src/sorters/sorters-control.js +26 -5
- package/dist/src/sorters/sorters-control.js.map +1 -1
- package/dist/src/types.d.ts +11 -11
- package/dist/src/types.js.map +1 -1
- package/dist/src/utils/index.d.ts +2 -2
- package/dist/src/utils/index.js +2 -2
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/utils/list-param.d.ts +1 -1
- package/dist/src/utils/list-param.js +1 -1
- package/dist/src/utils/list-param.js.map +1 -1
- package/dist/stories/accumulator-format.stories.js +1 -1
- package/dist/stories/accumulator-format.stories.js.map +1 -1
- package/dist/stories/barcode-input-filter.stories.js +1 -1
- package/dist/stories/barcode-input-filter.stories.js.map +1 -1
- package/dist/stories/bounded-select-filters.stories.js +1 -1
- package/dist/stories/bounded-select-filters.stories.js.map +1 -1
- package/dist/stories/bounded-select-record.stories.js +1 -1
- package/dist/stories/bounded-select-record.stories.js.map +1 -1
- package/dist/stories/click-event-custom.stories.js +1 -1
- package/dist/stories/click-event-custom.stories.js.map +1 -1
- package/dist/stories/click-event.stories.js +1 -1
- package/dist/stories/click-event.stories.js.map +1 -1
- package/dist/stories/creatable-only-column.stories.js +1 -1
- package/dist/stories/creatable-only-column.stories.js.map +1 -1
- package/dist/stories/default-filters.stories.js +1 -1
- package/dist/stories/default-filters.stories.js.map +1 -1
- package/dist/stories/dynamic-editable.stories.js +1 -1
- package/dist/stories/dynamic-editable.stories.js.map +1 -1
- package/dist/stories/empty-sorters.stories.js +1 -1
- package/dist/stories/empty-sorters.stories.js.map +1 -1
- package/dist/stories/explicit-fetch.stories.js +1 -1
- package/dist/stories/explicit-fetch.stories.js.map +1 -1
- package/dist/stories/fixed-column.stories.js +1 -1
- package/dist/stories/fixed-column.stories.js.map +1 -1
- package/dist/stories/grid-setting.stories.js +1 -1
- package/dist/stories/grid-setting.stories.js.map +1 -1
- package/dist/stories/grist-modes.stories.js +1 -1
- package/dist/stories/grist-modes.stories.js.map +1 -1
- package/dist/stories/group-header.stories.js +1 -1
- package/dist/stories/group-header.stories.js.map +1 -1
- package/dist/stories/record-view.stories.js +1 -1
- package/dist/stories/record-view.stories.js.map +1 -1
- package/dist/stories/textarea.stories.js +1 -1
- package/dist/stories/textarea.stories.js.map +1 -1
- package/dist/stories/tree-column-with-checkbox.stories.js +1 -1
- package/dist/stories/tree-column-with-checkbox.stories.js.map +1 -1
- package/dist/stories/tree-column.stories.js +1 -1
- package/dist/stories/tree-column.stories.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/index.ts +1 -1
- package/package.json +12 -11
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-grid-body-click-handler.js","sourceRoot":"","sources":["../../../../src/data-grid/event-handlers/data-grid-body-click-handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,UAAU,wBAAwB,CAAqB,CAAQ;IACnE,CAAC,CAAC,eAAe,EAAE,CAAA;IAEnB,IAAK,CAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,
|
1
|
+
{"version":3,"file":"data-grid-body-click-handler.js","sourceRoot":"","sources":["../../../../src/data-grid/event-handlers/data-grid-body-click-handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,UAAU,wBAAwB,CAAqB,CAAQ;IACnE,CAAC,CAAC,eAAe,EAAE,CAAA;IAEnB,IAAK,CAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAM;IACR,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,4CAA4C;QAC5C,OAAM;IACR,CAAC;IAED,sCAAsC;IACtC,IAAI,MAAM,GAAI,CAAC,CAAC,MAAkB,CAAC,OAAO,CAAC,eAAe,CAAkB,CAAA;IAC5E,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAE5D,iBAAiB;IACjB,wBAAwB;IACxB,WAAW;IACX,IAAI;IAEJ,sBAAsB;IACtB,sCAAsC;IACtC,qBAAqB;IACrB,sBAAsB;IACtB,gBAAgB;IAChB,uBAAuB;IACvB,4BAA4B;IAC5B,QAAQ;IACR,OAAO;IACP,IAAI;IAEJ,6CAA6C;IAC7C;;MAEE;IAEF,+CAA+C;IAC/C,iDAAiD;IACjD,gDAAgD;IAChD,2BAA2B;IAC3B,mDAAmD;IACnD,aAAa;IACb,MAAM;IACN,WAAW;IACX,yCAAyC;IACzC,WAAW;IACX,IAAI;IACJ,8CAA8C;IAE9C,6BAA6B;IAC7B,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC/B,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IAC9E,CAAC;IAED,2BAA2B;IAC3B,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAA;IACpD,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;AACtF,CAAC","sourcesContent":["/**\n * ox-grid-body 의 click handler\n *\n * - handler의 this 는 ox-grid-body임.\n */\n\nimport { DataGridBody } from '../data-grid-body.js'\nimport { DataGridField } from '../data-grid-field.js'\n\nexport function dataGridBodyClickHandler(this: DataGridBody, e: Event): void {\n e.stopPropagation()\n\n if ((e as MouseEvent).detail === 2) {\n return\n }\n\n if (this.editTarget) {\n /* editTarget이 새로 설정되지 않았다면, 이후 기능이 실행된다. */\n return\n }\n\n /* target should be 'ox-grid-field' */\n var target = (e.target as Element).closest('ox-grid-field') as DataGridField\n var { column, record, rowIndex, columnIndex } = target || {}\n\n // if (!column) {\n // /* 여백 컬럼이 클릭된 경우 */\n // return\n // }\n\n // this.dispatchEvent(\n // new CustomEvent('focus-change', {\n // bubbles: true,\n // composed: true,\n // detail: {\n // row: rowIndex,\n // column: columnIndex\n // }\n // })\n // )\n\n /* 만약, 클릭 이벤트에 포커스만 바꾸고 싶다면, 아래 코멘트를 제거한다. */\n /* \n this.resetEdit()\n */\n\n /* 만약, 클릭 이벤트에 포커스만 바꾸고 싶다면, 아래 부분을 코멘트처리한다. */\n // if (!isNaN(rowIndex) && !isNaN(columnIndex)) {\n // this.startEditTarget(rowIndex, columnIndex)\n // if (this.editTarget) {\n // /* editTarget이 새로 설정되지 않았다면, 이후 기능이 실행된다. */\n // return\n // }\n // } else {\n // console.error('should not be here.')\n // return\n // }\n /* 만약, 클릭 이벤트에 포커스만 바꾸고 싶다면, 여기까지 코멘트 처리한다. */\n\n /* do column click handler */\n if (column) {\n var { click } = column.handlers\n click && click(this.columns, this.data, column, record, rowIndex, target, e)\n }\n\n /* do rows click handler */\n var { click: rowsClick } = this.config.rows.handlers\n rowsClick && rowsClick(this.columns, this.data, column, record, rowIndex, target, e)\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-grid-body-contextmenu-handler.js","sourceRoot":"","sources":["../../../../src/data-grid/event-handlers/data-grid-body-contextmenu-handler.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAqB,CAAQ;IAC/E,CAAC,CAAC,eAAe,EAAE,CAAA;IAEnB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,4CAA4C;QAC5C,OAAM;IACR,CAAC;IAED,sCAAsC;IACtC,IAAI,MAAM,GAAI,CAAC,CAAC,MAAkB,CAAC,OAAO,CAAC,eAAe,CAAkB,CAAA;IAC5E,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAE5D,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAErC,mCAAmC;IACnC,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAA;QACrC,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IAC1F,CAAC;IAED,iCAAiC;IACjC,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAA;IAChE,eAAe,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;AAClG,CAAC","sourcesContent":["import { DataGridBody } from '../data-grid-body'\nimport { DataGridField } from '../data-grid-field'\n\n/**\n * ox-grid-body 의 focus-change handler\n *\n * - handler의 this 는 ox-grid-body임.\n */\nexport async function dataGridBodyContextMenuHandler(this: DataGridBody, e: Event): Promise<void> {\n e.stopPropagation()\n\n if (this.editTarget) {\n /* editTarget이 새로 설정되지 않았다면, 이후 기능이 실행된다. */\n return\n }\n\n /* target should be 'ox-grid-field' */\n var target = (e.target as Element).closest('ox-grid-field') as DataGridField\n var { column, record, rowIndex, columnIndex } = target || {}\n\n var { column, record } = target || {}\n\n /* do column contextmenu handler */\n if (column) {\n var { contextmenu } = column.handlers\n contextmenu && contextmenu(this.columns, this.data, column, record, rowIndex, target, e)\n }\n\n /* do rows contextmenu handler */\n var { contextmenu: rowsContextMenu } = this.config.rows.handlers\n rowsContextMenu && rowsContextMenu(this.columns, this.data, column, record, rowIndex, target, e)\n}\n"]}
|
1
|
+
{"version":3,"file":"data-grid-body-contextmenu-handler.js","sourceRoot":"","sources":["../../../../src/data-grid/event-handlers/data-grid-body-contextmenu-handler.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAqB,CAAQ;IAC/E,CAAC,CAAC,eAAe,EAAE,CAAA;IAEnB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,4CAA4C;QAC5C,OAAM;IACR,CAAC;IAED,sCAAsC;IACtC,IAAI,MAAM,GAAI,CAAC,CAAC,MAAkB,CAAC,OAAO,CAAC,eAAe,CAAkB,CAAA;IAC5E,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAE5D,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAErC,mCAAmC;IACnC,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAA;QACrC,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IAC1F,CAAC;IAED,iCAAiC;IACjC,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAA;IAChE,eAAe,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;AAClG,CAAC","sourcesContent":["import { DataGridBody } from '../data-grid-body.js'\nimport { DataGridField } from '../data-grid-field.js'\n\n/**\n * ox-grid-body 의 focus-change handler\n *\n * - handler의 this 는 ox-grid-body임.\n */\nexport async function dataGridBodyContextMenuHandler(this: DataGridBody, e: Event): Promise<void> {\n e.stopPropagation()\n\n if (this.editTarget) {\n /* editTarget이 새로 설정되지 않았다면, 이후 기능이 실행된다. */\n return\n }\n\n /* target should be 'ox-grid-field' */\n var target = (e.target as Element).closest('ox-grid-field') as DataGridField\n var { column, record, rowIndex, columnIndex } = target || {}\n\n var { column, record } = target || {}\n\n /* do column contextmenu handler */\n if (column) {\n var { contextmenu } = column.handlers\n contextmenu && contextmenu(this.columns, this.data, column, record, rowIndex, target, e)\n }\n\n /* do rows contextmenu handler */\n var { contextmenu: rowsContextMenu } = this.config.rows.handlers\n rowsContextMenu && rowsContextMenu(this.columns, this.data, column, record, rowIndex, target, e)\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-grid-body-dblclick-handler.js","sourceRoot":"","sources":["../../../../src/data-grid/event-handlers/data-grid-body-dblclick-handler.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAqB,CAAQ;IAC5E,CAAC,CAAC,eAAe,EAAE,CAAA;IAEnB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,4CAA4C;QAC5C,OAAM;IACR,CAAC;IAED,sCAAsC;IACtC,IAAI,MAAM,GAAI,CAAC,CAAC,MAAkB,CAAC,OAAO,CAAC,eAAe,CAAkB,CAAA;IAC5E,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAE5D,iBAAiB;IACjB,wBAAwB;IACxB,WAAW;IACX,IAAI;IAEJ,iDAAiD;IACjD,gDAAgD;IAChD,WAAW;IACX,yCAAyC;IACzC,WAAW;IACX,IAAI;IAEJ,gCAAgC;IAChC,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAA;QAClC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IACpF,CAAC;IAED,8BAA8B;IAC9B,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAA;IAC1D,YAAY,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;AAC5F,CAAC","sourcesContent":["import { DataGridBody } from '../data-grid-body'\nimport { DataGridField } from '../data-grid-field'\n\n/**\n * ox-grid-body 의 dblclick handler\n *\n * - handler의 this 는 ox-grid-body임.\n */\nexport async function dataGridBodyDblclickHandler(this: DataGridBody, e: Event): Promise<void> {\n e.stopPropagation()\n\n if (this.editTarget) {\n /* editTarget이 새로 설정되지 않았다면, 이후 기능이 실행된다. */\n return\n }\n\n /* target should be 'ox-grid-field' */\n var target = (e.target as Element).closest('ox-grid-field') as DataGridField\n var { column, record, rowIndex, columnIndex } = target || {}\n\n // if (!column) {\n // /* 여백 컬럼이 클릭된 경우 */\n // return\n // }\n\n // if (!isNaN(rowIndex) && !isNaN(columnIndex)) {\n // this.startEditTarget(rowIndex, columnIndex)\n // } else {\n // console.error('should not be here.')\n // return\n // }\n\n /* do column dblclick handler */\n if (column) {\n var { dblclick } = column.handlers\n dblclick && dblclick(this.columns, this.data, column, record, rowIndex, target, e)\n }\n\n /* do rows dblclick handler */\n var { dblclick: rowsDblclick } = this.config.rows.handlers\n rowsDblclick && rowsDblclick(this.columns, this.data, column, record, rowIndex, target, e)\n}\n"]}
|
1
|
+
{"version":3,"file":"data-grid-body-dblclick-handler.js","sourceRoot":"","sources":["../../../../src/data-grid/event-handlers/data-grid-body-dblclick-handler.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAqB,CAAQ;IAC5E,CAAC,CAAC,eAAe,EAAE,CAAA;IAEnB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,4CAA4C;QAC5C,OAAM;IACR,CAAC;IAED,sCAAsC;IACtC,IAAI,MAAM,GAAI,CAAC,CAAC,MAAkB,CAAC,OAAO,CAAC,eAAe,CAAkB,CAAA;IAC5E,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAE5D,iBAAiB;IACjB,wBAAwB;IACxB,WAAW;IACX,IAAI;IAEJ,iDAAiD;IACjD,gDAAgD;IAChD,WAAW;IACX,yCAAyC;IACzC,WAAW;IACX,IAAI;IAEJ,gCAAgC;IAChC,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAA;QAClC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IACpF,CAAC;IAED,8BAA8B;IAC9B,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAA;IAC1D,YAAY,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;AAC5F,CAAC","sourcesContent":["import { DataGridBody } from '../data-grid-body.js'\nimport { DataGridField } from '../data-grid-field.js'\n\n/**\n * ox-grid-body 의 dblclick handler\n *\n * - handler의 this 는 ox-grid-body임.\n */\nexport async function dataGridBodyDblclickHandler(this: DataGridBody, e: Event): Promise<void> {\n e.stopPropagation()\n\n if (this.editTarget) {\n /* editTarget이 새로 설정되지 않았다면, 이후 기능이 실행된다. */\n return\n }\n\n /* target should be 'ox-grid-field' */\n var target = (e.target as Element).closest('ox-grid-field') as DataGridField\n var { column, record, rowIndex, columnIndex } = target || {}\n\n // if (!column) {\n // /* 여백 컬럼이 클릭된 경우 */\n // return\n // }\n\n // if (!isNaN(rowIndex) && !isNaN(columnIndex)) {\n // this.startEditTarget(rowIndex, columnIndex)\n // } else {\n // console.error('should not be here.')\n // return\n // }\n\n /* do column dblclick handler */\n if (column) {\n var { dblclick } = column.handlers\n dblclick && dblclick(this.columns, this.data, column, record, rowIndex, target, e)\n }\n\n /* do rows dblclick handler */\n var { dblclick: rowsDblclick } = this.config.rows.handlers\n rowsDblclick && rowsDblclick(this.columns, this.data, column, record, rowIndex, target, e)\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-grid-body-focus-change-handler.js","sourceRoot":"","sources":["../../../../src/data-grid/event-handlers/data-grid-body-focus-change-handler.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAqB,CAAQ;IAC/E,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,GAAI,CAAiB,CAAC,MAAM,CAAA;IAExE,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;IAE1D,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAErC,6BAA6B;IAC7B,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC/B,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IAC9E,CAAC;IAED,2BAA2B;IAC3B,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAA;IACpD,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;AACtF,CAAC","sourcesContent":["import { DataGridBody } from '../data-grid-body'\n\n/**\n * ox-grid-body 의 focus-change handler\n *\n * - handler의 this 는 ox-grid-body임.\n */\nexport async function dataGridBodyFocusChangeHandler(this: DataGridBody, e: Event): Promise<void> {\n const { row: rowIndex, column: columnIndex } = (e as CustomEvent).detail\n\n const target = this.getFieldByIndex(rowIndex, columnIndex)\n\n var { column, record } = target || {}\n\n /* do column focus handler */\n if (column) {\n var { focus } = column.handlers\n focus && focus(this.columns, this.data, column, record, rowIndex, target, e)\n }\n\n /* do rows focus handler */\n var { focus: rowsFocus } = this.config.rows.handlers\n rowsFocus && rowsFocus(this.columns, this.data, column, record, rowIndex, target, e)\n}\n"]}
|
1
|
+
{"version":3,"file":"data-grid-body-focus-change-handler.js","sourceRoot":"","sources":["../../../../src/data-grid/event-handlers/data-grid-body-focus-change-handler.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAqB,CAAQ;IAC/E,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,GAAI,CAAiB,CAAC,MAAM,CAAA;IAExE,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;IAE1D,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAErC,6BAA6B;IAC7B,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC/B,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IAC9E,CAAC;IAED,2BAA2B;IAC3B,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAA;IACpD,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;AACtF,CAAC","sourcesContent":["import { DataGridBody } from '../data-grid-body.js'\n\n/**\n * ox-grid-body 의 focus-change handler\n *\n * - handler의 this 는 ox-grid-body임.\n */\nexport async function dataGridBodyFocusChangeHandler(this: DataGridBody, e: Event): Promise<void> {\n const { row: rowIndex, column: columnIndex } = (e as CustomEvent).detail\n\n const target = this.getFieldByIndex(rowIndex, columnIndex)\n\n var { column, record } = target || {}\n\n /* do column focus handler */\n if (column) {\n var { focus } = column.handlers\n focus && focus(this.columns, this.data, column, record, rowIndex, target, e)\n }\n\n /* do rows focus handler */\n var { focus: rowsFocus } = this.config.rows.handlers\n rowsFocus && rowsFocus(this.columns, this.data, column, record, rowIndex, target, e)\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-grid-body-keydown-handler.js","sourceRoot":"","sources":["../../../../src/data-grid/event-handlers/data-grid-body-keydown-handler.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAqB,CAAgB;IACnF,uBAAuB;IACvB,IAAI,CAAC,CAAC,WAAW;QAAE,OAAM;IAEzB,YAAY;IACZ,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAA;IACjB,IAAI,EAAE,GAAG,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;IAChD,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;IACtC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;IAC9E,IAAI,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAEhF,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,QAAQ,CAAC;YACd,KAAK,KAAK,CAAC;YACX,wBAAwB;YACxB,KAAK,OAAO;gBACV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;gBAEtB,IAAI,CAAC,KAAK,EAAE,CAAA;gBACZ,OAAM;YAER,KAAK,KAAK;gBACR,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;gBACtB,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACf,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;gBAClC,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;gBAC1C,CAAC;gBACD,IAAI,CAAC,KAAK,EAAE,CAAA;gBACZ,MAAK;YAEP,eAAe;YACf,oBAAoB;YACpB,2BAA2B;YAC3B,oCAAoC;YACpC,iBAAiB;YACjB,UAAU;YAEV,KAAK,QAAQ,CAAC;YACd,KAAK,UAAU,CAAC;YAChB,KAAK,KAAK,CAAC;YACX,KAAK,MAAM;gBACT,qBAAqB;gBACrB,SAAS;gBACT,MAAK;YAEP;gBACE,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;oBAC3B,gDAAgD;oBAChD,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;wBACd,KAAK,GAAG;4BACN,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAA;4BACvC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;gCACrE;;;mCAGG;gCACH,IAAI,CAAC,IAAI,EAAE,CAAA;gCACX,CAAC,CAAC,cAAc,EAAE,CAAA;4BACpB,CAAC;4BACD,MAAK;wBACP,KAAK,GAAG;4BACN,IAAI,CAAC,KAAK,EAAE,CAAA;4BACZ,MAAK;oBACT,CAAC;gBACH,CAAC;gBACD,OAAM;QACV,CAAC;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,IAAI,CAAC;YACV,KAAK,SAAS;gBACZ,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACf,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAA;oBACvC,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAA;oBAC/B,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;wBACpC,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;oBACxG,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,cAAc,EAAE,CAAA;oBACrB,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;wBAC3B,GAAG,GAAG,CAAC,CAAA;oBACT,CAAC;yBAAM,CAAC;wBACN,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;oBAC5B,CAAC;gBACH,CAAC;gBACD,MAAK;YAEP,KAAK,MAAM,CAAC;YACZ,KAAK,WAAW;gBACd,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACf,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAA;oBACvC,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAA;oBAC/B,IAAI,OAAO,EAAE,CAAC;wBACZ,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;wBACzE,IAAI,GAAG,EAAE,CAAC;4BACR,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,OAAO,EAAE,GAAG,CAAC,CAAA;wBAC5C,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,cAAc,EAAE,CAAA;oBACrB,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;wBAC3B,GAAG,GAAG,MAAM,CAAA;oBACd,CAAC;yBAAM,CAAC;wBACN,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;oBACjC,CAAC;gBACH,CAAC;gBACD,MAAK;YAEP,KAAK,OAAO;gBACV,IAAI,CAAC,cAAc,EAAE,CAAA;gBACrB,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;gBACvC,OAAM;YAER,KAAK,MAAM,CAAC;YACZ,KAAK,WAAW,CAAC;YACjB,KAAK,WAAW;gBACd,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACf,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAA;oBACvC,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAA;oBAC/B,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;wBACvC,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAA;oBACxG,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,cAAc,EAAE,CAAA;oBACrB,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;wBAC3B,MAAM,GAAG,CAAC,CAAA;oBACZ,CAAC;yBAAM,CAAC;wBACN,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;oBAClC,CAAC;gBACH,CAAC;gBACD,MAAK;YAEP,KAAK,OAAO,CAAC;YACb,KAAK,YAAY;gBACf,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACf,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAA;oBACvC,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAA;oBAC/B,IAAI,OAAO,EAAE,CAAC;wBACZ,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,GAAG,CAAC,EAAE,KAAK,CAAC,CAAA;wBAChF,IAAI,GAAG,EAAE,CAAC;4BACR,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,OAAO,EAAE,GAAG,CAAC,CAAA;wBAC5C,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,cAAc,EAAE,CAAA;oBACrB,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;wBAC3B,MAAM,GAAG,SAAS,CAAA;oBACpB,CAAC;yBAAM,CAAC;wBACN,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;oBAC1C,CAAC;gBACH,CAAC;gBACD,MAAK;YAEP,KAAK,KAAK;gBACR,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;gBACtB,IAAI,CAAC,cAAc,EAAE,CAAA;gBACrB,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACf,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;gBAClC,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;gBAC1C,CAAC;gBACD,IAAI,CAAC,KAAK,EAAE,CAAA;gBACZ,MAAK;YAEP,KAAK,QAAQ;gBACX,sCAAsC;gBACtC,IAAI,CAAC,cAAc,EAAE,CAAA;gBACrB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAA;gBAC3B,MAAK;YAEP,KAAK,UAAU,CAAC;YAChB,KAAK,GAAG;gBACN,IAAI,CAAC,cAAc,EAAE,CAAA;gBACrB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,CAAA;gBAChC,MAAK;YAEP,KAAK,KAAK,CAAC;YACX,KAAK,QAAQ;gBACX,IAAI,CAAC,cAAc,EAAE,CAAA;gBACrB,OAAM;YAER,KAAK,KAAK;gBACR,IAAI,CAAC,cAAc,EAAE,CAAA;gBACrB,GAAG,GAAG,MAAM,CAAA;gBACZ,MAAK;YAEP,KAAK,MAAM;gBACT,IAAI,CAAC,cAAc,EAAE,CAAA;gBACrB,GAAG,GAAG,CAAC,CAAA;gBACP,MAAK;YAEP;gBACE,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;oBAC3B,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;wBACd,KAAK,GAAG;4BACN,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAA;4BACvC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;gCACrE;;;;mCAIG;gCACH,IAAI,CAAC,IAAI,EAAE,CAAA;gCACX,CAAC,CAAC,cAAc,EAAE,CAAA;4BACpB,CAAC;4BACD,MAAK;wBACP,KAAK,GAAG;4BACN,IAAI,CAAC,KAAK,EAAE,CAAA;4BACZ,MAAK;oBACT,CAAC;oBACD,OAAM;gBACR,CAAC;qBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,cAAc,EAAE,CAAA;oBACrB,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;gBACxC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAChF,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;IACjH,CAAC;IAED,kDAAkD;IAClD,CAAC,CAAC,cAAc,EAAE,CAAA;AACpB,CAAC","sourcesContent":["import { DataGridBody } from '../data-grid-body'\n\n/**\n * ox-grid-body 의 keydown handler\n *\n * - handler의 this 는 ox-grid-body임.\n */\nexport async function dataGridBodyKeydownHandler(this: DataGridBody, e: KeyboardEvent): Promise<void> {\n // 한글 Composing 이벤트는 무시\n if (e.isComposing) return\n\n // arrow-key\n const key = e.key\n var { row = 0, column = 0 } = this.focused || {}\n var { records = [] } = this.data || {}\n var maxrow = this.config.rows.appendable ? records.length : records.length - 1\n var maxcolumn = (this.columns || []).filter(column => !column.hidden).length - 1\n\n if (this.editTarget) {\n switch (key) {\n case 'Escape':\n case 'Esc':\n /* TODO 편집이 취소되어야 한다. */\n case 'Enter':\n this.editTarget = null\n\n this.focus()\n return\n\n case 'Tab':\n this.editTarget = null\n if (e.shiftKey) {\n column = Math.max(0, column - 1)\n } else {\n column = Math.min(maxcolumn, column + 1)\n }\n this.focus()\n break\n\n // case 'Down':\n // case 'ArrowDown':\n // this.editTarget = null\n // row = Math.min(maxrow, row + 1)\n // this.focus()\n // break\n\n case 'PageUp':\n case 'PageDown':\n case 'End':\n case 'Home':\n // e.preventDefault()\n // return\n break\n\n default:\n if (e.metaKey || e.ctrlKey) {\n /* Window System에 선택된 영역이 없다면, 셀을 복사/붙여넣기 한다. */\n switch (e.key) {\n case 'c':\n const selection = window.getSelection()\n if (!selection || !selection.anchorNode || selection.type != 'Range') {\n /* \n editor가 select 인 경우 자체 복사 기능이 없으므로 this.copy()를 사용하도록 하기 위해서, selection.type != 'Range' 조건을 추가했다.\n select인 경우에는 selection.type 이 'Caret' 이었다.\n */\n this.copy()\n e.preventDefault()\n }\n break\n case 'v':\n this.paste()\n break\n }\n }\n return\n }\n } else {\n switch (key) {\n case 'Up':\n case 'ArrowUp':\n if (e.shiftKey) {\n let { start } = this._selectBlock || {}\n let focused = this.focusedField\n if (focused && focused.rowIndex > 0) {\n this.setSelectBlock(start || focused, this.getFieldByIndex(focused.rowIndex - 1, focused.columnIndex))\n }\n } else {\n this.setSelectBlock()\n if (e.metaKey || e.ctrlKey) {\n row = 0\n } else {\n row = Math.max(0, row - 1)\n }\n }\n break\n\n case 'Down':\n case 'ArrowDown':\n if (e.shiftKey) {\n let { start } = this._selectBlock || {}\n let focused = this.focusedField\n if (focused) {\n let end = this.getFieldByIndex(focused.rowIndex + 1, focused.columnIndex)\n if (end) {\n this.setSelectBlock(start || focused, end)\n }\n }\n } else {\n this.setSelectBlock()\n if (e.metaKey || e.ctrlKey) {\n row = maxrow\n } else {\n row = Math.min(maxrow, row + 1)\n }\n }\n break\n\n case 'Enter':\n this.setSelectBlock()\n this.startEditTarget(row, column, null)\n return\n\n case 'Left':\n case 'ArrowLeft':\n case 'Backspace':\n if (e.shiftKey) {\n let { start } = this._selectBlock || {}\n let focused = this.focusedField\n if (focused && focused.columnIndex > 0) {\n this.setSelectBlock(start || focused, this.getFieldByIndex(focused.rowIndex, focused.columnIndex - 1))\n }\n } else {\n this.setSelectBlock()\n if (e.metaKey || e.ctrlKey) {\n column = 0\n } else {\n column = Math.max(0, column - 1)\n }\n }\n break\n\n case 'Right':\n case 'ArrowRight':\n if (e.shiftKey) {\n let { start } = this._selectBlock || {}\n let focused = this.focusedField\n if (focused) {\n let end = this.getFieldByIndex(focused.rowIndex, focused.columnIndex + 1, false)\n if (end) {\n this.setSelectBlock(start || focused, end)\n }\n }\n } else {\n this.setSelectBlock()\n if (e.metaKey || e.ctrlKey) {\n column = maxcolumn\n } else {\n column = Math.min(maxcolumn, column + 1)\n }\n }\n break\n\n case 'Tab':\n this.editTarget = null\n this.setSelectBlock()\n if (e.shiftKey) {\n column = Math.max(0, column - 1)\n } else {\n column = Math.min(maxcolumn, column + 1)\n }\n this.focus()\n break\n\n case 'PageUp':\n /* TODO 페이지당 레코드의 수를 계산해서 증감시켜야 한다. */\n this.setSelectBlock()\n row = Math.max(0, row - 10)\n break\n\n case 'PageDown':\n case ' ':\n this.setSelectBlock()\n row = Math.min(maxrow, row + 10)\n break\n\n case 'Esc':\n case 'Escape':\n this.setSelectBlock()\n return\n\n case 'End':\n this.setSelectBlock()\n row = maxrow\n break\n\n case 'Home':\n this.setSelectBlock()\n row = 0\n break\n\n default:\n if (e.metaKey || e.ctrlKey) {\n switch (e.key) {\n case 'c':\n const selection = window.getSelection()\n if (!selection || !selection.anchorNode || selection.type != 'Range') {\n /* \n 에디터 상태가 아닌 경우에도, selection.type != 'Range' 조건을 추가해서,\n 셀렉션이 된 상태에서는 기본 동작으로 텍스트 복사를 할 수 있도록 했다.\n 보통은, 싱글 필드가 셀렉션박스로 지정된 경우에 자체 텍스트의 일부를 복사하기 위해서 필요하다.\n */\n this.copy()\n e.preventDefault()\n }\n break\n case 'v':\n this.paste()\n break\n }\n return\n } else if (key.length === 1) {\n this.setSelectBlock()\n this.startEditTarget(row, column, key)\n }\n }\n }\n\n if (!this.focused || this.focused.row !== row || this.focused.column !== column) {\n this.dispatchEvent(new CustomEvent('focus-change', { bubbles: true, composed: true, detail: { row, column } }))\n }\n\n /* arrow key에 의한 scrollbar의 자동 움직임을 하지 못하도록 한다. */\n e.preventDefault()\n}\n"]}
|
1
|
+
{"version":3,"file":"data-grid-body-keydown-handler.js","sourceRoot":"","sources":["../../../../src/data-grid/event-handlers/data-grid-body-keydown-handler.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAqB,CAAgB;IACnF,uBAAuB;IACvB,IAAI,CAAC,CAAC,WAAW;QAAE,OAAM;IAEzB,YAAY;IACZ,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAA;IACjB,IAAI,EAAE,GAAG,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;IAChD,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;IACtC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;IAC9E,IAAI,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAEhF,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,QAAQ,CAAC;YACd,KAAK,KAAK,CAAC;YACX,wBAAwB;YACxB,KAAK,OAAO;gBACV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;gBAEtB,IAAI,CAAC,KAAK,EAAE,CAAA;gBACZ,OAAM;YAER,KAAK,KAAK;gBACR,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;gBACtB,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACf,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;gBAClC,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;gBAC1C,CAAC;gBACD,IAAI,CAAC,KAAK,EAAE,CAAA;gBACZ,MAAK;YAEP,eAAe;YACf,oBAAoB;YACpB,2BAA2B;YAC3B,oCAAoC;YACpC,iBAAiB;YACjB,UAAU;YAEV,KAAK,QAAQ,CAAC;YACd,KAAK,UAAU,CAAC;YAChB,KAAK,KAAK,CAAC;YACX,KAAK,MAAM;gBACT,qBAAqB;gBACrB,SAAS;gBACT,MAAK;YAEP;gBACE,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;oBAC3B,gDAAgD;oBAChD,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;wBACd,KAAK,GAAG;4BACN,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAA;4BACvC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;gCACrE;;;mCAGG;gCACH,IAAI,CAAC,IAAI,EAAE,CAAA;gCACX,CAAC,CAAC,cAAc,EAAE,CAAA;4BACpB,CAAC;4BACD,MAAK;wBACP,KAAK,GAAG;4BACN,IAAI,CAAC,KAAK,EAAE,CAAA;4BACZ,MAAK;oBACT,CAAC;gBACH,CAAC;gBACD,OAAM;QACV,CAAC;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,IAAI,CAAC;YACV,KAAK,SAAS;gBACZ,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACf,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAA;oBACvC,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAA;oBAC/B,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;wBACpC,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;oBACxG,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,cAAc,EAAE,CAAA;oBACrB,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;wBAC3B,GAAG,GAAG,CAAC,CAAA;oBACT,CAAC;yBAAM,CAAC;wBACN,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;oBAC5B,CAAC;gBACH,CAAC;gBACD,MAAK;YAEP,KAAK,MAAM,CAAC;YACZ,KAAK,WAAW;gBACd,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACf,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAA;oBACvC,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAA;oBAC/B,IAAI,OAAO,EAAE,CAAC;wBACZ,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;wBACzE,IAAI,GAAG,EAAE,CAAC;4BACR,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,OAAO,EAAE,GAAG,CAAC,CAAA;wBAC5C,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,cAAc,EAAE,CAAA;oBACrB,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;wBAC3B,GAAG,GAAG,MAAM,CAAA;oBACd,CAAC;yBAAM,CAAC;wBACN,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;oBACjC,CAAC;gBACH,CAAC;gBACD,MAAK;YAEP,KAAK,OAAO;gBACV,IAAI,CAAC,cAAc,EAAE,CAAA;gBACrB,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;gBACvC,OAAM;YAER,KAAK,MAAM,CAAC;YACZ,KAAK,WAAW,CAAC;YACjB,KAAK,WAAW;gBACd,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACf,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAA;oBACvC,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAA;oBAC/B,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;wBACvC,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAA;oBACxG,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,cAAc,EAAE,CAAA;oBACrB,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;wBAC3B,MAAM,GAAG,CAAC,CAAA;oBACZ,CAAC;yBAAM,CAAC;wBACN,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;oBAClC,CAAC;gBACH,CAAC;gBACD,MAAK;YAEP,KAAK,OAAO,CAAC;YACb,KAAK,YAAY;gBACf,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACf,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAA;oBACvC,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAA;oBAC/B,IAAI,OAAO,EAAE,CAAC;wBACZ,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,GAAG,CAAC,EAAE,KAAK,CAAC,CAAA;wBAChF,IAAI,GAAG,EAAE,CAAC;4BACR,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,OAAO,EAAE,GAAG,CAAC,CAAA;wBAC5C,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,cAAc,EAAE,CAAA;oBACrB,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;wBAC3B,MAAM,GAAG,SAAS,CAAA;oBACpB,CAAC;yBAAM,CAAC;wBACN,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;oBAC1C,CAAC;gBACH,CAAC;gBACD,MAAK;YAEP,KAAK,KAAK;gBACR,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;gBACtB,IAAI,CAAC,cAAc,EAAE,CAAA;gBACrB,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACf,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;gBAClC,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;gBAC1C,CAAC;gBACD,IAAI,CAAC,KAAK,EAAE,CAAA;gBACZ,MAAK;YAEP,KAAK,QAAQ;gBACX,sCAAsC;gBACtC,IAAI,CAAC,cAAc,EAAE,CAAA;gBACrB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAA;gBAC3B,MAAK;YAEP,KAAK,UAAU,CAAC;YAChB,KAAK,GAAG;gBACN,IAAI,CAAC,cAAc,EAAE,CAAA;gBACrB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,CAAA;gBAChC,MAAK;YAEP,KAAK,KAAK,CAAC;YACX,KAAK,QAAQ;gBACX,IAAI,CAAC,cAAc,EAAE,CAAA;gBACrB,OAAM;YAER,KAAK,KAAK;gBACR,IAAI,CAAC,cAAc,EAAE,CAAA;gBACrB,GAAG,GAAG,MAAM,CAAA;gBACZ,MAAK;YAEP,KAAK,MAAM;gBACT,IAAI,CAAC,cAAc,EAAE,CAAA;gBACrB,GAAG,GAAG,CAAC,CAAA;gBACP,MAAK;YAEP;gBACE,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;oBAC3B,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;wBACd,KAAK,GAAG;4BACN,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAA;4BACvC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;gCACrE;;;;mCAIG;gCACH,IAAI,CAAC,IAAI,EAAE,CAAA;gCACX,CAAC,CAAC,cAAc,EAAE,CAAA;4BACpB,CAAC;4BACD,MAAK;wBACP,KAAK,GAAG;4BACN,IAAI,CAAC,KAAK,EAAE,CAAA;4BACZ,MAAK;oBACT,CAAC;oBACD,OAAM;gBACR,CAAC;qBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,cAAc,EAAE,CAAA;oBACrB,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;gBACxC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAChF,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;IACjH,CAAC;IAED,kDAAkD;IAClD,CAAC,CAAC,cAAc,EAAE,CAAA;AACpB,CAAC","sourcesContent":["import { DataGridBody } from '../data-grid-body.js'\n\n/**\n * ox-grid-body 의 keydown handler\n *\n * - handler의 this 는 ox-grid-body임.\n */\nexport async function dataGridBodyKeydownHandler(this: DataGridBody, e: KeyboardEvent): Promise<void> {\n // 한글 Composing 이벤트는 무시\n if (e.isComposing) return\n\n // arrow-key\n const key = e.key\n var { row = 0, column = 0 } = this.focused || {}\n var { records = [] } = this.data || {}\n var maxrow = this.config.rows.appendable ? records.length : records.length - 1\n var maxcolumn = (this.columns || []).filter(column => !column.hidden).length - 1\n\n if (this.editTarget) {\n switch (key) {\n case 'Escape':\n case 'Esc':\n /* TODO 편집이 취소되어야 한다. */\n case 'Enter':\n this.editTarget = null\n\n this.focus()\n return\n\n case 'Tab':\n this.editTarget = null\n if (e.shiftKey) {\n column = Math.max(0, column - 1)\n } else {\n column = Math.min(maxcolumn, column + 1)\n }\n this.focus()\n break\n\n // case 'Down':\n // case 'ArrowDown':\n // this.editTarget = null\n // row = Math.min(maxrow, row + 1)\n // this.focus()\n // break\n\n case 'PageUp':\n case 'PageDown':\n case 'End':\n case 'Home':\n // e.preventDefault()\n // return\n break\n\n default:\n if (e.metaKey || e.ctrlKey) {\n /* Window System에 선택된 영역이 없다면, 셀을 복사/붙여넣기 한다. */\n switch (e.key) {\n case 'c':\n const selection = window.getSelection()\n if (!selection || !selection.anchorNode || selection.type != 'Range') {\n /* \n editor가 select 인 경우 자체 복사 기능이 없으므로 this.copy()를 사용하도록 하기 위해서, selection.type != 'Range' 조건을 추가했다.\n select인 경우에는 selection.type 이 'Caret' 이었다.\n */\n this.copy()\n e.preventDefault()\n }\n break\n case 'v':\n this.paste()\n break\n }\n }\n return\n }\n } else {\n switch (key) {\n case 'Up':\n case 'ArrowUp':\n if (e.shiftKey) {\n let { start } = this._selectBlock || {}\n let focused = this.focusedField\n if (focused && focused.rowIndex > 0) {\n this.setSelectBlock(start || focused, this.getFieldByIndex(focused.rowIndex - 1, focused.columnIndex))\n }\n } else {\n this.setSelectBlock()\n if (e.metaKey || e.ctrlKey) {\n row = 0\n } else {\n row = Math.max(0, row - 1)\n }\n }\n break\n\n case 'Down':\n case 'ArrowDown':\n if (e.shiftKey) {\n let { start } = this._selectBlock || {}\n let focused = this.focusedField\n if (focused) {\n let end = this.getFieldByIndex(focused.rowIndex + 1, focused.columnIndex)\n if (end) {\n this.setSelectBlock(start || focused, end)\n }\n }\n } else {\n this.setSelectBlock()\n if (e.metaKey || e.ctrlKey) {\n row = maxrow\n } else {\n row = Math.min(maxrow, row + 1)\n }\n }\n break\n\n case 'Enter':\n this.setSelectBlock()\n this.startEditTarget(row, column, null)\n return\n\n case 'Left':\n case 'ArrowLeft':\n case 'Backspace':\n if (e.shiftKey) {\n let { start } = this._selectBlock || {}\n let focused = this.focusedField\n if (focused && focused.columnIndex > 0) {\n this.setSelectBlock(start || focused, this.getFieldByIndex(focused.rowIndex, focused.columnIndex - 1))\n }\n } else {\n this.setSelectBlock()\n if (e.metaKey || e.ctrlKey) {\n column = 0\n } else {\n column = Math.max(0, column - 1)\n }\n }\n break\n\n case 'Right':\n case 'ArrowRight':\n if (e.shiftKey) {\n let { start } = this._selectBlock || {}\n let focused = this.focusedField\n if (focused) {\n let end = this.getFieldByIndex(focused.rowIndex, focused.columnIndex + 1, false)\n if (end) {\n this.setSelectBlock(start || focused, end)\n }\n }\n } else {\n this.setSelectBlock()\n if (e.metaKey || e.ctrlKey) {\n column = maxcolumn\n } else {\n column = Math.min(maxcolumn, column + 1)\n }\n }\n break\n\n case 'Tab':\n this.editTarget = null\n this.setSelectBlock()\n if (e.shiftKey) {\n column = Math.max(0, column - 1)\n } else {\n column = Math.min(maxcolumn, column + 1)\n }\n this.focus()\n break\n\n case 'PageUp':\n /* TODO 페이지당 레코드의 수를 계산해서 증감시켜야 한다. */\n this.setSelectBlock()\n row = Math.max(0, row - 10)\n break\n\n case 'PageDown':\n case ' ':\n this.setSelectBlock()\n row = Math.min(maxrow, row + 10)\n break\n\n case 'Esc':\n case 'Escape':\n this.setSelectBlock()\n return\n\n case 'End':\n this.setSelectBlock()\n row = maxrow\n break\n\n case 'Home':\n this.setSelectBlock()\n row = 0\n break\n\n default:\n if (e.metaKey || e.ctrlKey) {\n switch (e.key) {\n case 'c':\n const selection = window.getSelection()\n if (!selection || !selection.anchorNode || selection.type != 'Range') {\n /* \n 에디터 상태가 아닌 경우에도, selection.type != 'Range' 조건을 추가해서,\n 셀렉션이 된 상태에서는 기본 동작으로 텍스트 복사를 할 수 있도록 했다.\n 보통은, 싱글 필드가 셀렉션박스로 지정된 경우에 자체 텍스트의 일부를 복사하기 위해서 필요하다.\n */\n this.copy()\n e.preventDefault()\n }\n break\n case 'v':\n this.paste()\n break\n }\n return\n } else if (key.length === 1) {\n this.setSelectBlock()\n this.startEditTarget(row, column, key)\n }\n }\n }\n\n if (!this.focused || this.focused.row !== row || this.focused.column !== column) {\n this.dispatchEvent(new CustomEvent('focus-change', { bubbles: true, composed: true, detail: { row, column } }))\n }\n\n /* arrow key에 의한 scrollbar의 자동 움직임을 하지 못하도록 한다. */\n e.preventDefault()\n}\n"]}
|
package/dist/src/data-grist.d.ts
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
-
import './data-grid/data-grid';
|
2
|
-
import './data-list/data-list';
|
3
|
-
import './data-card/data-card';
|
1
|
+
import './data-grid/data-grid.js';
|
2
|
+
import './data-list/data-list.js';
|
3
|
+
import './data-card/data-card.js';
|
4
4
|
import { LitElement, PropertyValues } from 'lit';
|
5
5
|
import { PagePreferenceProvider } from '@operato/p13n';
|
6
|
-
import { DataCard } from './data-card/data-card';
|
7
|
-
import { DataConsumer } from './data-consumer';
|
8
|
-
import { DataGrid } from './data-grid/data-grid';
|
9
|
-
import { DataList } from './data-list/data-list';
|
10
|
-
import { ColumnConfig, FetchHandler, FilterValue, GristConfig, GristData, GristRecord, GristSelectFunction, PaginationConfig, SortersConfig, ValidationReason } from './types';
|
6
|
+
import { DataCard } from './data-card/data-card.js';
|
7
|
+
import { DataConsumer } from './data-consumer.js';
|
8
|
+
import { DataGrid } from './data-grid/data-grid.js';
|
9
|
+
import { DataList } from './data-list/data-list.js';
|
10
|
+
import { ColumnConfig, FetchHandler, FilterValue, GristConfig, GristData, GristRecord, GristSelectFunction, PaginationConfig, SortersConfig, ValidationReason } from './types.js';
|
11
11
|
/**
|
12
12
|
* A custom element for rendering data in a grid, list, or card format.
|
13
13
|
*
|
package/dist/src/data-grist.js
CHANGED
@@ -1,20 +1,20 @@
|
|
1
1
|
import { __decorate } from "tslib";
|
2
|
-
import './data-grid/data-grid';
|
3
|
-
import './data-list/data-list';
|
4
|
-
import './data-card/data-card';
|
2
|
+
import './data-grid/data-grid.js';
|
3
|
+
import './data-list/data-list.js';
|
4
|
+
import './data-card/data-card.js';
|
5
5
|
import { css, html, LitElement } from 'lit';
|
6
6
|
import { customElement, property, query, queryAsync, state } from 'lit/decorators.js';
|
7
|
-
import isEmpty from 'lodash-es/isEmpty';
|
8
|
-
import isEqual from 'lodash-es/isEqual';
|
7
|
+
import isEmpty from 'lodash-es/isEmpty.js';
|
8
|
+
import isEqual from 'lodash-es/isEqual.js';
|
9
9
|
import Headroom from '@operato/headroom';
|
10
10
|
import { pulltorefresh } from '@operato/pull-to-refresh';
|
11
11
|
import { HeadroomStyles, ScrollbarStyles, SpinnerStyles } from '@operato/styles';
|
12
12
|
import { SnapshotTaker, TimeCapsule } from '@operato/utils';
|
13
|
-
import { buildConfig } from './configure/config-builder';
|
14
|
-
import { ZERO_CONFIG, ZERO_DATA, ZERO_PAGES, ZERO_PAGINATION } from './configure/zero-config';
|
15
|
-
import { DataProvider } from './data-provider';
|
16
|
-
import { ValidationReason } from './types';
|
17
|
-
import { convertListParamToSearchString, convertSearchStringToListParam } from './utils';
|
13
|
+
import { buildConfig } from './configure/config-builder.js';
|
14
|
+
import { ZERO_CONFIG, ZERO_DATA, ZERO_PAGES, ZERO_PAGINATION } from './configure/zero-config.js';
|
15
|
+
import { DataProvider } from './data-provider.js';
|
16
|
+
import { ValidationReason } from './types.js';
|
17
|
+
import { convertListParamToSearchString, convertSearchStringToListParam } from './utils/index.js';
|
18
18
|
/**
|
19
19
|
* A custom element for rendering data in a grid, list, or card format.
|
20
20
|
*
|
@@ -29,74 +29,286 @@ let DataGrist = class DataGrist extends LitElement {
|
|
29
29
|
*
|
30
30
|
* @property {string}
|
31
31
|
*/
|
32
|
-
this
|
32
|
+
Object.defineProperty(this, "mode", {
|
33
|
+
enumerable: true,
|
34
|
+
configurable: true,
|
35
|
+
writable: true,
|
36
|
+
value: 'GRID'
|
37
|
+
});
|
38
|
+
/**
|
39
|
+
* The configuration object for the data grist.
|
40
|
+
*
|
41
|
+
* @property {Object}
|
42
|
+
*/
|
43
|
+
Object.defineProperty(this, "config", {
|
44
|
+
enumerable: true,
|
45
|
+
configurable: true,
|
46
|
+
writable: true,
|
47
|
+
value: void 0
|
48
|
+
});
|
33
49
|
/**
|
34
50
|
* The data to be displayed in the data grist.
|
35
51
|
*
|
36
52
|
* @property {GristData}
|
37
53
|
*/
|
38
|
-
this
|
54
|
+
Object.defineProperty(this, "data", {
|
55
|
+
enumerable: true,
|
56
|
+
configurable: true,
|
57
|
+
writable: true,
|
58
|
+
value: ZERO_DATA
|
59
|
+
});
|
60
|
+
/**
|
61
|
+
* An array of selected records in the data grist.
|
62
|
+
*
|
63
|
+
* @property {GristRecord[]}
|
64
|
+
*/
|
65
|
+
Object.defineProperty(this, "selectedRecords", {
|
66
|
+
enumerable: true,
|
67
|
+
configurable: true,
|
68
|
+
writable: true,
|
69
|
+
value: void 0
|
70
|
+
});
|
39
71
|
/**
|
40
72
|
* Indicates whether explicit fetching of data is enabled. If true, data will be fetched
|
41
73
|
* only when `fetch` method is called. Default is false.
|
42
74
|
*
|
43
75
|
* @property {boolean}
|
44
76
|
*/
|
45
|
-
this
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
this
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
77
|
+
Object.defineProperty(this, "explicitFetch", {
|
78
|
+
enumerable: true,
|
79
|
+
configurable: true,
|
80
|
+
writable: true,
|
81
|
+
value: false
|
82
|
+
});
|
83
|
+
/**
|
84
|
+
* The fetch handler function used to retrieve data from a remote source.
|
85
|
+
*
|
86
|
+
* @property {FetchHandler}
|
87
|
+
*/
|
88
|
+
Object.defineProperty(this, "fetchHandler", {
|
89
|
+
enumerable: true,
|
90
|
+
configurable: true,
|
91
|
+
writable: true,
|
92
|
+
value: void 0
|
93
|
+
});
|
94
|
+
/**
|
95
|
+
* Additional fetch options to be passed to the fetch handler.
|
96
|
+
*
|
97
|
+
* @property {Object}
|
98
|
+
*/
|
99
|
+
Object.defineProperty(this, "fetchOptions", {
|
100
|
+
enumerable: true,
|
101
|
+
configurable: true,
|
102
|
+
writable: true,
|
103
|
+
value: void 0
|
104
|
+
});
|
105
|
+
/**
|
106
|
+
* An array of filter values to be applied to the data grist.
|
107
|
+
*
|
108
|
+
* @property {FilterValue[]}
|
109
|
+
*/
|
110
|
+
Object.defineProperty(this, "filters", {
|
111
|
+
enumerable: true,
|
112
|
+
configurable: true,
|
113
|
+
writable: true,
|
114
|
+
value: void 0
|
115
|
+
});
|
116
|
+
/**
|
117
|
+
* An array of sorters to determine the order of records in the data grist.
|
118
|
+
*
|
119
|
+
* @property {SortersConfig}
|
120
|
+
*/
|
121
|
+
Object.defineProperty(this, "sorters", {
|
122
|
+
enumerable: true,
|
123
|
+
configurable: true,
|
124
|
+
writable: true,
|
125
|
+
value: void 0
|
126
|
+
});
|
127
|
+
/**
|
128
|
+
* The pagination configuration for the data grist.
|
129
|
+
*
|
130
|
+
* @property {PaginationConfig}
|
131
|
+
*/
|
132
|
+
Object.defineProperty(this, "pagination", {
|
133
|
+
enumerable: true,
|
134
|
+
configurable: true,
|
135
|
+
writable: true,
|
136
|
+
value: void 0
|
137
|
+
});
|
138
|
+
/**
|
139
|
+
* Indicates whether URL parameters are sensitive to changes. If true, changes in URL
|
140
|
+
* parameters will trigger data fetching. Default is undefined.
|
141
|
+
*
|
142
|
+
* @property {boolean}
|
143
|
+
*/
|
144
|
+
Object.defineProperty(this, "urlParamsSensitive", {
|
145
|
+
enumerable: true,
|
146
|
+
configurable: true,
|
147
|
+
writable: true,
|
148
|
+
value: void 0
|
149
|
+
});
|
150
|
+
Object.defineProperty(this, "personalConfigProvider", {
|
151
|
+
enumerable: true,
|
152
|
+
configurable: true,
|
153
|
+
writable: true,
|
154
|
+
value: {
|
155
|
+
load: () => {
|
156
|
+
return {};
|
157
|
+
},
|
158
|
+
save: (preference) => preference,
|
159
|
+
reset: () => { }
|
64
160
|
}
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
161
|
+
});
|
162
|
+
Object.defineProperty(this, "personalConfig", {
|
163
|
+
enumerable: true,
|
164
|
+
configurable: true,
|
165
|
+
writable: true,
|
166
|
+
value: void 0
|
167
|
+
});
|
168
|
+
Object.defineProperty(this, "_data", {
|
169
|
+
enumerable: true,
|
170
|
+
configurable: true,
|
171
|
+
writable: true,
|
172
|
+
value: ZERO_DATA
|
173
|
+
}); // copy data, dirty data
|
174
|
+
Object.defineProperty(this, "_config", {
|
175
|
+
enumerable: true,
|
176
|
+
configurable: true,
|
177
|
+
writable: true,
|
178
|
+
value: ZERO_CONFIG
|
179
|
+
}); // compiled configuration
|
180
|
+
Object.defineProperty(this, "_showSpinner", {
|
181
|
+
enumerable: true,
|
182
|
+
configurable: true,
|
183
|
+
writable: true,
|
184
|
+
value: false
|
185
|
+
});
|
186
|
+
Object.defineProperty(this, "head", {
|
187
|
+
enumerable: true,
|
188
|
+
configurable: true,
|
189
|
+
writable: true,
|
190
|
+
value: void 0
|
191
|
+
});
|
192
|
+
Object.defineProperty(this, "grist", {
|
193
|
+
enumerable: true,
|
194
|
+
configurable: true,
|
195
|
+
writable: true,
|
196
|
+
value: void 0
|
197
|
+
});
|
198
|
+
Object.defineProperty(this, "wrap", {
|
199
|
+
enumerable: true,
|
200
|
+
configurable: true,
|
201
|
+
writable: true,
|
202
|
+
value: void 0
|
203
|
+
});
|
204
|
+
Object.defineProperty(this, "timeCapsule", {
|
205
|
+
enumerable: true,
|
206
|
+
configurable: true,
|
207
|
+
writable: true,
|
208
|
+
value: void 0
|
209
|
+
});
|
210
|
+
Object.defineProperty(this, "snapshotTaker", {
|
211
|
+
enumerable: true,
|
212
|
+
configurable: true,
|
213
|
+
writable: true,
|
214
|
+
value: void 0
|
215
|
+
});
|
216
|
+
Object.defineProperty(this, "dataProvider", {
|
217
|
+
enumerable: true,
|
218
|
+
configurable: true,
|
219
|
+
writable: true,
|
220
|
+
value: void 0
|
221
|
+
});
|
222
|
+
Object.defineProperty(this, "pulltorefreshHandle", {
|
223
|
+
enumerable: true,
|
224
|
+
configurable: true,
|
225
|
+
writable: true,
|
226
|
+
value: void 0
|
227
|
+
});
|
228
|
+
Object.defineProperty(this, "headroom", {
|
229
|
+
enumerable: true,
|
230
|
+
configurable: true,
|
231
|
+
writable: true,
|
232
|
+
value: void 0
|
233
|
+
});
|
234
|
+
Object.defineProperty(this, "orginPaddingTop", {
|
235
|
+
enumerable: true,
|
236
|
+
configurable: true,
|
237
|
+
writable: true,
|
238
|
+
value: void 0
|
239
|
+
});
|
240
|
+
Object.defineProperty(this, "originMarginTop", {
|
241
|
+
enumerable: true,
|
242
|
+
configurable: true,
|
243
|
+
writable: true,
|
244
|
+
value: void 0
|
245
|
+
});
|
246
|
+
Object.defineProperty(this, "lastLocation", {
|
247
|
+
enumerable: true,
|
248
|
+
configurable: true,
|
249
|
+
writable: true,
|
250
|
+
value: {}
|
251
|
+
});
|
252
|
+
/* 그리드가 준비되기 전에 fetch 요청이 있었음을 나타내는 플래그임 */
|
253
|
+
Object.defineProperty(this, "pendingFetch", {
|
254
|
+
enumerable: true,
|
255
|
+
configurable: true,
|
256
|
+
writable: true,
|
257
|
+
value: void 0
|
258
|
+
});
|
259
|
+
Object.defineProperty(this, "popstateEventHandler", {
|
260
|
+
enumerable: true,
|
261
|
+
configurable: true,
|
262
|
+
writable: true,
|
263
|
+
value: ((e) => {
|
264
|
+
const { origin, pathname, search } = window.location;
|
265
|
+
if (this.lastLocation.origin &&
|
266
|
+
(this.lastLocation.origin !== origin ||
|
267
|
+
this.lastLocation.pathname !== pathname ||
|
268
|
+
this.lastLocation.search === search)) {
|
269
|
+
return;
|
82
270
|
}
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
271
|
+
this.lastLocation = {
|
272
|
+
origin,
|
273
|
+
pathname,
|
274
|
+
search
|
275
|
+
};
|
276
|
+
var { filters = [], sorters = [] } = convertSearchStringToListParam(search);
|
277
|
+
try {
|
278
|
+
if (!isEqual(filters, this.filters) || !isEqual(sorters, this.sorters)) {
|
279
|
+
this.dispatchEvent(new CustomEvent('fetch-params-change', {
|
280
|
+
bubbles: true,
|
281
|
+
composed: true,
|
282
|
+
detail: {
|
283
|
+
filters,
|
284
|
+
sorters,
|
285
|
+
from: 'url-parameter'
|
286
|
+
}
|
287
|
+
}));
|
288
|
+
}
|
289
|
+
}
|
290
|
+
catch (e) {
|
291
|
+
console.error(`invalid fetch params on URL query string : ${e}`);
|
292
|
+
}
|
293
|
+
}).bind(this)
|
294
|
+
});
|
295
|
+
Object.defineProperty(this, "fetchParamsChangeEventHandler", {
|
296
|
+
enumerable: true,
|
297
|
+
configurable: true,
|
298
|
+
writable: true,
|
299
|
+
value: ((e) => {
|
300
|
+
const { sorters, filters, from } = e.detail;
|
301
|
+
sorters && (this.sorters = sorters);
|
302
|
+
filters && (this.filters = filters);
|
303
|
+
if (!this.urlParamsSensitive || from === 'url-parameter') {
|
304
|
+
return;
|
305
|
+
}
|
306
|
+
const queryString = convertListParamToSearchString({ filters, sorters, base: window.location.search });
|
307
|
+
this.lastLocation.search = queryString ? `?${queryString}` : '';
|
308
|
+
const url = `${window.location.pathname}${this.lastLocation.search}`;
|
309
|
+
history.pushState({}, document.title, url);
|
310
|
+
}).bind(this)
|
311
|
+
});
|
100
312
|
}
|
101
313
|
async firstUpdated() {
|
102
314
|
// Mutation Observer를 사용하여 슬롯의 크기 변경을 감지하고 다시 그린다.
|
@@ -270,27 +482,27 @@ let DataGrist = class DataGrist extends LitElement {
|
|
270
482
|
`
|
271
483
|
: this.mode == 'CARD'
|
272
484
|
? html `
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
485
|
+
<ox-card
|
486
|
+
id="grist"
|
487
|
+
.config=${this.compiledConfig}
|
488
|
+
.data=${this._data}
|
489
|
+
.sorters=${this.sorters || []}
|
490
|
+
.filters=${this.filters || []}
|
491
|
+
?empty=${empty}
|
492
|
+
>
|
493
|
+
</ox-card>
|
494
|
+
`
|
283
495
|
: html `
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
496
|
+
<ox-list
|
497
|
+
id="grist"
|
498
|
+
.config=${this.compiledConfig}
|
499
|
+
.data=${this._data}
|
500
|
+
.sorters=${this.sorters || []}
|
501
|
+
.filters=${this.filters || []}
|
502
|
+
?empty=${empty}
|
503
|
+
>
|
504
|
+
</ox-list>
|
505
|
+
`}
|
294
506
|
</div>
|
295
507
|
|
296
508
|
<div id="spinner" ?show=${this._showSpinner}></div>
|
@@ -909,11 +1121,15 @@ let DataGrist = class DataGrist extends LitElement {
|
|
909
1121
|
return validationResults;
|
910
1122
|
}
|
911
1123
|
};
|
912
|
-
DataGrist
|
913
|
-
|
914
|
-
|
915
|
-
|
916
|
-
|
1124
|
+
Object.defineProperty(DataGrist, "styles", {
|
1125
|
+
enumerable: true,
|
1126
|
+
configurable: true,
|
1127
|
+
writable: true,
|
1128
|
+
value: [
|
1129
|
+
ScrollbarStyles,
|
1130
|
+
HeadroomStyles,
|
1131
|
+
SpinnerStyles,
|
1132
|
+
css `
|
917
1133
|
:host {
|
918
1134
|
display: flex;
|
919
1135
|
flex-direction: column;
|
@@ -957,7 +1173,8 @@ DataGrist.styles = [
|
|
957
1173
|
z-index: 8;
|
958
1174
|
}
|
959
1175
|
`
|
960
|
-
]
|
1176
|
+
]
|
1177
|
+
});
|
961
1178
|
__decorate([
|
962
1179
|
property()
|
963
1180
|
], DataGrist.prototype, "mode", void 0);
|