@adaptabletools/adaptable 23.0.4 → 23.0.5-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/agGrid.js +0 -31
- package/index.js +0 -31
- package/package.json +1 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +0 -2
- package/src/AdaptableOptions/AdaptablePlugin.js +1 -9
- package/src/AdaptableOptions/DefaultAdaptableOptions.js +3 -39
- package/src/AdaptableOptions/SettingsPanelOptions.d.ts +44 -16
- package/src/AdaptableState/Aggregations/only.js +0 -11
- package/src/AdaptableState/Aggregations/weightedAverage.js +0 -26
- package/src/AdaptableState/Common/AdaptableColumn.js +0 -1
- package/src/AdaptableState/Common/AdaptableForm.js +0 -49
- package/src/AdaptableState/Common/AdaptableFormatPresets.js +0 -13
- package/src/AdaptableState/Common/AdaptablePredicate.js +3 -125
- package/src/AdaptableState/Common/AggregationColumns.js +0 -10
- package/src/AdaptableState/Common/Enums.js +0 -3
- package/src/AdaptableState/Common/Menu.js +1 -7
- package/src/AdaptableState/Common/MenuItem.js +0 -2
- package/src/AdaptableState/Common/Types.js +2 -5
- package/src/AdaptableState/StatusBarState.js +0 -3
- package/src/AdaptableState/StyledColumns/BadgeStyle.js +0 -1
- package/src/AdaptableState/StyledColumns/Common/BarStyleProperties.js +0 -4
- package/src/AdaptableState/StyledColumns/Common/CellTextOptions.js +0 -5
- package/src/AdaptableState/StyledColumns/Common/NumericStyledColumn.js +0 -8
- package/src/AdaptableState/Uuid.js +0 -1
- package/src/Api/Implementation/AdaptableApiImpl.js +0 -4
- package/src/Api/Implementation/AlertApiImpl.js +0 -21
- package/src/Api/Implementation/ApiBase.js +0 -24
- package/src/Api/Implementation/CalculatedColumnApiImpl.js +0 -1
- package/src/Api/Implementation/ChartingApiImpl.js +0 -3
- package/src/Api/Implementation/ColumnApiImpl.js +1 -15
- package/src/Api/Implementation/ColumnFilterApiImpl.js +0 -9
- package/src/Api/Implementation/ColumnScopeApiImpl.js +0 -21
- package/src/Api/Implementation/DashboardApiImpl.js +0 -1
- package/src/Api/Implementation/EntitlementApiImpl.js +0 -1
- package/src/Api/Implementation/ExportApiImpl.js +0 -10
- package/src/Api/Implementation/ExpressionApiImpl.js +0 -1
- package/src/Api/Implementation/FormatColumnApiImpl.js +0 -3
- package/src/Api/Implementation/FreeTextColumnApiImpl.js +0 -2
- package/src/Api/Implementation/GridApiImpl.js +1 -22
- package/src/Api/Implementation/GridFilterApiImpl.js +0 -2
- package/src/Api/Implementation/LayoutApiImpl.js +0 -18
- package/src/Api/Implementation/LayoutHelpers.js +0 -16
- package/src/Api/Implementation/NamedQueryApiImpl.js +0 -1
- package/src/Api/Implementation/PredicateApiImpl.js +0 -5
- package/src/Api/Implementation/RowFormApiImpl.js +0 -2
- package/src/Api/Implementation/StateApiImpl.js +0 -7
- package/src/Api/Implementation/SystemStatusApiImpl.js +0 -2
- package/src/Api/Implementation/TeamSharingApiImpl.js +0 -3
- package/src/Api/Implementation/UserInterfaceApiImpl.js +0 -1
- package/src/Api/Internal/ActionColumnInternalApi.js +0 -1
- package/src/Api/Internal/AdaptableInternalApi.d.ts +0 -2
- package/src/Api/Internal/AdaptableInternalApi.js +1 -39
- package/src/Api/Internal/AlertInternalApi.js +1 -102
- package/src/Api/Internal/CalculatedColumnInternalApi.js +0 -17
- package/src/Api/Internal/ChartingInternalApi.js +0 -1
- package/src/Api/Internal/ColumnFilterInternalApi.js +0 -52
- package/src/Api/Internal/ColumnInternalApi.js +0 -32
- package/src/Api/Internal/CustomSortInternalApi.js +0 -5
- package/src/Api/Internal/DashboardInternalApi.js +0 -23
- package/src/Api/Internal/DataImportInternalApi.js +0 -1
- package/src/Api/Internal/EventInternalApi.js +0 -2
- package/src/Api/Internal/ExportInternalApi.js +1 -16
- package/src/Api/Internal/ExpressionInternalApi.js +0 -23
- package/src/Api/Internal/Fdc3InternalApi.js +0 -9
- package/src/Api/Internal/FlashingCellInternalApi.js +0 -5
- package/src/Api/Internal/FormatColumnInternalApi.js +5 -107
- package/src/Api/Internal/FreeTextColumnInternalApi.js +0 -8
- package/src/Api/Internal/GridFilterInternalApi.js +0 -3
- package/src/Api/Internal/GridInternalApi.js +0 -37
- package/src/Api/Internal/LayoutInternalApi.js +0 -18
- package/src/Api/Internal/NamedQueryInternalApi.js +0 -9
- package/src/Api/Internal/PredicateInternalApi.js +0 -23
- package/src/Api/Internal/RowFormInternalApi.js +0 -18
- package/src/Api/Internal/StateInternalApi.js +0 -25
- package/src/Api/Internal/StyledColumnInternalApi.js +0 -62
- package/src/Api/Internal/TeamSharingInternalApi.js +0 -9
- package/src/Redux/ActionsReducers/AlertRedux.js +0 -24
- package/src/Redux/ActionsReducers/ApplicationRedux.js +0 -9
- package/src/Redux/ActionsReducers/BulkUpdateRedux.js +0 -6
- package/src/Redux/ActionsReducers/CalculatedColumnRedux.js +1 -16
- package/src/Redux/ActionsReducers/ChartingRedux.js +0 -24
- package/src/Redux/ActionsReducers/CommentsRedux.js +0 -24
- package/src/Redux/ActionsReducers/CustomSortRedux.js +0 -24
- package/src/Redux/ActionsReducers/DashboardRedux.js +0 -33
- package/src/Redux/ActionsReducers/ExportRedux.js +0 -36
- package/src/Redux/ActionsReducers/FlashingCellRedux.js +0 -24
- package/src/Redux/ActionsReducers/FormatColumnRedux.js +0 -36
- package/src/Redux/ActionsReducers/FreeTextColumnRedux.js +1 -20
- package/src/Redux/ActionsReducers/InternalRedux.js +0 -42
- package/src/Redux/ActionsReducers/LayoutRedux.js +1 -67
- package/src/Redux/ActionsReducers/NamedQueryRedux.js +0 -15
- package/src/Redux/ActionsReducers/NoteRedux.js +0 -14
- package/src/Redux/ActionsReducers/PluginsRedux.js +0 -3
- package/src/Redux/ActionsReducers/PlusMinusRedux.js +0 -34
- package/src/Redux/ActionsReducers/PopupRedux.js +2 -6
- package/src/Redux/ActionsReducers/QuickSearchRedux.js +0 -15
- package/src/Redux/ActionsReducers/ShortcutRedux.js +0 -24
- package/src/Redux/ActionsReducers/SmartEditRedux.js +0 -6
- package/src/Redux/ActionsReducers/StatusBarRedux.js +0 -6
- package/src/Redux/ActionsReducers/StyledColumnRedux.js +0 -27
- package/src/Redux/ActionsReducers/SystemStatusRedux.js +0 -6
- package/src/Redux/ActionsReducers/TeamSharingRedux.js +0 -1
- package/src/Redux/ActionsReducers/ThemeRedux.js +0 -26
- package/src/Redux/ActionsReducers/ToolPanelRedux.js +0 -22
- package/src/Redux/ActionsReducers/UserInterfaceRedux.js +0 -3
- package/src/Redux/ActionsReducers/utils.js +0 -6
- package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +0 -1
- package/src/Redux/Store/AdaptableReduxMerger.js +0 -25
- package/src/Redux/Store/AdaptableStore.js +5 -301
- package/src/Strategy/AdaptableModuleBase.js +0 -35
- package/src/Strategy/AlertModule.js +0 -9
- package/src/Strategy/CellSummaryModule.js +0 -12
- package/src/Strategy/ChartingModule.js +0 -1
- package/src/Strategy/ColumnFilterModule.js +1 -11
- package/src/Strategy/CommentModule.js +0 -2
- package/src/Strategy/DashboardModule.js +0 -4
- package/src/Strategy/ExportModule.js +0 -1
- package/src/Strategy/FlashingCellModule.js +0 -8
- package/src/Strategy/FormatColumnModule.js +0 -3
- package/src/Strategy/FreeTextColumnModule.js +0 -3
- package/src/Strategy/LayoutModule.js +0 -26
- package/src/Strategy/NoteModule.js +0 -3
- package/src/Strategy/PlusMinusModule.js +0 -3
- package/src/Strategy/SettingsPanelModule.js +0 -1
- package/src/Strategy/ShortcutModule.js +0 -1
- package/src/Strategy/SmartEditModule.js +0 -5
- package/src/Strategy/StatusBarModule.js +0 -7
- package/src/Strategy/StyledColumnModule.js +1 -16
- package/src/Strategy/TeamSharingModule.js +0 -9
- package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.js +0 -5
- package/src/Utilities/Constants/DocumentationLinkConstants.js +0 -1
- package/src/Utilities/Constants/GeneralConstants.js +0 -10
- package/src/Utilities/Constants/ObjectDefaultConstants.js +0 -3
- package/src/Utilities/Constants/ReduxConstants.js +4 -8
- package/src/Utilities/Emitter.js +0 -9
- package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +0 -8
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +0 -15
- package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +0 -3
- package/src/Utilities/ExpressionFunctions/deepMap.js +0 -16
- package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +0 -9
- package/src/Utilities/ExpressionFunctions/groupingMap.js +0 -9
- package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +7 -78
- package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +0 -9
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +2 -16
- package/src/Utilities/Extensions/ArrayExtensions.js +1 -63
- package/src/Utilities/Extensions/NumberExtensions.js +0 -27
- package/src/Utilities/Extensions/ObjectExtensions.js +0 -36
- package/src/Utilities/Extensions/StringExtensions.js +0 -27
- package/src/Utilities/Helpers/ActionColumnHelper.js +0 -4
- package/src/Utilities/Helpers/AdaptableHelper.js +0 -8
- package/src/Utilities/Helpers/DateHelper.js +0 -10
- package/src/Utilities/Helpers/DisplayFormatHelper.js +0 -8
- package/src/Utilities/Helpers/Helper.js +3 -9
- package/src/Utilities/Helpers/PlusMinusHelper.js +0 -20
- package/src/Utilities/Helpers/QuickSearchHelper.js +0 -5
- package/src/Utilities/Helpers/Scheduling/CronExpression.js +0 -43
- package/src/Utilities/Helpers/Scheduling/ScheduledReportHelper.js +0 -4
- package/src/Utilities/Helpers/SettingsPanelHelper.js +40 -4
- package/src/Utilities/Helpers/StyleHelper.js +0 -56
- package/src/Utilities/Helpers/StyledColumns/BarStylesHelper.js +0 -46
- package/src/Utilities/Helpers/StyledColumns/GradientStyleHelper.js +0 -38
- package/src/Utilities/Helpers/StyledColumns/IconStyleHelper.js +0 -39
- package/src/Utilities/Helpers/StyledColumns/PercentBarStyleHelper.js +0 -1
- package/src/Utilities/Helpers/StyledColumns/SparklineStyleHelper.js +0 -5
- package/src/Utilities/Helpers/StyledColumns/StyledColumnHelper.js +0 -37
- package/src/Utilities/Helpers/TimingHelper.js +0 -13
- package/src/Utilities/ObjectFactory.js +2 -4
- package/src/Utilities/Services/AggregatedScalarLiveValue.js +0 -7
- package/src/Utilities/Services/AlertService.js +0 -1
- package/src/Utilities/Services/AnnotationsService.js +0 -22
- package/src/Utilities/Services/CalculatedColumnExpressionService.js +0 -8
- package/src/Utilities/Services/ChartingService.js +0 -9
- package/src/Utilities/Services/DataService.js +0 -11
- package/src/Utilities/Services/Fdc3Service.js +0 -3
- package/src/Utilities/Services/FlashingCellService.js +0 -6
- package/src/Utilities/Services/ModuleService.js +0 -8
- package/src/Utilities/Services/QueryLanguageService.js +2 -25
- package/src/Utilities/Services/RowFormService.js +0 -1
- package/src/Utilities/Services/RowSummaryService.js +1 -20
- package/src/Utilities/Services/TeamSharingService.js +0 -15
- package/src/Utilities/Services/ThemeService.js +0 -7
- package/src/Utilities/Services/ValidationService.js +0 -21
- package/src/Utilities/createAgStatusPanelComponent.js +0 -3
- package/src/Utilities/getExpressionViewItems.js +0 -2
- package/src/Utilities/getObjectTagsViewItems.js +0 -1
- package/src/Utilities/getScrollbarSize.js +0 -1
- package/src/Utilities/logDeprecation.js +0 -3
- package/src/Utilities/resolveContainerElement.js +0 -21
- package/src/Utilities/runIfNotResolvedIn.js +0 -7
- package/src/Utilities/sortColumnStateForVisibleColumns.js +2 -12
- package/src/Utilities/waitForTimeout.js +0 -1
- package/src/Utilities/wizardSelection.js +0 -2
- package/src/View/AdaptablePopover/index.js +1 -1
- package/src/View/AdaptableView.js +1 -5
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +0 -4
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +0 -23
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/EntitlementsForm.js +0 -2
- package/src/View/AdaptableWizardView/Wizard.js +0 -12
- package/src/View/AdaptableWizardView/helper.js +0 -11
- package/src/View/Alert/ActiveAlertsPanel.js +0 -2
- package/src/View/Alert/AlertStatusSubPanel.js +0 -8
- package/src/View/Alert/Utilities/getAlertType.js +0 -7
- package/src/View/Alert/Utilities/getDefaultAlertDefinition.js +0 -5
- package/src/View/Alert/Utilities/mapAlertDefinition.js +0 -3
- package/src/View/Alert/Wizard/AlertWizard.js +0 -2
- package/src/View/Alert/Wizard/isValidAlertRules.js +0 -1
- package/src/View/BulkUpdate/BulkUpdatePopup.js +0 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +1 -3
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +0 -1
- package/src/View/CalculatedColumn/utils.d.ts +1 -1
- package/src/View/CellSummary/CellSummaryPopup.js +0 -3
- package/src/View/CellSummary/CellSummaryStatusBarSubPanelPopover.js +1 -7
- package/src/View/Charting/EditChartButton.js +1 -4
- package/src/View/Charting/ShowChartButton.js +0 -3
- package/src/View/Charting/useAgChartState.js +0 -5
- package/src/View/Charting/useChartingElements.js +0 -4
- package/src/View/Charting/useExternalChartState.js +0 -6
- package/src/View/ColumnInfo/ColumnInfo.js +7 -17
- package/src/View/Comments/CommentsEditor.js +1 -16
- package/src/View/Components/AdaptableButton/AdaptableButtonComponent.js +0 -1
- package/src/View/Components/AdaptableButton/AdaptableButtonView.js +0 -3
- package/src/View/Components/AdaptableDateInput/index.js +2 -9
- package/src/View/Components/AdaptableIconComponent/index.js +0 -4
- package/src/View/Components/AdaptableIconSelector/index.js +0 -3
- package/src/View/Components/AdaptableInput/index.js +0 -2
- package/src/View/Components/Badge/index.js +0 -8
- package/src/View/Components/Buttons/ButtonNewPage.js +1 -2
- package/src/View/Components/Buttons/EntityListActionButtons.js +0 -1
- package/src/View/Components/CellPopup/index.js +1 -2
- package/src/View/Components/ColumnFilter/AdaptableColumnFilter.js +0 -4
- package/src/View/Components/ColumnFilter/AdaptableFloatingFilter.js +0 -4
- package/src/View/Components/ColumnFilter/ColumnFilter.js +3 -46
- package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +0 -2
- package/src/View/Components/ColumnFilter/FloatingFilter.js +1 -20
- package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +2 -16
- package/src/View/Components/ColumnFilter/components/ColumnFilterInputList.js +1 -4
- package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +0 -1
- package/src/View/Components/ColumnFilter/components/FloatingFilterInputList.js +1 -6
- package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +0 -20
- package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.js +0 -5
- package/src/View/Components/ColumnFilter/utils.js +2 -9
- package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicateEditor.js +0 -2
- package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.js +0 -1
- package/src/View/Components/EntityRulesEditor/index.js +1 -11
- package/src/View/Components/ExternalRenderer.js +1 -3
- package/src/View/Components/FilterForm/ListBoxFilterForm.js +1 -52
- package/src/View/Components/ModuleValueSelector/index.js +0 -2
- package/src/View/Components/Panels/PanelWithImage.js +1 -5
- package/src/View/Components/Panels/PanelWithRow.js +0 -3
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +0 -6
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.js +0 -3
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +0 -6
- package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +1 -2
- package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +0 -1
- package/src/View/Components/Popups/AdaptablePopupAlert.js +0 -3
- package/src/View/Components/Popups/AdaptableToaster.js +0 -2
- package/src/View/Components/Popups/WindowPopups/WindowPopups.js +0 -8
- package/src/View/Components/RangesComponent.js +0 -57
- package/src/View/Components/Selectors/BulkUpdateValueSelector.js +0 -3
- package/src/View/Components/Selectors/PermittedValuesSelector.js +1 -6
- package/src/View/Components/ToolPanel/AdaptableToolPanel.js +1 -18
- package/src/View/Components/ToolPanel/ToolPanelPopupSections.js +0 -4
- package/src/View/Components/ToolPanel/ToolPanelWrapper.js +1 -4
- package/src/View/Components/ValueSelector/index.js +0 -4
- package/src/View/Components/wizardColumnListStyles.js +0 -5
- package/src/View/Dashboard/CustomToolbar.js +1 -25
- package/src/View/Dashboard/PinnedToolbarsSelector.js +0 -1
- package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -22
- package/src/View/DataImport/DataImportWizard/sections/DataPreview.js +0 -1
- package/src/View/DataImport/systemFileHandlers.js +1 -1
- package/src/View/FlashingCell/Wizard/isValidFlashingCellRules.js +0 -1
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +0 -27
- package/src/View/FormatColumn/Wizard/FormatColumnPreview.js +0 -1
- package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +0 -7
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +0 -12
- package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +0 -10
- package/src/View/GridFilter/GridFilterPopup.js +0 -1
- package/src/View/GridFilter/useGridFilterExpressionEditor.js +0 -2
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +1 -31
- package/src/View/Layout/LayoutViewPanel.js +0 -2
- package/src/View/Layout/PivotDetailsPopoup.js +0 -2
- package/src/View/Layout/TransposedPopup.js +0 -7
- package/src/View/Layout/Wizard/LayoutWizard.js +1 -6
- package/src/View/Layout/Wizard/sections/AggregationsSection.js +0 -2
- package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -32
- package/src/View/Layout/Wizard/sections/RowSummarySection.js +0 -3
- package/src/View/Layout/Wizard/sections/columnLayoutHelpers.js +0 -2
- package/src/View/Layout/Wizard/sections/layoutWizardColumns.js +0 -4
- package/src/View/Note/NotePopup.js +0 -1
- package/src/View/QuickSearch/QuickSearchPopup.js +0 -1
- package/src/View/StatusBar/AdaptableStatusBar.js +0 -4
- package/src/View/StatusBar/StatusBarPanel.js +0 -8
- package/src/View/StatusBar/StatusBarPopup.js +0 -2
- package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.js +0 -11
- package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.js +0 -28
- package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +0 -13
- package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +1 -25
- package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.js +0 -26
- package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.js +0 -3
- package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.js +0 -40
- package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.js +0 -55
- package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.js +0 -15
- package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.js +0 -21
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarStyleCellTextPreview.js +0 -10
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/GradientSummaryPreview.js +0 -5
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.js +0 -4
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +0 -5
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.js +0 -3
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnChartListPreviews.js +0 -13
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRangeBarPreview.js +0 -1
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview.js +0 -1
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnSparklinePreview.js +0 -1
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardRangesSection.js +0 -13
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +1 -13
- package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +0 -21
- package/src/View/SystemStatus/SystemStatusPopup.js +0 -1
- package/src/View/TeamSharing/SharedEntityObjectView.js +0 -1
- package/src/View/Theme/ThemeSelector.js +0 -1
- package/src/View/UIHelper.js +0 -6
- package/src/View/UIInterfaces.js +0 -1
- package/src/View/Wizard/CollapsibleWizardCard.js +1 -8
- package/src/View/Wizard/OnePageWizards.js +2 -9
- package/src/View/Wizard/SummaryColorTag.js +0 -1
- package/src/View/Wizard/useKeyboardNavigation.js +1 -3
- package/src/agGrid/Adaptable.js +0 -12
- package/src/agGrid/AdaptableAgGrid.d.ts +0 -2
- package/src/agGrid/AdaptableAgGrid.js +3 -482
- package/src/agGrid/AdaptableFilterHandler.js +0 -5
- package/src/agGrid/AdaptableLogger.js +0 -6
- package/src/agGrid/AgGridAdapter.js +3 -90
- package/src/agGrid/AgGridColumnAdapter.js +6 -168
- package/src/agGrid/AgGridExportAdapter.js +4 -106
- package/src/agGrid/AgGridFilterAdapter.js +0 -5
- package/src/agGrid/AgGridFloatingFilterAdapter.js +0 -10
- package/src/agGrid/AgGridMenuAdapter.js +0 -143
- package/src/agGrid/AgGridModulesAdapter.js +0 -2
- package/src/agGrid/AgGridOptionsService.js +0 -2
- package/src/agGrid/AgGridThemeAdapter.js +0 -7
- package/src/agGrid/agGridDataTypeDefinitions.js +0 -8
- package/src/agGrid/cellRenderers/BadgeRenderer.js +0 -10
- package/src/agGrid/cellRenderers/BulletChartRenderer.js +1 -96
- package/src/agGrid/cellRenderers/IconRenderer.js +0 -55
- package/src/agGrid/cellRenderers/PercentBarRenderer.js +0 -51
- package/src/agGrid/cellRenderers/RangeBarRenderer.js +1 -50
- package/src/agGrid/cellRenderers/RatingRenderer.js +0 -40
- package/src/agGrid/editors/AdaptableDateEditor/index.js +0 -18
- package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +0 -3
- package/src/agGrid/editors/AdaptableNumberEditor/index.js +0 -11
- package/src/agGrid/editors/AdaptablePercentageEditor/index.js +0 -9
- package/src/agGrid/index.js +1 -9
- package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +1 -73
- package/src/components/ColorPicker/ColorPicker.js +0 -6
- package/src/components/Combobox/VirtualizedList.js +0 -5
- package/src/components/Combobox/index.js +5 -63
- package/src/components/Dashboard/Dashboard.js +1 -4
- package/src/components/Datepicker/index.js +2 -97
- package/src/components/DragAndDropContext/TabList.js +2 -6
- package/src/components/Drawer/index.js +0 -7
- package/src/components/Dropdown/index.js +0 -1
- package/src/components/DropdownButton/index.js +0 -1
- package/src/components/ExpressionEditor/BaseEditorInput.js +1 -16
- package/src/components/ExpressionEditor/EditorButton.js +0 -1
- package/src/components/ExpressionEditor/EditorInput.js +1 -7
- package/src/components/ExpressionEditor/EditorInputWithWhereClause.js +0 -1
- package/src/components/ExpressionEditor/ExpressionPreview.js +4 -14
- package/src/components/ExpressionEditor/NamedQueryContext.js +0 -1
- package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +1 -6
- package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +0 -12
- package/src/components/ExpressionEditor/QueryBuilder/utils.js +0 -4
- package/src/components/ExpressionEditor/index.js +5 -14
- package/src/components/Icon/index.js +0 -2
- package/src/components/Input/NumberInput.js +0 -10
- package/src/components/Modal/Backdrop.js +0 -1
- package/src/components/OverlayTrigger/Overlay.js +0 -1
- package/src/components/OverlayTrigger/index.js +3 -15
- package/src/components/ProgressIndicator/ProgressIndicator.js +3 -16
- package/src/components/ResizeObserver/index.js +0 -7
- package/src/components/SelectableList/index.js +0 -7
- package/src/components/SimpleButton/index.js +2 -16
- package/src/components/Tabs/index.js +0 -3
- package/src/components/Tag/Tag.js +0 -1
- package/src/components/Tag/columnScopeTagHelpers.js +0 -2
- package/src/components/Textarea/index.js +1 -8
- package/src/components/Toggle/Toggle.js +1 -5
- package/src/components/Toggle/ToggleGroup.js +1 -3
- package/src/components/ToggleButton/index.js +1 -3
- package/src/components/Tree/TreeDropdown/index.js +2 -130
- package/src/components/Tree/treeUtils.js +0 -4
- package/src/components/WindowModal/WindowModal.js +1 -14
- package/src/components/WindowModal/useStacking.js +0 -7
- package/src/components/icons/bullet-chart.js +0 -4
- package/src/components/icons/icon-style.js +0 -4
- package/src/components/icons/index.js +26 -36
- package/src/components/icons/range-bar.js +0 -5
- package/src/components/icons/star.js +0 -1
- package/src/components/twUtils.js +3 -12
- package/src/components/ui/calendar.js +1 -9
- package/src/components/ui/combobox.js +0 -4
- package/src/components/utils/captureTabNavigation/getFocusableChildren.js +0 -1
- package/src/components/utils/useDraggable.js +0 -4
- package/src/components/utils/useProperty.js +0 -18
- package/src/devTools/index.js +0 -1
- package/src/env.js +2 -2
- package/src/layout-manager/src/LMEmitter.js +0 -5
- package/src/layout-manager/src/destructurePivotColumnId.js +0 -19
- package/src/layout-manager/src/index.js +2 -182
- package/src/layout-manager/src/isLayoutEqual.js +0 -1
- package/src/layout-manager/src/isPivotColumnTotal.js +0 -2
- package/src/layout-manager/src/normalizeLayoutModel.js +0 -27
- package/src/layout-manager/src/simplifyLayoutModel.js +0 -11
- package/src/layout-manager/src/sortColumnIdsByOrder.js +2 -12
- package/src/lib/utils.js +0 -1
- package/src/migration/AdaptableUpgradeHelper.js +0 -2
- package/src/migration/VersionUpgrade17.js +0 -33
- package/src/migration/VersionUpgrade20.js +1 -21
- package/src/migration/VersionUpgrade21.js +0 -3
- package/src/migration/VersionUpgrade22.js +0 -11
- package/src/migration/VersionUpgrade23.js +0 -73
- package/src/parser/src/evaluator.js +0 -1
- package/src/parser/src/index.js +0 -1
- package/src/parser/src/parser.js +4 -103
- package/src/parser/src/predicate/mapExpressionToQlPredicate.js +0 -5
- package/src/parser/src/predicate/mapQlPredicateToExpression.js +0 -2
- package/src/parser/src/tokenizer.js +0 -2
- package/src/parser/src/utils.js +0 -1
- package/src/renderReactRoot.js +0 -12
- package/src/setupDevTools.js +0 -6
- package/src/twMerge.js +0 -1
- package/src/types.d.ts +1 -1
- package/src/types.js +0 -2
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/src/Utilities/Services/Interface/IMetamodelService.d.ts +0 -20
- package/src/Utilities/Services/Interface/IMetamodelService.js +0 -1
- package/src/Utilities/Services/MetamodelService.d.ts +0 -17
- package/src/Utilities/Services/MetamodelService.js +0 -162
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.d.ts +0 -6
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +0 -99
- package/src/metamodel/adaptable-metamodel-model.d.ts +0 -26
- package/src/metamodel/adaptable-metamodel-model.js +0 -1
- package/src/metamodel/adaptable.metamodel.d.ts +0 -6244
- package/src/metamodel/adaptable.metamodel.js +0 -1
|
@@ -112,8 +112,6 @@ export const getFormatColumnDisplayFormatSummaryItems = (data) => {
|
|
|
112
112
|
if (isAdaptableNumericFormatPreset(data.DisplayFormat)) {
|
|
113
113
|
return [{ label: 'Preset', value: NUMERIC_PRESET_LABELS[data.DisplayFormat] }];
|
|
114
114
|
}
|
|
115
|
-
// Wizard materialises an empty { Formatter, Options: {} } shell while editing;
|
|
116
|
-
// treat it as unset (same as handleFinish in FormatColumnWizard).
|
|
117
115
|
if (data.DisplayFormat &&
|
|
118
116
|
typeof data.DisplayFormat === 'object' &&
|
|
119
117
|
isObjectEmpty(data.DisplayFormat.Options)) {
|
|
@@ -180,13 +178,10 @@ export const getFormatDisplayTypeForScope = (scope, api) => {
|
|
|
180
178
|
if ('All' in scope) {
|
|
181
179
|
return undefined;
|
|
182
180
|
}
|
|
183
|
-
// Date-related data types that should all be treated as 'date'
|
|
184
181
|
const dateTypes = api.columnApi.internalApi.getColumnDateTypes();
|
|
185
|
-
// Check for ColumnIds in scope
|
|
186
182
|
if ('ColumnIds' in scope) {
|
|
187
183
|
const columns = scope.ColumnIds.map((c) => api.columnApi.getColumnWithColumnId(c)).filter(Boolean);
|
|
188
184
|
const columnDataTypes = uniq(columns.map((c) => c.dataType));
|
|
189
|
-
// If there's only one data type
|
|
190
185
|
if (columnDataTypes.length === 1) {
|
|
191
186
|
const dataType = columnDataTypes[0];
|
|
192
187
|
if (dataType === 'number') {
|
|
@@ -199,14 +194,12 @@ export const getFormatDisplayTypeForScope = (scope, api) => {
|
|
|
199
194
|
return 'text';
|
|
200
195
|
}
|
|
201
196
|
}
|
|
202
|
-
// If there are multiple data types but they're all date types
|
|
203
197
|
else if (columnDataTypes.length > 0 &&
|
|
204
198
|
columnDataTypes.every((type) => dateTypes.includes(type))) {
|
|
205
199
|
return 'date';
|
|
206
200
|
}
|
|
207
201
|
return undefined;
|
|
208
202
|
}
|
|
209
|
-
// Check for DataTypes in scope
|
|
210
203
|
if ('DataTypes' in scope && scope.DataTypes.length === 1) {
|
|
211
204
|
const dataType = scope.DataTypes[0];
|
|
212
205
|
if (dataType === 'number') {
|
|
@@ -219,34 +212,27 @@ export const getFormatDisplayTypeForScope = (scope, api) => {
|
|
|
219
212
|
return 'text';
|
|
220
213
|
}
|
|
221
214
|
}
|
|
222
|
-
// If there are multiple data types but they're all date types
|
|
223
215
|
else if ('DataTypes' in scope &&
|
|
224
216
|
scope.DataTypes.length > 0 &&
|
|
225
217
|
scope.DataTypes.every((type) => dateTypes.includes(type))) {
|
|
226
218
|
return 'date';
|
|
227
219
|
}
|
|
228
|
-
// Check for ColumnTypes in scope
|
|
229
220
|
if ('ColumnTypes' in scope && scope.ColumnTypes.length) {
|
|
230
|
-
// If a Pivot Total Column Type is specified, we can safely assume that the data type is number
|
|
231
221
|
const pivotTotalTypes = [
|
|
232
222
|
PIVOT_ANY_TOTAL_COLUMN_TYPE,
|
|
233
223
|
PIVOT_GRAND_TOTAL_COLUMN_TYPE,
|
|
234
224
|
PIVOT_COLUMN_TOTAL_COLUMN_TYPE,
|
|
235
225
|
PIVOT_AGGREGATION_TOTAL_COLUMN_TYPE,
|
|
236
226
|
];
|
|
237
|
-
// If all column types are pivot total types, we can safely assume that the data type is number
|
|
238
227
|
if (scope.ColumnTypes.length > 0 &&
|
|
239
228
|
scope.ColumnTypes.every((type) => pivotTotalTypes.includes(type))) {
|
|
240
229
|
return 'number';
|
|
241
230
|
}
|
|
242
|
-
// Check if all columns with this column type have the same data type
|
|
243
231
|
const columns = scope.ColumnTypes.flatMap((columnType) => {
|
|
244
232
|
return api.columnApi.getColumnsByColumnType(columnType);
|
|
245
233
|
});
|
|
246
234
|
if (columns.length) {
|
|
247
|
-
// Check if all columns have the same type
|
|
248
235
|
const allSameType = columns.every((column) => column.dataType === columns[0].dataType);
|
|
249
|
-
// Handle specific data types
|
|
250
236
|
if (allSameType) {
|
|
251
237
|
const dataType = columns[0].dataType;
|
|
252
238
|
if (dataType === 'number') {
|
|
@@ -259,7 +245,6 @@ export const getFormatDisplayTypeForScope = (scope, api) => {
|
|
|
259
245
|
return 'text';
|
|
260
246
|
}
|
|
261
247
|
}
|
|
262
|
-
// Check if all columns are date types (even if they're different date types)
|
|
263
248
|
const allDateTypes = columns.every((column) => dateTypes.includes(column.dataType));
|
|
264
249
|
if (allDateTypes) {
|
|
265
250
|
return 'date';
|
|
@@ -329,10 +314,6 @@ const renderNumberFormat = (data, onChange, setFormatOption, scopedCustomFormatt
|
|
|
329
314
|
if (resolved?.Formatter !== 'NumberFormatter') {
|
|
330
315
|
return null;
|
|
331
316
|
}
|
|
332
|
-
// A preset is now stored as a bare string ('Percentage', 'Dollar', ...)
|
|
333
|
-
// — selecting a preset just writes the name. The active preset is
|
|
334
|
-
// therefore a simple string comparison instead of the old fragile
|
|
335
|
-
// suffix/multiplier heuristic.
|
|
336
317
|
const setPreset = (preset) => {
|
|
337
318
|
onChange({ DisplayFormat: preset });
|
|
338
319
|
};
|
|
@@ -431,23 +412,15 @@ export const FormatColumnFormatWizardSection = (props) => {
|
|
|
431
412
|
props.onChange({ ...data, ...updated });
|
|
432
413
|
};
|
|
433
414
|
const setFormatOption = (key, value) => {
|
|
434
|
-
// If the user is currently on a preset (e.g. 'Dollar'), materialise
|
|
435
|
-
// it into a concrete AdaptableFormat *before* applying the edit so
|
|
436
|
-
// that tweaking any field "forks" the preset into a bespoke format.
|
|
437
415
|
const current = resolveDisplayFormat(data.DisplayFormat);
|
|
438
416
|
if (!current)
|
|
439
417
|
return;
|
|
440
|
-
// The cast is safe: we copy `current.Formatter` and merge into
|
|
441
|
-
// `current.Options`, so the discriminant and the Options shape
|
|
442
|
-
// are always kept in sync — TypeScript just can't correlate the
|
|
443
|
-
// two ends of the discriminated union across a generic merge.
|
|
444
418
|
const DisplayFormat = {
|
|
445
419
|
Formatter: current.Formatter,
|
|
446
420
|
Options: { ...current.Options, [key]: value },
|
|
447
421
|
};
|
|
448
422
|
update({ DisplayFormat });
|
|
449
423
|
};
|
|
450
|
-
// A preset string is logically a NumberFormatter for this routing.
|
|
451
424
|
const Type = isAdaptableNumericFormatPreset(data.DisplayFormat)
|
|
452
425
|
? 'NumberFormatter'
|
|
453
426
|
: data.DisplayFormat && data.DisplayFormat.Formatter;
|
|
@@ -16,7 +16,6 @@ const toFormatColumnPreviewStyle = (formatColumn) => {
|
|
|
16
16
|
textAlign: style.Alignment ? style.Alignment.toLowerCase() : undefined,
|
|
17
17
|
};
|
|
18
18
|
};
|
|
19
|
-
/** Today's date as sample text — no Display Format options applied. */
|
|
20
19
|
export const getFormatColumnPreviewDateSampleText = () => new Date().toLocaleDateString();
|
|
21
20
|
export const getFormatColumnStylePreviewText = (formatColumn, api) => {
|
|
22
21
|
const formatType = getFormatDisplayTypeForScope(formatColumn.Scope, api);
|
|
@@ -22,10 +22,6 @@ const ROW_KIND_EXCLUDE_KEY = {
|
|
|
22
22
|
Summary: 'ExcludeSummaryRows',
|
|
23
23
|
Total: 'ExcludeTotalRows',
|
|
24
24
|
};
|
|
25
|
-
/**
|
|
26
|
-
* Missing flags default to "include" — matches the long-standing
|
|
27
|
-
* Format Column row-scope semantics.
|
|
28
|
-
*/
|
|
29
25
|
const isRowKindIncluded = (data, kind) => {
|
|
30
26
|
return !data.RowScope?.[ROW_KIND_EXCLUDE_KEY[kind]];
|
|
31
27
|
};
|
|
@@ -79,9 +75,6 @@ const FormatColumnRowsScopeSummary = ({ data, }) => {
|
|
|
79
75
|
return (_jsx(CollapsibleWizardValueSummary, { value: allKinds ? (_jsx(Tag, { children: "All" })) : includedKinds.length === 0 ? (_jsx(Tag, { children: "None" })) : (_jsx(Flex, { flexWrap: "wrap", className: "twa:gap-1", children: includedKinds.map((kind) => (_jsx(Tag, { children: ROW_KIND_LABELS[kind] }, kind))) })) }));
|
|
80
76
|
};
|
|
81
77
|
const FormatColumnRowScopePanel = ({ data, onRowKindChange, }) => (_jsx(Flex, { flexDirection: "column", className: "twa:items-start twa:px-1 twa:py-1", style: { rowGap: 'calc(var(--ab-base-space) * 2)' }, children: FORMAT_COLUMN_ROW_KINDS.map((kind) => (_jsx(CheckBox, { "data-name": `include-${kind.toLowerCase()}-rows-checkbox`, checked: isRowKindIncluded(data, kind), onChange: (checked) => onRowKindChange(kind, checked), children: ROW_KIND_LABELS[kind] }, kind))) }));
|
|
82
|
-
// ---------------------------------------------------------------------------
|
|
83
|
-
// Section
|
|
84
|
-
// ---------------------------------------------------------------------------
|
|
85
78
|
export const FormatColumnScopeWizardSection = (props) => {
|
|
86
79
|
const { data, api } = useOnePageAdaptableWizardContext();
|
|
87
80
|
const adaptable = useAdaptable();
|
|
@@ -15,17 +15,6 @@ export const renderFormatColumnSettingsSummary = (data) => {
|
|
|
15
15
|
export const FormatColumnSettingsWizardSection = (props) => {
|
|
16
16
|
const { data, api } = useOnePageAdaptableWizardContext();
|
|
17
17
|
const nameInputRef = React.useRef(null);
|
|
18
|
-
// When the wizard is opened for a brand-new Format Column (no Name yet),
|
|
19
|
-
// park the cursor in the Name input so the user can start typing.
|
|
20
|
-
//
|
|
21
|
-
// We have to fight three earlier focus calls:
|
|
22
|
-
// 1. <Dialog> focuses itself on mount via useAutoFocus.
|
|
23
|
-
// 2. OnePageWizards focuses its section-nav pill in a useEffect.
|
|
24
|
-
// 3. The same wizard effect re-fires when its ResizeObserver-driven
|
|
25
|
-
// `width` state updates (a tick or two after mount).
|
|
26
|
-
//
|
|
27
|
-
// Two animation frames takes us past (3); a small setTimeout fallback
|
|
28
|
-
// re-asserts focus in case layout thrashes again.
|
|
29
18
|
React.useEffect(() => {
|
|
30
19
|
if (data?.Name) {
|
|
31
20
|
return;
|
|
@@ -44,7 +33,6 @@ export const FormatColumnSettingsWizardSection = (props) => {
|
|
|
44
33
|
}, []);
|
|
45
34
|
const currentTarget = data.Target ? data.Target : 'cell';
|
|
46
35
|
const handleTargetChange = (target) => {
|
|
47
|
-
// Update the formatColumn object
|
|
48
36
|
props.onChange({
|
|
49
37
|
...data,
|
|
50
38
|
Target: target,
|
|
@@ -24,7 +24,6 @@ import { FormatColumnPreviewSummaryCard } from './FormatColumnPreview';
|
|
|
24
24
|
const adjustDisplayFormat = (fc, api) => {
|
|
25
25
|
const formatColumn = { ...fc };
|
|
26
26
|
let formatDataType = getFormatDisplayTypeForScope(formatColumn.Scope, api);
|
|
27
|
-
// Add RowScope and Target defaults for Format Columns that have been created in Initial State
|
|
28
27
|
if (!formatColumn.RowScope) {
|
|
29
28
|
formatColumn.RowScope = {
|
|
30
29
|
ExcludeDataRows: false,
|
|
@@ -37,16 +36,11 @@ const adjustDisplayFormat = (fc, api) => {
|
|
|
37
36
|
formatColumn.Target = 'cell';
|
|
38
37
|
}
|
|
39
38
|
if (formatColumn.Target === 'columnHeader') {
|
|
40
|
-
// Column Headers are always text
|
|
41
39
|
formatDataType = 'text';
|
|
42
40
|
}
|
|
43
41
|
if (!formatDataType && formatColumn.DisplayFormat) {
|
|
44
42
|
formatColumn.DisplayFormat = undefined;
|
|
45
43
|
}
|
|
46
|
-
// For shape-detection purposes a numeric preset name is equivalent to a
|
|
47
|
-
// NumberFormatter. We only need to materialise an object literal when
|
|
48
|
-
// there is no DisplayFormat at all (or the existing one targets a
|
|
49
|
-
// different Formatter type to the new scope).
|
|
50
44
|
const resolvedFormatter = isAdaptableNumericFormatPreset(formatColumn.DisplayFormat)
|
|
51
45
|
? 'NumberFormatter'
|
|
52
46
|
: formatColumn.DisplayFormat?.Formatter;
|
|
@@ -96,10 +90,6 @@ export function FormatColumnWizard(props) {
|
|
|
96
90
|
}, []);
|
|
97
91
|
const dispatch = useDispatch();
|
|
98
92
|
const handleFinish = () => {
|
|
99
|
-
// If the user opened the wizard, picked a Formatter type, but never
|
|
100
|
-
// touched any options (and didn't pick a preset), drop the empty
|
|
101
|
-
// DisplayFormat object so we don't persist an empty shell. Preset
|
|
102
|
-
// strings are always meaningful and should never be removed here.
|
|
103
93
|
const df = formatColumn?.DisplayFormat;
|
|
104
94
|
if (df && !isAdaptableNumericFormatPreset(df) && df.Options && isObjectEmpty(df.Options)) {
|
|
105
95
|
delete formatColumn.DisplayFormat;
|
|
@@ -3,7 +3,6 @@ import { useGridFilterExpressionEditor } from './useGridFilterExpressionEditor';
|
|
|
3
3
|
import { GridFilterPopupUI } from './GridFilterPopupUI';
|
|
4
4
|
export const GridFilterPopup = () => {
|
|
5
5
|
const hookData = useGridFilterExpressionEditor();
|
|
6
|
-
// Create callback handlers
|
|
7
6
|
const handleExpressionChange = (value) => {
|
|
8
7
|
hookData.setExpression(value);
|
|
9
8
|
};
|
|
@@ -45,7 +45,6 @@ export const useGridFilterExpressionEditor = () => {
|
|
|
45
45
|
columnId: col.columnId,
|
|
46
46
|
label: col.friendlyName,
|
|
47
47
|
onClick: () => {
|
|
48
|
-
// Bogdan - im sure there is a better way to do this check with fancy operators i dont know
|
|
49
48
|
const newExp = StringExtensions.IsNotNullOrEmpty(expression) ? expression : '';
|
|
50
49
|
setExpression(newExp + `[${col.columnId}]`);
|
|
51
50
|
},
|
|
@@ -58,7 +57,6 @@ export const useGridFilterExpressionEditor = () => {
|
|
|
58
57
|
const runQuery = (newExpression = expression) => {
|
|
59
58
|
if (StringExtensions.IsNullOrEmpty(newExpression) &&
|
|
60
59
|
StringExtensions.IsNotNullOrEmpty(gridFilter?.Expression)) {
|
|
61
|
-
// user pressed enter key with an empty input => clear existing expression
|
|
62
60
|
adaptable.api.filterApi.gridFilterApi.setGridFilterExpression('');
|
|
63
61
|
return;
|
|
64
62
|
}
|
|
@@ -70,9 +70,6 @@ export const GridInfoPopup = (props) => {
|
|
|
70
70
|
Key: { field: 'Key', header: 'Property', defaultFlex: 1 },
|
|
71
71
|
Value: { field: 'Value', header: 'Value', defaultFlex: 3 },
|
|
72
72
|
};
|
|
73
|
-
// Variant used by the Grid Options tab — the Value column allows newlines
|
|
74
|
-
// in the rendered string (preserved via `white-space: pre-line`), so a
|
|
75
|
-
// nested *Options object can show one `"key": value` per line.
|
|
76
73
|
const optionsColumnsMap = {
|
|
77
74
|
Key: { field: 'Key', header: 'Property', defaultFlex: 1 },
|
|
78
75
|
Value: {
|
|
@@ -90,16 +87,10 @@ export const GridInfoPopup = (props) => {
|
|
|
90
87
|
}, children: String(value ?? '') })),
|
|
91
88
|
},
|
|
92
89
|
};
|
|
93
|
-
// ---- Grid Options tab: build one InfiniteTableGrid section per non-empty
|
|
94
|
-
// ---- options group on the AdaptableOptions object.
|
|
95
90
|
const titleCase = (camel) => camel
|
|
96
91
|
.replace(/([a-z])([A-Z])/g, '$1 $2')
|
|
97
92
|
.replace(/^./, (c) => c.toUpperCase())
|
|
98
93
|
.replace(/\s./g, (c) => c.toUpperCase());
|
|
99
|
-
// Renders a single primitive / function / array / nested-object value
|
|
100
|
-
// (used for the inner key:value pairs when expanding a nested options
|
|
101
|
-
// object). Short objects/arrays stay on one line; longer ones get
|
|
102
|
-
// pretty-printed across multiple lines so they don't blow past the cell.
|
|
103
94
|
const ONE_LINE_MAX = 60;
|
|
104
95
|
const fnReplacer = (_k, val) => typeof val === 'function' ? '[Function]' : val;
|
|
105
96
|
const formatValuePart = (v) => {
|
|
@@ -132,14 +123,9 @@ export const GridInfoPopup = (props) => {
|
|
|
132
123
|
if (v === null)
|
|
133
124
|
return '(null)';
|
|
134
125
|
if (Array.isArray(v)) {
|
|
135
|
-
// Top-level array values (e.g. `colorPalette`, `systemFilterPredicates`).
|
|
136
|
-
// Short arrays stay on one line; longer ones get pretty-printed across
|
|
137
|
-
// multiple lines so they don't blow past the cell.
|
|
138
126
|
return formatValuePart(v);
|
|
139
127
|
}
|
|
140
128
|
if (typeof v === 'object') {
|
|
141
|
-
// Nested options-style object → render as one `key: value` per line.
|
|
142
|
-
// `undefined` entries are filtered out so empty defaults don't show up.
|
|
143
129
|
const entries = Object.entries(v).filter(([, val]) => val !== undefined);
|
|
144
130
|
if (entries.length === 0)
|
|
145
131
|
return '{}';
|
|
@@ -152,11 +138,6 @@ export const GridInfoPopup = (props) => {
|
|
|
152
138
|
const defaults = getDefaultAdaptableOptions();
|
|
153
139
|
const baseRows = [];
|
|
154
140
|
const groupSections = [];
|
|
155
|
-
// A function value should only be displayed when it has been explicitly
|
|
156
|
-
// provided by the user. AdapTable ships a handful of identity-function
|
|
157
|
-
// defaults (e.g. `stateOptions.applyState`) that are not interesting to
|
|
158
|
-
// surface here — we suppress those by reference-comparing against the
|
|
159
|
-
// values returned from `getDefaultAdaptableOptions()`.
|
|
160
141
|
const isUserProvidedFunction = (groupKey, propKey, fn) => {
|
|
161
142
|
if (typeof fn !== 'function')
|
|
162
143
|
return false;
|
|
@@ -175,11 +156,8 @@ export const GridInfoPopup = (props) => {
|
|
|
175
156
|
const rows = Object.keys(value)
|
|
176
157
|
.filter((sk) => {
|
|
177
158
|
const sv = value[sk];
|
|
178
|
-
// skip empties (undefined / null)
|
|
179
159
|
if (sv == null)
|
|
180
160
|
return false;
|
|
181
|
-
// suppress AdapTable's default callback implementations — keep
|
|
182
|
-
// only user-provided overrides
|
|
183
161
|
if (typeof sv === 'function' && !isUserProvidedFunction(key, sk, sv)) {
|
|
184
162
|
return false;
|
|
185
163
|
}
|
|
@@ -191,8 +169,6 @@ export const GridInfoPopup = (props) => {
|
|
|
191
169
|
groupSections.push({ title: titleCase(key), rows });
|
|
192
170
|
}
|
|
193
171
|
else {
|
|
194
|
-
// top-level function defaults aren't a concern (none exist on the
|
|
195
|
-
// root of `AdaptableOptions`), but apply the same rule for safety
|
|
196
172
|
if (typeof value === 'function' && defaults[key] === value)
|
|
197
173
|
return;
|
|
198
174
|
baseRows.push({ Key: key, Value: displayValue(value) });
|
|
@@ -204,10 +180,7 @@ export const GridInfoPopup = (props) => {
|
|
|
204
180
|
sections.push(...groupSections);
|
|
205
181
|
return sections;
|
|
206
182
|
})();
|
|
207
|
-
|
|
208
|
-
// lines in the formatted value string (including visual wraps for very
|
|
209
|
-
// long unbroken lines) and grows the row to fit.
|
|
210
|
-
const VALUE_CHARS_PER_LINE = 70; // rough estimate at the Value column width
|
|
183
|
+
const VALUE_CHARS_PER_LINE = 70;
|
|
211
184
|
const visualLineCount = (text) => {
|
|
212
185
|
if (!text)
|
|
213
186
|
return 1;
|
|
@@ -223,11 +196,8 @@ export const GridInfoPopup = (props) => {
|
|
|
223
196
|
};
|
|
224
197
|
const sectionHeight = (rows) => {
|
|
225
198
|
const total = rows.reduce((acc, r) => acc + calculateRowHeight(r), 0);
|
|
226
|
-
// 40px header, capped so a single huge group can't dominate the popup
|
|
227
199
|
return Math.min(total + 40, 400);
|
|
228
200
|
};
|
|
229
|
-
// Which tabs the user has opted in to. Falls back to all three (matching
|
|
230
|
-
// the default in `DefaultAdaptableOptions`) when the option isn't set.
|
|
231
201
|
const enabledTabs = api.optionsApi.getSettingsPanelOptions()?.gridInfoTabs ??
|
|
232
202
|
['Grid Options', 'Grid Summary', 'Grid State'];
|
|
233
203
|
const showSummary = enabledTabs.includes('Grid Summary');
|
|
@@ -16,7 +16,6 @@ import { NewDropdownButton } from '../../components/DropdownButton';
|
|
|
16
16
|
import { Icon } from '../../components/icons';
|
|
17
17
|
import { Flex } from '../../components/Flex';
|
|
18
18
|
import { SingleSelect } from '../../components/NewSelect';
|
|
19
|
-
// import { SingleCombobox } from '../../components/Combobox';
|
|
20
19
|
export const COMPONENT_LAYOUT_POPUP_NAME = 'LayoutEditorStandalonePopup';
|
|
21
20
|
const LayoutViewPanelComponent = (props) => {
|
|
22
21
|
const { Layouts, CurrentLayoutName, accessLevel, viewType, api, onSelectLayout, showMissingLayoutsError, } = props;
|
|
@@ -27,7 +26,6 @@ const LayoutViewPanelComponent = (props) => {
|
|
|
27
26
|
}
|
|
28
27
|
}, [isErrorLayout]);
|
|
29
28
|
const layoutEntity = Layouts.find((x) => x.Name === CurrentLayoutName || x.Uuid === CurrentLayoutName);
|
|
30
|
-
// the global access level (Layout Entitlement)
|
|
31
29
|
const cloneAccessLevel = accessLevel;
|
|
32
30
|
const newAccessLevel = accessLevel;
|
|
33
31
|
const entityAccessLevel = AdaptableHelper.getAccessLevelForObject(layoutEntity, accessLevel);
|
|
@@ -39,8 +39,6 @@ export const PivotDetailsPopoup = (props) => {
|
|
|
39
39
|
[primaryKey]: { field: primaryKey, header: getFriendlyName(primaryKey) },
|
|
40
40
|
};
|
|
41
41
|
if (hasPivotValue) {
|
|
42
|
-
// pivot_license_MIT License_stargazers_count
|
|
43
|
-
// splitting by _ does not work
|
|
44
42
|
columns = {
|
|
45
43
|
...columns,
|
|
46
44
|
[aggColumn]: { field: aggColumn, header: getFriendlyName(aggColumn) },
|
|
@@ -11,9 +11,7 @@ import { ExportModuleId } from '../../Utilities/Constants/ModuleConstants';
|
|
|
11
11
|
import StringExtensions from '../../Utilities/Extensions/StringExtensions';
|
|
12
12
|
const ADAPTABLE_CONTAINER_ID = 'transposed-adaptable-container';
|
|
13
13
|
const AG_GRID_CONTAINER_ID = 'transposed-adaptable-ag-grid-container';
|
|
14
|
-
/** Field used for the first column in transposed grid (hidden, holds column id). */
|
|
15
14
|
const TRANSPOSED_FIRST_COLUMN_FIELD = '_transposed_column_value';
|
|
16
|
-
/** Header used for the first visible column in transposed grid (shows friendly name). */
|
|
17
15
|
const TRANSPOSED_FIRST_COLUMN_HEADER = '_transposed_column_header';
|
|
18
16
|
function buildTransposedAdaptableOptions({ hostOptions, transposedRowsAndColumns, currentTheme, }) {
|
|
19
17
|
return {
|
|
@@ -129,11 +127,6 @@ export const TransposedPopup = (props) => {
|
|
|
129
127
|
.map((c) => adaptable.api.columnApi.getColumnWithColumnId(c))
|
|
130
128
|
.filter((col) => col != null);
|
|
131
129
|
}, [transposeConfig.columnsToTranspose, adaptable.api]);
|
|
132
|
-
/**
|
|
133
|
-
* Build transposed structure: original rows become columns (colId = primaryKey value),
|
|
134
|
-
* original columns become rows. Each transposed row has the column id/header plus
|
|
135
|
-
* one cell per original row keyed by primaryKey value.
|
|
136
|
-
*/
|
|
137
130
|
const transposedRowsAndColumns = React.useMemo(() => {
|
|
138
131
|
const transposedColumns = [];
|
|
139
132
|
const transposedRows = [];
|
|
@@ -197,7 +197,6 @@ export const LayoutWizard = (props) => {
|
|
|
197
197
|
isValid: (data) => isAggregationsSectionValid(data),
|
|
198
198
|
render: () => (_jsx(Box, { className: "twa:p-2 twa:h-full", children: _jsx(AggregationsSection, { layoutWizardMode: layoutWizardMode, onChange: (layout) => {
|
|
199
199
|
let newLayout = cloneObject(layout);
|
|
200
|
-
// if we do not have an weighted avg col, we need to clear the row summary if one exists
|
|
201
200
|
if (newLayout.RowSummaries) {
|
|
202
201
|
const aggColsMap = (newLayout.TableAggregationColumns || []).reduce((acc, { ColumnId, AggFunc }) => {
|
|
203
202
|
acc[ColumnId] = AggFunc;
|
|
@@ -207,14 +206,10 @@ export const LayoutWizard = (props) => {
|
|
|
207
206
|
return {
|
|
208
207
|
...rowSummary,
|
|
209
208
|
ColumnsMap: Object.entries(rowSummary.ColumnsMap).reduce((acc, [columnId, aggFunc]) => {
|
|
210
|
-
if (
|
|
211
|
-
// see if it is weighted avg
|
|
212
|
-
aggFunc === WEIGHTED_AVERAGE_AGGREGATED_FUNCTION &&
|
|
213
|
-
// see if we have a weight in the agg columns
|
|
209
|
+
if (aggFunc === WEIGHTED_AVERAGE_AGGREGATED_FUNCTION &&
|
|
214
210
|
aggColsMap[columnId] &&
|
|
215
211
|
(typeof aggColsMap[columnId] !== 'object' ||
|
|
216
212
|
aggColsMap[columnId].weightColumnId)) {
|
|
217
|
-
// need to remove the row summary
|
|
218
213
|
return acc;
|
|
219
214
|
}
|
|
220
215
|
acc[columnId] = aggFunc;
|
|
@@ -163,8 +163,6 @@ export const AggregationsSection = (props) => {
|
|
|
163
163
|
const numberColumns = adaptable.api.columnApi.getNumericColumns();
|
|
164
164
|
const allAggregatableColumnIds = allAggregableColumns.map((col) => col.columnId);
|
|
165
165
|
(layout.TableAggregationColumns || []).forEach((agg) => {
|
|
166
|
-
// we need to also display the columns currently aggregated,
|
|
167
|
-
// even if they are not aggregatable
|
|
168
166
|
if (!allAggregatableColumnIds.includes(agg.ColumnId)) {
|
|
169
167
|
allAggregatableColumnIds.push(agg.ColumnId);
|
|
170
168
|
}
|
|
@@ -32,7 +32,6 @@ export const ColumnsSectionSummary = (props) => {
|
|
|
32
32
|
const { data: contextLayout } = useOnePageAdaptableWizardContext();
|
|
33
33
|
const layout = props.layout ?? contextLayout;
|
|
34
34
|
const groups = getTableColumnsSummaryGroups(layout, adaptable.api, TABLE_COLUMNS_WIZARD_SUBSECTION_LABELS);
|
|
35
|
-
// Wizard summary lists every column — no truncation (settings panel uses truncateColumnSummaryValues).
|
|
36
35
|
return (_jsx(Flex, { flexDirection: "column", className: "twa:gap-3", children: groups.map(({ label, values, emptyLabel }) => (_jsxs(Box, { children: [_jsx(Box, { className: "twa:text-xs twa:font-medium twa:mb-1", children: label }), values.length ? renderSummaryStringTags(values) : _jsx(Tag, { children: emptyLabel })] }, label))) }));
|
|
37
36
|
};
|
|
38
37
|
const isSelectionColumn = (columnId) => columnId === AG_GRID_SELECTION_COLUMN;
|
|
@@ -66,24 +65,15 @@ export const ColumnsSection = (props) => {
|
|
|
66
65
|
const { data: layout } = useOnePageAdaptableWizardContext();
|
|
67
66
|
const [searchInputValue, setSearchInputValue] = React.useState('');
|
|
68
67
|
const [selectedColumnId, setSelectedColumnId] = React.useState(null);
|
|
69
|
-
// the selection column is a special column managed by AG Grid - it is not
|
|
70
|
-
// returned by `getUIAvailableColumns`, but we still want to expose it in the
|
|
71
|
-
// column list (similar to auto row group columns) so users can reorder/pin it
|
|
72
68
|
const hasSelectionColumn = adaptable.api.columnApi
|
|
73
69
|
.getColumns()
|
|
74
70
|
.some((col) => col.isGeneratedSelectionColumn);
|
|
75
71
|
const allColumns = adaptable.api.columnApi
|
|
76
72
|
.getUIAvailableColumns()
|
|
77
73
|
.filter((col) => {
|
|
78
|
-
// since the "Row Groups" section of the editor can determine a change
|
|
79
|
-
// which is not reflected into AG Grid until we hit finish
|
|
80
|
-
// so we only rely on non-generated columns, which are the same
|
|
81
74
|
return !col.isGeneratedRowGroupColumn;
|
|
82
75
|
})
|
|
83
|
-
// if the current Layout is a PivotLayout, then we also filter out current Pivot Result Columns
|
|
84
76
|
.filter((col) => !col.isGeneratedPivotResultColumn)
|
|
85
|
-
// selection columns are not returned by `getUIAvailableColumns` but guard
|
|
86
|
-
// against any future change
|
|
87
77
|
.filter((col) => !col.isGeneratedSelectionColumn);
|
|
88
78
|
const onChange = (data) => {
|
|
89
79
|
if (hasSelectionColumn &&
|
|
@@ -93,9 +83,6 @@ export const ColumnsSection = (props) => {
|
|
|
93
83
|
}
|
|
94
84
|
props.onChange(data);
|
|
95
85
|
};
|
|
96
|
-
// however, changes in RowGroupedColumns done in the previous step
|
|
97
|
-
// are reflected into the layout, so we use the latest layout.RowGroupedColumns
|
|
98
|
-
// to create new columns
|
|
99
86
|
if (layout.RowGroupedColumns && layout.RowGroupedColumns.length > 0) {
|
|
100
87
|
if (layout.RowGroupDisplayType === 'single') {
|
|
101
88
|
allColumns.unshift(generateAutoRowGroupSingleColumn());
|
|
@@ -121,9 +108,6 @@ export const ColumnsSection = (props) => {
|
|
|
121
108
|
return acc;
|
|
122
109
|
}, {});
|
|
123
110
|
let TableColumns = layout.TableColumns;
|
|
124
|
-
// when the selection column exists but is not explicitly listed in
|
|
125
|
-
// TableColumns, `sortArrayWithOrder` would push it to the end - instead we
|
|
126
|
-
// want it at the start (consistent with AG Grid's default position for it)
|
|
127
111
|
if (hasSelectionColumn && !TableColumns.includes(AG_GRID_SELECTION_COLUMN)) {
|
|
128
112
|
TableColumns = [AG_GRID_SELECTION_COLUMN, ...TableColumns];
|
|
129
113
|
}
|
|
@@ -136,16 +120,7 @@ export const ColumnsSection = (props) => {
|
|
|
136
120
|
const currentOrderIds = currentOrder.map((col) => col.columnId);
|
|
137
121
|
const handleColumnsChange = (newColumns) => {
|
|
138
122
|
if (searchInputValue) {
|
|
139
|
-
|
|
140
|
-
// so the current `newColumns` does not actually contain all the columns
|
|
141
|
-
// so we need to recompute it
|
|
142
|
-
const newOrder = sortColumnIdsByOrder(
|
|
143
|
-
// given those are all the columns
|
|
144
|
-
ColumnOrderAllColumns.map((col) => col.columnId),
|
|
145
|
-
// we want to sort them to have this new order
|
|
146
|
-
// - this sorting will leave all ids not found in this new order untouched
|
|
147
|
-
newColumns.map((col) => col.columnId));
|
|
148
|
-
// so basically we now have the correct order, with all columns
|
|
123
|
+
const newOrder = sortColumnIdsByOrder(ColumnOrderAllColumns.map((col) => col.columnId), newColumns.map((col) => col.columnId));
|
|
149
124
|
newColumns = newOrder.map((colId) => colIdToCol[colId]);
|
|
150
125
|
}
|
|
151
126
|
const oldColumns = ColumnOrderAllColumns;
|
|
@@ -192,15 +167,9 @@ export const ColumnsSection = (props) => {
|
|
|
192
167
|
if (isCurrent) {
|
|
193
168
|
return true;
|
|
194
169
|
}
|
|
195
|
-
// include all columns past the current column order
|
|
196
|
-
// that reach until the index of the currently checked column
|
|
197
170
|
const shouldInclude = idsToIndexes.get(colId) <= biggestIndex;
|
|
198
171
|
if (shouldInclude) {
|
|
199
172
|
if (!columnIdSet.has(colId) && visible) {
|
|
200
|
-
// this is a column that's between the current column order limit
|
|
201
|
-
// and the currently checked column
|
|
202
|
-
// so we need to include it in order
|
|
203
|
-
// but make it invisible
|
|
204
173
|
ColumnVisibility[colId] = false;
|
|
205
174
|
}
|
|
206
175
|
}
|
|
@@ -47,7 +47,6 @@ const getAvailableExpressionsForColumnType = (columnType, availableScalarExpress
|
|
|
47
47
|
const expressions = Object.keys(availableScalarExpressions)
|
|
48
48
|
.filter((availableExpression) => {
|
|
49
49
|
if (!aggregatedExpressionFunctions.includes(availableExpression)) {
|
|
50
|
-
// is custom
|
|
51
50
|
return true;
|
|
52
51
|
}
|
|
53
52
|
return Boolean(summarySupportedExpressions.includes(availableExpression));
|
|
@@ -55,12 +54,10 @@ const getAvailableExpressionsForColumnType = (columnType, availableScalarExpress
|
|
|
55
54
|
.map((expression) => {
|
|
56
55
|
const expressionDef = availableScalarExpressions[expression];
|
|
57
56
|
let firstArg = null;
|
|
58
|
-
// filter out expressions without inputs defined
|
|
59
57
|
if (!expressionDef?.inputs) {
|
|
60
58
|
return null;
|
|
61
59
|
}
|
|
62
60
|
if (Array.isArray(expressionDef?.inputs?.[0])) {
|
|
63
|
-
// @ts-ignore
|
|
64
61
|
firstArg = expressionDef.inputs.find((input) => input.includes(columnInputType))?.[0];
|
|
65
62
|
}
|
|
66
63
|
else {
|
|
@@ -14,7 +14,6 @@ export function getLayoutPinnedColumnIds(layout, side) {
|
|
|
14
14
|
.filter(([, pin]) => pin === side)
|
|
15
15
|
.map(([columnId]) => columnId);
|
|
16
16
|
}
|
|
17
|
-
/** Whether this column has sizing stored in the Layout that differs from grid defaults. */
|
|
18
17
|
export function hasExplicitLayoutSizing(columnId, sizing, resolveDefaultWidth) {
|
|
19
18
|
if (!sizing) {
|
|
20
19
|
return false;
|
|
@@ -57,7 +56,6 @@ export function formatColumnSizingBrief(columnId, sizing, resolveDefaultWidth) {
|
|
|
57
56
|
}
|
|
58
57
|
return parts.join(', ');
|
|
59
58
|
}
|
|
60
|
-
/** Width/flex values to show in the sizing editor (default grid widths are omitted). */
|
|
61
59
|
export function getExplicitSizingDisplayValues(columnId, sizing, resolveDefaultWidth) {
|
|
62
60
|
if (!sizing) {
|
|
63
61
|
return {
|
|
@@ -2,13 +2,9 @@ import { generateAutoRowGroupColumnForColumn, generateAutoRowGroupSingleColumn,
|
|
|
2
2
|
import ArrayExtensions from '../../../../Utilities/Extensions/ArrayExtensions';
|
|
3
3
|
import { AG_GRID_GROUPED_COLUMN, AG_GRID_SELECTION_COLUMN } from '../../../../Utilities/Constants/GeneralConstants';
|
|
4
4
|
import { WIZARD_COLUMN_LIST_HEADER_CLASS, WIZARD_COLUMN_LIST_OPTION_CLASS, WIZARD_COLUMN_LIST_SEARCH_CLASS, } from '../../../Components/wizardColumnListStyles';
|
|
5
|
-
/** ValueSelector row sizing — matches Visibility and Order list rows. */
|
|
6
5
|
export const LAYOUT_WIZARD_COLUMN_LIST_OPTION_CLASS = WIZARD_COLUMN_LIST_OPTION_CLASS;
|
|
7
|
-
/** Compact list header — spacing between Select All, Show Selected Only, and search. */
|
|
8
6
|
export const LAYOUT_WIZARD_COLUMN_LIST_HEADER_CLASS = WIZARD_COLUMN_LIST_HEADER_CLASS;
|
|
9
|
-
/** Narrow search field (matches Visibility list column width, not full card width). */
|
|
10
7
|
export const LAYOUT_WIZARD_COLUMN_LIST_SEARCH_CLASS = WIZARD_COLUMN_LIST_SEARCH_CLASS;
|
|
11
|
-
/** Columns shown in Layout wizard column steps, in layout table order. */
|
|
12
8
|
export function getLayoutWizardOrderedColumns(adaptable, layout) {
|
|
13
9
|
const hasSelectionColumn = adaptable.api.columnApi
|
|
14
10
|
.getColumns()
|
|
@@ -32,7 +32,6 @@ function mapStateToProps(state, ownProps) {
|
|
|
32
32
|
QuickSearchText: quickSearch.QuickSearchText,
|
|
33
33
|
QuickSearchTextMatchStyle: resolveQuickSearchTextMatchStyle(quickSearch),
|
|
34
34
|
QuickSearchCurrentTextMatchStyle: resolveQuickSearchCurrentTextMatchStyle(quickSearch),
|
|
35
|
-
// Cell match: show only what is in state — defaults are not applied until explicitly set
|
|
36
35
|
QuickSearchCellMatchStyle: isQuickSearchStyleUnset(quickSearch.CellMatchStyle)
|
|
37
36
|
? {}
|
|
38
37
|
: quickSearch.CellMatchStyle,
|
|
@@ -23,14 +23,10 @@ export const AdaptableStatusBar = (props) => {
|
|
|
23
23
|
if (!module?.isModuleVisible()) {
|
|
24
24
|
return _jsx(React.Fragment, {}, subPanel);
|
|
25
25
|
}
|
|
26
|
-
/**
|
|
27
|
-
* Both view properties and status panel are optional.
|
|
28
|
-
*/
|
|
29
26
|
const statusBarPanelProps = module.getViewProperties?.()?.getStatusBarPanelProps?.() ?? {};
|
|
30
27
|
const moduleInfo = module.moduleInfo;
|
|
31
28
|
const onAction = statusBarPanelProps.onAction ??
|
|
32
29
|
(() => {
|
|
33
|
-
// #by-default-open-settings-panel-for-module
|
|
34
30
|
const menuItem = allMenuItems.find((menuItem) => menuItem.category === subPanel);
|
|
35
31
|
if (menuItem?.reduxAction) {
|
|
36
32
|
dispatch(menuItem.reduxAction);
|
|
@@ -5,12 +5,6 @@ import ArrayExtensions from '../../Utilities/Extensions/ArrayExtensions';
|
|
|
5
5
|
import { AdaptablePopover } from '../AdaptablePopover';
|
|
6
6
|
import { Flex, Box } from '../../components/Flex';
|
|
7
7
|
import { cn } from '../../lib/utils';
|
|
8
|
-
/**
|
|
9
|
-
* Statusbar sub panel are similar to vs code:
|
|
10
|
-
* - text
|
|
11
|
-
* - action
|
|
12
|
-
* - icon
|
|
13
|
-
*/
|
|
14
8
|
export const StatusBarPanel = (props) => {
|
|
15
9
|
const { icon, content, popover, popoverMinWidth, view, onAction, extraActions, triggerActionOnWrapperClick = true, tooltip, ...flexProps } = props;
|
|
16
10
|
const handleAction = () => onAction();
|
|
@@ -24,12 +18,10 @@ export const StatusBarPanel = (props) => {
|
|
|
24
18
|
}, []);
|
|
25
19
|
const shouldTriggerActionOnWrapperClick = triggerActionOnWrapperClick && !popover;
|
|
26
20
|
const handleWrapperClick = React.useCallback(() => {
|
|
27
|
-
// handle action only if there is no popover
|
|
28
21
|
if (shouldTriggerActionOnWrapperClick) {
|
|
29
22
|
handleAction();
|
|
30
23
|
}
|
|
31
24
|
}, [popover, triggerActionOnWrapperClick]);
|
|
32
|
-
// popover
|
|
33
25
|
const popoverContent = typeof popover === 'function'
|
|
34
26
|
? React.createElement(popover)
|
|
35
27
|
: popover;
|
|
@@ -47,8 +47,6 @@ export const StatusBarPopup = (props) => {
|
|
|
47
47
|
moduleShortcutIds.push(item.Id);
|
|
48
48
|
}
|
|
49
49
|
});
|
|
50
|
-
// Roughly balance the two boxes by item count (~10 panels vs ~17 shortcuts)
|
|
51
|
-
// so the wider list gets the extra room and they feel more even.
|
|
52
50
|
return [
|
|
53
51
|
{
|
|
54
52
|
listId: 'UNUSED-PANELS',
|