@adaptabletools/adaptable 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 +1 -27
- 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 +1 -9
- package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +1 -73
- package/src/components/CodeBlock/index.d.ts +0 -1
- package/src/components/CodeBlock/index.js +1 -2
- 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.esm.tsbuildinfo +1 -1
- package/src/AdaptableState/Common/NamedObject.d.ts +0 -10
- package/src/AdaptableState/Common/NamedObject.js +0 -1
- package/src/Utilities/ExpressionFunctions/groupingMap.d.ts +0 -35
- package/src/Utilities/ExpressionFunctions/groupingMap.js +0 -100
- package/src/Utilities/Interface/AdaptableToolPanelContext.d.ts +0 -4
- package/src/Utilities/Interface/AdaptableToolPanelContext.js +0 -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/View/Components/Buttons/EntityListActionButtons.d.ts +0 -38
- package/src/View/Components/Buttons/EntityListActionButtons.js +0 -42
- package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.d.ts +0 -12
- package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +0 -67
- package/src/View/Components/EntityRowItem.d.ts +0 -7
- package/src/View/Components/EntityRowItem.js +0 -7
- package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +0 -3
- package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.js +0 -5
- package/src/View/Components/ModuleProfile.d.ts +0 -8
- package/src/View/Components/ModuleProfile.js +0 -10
- package/src/View/Components/ModuleSummary/ModuleDetail.d.ts +0 -23
- package/src/View/Components/ModuleSummary/ModuleDetail.js +0 -15
- package/src/View/Components/ModuleSummary/ModuleHeader.d.ts +0 -15
- package/src/View/Components/ModuleSummary/ModuleHeader.js +0 -15
- package/src/View/Components/ModuleSummary/SummaryRowItem.d.ts +0 -7
- package/src/View/Components/ModuleSummary/SummaryRowItem.js +0 -12
- package/src/View/Components/SharedProps/ModuleSummaryProps.d.ts +0 -9
- package/src/View/Components/SharedProps/ModuleSummaryProps.js +0 -1
- package/src/View/Components/SharedProps/ToolPanelModuleViewPopupProps.d.ts +0 -13
- package/src/View/Components/SharedProps/ToolPanelModuleViewPopupProps.js +0 -1
- package/src/View/Components/SharedProps/ToolbarModuleViewPopupProps.d.ts +0 -14
- package/src/View/Components/SharedProps/ToolbarModuleViewPopupProps.js +0 -1
- package/src/View/Components/StyleVisualItem.d.ts +0 -9
- package/src/View/Components/StyleVisualItem.js +0 -40
- package/src/View/Components/WizardSummaryPage.d.ts +0 -7
- package/src/View/Components/WizardSummaryPage.js +0 -17
- package/src/components/Accordion.d.ts +0 -7
- package/src/components/Accordion.js +0 -33
- package/src/components/FlexWithFooter.d.ts +0 -9
- package/src/components/FlexWithFooter.js +0 -13
- package/src/components/NotifyResize/index.d.ts +0 -9
- package/src/components/NotifyResize/index.js +0 -35
- package/src/components/PopupWithFooter.d.ts +0 -14
- package/src/components/PopupWithFooter.js +0 -11
- package/src/components/SelectableList/index.d.ts +0 -15
- package/src/components/SelectableList/index.js +0 -95
- package/src/components/SizedContainer/index.d.ts +0 -17
- package/src/components/SizedContainer/index.js +0 -20
- package/src/components/Table/index.d.ts +0 -4
- package/src/components/Table/index.js +0 -6
- package/src/components/WizardPanel/index.d.ts +0 -9
- package/src/components/WizardPanel/index.js +0 -7
- package/src/components/icons/align-justify.d.ts +0 -3
- package/src/components/icons/align-justify.js +0 -3
- package/src/components/icons/column-info.d.ts +0 -3
- package/src/components/icons/column-info.js +0 -3
- package/src/components/icons/gradient-column.d.ts +0 -3
- package/src/components/icons/gradient-column.js +0 -3
- package/src/components/icons/invalid.d.ts +0 -3
- package/src/components/icons/invalid.js +0 -3
- package/src/components/icons/logout copy.d.ts +0 -3
- package/src/components/icons/logout copy.js +0 -3
- package/src/components/icons/smart-edit.d.ts +0 -3
- package/src/components/icons/smart-edit.js +0 -3
- package/src/components/icons/team-share.d.ts +0 -3
- package/src/components/icons/team-share.js +0 -3
- package/src/components/icons/unchecked.d.ts +0 -3
- package/src/components/icons/unchecked.js +0 -3
- package/src/components/icons/user-filter.d.ts +0 -3
- package/src/components/icons/user-filter.js +0 -3
- package/src/components/utils/useContainerScrollObserver/index.d.ts +0 -6
- package/src/components/utils/useContainerScrollObserver/index.js +0 -79
- package/src/components/utils/useGlobalEvent.d.ts +0 -1
- package/src/components/utils/useGlobalEvent.js +0 -7
- package/src/components/utils/useLatest.d.ts +0 -1
- package/src/components/utils/useLatest.js +0 -6
- package/src/components/utils/usePropState.d.ts +0 -2
- package/src/components/utils/usePropState.js +0 -8
- 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
|
@@ -9,9 +9,7 @@ export class ValidationService {
|
|
|
9
9
|
this.adaptableApi = adaptableApi;
|
|
10
10
|
this.adaptableApi = adaptableApi;
|
|
11
11
|
}
|
|
12
|
-
// Not sure where to put this: was in the Module but might be better here until I can work out a way of having an event with a callback...
|
|
13
12
|
getValidationRulesForDataChange(cellDataChangedInfo) {
|
|
14
|
-
// if the new value is the same as the old value then we can get out as we dont see it as an edit?
|
|
15
13
|
if (cellDataChangedInfo.oldValue == cellDataChangedInfo.newValue) {
|
|
16
14
|
return [];
|
|
17
15
|
}
|
|
@@ -60,21 +58,6 @@ export class ValidationService {
|
|
|
60
58
|
cellDataChangedInfo: cellDataChangedInfo,
|
|
61
59
|
};
|
|
62
60
|
this.adaptableApi.eventApi.internalApi.fireAlertFiredEvent(alert);
|
|
63
|
-
// This is not needed because the change event is triggered regardless
|
|
64
|
-
// if the edit is succesful. This is because (I think) Adaptable uses a non-standard way ot detecting data changes.
|
|
65
|
-
// https://github.com/AdaptableTools/adaptable/issues/2197
|
|
66
|
-
// failedRules.forEach((alertDefinition) => {
|
|
67
|
-
// const alert: AdaptableAlert = ObjectFactory.CreateCellChangedAlert(
|
|
68
|
-
// cellDataChangedInfo.column.friendlyName,
|
|
69
|
-
// this.adaptableApi.alertApi.internalApi.getAlertDescription(
|
|
70
|
-
// alertDefinition,
|
|
71
|
-
// cellDataChangedInfo
|
|
72
|
-
// ),
|
|
73
|
-
// alertDefinition,
|
|
74
|
-
// cellDataChangedInfo
|
|
75
|
-
// );
|
|
76
|
-
// this.adaptableApi.alertApi.showAdaptableAlert(alert);
|
|
77
|
-
// });
|
|
78
61
|
return false;
|
|
79
62
|
}
|
|
80
63
|
return true;
|
|
@@ -108,11 +91,8 @@ export class ValidationService {
|
|
|
108
91
|
if (validationResult.newCellValue === undefined) {
|
|
109
92
|
validationResult.newCellValue = cellDataChangedInfo.newValue;
|
|
110
93
|
}
|
|
111
|
-
// If they have changed the return value then we should update the grid, log the function change
|
|
112
|
-
// otherwise the value will persist
|
|
113
94
|
if (validationResult.newCellValue !== cellDataChangedInfo.newValue) {
|
|
114
95
|
cellDataChangedInfo.newValue = validationResult.newCellValue;
|
|
115
|
-
// this.adaptable.setValue(cellDataChangedInfo, false);
|
|
116
96
|
const row = cellDataChangedInfo.rowNode?.data;
|
|
117
97
|
if (!row) {
|
|
118
98
|
return;
|
|
@@ -151,6 +131,5 @@ export class ValidationService {
|
|
|
151
131
|
return returnMessage;
|
|
152
132
|
}
|
|
153
133
|
destroy() {
|
|
154
|
-
// TO DO
|
|
155
134
|
}
|
|
156
135
|
}
|
|
@@ -11,9 +11,6 @@ export const createAgStatusPanelComponent = (component, adaptable, context) => {
|
|
|
11
11
|
}), adaptable);
|
|
12
12
|
return (_jsx("div", { className: "ab-StatusBar", ref: (node) => {
|
|
13
13
|
if (node) {
|
|
14
|
-
// in React rendering, AG Grid renders an additional extra div
|
|
15
|
-
// around the status panel container, with className of 'ag-react-container'
|
|
16
|
-
// which needs to be stretched in order to fill the status panel
|
|
17
14
|
node.parentElement.style.display = 'flex';
|
|
18
15
|
}
|
|
19
16
|
}, children: children }));
|
|
@@ -2,10 +2,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { ExpressionPreview } from '../components/ExpressionEditor/ExpressionPreview';
|
|
3
3
|
import { Tag } from '../components/Tag';
|
|
4
4
|
export const getExpressionViewItems = (query, api) => {
|
|
5
|
-
// const expressionText = api.internalApi.getAdaptableQueryExpressionText(query);
|
|
6
5
|
return {
|
|
7
6
|
name: 'Expression',
|
|
8
|
-
// values: [],
|
|
9
7
|
view: (_jsx(Tag, { children: _jsx(ExpressionPreview, { query: query }) })),
|
|
10
8
|
};
|
|
11
9
|
};
|
|
@@ -17,7 +17,6 @@ export const getObjectTagsViewItems = (object, api) => {
|
|
|
17
17
|
const handleToggleTag = React.useCallback(() => {
|
|
18
18
|
let tags = props.data.Tags ?? [];
|
|
19
19
|
if (hasCurrentLayoutAsTag) {
|
|
20
|
-
// remove layout
|
|
21
20
|
tags = tags.filter((tag) => tag !== currentLayoutName);
|
|
22
21
|
}
|
|
23
22
|
else {
|
|
@@ -1,34 +1,14 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Resolves a container option value to an `HTMLElement`.
|
|
3
|
-
*
|
|
4
|
-
* Resolution order:
|
|
5
|
-
* 1. If `container` is `null`/`undefined`, returns `null`.
|
|
6
|
-
* 2. If `container` is a function, it is called with the provided `context` and the result is resolved.
|
|
7
|
-
* 3. If the value is an `HTMLElement`, it is returned directly.
|
|
8
|
-
* 4. If the value is an `AdaptableCSSSelector` (`{ selector: string }`), `document.querySelectorAll` is used.
|
|
9
|
-
* If multiple elements match, the first is returned and a console warning is logged.
|
|
10
|
-
* 5. If the value is a `string`, it is treated as an element ID and `document.getElementById` is used.
|
|
11
|
-
*
|
|
12
|
-
* @param container - The container reference to resolve.
|
|
13
|
-
* @param context - Optional context passed to the function form of the container.
|
|
14
|
-
* @param doc - The document to query against (defaults to `globalThis.document`).
|
|
15
|
-
* @returns The resolved `HTMLElement`, or `null` if not found.
|
|
16
|
-
*/
|
|
17
1
|
export function resolveContainerElement(container, context, doc = globalThis.document) {
|
|
18
2
|
if (container == null) {
|
|
19
3
|
return null;
|
|
20
4
|
}
|
|
21
|
-
// Unwrap function form — pass context if the container is a function
|
|
22
5
|
const value = typeof container === 'function' ? container(context) : container;
|
|
23
|
-
// Guard against null/undefined returned by a callback (e.g. document.getElementById(...))
|
|
24
6
|
if (value == null) {
|
|
25
7
|
return null;
|
|
26
8
|
}
|
|
27
|
-
// Direct HTMLElement reference
|
|
28
9
|
if (value instanceof HTMLElement) {
|
|
29
10
|
return value;
|
|
30
11
|
}
|
|
31
|
-
// CSS Selector object
|
|
32
12
|
if (typeof value === 'object' && 'selector' in value) {
|
|
33
13
|
const matches = doc.querySelectorAll(value.selector);
|
|
34
14
|
if (matches.length > 1) {
|
|
@@ -36,7 +16,6 @@ export function resolveContainerElement(container, context, doc = globalThis.doc
|
|
|
36
16
|
}
|
|
37
17
|
return matches[0] ?? null;
|
|
38
18
|
}
|
|
39
|
-
// String element ID
|
|
40
19
|
if (typeof value === 'string') {
|
|
41
20
|
return doc.getElementById(value);
|
|
42
21
|
}
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Calls the callback if the promise does not resolve in a amount of time.
|
|
3
|
-
*
|
|
4
|
-
* @param promise
|
|
5
|
-
* @param callback Called if promise does not resolve in the time defined by 'delay'
|
|
6
|
-
* @param delay Time after which if the promise was not resolved the callback (fn) is called.
|
|
7
|
-
*/
|
|
8
1
|
export const runIfNotResolvedIn = async (promise, callback, delay = 100) => {
|
|
9
2
|
let isFulfilled = false;
|
|
10
3
|
promise?.then(() => {
|
|
@@ -5,26 +5,18 @@ function insertAtCorrectIndex(result, colState, visibleColumnsIndexes, offset =
|
|
|
5
5
|
return;
|
|
6
6
|
}
|
|
7
7
|
if (prevColState.hide) {
|
|
8
|
-
insertAtCorrectIndex(result, colState, visibleColumnsIndexes, offset + 1,
|
|
9
|
-
/* do not advance this as, as we've encountered a hidden column*/ lastVisibleOffset);
|
|
8
|
+
insertAtCorrectIndex(result, colState, visibleColumnsIndexes, offset + 1, lastVisibleOffset);
|
|
10
9
|
return;
|
|
11
10
|
}
|
|
12
11
|
const prevCol_visibilityIndex = visibleColumnsIndexes[prevColState.colId];
|
|
13
12
|
const currentCol_visibilityIndex = visibleColumnsIndexes[colState.colId];
|
|
14
13
|
if (currentCol_visibilityIndex < prevCol_visibilityIndex) {
|
|
15
|
-
insertAtCorrectIndex(result, colState, visibleColumnsIndexes, offset + 1,
|
|
16
|
-
/*make sure we sync with the normal offset, as we've hit a visible col*/ offset + 1);
|
|
14
|
+
insertAtCorrectIndex(result, colState, visibleColumnsIndexes, offset + 1, offset + 1);
|
|
17
15
|
}
|
|
18
16
|
else {
|
|
19
17
|
result.splice(result.length - lastVisibleOffset, 0, colState);
|
|
20
18
|
}
|
|
21
19
|
}
|
|
22
|
-
/**
|
|
23
|
-
* This method takes a column state and the list of visible columns
|
|
24
|
-
* and returns a new column state that respects the order of the visible columns
|
|
25
|
-
* while trying to keep the hidden columns in their original order.
|
|
26
|
-
*
|
|
27
|
-
*/
|
|
28
20
|
export function sortColumnStateForVisibleColumns(columnState, visibleColumns) {
|
|
29
21
|
const visibleColumnsIndexes = visibleColumns.reduce((acc, colId, index) => {
|
|
30
22
|
acc[colId] = index;
|
|
@@ -35,8 +27,6 @@ export function sortColumnStateForVisibleColumns(columnState, visibleColumns) {
|
|
|
35
27
|
const colState = columnState[i];
|
|
36
28
|
const colVisible = visibleColumnsIndexes[colState.colId] != null;
|
|
37
29
|
if (!colVisible) {
|
|
38
|
-
// for cols not present in this layout, we keep them
|
|
39
|
-
// where they are
|
|
40
30
|
result.push(colState);
|
|
41
31
|
continue;
|
|
42
32
|
}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { cn } from '../lib/utils';
|
|
2
|
-
/** Selected wizard option — Tailwind overrides SimpleButton outlined defaults. */
|
|
3
2
|
export const WIZARD_SELECTION_ACTIVE_CLASSES = cn('ab-WizardSelection--active', 'twa:!border-[var(--ab-cmp-wizard-selection__border)]', 'twa:!bg-[var(--ab-cmp-wizard-selection__background)]', 'twa:!text-accent', 'twa:font-medium');
|
|
4
|
-
/** Unselected wizard option — muted so the active choice reads immediately. */
|
|
5
3
|
export const WIZARD_SELECTION_INACTIVE_CLASSES = cn('twa:!border-[color-mix(in_srgb,var(--ab-color-primarydark)_40%,transparent)]', 'twa:!text-[color-mix(in_srgb,var(--ab-color-foreground)_55%,transparent)]');
|
|
6
4
|
export const getCollapsibleWizardCardCollapsedClasses = (surface = 'popup') => cn(surface === 'panel'
|
|
7
5
|
? 'twa:border-[var(--ab-cmp-collapsible-wizard-card__collapsed-border)] twa:bg-card'
|
|
@@ -15,7 +15,7 @@ export class AdaptablePopover extends React.Component {
|
|
|
15
15
|
const title = StringExtensions.IsNotNullOrEmpty(this.props.headerText)
|
|
16
16
|
? this.props.headerText
|
|
17
17
|
: '';
|
|
18
|
-
const icon = 'info';
|
|
18
|
+
const icon = 'info';
|
|
19
19
|
const color = UIHelper.getColorByMessageType(messageType);
|
|
20
20
|
const iconStyle = {
|
|
21
21
|
color,
|
|
@@ -20,11 +20,7 @@ class AdaptableView extends React.Component {
|
|
|
20
20
|
const adaptableOptions = this.props.AdaptableApi.optionsApi.getAdaptableOptions();
|
|
21
21
|
return (_jsxs("div", { children: [_jsx(GridCellPopup, {}), _jsx(QuickSearchDrawer, {}), this.props.AdaptableApi.internalApi
|
|
22
22
|
.getModuleService()
|
|
23
|
-
.isAdapTableModulePresent('Dashboard') && _jsx(Dashboard, { api: this.props.AdaptableApi }), this.props.PopupState.PromptPopup.ShowPromptPopup && (_jsx(AdaptablePopupPrompt, { message: this.props.PopupState.PromptPopup.Message, header: this.props.PopupState.PromptPopup.Header, onClose: this.props.onClosePromptPopup, onConfirm: this.props.onConfirmPromptPopup, onConfirmActionCreator: this.props.PopupState.PromptPopup.ConfirmActionCreator, defaultValue: this.props.PopupState.PromptPopup.DefaultValue })), Boolean(this.props.PopupState.ConfirmationPopup.ShowConfirmationPopup) && (_jsx(AdaptablePopupConfirmation, { header: this.props.PopupState.ConfirmationPopup.Header, messsage: this.props.PopupState.ConfirmationPopup.Msg, showPopup: this.props.PopupState.ConfirmationPopup.ShowConfirmationPopup, cancelButtonText: this.props.PopupState.ConfirmationPopup.CancelButtonText, confirmButtonText: this.props.PopupState.ConfirmationPopup.ConfirmButtonText, onCancel: this.props.onCancelConfirmationPopup, onConfirm: this.props.onConfirmConfirmationPopup, showInputBox: this.props.PopupState.ConfirmationPopup.ShowInputBox, messageType: this.props.PopupState.ConfirmationPopup.MessageType, api: this.props.AdaptableApi })), Boolean(this.props.PopupState.ScreenPopup.ShowScreenPopup) && (_jsx(AdaptablePopup, { componentName: this.props.PopupState.ScreenPopup.ComponentName, componentModule: this.props.PopupState.ScreenPopup.ComponentModule, onHide: this.props.onCloseScreenPopup, api: this.props.AdaptableApi, onClearParams: () => this.props.onClearPopupParams(), moduleParams: this.props.PopupState.ScreenPopup.Params, moduleProps: this.props.PopupState.ScreenPopup.PopupProps })), _jsx(ToastContainer
|
|
24
|
-
// Ensure to set containerId to avoid memory leaks when Adaptable instance is destroyed and re-created many times
|
|
25
|
-
, {
|
|
26
|
-
// Ensure to set containerId to avoid memory leaks when Adaptable instance is destroyed and re-created many times
|
|
27
|
-
containerId: `Toastify-${adaptableOptions.adaptableId}`, limit: adaptableOptions.notificationsOptions.maxNotifications, closeButton: false, icon: false, theme: "colored" }), watermark?.show && _jsx(LicenseWatermark, { children: watermark?.text }), _jsx(WindowPopups, {}), _jsx(FormPopups, {}), _jsx(ProgressIndicator, {})] }));
|
|
23
|
+
.isAdapTableModulePresent('Dashboard') && _jsx(Dashboard, { api: this.props.AdaptableApi }), this.props.PopupState.PromptPopup.ShowPromptPopup && (_jsx(AdaptablePopupPrompt, { message: this.props.PopupState.PromptPopup.Message, header: this.props.PopupState.PromptPopup.Header, onClose: this.props.onClosePromptPopup, onConfirm: this.props.onConfirmPromptPopup, onConfirmActionCreator: this.props.PopupState.PromptPopup.ConfirmActionCreator, defaultValue: this.props.PopupState.PromptPopup.DefaultValue })), Boolean(this.props.PopupState.ConfirmationPopup.ShowConfirmationPopup) && (_jsx(AdaptablePopupConfirmation, { header: this.props.PopupState.ConfirmationPopup.Header, messsage: this.props.PopupState.ConfirmationPopup.Msg, showPopup: this.props.PopupState.ConfirmationPopup.ShowConfirmationPopup, cancelButtonText: this.props.PopupState.ConfirmationPopup.CancelButtonText, confirmButtonText: this.props.PopupState.ConfirmationPopup.ConfirmButtonText, onCancel: this.props.onCancelConfirmationPopup, onConfirm: this.props.onConfirmConfirmationPopup, showInputBox: this.props.PopupState.ConfirmationPopup.ShowInputBox, messageType: this.props.PopupState.ConfirmationPopup.MessageType, api: this.props.AdaptableApi })), Boolean(this.props.PopupState.ScreenPopup.ShowScreenPopup) && (_jsx(AdaptablePopup, { componentName: this.props.PopupState.ScreenPopup.ComponentName, componentModule: this.props.PopupState.ScreenPopup.ComponentModule, onHide: this.props.onCloseScreenPopup, api: this.props.AdaptableApi, onClearParams: () => this.props.onClearPopupParams(), moduleParams: this.props.PopupState.ScreenPopup.Params, moduleProps: this.props.PopupState.ScreenPopup.PopupProps })), _jsx(ToastContainer, { containerId: `Toastify-${adaptableOptions.adaptableId}`, limit: adaptableOptions.notificationsOptions.maxNotifications, closeButton: false, icon: false, theme: "colored" }), watermark?.show && _jsx(LicenseWatermark, { children: watermark?.text }), _jsx(WindowPopups, {}), _jsx(FormPopups, {}), _jsx(ProgressIndicator, {})] }));
|
|
28
24
|
}
|
|
29
25
|
}
|
|
30
26
|
function mapStateToProps(state, ownProps) {
|
|
@@ -332,10 +332,6 @@ const ColumnsList = ({ columns: cols, handle, onValidityChange, onChange, onSele
|
|
|
332
332
|
}, domProps: tableDOMProps, columns: columnsMap }) }) }));
|
|
333
333
|
};
|
|
334
334
|
function areEqual() {
|
|
335
|
-
/**
|
|
336
|
-
* Make the ColumnList not render on subsequent prop changes
|
|
337
|
-
* in order to boost performance
|
|
338
|
-
*/
|
|
339
335
|
return true;
|
|
340
336
|
}
|
|
341
337
|
export default React.memo(ColumnsList, areEqual);
|
|
@@ -7,7 +7,6 @@ import { ConfigurationWizardColumnsStep } from './ConfigurationWizardColumnsStep
|
|
|
7
7
|
import GridOptionsForm from './GridOptionsForm';
|
|
8
8
|
import EntitlementsForm from './EntitlementsForm';
|
|
9
9
|
import { UIElementsForm } from './UIOptions/UiOptionsForm';
|
|
10
|
-
import { AdaptableOptionsForm } from './AdaptableOptionsForm';
|
|
11
10
|
import { applyDefaultAdaptableOptions } from '../../../AdaptableOptions/DefaultAdaptableOptions';
|
|
12
11
|
export const ConfigurationWizard = (props) => {
|
|
13
12
|
const [isPrimaryKeySelected, setIsValid] = React.useState(true);
|
|
@@ -44,7 +43,6 @@ export const ConfigurationWizard = (props) => {
|
|
|
44
43
|
return newColumn;
|
|
45
44
|
});
|
|
46
45
|
const columnDefs = adaptableConfig.gridOptions.columnDefs;
|
|
47
|
-
// handle the layout creation
|
|
48
46
|
let Layouts = newAdaptableOptions.initialState?.Layout?.Layouts || [];
|
|
49
47
|
const NewLayout = {
|
|
50
48
|
TableColumns: columnDefs.map((col) => col.colId ?? col.field),
|
|
@@ -53,7 +51,6 @@ export const ConfigurationWizard = (props) => {
|
|
|
53
51
|
let currentLayoutName = NewLayout.Name;
|
|
54
52
|
let found = false;
|
|
55
53
|
if (!Layouts.length) {
|
|
56
|
-
// no layouts, make this the only one
|
|
57
54
|
Layouts = [NewLayout];
|
|
58
55
|
}
|
|
59
56
|
else {
|
|
@@ -62,10 +59,7 @@ export const ConfigurationWizard = (props) => {
|
|
|
62
59
|
return layout;
|
|
63
60
|
}
|
|
64
61
|
if (layout.TableColumns?.length === 0) {
|
|
65
|
-
// when finding the first empty layout
|
|
66
|
-
// set its column to be those of the new layout
|
|
67
62
|
found = true;
|
|
68
|
-
// and grab the name so we can put it in the Layout.CurrentLayout state
|
|
69
63
|
currentLayoutName = layout.Name;
|
|
70
64
|
layout = { ...layout };
|
|
71
65
|
layout.TableColumns = NewLayout.TableColumns;
|
|
@@ -133,12 +127,6 @@ export const ConfigurationWizard = (props) => {
|
|
|
133
127
|
},
|
|
134
128
|
render: () => (_jsx(ConfigurationWizardColumnsStep, { adaptableConfig: adaptableConfig, setPrimaryKeyIsNotSelected: handlePrimaryKeyColumnIsNotSelected, onChange: setAdaptableConfig, selectedColumns: selectedColumns, onSelectionChange: handleColumnSelectionChange, onColumnChange: handleColumnsChange, columnsHandle: columnsHandle })),
|
|
135
129
|
},
|
|
136
|
-
{
|
|
137
|
-
title: 'AdapTable Options',
|
|
138
|
-
details: 'Configure Adaptable Options',
|
|
139
|
-
isValid: () => adaptableConfig.adaptableOptions.adaptableId ? true : 'Adaptable ID is required',
|
|
140
|
-
render: () => (_jsx(AdaptableOptionsForm, { adaptableOptions: adaptableConfig.adaptableOptions, onChangedAdaptableOptions: handleAdaptableOptionsChange })),
|
|
141
|
-
},
|
|
142
130
|
{
|
|
143
131
|
title: 'AG Grid Options',
|
|
144
132
|
details: 'Configure AG Grid Options',
|
|
@@ -154,17 +142,6 @@ export const ConfigurationWizard = (props) => {
|
|
|
154
142
|
details: 'Configure Entitlements',
|
|
155
143
|
render: () => (_jsx(EntitlementsForm, { adaptableOptions: adaptableConfig.adaptableOptions, onChangedAptableOptions: handleAdaptableOptionsChange })),
|
|
156
144
|
},
|
|
157
|
-
/**
|
|
158
|
-
financePlugin && {
|
|
159
|
-
title: 'Finance',
|
|
160
|
-
details: 'Finance Options',
|
|
161
|
-
render: () => (
|
|
162
|
-
<FinanceForm
|
|
163
|
-
adaptableConfig={adaptableConfig}
|
|
164
|
-
onChangedAdaptableConfig={setAdaptableConfig}
|
|
165
|
-
/>
|
|
166
|
-
),
|
|
167
|
-
}, */
|
|
168
145
|
].filter(Boolean);
|
|
169
146
|
if (props.startSections) {
|
|
170
147
|
sections = [
|
|
@@ -40,7 +40,6 @@ const EntitlementsListForm = (props) => {
|
|
|
40
40
|
}, [abOptions?.entitlementOptions]);
|
|
41
41
|
const handleOnChange = React.useCallback((module, accessLevel) => {
|
|
42
42
|
let newEntitlements = entitlements;
|
|
43
|
-
// change
|
|
44
43
|
if (entitlementsMap[module]) {
|
|
45
44
|
newEntitlements = newEntitlements.map((entitlement) => {
|
|
46
45
|
if (entitlement.adaptableModule === module) {
|
|
@@ -50,7 +49,6 @@ const EntitlementsListForm = (props) => {
|
|
|
50
49
|
});
|
|
51
50
|
}
|
|
52
51
|
else {
|
|
53
|
-
// new
|
|
54
52
|
newEntitlements = [
|
|
55
53
|
...newEntitlements,
|
|
56
54
|
{ adaptableModule: module, accessLevel: accessLevel },
|
|
@@ -34,16 +34,6 @@ export const reducer = (state, action) => {
|
|
|
34
34
|
}
|
|
35
35
|
return state;
|
|
36
36
|
};
|
|
37
|
-
/**
|
|
38
|
-
* The wizard in a few modes:
|
|
39
|
-
*
|
|
40
|
-
* 1. Based on data:
|
|
41
|
-
* 1.1 Drag and drop a file
|
|
42
|
-
* 1.2 Fetch data from a url
|
|
43
|
-
*
|
|
44
|
-
* 2. Based on configuration:
|
|
45
|
-
* Provide a schema, on how the data looks like.
|
|
46
|
-
*/
|
|
47
37
|
export const Wizard = (props) => {
|
|
48
38
|
const [state, dispatch] = useReducer(reducer, {
|
|
49
39
|
...initialState,
|
|
@@ -86,8 +76,6 @@ export const Wizard = (props) => {
|
|
|
86
76
|
adaptableOptions: state.adaptableOptions,
|
|
87
77
|
gridOptions: state.gridOptions,
|
|
88
78
|
}, onCancel: () => {
|
|
89
|
-
// change the file droppable component key
|
|
90
|
-
// so it's remounted and it's in the initial state
|
|
91
79
|
setDroppableKey(Date.now());
|
|
92
80
|
dispatch({
|
|
93
81
|
type: 'CANCEL',
|
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* There are two ways in which the datasource can be dropped in the wizard:
|
|
3
|
-
*
|
|
4
|
-
* 1. array of objects - eg: [{"lastName":"John","firstName":"Bobson"},{"lastName":"Mike","firstName":"Richardson"},...]
|
|
5
|
-
* 2. array of arrays - eg: [["lastName","firstName"],["John","Bobson"],["Mike","Richardson"],...]
|
|
6
|
-
*
|
|
7
|
-
* Although the second one is more compact, the first one is what we need for the datasource of the grid,
|
|
8
|
-
* so if we receive v2, we transform it to 1
|
|
9
|
-
* @param json
|
|
10
|
-
*/
|
|
11
1
|
export const prepareDataSource = (json, _file) => {
|
|
12
2
|
if (!Array.isArray(json) || !json.length) {
|
|
13
3
|
return {
|
|
@@ -20,7 +10,6 @@ export const prepareDataSource = (json, _file) => {
|
|
|
20
10
|
let data = [];
|
|
21
11
|
let primaryKey;
|
|
22
12
|
if (Array.isArray(json[0])) {
|
|
23
|
-
// we are in v2, as described above, so this is the list of columns
|
|
24
13
|
columns = json[0];
|
|
25
14
|
for (let i = 1, len = json.length; i < len; i++) {
|
|
26
15
|
const it = json[i];
|
|
@@ -7,11 +7,9 @@ export const ActiveAlertsPanel = () => {
|
|
|
7
7
|
const adaptable = useAdaptable();
|
|
8
8
|
const filterModule = adaptable.ModuleService.getModuleById(ModuleConstants.AlertModuleId);
|
|
9
9
|
const alerts = useSelector((state) => state.Internal.AdaptableAlerts);
|
|
10
|
-
// map the suspended property from the underlying AlertDefinitions
|
|
11
10
|
alerts.forEach((alert) => {
|
|
12
11
|
const liveAlertDef = adaptable.api.alertApi.getAlertDefinitionById(alert.alertDefinition.Uuid);
|
|
13
12
|
if (liveAlertDef) {
|
|
14
|
-
// @ts-ignore theoretically AdaptableAlert is not Suspendable; practically <AdaptableObjectCompactList> expects it
|
|
15
13
|
alert.IsSuspended = liveAlertDef.IsSuspended;
|
|
16
14
|
}
|
|
17
15
|
});
|
|
@@ -14,13 +14,9 @@ export const AlertStatusPanel = () => {
|
|
|
14
14
|
.getModuleService()
|
|
15
15
|
.getModuleById(ModuleConstants.AlertModuleId);
|
|
16
16
|
const statusbarHighlightDuration = adaptableApi.optionsApi.getAlertOptions().statusbarHighlightDuration;
|
|
17
|
-
/**
|
|
18
|
-
* Using a selector to so the component updates each time an alert is triggered.
|
|
19
|
-
*/
|
|
20
17
|
const alerts = useSelector((state) => state.Internal.AdaptableAlerts);
|
|
21
18
|
const text = alerts.length == 0 ? '0 Alerts' : alerts.length == 1 ? '1 Alert' : alerts.length + ' Alerts';
|
|
22
19
|
const handleAction = React.useCallback(() => adaptableApi.alertApi.openAlertSettingsPanel(), []);
|
|
23
|
-
// blinking logic
|
|
24
20
|
const previousAlerts = React.useRef(alerts);
|
|
25
21
|
const timeoutId = React.useRef(null);
|
|
26
22
|
React.useEffect(() => {
|
|
@@ -38,10 +34,6 @@ export const AlertStatusPanel = () => {
|
|
|
38
34
|
clearTimeout(timeoutId.current);
|
|
39
35
|
timeoutId.current = null;
|
|
40
36
|
}
|
|
41
|
-
/**
|
|
42
|
-
* Cannot clear timeout in the useEffect cleanup function, because this logic is not
|
|
43
|
-
* called for each case. e.g. it is skipped for when alerts are not added.
|
|
44
|
-
*/
|
|
45
37
|
timeoutId.current = setTimeout(() => {
|
|
46
38
|
setStyle(initialStyle);
|
|
47
39
|
}, statusbarHighlightDuration);
|
|
@@ -9,12 +9,6 @@ export var AlertType;
|
|
|
9
9
|
AlertType["Observable"] = "Observable";
|
|
10
10
|
AlertType["Scheduled"] = "Scheduled";
|
|
11
11
|
})(AlertType || (AlertType = {}));
|
|
12
|
-
/**
|
|
13
|
-
* Based on alert shape the type is derived.
|
|
14
|
-
* In the future the alert will get a type property.
|
|
15
|
-
*
|
|
16
|
-
* @param alert
|
|
17
|
-
*/
|
|
18
12
|
export const getAlertType = (alert) => {
|
|
19
13
|
if (isScheduledAlertDefinition(alert)) {
|
|
20
14
|
return AlertType.Scheduled;
|
|
@@ -39,7 +33,6 @@ export const getAlertType = (alert) => {
|
|
|
39
33
|
if (predicates) {
|
|
40
34
|
return getRuleAlertProperties(alert)?.PreventEdit ? AlertType.Validation : AlertType.DataChange;
|
|
41
35
|
}
|
|
42
|
-
// the object is not a valid alert
|
|
43
36
|
return null;
|
|
44
37
|
};
|
|
45
38
|
export const getAlertTypeText = (alertType) => {
|
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
import ObjectFactory from '../../../Utilities/ObjectFactory';
|
|
2
2
|
import { CreateEmptyScheduledAlertDefinition } from '../../../Utilities/Helpers/Scheduling/ScheduledAlertHelper';
|
|
3
3
|
import { AlertType } from './getAlertType';
|
|
4
|
-
/**
|
|
5
|
-
* This logic should be moved into Object factory once we have types on alert definitions
|
|
6
|
-
* @param type AlertType
|
|
7
|
-
*/
|
|
8
4
|
export const getDefaultAlertDefinition = (alertDefinition, type) => {
|
|
9
5
|
const newAlert = {
|
|
10
6
|
...ObjectFactory.CreateEmptyAlertDefinition(),
|
|
11
7
|
Uuid: alertDefinition.Uuid,
|
|
12
8
|
};
|
|
13
|
-
// can only be all
|
|
14
9
|
if (type === AlertType.Observable ||
|
|
15
10
|
type === AlertType.Aggregation ||
|
|
16
11
|
type === AlertType.RowChange) {
|
|
@@ -12,8 +12,6 @@ export const mapAlertDefinition = (api, alertDefinition) => {
|
|
|
12
12
|
return alertCommand;
|
|
13
13
|
}
|
|
14
14
|
};
|
|
15
|
-
// the only case needed is when changing from AddedRow to RemovedRow
|
|
16
|
-
// map FormButton Actions
|
|
17
15
|
if (alertDefinition.AlertForm && typeof alertDefinition.AlertForm !== 'string') {
|
|
18
16
|
const alertButtons = alertDefinition.AlertForm?.Buttons;
|
|
19
17
|
alertButtons?.forEach((alertButton) => {
|
|
@@ -28,7 +26,6 @@ export const mapAlertDefinition = (api, alertDefinition) => {
|
|
|
28
26
|
}
|
|
29
27
|
});
|
|
30
28
|
}
|
|
31
|
-
// behaviours
|
|
32
29
|
if (isRemovedRowChangeAlert) {
|
|
33
30
|
delete alertDefinition.AlertProperties.HighlightRow;
|
|
34
31
|
delete alertDefinition.AlertProperties.JumpToRow;
|
|
@@ -57,8 +57,6 @@ export const AlertWizard = (props) => {
|
|
|
57
57
|
const setAlertDefinition = useCallback((data) => {
|
|
58
58
|
doSetAlertDefinition(data);
|
|
59
59
|
}, []);
|
|
60
|
-
// Alert type is based initialy on data, but can be changed by the user
|
|
61
|
-
// the default objects do not neccesary have enough information to determine the type
|
|
62
60
|
const [alertType, setAlertType] = useState(() => {
|
|
63
61
|
return getAlertType(alertDefinition) ?? AlertType.DataChange;
|
|
64
62
|
});
|
|
@@ -14,7 +14,6 @@ export const isValidAlertRules = (alert, api, context) => {
|
|
|
14
14
|
if (typeof isRuleValid === 'string') {
|
|
15
15
|
return isRuleValid;
|
|
16
16
|
}
|
|
17
|
-
// boolean expressions may also be saved as named queries
|
|
18
17
|
if (context.namedQuery != false) {
|
|
19
18
|
const isValidName = api.namedQueryApi.isValidNamedQuery(context.namedQuery);
|
|
20
19
|
if (!isValidName.valid) {
|
|
@@ -26,7 +26,6 @@ class BulkUpdatePopupComponent extends React.Component {
|
|
|
26
26
|
let hasDataTypeError = false;
|
|
27
27
|
let dataTypeErrorMessage = '';
|
|
28
28
|
if (col && StringExtensions.IsNotNullOrEmpty(this.props.BulkUpdateValue)) {
|
|
29
|
-
// check that the update value is a number for a numeric column. not issue for dates as we dont allow free text
|
|
30
29
|
if (col.dataType == 'number') {
|
|
31
30
|
if (isNaN(Number(this.props.BulkUpdateValue))) {
|
|
32
31
|
hasDataTypeError = true;
|
|
@@ -64,7 +64,5 @@ export const CalculatedColumnSettingsWizardSection = (props) => {
|
|
|
64
64
|
];
|
|
65
65
|
return (_jsx(Box, { "data-name": 'calculated-column-settings', children: _jsxs(Flex, { flexDirection: "column", className: "twa:gap-3 twa:p-3", children: [_jsxs(Card, { shadow: false, children: [_jsxs(Card.Title, { children: [_jsx(Box, { className: "twa:font-medium", children: "Data Type" }), _jsx(Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Choose the data type for the Calculated Column values" })] }), _jsxs(Card.Body, { className: "twa:p-1 twa:gap-1", children: [_jsx(SingleSelect, { "data-name": "column-type", placeholder: "Select Data Type", items: options, value: dataType, onValueChange: (value) => handleDataTypeChange(value), className: "twa:max-w-[300px]" }), ErrorMessage ? (_jsx(Box, { className: "twa:text-2 twa:text-destructive", children: ErrorMessage })) : null] })] }), _jsxs(Card, { shadow: false, children: [_jsxs(Card.Title, { children: [_jsx(Box, { className: "twa:font-medium", children: "Width" }), _jsx(Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Optional Column Width in pixels" })] }), _jsx(Card.Body, { className: "twa:p-1", children: _jsx(Input, { "data-name": "column-width", type: "number", className: "twa:max-w-[300px]", value: Width || '', onChange: (e) => handleSpecialColumnSettingsChange({
|
|
66
66
|
Width: Number(e.target.value),
|
|
67
|
-
}) }) })] }), _jsx(SpecialColumnSettingsWizardStep, { isEditable: false,
|
|
68
|
-
// @ts-ignore CalculatedColumn has a broader DataType
|
|
69
|
-
settings: data.CalculatedColumnSettings, onChange: handleSpecialColumnSettingsChange })] }) }));
|
|
67
|
+
}) }) })] }), _jsx(SpecialColumnSettingsWizardStep, { isEditable: false, settings: data.CalculatedColumnSettings, onChange: handleSpecialColumnSettingsChange })] }) }));
|
|
70
68
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { AdaptableApi, CalculatedColumn } from '../../types';
|
|
2
|
-
export declare const getExpressionType: (calculatedColumn: CalculatedColumn, api: AdaptableApi) => "
|
|
2
|
+
export declare const getExpressionType: (calculatedColumn: CalculatedColumn, api: AdaptableApi) => "ScalarExpression" | "AggregatedScalarExpression" | "CumulativeAggregatedExpression" | "QuantileAggregatedExpression";
|
|
@@ -7,10 +7,7 @@ import { PanelWithButton } from '../Components/Panels/PanelWithButton';
|
|
|
7
7
|
class CellSummaryPopupComponent extends React.Component {
|
|
8
8
|
componentDidMount() {
|
|
9
9
|
if (this.props.popupParams?.source === 'ColumnMenu' && this.props.popupParams?.column) {
|
|
10
|
-
// if the summary was requested from the column menu, we need to select the entire column
|
|
11
|
-
// afterwards, we will go on with the cell summary logic, as that will evaluate the current(column) cell selection
|
|
12
10
|
this.props.api.columnApi.selectColumn(this.props.popupParams?.column.columnId);
|
|
13
|
-
// we also need to update the internal state of the selected cells
|
|
14
11
|
this.props.api.internalApi.getAdaptableInstance().refreshSelectedCellsState();
|
|
15
12
|
}
|
|
16
13
|
this.props.onCreateCellSummary();
|
|
@@ -4,11 +4,5 @@ import { useSelector } from 'react-redux';
|
|
|
4
4
|
export const CellSummaryStatusBarSubPanelPopover = () => {
|
|
5
5
|
const cellSummary = useSelector((state) => state.Internal.CellSummary.CellSummaryInfo);
|
|
6
6
|
const summary = _jsx(CellSummaryDetails, { CellSummary: cellSummary });
|
|
7
|
-
return cellSummary && cellSummary.Count ? (summary) : (
|
|
8
|
-
// the extra wrapper is added because the empty text is rendered
|
|
9
|
-
// inside a EmptyContent, hat has position absolute
|
|
10
|
-
(_jsx(
|
|
11
|
-
"div",
|
|
12
|
-
{ style: { position: 'relative', width: '100%', height: 80 }, children: summary }
|
|
13
|
-
)));
|
|
7
|
+
return cellSummary && cellSummary.Count ? (summary) : (_jsx("div", { style: { position: 'relative', width: '100%', height: 80 }, children: summary }));
|
|
14
8
|
};
|
|
@@ -5,10 +5,7 @@ import * as ModuleConstants from '../../Utilities/Constants/ModuleConstants';
|
|
|
5
5
|
import { useDispatch } from 'react-redux';
|
|
6
6
|
export const EditChartButton = (props) => {
|
|
7
7
|
const dispatch = useDispatch();
|
|
8
|
-
return (_jsx(ButtonEdit, { iconSize: props.iconSize, tooltip: "Edit Chart",
|
|
9
|
-
// It gets complicated when a chart is both open and opened in edit wizard
|
|
10
|
-
// There an be conflicts between the two open charts (preview and main) and the changes to the active chart may not be syncronized correctly.
|
|
11
|
-
disabled: !props.chart || props.isOpen, accessLevel: props.accessLevel, onClick: () => dispatch(PopupRedux.PopupShowScreen(ModuleConstants.ChartingModuleId, 'Chart', {
|
|
8
|
+
return (_jsx(ButtonEdit, { iconSize: props.iconSize, tooltip: "Edit Chart", disabled: !props.chart || props.isOpen, accessLevel: props.accessLevel, onClick: () => dispatch(PopupRedux.PopupShowScreen(ModuleConstants.ChartingModuleId, 'Chart', {
|
|
12
9
|
action: 'Edit',
|
|
13
10
|
value: props.chart,
|
|
14
11
|
source: 'Toolbar',
|
|
@@ -43,9 +43,6 @@ const ShowExternalChartButton = (props) => {
|
|
|
43
43
|
const adaptable = useAdaptable();
|
|
44
44
|
const chartingOptions = adaptable.adaptableOptions?.chartingOptions;
|
|
45
45
|
const chartContainers = chartingOptions?.chartContainers;
|
|
46
|
-
/**
|
|
47
|
-
* Need to refresh after the chart is closed/opened
|
|
48
|
-
*/
|
|
49
46
|
const { isOpen, showChart: onShow, hideChart: onHide, } = useExternalChartState(props.chartDefinition);
|
|
50
47
|
const containerOptions = chartContainers
|
|
51
48
|
? chartContainers?.map((contianerDef) => ({
|
|
@@ -39,13 +39,8 @@ export const useAgChartState = (chartDefinition) => {
|
|
|
39
39
|
}
|
|
40
40
|
const chartRef = adaptable.api.chartingApi.getChartRef(chartDefinition.Model.chartId);
|
|
41
41
|
if (chartRef) {
|
|
42
|
-
// chart alredy opened
|
|
43
42
|
return;
|
|
44
43
|
}
|
|
45
|
-
/**
|
|
46
|
-
* When using a custom container, make sure multiple charts are not opened in the same container.
|
|
47
|
-
* If multple charts are opened in the same contianer, it infinitly adds the charts to the container.
|
|
48
|
-
*/
|
|
49
44
|
if (chartContainer && element) {
|
|
50
45
|
if (chartContainer.chartsDisplay !== 'multiple') {
|
|
51
46
|
closeAlreadyOpenedChartsInContainer(element);
|
|
@@ -19,16 +19,13 @@ export const useChartingElements = ({ elementType, accessLevel, size = 'normal',
|
|
|
19
19
|
const chartingOptions = adaptable.adaptableOptions?.chartingOptions;
|
|
20
20
|
const chartContainers = chartingOptions?.chartContainers;
|
|
21
21
|
const [selectedChartId, setSelectedChartId] = React.useState(() => {
|
|
22
|
-
// ID is kept in state becaus that does not change, the definition might change
|
|
23
22
|
return allChartDefinitions.length > 0 ? allChartDefinitions[0].Uuid : null;
|
|
24
23
|
});
|
|
25
24
|
const selectedChart = allChartDefinitions.find((chart) => chart.Uuid === selectedChartId);
|
|
26
25
|
const isAgChart = isAgChartDefinition(selectedChart);
|
|
27
26
|
const chartAccessLevel = AdaptableHelper.getAccessLevelForObject(selectedChart, accessLevel);
|
|
28
27
|
const [selectedContainer, setSelectedContainer] = React.useState(null);
|
|
29
|
-
// Need to always call as they the rule for hooks
|
|
30
28
|
const { isOpen: isAgChartOpen, showChart: showAgChart, closeChart: hideAgChart, } = useAgChartState(isAgChart ? selectedChart : undefined);
|
|
31
|
-
// Need to always call as they the rule for hooks
|
|
32
29
|
const { isOpen: isExternalChartOpened, showChart: showExternalChart, hideChart: hideExternalChart, } = useExternalChartState(!isAgChart ? selectedChart : undefined);
|
|
33
30
|
const isOpen = isAgChart ? isAgChartOpen : isExternalChartOpened;
|
|
34
31
|
const showChart = isAgChart ? showAgChart : showExternalChart;
|
|
@@ -53,7 +50,6 @@ export const useChartingElements = ({ elementType, accessLevel, size = 'normal',
|
|
|
53
50
|
selectedChartValue = 'No Charts';
|
|
54
51
|
}
|
|
55
52
|
React.useEffect(() => {
|
|
56
|
-
// select first
|
|
57
53
|
if (!selectedChart && chartDefinitions.length > 0) {
|
|
58
54
|
setSelectedChartId(chartDefinitions[0].Uuid);
|
|
59
55
|
}
|