@adaptabletools/adaptable 21.2.1 → 22.0.0-canary.0
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/icons/inspector.svg +1 -0
- package/index.css +6464 -5488
- package/index.css.map +1 -1
- package/package.json +5 -6
- package/src/AdaptableInterfaces/IAdaptable.d.ts +0 -1
- package/src/AdaptableState/ChartingState.d.ts +1 -1
- package/src/AdaptableState/Common/AdaptableAlert.d.ts +2 -2
- package/src/AdaptableState/Common/AdaptableIcon.d.ts +1 -1
- package/src/AdaptableState/Common/AdaptablePredicate.js +7 -3
- package/src/AdaptableState/Common/AggregationColumns.d.ts +3 -3
- package/src/AdaptableState/Common/DataUpdateConfig.d.ts +4 -4
- package/src/AdaptableState/TeamSharingState.d.ts +1 -1
- package/src/Api/CustomSortApi.d.ts +6 -1
- package/src/Api/Implementation/ColumnApiImpl.d.ts +3 -0
- package/src/Api/Implementation/ColumnApiImpl.js +12 -3
- package/src/Api/Implementation/CustomSortApiImpl.d.ts +2 -1
- package/src/Api/Implementation/CustomSortApiImpl.js +5 -1
- package/src/Api/Implementation/LayoutApiImpl.d.ts +1 -0
- package/src/Api/Implementation/LayoutApiImpl.js +85 -2
- package/src/Api/Implementation/LayoutHelpers.d.ts +2 -2
- package/src/Api/Implementation/PredicateApiImpl.d.ts +1 -0
- package/src/Api/Implementation/PredicateApiImpl.js +15 -1
- package/src/Api/Implementation/ScheduleApiImpl.d.ts +1 -0
- package/src/Api/Implementation/ScheduleApiImpl.js +12 -0
- package/src/Api/Implementation/ShortcutApiImpl.d.ts +1 -0
- package/src/Api/Implementation/ShortcutApiImpl.js +4 -0
- package/src/Api/Implementation/StyledColumnApiImpl.d.ts +1 -0
- package/src/Api/Implementation/StyledColumnApiImpl.js +4 -0
- package/src/Api/Internal/AdaptableInternalApi.d.ts +0 -1
- package/src/Api/Internal/AdaptableInternalApi.js +3 -3
- package/src/Api/Internal/ColumnFilterInternalApi.js +1 -0
- package/src/Api/Internal/LayoutInternalApi.d.ts +6 -0
- package/src/Api/Internal/LayoutInternalApi.js +34 -0
- package/src/Api/LayoutApi.d.ts +7 -1
- package/src/Api/ScheduleApi.d.ts +5 -0
- package/src/Api/ShortcutApi.d.ts +5 -0
- package/src/Api/StyledColumnApi.d.ts +5 -0
- package/src/Redux/ActionsReducers/CommentsRedux.d.ts +1 -1
- package/src/Redux/ActionsReducers/DashboardRedux.d.ts +1 -1
- package/src/Redux/ActionsReducers/InternalRedux.d.ts +6 -6
- package/src/Redux/ActionsReducers/LayoutRedux.d.ts +3 -9
- package/src/Redux/ActionsReducers/StyledColumnRedux.d.ts +6 -6
- package/src/Redux/ActionsReducers/StyledColumnRedux.js +16 -16
- package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +3 -0
- package/src/Strategy/FormatColumnModule.js +2 -2
- package/src/Strategy/Utilities/Alert/getAlertPreviewViewItems.js +1 -1
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +2 -1
- package/src/Strategy/Utilities/Layout/getLayoutFilterViewItems.js +4 -3
- package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.d.ts +4 -4
- package/src/Utilities/Extensions/StringExtensions.d.ts +1 -1
- package/src/Utilities/Helpers/StyleHelper.d.ts +1 -1
- package/src/Utilities/Services/Interface/IAlertService.d.ts +2 -2
- package/src/Utilities/createAgStatusPanelComponent.d.ts +1 -1
- package/src/Utilities/getObjectTagsViewItems.js +1 -1
- package/src/Utilities/runIfNotResolvedIn.d.ts +1 -1
- package/src/View/AdaptableComputedCSSVarsContext.js +6 -1
- package/src/View/AdaptablePopover/index.d.ts +1 -1
- package/src/View/AdaptablePopover/index.js +3 -3
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +7 -8
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +7 -6
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/Components/FormBox.d.ts +4 -2
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/Components/FormBox.js +3 -3
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/EntitlementsForm.js +9 -9
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/GridOptionsForm.js +3 -3
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsSidebarForm.js +4 -4
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +4 -4
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UiOptionsForm.js +2 -2
- package/src/View/AdaptableWizardView/Wizard.js +1 -1
- package/src/View/AdaptableWizardView/index.js +1 -4
- package/src/View/Alert/ActiveAlertsPanelItemLabel.js +2 -2
- package/src/View/Alert/AlertStatusSubPanel.js +1 -1
- package/src/View/Alert/AlertViewPanel.js +2 -2
- package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +3 -20
- package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +15 -13
- package/src/View/Alert/Wizard/AlertButtonsEditor.js +25 -22
- package/src/View/Alert/Wizard/AlertMessageWizardSection.js +12 -16
- package/src/View/Alert/Wizard/AlertNotificationWizardSection.d.ts +3 -1
- package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +7 -7
- package/src/View/Alert/Wizard/AlertRulesWizardSection.js +2 -2
- package/src/View/Alert/Wizard/AlertScopeWizardSection.js +2 -2
- package/src/View/Alert/Wizard/AlertTypeWizardSection.js +1 -1
- package/src/View/Alert/Wizard/AlertWizard.js +8 -8
- package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +11 -8
- package/src/View/BulkUpdate/BulkUpdatePopup.js +11 -11
- package/src/View/BulkUpdate/BulkUpdateViewPanel.js +4 -4
- package/src/View/CalculatedColumn/CalculatedColumnSummary.d.ts +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.js +8 -8
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.d.ts +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +4 -4
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +4 -5
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.d.ts +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.js +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.d.ts +0 -2
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +8 -14
- package/src/View/CalculatedColumn/Wizard/calculatedColumnTypes.d.ts +2 -0
- package/src/View/CalculatedColumn/Wizard/calculatedColumnTypes.js +6 -0
- package/src/View/CellSummary/CellSummaryPopup.js +1 -1
- package/src/View/CellSummary/CellSummaryViewPanel.js +5 -5
- package/src/View/Charting/ChartingStatusBarPopover.js +4 -4
- package/src/View/Charting/ChartingViewPanel.js +7 -7
- package/src/View/Charting/ChartingWizard/AgChargingWizard/AgChargingWizard.js +4 -4
- package/src/View/Charting/ChartingWizard/ExternalChartingWizard/ExternalChartingWizard.js +3 -3
- package/src/View/Charting/useChartingElements.d.ts +1 -1
- package/src/View/Charting/useChartingElements.js +1 -1
- package/src/View/ColumnInfo/ColumnInfo.js +14 -19
- package/src/View/ColumnInfo/ColumnInfoPopup.js +2 -2
- package/src/View/Comments/CommentsEditor.js +14 -17
- package/src/View/Comments/CommentsPopup.js +6 -6
- package/src/View/Components/AdaptableDateInput/index.js +1 -1
- package/src/View/Components/AdaptableInput/index.js +3 -2
- package/src/View/Components/AdaptableObjectCollection/index.d.ts +2 -2
- package/src/View/Components/AdaptableObjectCollection/index.js +9 -5
- package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +10 -10
- package/src/View/Components/AdaptableObjectList/AdaptableObjectList.d.ts +2 -0
- package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +20 -18
- package/src/View/Components/AdaptableObjectRow/index.d.ts +1 -0
- package/src/View/Components/AdaptableObjectRow/index.js +4 -5
- package/src/View/Components/Buttons/ButtonBase/index.d.ts +1 -2
- package/src/View/Components/Buttons/ButtonBase/index.js +5 -4
- package/src/View/Components/Buttons/ButtonClear.js +2 -1
- package/src/View/Components/Buttons/ButtonFunction.js +2 -1
- package/src/View/Components/Buttons/ButtonNew.d.ts +11 -1
- package/src/View/Components/Buttons/ButtonNew.js +2 -1
- package/src/View/Components/Buttons/EntityListActionButtons.d.ts +1 -1
- package/src/View/Components/Buttons/EntityListActionButtons.js +14 -43
- package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.d.ts +1 -0
- package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.js +3 -2
- package/src/View/Components/CellPopup/index.d.ts +1 -1
- package/src/View/Components/ColumnFilter/AdaptableColumnFilter.d.ts +4 -3
- package/src/View/Components/ColumnFilter/ColumnFilter.d.ts +4 -2
- package/src/View/Components/ColumnFilter/ColumnFilter.js +26 -23
- package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +6 -6
- package/src/View/Components/ColumnFilter/FloatingFilter.js +6 -6
- package/src/View/Components/ColumnFilter/components/ColumnFilterInput.d.ts +1 -1
- package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +2 -2
- package/src/View/Components/ColumnFilter/components/ColumnFilterInputList.js +1 -1
- package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +6 -6
- package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.d.ts +1 -1
- package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.js +9 -1
- package/src/View/Components/ColumnSelector/index.js +1 -3
- package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicateEditor.js +10 -10
- package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.js +11 -15
- package/src/View/Components/EntityRulesEditor/index.d.ts +5 -2
- package/src/View/Components/EntityRulesEditor/index.js +11 -10
- package/src/View/Components/ExpressionWizard.js +4 -4
- package/src/View/Components/FilterForm/Waiting.d.ts +4 -2
- package/src/View/Components/FilterForm/Waiting.js +3 -2
- package/src/View/Components/Forms/AdaptableFormControlTextClear.d.ts +1 -0
- package/src/View/Components/Forms/AdaptableFormControlTextClear.js +4 -8
- package/src/View/Components/ModuleValueSelector/index.js +2 -2
- package/src/View/Components/NewScopeComponent.js +20 -20
- package/src/View/Components/Panels/PanelFooter.js +5 -5
- package/src/View/Components/Panels/PanelToolPanel/index.d.ts +1 -1
- package/src/View/Components/Panels/PanelToolPanel/index.js +9 -11
- package/src/View/Components/Panels/PanelWithButton.d.ts +3 -5
- package/src/View/Components/Panels/PanelWithButton.js +7 -6
- package/src/View/Components/Panels/PanelWithImage.d.ts +2 -3
- package/src/View/Components/Panels/PanelWithImage.js +10 -12
- package/src/View/Components/Panels/PanelWithRow.d.ts +0 -1
- package/src/View/Components/Panels/PanelWithRow.js +3 -3
- package/src/View/Components/Panels/PanelWithTwoButtons.d.ts +1 -1
- package/src/View/Components/Panels/PanelWithTwoButtons.js +3 -3
- package/src/View/Components/Popups/AdaptableLoadingScreen.js +3 -5
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +4 -3
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +3 -2
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +4 -4
- package/src/View/Components/Popups/AdaptablePopup/Navigation.js +63 -31
- package/src/View/Components/Popups/AdaptablePopup/PopupPanel.d.ts +2 -0
- package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +8 -9
- package/src/View/Components/Popups/AdaptablePopup/TopBar.js +5 -4
- package/src/View/Components/Popups/AdaptablePopup/useMenuItems.d.ts +1 -1
- package/src/View/Components/Popups/AdaptablePopupAlert.js +6 -11
- package/src/View/Components/Popups/AdaptablePopupConfirmation.js +6 -6
- package/src/View/Components/Popups/AdaptablePopupPrompt.js +7 -7
- package/src/View/Components/Popups/AdaptablePopupTeamSharing.js +9 -11
- package/src/View/Components/Popups/FormPopups/FormPopups.js +3 -3
- package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +1 -1
- package/src/View/Components/Popups/WindowPopups/WindowPopups.js +3 -3
- package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +0 -1
- package/src/View/Components/PredicateEditor/PredicateEditor.js +7 -7
- package/src/View/Components/PreviewResultsPanel.d.ts +1 -0
- package/src/View/Components/PreviewResultsPanel.js +6 -13
- package/src/View/Components/RangesComponent.js +19 -19
- package/src/View/Components/ReorderDraggable/index.d.ts +2 -0
- package/src/View/Components/ReorderDraggable/index.js +8 -7
- package/src/View/Components/Selectors/BulkUpdateValueSelector.js +4 -7
- package/src/View/Components/Selectors/ColumnSelector.js +1 -1
- package/src/View/Components/Selectors/ColumnSelectorOld.js +1 -1
- package/src/View/Components/StyleComponent.d.ts +2 -26
- package/src/View/Components/StyleComponent.js +186 -190
- package/src/View/Components/TagValueSelector/index.d.ts +1 -1
- package/src/View/Components/TagValueSelector/index.js +4 -3
- package/src/View/Components/ToolPanel/AdaptableToolPanel.d.ts +1 -1
- package/src/View/Components/ToolPanel/AdaptableToolPanel.js +13 -12
- package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +1 -1
- package/src/View/Components/ToolPanel/ToolPanelPopup.js +13 -10
- package/src/View/Components/ToolPanel/ToolPanelWrapper.js +2 -2
- package/src/View/Components/ValueSelector/index.d.ts +9 -33
- package/src/View/Components/ValueSelector/index.js +38 -61
- package/src/View/Components/WizardSummaryPage.js +1 -1
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +2 -2
- package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +4 -7
- package/src/View/CustomSort/Wizard/CustomSortWizard.js +5 -5
- package/src/View/Dashboard/Dashboard.js +3 -3
- package/src/View/Dashboard/DashboardPopup.js +27 -23
- package/src/View/Dashboard/DashboardViewPanel.js +4 -4
- package/src/View/Dashboard/PinnedDashboard.js +3 -3
- package/src/View/Dashboard/PinnedToolbarsSelector.js +3 -2
- package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +10 -10
- package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +7 -7
- package/src/View/DataImport/DataImportPopup.js +2 -2
- package/src/View/DataImport/DataImportWizard/DataImportWizard.js +2 -2
- package/src/View/DataImport/DataImportWizard/sections/ColumnsSection.js +6 -6
- package/src/View/DataImport/DataImportWizard/sections/ImportSection.js +4 -4
- package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadFileSection.js +1 -1
- package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadSection.js +4 -4
- package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadTextSection.js +1 -1
- package/src/View/DataImport/DataImportWizard/sections/ValidationSection.js +4 -4
- package/src/View/DataSet/DataSetViewPanel.d.ts +2 -2
- package/src/View/DataSet/DataSetViewPanel.js +2 -2
- package/src/View/Export/ExportDestinationPicker.js +2 -1
- package/src/View/Export/ExportViewPanel.js +4 -4
- package/src/View/Export/ReportFormatSelector.js +3 -3
- package/src/View/Export/ReportListItem.js +1 -1
- package/src/View/Export/ReportNameSelector.js +3 -3
- package/src/View/Export/Wizard/NewReportWizard.js +4 -4
- package/src/View/Export/Wizard/ReportColumnTypeWizard.js +8 -8
- package/src/View/Export/Wizard/ReportColumnsWizardSection.js +11 -11
- package/src/View/Export/Wizard/ReportNameWizardSection.js +4 -4
- package/src/View/Export/Wizard/ReportRowTypeWizard.js +8 -8
- package/src/View/Export/Wizard/ReportRowsWizardSection.js +9 -9
- package/src/View/Export/Wizard/ReportSettingsWizard.js +3 -3
- package/src/View/Filter/FilterSummary.d.ts +1 -1
- package/src/View/Filter/FilterSummary.js +1 -1
- package/src/View/Filter/FilterViewPanel.d.ts +2 -2
- package/src/View/Filter/FilterViewPanel.js +4 -4
- package/src/View/FlashingCell/FlashingCellStyle.d.ts +2 -2
- package/src/View/FlashingCell/FlashingCellStyle.js +4 -4
- package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +2 -2
- package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +11 -11
- package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.d.ts +2 -2
- package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +4 -4
- package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +5 -5
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +59 -64
- package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +0 -4
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +28 -28
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +2 -2
- package/src/View/FormatColumn/Wizard/FormatColumnTargetWizardSection.js +2 -2
- package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +8 -8
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +11 -11
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +4 -4
- package/src/View/GridFilter/GridFilterExpressionEditor.js +6 -6
- package/src/View/GridFilter/GridFilterPopup.js +31 -40
- package/src/View/GridFilter/GridFilterPopupUI/index.d.ts +68 -0
- package/src/View/GridFilter/GridFilterPopupUI/index.js +42 -0
- package/src/View/GridFilter/GridFilterViewPanel.js +14 -21
- package/src/View/GridFilter/NamedQuerySelector.js +7 -7
- package/src/View/GridFilter/useGridFilterExpressionEditor.d.ts +5 -1
- package/src/View/GridFilter/useGridFilterExpressionEditor.js +2 -1
- package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.d.ts +3 -1
- package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +4 -3
- package/src/View/GridInfo/GridInfoPopup/AdaptableOptionsComponent.js +5 -9
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +7 -7
- package/src/View/KeyHint.d.ts +5 -2
- package/src/View/KeyHint.js +4 -2
- package/src/View/Layout/EditCurrentLayoutButton.js +1 -1
- package/src/View/Layout/LayoutStatusBarSubPanelPopover.js +1 -1
- package/src/View/Layout/LayoutViewPanel.d.ts +3 -3
- package/src/View/Layout/LayoutViewPanel.js +2 -2
- package/src/View/Layout/TransposedPopup.js +4 -4
- package/src/View/Layout/Wizard/LayoutWizard.js +18 -18
- package/src/View/Layout/Wizard/sections/AggregationsSection.js +6 -8
- package/src/View/Layout/Wizard/sections/ColumnsSection.js +213 -138
- package/src/View/Layout/Wizard/sections/FilterSection.js +6 -7
- package/src/View/Layout/Wizard/sections/GridFilterSection.js +2 -2
- package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +15 -18
- package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +4 -6
- package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.js +3 -5
- package/src/View/Layout/Wizard/sections/RowGroupingSection.js +8 -10
- package/src/View/Layout/Wizard/sections/RowSummarySection.js +15 -17
- package/src/View/Layout/Wizard/sections/SettingsSection.js +8 -8
- package/src/View/Layout/Wizard/sections/SortSection.js +5 -7
- package/src/View/License/LicenseWatermark.js +1 -1
- package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +2 -2
- package/src/View/NamedQuery/Wizard/NamedQuerySettingsWizardSection.js +3 -3
- package/src/View/NamedQuery/Wizard/NamedQueryWizard.js +3 -3
- package/src/View/Note/NoteEditor.js +5 -1
- package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +5 -5
- package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +4 -4
- package/src/View/QuickSearch/FloatingQuickSearch/FloatingQuickSearch.js +2 -2
- package/src/View/QuickSearch/QuickSearchInput.d.ts +1 -0
- package/src/View/QuickSearch/QuickSearchInput.js +5 -5
- package/src/View/QuickSearch/QuickSearchPopup.js +17 -16
- package/src/View/QuickSearch/QuickSearchViewPanel.js +1 -1
- package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +4 -4
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +5 -5
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +2 -2
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +4 -4
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +5 -5
- package/src/View/Schedule/Wizard/ScheduleWizard.js +5 -5
- package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +5 -8
- package/src/View/Shortcut/Wizard/ShortcutWizard.js +5 -5
- package/src/View/SmartEdit/SmartEditPopup.d.ts +1 -1
- package/src/View/SmartEdit/SmartEditPopup.js +8 -8
- package/src/View/SmartEdit/SmartEditViewPanel.js +1 -1
- package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
- package/src/View/StateManagement/StateManagementPopup.js +12 -12
- package/src/View/StateManagement/StateManagementViewPanel.js +1 -1
- package/src/View/StateManagement/handleExportState.d.ts +1 -1
- package/src/View/StatusBar/AdaptableStatusBar.js +1 -1
- package/src/View/StatusBar/StatusBarPanel.d.ts +2 -2
- package/src/View/StatusBar/StatusBarPanel.js +5 -4
- package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +9 -9
- package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +51 -48
- package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +8 -8
- package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +2 -2
- package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +18 -18
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarColumnComparisonPreview.js +3 -3
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarRangesPreview.js +4 -5
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.js +5 -5
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +2 -2
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgeSettings.js +4 -6
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +14 -15
- package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +4 -4
- package/src/View/SystemStatus/SystemStatusEntityRow.js +3 -3
- package/src/View/SystemStatus/SystemStatusPopup.js +2 -2
- package/src/View/SystemStatus/SystemStatusStatusBarContent.js +2 -2
- package/src/View/SystemStatus/SystemStatusViewPanel.d.ts +2 -2
- package/src/View/SystemStatus/SystemStatusViewPanel.js +2 -2
- package/src/View/TeamSharing/SharedEntityDependencies.js +4 -4
- package/src/View/TeamSharing/SharedEntityObjectView.js +8 -8
- package/src/View/Theme/ThemeEditor.js +6 -31
- package/src/View/Theme/ThemeEditorWindow.js +2 -2
- package/src/View/Theme/ThemeField.js +1 -2
- package/src/View/Theme/ThemePopup.d.ts +1 -1
- package/src/View/Theme/ThemePopup.js +4 -4
- package/src/View/Theme/ThemeStatusbar.js +1 -1
- package/src/View/Theme/VariantSelector.js +1 -1
- package/src/View/UIHelper.d.ts +1 -1
- package/src/View/Wizard/Interface/IAdaptableWizard.d.ts +1 -1
- package/src/View/Wizard/ObjectTagsWizardSection.js +2 -4
- package/src/View/Wizard/OnePageAdaptableWizard.d.ts +10 -4
- package/src/View/Wizard/OnePageAdaptableWizard.js +14 -16
- package/src/View/Wizard/OnePageWizards.d.ts +10 -4
- package/src/View/Wizard/OnePageWizards.js +50 -64
- package/src/View/Wizard/TypeRadio.js +3 -3
- package/src/View/Wizard/WizardLegend.js +3 -4
- package/src/View/Wizard/useKeyboardNavigation.d.ts +1 -1
- package/src/View/Wizard/useKeyboardNavigation.js +7 -4
- package/src/View/renderWithAdaptableContext.js +2 -5
- package/src/agGrid/AdaptableAgGrid.d.ts +13 -4
- package/src/agGrid/AdaptableAgGrid.js +155 -23
- package/src/agGrid/AdaptableFilterHandler.d.ts +5 -6
- package/src/agGrid/AdaptableFilterHandler.js +13 -19
- package/src/agGrid/AgGridAdapter.d.ts +2 -0
- package/src/agGrid/AgGridAdapter.js +29 -15
- package/src/agGrid/AgGridColumnAdapter.d.ts +6 -1
- package/src/agGrid/AgGridColumnAdapter.js +26 -5
- package/src/agGrid/AgGridFilterAdapter.js +1 -1
- package/src/agGrid/AgGridFloatingFilterAdapter.js +1 -21
- package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +1 -5
- package/src/agGrid/editors/AdaptablePercentageEditor/InternalAdaptablePercentageEditor.js +1 -5
- package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +9 -8
- package/src/components/Card/index.d.ts +25 -0
- package/src/components/Card/index.js +45 -0
- package/src/components/CheckBox/index.d.ts +3 -4
- package/src/components/CheckBox/index.js +7 -9
- package/src/components/CodeBlock/index.d.ts +6 -2
- package/src/components/CodeBlock/index.js +3 -3
- package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
- package/src/components/ColorPicker/ColorPicker.js +10 -9
- package/src/components/Dashboard/Dashboard.js +1 -1
- package/src/components/Dashboard/DashboardToolbar.js +5 -6
- package/src/components/Datepicker/index.d.ts +2 -2
- package/src/components/Datepicker/index.js +9 -8
- package/src/components/Dialog/index.d.ts +8 -2
- package/src/components/Dialog/index.js +7 -7
- package/src/components/DragAndDropContext/DragAndDropContext.d.ts +1 -1
- package/src/components/DragAndDropContext/ModuleManager.d.ts +1 -0
- package/src/components/DragAndDropContext/ModuleManager.js +9 -6
- package/src/components/DragAndDropContext/TabList.d.ts +2 -1
- package/src/components/DragAndDropContext/TabList.js +44 -24
- package/src/components/DragAndDropContext/UnusedPanel.js +7 -15
- package/src/components/Dropdown/index.d.ts +2 -2
- package/src/components/Dropdown/index.js +5 -6
- package/src/components/DropdownButton/index.d.ts +2 -22
- package/src/components/DropdownButton/index.js +7 -4
- package/src/components/EmptyContent/index.d.ts +2 -2
- package/src/components/EmptyContent/index.js +4 -4
- package/src/components/ErrorBox/index.d.ts +2 -2
- package/src/components/ErrorBox/index.js +3 -3
- package/src/components/ExpressionEditor/BaseEditorInput.js +65 -48
- package/src/components/ExpressionEditor/DataTableEditor.js +6 -10
- package/src/components/ExpressionEditor/EditorButton.js +0 -2
- package/src/components/ExpressionEditor/EditorContext.d.ts +0 -1
- package/src/components/ExpressionEditor/EditorInputWithWhereClause.js +5 -5
- package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +9 -11
- package/src/components/ExpressionEditor/NamedQueryContext.d.ts +0 -1
- package/src/components/ExpressionEditor/NamedQueryEditor.js +6 -16
- package/src/components/ExpressionEditor/QueryBuilder/QueryBuilder.d.ts +2 -10
- package/src/components/ExpressionEditor/QueryBuilder/QueryBuilder.js +6 -6
- package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.d.ts +1 -1
- package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +7 -7
- package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +9 -14
- package/src/components/ExpressionEditor/index.d.ts +1 -0
- package/src/components/ExpressionEditor/index.js +29 -34
- package/src/components/FieldWrap/index.d.ts +9 -2
- package/src/components/FieldWrap/index.js +3 -8
- package/src/components/FileDroppable/FileDroppableState.d.ts +0 -1
- package/src/components/FileDroppable/index.d.ts +3 -2
- package/src/components/FileDroppable/index.js +3 -3
- package/src/components/Flex.d.ts +15 -1
- package/src/components/Flex.js +40 -1
- package/src/components/FlexWithFooter.d.ts +3 -2
- package/src/components/FlexWithFooter.js +4 -4
- package/src/components/FormLayout/index.d.ts +5 -1
- package/src/components/FormLayout/index.js +1 -1
- package/src/components/HelpBlock/index.d.ts +2 -2
- package/src/components/HelpBlock/index.js +4 -3
- package/src/components/IconSelector/IconSelector.js +8 -8
- package/src/components/Input/index.d.ts +1 -2
- package/src/components/Input/index.js +6 -3
- package/src/components/Modal/Backdrop.js +1 -1
- package/src/components/Modal/index.d.ts +3 -2
- package/src/components/Modal/index.js +3 -3
- package/src/components/OverlayTrigger/index.js +3 -0
- package/src/components/Panel/index.d.ts +22 -6
- package/src/components/Panel/index.js +54 -15
- package/src/components/PopupWithFooter.js +3 -4
- package/src/components/ProgressIndicator/ProgressIndicator.js +3 -3
- package/src/components/Radio/index.d.ts +25 -3
- package/src/components/Radio/index.js +18 -20
- package/src/components/Select/Select.js +33 -21
- package/src/components/SelectList.js +1 -1
- package/src/components/SelectableList/index.d.ts +1 -1
- package/src/components/SimpleButton/index.d.ts +4 -6
- package/src/components/SimpleButton/index.js +55 -23
- package/src/components/SizedContainer/index.d.ts +3 -1
- package/src/components/SizedContainer/index.js +1 -1
- package/src/components/StylePreview.d.ts +3 -1
- package/src/components/StylePreview.js +4 -3
- package/src/components/Tabs/index.d.ts +3 -3
- package/src/components/Tabs/index.js +26 -9
- package/src/components/Tag/Tag.d.ts +14 -2
- package/src/components/Tag/Tag.js +10 -3
- package/src/components/Tag/index.d.ts +1 -1
- package/src/components/Tag/index.js +1 -1
- package/src/components/Textarea/index.d.ts +5 -1
- package/src/components/Textarea/index.js +4 -3
- package/src/components/Toggle/Toggle.js +48 -3
- package/src/components/Toggle/ToggleGroup.d.ts +7 -0
- package/src/components/Toggle/ToggleGroup.js +57 -2
- package/src/components/ToggleButton/index.d.ts +2 -2
- package/src/components/ToggleButton/index.js +25 -7
- package/src/components/Tree/TreeDropdown/index.js +10 -15
- package/src/components/Tree/TreeList/index.js +5 -9
- package/src/components/WarningBox/index.d.ts +6 -2
- package/src/components/WarningBox/index.js +3 -3
- package/src/components/WizardPanel/index.d.ts +6 -1
- package/src/components/WizardPanel/index.js +2 -2
- package/src/components/icons/DefaultIcon.d.ts +1 -0
- package/src/components/icons/index.d.ts +1 -1
- package/src/components/icons/index.js +2 -0
- package/src/components/icons/inspector.d.ts +3 -0
- package/src/components/icons/inspector.js +5 -0
- package/src/components/twUtils.d.ts +7 -0
- package/src/components/twUtils.js +13 -0
- package/src/components/utils/useDraggable.d.ts +0 -1
- package/src/devTools/index.d.ts +23 -23
- package/src/env.js +2 -2
- package/src/layout-manager/src/LMEmitter.d.ts +1 -0
- package/src/layout-manager/src/LMEmitter.js +1 -0
- package/src/layout-manager/src/index.d.ts +6 -0
- package/src/layout-manager/src/index.js +22 -2
- package/src/migration/VersionUpgrade20.js +6 -5
- package/src/twMerge.d.ts +1 -0
- package/src/twMerge.js +11 -0
- package/themes/dark.css +35 -9
- package/themes/light.css +0 -2
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/base.css +0 -5602
- package/base.css.map +0 -1
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnStyleViewItems.d.ts +0 -3
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnStyleViewItems.js +0 -6
- package/src/View/Alert/AlertsPanel.d.ts +0 -14
- package/src/View/Alert/AlertsPanel.js +0 -38
- package/src/View/Alert/Wizard/AlertSelectQueryWizard.d.ts +0 -19
- package/src/View/Alert/Wizard/AlertSelectQueryWizard.js +0 -54
- package/src/View/Components/FilterForm/ListBoxMenu.d.ts +0 -14
- package/src/View/Components/FilterForm/ListBoxMenu.js +0 -28
- package/src/View/Components/ListBox/DualListBoxEditor.d.ts +0 -22
- package/src/View/Components/ListBox/DualListBoxEditor.js +0 -515
- package/src/View/Components/ListBox/ListBoxFilterSortComponent.d.ts +0 -13
- package/src/View/Components/ListBox/ListBoxFilterSortComponent.js +0 -26
- package/src/View/CustomSort/Wizard/CustomSortSummaryWizard.d.ts +0 -15
- package/src/View/CustomSort/Wizard/CustomSortSummaryWizard.js +0 -31
- package/src/View/Layout/Wizard/Components/ColumnLabels.d.ts +0 -9
- package/src/View/Layout/Wizard/Components/ColumnLabels.js +0 -52
- package/src/View/Wizard/AdaptableWizard.d.ts +0 -56
- package/src/View/Wizard/AdaptableWizard.js +0 -168
- package/src/components/ContainerProps.d.ts +0 -30
- package/src/components/ContainerProps.js +0 -1
- package/src/components/EllipsisContainer/index.d.ts +0 -13
- package/src/components/EllipsisContainer/index.js +0 -100
- package/src/components/List/GridList/index.d.ts +0 -10
- package/src/components/List/GridList/index.js +0 -23
- package/src/components/List/ListGroup/index.d.ts +0 -6
- package/src/components/List/ListGroup/index.js +0 -9
- package/src/components/List/ListGroupItem/index.d.ts +0 -11
- package/src/components/List/ListGroupItem/index.js +0 -16
- package/src/components/utils/useTheme.d.ts +0 -32
- package/src/components/utils/useTheme.js +0 -2
- package/src/theme.d.ts +0 -32
- package/src/theme.js +0 -49
- package/themes/dark.css.map +0 -1
- package/themes/light.css.map +0 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Box, Flex, Text } from 'rebass';
|
|
2
1
|
import * as parser from '../../parser/src';
|
|
3
2
|
import * as React from 'react';
|
|
4
3
|
import ErrorBox from '../ErrorBox';
|
|
@@ -19,6 +18,9 @@ import { ExpressionFunctionDocumentation } from './ExpressionFunctionDocumentati
|
|
|
19
18
|
import { Tag } from '../Tag';
|
|
20
19
|
import StringExtensions from '../../Utilities/Extensions/StringExtensions';
|
|
21
20
|
import Radio from '../Radio';
|
|
21
|
+
import { Box, Flex } from '../Flex';
|
|
22
|
+
import { AdaptableFormControlTextClear } from '../../View/Components/Forms/AdaptableFormControlTextClear';
|
|
23
|
+
import clsx from 'clsx';
|
|
22
24
|
const filterableCategories = [
|
|
23
25
|
'dates',
|
|
24
26
|
'logical',
|
|
@@ -43,7 +45,7 @@ const getCategoryOrder = (category) => {
|
|
|
43
45
|
};
|
|
44
46
|
return predefinedOrder[category] || 0;
|
|
45
47
|
};
|
|
46
|
-
const VarEditorButton = () => {
|
|
48
|
+
const VarEditorButton = ({ className }) => {
|
|
47
49
|
const adaptable = useAdaptable();
|
|
48
50
|
const customQueryVariables = adaptable.api.optionsApi.getExpressionOptions()?.customQueryVariables;
|
|
49
51
|
if (!customQueryVariables || Object.keys(customQueryVariables).length === 0) {
|
|
@@ -51,7 +53,7 @@ const VarEditorButton = () => {
|
|
|
51
53
|
}
|
|
52
54
|
return (React.createElement(React.Fragment, null, Object.keys(customQueryVariables).map((varOption) => {
|
|
53
55
|
const varString = `VAR('${varOption}')`;
|
|
54
|
-
return (React.createElement(EditorButton, { data: varString, key: varOption }, varString));
|
|
56
|
+
return (React.createElement(EditorButton, { data: varString, key: varOption, className: className }, varString));
|
|
55
57
|
})));
|
|
56
58
|
};
|
|
57
59
|
const FunctionsDropdown = ({ expressionFunctions, baseClassName }) => {
|
|
@@ -107,54 +109,68 @@ const FunctionsDropdown = ({ expressionFunctions, baseClassName }) => {
|
|
|
107
109
|
dropdownRef.current.hide();
|
|
108
110
|
setOverFunction(null);
|
|
109
111
|
};
|
|
112
|
+
const [searchInputValue, setSearchInputValue] = React.useState('');
|
|
110
113
|
/**
|
|
111
114
|
* Hide when:
|
|
112
115
|
* - mouse leaves
|
|
113
116
|
* - a function is inserted
|
|
114
117
|
*/
|
|
115
|
-
return (React.createElement(OverlayTrigger, { ref: dropdownRef, showEvent: "mouseenter", hideEvent: "mouseleave", targetOffset: 5, render: () => (React.createElement(Flex, { className: `${baseClassName}__dropdown-functions-list-wrapper`, flexDirection: "column", onMouseLeave: () => hidePopup() },
|
|
116
|
-
React.createElement(Flex, {
|
|
118
|
+
return (React.createElement(OverlayTrigger, { ref: dropdownRef, showEvent: "mouseenter", hideEvent: "mouseleave", targetOffset: 5, render: () => (React.createElement(Flex, { className: `${baseClassName}__dropdown-functions-list-wrapper twa:max-w-[60vw] twa:shadow-md twa:bg-defaultbackground twa:text-text-on-defaultbackground twa:text-3 twa:rounded-standard twa:p-3`, flexDirection: "column", onMouseLeave: () => hidePopup() },
|
|
119
|
+
React.createElement(Flex, { className: "twa:md:gap-3 twa:gap-2 twa:pb-2 twa:md:justify-between twa:justify-start twa:flex-wrap twa:border-b twa:border-primarydark/30 twa:mb-2" }, categoryOptions.map((option, index) => {
|
|
117
120
|
return (React.createElement(Radio, { key: option.value, onFocus: (event) => {
|
|
118
121
|
event.preventDefault();
|
|
119
122
|
event.stopPropagation();
|
|
120
123
|
}, onClick: handleFunctionCategoryChange(option.value), checked: currentFunctionCategory === option.value }, option.label));
|
|
121
124
|
})),
|
|
122
|
-
React.createElement(Flex,
|
|
123
|
-
React.createElement(Flex, {
|
|
124
|
-
.
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
if (functionName === 'CASE') {
|
|
133
|
-
return `CASE <caseValue> WHEN <whenValue> THEN <thenValue> ELSE <defaultValue> END`;
|
|
125
|
+
React.createElement(Flex, { className: "twa:gap-2 twa:max-h-[60vh]", flexDirection: "row" },
|
|
126
|
+
React.createElement(Flex, { flexDirection: "column", className: "twa:gap-2 twa:rounded-standard" },
|
|
127
|
+
React.createElement(Box, null,
|
|
128
|
+
React.createElement(AdaptableFormControlTextClear, { className: "twa:w-full", value: searchInputValue, OnTextChange: setSearchInputValue, placeholder: "Search Functions" })),
|
|
129
|
+
React.createElement(Flex, { className: `${baseClassName}__dropdown-functions-list twa:overflow-auto`, "data-name": "expression-dropdown-functions-list", flexDirection: "column" }, orderedGroupNames
|
|
130
|
+
.filter((groupName) => !!groupedFunctions[groupName])
|
|
131
|
+
.map((groupName) => {
|
|
132
|
+
const functionsInGroup = Object.keys(groupedFunctions[groupName]);
|
|
133
|
+
if (functionsInGroup.length === 0) {
|
|
134
|
+
return React.createElement(React.Fragment, { key: groupName });
|
|
134
135
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
136
|
+
const getEditorButtonData = (functionName) => {
|
|
137
|
+
// handle special cases
|
|
138
|
+
if (functionName === 'CASE') {
|
|
139
|
+
return `CASE <caseValue> WHEN <whenValue> THEN <thenValue> ELSE <defaultValue> END`;
|
|
140
|
+
}
|
|
141
|
+
if (functionName === 'TRUE' || functionName === 'FALSE') {
|
|
142
|
+
return functionName;
|
|
143
|
+
}
|
|
144
|
+
if (functionName === 'IF') {
|
|
145
|
+
return `<condition_expr> ? <consequent_expr> : <alternative_expr>`;
|
|
146
|
+
}
|
|
147
|
+
return `${functionName}()`;
|
|
148
|
+
};
|
|
149
|
+
const fns = functionsInGroup
|
|
150
|
+
.map((functionName) => {
|
|
151
|
+
if (searchInputValue &&
|
|
152
|
+
!functionName.toLowerCase().includes(searchInputValue.toLowerCase())) {
|
|
153
|
+
return null;
|
|
154
|
+
}
|
|
155
|
+
const buttonClassName = 'twa:mr-1 twa:hover:bg-accent twa:hover:text-accent-foreground';
|
|
156
|
+
return (React.createElement(Box, { key: functionName, onMouseEnter: () => setOverFunction(functionName), onClick: () => hidePopup() }, functionName === 'VAR' ? (React.createElement(VarEditorButton, { key: functionName, className: buttonClassName })) : (React.createElement(EditorButton, { data: getEditorButtonData(functionName), key: functionName, className: buttonClassName }, functionName))));
|
|
157
|
+
})
|
|
158
|
+
.filter(Boolean);
|
|
159
|
+
return (React.createElement(Box, { className: clsx('twa:mb-2 twa:mx-1', fns.length === 0 ? 'twa:hidden' : ''), key: groupName },
|
|
160
|
+
React.createElement(Tag, { className: "twa:mb-1 twa:bg-primarylight twa:text-text-on-primary twa:w-full" }, StringExtensions.Humanize(groupName)),
|
|
161
|
+
fns));
|
|
162
|
+
}))),
|
|
163
|
+
React.createElement(Box, { className: clsx(`${baseClassName}__dropdown-functions-description `, `twa:flex-1 twa:p-2 twa:w-[600px] twa:max-w-[60vw]`, `twa:rounded-standard twa:shadow-sm twa:overflow-auto twa:h-auto`, 'twa:bg-primarylight twa:text-primary-foreground') }, overFunction ? (React.createElement(React.Fragment, null,
|
|
164
|
+
React.createElement(Tag, { className: "twa:bg-accent twa:text-accent-foreground" }, overFunction),
|
|
165
|
+
React.createElement(ExpressionFunctionDocumentation, { expressionFunction: expressionFunctions[overFunction] }))) : (React.createElement(Flex, { className: "twa:size-full twa:items-center twa:justify-center twa:text-2 twa:italic" },
|
|
150
166
|
React.createElement("ul", null,
|
|
151
167
|
React.createElement("li", null,
|
|
152
168
|
"Hover over a Function to learn more",
|
|
153
169
|
React.createElement("br", null),
|
|
154
170
|
React.createElement("br", null)),
|
|
155
|
-
React.createElement("li", null, "
|
|
156
|
-
React.createElement(SimpleButton, { "data-name": "expression-dropdown", icon: "arrow-down", iconPosition: 'end',
|
|
157
|
-
React.createElement(Flex, {
|
|
171
|
+
React.createElement("li", null, "Click a Function to add it to the Expression in the Editor")))))))) },
|
|
172
|
+
React.createElement(SimpleButton, { "data-name": "expression-dropdown", icon: "arrow-down", iconPosition: 'end', className: "twa:mr-1" },
|
|
173
|
+
React.createElement(Flex, { className: "twa:mr-1 twa:text-2" },
|
|
158
174
|
React.createElement(Icon, { name: "equation" })))));
|
|
159
175
|
};
|
|
160
176
|
export function BaseEditorInput(props) {
|
|
@@ -173,10 +189,10 @@ export function BaseEditorInput(props) {
|
|
|
173
189
|
}
|
|
174
190
|
const parserExceptionDetails = e.message;
|
|
175
191
|
return (React.createElement("details", null,
|
|
176
|
-
React.createElement(Flex, {
|
|
192
|
+
React.createElement(Flex, { className: "twa:mb-1", as: "summary" },
|
|
177
193
|
parserExceptionSummary,
|
|
178
194
|
React.createElement("i", null, " (click for more details)")),
|
|
179
|
-
React.createElement(
|
|
195
|
+
React.createElement(Box, { className: "twa:ml-3 twa:italic" }, parserExceptionDetails)));
|
|
180
196
|
};
|
|
181
197
|
const testRowNode = useMemo(() => {
|
|
182
198
|
const firstRowNode = props.api.gridApi.getFirstRowNode();
|
|
@@ -239,24 +255,25 @@ export function BaseEditorInput(props) {
|
|
|
239
255
|
.map((editorButtonDef) => (React.createElement(EditorButton, { key: `${editorButtonDef.functionName}-operator`, data: editorButtonDef.data, icon: editorButtonDef.icon }, !editorButtonDef.icon && (editorButtonDef.text || editorButtonDef.functionName))));
|
|
240
256
|
const showDocumentationLink = props.api.internalApi.isDocumentationLinksDisplayed();
|
|
241
257
|
return (React.createElement(React.Fragment, null,
|
|
242
|
-
React.createElement(Flex, {
|
|
243
|
-
React.createElement(Flex, {
|
|
258
|
+
React.createElement(Flex, { "data-name": "expression-toolbar", className: `${baseClassName} twa:py-2 twa:mb-2 twa:mt-2 twa:flex-wrap twa:w-full` },
|
|
259
|
+
React.createElement(Flex, { className: "twa:flex-1 twa:ml-1 twa:flex-wrap" },
|
|
244
260
|
React.createElement(FunctionsDropdown, { expressionFunctions: expressionFunctions, baseClassName: baseClassName }),
|
|
245
261
|
operatorButtons),
|
|
246
262
|
showDocumentationLink && (React.createElement(Flex, { alignItems: "flex-start" },
|
|
247
|
-
React.createElement(ButtonInfo, {
|
|
263
|
+
React.createElement(ButtonInfo, { className: "twa:mr-2", tooltip: 'Learn how to use the Expression Editor', onClick: () => window.open(ExpressionEditorDocsLink, '_blank') })))),
|
|
248
264
|
React.createElement(Textarea, { "data-name": `expression-input-${type}`, ref: textAreaRefCallback, value: props.value || '', placeholder: props.placeholder || 'Create Query', disabled: props.disabled || false, className: join('ab-ExpressionEditor__textarea', // left for backwards compatibility
|
|
249
|
-
`${baseClassName}__textarea
|
|
265
|
+
`${baseClassName}__textarea`, 'twa:w-full twa:min-h-[100px] twa:p-2 twa:text-4 twa:resize-y twa:font-mono'), autoFocus: true, spellCheck: "false", onChange: (event) => {
|
|
250
266
|
props.onChange(event.target.value);
|
|
251
267
|
}, style: style }),
|
|
252
|
-
props.isFullExpression !== true && (React.createElement(HelpBlock, {
|
|
268
|
+
props.isFullExpression !== true && (React.createElement(HelpBlock, { className: "twa:my-2 twa:p-2 twa:text-3" },
|
|
253
269
|
"This Expression must resolve to a ",
|
|
254
270
|
React.createElement("b", null, "boolean "),
|
|
255
271
|
"(i.e. true / false) value")),
|
|
256
|
-
expressionError && (React.createElement(ErrorBox, {
|
|
257
|
-
evaluationError && (React.createElement(ErrorBox, {
|
|
258
|
-
!props.hideResultPreview && result !== undefined && (React.createElement(Box, { className: `${baseClassName}__editor-feedback`, "data-name": "expression-editor-feedback"
|
|
259
|
-
React.createElement("pre", {
|
|
260
|
-
"Result (using
|
|
261
|
-
|
|
272
|
+
expressionError && (React.createElement(ErrorBox, { className: "twa:mt-2 twa:whitespace-pre-wrap twa:w-full" }, expressionError)),
|
|
273
|
+
evaluationError && (React.createElement(ErrorBox, { className: "twa:mt-2 twa:whitespace-pre-wrap" }, `${evaluationError.expressionFnName} ${evaluationError.message}`)),
|
|
274
|
+
!props.hideResultPreview && result !== undefined && (React.createElement(Box, { className: `${baseClassName}__editor-feedback twa:mt-2 twa:p-2 twa:rounded-standard`, "data-name": "expression-editor-feedback" },
|
|
275
|
+
React.createElement("pre", { className: "twa:whitespace-pre-wrap twa:m-0" },
|
|
276
|
+
"Result (using test data):",
|
|
277
|
+
' ',
|
|
278
|
+
React.createElement("b", { className: "twa:bg-accentlight twa:text-accent twa:rounded-full twa:p-1 twa:px-2" }, JSON.stringify(result)))))));
|
|
262
279
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { Flex } from 'rebass';
|
|
3
2
|
import { baseClassName } from '.';
|
|
4
3
|
import { CheckBox } from '../CheckBox';
|
|
5
4
|
import { AdaptableFormControlTextClear } from '../../View/Components/Forms/AdaptableFormControlTextClear';
|
|
@@ -9,6 +8,7 @@ import Input from '../Input';
|
|
|
9
8
|
import { isValueValidDate } from '../../Utilities/Helpers/DateHelper';
|
|
10
9
|
import { useAdaptable } from '../../View/AdaptableContext';
|
|
11
10
|
import AdaptableInput from '../../View/Components/AdaptableInput';
|
|
11
|
+
import { Flex } from '../Flex';
|
|
12
12
|
export const DataTableEditor = ({ fields, dataFormatter, data: initialData, type = 'column', labels, }) => {
|
|
13
13
|
const adaptableApi = useAdaptable().api;
|
|
14
14
|
const [data, setData] = React.useState(initialData);
|
|
@@ -30,8 +30,8 @@ export const DataTableEditor = ({ fields, dataFormatter, data: initialData, type
|
|
|
30
30
|
const hasFriendlyNames = React.useMemo(() => {
|
|
31
31
|
return fields.some((field) => field.label !== field.value);
|
|
32
32
|
}, []);
|
|
33
|
-
return (React.createElement(Flex, { flexDirection: "column", "data-name": `expression-${type}-picker`,
|
|
34
|
-
React.createElement(Flex, { className: `${baseClassName}__${type}-list`, flexDirection: "column", alignItems: "start"
|
|
33
|
+
return (React.createElement(Flex, { flexDirection: "column", "data-name": `expression-${type}-picker`, className: "twa:h-full" },
|
|
34
|
+
React.createElement(Flex, { className: `${baseClassName}__${type}-list twa:mb-2 twa:mt-[2px]`, flexDirection: "column", alignItems: "flex-start" },
|
|
35
35
|
hasFriendlyNames && (React.createElement(CheckBox, { checked: showColumnIds, onChange: (checked) => setShowValues(checked), style: {
|
|
36
36
|
float: 'right',
|
|
37
37
|
margin: 0,
|
|
@@ -48,13 +48,9 @@ export const DataTableEditor = ({ fields, dataFormatter, data: initialData, type
|
|
|
48
48
|
})
|
|
49
49
|
.map((field) => {
|
|
50
50
|
const label = showColumnIds ? `[${field.value}]` : field.label;
|
|
51
|
-
return (React.createElement(FormRow, { key: field.label, label: React.createElement(EditorButton, {
|
|
52
|
-
|
|
53
|
-
cursor: 'grab',
|
|
54
|
-
marginRight: 'var(--ab-space-1)',
|
|
55
|
-
}, data: dataFormatter(field.value), "data-name": type, "data-value": field.value, icon: "drag" },
|
|
56
|
-
React.createElement(Flex, { flexDirection: "column", alignItems: "start" }, label)) }, field.dataType === 'number' ? (React.createElement(Input, { type: "number", "data-name": `${type}-input`, "data-value": field.value, value: getColValue(field.value) ?? '', onChange: (e) => setData(updateColValue(data, field.value, Number(e.target.value))), width: "100%", disabled: field.readOnly })) : field.dataType === 'text' ? (React.createElement(Input, { type: "text", "data-name": `${type}-input`, "data-value": field.value, value: getColValue(field.value) ?? '', onChange: (e) => setData(updateColValue(data, field.value, e.target.value)), width: "100%", disabled: field.readOnly })) : field.dataType === 'date' ? (React.createElement(AdaptableInput, { type: "date", "data-name": `${type}-input`, "data-value": field.value, value: getColDateValue(field.value) ?? '', onChange: (e) => {
|
|
51
|
+
return (React.createElement(FormRow, { key: field.label, label: React.createElement(EditorButton, { className: "twa:w-full twa:h-full twa:bg-primary twa:cursor-grab twa:mr-1", data: dataFormatter(field.value), "data-name": type, "data-value": field.value, icon: "drag" },
|
|
52
|
+
React.createElement(Flex, { flexDirection: "column", alignItems: "flex-start" }, label)) }, field.dataType === 'number' ? (React.createElement(Input, { type: "number", "data-name": `${type}-input`, "data-value": field.value, value: getColValue(field.value) ?? '', onChange: (e) => setData(updateColValue(data, field.value, Number(e.target.value))), className: "twa:w-full", disabled: field.readOnly })) : field.dataType === 'text' ? (React.createElement(Input, { type: "text", "data-name": `${type}-input`, "data-value": field.value, value: getColValue(field.value) ?? '', onChange: (e) => setData(updateColValue(data, field.value, e.target.value)), className: "twa:w-full", disabled: field.readOnly })) : field.dataType === 'date' ? (React.createElement(AdaptableInput, { type: "date", "data-name": `${type}-input`, "data-value": field.value, value: getColDateValue(field.value) ?? '', onChange: (e) => {
|
|
57
53
|
setData(updateColValue(data, field.value, new Date(e.target.value)));
|
|
58
|
-
},
|
|
54
|
+
}, className: "twa:w-full", disabled: field.readOnly })) : field.dataType === 'boolean' ? (React.createElement(CheckBox, { "data-name": `${type}-input`, "data-value": field.value, checked: Boolean(getColValue(field.value)), onChange: (checked) => setData(updateColValue(data, field.value, checked)), disabled: field.readOnly })) : null));
|
|
59
55
|
}))));
|
|
60
56
|
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { BaseEditorInput } from './BaseEditorInput';
|
|
4
|
-
import { Flex, Text } from 'rebass';
|
|
5
4
|
import { editorButtonsSearch } from './editorButtonsSearch';
|
|
6
5
|
import useProperty from '../utils/useProperty';
|
|
7
6
|
import { CapitaliseFirstLetter, IsNotNullOrEmptyOrWhiteSpace, IsNullOrEmptyOrWhiteSpace, } from '../../Utilities/Extensions/StringExtensions';
|
|
@@ -9,6 +8,7 @@ import { editorButtonsObservable } from './editorButtonsObservable';
|
|
|
9
8
|
import { CheckBox } from '../CheckBox';
|
|
10
9
|
import { useExpressionEditor } from './EditorContext';
|
|
11
10
|
import { editorButtonsAggregatedBoolean } from './editorButtonsAggregatedBoolean';
|
|
11
|
+
import { Box, Flex } from '../Flex';
|
|
12
12
|
function EditorInputWithWhereClause(props) {
|
|
13
13
|
const moduleExpressionFunctions = props.api.internalApi
|
|
14
14
|
.getQueryLanguageService()
|
|
@@ -45,19 +45,19 @@ function EditorInputWithWhereClause(props) {
|
|
|
45
45
|
const { setSelectedFunction } = useExpressionEditor();
|
|
46
46
|
const [showWhereClause, setShowWhereClause] = useState(IsNotNullOrEmptyOrWhiteSpace(whereClauseValue));
|
|
47
47
|
const queryName = `${CapitaliseFirstLetter(props.type)}Query`;
|
|
48
|
-
return (React.createElement(Flex, { flexDirection: "column", alignItems: "start" },
|
|
48
|
+
return (React.createElement(Flex, { flexDirection: "column", alignItems: "flex-start" },
|
|
49
49
|
React.createElement(BaseEditorInput, { type: 'main', value: reactiveValue || '', placeholder: `Create ${queryName}`, onChange: updateReactiveValue, onSelectedFunctionChange: setSelectedFunction, expressionFunctions: reactiveExpressionFns, editorButtons: props.type === 'observable' ? editorButtonsObservable : editorButtonsAggregatedBoolean, testData: props.testData, isFullExpression: true, hideResultPreview: true, api: props.api, style: { height: '75px' } }),
|
|
50
|
-
React.createElement(
|
|
50
|
+
React.createElement(Box, { className: "twa:text-2 twa:mt-2 twa:pl-3" },
|
|
51
51
|
"Add a ",
|
|
52
52
|
React.createElement("i", null, "WHERE"),
|
|
53
53
|
" Clause to narrow the scope of the Query"),
|
|
54
|
-
React.createElement(CheckBox, { disabled: IsNullOrEmptyOrWhiteSpace(reactiveValue), checked: showWhereClause,
|
|
54
|
+
React.createElement(CheckBox, { disabled: IsNullOrEmptyOrWhiteSpace(reactiveValue), checked: showWhereClause, onChange: (checked) => {
|
|
55
55
|
setShowWhereClause(checked);
|
|
56
56
|
if (!checked) {
|
|
57
57
|
// reset whereClause value if textarea is hidden
|
|
58
58
|
updateWhereClauseValue(null);
|
|
59
59
|
}
|
|
60
|
-
},
|
|
60
|
+
}, className: "twa:pl-3 twa:items-center" }, "WHERE"),
|
|
61
61
|
showWhereClause && (React.createElement(BaseEditorInput, { type: 'secondary', disabled: IsNullOrEmptyOrWhiteSpace(reactiveValue), value: whereClauseValue || '', placeholder: `Create BooleanQuery which narrows down the scope of the ${queryName}`, onChange: updateWhereClauseValue, onSelectedFunctionChange: setSelectedFunction, expressionFunctions: whereClauseExpressionsFns, editorButtons: editorButtonsSearch, testData: props.testData, isFullExpression: true, hideResultPreview: true, api: props.api, style: { height: '75px' } }))));
|
|
62
62
|
}
|
|
63
63
|
export default EditorInputWithWhereClause;
|
|
@@ -1,21 +1,19 @@
|
|
|
1
|
-
import { Box } from 'rebass';
|
|
2
1
|
import * as React from 'react';
|
|
3
2
|
import { Tag } from '../Tag';
|
|
3
|
+
import { Box } from '../Flex';
|
|
4
|
+
const signatureClassName = 'twa:m-0 twa:whitespace-pre-wrap twa:bg-primary twa:text-text-on-primary twa:rounded-standard twa:p-1 twa:inline-block';
|
|
4
5
|
export const ExpressionFunctionDocumentation = (props) => {
|
|
5
|
-
return props.expressionFunction ? (React.createElement(Box, { "data-name": "expression-editor-documentation",
|
|
6
|
-
|
|
7
|
-
borderRadius: 'var(--ab__border-radius)',
|
|
8
|
-
} },
|
|
9
|
-
props.expressionFunction.description && (React.createElement(Box, { mb: 3, style: { fontWeight: 'bold', whiteSpace: 'pre-wrap' }, "data-name": "expression-editor-documentation-description" }, props.expressionFunction.description)),
|
|
6
|
+
return props.expressionFunction ? (React.createElement(Box, { "data-name": "expression-editor-documentation", className: "twa:my-2 twa:p-2 twa:rounded-standard twa:leading-normal" },
|
|
7
|
+
props.expressionFunction.description && (React.createElement(Box, { className: "twa:mb-3 twa:font-bold twa:whitespace-pre-wrap", "data-name": "expression-editor-documentation-description" }, props.expressionFunction.description)),
|
|
10
8
|
props.expressionFunction.signatures && (React.createElement(Box, { "data-name": "expression-editor-documentation-signatures" },
|
|
11
9
|
React.createElement("b", null, "Signatures"),
|
|
12
|
-
React.createElement("ul",
|
|
13
|
-
React.createElement("pre", {
|
|
10
|
+
React.createElement("ul", { className: "twa:flex twa:flex-col twa:gap-1" }, props.expressionFunction.signatures.map((signature, index) => (React.createElement("li", { key: index },
|
|
11
|
+
React.createElement("pre", { className: signatureClassName }, signature))))))),
|
|
14
12
|
props.expressionFunction.examples && (React.createElement(Box, { "data-name": "expression-editor-documentation-examples" },
|
|
15
13
|
React.createElement("b", null, "Examples"),
|
|
16
|
-
React.createElement("ul",
|
|
17
|
-
React.createElement("pre", {
|
|
14
|
+
React.createElement("ul", { className: "twa:flex twa:flex-col twa:gap-1" }, props.expressionFunction.examples.map((example, index) => (React.createElement("li", { key: index },
|
|
15
|
+
React.createElement("pre", { className: signatureClassName }, example))))))),
|
|
18
16
|
props.expressionFunction.returnType && (React.createElement(Box, { "data-name": "expression-editor-documentation-examples" },
|
|
19
17
|
React.createElement("b", null, "Return Type"),
|
|
20
|
-
React.createElement(Tag,
|
|
18
|
+
React.createElement(Tag, { className: "twa:bg-accentlight twa:text-accent twa:ml-3 twa:rounded-full" }, props.expressionFunction.returnType))))) : null;
|
|
21
19
|
};
|
|
@@ -1,30 +1,20 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { Flex } from 'rebass';
|
|
3
2
|
import { useAdaptable } from '../../View/AdaptableContext';
|
|
4
3
|
import { CheckBox } from '../CheckBox';
|
|
5
4
|
import EditorButton from './EditorButton';
|
|
5
|
+
import { Flex } from '../Flex';
|
|
6
6
|
export const NamedQueryEditor = (props) => {
|
|
7
7
|
const adaptable = useAdaptable();
|
|
8
8
|
const [showColumnIds, setShowColumnIds] = React.useState(false);
|
|
9
9
|
const [inlineQuery, setInlineQuery] = React.useState(false);
|
|
10
|
-
return (React.createElement(Flex, { flexDirection: "column", alignItems: "start",
|
|
10
|
+
return (React.createElement(Flex, { flexDirection: "column", alignItems: "flex-start", className: "twa:mt-[2px]" },
|
|
11
11
|
React.createElement(CheckBox, { checked: showColumnIds, onChange: (checked) => setShowColumnIds(checked) }, "Show Column IDs"),
|
|
12
12
|
React.createElement(CheckBox, { checked: inlineQuery, onChange: (checked) => setInlineQuery(checked) }, "Inline Query"),
|
|
13
|
-
props.namedQueries.map((namedQuery) => (React.createElement(Flex, { key: namedQuery.Uuid, flexDirection: "column", alignItems: "start",
|
|
14
|
-
padding: 3,
|
|
15
|
-
marginTop: 'var(--ab-space-2)',
|
|
16
|
-
marginBottom: 'var(--ab-space-2)',
|
|
17
|
-
width: '100%',
|
|
18
|
-
}, backgroundColor: "primarylight" },
|
|
13
|
+
props.namedQueries.map((namedQuery) => (React.createElement(Flex, { key: namedQuery.Uuid, flexDirection: "column", alignItems: "flex-start", className: "twa:p-1 twa:my-2 twa:w-full twa:bg-primarylight" },
|
|
19
14
|
' ',
|
|
20
|
-
React.createElement(EditorButton, {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}, data: inlineQuery ? namedQuery.BooleanExpression : `QUERY("${namedQuery.Name}")`, "data-name": "column", icon: "drag" },
|
|
24
|
-
React.createElement(Flex, { flexDirection: "column", alignItems: "start" }, namedQuery.Name)),
|
|
25
|
-
React.createElement(Flex, { alignItems: "start", style: {
|
|
26
|
-
padding: 5,
|
|
27
|
-
} }, showColumnIds
|
|
15
|
+
React.createElement(EditorButton, { className: "twa:w-full twa:h-full twa:bg-primary twa:cursor-grab", data: inlineQuery ? namedQuery.BooleanExpression : `QUERY("${namedQuery.Name}")`, "data-name": "column", icon: "drag" },
|
|
16
|
+
React.createElement(Flex, { flexDirection: "column", alignItems: "flex-start" }, namedQuery.Name)),
|
|
17
|
+
React.createElement(Flex, { alignItems: "flex-start", className: "twa:p-1" }, showColumnIds
|
|
28
18
|
? namedQuery.BooleanExpression
|
|
29
19
|
: adaptable.api.expressionApi.getAdaptableQueryExpressionWithColumnFriendlyNames(namedQuery)))))));
|
|
30
20
|
};
|
|
@@ -16,16 +16,8 @@ interface QueryBuilderProps {
|
|
|
16
16
|
module: AdaptableModule;
|
|
17
17
|
}
|
|
18
18
|
export declare function useQueryBuilderContext(): {
|
|
19
|
-
getColumns:
|
|
20
|
-
|
|
21
|
-
value: string;
|
|
22
|
-
type: AdaptableColumnDataType;
|
|
23
|
-
}[];
|
|
24
|
-
getFields: (type?: AdaptableColumnDataType) => {
|
|
25
|
-
label?: string;
|
|
26
|
-
value: string;
|
|
27
|
-
type: AdaptableColumnDataType;
|
|
28
|
-
}[];
|
|
19
|
+
getColumns: QueryBuilderProps["getColumns"];
|
|
20
|
+
getFields: QueryBuilderProps["getFields"];
|
|
29
21
|
getExpressions: (columnType: AdaptableColumnDataType) => BooleanFunctionName[];
|
|
30
22
|
};
|
|
31
23
|
export declare const QueryBuilder: React.FunctionComponent<QueryBuilderProps>;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { DragDropContext } from '../../dnd';
|
|
3
|
-
import { Box, Flex } from 'rebass';
|
|
4
3
|
import { mapExpressionToQlPredicate, } from '../../../parser/src/predicate';
|
|
5
4
|
import { mapQlPredicateToExpression } from '../../../parser/src/predicate/mapQlPredicateToExpression';
|
|
6
5
|
import { useAdaptable } from '../../../View/AdaptableContext';
|
|
@@ -11,6 +10,7 @@ import SimpleButton from '../../SimpleButton';
|
|
|
11
10
|
import { WarningBox } from '../../WarningBox';
|
|
12
11
|
import { QueryPredicateBuilder } from './QueryPredicateBuilder';
|
|
13
12
|
import { getFunctionsForColumnType, getUnsuportedExpressionFromQlPredicate, reorder, } from './utils';
|
|
13
|
+
import { Box, Flex } from '../../Flex';
|
|
14
14
|
const QUERY_BUILDER_CLASSNAME = 'ab-QueryBuilder';
|
|
15
15
|
const QueryBuilderContext = React.createContext(null);
|
|
16
16
|
export function useQueryBuilderContext() {
|
|
@@ -74,11 +74,11 @@ export const QueryBuilder = (props) => {
|
|
|
74
74
|
errorOrEditor = props.query?.includes?.('QUERY') ? (React.createElement(WarningBox, { "data-name": "unsupported-query-warning" },
|
|
75
75
|
React.createElement(Flex, { alignItems: "center" },
|
|
76
76
|
"Named Queries are not supported in the Query Builder",
|
|
77
|
-
React.createElement(Box, {
|
|
77
|
+
React.createElement(Box, { className: "twa:flex-1" }),
|
|
78
78
|
clearExpressionButton))) : (React.createElement(ErrorBox, null,
|
|
79
79
|
React.createElement(Flex, null,
|
|
80
80
|
qlPredicate.errorMessage,
|
|
81
|
-
React.createElement(Box, {
|
|
81
|
+
React.createElement(Box, { className: "twa:flex-1" }),
|
|
82
82
|
clearExpressionButton)));
|
|
83
83
|
}
|
|
84
84
|
else if (unsupportedExpressionFunction) {
|
|
@@ -110,8 +110,8 @@ export const QueryBuilder = (props) => {
|
|
|
110
110
|
} },
|
|
111
111
|
React.createElement(QueryBuilderContext.Provider, { value: context },
|
|
112
112
|
React.createElement(Box, { className: QUERY_BUILDER_CLASSNAME },
|
|
113
|
-
React.createElement(HelpBlock, { "data-name": "query-builder-help",
|
|
113
|
+
React.createElement(HelpBlock, { "data-name": "query-builder-help", className: "twa:my-2 twa:p-2 twa:text-3" }, "Build the Grid Filter by adding Column Conditions and AND / OR Groups as required"),
|
|
114
114
|
errorOrEditor,
|
|
115
|
-
React.createElement(Panel, { "data-name": "query-builder-expression-preview", variant: "default", header: "AdapTableQL Expression",
|
|
116
|
-
React.createElement(Box, { className: `${QUERY_BUILDER_CLASSNAME}__expression
|
|
115
|
+
React.createElement(Panel, { "data-name": "query-builder-expression-preview", variant: "default", header: "AdapTableQL Expression", className: "twa:mt-3" },
|
|
116
|
+
React.createElement(Box, { className: `${QUERY_BUILDER_CLASSNAME}__expression twa:min-h-[48px] twa:my-2 twa:p-3` }, expressionStr || 'Output Expression will display here'))))));
|
|
117
117
|
};
|
|
@@ -26,7 +26,7 @@ export declare const PrimitiveMultiValueInput: (props: {
|
|
|
26
26
|
}) => React.JSX.Element;
|
|
27
27
|
export declare const ExpressionSelector: (props: {
|
|
28
28
|
value: BooleanFunctionName;
|
|
29
|
-
dataType: AdaptableColumn[
|
|
29
|
+
dataType: AdaptableColumn["dataType"];
|
|
30
30
|
onExpressionChange(expression: BooleanFunctionName): void;
|
|
31
31
|
}) => React.JSX.Element;
|
|
32
32
|
export declare const CombinatorSelector: (props: {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { Box, Flex, Text } from 'rebass';
|
|
3
2
|
import { getQlPredicateSymbol } from '../../../parser/src/predicate/mapQlPredicateToExpression';
|
|
4
3
|
import { mapExpressionFunctionTypeToColumnDataType } from '../../../Utilities/adaptableQlUtils';
|
|
5
4
|
import { useAdaptable } from '../../../View/AdaptableContext';
|
|
@@ -14,6 +13,7 @@ import { InputGroup } from '../../InputGroup';
|
|
|
14
13
|
import { Select } from '../../Select';
|
|
15
14
|
import { useQueryBuilderContext } from './QueryBuilder';
|
|
16
15
|
import { isFieldValue, mapColumnExpressionToColumnId, mapExpressionToFieldValue, mapFieldValueToExpression, } from './utils';
|
|
16
|
+
import { Box, Flex } from '../../Flex';
|
|
17
17
|
export const PrimitiveColumnOrFieldSelector = (props) => {
|
|
18
18
|
const adaptable = useAdaptable();
|
|
19
19
|
const [type, setType] = React.useState(() => {
|
|
@@ -42,14 +42,14 @@ export const PrimitiveColumnOrFieldSelector = (props) => {
|
|
|
42
42
|
{
|
|
43
43
|
label: (React.createElement(Flex, { alignItems: "center" },
|
|
44
44
|
React.createElement(Icon, { name: "grid" }),
|
|
45
|
-
React.createElement(
|
|
45
|
+
React.createElement(Box, { className: "twa:ml-2" }, "Column"))),
|
|
46
46
|
value: 'column',
|
|
47
47
|
icon: 'grid',
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
50
|
label: (React.createElement(Flex, { alignItems: "center" },
|
|
51
51
|
React.createElement(Icon, { name: "column-outline" }),
|
|
52
|
-
React.createElement(
|
|
52
|
+
React.createElement(Box, { className: "twa:ml-2" }, "Field"))),
|
|
53
53
|
value: 'field',
|
|
54
54
|
icon: 'column-outline',
|
|
55
55
|
},
|
|
@@ -141,14 +141,14 @@ export const PrimitiveValueInput = (props) => {
|
|
|
141
141
|
{
|
|
142
142
|
label: (React.createElement(Flex, { alignItems: "center" },
|
|
143
143
|
React.createElement(Icon, { name: "columns" }),
|
|
144
|
-
React.createElement(
|
|
144
|
+
React.createElement(Box, { className: "twa:ml-2" }, "Column"))),
|
|
145
145
|
icon: 'columns',
|
|
146
146
|
value: 'column-name',
|
|
147
147
|
},
|
|
148
148
|
{
|
|
149
149
|
label: (React.createElement(Flex, { alignItems: "center" },
|
|
150
150
|
React.createElement(Icon, { name: "edit" }),
|
|
151
|
-
React.createElement(
|
|
151
|
+
React.createElement(Box, { className: "twa:ml-2" }, "Value"))),
|
|
152
152
|
icon: 'edit',
|
|
153
153
|
value: 'input-value',
|
|
154
154
|
},
|
|
@@ -157,13 +157,13 @@ export const PrimitiveValueInput = (props) => {
|
|
|
157
157
|
options.push({
|
|
158
158
|
label: (React.createElement(Flex, { alignItems: "center" },
|
|
159
159
|
React.createElement(Icon, { name: "column-outline" }),
|
|
160
|
-
React.createElement(
|
|
160
|
+
React.createElement(Box, { className: "twa:ml-2" }, "Field"))),
|
|
161
161
|
icon: 'column-outline',
|
|
162
162
|
value: 'field',
|
|
163
163
|
});
|
|
164
164
|
}
|
|
165
165
|
const typeOption = options.find((option) => option.value === type);
|
|
166
|
-
return (React.createElement(InputGroup, { Component: Flex, "data-id": "query-input-wrapper",
|
|
166
|
+
return (React.createElement(InputGroup, { Component: Flex, "data-id": "query-input-wrapper", className: "twa:mr-2" },
|
|
167
167
|
React.createElement(Select, { renderSingleValue: (value) => {
|
|
168
168
|
return (React.createElement(React.Fragment, null, typeOption.value === 'column-name' ? React.createElement(Icon, { name: "grid" }) : React.createElement(Icon, { name: "edit" })));
|
|
169
169
|
}, value: typeOption.value, options: options, onChange: (value) => handleTypeChange(value) }),
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Draggable, Droppable } from '../../dnd';
|
|
3
|
-
import { Box, Flex } from 'rebass';
|
|
4
3
|
import { isArgumentColumnOrField, isQlLogicalOperator, } from '../../../parser/src/predicate';
|
|
5
4
|
import { mapColumnDataTypeToExpressionFunctionType } from '../../../Utilities/adaptableQlUtils';
|
|
6
5
|
import { booleanExpressionFunctions } from '../../../Utilities/ExpressionFunctions/booleanExpressionFunctions';
|
|
@@ -11,9 +10,10 @@ import { Icon } from '../../icons';
|
|
|
11
10
|
import SimpleButton from '../../SimpleButton';
|
|
12
11
|
import { CombinatorSelector, ExpressionSelector, PrimitiveValueInput, PrimitiveColumnOrFieldSelector, PrimitiveMultiValueInput, } from './QueryBuilderInputs';
|
|
13
12
|
import { getOperatorMatchingInputs as getFunctionMatchingInputTypes, mapExpressionToFieldValue, } from './utils';
|
|
13
|
+
import { Box, Flex } from '../../Flex';
|
|
14
14
|
const ITEM_HEIGHT = 40;
|
|
15
15
|
const BASE_CLASS_NAME = 'ab-QueryBuilder-predicate-editor';
|
|
16
|
-
const Handle = (props) => (React.createElement(Flex, { className: `${BASE_CLASS_NAME}__handle`, height: ITEM_HEIGHT, alignItems: "center",
|
|
16
|
+
const Handle = (props) => (React.createElement(Flex, { className: `${BASE_CLASS_NAME}__handle twa:mr-1`, style: { height: ITEM_HEIGHT }, alignItems: "center", ...props },
|
|
17
17
|
React.createElement(Icon, { name: "drag" })));
|
|
18
18
|
const QueryPredicateButtons = (props) => {
|
|
19
19
|
return (React.createElement(React.Fragment, null,
|
|
@@ -39,14 +39,14 @@ const LogicalFunctionEditor = (props) => {
|
|
|
39
39
|
return (React.createElement("div", { ...provided.droppableProps, ref: provided.innerRef, className: className },
|
|
40
40
|
React.createElement(Flex, null,
|
|
41
41
|
props.isRoot ? null : React.createElement(Handle, { ...handleProps }),
|
|
42
|
-
React.createElement(Flex, {
|
|
42
|
+
React.createElement(Flex, { className: "twa:flex-1", alignItems: "center", height: ITEM_HEIGHT },
|
|
43
43
|
React.createElement(CombinatorSelector, { value: props.predicate.operator, onChange: (combinator) => {
|
|
44
44
|
props.onChange({
|
|
45
45
|
...props.predicate,
|
|
46
46
|
operator: combinator,
|
|
47
47
|
});
|
|
48
48
|
} }),
|
|
49
|
-
React.createElement(Box, {
|
|
49
|
+
React.createElement(Box, { className: "twa:flex-1" }),
|
|
50
50
|
React.createElement(QueryPredicateButtons, { hideDelete: props.isRoot, hideAdd: true, ...props }))),
|
|
51
51
|
React.createElement(Box, { className: `${BASE_CLASS_NAME}__children-wrapper` },
|
|
52
52
|
props.predicate.args.map((arg, index) => {
|
|
@@ -142,15 +142,10 @@ const PrimitiveFunctionEditor = (props) => {
|
|
|
142
142
|
}
|
|
143
143
|
const level = props.id.split('/').length - 1;
|
|
144
144
|
return (React.createElement(Draggable, { key: props.id, draggableId: props.id, index: props.index }, (provided) => {
|
|
145
|
-
return (React.createElement(Flex, { className: `
|
|
146
|
-
${BASE_CLASS_NAME}
|
|
147
|
-
${BASE_CLASS_NAME}-level-${level}
|
|
148
|
-
${BASE_CLASS_NAME}-primitive
|
|
149
|
-
${props.lastChild ? `${BASE_CLASS_NAME}--last-child` : ''}
|
|
150
|
-
`, pb: 2, ref: provided.innerRef, ...provided.draggableProps, style: { ...provided.draggableProps.style, minHeight: ITEM_HEIGHT } },
|
|
145
|
+
return (React.createElement(Flex, { className: `twa:pb-2 ${BASE_CLASS_NAME} ${BASE_CLASS_NAME}-level-${level} ${BASE_CLASS_NAME}-primitive ${props.lastChild ? `${BASE_CLASS_NAME}--last-child` : ''} `, ref: provided.innerRef, ...provided.draggableProps, style: { ...provided.draggableProps.style, minHeight: ITEM_HEIGHT } },
|
|
151
146
|
React.createElement(Handle, { ...provided.dragHandleProps }),
|
|
152
|
-
React.createElement(Flex, { alignItems: "center", height: ITEM_HEIGHT },
|
|
153
|
-
React.createElement(Box, {
|
|
147
|
+
React.createElement(Flex, { alignItems: "center", style: { height: ITEM_HEIGHT } },
|
|
148
|
+
React.createElement(Box, { className: "twa:mr-2" },
|
|
154
149
|
React.createElement(PrimitiveColumnOrFieldSelector, { onChange: (colOrField) => {
|
|
155
150
|
props.onChange({
|
|
156
151
|
...props.predicate,
|
|
@@ -170,7 +165,7 @@ const PrimitiveFunctionEditor = (props) => {
|
|
|
170
165
|
args,
|
|
171
166
|
});
|
|
172
167
|
}, value: props.predicate.operator })),
|
|
173
|
-
React.createElement(Flex, {
|
|
168
|
+
React.createElement(Flex, { className: "twa:flex-1 twa:ml-2" }, restOfFunctionInputDataTypes.map((type, index) => {
|
|
174
169
|
const key = type + index;
|
|
175
170
|
const commonProps = {
|
|
176
171
|
lefthandColumnIdParam: columnOrFieldId,
|
|
@@ -195,7 +190,7 @@ const PrimitiveFunctionEditor = (props) => {
|
|
|
195
190
|
});
|
|
196
191
|
} }));
|
|
197
192
|
}))),
|
|
198
|
-
React.createElement(Box, {
|
|
193
|
+
React.createElement(Box, { className: "twa:flex-1" }),
|
|
199
194
|
React.createElement(QueryPredicateButtons, { ...props })));
|
|
200
195
|
}));
|
|
201
196
|
};
|