@adaptabletools/adaptable-cjs 23.0.4 → 23.0.5-canary.1
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.css +0 -64
- 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.d.ts +0 -1
- package/src/AdaptableState/Aggregations/weightedAverage.js +3 -30
- 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/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/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/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 +0 -6
- package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +1 -73
- package/src/components/CodeBlock/index.d.ts +0 -1
- package/src/components/CodeBlock/index.js +2 -3
- 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/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.cjs.tsbuildinfo +1 -1
- package/src/AdaptableState/Common/NamedObject.d.ts +0 -10
- package/src/AdaptableState/Common/NamedObject.js +0 -2
- package/src/Utilities/ExpressionFunctions/groupingMap.d.ts +0 -35
- package/src/Utilities/ExpressionFunctions/groupingMap.js +0 -103
- package/src/Utilities/Interface/AdaptableToolPanelContext.d.ts +0 -4
- package/src/Utilities/Interface/AdaptableToolPanelContext.js +0 -2
- package/src/Utilities/Services/Interface/IMetamodelService.d.ts +0 -20
- package/src/Utilities/Services/Interface/IMetamodelService.js +0 -2
- package/src/Utilities/Services/MetamodelService.d.ts +0 -17
- package/src/Utilities/Services/MetamodelService.js +0 -167
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.d.ts +0 -6
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +0 -104
- package/src/View/Components/Buttons/EntityListActionButtons.d.ts +0 -38
- package/src/View/Components/Buttons/EntityListActionButtons.js +0 -47
- package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.d.ts +0 -12
- package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +0 -72
- package/src/View/Components/EntityRowItem.d.ts +0 -7
- package/src/View/Components/EntityRowItem.js +0 -12
- package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +0 -3
- package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.js +0 -9
- package/src/View/Components/ModuleProfile.d.ts +0 -8
- package/src/View/Components/ModuleProfile.js +0 -15
- package/src/View/Components/ModuleSummary/ModuleDetail.d.ts +0 -23
- package/src/View/Components/ModuleSummary/ModuleDetail.js +0 -20
- package/src/View/Components/ModuleSummary/ModuleHeader.d.ts +0 -15
- package/src/View/Components/ModuleSummary/ModuleHeader.js +0 -20
- package/src/View/Components/ModuleSummary/SummaryRowItem.d.ts +0 -7
- package/src/View/Components/ModuleSummary/SummaryRowItem.js +0 -17
- package/src/View/Components/SharedProps/ModuleSummaryProps.d.ts +0 -9
- package/src/View/Components/SharedProps/ModuleSummaryProps.js +0 -2
- package/src/View/Components/SharedProps/ToolPanelModuleViewPopupProps.d.ts +0 -13
- package/src/View/Components/SharedProps/ToolPanelModuleViewPopupProps.js +0 -2
- package/src/View/Components/SharedProps/ToolbarModuleViewPopupProps.d.ts +0 -14
- package/src/View/Components/SharedProps/ToolbarModuleViewPopupProps.js +0 -2
- package/src/View/Components/StyleVisualItem.d.ts +0 -9
- package/src/View/Components/StyleVisualItem.js +0 -45
- package/src/View/Components/WizardSummaryPage.d.ts +0 -7
- package/src/View/Components/WizardSummaryPage.js +0 -22
- package/src/components/Accordion.d.ts +0 -7
- package/src/components/Accordion.js +0 -38
- package/src/components/FlexWithFooter.d.ts +0 -9
- package/src/components/FlexWithFooter.js +0 -15
- package/src/components/NotifyResize/index.d.ts +0 -9
- package/src/components/NotifyResize/index.js +0 -38
- package/src/components/PopupWithFooter.d.ts +0 -14
- package/src/components/PopupWithFooter.js +0 -15
- package/src/components/SelectableList/index.d.ts +0 -15
- package/src/components/SelectableList/index.js +0 -100
- package/src/components/SizedContainer/index.d.ts +0 -17
- package/src/components/SizedContainer/index.js +0 -23
- package/src/components/Table/index.d.ts +0 -4
- package/src/components/Table/index.js +0 -9
- package/src/components/WizardPanel/index.d.ts +0 -9
- package/src/components/WizardPanel/index.js +0 -10
- package/src/components/icons/align-justify.d.ts +0 -3
- package/src/components/icons/align-justify.js +0 -6
- package/src/components/icons/column-info.d.ts +0 -3
- package/src/components/icons/column-info.js +0 -6
- package/src/components/icons/gradient-column.d.ts +0 -3
- package/src/components/icons/gradient-column.js +0 -6
- package/src/components/icons/invalid.d.ts +0 -3
- package/src/components/icons/invalid.js +0 -6
- package/src/components/icons/logout copy.d.ts +0 -3
- package/src/components/icons/logout copy.js +0 -6
- package/src/components/icons/smart-edit.d.ts +0 -3
- package/src/components/icons/smart-edit.js +0 -6
- package/src/components/icons/team-share.d.ts +0 -3
- package/src/components/icons/team-share.js +0 -6
- package/src/components/icons/unchecked.d.ts +0 -3
- package/src/components/icons/unchecked.js +0 -6
- package/src/components/icons/user-filter.d.ts +0 -3
- package/src/components/icons/user-filter.js +0 -6
- package/src/components/utils/useContainerScrollObserver/index.d.ts +0 -6
- package/src/components/utils/useContainerScrollObserver/index.js +0 -83
- package/src/components/utils/useGlobalEvent.d.ts +0 -1
- package/src/components/utils/useGlobalEvent.js +0 -12
- package/src/components/utils/useLatest.d.ts +0 -1
- package/src/components/utils/useLatest.js +0 -10
- package/src/components/utils/usePropState.d.ts +0 -2
- package/src/components/utils/usePropState.js +0 -11
- package/src/metamodel/adaptable-metamodel-model.d.ts +0 -26
- package/src/metamodel/adaptable-metamodel-model.js +0 -2
- package/src/metamodel/adaptable.metamodel.d.ts +0 -6244
- package/src/metamodel/adaptable.metamodel.js +0 -1
|
@@ -9,15 +9,6 @@ exports.isEqual = isEqual;
|
|
|
9
9
|
exports.cloneDeepWith = cloneDeepWith;
|
|
10
10
|
exports.merge = merge;
|
|
11
11
|
exports.mergeWith = mergeWith;
|
|
12
|
-
/**
|
|
13
|
-
* Returns a new object with the property updated.
|
|
14
|
-
* The property is identified by the path.
|
|
15
|
-
*
|
|
16
|
-
* @param obj Object
|
|
17
|
-
* @param path path to the property
|
|
18
|
-
* @param value new property value
|
|
19
|
-
* @returns
|
|
20
|
-
*/
|
|
21
12
|
function setInPath(obj, path, value) {
|
|
22
13
|
if (path.length === 1) {
|
|
23
14
|
return {
|
|
@@ -47,20 +38,10 @@ const diff = (obj1, obj2) => {
|
|
|
47
38
|
return changed;
|
|
48
39
|
};
|
|
49
40
|
exports.diff = diff;
|
|
50
|
-
/**
|
|
51
|
-
* Checks if `value` is the language type of Object.
|
|
52
|
-
* (e.g. arrays, functions, objects, regexes, new Number(0), and new String(''))
|
|
53
|
-
* Drop-in replacement for lodash/isObject.
|
|
54
|
-
*/
|
|
55
41
|
function isObject(value) {
|
|
56
42
|
const type = typeof value;
|
|
57
43
|
return value != null && (type === 'object' || type === 'function');
|
|
58
44
|
}
|
|
59
|
-
/**
|
|
60
|
-
* Checks if `value` is a plain object, that is, an object created by the
|
|
61
|
-
* Object constructor or one with a [[Prototype]] of null.
|
|
62
|
-
* Drop-in replacement for lodash/isPlainObject.
|
|
63
|
-
*/
|
|
64
45
|
function isPlainObject(value) {
|
|
65
46
|
if (value === null || value === undefined || typeof value !== 'object') {
|
|
66
47
|
return false;
|
|
@@ -71,10 +52,6 @@ function isPlainObject(value) {
|
|
|
71
52
|
}
|
|
72
53
|
return proto === Object.prototype;
|
|
73
54
|
}
|
|
74
|
-
/**
|
|
75
|
-
* Performs a deep comparison between two values to determine if they are equivalent.
|
|
76
|
-
* Drop-in replacement for lodash/isEqual.
|
|
77
|
-
*/
|
|
78
55
|
function isEqual(value, other) {
|
|
79
56
|
return _baseIsEqual(value, other, new Map());
|
|
80
57
|
}
|
|
@@ -137,7 +114,6 @@ function _baseIsEqual(a, b, seen) {
|
|
|
137
114
|
}
|
|
138
115
|
return true;
|
|
139
116
|
}
|
|
140
|
-
// Unordered deep comparison for Sets, matching lodash behaviour
|
|
141
117
|
if (a instanceof Set && b instanceof Set) {
|
|
142
118
|
if (a.size !== b.size) {
|
|
143
119
|
return false;
|
|
@@ -184,12 +160,6 @@ function _baseIsEqual(a, b, seen) {
|
|
|
184
160
|
}
|
|
185
161
|
return true;
|
|
186
162
|
}
|
|
187
|
-
/**
|
|
188
|
-
* Like `cloneDeep` except that it accepts a customizer which is invoked to
|
|
189
|
-
* produce the cloned value. If the customizer returns `undefined`, cloning is
|
|
190
|
-
* handled by the method instead.
|
|
191
|
-
* Drop-in replacement for lodash/cloneDeepWith.
|
|
192
|
-
*/
|
|
193
163
|
function cloneDeepWith(value, customizer) {
|
|
194
164
|
return _baseCloneDeep(value, customizer, new Map());
|
|
195
165
|
}
|
|
@@ -304,12 +274,6 @@ function _baseMergeWith(target, source, customizer) {
|
|
|
304
274
|
}
|
|
305
275
|
return target;
|
|
306
276
|
}
|
|
307
|
-
/**
|
|
308
|
-
* Like `merge` except that it accepts a customizer which is invoked to produce
|
|
309
|
-
* the merged values of the destination and source properties. If the customizer
|
|
310
|
-
* returns `undefined`, merging is handled by the method instead.
|
|
311
|
-
* Drop-in replacement for lodash/mergeWith.
|
|
312
|
-
*/
|
|
313
277
|
function mergeWith(target, ...args) {
|
|
314
278
|
const customizer = args[args.length - 1];
|
|
315
279
|
const sources = args.slice(0, -1);
|
|
@@ -49,15 +49,11 @@ function IsNullOrEmptyOrWhiteSpace(stringToCheck) {
|
|
|
49
49
|
function IsNotNullOrEmptyOrWhiteSpace(stringToCheck) {
|
|
50
50
|
return !IsNullOrEmptyOrWhiteSpace(stringToCheck);
|
|
51
51
|
}
|
|
52
|
-
// clone of A Grid's implementation
|
|
53
|
-
// https://github.com/ag-grid/ag-grid/blob/a5c3d9f56350271ab7e8d42d72aaf5314672719a/packages/ag-grid-community/src/columns/columnNameService.ts#L14
|
|
54
52
|
function CamelCaseToHumanText(camelCase) {
|
|
55
53
|
if (!camelCase || camelCase == null) {
|
|
56
54
|
return null;
|
|
57
55
|
}
|
|
58
|
-
// either split on a lowercase followed by uppercase ie asHereTo -> as Here To
|
|
59
56
|
const rex = /([a-z])([A-Z])/g;
|
|
60
|
-
// or starts with uppercase and we take all expect the last which is assumed to be part of next word if followed by lowercase HEREToThere -> HERE To There
|
|
61
57
|
const rexCaps = /([A-Z]+)([A-Z])([a-z])/g;
|
|
62
58
|
const words = camelCase
|
|
63
59
|
.replace(rex, '$1 $2')
|
|
@@ -119,25 +115,15 @@ function UnescapeHtmlEntities(str) {
|
|
|
119
115
|
return preparedStr;
|
|
120
116
|
}
|
|
121
117
|
function ReplaceAllOccurencesExceptLastOne(str, searchTerm, replacement) {
|
|
122
|
-
// Find the index of the last occurrence of the search string
|
|
123
118
|
const lastIndex = str.lastIndexOf(searchTerm);
|
|
124
|
-
// If the string is not found, return the original string
|
|
125
119
|
if (lastIndex === -1) {
|
|
126
120
|
return str;
|
|
127
121
|
}
|
|
128
|
-
// Slice the string into two parts: before and after the last occurrence
|
|
129
122
|
const partBeforeLast = str.slice(0, lastIndex);
|
|
130
123
|
const partAfterLast = str.slice(lastIndex);
|
|
131
|
-
// Replace all occurrences in the first part
|
|
132
124
|
const replacedPart = partBeforeLast.replaceAll(searchTerm, replacement);
|
|
133
|
-
// Recombine the modified first part with the untouched second part
|
|
134
125
|
return replacedPart + partAfterLast;
|
|
135
126
|
}
|
|
136
|
-
/**
|
|
137
|
-
* Splits a string into words: handles camelCase, PascalCase, UPPER_CASE,
|
|
138
|
-
* UPPER_SNAKE_CASE, snake_case, kebab-case, spaces, and dot.notation.
|
|
139
|
-
* Shared helper used by `kebabCase`, `startCase`, and `sentenceCase`.
|
|
140
|
-
*/
|
|
141
127
|
function words(str) {
|
|
142
128
|
const matches = str.match(/[A-Z]?[a-z]+|[A-Z]+(?=[A-Z][a-z]|\d|$|[^a-zA-Z0-9])|[A-Z]|[0-9]+/g);
|
|
143
129
|
return matches || [];
|
|
@@ -145,25 +131,12 @@ function words(str) {
|
|
|
145
131
|
function _capitalizeWord(word) {
|
|
146
132
|
return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
|
|
147
133
|
}
|
|
148
|
-
/**
|
|
149
|
-
* Converts string to kebab-case.
|
|
150
|
-
* Drop-in replacement for lodash/kebabCase.
|
|
151
|
-
*/
|
|
152
134
|
function kebabCase(string) {
|
|
153
135
|
return words(string).map((w) => w.toLowerCase()).join('-');
|
|
154
136
|
}
|
|
155
|
-
/**
|
|
156
|
-
* Converts string to Start Case.
|
|
157
|
-
* Drop-in replacement for lodash/startCase.
|
|
158
|
-
*/
|
|
159
137
|
function startCase(string) {
|
|
160
138
|
return words(string).map(_capitalizeWord).join(' ');
|
|
161
139
|
}
|
|
162
|
-
/**
|
|
163
|
-
* Converts string to Sentence case.
|
|
164
|
-
* Splits on camelCase, PascalCase, dots, underscores, hyphens, and non-alphanumeric characters.
|
|
165
|
-
* Drop-in replacement for the sentence-case package.
|
|
166
|
-
*/
|
|
167
140
|
function sentenceCase(input) {
|
|
168
141
|
const parts = words(input);
|
|
169
142
|
if (parts.length === 0) {
|
|
@@ -27,10 +27,6 @@ function getStaticButtonLabel(button) {
|
|
|
27
27
|
function hasStaticIcon(button) {
|
|
28
28
|
return Boolean(button.icon && typeof button.icon !== 'function');
|
|
29
29
|
}
|
|
30
|
-
/**
|
|
31
|
-
* Estimates Action Column width from design-time button definitions.
|
|
32
|
-
* Dynamic labels/icons (functions) are not measured — use an explicit `width` instead.
|
|
33
|
-
*/
|
|
34
30
|
function calculateActionColumnWidth(actionColumn, buttons) {
|
|
35
31
|
const settings = actionColumn.actionColumnSettings ?? {};
|
|
36
32
|
if (settings.width != null) {
|
|
@@ -21,9 +21,6 @@ const GET_CURRENT_VERSION = () => {
|
|
|
21
21
|
: package_json_1.default.version) ?? package_json_1.default.version);
|
|
22
22
|
};
|
|
23
23
|
function addUuidsToInitialState(initialState) {
|
|
24
|
-
// Collect only the objects that should receive metadata:
|
|
25
|
-
// module state objects and their direct array items (root-level AdaptableObjects).
|
|
26
|
-
// Deeply nested sub-objects (e.g. CellRanges, ColumnComparison) are excluded.
|
|
27
24
|
const objectsToEnrich = new Set();
|
|
28
25
|
for (const moduleKey in initialState) {
|
|
29
26
|
const moduleState = initialState[moduleKey];
|
|
@@ -35,8 +32,6 @@ function addUuidsToInitialState(initialState) {
|
|
|
35
32
|
for (const item of value) {
|
|
36
33
|
if ((0, ObjectExtensions_2.isPlainObject)(item)) {
|
|
37
34
|
objectsToEnrich.add(item);
|
|
38
|
-
// ColumnFilters are nested inside Layouts but need Uuid
|
|
39
|
-
// for identification (suspend/unsuspend, edit vs add, etc.)
|
|
40
35
|
if (Array.isArray(item.ColumnFilters)) {
|
|
41
36
|
for (const filter of item.ColumnFilters) {
|
|
42
37
|
if ((0, ObjectExtensions_2.isPlainObject)(filter)) {
|
|
@@ -63,8 +58,6 @@ function addUuidsToInitialState(initialState) {
|
|
|
63
58
|
return (0, ObjectExtensions_1.cloneDeepWith)(initialState, customizer);
|
|
64
59
|
}
|
|
65
60
|
function getAccessLevelForObject(adaptableObject, moduleAccessLevel) {
|
|
66
|
-
// we always return the Module Access Level unless the following condition is met:
|
|
67
|
-
// the object prpoerty has been set and set to true and the Module entitlement is full
|
|
68
61
|
if (moduleAccessLevel == GeneralConstants_1.ACCESS_LEVEL_FULL &&
|
|
69
62
|
adaptableObject &&
|
|
70
63
|
adaptableObject.IsReadOnly &&
|
|
@@ -134,7 +127,6 @@ function removeAdaptableObjectPrimitives(adaptableObject) {
|
|
|
134
127
|
sanitiseObject(clonedObject);
|
|
135
128
|
return clonedObject;
|
|
136
129
|
}
|
|
137
|
-
// pretty primitive type guard for AdaptableObject, but currently there is no better/safer way
|
|
138
130
|
function isAdaptableObject(object) {
|
|
139
131
|
return object != undefined && typeof object['Uuid'] === 'string';
|
|
140
132
|
}
|
|
@@ -8,11 +8,6 @@ const isValidDate = (date) => {
|
|
|
8
8
|
return date instanceof Date && !isNaN(date.getTime());
|
|
9
9
|
};
|
|
10
10
|
exports.isValidDate = isValidDate;
|
|
11
|
-
/**
|
|
12
|
-
* Checks if the data contains a value that represents a valid date.
|
|
13
|
-
*
|
|
14
|
-
* @param data any kind of data
|
|
15
|
-
*/
|
|
16
11
|
const isValueValidDate = (data) => {
|
|
17
12
|
if (!data || typeof data === 'boolean') {
|
|
18
13
|
return false;
|
|
@@ -30,9 +25,6 @@ const parseToISO = (date, dateFormat) => {
|
|
|
30
25
|
return (0, exports.isValidDate)(dateInstance) ? (0, exports.dateToISO)(dateInstance) : '';
|
|
31
26
|
};
|
|
32
27
|
exports.parseToISO = parseToISO;
|
|
33
|
-
// !!!
|
|
34
|
-
// AFL: ideally we should NEVER call directly this method, but use the AdaptableInternalApi.parseDateValue() instead
|
|
35
|
-
// we should refactor this with the first opportunity
|
|
36
28
|
const parseDateValue = (dateValue, dateFormat) => {
|
|
37
29
|
if (dateValue == undefined || (typeof dateValue === 'string' && dateValue.trim() === '')) {
|
|
38
30
|
return undefined;
|
|
@@ -46,7 +38,6 @@ const parseDateValue = (dateValue, dateFormat) => {
|
|
|
46
38
|
dateInstance = new Date(dateValue);
|
|
47
39
|
}
|
|
48
40
|
else {
|
|
49
|
-
// typeof dateValue === 'string'
|
|
50
41
|
if (dateFormat) {
|
|
51
42
|
dateInstance = (0, date_fns_1.parse)(dateValue, dateFormat, new Date());
|
|
52
43
|
}
|
|
@@ -54,7 +45,6 @@ const parseDateValue = (dateValue, dateFormat) => {
|
|
|
54
45
|
dateInstance = (0, date_fns_1.parseISO)(dateValue);
|
|
55
46
|
}
|
|
56
47
|
if (!(0, exports.isValidDate)(dateInstance)) {
|
|
57
|
-
// last chance: try to use the native Date.parse(), https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse
|
|
58
48
|
dateInstance = new Date(Date.parse(dateValue));
|
|
59
49
|
}
|
|
60
50
|
}
|
|
@@ -4,7 +4,6 @@ exports.NumberFormatter = NumberFormatter;
|
|
|
4
4
|
exports.DateFormatter = DateFormatter;
|
|
5
5
|
exports.StringFormatter = StringFormatter;
|
|
6
6
|
const tslib_1 = require("tslib");
|
|
7
|
-
// TODO inspect why the following is erroring on angular build
|
|
8
7
|
const date_fns_1 = require("date-fns");
|
|
9
8
|
const StringExtensions_1 = require("../Extensions/StringExtensions");
|
|
10
9
|
const GeneralConstants_1 = require("../Constants/GeneralConstants");
|
|
@@ -55,7 +54,6 @@ function NumberFormatter(input, options = {}, rowNode, column, api) {
|
|
|
55
54
|
multiplierFractionDigits = getFractionDigitsAfterMultiplier(preparedInput, options.Multiplier, options.FractionDigits);
|
|
56
55
|
n = parseFloat(n.toFixed(multiplierFractionDigits));
|
|
57
56
|
}
|
|
58
|
-
// Set Integer and Fraction Digits to a max of 20
|
|
59
57
|
if (options.IntegerDigits > 20) {
|
|
60
58
|
options.IntegerDigits = 20;
|
|
61
59
|
}
|
|
@@ -104,9 +102,6 @@ function NumberFormatter(input, options = {}, rowNode, column, api) {
|
|
|
104
102
|
digitsToUse = decimalCount;
|
|
105
103
|
}
|
|
106
104
|
if (options.Notation === 'scientific') {
|
|
107
|
-
// Scientific notation: bypass locale grouping. Use toExponential
|
|
108
|
-
// for predictable mantissa-digit control and apply only the
|
|
109
|
-
// FractionSeparator post-hoc.
|
|
110
105
|
s = n.toExponential(options.FractionDigits != null ? digitsToUse : undefined);
|
|
111
106
|
if (options.FractionSeparator !== undefined && options.FractionSeparator !== '.') {
|
|
112
107
|
s = s.replace('.', options.FractionSeparator);
|
|
@@ -122,12 +117,10 @@ function NumberFormatter(input, options = {}, rowNode, column, api) {
|
|
|
122
117
|
s = s.replace(/\./g, options.FractionSeparator);
|
|
123
118
|
}
|
|
124
119
|
if (options.IntegerSeparator !== undefined) {
|
|
125
|
-
// if fraction separator is not a comma then simply replace all instances
|
|
126
120
|
if (options.FractionSeparator !== ',') {
|
|
127
121
|
s = s.replace(/\,/g, options.IntegerSeparator);
|
|
128
122
|
}
|
|
129
123
|
else {
|
|
130
|
-
// otherwise don't replace the last instance
|
|
131
124
|
s = StringExtensions_2.default.ReplaceAllOccurencesExceptLastOne(s, ',', options.IntegerSeparator);
|
|
132
125
|
}
|
|
133
126
|
}
|
|
@@ -144,7 +137,6 @@ function DateFormatter(input, options, strictFormatting = false) {
|
|
|
144
137
|
}
|
|
145
138
|
try {
|
|
146
139
|
if (typeof input === 'string') {
|
|
147
|
-
// Remove timezone info (e.g., Z or +02:00) using regex
|
|
148
140
|
const cleanDateString = input.replace(/([+-]\d{2}:\d{2}|Z)$/, '');
|
|
149
141
|
input = new Date(cleanDateString);
|
|
150
142
|
}
|
|
@@ -28,7 +28,7 @@ function objectHasKeys(item) {
|
|
|
28
28
|
}
|
|
29
29
|
function getStringRepresentionFromKey(event) {
|
|
30
30
|
if (event.key == null) {
|
|
31
|
-
return event.char;
|
|
31
|
+
return event.char;
|
|
32
32
|
}
|
|
33
33
|
return event.key;
|
|
34
34
|
}
|
|
@@ -46,7 +46,6 @@ const arrayToKeyMap = (arr) => {
|
|
|
46
46
|
}, defaultAccumulator);
|
|
47
47
|
};
|
|
48
48
|
exports.arrayToKeyMap = arrayToKeyMap;
|
|
49
|
-
// converts an array (or an array of arrays) to CSV
|
|
50
49
|
function convertArrayToCsv(array, separator = " ' ") {
|
|
51
50
|
let csvContent = '';
|
|
52
51
|
array.forEach((infoArray, index) => {
|
|
@@ -61,7 +60,6 @@ function convertArrayToCsv(array, separator = " ' ") {
|
|
|
61
60
|
if (item.indexOf(',') !== -1 || item.indexOf('"') !== -1) {
|
|
62
61
|
item = `"${item.replace(/"/g, '""')}"`;
|
|
63
62
|
}
|
|
64
|
-
// bit of a hack but we have a user where they have "+2502+S" as a value which Excel then thinks is a formula
|
|
65
63
|
if (item.indexOf('+') == 0) {
|
|
66
64
|
item = `'${item}'`;
|
|
67
65
|
}
|
|
@@ -83,7 +81,6 @@ function createDownloadedFile(content, fileName, mimeType) {
|
|
|
83
81
|
const a = document.createElement('a');
|
|
84
82
|
mimeType = mimeType || 'application/octet-stream';
|
|
85
83
|
if (URL && 'download' in a) {
|
|
86
|
-
// html5 A[download]
|
|
87
84
|
a.href = URL.createObjectURL(new Blob([content], {
|
|
88
85
|
type: mimeType,
|
|
89
86
|
}));
|
|
@@ -97,7 +94,7 @@ function createDownloadedFile(content, fileName, mimeType) {
|
|
|
97
94
|
document.body.removeChild(a);
|
|
98
95
|
}
|
|
99
96
|
else {
|
|
100
|
-
location.href = `data:application/octet-stream,${encodeURIComponent(content)}`;
|
|
97
|
+
location.href = `data:application/octet-stream,${encodeURIComponent(content)}`;
|
|
101
98
|
}
|
|
102
99
|
}
|
|
103
100
|
async function copyToClipboard(text) {
|
|
@@ -123,7 +120,7 @@ function copyToClipboardForOldBrowsers(text) {
|
|
|
123
120
|
textarea.select();
|
|
124
121
|
textarea.focus();
|
|
125
122
|
try {
|
|
126
|
-
return document.execCommand('copy');
|
|
123
|
+
return document.execCommand('copy');
|
|
127
124
|
}
|
|
128
125
|
catch (ex) {
|
|
129
126
|
AdaptableLogger_1.AdaptableLogger.consoleErrorBase('Copy to clipboard failed.', ex);
|
|
@@ -159,7 +156,6 @@ function isInputNotNullOrEmpty(itemToCheck) {
|
|
|
159
156
|
return !isInputNullOrEmpty(itemToCheck);
|
|
160
157
|
}
|
|
161
158
|
function extractColsFromText(text) {
|
|
162
|
-
// rowData.columnName => columnName
|
|
163
159
|
const regex = /\[rowData\.(.*?)\]/g;
|
|
164
160
|
let m;
|
|
165
161
|
const cols = [];
|
|
@@ -172,12 +168,10 @@ function replaceAll(text, toReplace, replaceWith) {
|
|
|
172
168
|
if (!text) {
|
|
173
169
|
return text;
|
|
174
170
|
}
|
|
175
|
-
// fails for []
|
|
176
171
|
toReplace = toReplace.replace('[', '\\[').replace(']', '\\]');
|
|
177
172
|
return text.replace(new RegExp(toReplace, 'g'), replaceWith);
|
|
178
173
|
}
|
|
179
174
|
function extractContextKeysFromText(text) {
|
|
180
|
-
// context.columnName => columnName
|
|
181
175
|
const regex = /\[context\.(.*?)\]/g;
|
|
182
176
|
let m;
|
|
183
177
|
const contextKeys = [];
|
|
@@ -10,16 +10,11 @@ exports.buildPlusMinusTriggerKeyLookup = buildPlusMinusTriggerKeyLookup;
|
|
|
10
10
|
exports.plusMinusKeyCouldTrigger = plusMinusKeyCouldTrigger;
|
|
11
11
|
const DEFAULT_INCREMENT_KEY = '+';
|
|
12
12
|
const DEFAULT_DECREMENT_KEY = '-';
|
|
13
|
-
/**
|
|
14
|
-
* Resolve increment/decrement trigger strings for a single nudge.
|
|
15
|
-
* Per-nudge fields win; otherwise {@link PlusMinusOptions}; otherwise `+` / `-`.
|
|
16
|
-
*/
|
|
17
13
|
function resolvePlusMinusTriggerKeysForNudge(nudge, globalOptions) {
|
|
18
14
|
const incrementKey = nudge.IncrementKey?.trim() || plusMinusIncrementKeyFromOptionsOnly(globalOptions);
|
|
19
15
|
const decrementKey = nudge.DecrementKey?.trim() || plusMinusDecrementKeyFromOptionsOnly(globalOptions);
|
|
20
16
|
return { incrementKey, decrementKey };
|
|
21
17
|
}
|
|
22
|
-
/** True when resolved increment and decrement would match the same key press. */
|
|
23
18
|
function plusMinusResolvedKeysConflict(nudge, globalOptions) {
|
|
24
19
|
const { incrementKey, decrementKey } = resolvePlusMinusTriggerKeysForNudge(nudge, globalOptions);
|
|
25
20
|
if (incrementKey === decrementKey) {
|
|
@@ -30,10 +25,6 @@ function plusMinusResolvedKeysConflict(nudge, globalOptions) {
|
|
|
30
25
|
}
|
|
31
26
|
return false;
|
|
32
27
|
}
|
|
33
|
-
/**
|
|
34
|
-
* Match a pressed key against a configured trigger. Single-character keys are
|
|
35
|
-
* compared case-insensitively (aligned with Shortcut module behaviour).
|
|
36
|
-
*/
|
|
37
28
|
function plusMinusKeyMatches(actualKey, configuredKey) {
|
|
38
29
|
if (!configuredKey) {
|
|
39
30
|
return false;
|
|
@@ -46,18 +37,12 @@ function plusMinusKeyMatches(actualKey, configuredKey) {
|
|
|
46
37
|
}
|
|
47
38
|
return false;
|
|
48
39
|
}
|
|
49
|
-
/** Increment key from `AdaptableOptions.plusMinusOptions` only, then built-in `+`. */
|
|
50
40
|
function plusMinusIncrementKeyFromOptionsOnly(globalOptions) {
|
|
51
41
|
return globalOptions?.incrementKey?.trim() || DEFAULT_INCREMENT_KEY;
|
|
52
42
|
}
|
|
53
|
-
/** Decrement key from `AdaptableOptions.plusMinusOptions` only, then built-in `-`. */
|
|
54
43
|
function plusMinusDecrementKeyFromOptionsOnly(globalOptions) {
|
|
55
44
|
return globalOptions?.decrementKey?.trim() || DEFAULT_DECREMENT_KEY;
|
|
56
45
|
}
|
|
57
|
-
/**
|
|
58
|
-
* True when `candidate` is the same trigger as `baseline` for “no nudge override to persist”
|
|
59
|
-
* (single-character keys compared case-insensitively, same as {@link plusMinusKeyMatches}).
|
|
60
|
-
*/
|
|
61
46
|
function plusMinusTriggerSameAsBaseline(candidate, baseline) {
|
|
62
47
|
return plusMinusKeyMatches(candidate, baseline) && plusMinusKeyMatches(baseline, candidate);
|
|
63
48
|
}
|
|
@@ -72,7 +57,6 @@ function addConfiguredKeyToLookup(lookup, configuredKey) {
|
|
|
72
57
|
lookup.exactKeys.add(configuredKey);
|
|
73
58
|
}
|
|
74
59
|
}
|
|
75
|
-
/** Build a lookup of all increment/decrement keys across active nudges (resolved). */
|
|
76
60
|
function buildPlusMinusTriggerKeyLookup(nudges, globalOptions) {
|
|
77
61
|
const lookup = {
|
|
78
62
|
singleCharLower: new Set(),
|
|
@@ -85,10 +69,6 @@ function buildPlusMinusTriggerKeyLookup(nudges, globalOptions) {
|
|
|
85
69
|
}
|
|
86
70
|
return lookup;
|
|
87
71
|
}
|
|
88
|
-
/**
|
|
89
|
-
* O(1) check: whether this pressed key could match any configured Plus Minus trigger.
|
|
90
|
-
* When false, skip fetching cells / running nudge rules.
|
|
91
|
-
*/
|
|
92
72
|
function plusMinusKeyCouldTrigger(keyEventString, lookup) {
|
|
93
73
|
if (!keyEventString) {
|
|
94
74
|
return false;
|
|
@@ -18,7 +18,6 @@ const QUICK_SEARCH_FIND_CSS_KEYS = [
|
|
|
18
18
|
'borderColor',
|
|
19
19
|
'borderRadius',
|
|
20
20
|
];
|
|
21
|
-
/** True when no style properties are set (including persisted `{}` placeholders). */
|
|
22
21
|
function isQuickSearchStyleUnset(style) {
|
|
23
22
|
if (style == null) {
|
|
24
23
|
return true;
|
|
@@ -45,28 +44,24 @@ function isQuickSearchStyleUnset(style) {
|
|
|
45
44
|
return true;
|
|
46
45
|
});
|
|
47
46
|
}
|
|
48
|
-
/** Matching text highlight (AG Grid Find). Defaults at read time — not written to state unless set. */
|
|
49
47
|
function resolveQuickSearchTextMatchStyle(quickSearchState) {
|
|
50
48
|
if (isQuickSearchStyleUnset(quickSearchState.TextMatchStyle)) {
|
|
51
49
|
return QuickSearchRedux_1.QUICK_SEARCH_DEFAULT_TEXT_MATCH_STYLE;
|
|
52
50
|
}
|
|
53
51
|
return quickSearchState.TextMatchStyle;
|
|
54
52
|
}
|
|
55
|
-
/** Whole-cell background on matching cells. Undefined when unset (client-side). */
|
|
56
53
|
function resolveQuickSearchCellMatchStyle(quickSearchState) {
|
|
57
54
|
if (isQuickSearchStyleUnset(quickSearchState.CellMatchStyle)) {
|
|
58
55
|
return undefined;
|
|
59
56
|
}
|
|
60
57
|
return quickSearchState.CellMatchStyle;
|
|
61
58
|
}
|
|
62
|
-
/** Active match text highlight when cycling results. Defaults at read time. */
|
|
63
59
|
function resolveQuickSearchCurrentTextMatchStyle(quickSearchState) {
|
|
64
60
|
if (isQuickSearchStyleUnset(quickSearchState.CurrentTextMatchStyle)) {
|
|
65
61
|
return QuickSearchRedux_1.QUICK_SEARCH_DEFAULT_CURRENT_TEXT_MATCH_STYLE;
|
|
66
62
|
}
|
|
67
63
|
return quickSearchState.CurrentTextMatchStyle;
|
|
68
64
|
}
|
|
69
|
-
/** Apply Quick Search Find CSS variables on the grid container (`.ab-Grid`). */
|
|
70
65
|
function applyQuickSearchFindCssVars(container, quickSearchState) {
|
|
71
66
|
if (!container) {
|
|
72
67
|
return;
|
|
@@ -1,24 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Lightweight, dependency-free parser for standard 5-field cron expressions:
|
|
4
|
-
*
|
|
5
|
-
* minute hour day-of-month month day-of-week
|
|
6
|
-
*
|
|
7
|
-
* Each field supports:
|
|
8
|
-
* - `*` — every value in the field range
|
|
9
|
-
* - A single integer (e.g. `9`)
|
|
10
|
-
* - A comma-separated list (e.g. `1,3,5`)
|
|
11
|
-
* - A range (e.g. `1-5`)
|
|
12
|
-
* - A step (e.g. `* /15`, `0-30/5`)
|
|
13
|
-
*
|
|
14
|
-
* For day-of-week, both `0` and `7` represent Sunday.
|
|
15
|
-
*
|
|
16
|
-
* This module exists to keep AdapTable free of the `cron-parser` package (which
|
|
17
|
-
* transitively pulls in `luxon`). AdapTable only uses cron expressions in the
|
|
18
|
-
* Scheduling system, and only ever needs to:
|
|
19
|
-
* 1. validate a user-entered cron string, and
|
|
20
|
-
* 2. compute the next fire time from "now".
|
|
21
|
-
*/
|
|
22
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
3
|
exports.parseCronExpression = parseCronExpression;
|
|
24
4
|
exports.isCronExpressionValid = isCronExpressionValid;
|
|
@@ -28,9 +8,6 @@ const HOUR_RANGE = [0, 23];
|
|
|
28
8
|
const DAY_OF_MONTH_RANGE = [1, 31];
|
|
29
9
|
const MONTH_RANGE = [1, 12];
|
|
30
10
|
const FIELD_LABELS = ['minute', 'hour', 'day-of-month', 'month', 'day-of-week'];
|
|
31
|
-
/**
|
|
32
|
-
* Parses a 5-field cron expression. Throws when the expression is invalid.
|
|
33
|
-
*/
|
|
34
11
|
function parseCronExpression(expression) {
|
|
35
12
|
if (!expression || typeof expression !== 'string') {
|
|
36
13
|
throw new Error('Cron expression is empty');
|
|
@@ -54,9 +31,6 @@ function parseCronExpression(expression) {
|
|
|
54
31
|
dayOfWeekIsStar: parts[4] === '*',
|
|
55
32
|
};
|
|
56
33
|
}
|
|
57
|
-
/**
|
|
58
|
-
* Returns true if the given expression is a valid 5-field cron expression.
|
|
59
|
-
*/
|
|
60
34
|
function isCronExpressionValid(expression) {
|
|
61
35
|
try {
|
|
62
36
|
parseCronExpression(expression);
|
|
@@ -66,23 +40,15 @@ function isCronExpressionValid(expression) {
|
|
|
66
40
|
return false;
|
|
67
41
|
}
|
|
68
42
|
}
|
|
69
|
-
/**
|
|
70
|
-
* Returns the next time the cron expression fires after `fromDate` (exclusive).
|
|
71
|
-
* Returns null if no match is found within a 4-year horizon.
|
|
72
|
-
*/
|
|
73
43
|
function getNextCronOccurrence(expression, fromDate = new Date()) {
|
|
74
44
|
const cron = parseCronExpression(expression);
|
|
75
|
-
// Bump to the start of the next minute - cron has minute granularity and
|
|
76
|
-
// we never want to return `fromDate` itself.
|
|
77
45
|
const next = new Date(fromDate.getTime());
|
|
78
46
|
next.setSeconds(0, 0);
|
|
79
47
|
next.setMinutes(next.getMinutes() + 1);
|
|
80
|
-
// Safety horizon — patterns like "0 0 31 2 *" (31 Feb) can never match.
|
|
81
48
|
const horizon = new Date(next.getTime());
|
|
82
49
|
horizon.setFullYear(horizon.getFullYear() + 4);
|
|
83
50
|
while (next < horizon) {
|
|
84
51
|
if (!cron.month.has(next.getMonth() + 1)) {
|
|
85
|
-
// Jump to the 1st of the next month.
|
|
86
52
|
next.setDate(1);
|
|
87
53
|
next.setHours(0, 0, 0, 0);
|
|
88
54
|
next.setMonth(next.getMonth() + 1);
|
|
@@ -107,12 +73,6 @@ function getNextCronOccurrence(expression, fromDate = new Date()) {
|
|
|
107
73
|
}
|
|
108
74
|
return null;
|
|
109
75
|
}
|
|
110
|
-
/**
|
|
111
|
-
* Standard cron day matching:
|
|
112
|
-
* - if both day-of-month and day-of-week are `*`, the day always matches
|
|
113
|
-
* - if only one is `*`, only the other is applied
|
|
114
|
-
* - if neither is `*`, the day matches when **either** matches (OR semantics)
|
|
115
|
-
*/
|
|
116
76
|
function matchesDay(cron, date) {
|
|
117
77
|
const domMatches = cron.dayOfMonth.has(date.getDate());
|
|
118
78
|
const dowMatches = cron.dayOfWeek.has(date.getDay());
|
|
@@ -172,9 +132,6 @@ function parseField(field, range, label) {
|
|
|
172
132
|
return values;
|
|
173
133
|
}
|
|
174
134
|
function parseDayOfWeekField(field) {
|
|
175
|
-
// Cron allows 0 or 7 to represent Sunday — parse with an extended range
|
|
176
|
-
// [0,7] and then collapse 7 → 0 so callers can compare against
|
|
177
|
-
// `Date.getDay()` which returns 0-6.
|
|
178
135
|
const extended = parseField(field, [0, 7], 'day-of-week');
|
|
179
136
|
const normalised = new Set();
|
|
180
137
|
for (const value of extended) {
|
|
@@ -31,10 +31,6 @@ function ensureScheduleUuid(schedule) {
|
|
|
31
31
|
function exportStateNeedsScheduleUuids(exportState) {
|
|
32
32
|
return (exportState.ReportSchedules ?? []).some((schedule) => !schedule.Uuid);
|
|
33
33
|
}
|
|
34
|
-
/**
|
|
35
|
-
* Assigns a unique {@link ReportSchedule.Uuid} to any schedule that lacks one.
|
|
36
|
-
* Required so edit/suspend/delete match a single schedule (not every `undefined` uuid).
|
|
37
|
-
*/
|
|
38
34
|
function ensureExportStateSchedulesUuids(exportState) {
|
|
39
35
|
if (!exportStateNeedsScheduleUuids(exportState)) {
|
|
40
36
|
return exportState;
|
|
@@ -27,7 +27,7 @@ exports.DEFAULT_SETTINGS_PANEL_NAVIGATION_GROUPS = [
|
|
|
27
27
|
items: ['Export', 'DataImport'],
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
|
-
label: '
|
|
30
|
+
label: 'Editing',
|
|
31
31
|
items: ['PlusMinus', 'Shortcut', 'DataChangeHistory'],
|
|
32
32
|
},
|
|
33
33
|
{
|
|
@@ -55,12 +55,48 @@ const cloneSettingsPanelNavigation = (navigation) => ({
|
|
|
55
55
|
items: [...group.items],
|
|
56
56
|
})),
|
|
57
57
|
});
|
|
58
|
+
const convertLegacyFlatNavigationToGrouped = (legacy) => {
|
|
59
|
+
const items = legacy.items ?? [];
|
|
60
|
+
const groups = [];
|
|
61
|
+
let current = [];
|
|
62
|
+
for (const item of items) {
|
|
63
|
+
if (item === '-') {
|
|
64
|
+
if (current.length) {
|
|
65
|
+
groups.push({ label: '', items: current });
|
|
66
|
+
current = [];
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
current.push(item);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (current.length) {
|
|
74
|
+
groups.push({ label: '', items: current });
|
|
75
|
+
}
|
|
76
|
+
return { groups };
|
|
77
|
+
};
|
|
78
|
+
let didWarnLegacyNavigation = false;
|
|
79
|
+
const warnLegacyNavigationOnce = (api) => {
|
|
80
|
+
if (didWarnLegacyNavigation) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
didWarnLegacyNavigation = true;
|
|
84
|
+
api.internalApi
|
|
85
|
+
.getAdaptableInstance()
|
|
86
|
+
.logger.consoleWarn("SettingsPanelOptions.navigation is using the legacy v22 `{ items: [...] }` shape — this is deprecated and will be removed in the next major release. Use a SettingsPanelNavigationConfigurer function: `(context, defaultNavigation) => SettingsPanelNavigation`.");
|
|
87
|
+
};
|
|
88
|
+
const isNavigationConfigurer = (navigation) => typeof navigation === 'function';
|
|
58
89
|
const resolveSettingsPanelNavigation = (api, settingsPanelOptions) => {
|
|
59
90
|
const defaultNavigation = (0, exports.buildDefaultSettingsPanelNavigation)(settingsPanelOptions.customSettingsPanels?.map((panel) => panel.name) ?? []);
|
|
60
|
-
|
|
91
|
+
const navigation = settingsPanelOptions.navigation;
|
|
92
|
+
if (!navigation) {
|
|
61
93
|
return defaultNavigation;
|
|
62
94
|
}
|
|
63
|
-
|
|
64
|
-
|
|
95
|
+
if (isNavigationConfigurer(navigation)) {
|
|
96
|
+
const context = api.internalApi.buildBaseContext();
|
|
97
|
+
return navigation(context, cloneSettingsPanelNavigation(defaultNavigation));
|
|
98
|
+
}
|
|
99
|
+
warnLegacyNavigationOnce(api);
|
|
100
|
+
return convertLegacyFlatNavigationToGrouped(navigation);
|
|
65
101
|
};
|
|
66
102
|
exports.resolveSettingsPanelNavigation = resolveSettingsPanelNavigation;
|