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