@vuu-ui/vuu-table-extras 2.1.19-beta.2 → 2.1.19-beta.3
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/cjs/node_modules/csv-parse/dist/esm/sync.js +3978 -0
- package/cjs/node_modules/csv-parse/dist/esm/sync.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/calculated-column/CalculatedColumnPanel.js +85 -0
- package/cjs/packages/vuu-table-extras/src/calculated-column/CalculatedColumnPanel.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/calculated-column/useCalculatedColumnPanel.js +71 -0
- package/cjs/packages/vuu-table-extras/src/calculated-column/useCalculatedColumnPanel.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/calculated-column/useEditCalculatedColumn.js +138 -0
- package/cjs/packages/vuu-table-extras/src/calculated-column/useEditCalculatedColumn.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-edit-validators/CaseValidator.js +25 -0
- package/cjs/packages/vuu-table-extras/src/cell-edit-validators/CaseValidator.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-edit-validators/PatternValidator.js +31 -0
- package/cjs/packages/vuu-table-extras/src/cell-edit-validators/PatternValidator.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.js +81 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js +67 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundKeyframes.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundKeyframes.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/useDirection.js +20 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/useDirection.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.js +40 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.js +103 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/lookup-cell/LookupCell.js +21 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/lookup-cell/LookupCell.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.js +62 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.js +69 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.js +39 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-function-descriptors.js +307 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-function-descriptors.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.js +28 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js +465 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/column-expression-parse-utils.js +61 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/column-expression-parse-utils.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/generated/column-parser.js +21 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/generated/column-parser.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/functionDocInfo.js +39 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/functionDocInfo.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/highlighting.js +16 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/highlighting.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/theme.js +63 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/theme.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnAutoComplete.js +358 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnAutoComplete.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionEditor.js +131 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionEditor.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionSuggestionProvider.js +213 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionSuggestionProvider.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/BaseNumericFormattingSettings.js +98 -0
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/BaseNumericFormattingSettings.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/ColumnFormattingPanel.js +111 -0
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/ColumnFormattingPanel.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/DateTimeFormattingSettings.js +102 -0
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/DateTimeFormattingSettings.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.js +48 -0
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-menu/ColumnMenu.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/column-menu/ColumnMenu.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-menu/ColumnMenu.js +107 -0
- package/cjs/packages/vuu-table-extras/src/column-menu/ColumnMenu.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-menu/column-menu-utils.js +459 -0
- package/cjs/packages/vuu-table-extras/src/column-menu/column-menu-utils.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-menu/useColumnActions.js +68 -0
- package/cjs/packages/vuu-table-extras/src/column-menu/useColumnActions.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnModel.js +177 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnModel.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPicker.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPicker.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPicker.js +252 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPicker.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPickerAction.js +34 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPickerAction.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/useColumnPicker.js +55 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/useColumnPicker.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/useTableColumnPicker.js +35 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/useTableColumnPicker.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.js +45 -0
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.js +161 -0
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/useColumnSettings.js +203 -0
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/useColumnSettings.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/CsvUpload.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/CsvUpload.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/CsvUpload.js +95 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/CsvUpload.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-constants.js +8 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-constants.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-errors.js +64 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-errors.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-parse.js +199 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-parse.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-schema-validation.js +100 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-schema-validation.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-upload-utils.js +86 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-upload-utils.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/useCsvUpload.js +306 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/useCsvUpload.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/useCsvUploadSessionPreview.js +73 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/useCsvUploadSessionPreview.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.js +76 -0
- package/cjs/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/datasource-stats/useDatasourceStats.js +61 -0
- package/cjs/packages/vuu-table-extras/src/datasource-stats/useDatasourceStats.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/FreezeControl.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/FreezeControl.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/FreezeControl.js +106 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/FreezeControl.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/FrozenBanner.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/FrozenBanner.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/FrozenBanner.js +55 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/FrozenBanner.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/freezeControlBadge.js +10 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/freezeControlBadge.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/useFreezeControl.js +68 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/useFreezeControl.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/index.js +102 -0
- package/cjs/packages/vuu-table-extras/src/index.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.js +90 -0
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableSettingsAction.js +44 -0
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableSettingsAction.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/useTabbedTableConfigPanel.js +49 -0
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/useTabbedTableConfigPanel.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/table-footer/TableFooter.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/table-footer/TableFooter.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/table-footer/TableFooter.js +34 -0
- package/cjs/packages/vuu-table-extras/src/table-footer/TableFooter.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/table-provider/TableProvider.js +61 -0
- package/cjs/packages/vuu-table-extras/src/table-provider/TableProvider.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.js +116 -0
- package/cjs/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/table-settings-panel/useTableSettings.js +60 -0
- package/cjs/packages/vuu-table-extras/src/table-settings-panel/useTableSettings.js.map +1 -0
- package/esm/node_modules/csv-parse/dist/esm/sync.js +3974 -0
- package/esm/node_modules/csv-parse/dist/esm/sync.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/calculated-column/CalculatedColumnPanel.js +83 -0
- package/esm/packages/vuu-table-extras/src/calculated-column/CalculatedColumnPanel.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/calculated-column/useCalculatedColumnPanel.js +69 -0
- package/esm/packages/vuu-table-extras/src/calculated-column/useCalculatedColumnPanel.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/calculated-column/useEditCalculatedColumn.js +136 -0
- package/esm/packages/vuu-table-extras/src/calculated-column/useEditCalculatedColumn.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-edit-validators/CaseValidator.js +23 -0
- package/esm/packages/vuu-table-extras/src/cell-edit-validators/CaseValidator.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-edit-validators/PatternValidator.js +29 -0
- package/esm/packages/vuu-table-extras/src/cell-edit-validators/PatternValidator.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.js +79 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js +65 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundKeyframes.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundKeyframes.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/useDirection.js +18 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/useDirection.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.js +38 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.js +101 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/lookup-cell/LookupCell.js +19 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/lookup-cell/LookupCell.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.js +60 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.js +67 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.js +37 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-function-descriptors.js +305 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-function-descriptors.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.js +26 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js +463 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/column-expression-parse-utils.js +56 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/column-expression-parse-utils.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/generated/column-parser.js +19 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/generated/column-parser.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/functionDocInfo.js +37 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/functionDocInfo.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/highlighting.js +14 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/highlighting.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/theme.js +61 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/theme.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnAutoComplete.js +356 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnAutoComplete.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionEditor.js +129 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionEditor.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionSuggestionProvider.js +211 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionSuggestionProvider.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/BaseNumericFormattingSettings.js +96 -0
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/BaseNumericFormattingSettings.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/ColumnFormattingPanel.js +109 -0
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/ColumnFormattingPanel.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/DateTimeFormattingSettings.js +100 -0
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/DateTimeFormattingSettings.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.js +46 -0
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-menu/ColumnMenu.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/column-menu/ColumnMenu.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-menu/ColumnMenu.js +105 -0
- package/esm/packages/vuu-table-extras/src/column-menu/ColumnMenu.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-menu/column-menu-utils.js +451 -0
- package/esm/packages/vuu-table-extras/src/column-menu/column-menu-utils.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-menu/useColumnActions.js +66 -0
- package/esm/packages/vuu-table-extras/src/column-menu/useColumnActions.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnModel.js +170 -0
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnModel.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnPicker.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnPicker.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnPicker.js +249 -0
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnPicker.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnPickerAction.js +32 -0
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnPickerAction.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-picker/useColumnPicker.js +53 -0
- package/esm/packages/vuu-table-extras/src/column-picker/useColumnPicker.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-picker/useTableColumnPicker.js +33 -0
- package/esm/packages/vuu-table-extras/src/column-picker/useTableColumnPicker.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.js +43 -0
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.js +159 -0
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-settings-panel/useColumnSettings.js +201 -0
- package/esm/packages/vuu-table-extras/src/column-settings-panel/useColumnSettings.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/CsvUpload.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/CsvUpload.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/CsvUpload.js +93 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/CsvUpload.js.map +1 -0
- package/{src → esm/packages/vuu-table-extras/src}/csv-upload/parse/csv-constants.js +2 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-constants.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-errors.js +57 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-errors.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-parse.js +196 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-parse.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-schema-validation.js +97 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-schema-validation.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-upload-utils.js +76 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-upload-utils.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/useCsvUpload.js +304 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/useCsvUpload.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/useCsvUploadSessionPreview.js +71 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/useCsvUploadSessionPreview.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.js +74 -0
- package/esm/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/datasource-stats/useDatasourceStats.js +59 -0
- package/esm/packages/vuu-table-extras/src/datasource-stats/useDatasourceStats.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/FreezeControl.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/FreezeControl.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/FreezeControl.js +104 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/FreezeControl.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/FrozenBanner.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/FrozenBanner.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/FrozenBanner.js +53 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/FrozenBanner.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/freezeControlBadge.js +8 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/freezeControlBadge.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/useFreezeControl.js +66 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/useFreezeControl.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/index.js +43 -0
- package/esm/packages/vuu-table-extras/src/index.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.js +88 -0
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableSettingsAction.js +42 -0
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableSettingsAction.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/useTabbedTableConfigPanel.js +47 -0
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/useTabbedTableConfigPanel.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/table-footer/TableFooter.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/table-footer/TableFooter.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/table-footer/TableFooter.js +31 -0
- package/esm/packages/vuu-table-extras/src/table-footer/TableFooter.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/table-provider/TableProvider.js +56 -0
- package/esm/packages/vuu-table-extras/src/table-provider/TableProvider.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.js +112 -0
- package/esm/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/table-settings-panel/useTableSettings.js +58 -0
- package/esm/packages/vuu-table-extras/src/table-settings-panel/useTableSettings.js.map +1 -0
- package/package.json +18 -15
- package/types/cell-renderers/background-cell/BackgroundCell.d.ts +1 -1
- package/types/cell-renderers/dropdown-cell/DropdownCell.d.ts +1 -1
- package/types/cell-renderers/lookup-cell/LookupCell.d.ts +1 -1
- package/types/column-expression-input/column-language-parser/generated/column-parser.d.ts +1 -1
- package/types/column-expression-input/column-language-parser/generated/column-parser.terms.d.ts +24 -1
- package/types/column-expression-input/column-language-parser/test.d.mts +1 -1
- package/types/freeze-control/useFreezeControl.d.ts +1 -1
- package/src/calculated-column/CalculatedColumnPanel.js +0 -95
- package/src/calculated-column/useCalculatedColumnPanel.js +0 -60
- package/src/calculated-column/useEditCalculatedColumn.js +0 -104
- package/src/cell-edit-validators/CaseValidator.js +0 -21
- package/src/cell-edit-validators/PatternValidator.js +0 -23
- package/src/cell-edit-validators/index.js +0 -2
- package/src/cell-renderers/background-cell/BackgroundCell.css.js +0 -103
- package/src/cell-renderers/background-cell/BackgroundCell.js +0 -76
- package/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js +0 -9
- package/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js +0 -71
- package/src/cell-renderers/background-cell/BackgroundKeyframes.css.js +0 -187
- package/src/cell-renderers/background-cell/index.js +0 -2
- package/src/cell-renderers/background-cell/useDirection.js +0 -25
- package/src/cell-renderers/button-cell/IconButtonCell.css.js +0 -23
- package/src/cell-renderers/button-cell/IconButtonCell.js +0 -33
- package/src/cell-renderers/dropdown-cell/DropdownCell.css.js +0 -36
- package/src/cell-renderers/dropdown-cell/DropdownCell.js +0 -84
- package/src/cell-renderers/dropdown-cell/index.js +0 -1
- package/src/cell-renderers/index.js +0 -6
- package/src/cell-renderers/lookup-cell/LookupCell.js +0 -15
- package/src/cell-renderers/lookup-cell/index.js +0 -1
- package/src/cell-renderers/pct-progress-cell/PctProgressCell.css.js +0 -31
- package/src/cell-renderers/pct-progress-cell/PctProgressCell.js +0 -49
- package/src/cell-renderers/pct-progress-cell/index.js +0 -1
- package/src/cell-renderers/progress-cell/ProgressCell.css.js +0 -43
- package/src/cell-renderers/progress-cell/ProgressCell.js +0 -74
- package/src/cell-renderers/progress-cell/index.js +0 -1
- package/src/column-expression-input/ColumnExpressionInput.css.js +0 -94
- package/src/column-expression-input/ColumnExpressionInput.js +0 -28
- package/src/column-expression-input/column-function-descriptors.js +0 -281
- package/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.js +0 -18
- package/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js +0 -381
- package/src/column-expression-input/column-language-parser/column-expression-parse-utils.js +0 -56
- package/src/column-expression-input/column-language-parser/index.js +0 -3
- package/src/column-expression-input/functionDocInfo.js +0 -24
- package/src/column-expression-input/highlighting.js +0 -18
- package/src/column-expression-input/index.js +0 -4
- package/src/column-expression-input/theme.js +0 -57
- package/src/column-expression-input/useColumnAutoComplete.js +0 -307
- package/src/column-expression-input/useColumnExpressionEditor.js +0 -133
- package/src/column-expression-input/useColumnExpressionSuggestionProvider.js +0 -211
- package/src/column-formatting-settings/BaseNumericFormattingSettings.js +0 -96
- package/src/column-formatting-settings/ColumnFormattingPanel.js +0 -112
- package/src/column-formatting-settings/DateTimeFormattingSettings.js +0 -116
- package/src/column-formatting-settings/LongTypeFormattingSettings.css.js +0 -11
- package/src/column-formatting-settings/LongTypeFormattingSettings.js +0 -54
- package/src/column-formatting-settings/index.js +0 -3
- package/src/column-menu/ColumnMenu.css.js +0 -25
- package/src/column-menu/ColumnMenu.js +0 -69
- package/src/column-menu/column-action-types.js +0 -0
- package/src/column-menu/column-menu-utils.js +0 -318
- package/src/column-menu/useColumnActions.js +0 -77
- package/src/column-picker/ColumnModel.js +0 -113
- package/src/column-picker/ColumnPicker.css.js +0 -96
- package/src/column-picker/ColumnPicker.js +0 -204
- package/src/column-picker/ColumnPickerAction.js +0 -24
- package/src/column-picker/useColumnPicker.js +0 -42
- package/src/column-picker/useTableColumnPicker.js +0 -27
- package/src/column-picker/useTableColumnPickerDeprecated.js +0 -87
- package/src/column-settings-panel/ColumnNameLabel.css.js +0 -18
- package/src/column-settings-panel/ColumnNameLabel.js +0 -54
- package/src/column-settings-panel/ColumnSettingsPanel.css.js +0 -70
- package/src/column-settings-panel/ColumnSettingsPanel.js +0 -173
- package/src/column-settings-panel/useColumnSettings.js +0 -205
- package/src/csv-upload/CsvUpload.css.js +0 -28
- package/src/csv-upload/CsvUpload.js +0 -95
- package/src/csv-upload/index.js +0 -7
- package/src/csv-upload/parse/csv-errors.js +0 -54
- package/src/csv-upload/parse/csv-parse.js +0 -79
- package/src/csv-upload/parse/csv-schema-validation.js +0 -45
- package/src/csv-upload/parse/csv-upload-utils.js +0 -59
- package/src/csv-upload/parse/index.js +0 -5
- package/src/csv-upload/useCsvUpload.js +0 -260
- package/src/csv-upload/useCsvUploadSessionPreview.js +0 -70
- package/src/datasource-stats/DatasourceStats.css.js +0 -56
- package/src/datasource-stats/DatasourceStats.js +0 -89
- package/src/datasource-stats/useDatasourceStats.js +0 -48
- package/src/freeze-control/FreezeControl.css.js +0 -108
- package/src/freeze-control/FreezeControl.js +0 -96
- package/src/freeze-control/FrozenBanner.css.js +0 -16
- package/src/freeze-control/FrozenBanner.js +0 -48
- package/src/freeze-control/freezeControlBadge.js +0 -9
- package/src/freeze-control/useFreezeControl.js +0 -68
- package/src/index.js +0 -22
- package/src/tabbed-table-config-panel/TabbedTableConfigPanel.css.js +0 -23
- package/src/tabbed-table-config-panel/TabbedTableConfigPanel.js +0 -99
- package/src/tabbed-table-config-panel/TabbedTableSettingsAction.js +0 -28
- package/src/tabbed-table-config-panel/useTabbedTableConfigPanel.js +0 -29
- package/src/table-footer/TableFooter.css.js +0 -22
- package/src/table-footer/TableFooter.js +0 -30
- package/src/table-provider/TableProvider.js +0 -33
- package/src/table-settings-panel/TableSettingsPanel.css.js +0 -70
- package/src/table-settings-panel/TableSettingsPanel.js +0 -128
- package/src/table-settings-panel/useTableSettings.js +0 -50
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { parser } from "./generated/column-parser.js";
|
|
2
|
-
const strictParser = parser.configure({
|
|
3
|
-
strict: true
|
|
4
|
-
});
|
|
5
|
-
const RelationalOperands = [
|
|
6
|
-
"Number",
|
|
7
|
-
"String"
|
|
8
|
-
];
|
|
9
|
-
const ColumnNamedTerms = [
|
|
10
|
-
...RelationalOperands,
|
|
11
|
-
"AndCondition",
|
|
12
|
-
"ArithmeticExpression",
|
|
13
|
-
"BooleanOperator",
|
|
14
|
-
"RelationalOperatorOperator",
|
|
15
|
-
"CallExpression",
|
|
16
|
-
"CloseBrace",
|
|
17
|
-
"Column",
|
|
18
|
-
"Comma",
|
|
19
|
-
"ConditionalExpression",
|
|
20
|
-
"Divide",
|
|
21
|
-
"Equal",
|
|
22
|
-
"If",
|
|
23
|
-
"Minus",
|
|
24
|
-
"OpenBrace",
|
|
25
|
-
"OrCondition",
|
|
26
|
-
"ParenthesizedExpression",
|
|
27
|
-
"Plus",
|
|
28
|
-
"RelationalExpression",
|
|
29
|
-
"RelationalOperator",
|
|
30
|
-
"Times"
|
|
31
|
-
];
|
|
32
|
-
const isCompleteExpression = (src)=>{
|
|
33
|
-
try {
|
|
34
|
-
strictParser.parse(src);
|
|
35
|
-
return true;
|
|
36
|
-
} catch (err) {
|
|
37
|
-
return false;
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
const lastNamedChild = (node)=>{
|
|
41
|
-
let { lastChild } = node;
|
|
42
|
-
while(lastChild && !ColumnNamedTerms.includes(lastChild.name)){
|
|
43
|
-
lastChild = lastChild.prevSibling;
|
|
44
|
-
console.log(lastChild?.name);
|
|
45
|
-
}
|
|
46
|
-
return lastChild;
|
|
47
|
-
};
|
|
48
|
-
const isCompleteRelationalExpression = (node)=>{
|
|
49
|
-
if (node?.name === "RelationalExpression") {
|
|
50
|
-
const { firstChild } = node;
|
|
51
|
-
const lastChild = lastNamedChild(node);
|
|
52
|
-
if (firstChild?.name === "Column" && "string" == typeof lastChild?.name && RelationalOperands.includes(lastChild.name)) return true;
|
|
53
|
-
}
|
|
54
|
-
return false;
|
|
55
|
-
};
|
|
56
|
-
export { ColumnNamedTerms, isCompleteExpression, isCompleteRelationalExpression, lastNamedChild };
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { createEl } from "@vuu-ui/vuu-utils";
|
|
2
|
-
const functionDocInfo = ({ name, description, example, params, type })=>{
|
|
3
|
-
const rootElement = createEl("div", "vuuFunctionDoc");
|
|
4
|
-
const headingElement = createEl("div", "function-heading");
|
|
5
|
-
const nameElement = createEl("span", "function-name", name);
|
|
6
|
-
const paramElement = createEl("span", "param-list", params.description);
|
|
7
|
-
const typeElement = createEl("span", "function-type", type);
|
|
8
|
-
headingElement.appendChild(nameElement);
|
|
9
|
-
headingElement.appendChild(paramElement);
|
|
10
|
-
headingElement.appendChild(typeElement);
|
|
11
|
-
const child2 = createEl("p", void 0, description);
|
|
12
|
-
rootElement.appendChild(headingElement);
|
|
13
|
-
rootElement.appendChild(child2);
|
|
14
|
-
if (example) {
|
|
15
|
-
const exampleElement = createEl("div", "example-container");
|
|
16
|
-
const expressionElement = createEl("div", "example-expression", example.expression);
|
|
17
|
-
const resultElement = createEl("div", "example-result", example.result);
|
|
18
|
-
exampleElement.appendChild(expressionElement);
|
|
19
|
-
rootElement.appendChild(exampleElement);
|
|
20
|
-
rootElement.appendChild(resultElement);
|
|
21
|
-
}
|
|
22
|
-
return rootElement;
|
|
23
|
-
};
|
|
24
|
-
export { functionDocInfo };
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { HighlightStyle, syntaxHighlighting, tags } from "@vuu-ui/vuu-codemirror";
|
|
2
|
-
const myHighlightStyle = HighlightStyle.define([
|
|
3
|
-
{
|
|
4
|
-
tag: tags.attributeValue,
|
|
5
|
-
color: "var(--vuuFilterEditor-variableColor);font-weight: bold"
|
|
6
|
-
},
|
|
7
|
-
{
|
|
8
|
-
tag: tags.variableName,
|
|
9
|
-
color: "var(--vuuFilterEditor-variableColor)"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
tag: tags.comment,
|
|
13
|
-
color: "green",
|
|
14
|
-
fontStyle: "italic"
|
|
15
|
-
}
|
|
16
|
-
]);
|
|
17
|
-
const vuuHighlighting = syntaxHighlighting(myHighlightStyle);
|
|
18
|
-
export { vuuHighlighting };
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { EditorView } from "@vuu-ui/vuu-codemirror";
|
|
2
|
-
const vuuTheme = EditorView.theme({
|
|
3
|
-
"&": {
|
|
4
|
-
border: "solid 1px var(--salt-container-primary-borderColor)",
|
|
5
|
-
color: "var(--vuuFilterEditor-color)",
|
|
6
|
-
backgroundColor: "var(--vuuFilterEditor-background)"
|
|
7
|
-
},
|
|
8
|
-
".cm-content": {
|
|
9
|
-
caretColor: "var(--vuuFilterEditor-cursorColor)"
|
|
10
|
-
},
|
|
11
|
-
"&.cm-focused .cm-cursor": {
|
|
12
|
-
borderLeftColor: "var(--vuuFilterEditor-cursorColor)"
|
|
13
|
-
},
|
|
14
|
-
"&.cm-focused .cm-selectionBackground, ::selection": {
|
|
15
|
-
backgroundColor: "var(--vuuFilterEditor-selectionBackground)"
|
|
16
|
-
},
|
|
17
|
-
".cm-selectionBackground, ::selection": {
|
|
18
|
-
backgroundColor: "var(--vuuFilterEditor-selectionBackground)"
|
|
19
|
-
},
|
|
20
|
-
".cm-scroller": {
|
|
21
|
-
fontFamily: "var(--vuuFilterEditor-fontFamily)"
|
|
22
|
-
},
|
|
23
|
-
".cm-completionLabel": {
|
|
24
|
-
color: "var(--vuu-color-gray-50)"
|
|
25
|
-
},
|
|
26
|
-
".cm-completionMatchedText": {
|
|
27
|
-
color: "var(--vuu-color-gray-80)",
|
|
28
|
-
fontWeight: 700,
|
|
29
|
-
textDecoration: "none"
|
|
30
|
-
},
|
|
31
|
-
".cm-tooltip": {
|
|
32
|
-
background: "var(--vuuFilterEditor-tooltipBackground)",
|
|
33
|
-
border: "var(--vuuFilterEditor-tooltipBorder)",
|
|
34
|
-
borderRadius: "4px",
|
|
35
|
-
boxShadow: "var(--vuuFilterEditor-tooltipElevation)",
|
|
36
|
-
"&.cm-tooltip-autocomplete > ul": {
|
|
37
|
-
fontFamily: "var(--vuuFilterEditor-fontFamily)",
|
|
38
|
-
fontSize: "var(--vuuFilterEditor-fontSize)",
|
|
39
|
-
maxHeight: "240px"
|
|
40
|
-
},
|
|
41
|
-
"&.cm-tooltip-autocomplete > ul > li": {
|
|
42
|
-
height: "var(--vuuFilterEditor-suggestion-height)",
|
|
43
|
-
padding: "0 3px",
|
|
44
|
-
lineHeight: "var(--vuuFilterEditor-suggestion-height)"
|
|
45
|
-
},
|
|
46
|
-
"&.cm-tooltip-autocomplete li[aria-selected]": {
|
|
47
|
-
background: "var(--vuuFilterEditor-suggestion-selectedBackground)",
|
|
48
|
-
color: "var(--vuuFilterEditor-suggestion-selectedColor)"
|
|
49
|
-
},
|
|
50
|
-
"&.cm-tooltip-autocomplete li .cm-completionDetail": {
|
|
51
|
-
color: "var(--vuuFilterEditor-suggestion-detailColor)"
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}, {
|
|
55
|
-
dark: false
|
|
56
|
-
});
|
|
57
|
-
export { vuuTheme };
|
|
@@ -1,307 +0,0 @@
|
|
|
1
|
-
import { booleanJoinSuggestions, getNamedParentNode, getPreviousNode, getValue, syntaxTree } from "@vuu-ui/vuu-codemirror";
|
|
2
|
-
import { useCallback } from "react";
|
|
3
|
-
import { ColumnNamedTerms, isCompleteExpression, isCompleteRelationalExpression, lastNamedChild } from "./column-language-parser/index.js";
|
|
4
|
-
const applyPrefix = (completions, prefix)=>prefix ? completions.map((completion)=>({
|
|
5
|
-
...completion,
|
|
6
|
-
apply: "function" == typeof completion.apply ? completion.apply : `${prefix}${completion.apply ?? completion.label}`
|
|
7
|
-
})) : completions;
|
|
8
|
-
const isOperator = (node)=>void 0 === node ? false : [
|
|
9
|
-
"Times",
|
|
10
|
-
"Divide",
|
|
11
|
-
"Plus",
|
|
12
|
-
"Minus"
|
|
13
|
-
].includes(node.name);
|
|
14
|
-
const completionDone = (onSubmit)=>({
|
|
15
|
-
apply: ()=>{
|
|
16
|
-
onSubmit?.();
|
|
17
|
-
},
|
|
18
|
-
label: "Done",
|
|
19
|
-
boost: 10
|
|
20
|
-
});
|
|
21
|
-
const getLastChild = (node, context)=>{
|
|
22
|
-
let { lastChild: childNode } = node;
|
|
23
|
-
const { pos } = context;
|
|
24
|
-
while(childNode){
|
|
25
|
-
const isBeforeCursor = childNode.from < pos;
|
|
26
|
-
if (isBeforeCursor && ColumnNamedTerms.includes(childNode.name)) {
|
|
27
|
-
if ("ParenthesizedExpression" === childNode.name) {
|
|
28
|
-
const expression = childNode.firstChild?.nextSibling;
|
|
29
|
-
if (expression) childNode = expression;
|
|
30
|
-
}
|
|
31
|
-
return childNode;
|
|
32
|
-
}
|
|
33
|
-
childNode = childNode.prevSibling;
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
const getFunctionName = (node, state)=>{
|
|
37
|
-
if ("ArgList" === node.name) {
|
|
38
|
-
const functionNode = node.prevSibling;
|
|
39
|
-
if (functionNode) return getValue(functionNode, state);
|
|
40
|
-
} else if ("OpenBrace" === node.name) {
|
|
41
|
-
const maybeFunction = node.parent?.prevSibling;
|
|
42
|
-
if (maybeFunction?.name === "Function") return getValue(maybeFunction, state);
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
const getRelationalOperator = (node, state)=>{
|
|
46
|
-
if ("RelationalExpression" === node.name) {
|
|
47
|
-
const lastNode = lastNamedChild(node);
|
|
48
|
-
if (lastNode?.name === "RelationalOperator") return getValue(lastNode, state);
|
|
49
|
-
} else {
|
|
50
|
-
const prevNode = node.prevSibling;
|
|
51
|
-
if (prevNode?.name === "RelationalOperator") return getValue(prevNode, state);
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
const getColumnName = (node, state)=>{
|
|
55
|
-
if ("RelationalExpression" === node.name) {
|
|
56
|
-
if (node.firstChild?.name === "Column") return getValue(node.firstChild, state);
|
|
57
|
-
} else {
|
|
58
|
-
const prevNode = node.prevSibling;
|
|
59
|
-
if (prevNode?.name === "Column") return getValue(prevNode, state);
|
|
60
|
-
if (prevNode?.name === "RelationalOperator") return getColumnName(prevNode, state);
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
const useColumnAutoComplete_makeSuggestions = async (context, suggestionProvider, suggestionType, optionalArgs = {})=>{
|
|
64
|
-
const options = await suggestionProvider.getSuggestions(suggestionType, optionalArgs);
|
|
65
|
-
const { startsWith = "" } = optionalArgs;
|
|
66
|
-
return {
|
|
67
|
-
from: context.pos - startsWith.length,
|
|
68
|
-
options
|
|
69
|
-
};
|
|
70
|
-
};
|
|
71
|
-
const handleConditionalExpression = (node, context, suggestionProvider, maybeComplete, onSubmit)=>{
|
|
72
|
-
const lastChild = getLastChild(node, context);
|
|
73
|
-
switch(lastChild?.name){
|
|
74
|
-
case "If":
|
|
75
|
-
return useColumnAutoComplete_makeSuggestions(context, suggestionProvider, "expression", {
|
|
76
|
-
prefix: "( "
|
|
77
|
-
});
|
|
78
|
-
case "OpenBrace":
|
|
79
|
-
return useColumnAutoComplete_makeSuggestions(context, suggestionProvider, "expression");
|
|
80
|
-
case "Condition":
|
|
81
|
-
return useColumnAutoComplete_makeSuggestions(context, suggestionProvider, "expression", {
|
|
82
|
-
prefix: ", "
|
|
83
|
-
});
|
|
84
|
-
case "CloseBrace":
|
|
85
|
-
if (maybeComplete) {
|
|
86
|
-
const options = [
|
|
87
|
-
completionDone(onSubmit)
|
|
88
|
-
];
|
|
89
|
-
return {
|
|
90
|
-
from: context.pos,
|
|
91
|
-
options
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
const promptToSave = (context, onSubmit)=>{
|
|
97
|
-
const options = [
|
|
98
|
-
completionDone(onSubmit)
|
|
99
|
-
];
|
|
100
|
-
return {
|
|
101
|
-
from: context.pos,
|
|
102
|
-
options
|
|
103
|
-
};
|
|
104
|
-
};
|
|
105
|
-
const useColumnAutoComplete = (suggestionProvider, onSubmit)=>{
|
|
106
|
-
const makeSuggestions = useCallback(async (context, suggestionType, optionalArgs = {})=>{
|
|
107
|
-
const options = await suggestionProvider.getSuggestions(suggestionType, optionalArgs);
|
|
108
|
-
const { startsWith = "" } = optionalArgs;
|
|
109
|
-
return {
|
|
110
|
-
from: context.pos - startsWith.length,
|
|
111
|
-
options
|
|
112
|
-
};
|
|
113
|
-
}, [
|
|
114
|
-
suggestionProvider
|
|
115
|
-
]);
|
|
116
|
-
return useCallback(async (context)=>{
|
|
117
|
-
const { state, pos } = context;
|
|
118
|
-
const word = context.matchBefore(/\w*/) ?? {
|
|
119
|
-
from: 0,
|
|
120
|
-
to: 0,
|
|
121
|
-
text: void 0
|
|
122
|
-
};
|
|
123
|
-
const tree = syntaxTree(state);
|
|
124
|
-
const nodeBefore = tree.resolveInner(pos, -1);
|
|
125
|
-
const text = state.doc.toString();
|
|
126
|
-
const maybeComplete = isCompleteExpression(text);
|
|
127
|
-
switch(nodeBefore.name){
|
|
128
|
-
case "If":
|
|
129
|
-
return makeSuggestions(context, "expression", {
|
|
130
|
-
prefix: "( "
|
|
131
|
-
});
|
|
132
|
-
case "Condition":
|
|
133
|
-
{
|
|
134
|
-
const lastChild = getLastChild(nodeBefore, context);
|
|
135
|
-
if (lastChild?.name === "Column") {
|
|
136
|
-
const prevChild = getPreviousNode(lastChild);
|
|
137
|
-
if (prevChild?.name !== "RelationalOperator") return makeSuggestions(context, "condition-operator", {
|
|
138
|
-
columnName: getValue(lastChild, state)
|
|
139
|
-
});
|
|
140
|
-
} else if (lastChild?.name === "RelationalOperator") return makeSuggestions(context, "expression");
|
|
141
|
-
}
|
|
142
|
-
break;
|
|
143
|
-
case "ConditionalExpression":
|
|
144
|
-
return handleConditionalExpression(nodeBefore, context, suggestionProvider);
|
|
145
|
-
case "RelationalExpression":
|
|
146
|
-
if (isCompleteRelationalExpression(nodeBefore)) return {
|
|
147
|
-
from: context.pos,
|
|
148
|
-
options: booleanJoinSuggestions.concat({
|
|
149
|
-
label: ", <truthy expression>, <falsy expression>",
|
|
150
|
-
apply: ", "
|
|
151
|
-
})
|
|
152
|
-
};
|
|
153
|
-
{
|
|
154
|
-
const operator = getRelationalOperator(nodeBefore, state);
|
|
155
|
-
const columnName = getColumnName(nodeBefore, state);
|
|
156
|
-
if (operator) return makeSuggestions(context, "expression");
|
|
157
|
-
{
|
|
158
|
-
const options = await suggestionProvider.getSuggestions("condition-operator", {
|
|
159
|
-
columnName
|
|
160
|
-
});
|
|
161
|
-
return {
|
|
162
|
-
from: context.pos,
|
|
163
|
-
options
|
|
164
|
-
};
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
case "RelationalOperator":
|
|
168
|
-
return makeSuggestions(context, "expression");
|
|
169
|
-
case "String":
|
|
170
|
-
{
|
|
171
|
-
const operator = getRelationalOperator(nodeBefore, state);
|
|
172
|
-
const columnName = getColumnName(nodeBefore, state);
|
|
173
|
-
const { from, to } = nodeBefore;
|
|
174
|
-
if (to - from === 2 && context.pos === from + 1) {
|
|
175
|
-
if (columnName && operator) return makeSuggestions(context, "columnValue", {
|
|
176
|
-
columnName,
|
|
177
|
-
operator,
|
|
178
|
-
startsWith: word.text
|
|
179
|
-
});
|
|
180
|
-
} else if (to - from > 2 && context.pos === to) return makeSuggestions(context, "expression", {
|
|
181
|
-
prefix: ", "
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
break;
|
|
185
|
-
case "ArithmeticExpression":
|
|
186
|
-
{
|
|
187
|
-
const lastChild = getLastChild(nodeBefore, context);
|
|
188
|
-
if (lastChild?.name === "Column") return makeSuggestions(context, "expression");
|
|
189
|
-
if (isOperator(lastChild)) {
|
|
190
|
-
const operator = lastChild.name;
|
|
191
|
-
return makeSuggestions(context, "column", {
|
|
192
|
-
operator
|
|
193
|
-
});
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
break;
|
|
197
|
-
case "OpenBrace":
|
|
198
|
-
{
|
|
199
|
-
const functionName = getFunctionName(nodeBefore, state);
|
|
200
|
-
return makeSuggestions(context, "expression", {
|
|
201
|
-
functionName
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
case "ArgList":
|
|
205
|
-
{
|
|
206
|
-
const functionName = getFunctionName(nodeBefore, state);
|
|
207
|
-
const lastArgument = getLastChild(nodeBefore, context);
|
|
208
|
-
const prefix = lastArgument?.name === "OpenBrace" || lastArgument?.name === "Comma" ? void 0 : ",";
|
|
209
|
-
let options = await suggestionProvider.getSuggestions("expression", {
|
|
210
|
-
functionName
|
|
211
|
-
});
|
|
212
|
-
options = prefix ? applyPrefix(options, ", ") : options;
|
|
213
|
-
if (lastArgument?.name !== "OpenBrace" && lastArgument?.name !== "Comma") options = [
|
|
214
|
-
{
|
|
215
|
-
apply: ") ",
|
|
216
|
-
boost: 10,
|
|
217
|
-
label: "Done - no more arguments"
|
|
218
|
-
}
|
|
219
|
-
].concat(options);
|
|
220
|
-
return {
|
|
221
|
-
from: context.pos,
|
|
222
|
-
options
|
|
223
|
-
};
|
|
224
|
-
}
|
|
225
|
-
case "Equal":
|
|
226
|
-
if ("=" === text.trim()) return makeSuggestions(context, "expression");
|
|
227
|
-
break;
|
|
228
|
-
case "ParenthesizedExpression":
|
|
229
|
-
case "ColumnDefinitionExpression":
|
|
230
|
-
if (0 === context.pos) return makeSuggestions(context, "expression");
|
|
231
|
-
{
|
|
232
|
-
const lastChild = getLastChild(nodeBefore, context);
|
|
233
|
-
if (lastChild?.name === "Column") {
|
|
234
|
-
if (maybeComplete) {
|
|
235
|
-
const options = [
|
|
236
|
-
completionDone(onSubmit.current)
|
|
237
|
-
];
|
|
238
|
-
const columnName = getValue(lastChild, state);
|
|
239
|
-
const columnOptions = await suggestionProvider.getSuggestions("operator", {
|
|
240
|
-
columnName
|
|
241
|
-
});
|
|
242
|
-
return {
|
|
243
|
-
from: context.pos,
|
|
244
|
-
options: options.concat(columnOptions)
|
|
245
|
-
};
|
|
246
|
-
}
|
|
247
|
-
} else if (lastChild?.name === "CallExpression") {
|
|
248
|
-
if (maybeComplete) return {
|
|
249
|
-
from: context.pos,
|
|
250
|
-
options: [
|
|
251
|
-
completionDone(onSubmit.current)
|
|
252
|
-
]
|
|
253
|
-
};
|
|
254
|
-
} else if (lastChild?.name === "ArithmeticExpression") {
|
|
255
|
-
if (maybeComplete) {
|
|
256
|
-
let options = [
|
|
257
|
-
completionDone(onSubmit.current)
|
|
258
|
-
];
|
|
259
|
-
const lastExpressionChild = getLastChild(lastChild, context);
|
|
260
|
-
if (lastExpressionChild?.name === "Column") {
|
|
261
|
-
const columnName = getValue(lastExpressionChild, state);
|
|
262
|
-
const suggestions = await suggestionProvider.getSuggestions("operator", {
|
|
263
|
-
columnName
|
|
264
|
-
});
|
|
265
|
-
options = options.concat(suggestions);
|
|
266
|
-
}
|
|
267
|
-
return {
|
|
268
|
-
from: context.pos,
|
|
269
|
-
options
|
|
270
|
-
};
|
|
271
|
-
}
|
|
272
|
-
} else if (lastChild?.name === "ConditionalExpression") return handleConditionalExpression(lastChild, context, suggestionProvider, maybeComplete, onSubmit.current);
|
|
273
|
-
break;
|
|
274
|
-
}
|
|
275
|
-
case "Column":
|
|
276
|
-
{
|
|
277
|
-
const isPartialMatch = await suggestionProvider.isPartialMatch("expression", void 0, word.text);
|
|
278
|
-
if (isPartialMatch) return makeSuggestions(context, "expression", {
|
|
279
|
-
startsWith: word.text
|
|
280
|
-
});
|
|
281
|
-
}
|
|
282
|
-
break;
|
|
283
|
-
case "Comma":
|
|
284
|
-
{
|
|
285
|
-
const parentNode = getNamedParentNode(nodeBefore);
|
|
286
|
-
if (parentNode?.name === "ConditionalExpression") return makeSuggestions(context, "expression");
|
|
287
|
-
}
|
|
288
|
-
break;
|
|
289
|
-
case "CloseBrace":
|
|
290
|
-
{
|
|
291
|
-
const parentNode = getNamedParentNode(nodeBefore);
|
|
292
|
-
if (parentNode?.name === "ConditionalExpression") return handleConditionalExpression(parentNode, context, suggestionProvider, maybeComplete, onSubmit.current);
|
|
293
|
-
if (parentNode?.name === "ArgList") {
|
|
294
|
-
if (maybeComplete) return promptToSave(context, onSubmit.current);
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
break;
|
|
298
|
-
default:
|
|
299
|
-
if (nodeBefore?.prevSibling?.name === "FilterClause") console.log("looks like we ight be a or|and operator");
|
|
300
|
-
}
|
|
301
|
-
}, [
|
|
302
|
-
makeSuggestions,
|
|
303
|
-
onSubmit,
|
|
304
|
-
suggestionProvider
|
|
305
|
-
]);
|
|
306
|
-
};
|
|
307
|
-
export { useColumnAutoComplete };
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import { EditorState, EditorView, autocompletion, defaultKeymap, ensureSyntaxTree, keymap, minimalSetup, startCompletion } from "@vuu-ui/vuu-codemirror";
|
|
2
|
-
import { createEl } from "@vuu-ui/vuu-utils";
|
|
3
|
-
import { useCallback, useEffect, useMemo, useRef } from "react";
|
|
4
|
-
import { columnExpressionLanguageSupport } from "./column-language-parser/index.js";
|
|
5
|
-
import { walkTree } from "./column-language-parser/ColumnExpressionTreeWalker.js";
|
|
6
|
-
import { vuuHighlighting } from "./highlighting.js";
|
|
7
|
-
import { vuuTheme } from "./theme.js";
|
|
8
|
-
import { useColumnAutoComplete } from "./useColumnAutoComplete.js";
|
|
9
|
-
const getView = (ref)=>{
|
|
10
|
-
if (void 0 == ref.current) throw Error("EditorView not defined");
|
|
11
|
-
return ref.current;
|
|
12
|
-
};
|
|
13
|
-
const getOptionClass = ()=>"vuuSuggestion";
|
|
14
|
-
const noop = ()=>console.log("noooop");
|
|
15
|
-
const hasExpressionType = (completion)=>"expressionType" in completion;
|
|
16
|
-
const injectOptionContent = (completion)=>{
|
|
17
|
-
if (!hasExpressionType(completion)) return null;
|
|
18
|
-
{
|
|
19
|
-
const div = createEl("div", "expression-type-container");
|
|
20
|
-
const span = createEl("span", "expression-type", completion.expressionType);
|
|
21
|
-
div.appendChild(span);
|
|
22
|
-
return div;
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
const useColumnExpressionEditor = ({ onChange, onSubmitExpression, source, suggestionProvider })=>{
|
|
26
|
-
const editorRef = useRef(null);
|
|
27
|
-
const onSubmitRef = useRef(noop);
|
|
28
|
-
const viewRef = useRef(void 0);
|
|
29
|
-
const completionFn = useColumnAutoComplete(suggestionProvider, onSubmitRef);
|
|
30
|
-
const [createState, clearInput, submit] = useMemo(()=>{
|
|
31
|
-
const parseExpression = ()=>{
|
|
32
|
-
const view = getView(viewRef);
|
|
33
|
-
const source = view.state.doc.toString();
|
|
34
|
-
const tree = ensureSyntaxTree(view.state, view.state.doc.length, 5000);
|
|
35
|
-
if (!tree) return [
|
|
36
|
-
"",
|
|
37
|
-
void 0
|
|
38
|
-
];
|
|
39
|
-
{
|
|
40
|
-
const expression = walkTree(tree, source);
|
|
41
|
-
return [
|
|
42
|
-
source,
|
|
43
|
-
expression
|
|
44
|
-
];
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
const clearInput = ()=>{
|
|
48
|
-
getView(viewRef).setState(createState());
|
|
49
|
-
};
|
|
50
|
-
const submitExpression = ()=>{
|
|
51
|
-
const [source, expression] = parseExpression();
|
|
52
|
-
onSubmitExpression?.(source, expression);
|
|
53
|
-
};
|
|
54
|
-
const showSuggestions = (key)=>keymap.of([
|
|
55
|
-
{
|
|
56
|
-
key,
|
|
57
|
-
run () {
|
|
58
|
-
startCompletion(getView(viewRef));
|
|
59
|
-
return true;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
]);
|
|
63
|
-
const createState = ()=>EditorState.create({
|
|
64
|
-
doc: source,
|
|
65
|
-
extensions: [
|
|
66
|
-
minimalSetup,
|
|
67
|
-
autocompletion({
|
|
68
|
-
addToOptions: [
|
|
69
|
-
{
|
|
70
|
-
render: injectOptionContent,
|
|
71
|
-
position: 70
|
|
72
|
-
}
|
|
73
|
-
],
|
|
74
|
-
override: [
|
|
75
|
-
completionFn
|
|
76
|
-
],
|
|
77
|
-
optionClass: getOptionClass
|
|
78
|
-
}),
|
|
79
|
-
columnExpressionLanguageSupport(),
|
|
80
|
-
keymap.of(defaultKeymap),
|
|
81
|
-
showSuggestions("ArrowDown"),
|
|
82
|
-
EditorView.updateListener.of((v)=>{
|
|
83
|
-
const view = getView(viewRef);
|
|
84
|
-
if (v.docChanged) {
|
|
85
|
-
startCompletion(view);
|
|
86
|
-
const source = view.state.doc.toString();
|
|
87
|
-
onChange?.(source);
|
|
88
|
-
}
|
|
89
|
-
}),
|
|
90
|
-
EditorState.transactionFilter.of((tr)=>tr.newDoc.lines > 1 ? [] : tr),
|
|
91
|
-
vuuTheme,
|
|
92
|
-
vuuHighlighting
|
|
93
|
-
]
|
|
94
|
-
});
|
|
95
|
-
onSubmitRef.current = ()=>{
|
|
96
|
-
submitExpression();
|
|
97
|
-
};
|
|
98
|
-
return [
|
|
99
|
-
createState,
|
|
100
|
-
clearInput,
|
|
101
|
-
submitExpression
|
|
102
|
-
];
|
|
103
|
-
}, [
|
|
104
|
-
completionFn,
|
|
105
|
-
onChange,
|
|
106
|
-
onSubmitExpression,
|
|
107
|
-
source
|
|
108
|
-
]);
|
|
109
|
-
useEffect(()=>{
|
|
110
|
-
if (!editorRef.current) throw Error("editor not in dom");
|
|
111
|
-
viewRef.current = new EditorView({
|
|
112
|
-
state: createState(),
|
|
113
|
-
parent: editorRef.current
|
|
114
|
-
});
|
|
115
|
-
return ()=>{
|
|
116
|
-
viewRef.current?.destroy();
|
|
117
|
-
};
|
|
118
|
-
}, [
|
|
119
|
-
completionFn,
|
|
120
|
-
createState
|
|
121
|
-
]);
|
|
122
|
-
const handleBlur = useCallback(()=>{
|
|
123
|
-
submit();
|
|
124
|
-
}, [
|
|
125
|
-
submit
|
|
126
|
-
]);
|
|
127
|
-
return {
|
|
128
|
-
editorRef,
|
|
129
|
-
clearInput,
|
|
130
|
-
onBlur: handleBlur
|
|
131
|
-
};
|
|
132
|
-
};
|
|
133
|
-
export { useColumnExpressionEditor };
|