@adaptabletools/adaptable 22.0.0-canary.1 → 22.0.0-canary.11
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.d.ts +9 -9
- package/agGrid.js +1 -0
- package/index.css +1280 -1400
- package/index.css.map +1 -1
- package/index.d.ts +66 -0
- package/index.js +73 -0
- package/package.json +3 -3
- package/src/AdaptableInterfaces/IAdaptable.d.ts +6 -6
- package/src/AdaptableOptions/ActionColumnOptions.d.ts +2 -2
- package/src/AdaptableOptions/AdaptablePlugin.js +6 -1
- package/src/AdaptableOptions/ColumnOptions.d.ts +2 -2
- package/src/AdaptableOptions/ContainerOptions.d.ts +55 -15
- package/src/AdaptableOptions/CustomSortOptions.d.ts +4 -0
- package/src/AdaptableOptions/DashboardOptions.d.ts +1 -2
- package/src/AdaptableOptions/ExportOptions.d.ts +1 -2
- package/src/AdaptableOptions/FilterOptions.d.ts +3 -0
- package/src/AdaptableOptions/ToolPanelOptions.d.ts +1 -2
- package/src/AdaptableState/AdaptableState.d.ts +2 -0
- package/src/AdaptableState/AlertState.d.ts +5 -2
- package/src/AdaptableState/ChartingState.d.ts +2 -2
- package/src/AdaptableState/Common/AdaptableAlert.d.ts +2 -2
- package/src/AdaptableState/Common/AdaptableButton.d.ts +2 -2
- package/src/AdaptableState/Common/AdaptableColumn.d.ts +16 -10
- package/src/AdaptableState/Common/AdaptableColumnContext.d.ts +9 -0
- package/src/AdaptableState/Common/AdaptableFlashingCell.d.ts +2 -2
- package/src/AdaptableState/Common/AdaptableObject.d.ts +20 -2
- package/src/AdaptableState/Common/AdaptableRowContext.d.ts +11 -0
- package/src/AdaptableState/Common/AdaptableStyle.d.ts +8 -0
- package/src/AdaptableState/Common/BaseContext.d.ts +2 -0
- package/src/AdaptableState/Common/ColumnHighlightInfo.d.ts +18 -0
- package/src/AdaptableState/Common/DataUpdateConfig.d.ts +17 -0
- package/src/AdaptableState/Common/NamedObject.d.ts +10 -0
- package/src/AdaptableState/Common/NamedObject.js +1 -0
- package/src/AdaptableState/Common/RowDataChangedInfo.d.ts +3 -0
- package/src/AdaptableState/Common/RowSummary.d.ts +1 -1
- package/src/AdaptableState/Common/Schedule.d.ts +8 -5
- package/src/AdaptableState/Common/SystemStatusMessageInfo.d.ts +2 -2
- package/src/AdaptableState/Common/TransposeConfig.d.ts +12 -10
- package/src/AdaptableState/CustomSortState.d.ts +5 -1
- package/src/AdaptableState/DashboardState.d.ts +1 -1
- package/src/AdaptableState/ExportState.d.ts +1 -1
- package/src/AdaptableState/FlashingCellState.d.ts +6 -2
- package/src/AdaptableState/FormatColumnState.d.ts +5 -9
- package/src/AdaptableState/InitialState.d.ts +10 -1
- package/src/AdaptableState/InternalState.d.ts +2 -0
- package/src/AdaptableState/LayoutState.d.ts +7 -3
- package/src/AdaptableState/NamedQueryState.d.ts +1 -1
- package/src/AdaptableState/PlusMinusState.d.ts +5 -1
- package/src/AdaptableState/Selection/GridCell.d.ts +9 -0
- package/src/AdaptableState/ShortcutState.d.ts +5 -1
- package/src/AdaptableState/StyledColumnState.d.ts +1 -1
- package/src/AdaptableState/ThemeState.d.ts +1 -1
- package/src/AdaptableState/UserInterfaceState.d.ts +14 -0
- package/src/AdaptableState/UserInterfaceState.js +1 -0
- package/src/Api/AlertApi.d.ts +6 -0
- package/src/Api/CustomSortApi.d.ts +12 -3
- package/src/Api/DataSetApi.d.ts +1 -1
- package/src/Api/FlashingCellApi.d.ts +6 -0
- package/src/Api/FormatColumnApi.d.ts +10 -4
- package/src/Api/GridApi.d.ts +27 -12
- package/src/Api/Implementation/ActionColumnApiImpl.js +1 -0
- package/src/Api/Implementation/AdaptableApiImpl.js +52 -0
- package/src/Api/Implementation/AlertApiImpl.d.ts +1 -0
- package/src/Api/Implementation/AlertApiImpl.js +6 -6
- package/src/Api/Implementation/ApiBase.d.ts +1 -1
- package/src/Api/Implementation/ApiBase.js +2 -1
- package/src/Api/Implementation/CalculatedColumnApiImpl.js +1 -0
- package/src/Api/Implementation/ChartingApiImpl.js +6 -2
- package/src/Api/Implementation/ColumnApiImpl.d.ts +1 -1
- package/src/Api/Implementation/ColumnApiImpl.js +1 -0
- package/src/Api/Implementation/ColumnFilterApiImpl.js +1 -0
- package/src/Api/Implementation/CommentsApiImpl.js +1 -0
- package/src/Api/Implementation/CustomSortApiImpl.d.ts +6 -1
- package/src/Api/Implementation/CustomSortApiImpl.js +6 -2
- package/src/Api/Implementation/DashboardApiImpl.js +1 -0
- package/src/Api/Implementation/DataChangeHistoryApiImpl.js +12 -15
- package/src/Api/Implementation/DataImportApiImpl.js +1 -0
- package/src/Api/Implementation/DataSetApiImpl.js +1 -0
- package/src/Api/Implementation/EntitlementApiImpl.js +1 -0
- package/src/Api/Implementation/EventApiImpl.js +16 -14
- package/src/Api/Implementation/ExportApiImpl.js +1 -0
- package/src/Api/Implementation/ExpressionApiImpl.js +1 -0
- package/src/Api/Implementation/Fdc3ApiImpl.js +1 -0
- package/src/Api/Implementation/FilterApiImpl.js +3 -0
- package/src/Api/Implementation/FlashingCellApiImpl.d.ts +1 -0
- package/src/Api/Implementation/FlashingCellApiImpl.js +4 -0
- package/src/Api/Implementation/FormatColumnApiImpl.d.ts +6 -5
- package/src/Api/Implementation/FormatColumnApiImpl.js +7 -5
- package/src/Api/Implementation/FreeTextColumnApiImpl.js +1 -0
- package/src/Api/Implementation/GridApiImpl.d.ts +11 -10
- package/src/Api/Implementation/GridApiImpl.js +39 -21
- package/src/Api/Implementation/GridFilterApiImpl.js +1 -0
- package/src/Api/Implementation/LayoutApiImpl.d.ts +1 -0
- package/src/Api/Implementation/LayoutApiImpl.js +5 -1
- package/src/Api/Implementation/LayoutHelpers.js +7 -0
- package/src/Api/Implementation/NamedQueryApiImpl.js +3 -2
- package/src/Api/Implementation/NoteApiImpl.js +1 -0
- package/src/Api/Implementation/PlusMinusApiImpl.d.ts +1 -0
- package/src/Api/Implementation/PlusMinusApiImpl.js +3 -0
- package/src/Api/Implementation/PredicateApiImpl.js +1 -0
- package/src/Api/Implementation/RowFormApiImpl.js +1 -0
- package/src/Api/Implementation/ScheduleApiImpl.d.ts +1 -0
- package/src/Api/Implementation/ScheduleApiImpl.js +4 -0
- package/src/Api/Implementation/ShortcutApiImpl.d.ts +1 -0
- package/src/Api/Implementation/ShortcutApiImpl.js +3 -0
- package/src/Api/Implementation/StyledColumnApiImpl.js +1 -0
- package/src/Api/Implementation/SystemStatusApiImpl.js +8 -9
- package/src/Api/Implementation/TeamSharingApiImpl.js +1 -0
- package/src/Api/Implementation/ThemeApiImpl.js +1 -0
- package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +5 -0
- package/src/Api/Implementation/UserInterfaceApiImpl.js +15 -1
- package/src/Api/Internal/CalculatedColumnInternalApi.js +2 -2
- package/src/Api/Internal/ColumnInternalApi.js +1 -1
- package/src/Api/Internal/FormatColumnInternalApi.d.ts +0 -10
- package/src/Api/Internal/FormatColumnInternalApi.js +1 -19
- package/src/Api/Internal/FreeTextColumnInternalApi.js +2 -2
- package/src/Api/Internal/LayoutInternalApi.js +1 -1
- package/src/Api/Internal/NamedQueryInternalApi.js +4 -4
- package/src/Api/LayoutApi.d.ts +6 -0
- package/src/Api/PlusMinusApi.d.ts +6 -0
- package/src/Api/ScheduleApi.d.ts +6 -0
- package/src/Api/ShortcutApi.d.ts +6 -0
- package/src/Api/UserInterfaceApi.d.ts +17 -0
- package/src/Redux/ActionsReducers/FormatColumnRedux.d.ts +8 -0
- package/src/Redux/ActionsReducers/FormatColumnRedux.js +15 -0
- package/src/Redux/ActionsReducers/InternalRedux.d.ts +15 -0
- package/src/Redux/ActionsReducers/InternalRedux.js +36 -0
- package/src/Redux/ActionsReducers/LayoutRedux.d.ts +1 -1
- package/src/Redux/ActionsReducers/NoteRedux.js +1 -1
- package/src/Redux/ActionsReducers/UserInterfaceRedux.d.ts +11 -0
- package/src/Redux/ActionsReducers/UserInterfaceRedux.js +21 -0
- package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +6 -0
- package/src/Redux/Store/AdaptableStore.js +113 -57
- package/src/Strategy/AdaptableModuleBase.js +4 -0
- package/src/Strategy/AlertModule.js +5 -0
- package/src/Strategy/BulkUpdateModule.js +8 -8
- package/src/Strategy/CalculatedColumnModule.js +1 -0
- package/src/Strategy/CellSummaryModule.js +1 -1
- package/src/Strategy/CustomSortModule.js +4 -0
- package/src/Strategy/DataChangeHistoryModule.js +1 -0
- package/src/Strategy/FlashingCellModule.js +6 -0
- package/src/Strategy/FormatColumnModule.js +4 -0
- package/src/Strategy/FreeTextColumnModule.js +1 -0
- package/src/Strategy/LayoutModule.js +6 -5
- package/src/Strategy/PlusMinusModule.js +7 -1
- package/src/Strategy/QuickSearchModule.js +1 -1
- package/src/Strategy/ScheduleModule.js +5 -0
- package/src/Strategy/SettingsPanelModule.js +11 -7
- package/src/Strategy/ShortcutModule.js +6 -0
- package/src/Strategy/SmartEditModule.js +10 -10
- package/src/Strategy/TeamSharingModule.js +10 -10
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +0 -3
- package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +3 -3
- package/src/Utilities/Constants/DocumentationLinkConstants.js +3 -3
- package/src/Utilities/ExpressionFunctions/deepMap.js +31 -31
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +3 -3
- package/src/Utilities/Extensions/StringExtensions.d.ts +2 -0
- package/src/Utilities/Extensions/StringExtensions.js +16 -0
- package/src/Utilities/Helpers/FormatHelper.js +9 -2
- package/src/Utilities/Helpers/StyleHelper.js +14 -0
- package/src/Utilities/MenuItem.js +18 -0
- package/src/Utilities/ObjectFactory.js +16 -3
- package/src/Utilities/Services/AggregatedScalarLiveValue.js +8 -0
- package/src/Utilities/Services/AlertService.js +6 -4
- package/src/Utilities/Services/AnnotationsService.js +4 -1
- package/src/Utilities/Services/CalculatedColumnExpressionService.js +2 -1
- package/src/Utilities/Services/ChartingService.js +1 -0
- package/src/Utilities/Services/DataService.js +11 -3
- package/src/Utilities/Services/Fdc3Service.js +9 -7
- package/src/Utilities/Services/FlashingCellService.js +5 -0
- package/src/Utilities/Services/LicenseService/index.js +1 -1
- package/src/Utilities/Services/MetamodelService.js +2 -2
- package/src/Utilities/Services/ModuleService.js +5 -6
- package/src/Utilities/Services/QueryLanguageService.js +6 -5
- package/src/Utilities/Services/RowFormService.js +1 -0
- package/src/Utilities/Services/RowSummaryService.js +10 -7
- package/src/Utilities/Services/TeamSharingService.js +3 -1
- package/src/Utilities/Services/ThemeService.js +13 -15
- package/src/Utilities/Services/ValidationService.js +2 -1
- package/src/Utilities/createAgStatusPanelComponent.js +3 -0
- package/src/Utilities/logDeprecation.js +3 -4
- package/src/Utilities/resolveContainerElement.d.ts +23 -0
- package/src/Utilities/resolveContainerElement.js +44 -0
- package/src/View/AdaptablePopover/index.d.ts +1 -0
- package/src/View/AdaptablePopover/index.js +1 -1
- package/src/View/Alert/ActiveAlertsPanel.js +8 -0
- package/src/View/Alert/AlertViewPanel.js +13 -9
- package/src/View/Alert/Utilities/getAlertButtonStyle.d.ts +1 -0
- package/src/View/Alert/Utilities/getAlertButtonStyle.js +8 -0
- package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +1 -0
- package/src/View/Alert/Wizard/AlertTypeWizardSection.d.ts +5 -2
- package/src/View/Alert/Wizard/AlertTypeWizardSection.js +47 -12
- package/src/View/Alert/Wizard/AlertWizard.js +14 -10
- package/src/View/Alert/Wizard/isValidAlertRules.js +1 -1
- package/src/View/BulkUpdate/BulkUpdateViewPanel.js +24 -11
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.js +2 -2
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +2 -2
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +1 -1
- package/src/View/CellSummary/CellSummaryViewPanel.js +16 -17
- package/src/View/Charting/ChartingWizard/AgChargingWizard/SettingsSection.js +2 -2
- package/src/View/Charting/ChartingWizard/ExternalChartingWizard/SettingsSection.js +2 -2
- package/src/View/Components/AdaptableDateInput/index.js +1 -1
- package/src/View/Components/Buttons/ButtonApply.js +1 -1
- package/src/View/Components/Buttons/ButtonBase/index.js +9 -9
- package/src/View/Components/Buttons/ButtonClear.d.ts +1 -0
- package/src/View/Components/Buttons/EntityListActionButtons.d.ts +1 -2
- package/src/View/Components/Buttons/EntityListActionButtons.js +18 -18
- package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.d.ts +1 -2
- package/src/View/Components/CellPopup/index.js +1 -1
- package/src/View/Components/ColumnFilter/FloatingFilter.js +41 -3
- package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +1 -1
- package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +54 -2
- package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +1 -1
- package/src/View/Components/EntityRulesEditor/Utilities.js +5 -5
- package/src/View/Components/NewScopeComponent.js +3 -3
- package/src/View/Components/Panels/PanelDashboard/index.js +8 -8
- package/src/View/Components/Panels/PanelToolPanel/index.js +7 -7
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +2 -1
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.js +1 -1
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.d.ts +1 -1
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +1 -8
- package/src/View/Components/Popups/AdaptablePopupConfirmation.js +1 -1
- package/src/View/Components/Popups/WindowPopups/WindowPopups.js +36 -1
- package/src/View/Components/Selectors/BulkUpdateValueSelector.js +19 -18
- package/src/View/Components/StyleComponent.d.ts +1 -0
- package/src/View/Components/StyleComponent.js +94 -24
- package/src/View/Components/ToolPanel/AdaptableToolPanel.js +2 -0
- package/src/View/Components/WizardSummaryPage.js +1 -1
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.d.ts +2 -1
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +41 -15
- package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +1 -1
- package/src/View/CustomSort/Wizard/CustomSortWizard.js +4 -4
- package/src/View/Dashboard/CustomToolbar.js +1 -1
- package/src/View/Dashboard/DashboardPopup.js +4 -5
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +1 -0
- package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +1 -1
- package/src/View/Export/ExportDestinationPicker.js +1 -1
- package/src/View/Export/ExportStatusBar.js +4 -2
- package/src/View/Export/ExportViewPanel.js +25 -18
- package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.d.ts +2 -1
- package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +34 -14
- package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +14 -10
- package/src/View/FlashingCell/Wizard/isValidFlashingCellRules.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +46 -51
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +2 -2
- package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +20 -9
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.d.ts +1 -1
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +3 -3
- package/src/View/GridFilter/GridFilterExpressionEditor.js +6 -1
- package/src/View/GridFilter/GridFilterViewPanel.js +33 -70
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +57 -65
- package/src/View/Layout/LayoutViewPanel.js +1 -1
- package/src/View/Layout/TransposedPopup.js +144 -138
- package/src/View/Layout/Wizard/sections/AggregationsSection.js +1 -1
- package/src/View/Layout/Wizard/sections/FilterSection.js +1 -1
- package/src/View/Layout/Wizard/sections/GridFilterSection.js +1 -1
- package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +3 -3
- package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +8 -0
- package/src/View/Layout/Wizard/sections/RowSummarySection.js +1 -1
- package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +2 -2
- package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +35 -12
- package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +20 -15
- package/src/View/QuickSearch/QuickSearchPopup.js +4 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +12 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +12 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +14 -4
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +12 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/isSettingsValid.d.ts +2 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/isSettingsValid.js +19 -10
- package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.d.ts +2 -1
- package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +25 -4
- package/src/View/Shortcut/Wizard/ShortcutWizard.js +18 -14
- package/src/View/SmartEdit/SmartEditViewPanel.js +1 -0
- package/src/View/StateManagement/handleExportState.js +1 -1
- package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +1 -1
- package/src/View/Theme/ThemePopup.js +13 -16
- package/src/View/UIHelper.d.ts +4 -1
- package/src/View/UIHelper.js +23 -14
- package/src/agGrid/Adaptable.js +15 -11
- package/src/agGrid/AdaptableAgGrid.d.ts +12 -8
- package/src/agGrid/AdaptableAgGrid.js +257 -111
- package/src/agGrid/AdaptableFilterHandler.js +4 -0
- package/src/agGrid/AdaptableLogger.d.ts +3 -0
- package/src/agGrid/AdaptableLogger.js +10 -0
- package/src/agGrid/AgGridAdapter.js +19 -9
- package/src/agGrid/AgGridColumnAdapter.d.ts +1 -0
- package/src/agGrid/AgGridColumnAdapter.js +20 -22
- package/src/agGrid/AgGridExportAdapter.js +15 -14
- package/src/agGrid/AgGridFilterAdapter.js +4 -0
- package/src/agGrid/AgGridFloatingFilterAdapter.js +4 -1
- package/src/agGrid/AgGridMenuAdapter.js +10 -1
- package/src/agGrid/AgGridModulesAdapter.js +2 -1
- package/src/agGrid/AgGridOptionsService.js +3 -0
- package/src/agGrid/AgGridThemeAdapter.js +4 -2
- package/src/agGrid/cellRenderers/ActionColumnRenderer.js +5 -0
- package/src/agGrid/cellRenderers/BadgeRenderer.js +2 -0
- package/src/agGrid/cellRenderers/PercentBarRenderer.js +1 -0
- package/src/agGrid/editors/AdaptableDateEditor/index.js +6 -3
- package/src/agGrid/editors/AdaptableNumberEditor/index.js +16 -12
- package/src/agGrid/editors/AdaptablePercentageEditor/index.js +17 -13
- package/src/agGrid/index.d.ts +6 -0
- package/src/agGrid/index.js +6 -0
- package/src/components/CheckBox/index.js +1 -1
- package/src/components/ColorPicker/ColorPicker.js +5 -4
- package/src/components/Dashboard/DashboardToolbar.js +1 -1
- package/src/components/Datepicker/index.js +1 -1
- package/src/components/Dropdown/Arrows.js +1 -1
- package/src/components/ExpressionEditor/DataTableEditor.js +3 -3
- package/src/components/ExpressionEditor/EditorInput.js +19 -3
- package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +1 -1
- package/src/components/FormLayout/index.js +1 -1
- package/src/components/OverlayTrigger/index.js +1 -1
- package/src/components/Select/Select.js +79 -16
- package/src/components/Tree/TreeDropdown/index.js +2 -2
- package/src/components/overlayBaseZIndex.js +1 -1
- package/src/components/utils/useContainerScrollObserver/index.js +17 -14
- package/src/devTools/index.js +54 -53
- package/src/env.js +2 -2
- package/src/layout-manager/src/LMEmitter.js +11 -11
- package/src/layout-manager/src/LMLogger.js +7 -0
- package/src/layout-manager/src/LayoutManagerModel.d.ts +1 -0
- package/src/layout-manager/src/index.js +81 -58
- package/src/layout-manager/src/normalizeLayoutModel.js +3 -0
- package/src/metamodel/adaptable.metamodel.d.ts +177 -8
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/migration/AdaptableUpgradeHelper.js +8 -3
- package/src/migration/VersionUpgrade.js +1 -0
- package/src/migration/VersionUpgrade17.js +5 -6
- package/src/migration/VersionUpgrade20.js +4 -4
- package/src/migration/VersionUpgrade22.d.ts +21 -0
- package/src/migration/VersionUpgrade22.js +187 -0
- package/src/parser/src/ExpressionEvaluationError.js +1 -0
- package/src/types.d.ts +9 -7
- package/themes/dark.css +30 -30
- package/themes/light.css +4 -2
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/FinanceForm/FinanceForm.js +0 -632
- package/src/View/Alert/AlertEntityRow.d.ts +0 -11
- package/src/View/Alert/AlertEntityRow.js +0 -28
- package/src/View/CalculatedColumn/CalculatedColumnSummary.d.ts +0 -21
- package/src/View/CalculatedColumn/CalculatedColumnSummary.js +0 -58
- package/src/View/Components/Buttons/ButtonFunction.d.ts +0 -7
- package/src/View/Components/Buttons/ButtonFunction.js +0 -8
- package/src/View/Components/Buttons/ButtonGeneral.d.ts +0 -5
- package/src/View/Components/Buttons/ButtonGeneral.js +0 -7
- package/src/View/Components/Buttons/ButtonPreviewDelete.d.ts +0 -4
- package/src/View/Components/Buttons/ButtonPreviewDelete.js +0 -5
- package/src/View/Components/Buttons/ButtonShow.d.ts +0 -5
- package/src/View/Components/Buttons/ButtonShow.js +0 -7
- package/src/View/Components/Buttons/ButtonShowChart.d.ts +0 -5
- package/src/View/Components/Buttons/ButtonShowChart.js +0 -7
- package/src/View/Components/Buttons/ButtonUndo.d.ts +0 -5
- package/src/View/Components/Buttons/ButtonUndo.js +0 -7
- package/src/View/Components/ExpressionWizard.d.ts +0 -24
- package/src/View/Components/ExpressionWizard.js +0 -77
- package/src/View/Components/FilterForm/Waiting.d.ts +0 -10
- package/src/View/Components/FilterForm/Waiting.js +0 -14
- package/src/View/Components/Panels/PanelFooter.d.ts +0 -10
- package/src/View/Components/Panels/PanelFooter.js +0 -9
- package/src/View/Components/Panels/PanelWithTwoButtons.d.ts +0 -12
- package/src/View/Components/Panels/PanelWithTwoButtons.js +0 -15
- package/src/View/Components/Panels/ToolPanelSettingsPanel.d.ts +0 -8
- package/src/View/Components/Panels/ToolPanelSettingsPanel.js +0 -26
- package/src/View/Components/Selectors/ColumnSelectorOld.d.ts +0 -18
- package/src/View/Components/Selectors/ColumnSelectorOld.js +0 -45
- package/src/View/Components/SharedProps/WizardScopeState.d.ts +0 -4
- package/src/View/Components/WizardSummaryRow.d.ts +0 -9
- package/src/View/Components/WizardSummaryRow.js +0 -11
- package/src/View/CustomSort/CustomSortSummary.d.ts +0 -23
- package/src/View/CustomSort/CustomSortSummary.js +0 -105
- package/src/View/DataImport/DataImportWizard/sections/ImportSection.d.ts +0 -9
- package/src/View/DataImport/DataImportWizard/sections/ImportSection.js +0 -19
- package/src/View/Export/Wizard/ReportColumnTypeWizard.d.ts +0 -19
- package/src/View/Export/Wizard/ReportColumnTypeWizard.js +0 -68
- package/src/View/Export/Wizard/ReportRowTypeWizard.d.ts +0 -19
- package/src/View/Export/Wizard/ReportRowTypeWizard.js +0 -68
- package/src/View/Export/Wizard/ReportSettingsWizard.d.ts +0 -21
- package/src/View/Export/Wizard/ReportSettingsWizard.js +0 -56
- package/src/View/Export/Wizard/ReportSummaryWizard.d.ts +0 -15
- package/src/View/Export/Wizard/ReportSummaryWizard.js +0 -35
- package/src/View/Filter/FilterSummary.d.ts +0 -18
- package/src/View/Filter/FilterSummary.js +0 -48
- package/src/View/FormatColumn/FormatColumnSummary.d.ts +0 -22
- package/src/View/FormatColumn/FormatColumnSummary.js +0 -90
- package/src/View/FreeTextColumn/FreeTextColumnSummary.d.ts +0 -22
- package/src/View/FreeTextColumn/FreeTextColumnSummary.js +0 -88
- package/src/View/GridInfo/GridInfoPopup/AdaptableOptionsComponent.d.ts +0 -7
- package/src/View/GridInfo/GridInfoPopup/AdaptableOptionsComponent.js +0 -94
- package/src/View/PlusMinus/PlusMinusSummary.d.ts +0 -22
- package/src/View/PlusMinus/PlusMinusSummary.js +0 -95
- package/src/View/Wizard/WizardLegend.d.ts +0 -12
- package/src/View/Wizard/WizardLegend.js +0 -23
- /package/src/{View/AdaptableWizardView/AdaptableConfigurationDialog/FinanceForm/FinanceForm.d.ts → AdaptableState/Common/AdaptableRowContext.js} +0 -0
- /package/src/{View/Components/SharedProps/WizardScopeState.js → AdaptableState/Common/ColumnHighlightInfo.js} +0 -0
|
@@ -3,7 +3,6 @@ import { useMemo } from 'react';
|
|
|
3
3
|
import { BaseEditorInput } from './BaseEditorInput';
|
|
4
4
|
import { editorButtonsSearch } from './editorButtonsSearch';
|
|
5
5
|
import { useExpressionEditor } from './EditorContext';
|
|
6
|
-
import StringExtensions from '../../Utilities/Extensions/StringExtensions';
|
|
7
6
|
import { editorButtonsAggregatedScalar } from './editorButtonsAggregatedScalar';
|
|
8
7
|
import { cumulativeAggregatedExpressionFunctions, quantileAggregatedExpressionFunctions, } from '../../Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions';
|
|
9
8
|
import { editorButtonsCumulativeAggregatedScalar } from './editorButtonsCumulativeAggregatedScalar';
|
|
@@ -49,8 +48,25 @@ function EditorInput(props) {
|
|
|
49
48
|
};
|
|
50
49
|
}, [props.type]);
|
|
51
50
|
const { setSelectedFunction } = useExpressionEditor();
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
let queryName;
|
|
52
|
+
switch (props.type) {
|
|
53
|
+
case 'boolean':
|
|
54
|
+
queryName = 'Create an Expression that returns true / false';
|
|
55
|
+
break;
|
|
56
|
+
case 'scalar':
|
|
57
|
+
queryName = "Create an Expression that returns a single value of any type";
|
|
58
|
+
break;
|
|
59
|
+
case 'aggregatedScalar':
|
|
60
|
+
queryName = "Create an Expression that evaluates multiple rows and returns a value of any type";
|
|
61
|
+
break;
|
|
62
|
+
case 'cumulativeAggregatedScalar':
|
|
63
|
+
queryName = "Create a Cumulative Expression";
|
|
64
|
+
break;
|
|
65
|
+
case 'quantileAggregatedScalar':
|
|
66
|
+
queryName = "Create a Quantile Expression";
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
return (React.createElement(BaseEditorInput, { type: 'main', value: props.value, placeholder: queryName, onChange: props.onChange, onSelectedFunctionChange: setSelectedFunction, expressionFunctions: expressionFunctions, editorButtons: props.type === 'aggregatedScalar'
|
|
54
70
|
? editorButtonsAggregatedScalar
|
|
55
71
|
: props.type === 'cumulativeAggregatedScalar'
|
|
56
72
|
? editorButtonsCumulativeAggregatedScalar
|
|
@@ -15,5 +15,5 @@ export const ExpressionFunctionDocumentation = (props) => {
|
|
|
15
15
|
React.createElement("pre", { className: signatureClassName }, example))))))),
|
|
16
16
|
props.expressionFunction.returnType && (React.createElement(Box, { "data-name": "expression-editor-documentation-examples" },
|
|
17
17
|
React.createElement("b", null, "Return Type"),
|
|
18
|
-
React.createElement(Tag, { className: "twa:bg-accentlight twa:text-accent twa:ml-3 twa:rounded-full" }, props.expressionFunction.returnType))))) : null;
|
|
18
|
+
React.createElement(Tag, { className: "twa:bg-accentlight twa:text-accent twa:ml-3 twa:rounded-full twa:py-1" }, props.expressionFunction.returnType))))) : null;
|
|
19
19
|
};
|
|
@@ -14,7 +14,7 @@ const defaultColumns = {
|
|
|
14
14
|
};
|
|
15
15
|
const PLACEHOLDER = React.createElement("div", null);
|
|
16
16
|
const FormLayout = (props) => {
|
|
17
|
-
let { placeholder = PLACEHOLDER, columns = ['label', 'children'], defaultComponent = Box, sizes = ['auto', '1fr'], gridColumnGap = 'var(--ab-space
|
|
17
|
+
let { placeholder = PLACEHOLDER, columns = ['label', 'children'], defaultComponent = Box, sizes = ['auto', '1fr'], gridColumnGap = 'calc(var(--ab-base-space) * 2)', gridRowGap = 'calc(var(--ab-base-space) * 2)', style, childrenToColumns = true, ...boxProps } = props;
|
|
18
18
|
columns = columns.map((c) => {
|
|
19
19
|
if (typeof c === 'string' || typeof c === 'number') {
|
|
20
20
|
c = {
|
|
@@ -152,7 +152,7 @@ const OverlayTrigger = React.forwardRef((givenProps, ref) => {
|
|
|
152
152
|
target = targetProp(target);
|
|
153
153
|
}
|
|
154
154
|
if (!target) {
|
|
155
|
-
adaptable.logger.warn('
|
|
155
|
+
adaptable.logger.warn('OverlayTrigger target not found. Ensure a child element is rendered inside the OverlayTrigger component.');
|
|
156
156
|
return;
|
|
157
157
|
}
|
|
158
158
|
targetRef.current = target;
|
|
@@ -4,7 +4,7 @@ import ReactSelect, { components, } from 'react-select';
|
|
|
4
4
|
import CreatableSelect from 'react-select/creatable';
|
|
5
5
|
import { Icon } from '../icons';
|
|
6
6
|
import { DataSource, InfiniteTable, } from '@infinite-table/infinite-react';
|
|
7
|
-
import { useCallback, useMemo, useState } from 'react';
|
|
7
|
+
import { useCallback, useId, useMemo, useState } from 'react';
|
|
8
8
|
import { Resizable } from 're-resizable';
|
|
9
9
|
import Tooltip from '../Tooltip';
|
|
10
10
|
import { ensurePortalElement } from '../OverlayTrigger';
|
|
@@ -115,6 +115,7 @@ const doesOptionMatchValue = function (value) {
|
|
|
115
115
|
};
|
|
116
116
|
export const Select = function (props) {
|
|
117
117
|
let maxLabelLength = 0;
|
|
118
|
+
const inputId = useId();
|
|
118
119
|
const computedCSSVars = useAdaptableComputedCSSVars();
|
|
119
120
|
const CSS_VARS_VALUES = {
|
|
120
121
|
'--ab-cmp-select-menu__max-width': computedCSSVars['--ab-cmp-select-menu__max-width'] || '60vw',
|
|
@@ -126,14 +127,15 @@ export const Select = function (props) {
|
|
|
126
127
|
// relevant for menulist search only
|
|
127
128
|
const menulistInputRef = React.useRef(null);
|
|
128
129
|
const [isSelectMenuOpen, setIsSelectMenuOpen] = useState(false);
|
|
129
|
-
const
|
|
130
|
+
const propsOnMenuOpen = props.onMenuOpen;
|
|
131
|
+
const openSelectMenu = React.useCallback(() => {
|
|
130
132
|
setIsSelectMenuOpen(true);
|
|
131
133
|
// it's a react-select bug, onMenuOpen is not called with controlled menuIsOpen
|
|
132
|
-
|
|
133
|
-
};
|
|
134
|
-
const closeSelectMenu = () => {
|
|
134
|
+
propsOnMenuOpen?.();
|
|
135
|
+
}, [propsOnMenuOpen]);
|
|
136
|
+
const closeSelectMenu = React.useCallback(() => {
|
|
135
137
|
setIsSelectMenuOpen(false);
|
|
136
|
-
};
|
|
138
|
+
}, []);
|
|
137
139
|
const ref = React.useRef(null);
|
|
138
140
|
const valueToOptionMap = new Map((props.options || []).map((opt) => {
|
|
139
141
|
let label = opt.label;
|
|
@@ -199,6 +201,18 @@ export const Select = function (props) {
|
|
|
199
201
|
/**
|
|
200
202
|
* If on each render a new reference is passed, the menu will not open using the keyboard.
|
|
201
203
|
*/
|
|
204
|
+
/**
|
|
205
|
+
* Use refs for isSelectMenuOpen, openSelectMenu, and closeSelectMenu so that
|
|
206
|
+
* SelectContainer is stable across re-renders. If SelectContainer gets a new
|
|
207
|
+
* reference when menu opens/closes, react-select recreates its internal
|
|
208
|
+
* component tree, the DummyInput is removed from DOM, and focus is lost.
|
|
209
|
+
*/
|
|
210
|
+
const isSelectMenuOpenRef = React.useRef(isSelectMenuOpen);
|
|
211
|
+
isSelectMenuOpenRef.current = isSelectMenuOpen;
|
|
212
|
+
const openSelectMenuRef = React.useRef(openSelectMenu);
|
|
213
|
+
openSelectMenuRef.current = openSelectMenu;
|
|
214
|
+
const closeSelectMenuRef = React.useRef(closeSelectMenu);
|
|
215
|
+
closeSelectMenuRef.current = closeSelectMenu;
|
|
202
216
|
const SelectContainer = React.useMemo(() => {
|
|
203
217
|
return (selectContainerProps) => {
|
|
204
218
|
return (React.createElement(components.SelectContainer, { ...selectContainerProps, innerProps: {
|
|
@@ -211,15 +225,50 @@ export const Select = function (props) {
|
|
|
211
225
|
if (!searchableInMenulist) {
|
|
212
226
|
return;
|
|
213
227
|
}
|
|
214
|
-
if (!
|
|
215
|
-
|
|
228
|
+
if (!isSelectMenuOpenRef.current) {
|
|
229
|
+
openSelectMenuRef.current();
|
|
216
230
|
e.stopPropagation();
|
|
217
231
|
e.preventDefault();
|
|
218
232
|
}
|
|
219
233
|
},
|
|
234
|
+
onKeyDownCapture: (e) => {
|
|
235
|
+
if (!searchableInMenulist) {
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
if (isSelectMenuOpenRef.current) {
|
|
239
|
+
if (e.key === 'Escape') {
|
|
240
|
+
closeSelectMenuRef.current();
|
|
241
|
+
e.stopPropagation();
|
|
242
|
+
e.preventDefault();
|
|
243
|
+
e.nativeEvent.stopImmediatePropagation();
|
|
244
|
+
// we do this because the focus is lost when the menu is closed
|
|
245
|
+
// and document.body is set as the active element
|
|
246
|
+
requestAnimationFrame(() => {
|
|
247
|
+
document.getElementById(inputId)?.focus();
|
|
248
|
+
// we need to do it again
|
|
249
|
+
// also don't store a ref to the input element
|
|
250
|
+
// but query the DOM again
|
|
251
|
+
// as the old ref is no longer in the DOM
|
|
252
|
+
// because of a react-select bug I presume
|
|
253
|
+
requestAnimationFrame(() => {
|
|
254
|
+
document.getElementById(inputId)?.focus();
|
|
255
|
+
});
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
// open the menu
|
|
261
|
+
if (e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown') {
|
|
262
|
+
openSelectMenuRef.current();
|
|
263
|
+
e.stopPropagation();
|
|
264
|
+
e.preventDefault();
|
|
265
|
+
e.nativeEvent.stopImmediatePropagation();
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
},
|
|
220
269
|
} }));
|
|
221
270
|
};
|
|
222
|
-
}, [
|
|
271
|
+
}, [searchableInMenulist]);
|
|
223
272
|
const resizable = props.resizable ?? false;
|
|
224
273
|
const ValueContainer = React.useMemo(() => {
|
|
225
274
|
return (props) => {
|
|
@@ -521,11 +570,25 @@ export const Select = function (props) {
|
|
|
521
570
|
setInputValue(value);
|
|
522
571
|
props.onInputChange?.(value);
|
|
523
572
|
}, [props.onInputChange, isMulti]);
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
573
|
+
/**
|
|
574
|
+
* Use refs for selectedOption and renderSingleValue so that the
|
|
575
|
+
* SingleValue component function is stable across re-renders.
|
|
576
|
+
* If SingleValue gets a new reference on each render, selectComponents changes,
|
|
577
|
+
* react-select recreates its internal component tree, the DummyInput is removed
|
|
578
|
+
* from DOM, and focus is lost (the keyboard stops working).
|
|
579
|
+
* See the comment above SelectContainer about this exact issue.
|
|
580
|
+
*/
|
|
581
|
+
const selectedOptionRef = React.useRef(selectedOption);
|
|
582
|
+
selectedOptionRef.current = selectedOption;
|
|
583
|
+
const renderSingleValueRef = React.useRef(props.renderSingleValue);
|
|
584
|
+
renderSingleValueRef.current = props.renderSingleValue;
|
|
585
|
+
const SingleValue = React.useMemo(() => {
|
|
586
|
+
return (singleValueProps) => {
|
|
587
|
+
return (React.createElement(components.SingleValue, { ...singleValueProps }, renderSingleValueRef.current
|
|
588
|
+
? renderSingleValueRef.current(selectedOptionRef.current)
|
|
589
|
+
: singleValueProps.children));
|
|
590
|
+
};
|
|
591
|
+
}, []);
|
|
529
592
|
const selectComponents = useMemo(() => {
|
|
530
593
|
return {
|
|
531
594
|
SelectContainer,
|
|
@@ -546,7 +609,7 @@ export const Select = function (props) {
|
|
|
546
609
|
MenuList,
|
|
547
610
|
]);
|
|
548
611
|
return (React.createElement(React.Fragment, null,
|
|
549
|
-
React.createElement(SelectComponent, { ref: ref, openMenuOnClick: searchableInMenulist ? false : undefined, openMenuOnFocus: searchableInMenulist ? false : undefined, menuIsOpen: searchableInMenulist ? isSelectMenuOpen : undefined, isSearchable: searchableInline, "aria-label": props['aria-label'], onKeyDown: props.onKeyDown, inputValue: inputValue, onInputChange: onInputChange, onFocus: onFocus, onBlur: onBlur, onMenuOpen: props.onMenuOpen, isLoading: props.isLoading, options: props.options, className: clsx(props.className, 'ab-Select'), isDisabled: disabled, menuPlacement: props.menuPlacement ?? 'auto', hideSelectedOptions: false, isMulti: isMulti, value: selectedOption, blurInputOnSelect: false, menuPosition: props.menuPosition ?? 'absolute',
|
|
612
|
+
React.createElement(SelectComponent, { ref: ref, openMenuOnClick: searchableInMenulist ? false : undefined, openMenuOnFocus: searchableInMenulist ? false : undefined, menuIsOpen: searchableInMenulist ? isSelectMenuOpen : undefined, isSearchable: searchableInline, "aria-label": props['aria-label'], onKeyDown: props.onKeyDown, inputValue: inputValue, inputId: inputId, onInputChange: onInputChange, onFocus: onFocus, onBlur: onBlur, onMenuOpen: props.onMenuOpen, isLoading: props.isLoading, options: props.options, className: clsx(props.className, 'ab-Select'), isDisabled: disabled, menuPlacement: props.menuPlacement ?? 'auto', hideSelectedOptions: false, isMulti: isMulti, value: selectedOption, blurInputOnSelect: false, menuPosition: props.menuPosition ?? 'absolute',
|
|
550
613
|
// This needed so the menu is not clipped by overflow: hidden
|
|
551
614
|
menuPortalTarget: ensurePortalElement(), isClearable: props.isClearable, closeMenuOnSelect: props.closeMenuOnSelect, onChange: (option) => {
|
|
552
615
|
if (isMulti) {
|
|
@@ -636,7 +699,7 @@ export const Select = function (props) {
|
|
|
636
699
|
valueContainer: (baseStyle) => {
|
|
637
700
|
return {
|
|
638
701
|
...baseStyle,
|
|
639
|
-
padding: props.size === 'small' ? `0 var(--ab-space
|
|
702
|
+
padding: props.size === 'small' ? `0 var(--ab-base-space)` : baseStyle.padding,
|
|
640
703
|
...props.styles?.valueContainer,
|
|
641
704
|
};
|
|
642
705
|
},
|
|
@@ -221,7 +221,7 @@ export function TreeDropdown(props) {
|
|
|
221
221
|
};
|
|
222
222
|
if (!hasChildren) {
|
|
223
223
|
// @ts-ignore - don't leave any space for the > expand icon, as there are no children
|
|
224
|
-
treeListStyle['--infinite-group-row-column-nesting'] = 'var(--ab-space
|
|
224
|
+
treeListStyle['--infinite-group-row-column-nesting'] = 'calc(var(--ab-base-space) * 2)';
|
|
225
225
|
}
|
|
226
226
|
const treeList = (React.createElement(TreeList, { primaryKey: props.primaryKey ?? 'id', treeFilterFunction: filterFunction, columnHeaderHeight: 30, onReady: ({ api }) => {
|
|
227
227
|
setTreeListApi(api);
|
|
@@ -249,7 +249,7 @@ export function TreeDropdown(props) {
|
|
|
249
249
|
} }, children));
|
|
250
250
|
} },
|
|
251
251
|
React.createElement(FieldWrap, { style: props.fieldStyle, className: "twa:w-full" },
|
|
252
|
-
React.createElement(Input, { type: "text", readOnly: true, "data-name": "Select Values", placeholder: props.placeholder ?? 'Select a value', className: `twa:w-full ${props.clearable ? 'twa:pr-0' : ''}`, value: props.toDisplayValue ? props.toDisplayValue(value) : toDisplayValueDefault(value), onFocus: () => {
|
|
252
|
+
React.createElement(Input, { type: "text", readOnly: true, "data-name": "Select Values", "aria-expanded": visible, placeholder: props.placeholder ?? 'Select a value', className: `twa:w-full ${props.clearable ? 'twa:pr-0' : ''}`, value: props.toDisplayValue ? props.toDisplayValue(value) : toDisplayValueDefault(value), onFocus: () => {
|
|
253
253
|
if (!visible) {
|
|
254
254
|
setVisible(true);
|
|
255
255
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const OVERLAY_BASE_Z_INDEX =
|
|
1
|
+
export const OVERLAY_BASE_Z_INDEX = 9_999_999;
|
|
@@ -1,20 +1,11 @@
|
|
|
1
1
|
import { useCallback, useRef } from 'react';
|
|
2
2
|
class SectionSelector {
|
|
3
|
+
scrollTop = 0;
|
|
4
|
+
node;
|
|
5
|
+
boxHeight;
|
|
6
|
+
childrenHeights = [];
|
|
7
|
+
maxScrollTop;
|
|
3
8
|
constructor(node) {
|
|
4
|
-
this.scrollTop = 0;
|
|
5
|
-
this.childrenHeights = [];
|
|
6
|
-
this.select = (scrollTop) => {
|
|
7
|
-
this.refreshFromDOM();
|
|
8
|
-
const relativeCurrentHeight = (scrollTop * this.boxHeight) / this.maxScrollTop;
|
|
9
|
-
let heightSum = 0;
|
|
10
|
-
for (let i = 0, len = this.childrenHeights.length; i < len; i++) {
|
|
11
|
-
heightSum += this.childrenHeights[i];
|
|
12
|
-
if (heightSum > relativeCurrentHeight) {
|
|
13
|
-
return i;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
return this.childrenHeights.length - 1;
|
|
17
|
-
};
|
|
18
9
|
this.node = node;
|
|
19
10
|
this.refreshFromDOM();
|
|
20
11
|
}
|
|
@@ -33,6 +24,18 @@ class SectionSelector {
|
|
|
33
24
|
height,
|
|
34
25
|
};
|
|
35
26
|
}
|
|
27
|
+
select = (scrollTop) => {
|
|
28
|
+
this.refreshFromDOM();
|
|
29
|
+
const relativeCurrentHeight = (scrollTop * this.boxHeight) / this.maxScrollTop;
|
|
30
|
+
let heightSum = 0;
|
|
31
|
+
for (let i = 0, len = this.childrenHeights.length; i < len; i++) {
|
|
32
|
+
heightSum += this.childrenHeights[i];
|
|
33
|
+
if (heightSum > relativeCurrentHeight) {
|
|
34
|
+
return i;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return this.childrenHeights.length - 1;
|
|
38
|
+
};
|
|
36
39
|
}
|
|
37
40
|
export const useContainerScrollObserver = (callback) => {
|
|
38
41
|
const containerNodeRef = useRef(null);
|
package/src/devTools/index.js
CHANGED
|
@@ -22,66 +22,32 @@ function getColor(identifier) {
|
|
|
22
22
|
return color;
|
|
23
23
|
}
|
|
24
24
|
export class DevToolsMarker {
|
|
25
|
+
adaptableId;
|
|
25
26
|
static create(adaptableId) {
|
|
26
27
|
return new DevToolsMarker(adaptableId);
|
|
27
28
|
}
|
|
29
|
+
markerDetails = {
|
|
30
|
+
label: '',
|
|
31
|
+
track: '',
|
|
32
|
+
trackGroup: undefined,
|
|
33
|
+
color: undefined,
|
|
34
|
+
details: [],
|
|
35
|
+
tooltip: undefined,
|
|
36
|
+
};
|
|
37
|
+
stopped = false;
|
|
28
38
|
constructor(adaptableId) {
|
|
29
39
|
this.adaptableId = adaptableId;
|
|
30
|
-
this.markerDetails = {
|
|
31
|
-
label: '',
|
|
32
|
-
track: '',
|
|
33
|
-
trackGroup: undefined,
|
|
34
|
-
color: undefined,
|
|
35
|
-
details: [],
|
|
36
|
-
tooltip: undefined,
|
|
37
|
-
};
|
|
38
|
-
this.stopped = false;
|
|
39
|
-
this.start = (startDetails) => {
|
|
40
|
-
if (this.markerDetails.startTs) {
|
|
41
|
-
return this;
|
|
42
|
-
}
|
|
43
|
-
const start = performance.now();
|
|
44
|
-
this.markerDetails.details = startDetails?.details ?? [];
|
|
45
|
-
this.markerDetails.startTs = start;
|
|
46
|
-
return this;
|
|
47
|
-
};
|
|
48
|
-
this.end = (markerDetails = {}) => {
|
|
49
|
-
if (this.stopped) {
|
|
50
|
-
return this;
|
|
51
|
-
}
|
|
52
|
-
this.stopped = true;
|
|
53
|
-
const start = markerDetails.startTs ?? this.markerDetails.startTs;
|
|
54
|
-
const end = markerDetails.endTs ?? this.markerDetails.endTs ?? performance.now();
|
|
55
|
-
let color = markerDetails.color || this.markerDetails.color || '';
|
|
56
|
-
const trackGroup = markerDetails.trackGroup ||
|
|
57
|
-
this.markerDetails.trackGroup ||
|
|
58
|
-
`AdapTable (${this.adaptableId})`;
|
|
59
|
-
const details = [...(this.markerDetails.details || []), ...(markerDetails.details || [])];
|
|
60
|
-
const tooltip = markerDetails.tooltip || this.markerDetails.tooltip;
|
|
61
|
-
const label = markerDetails.label || this.markerDetails.label || 'Unknown';
|
|
62
|
-
const track = markerDetails.track || this.markerDetails.track || 'Unknown';
|
|
63
|
-
if (!color) {
|
|
64
|
-
const identifier = `${trackGroup}:${track}:${label}`;
|
|
65
|
-
color = getColor(identifier);
|
|
66
|
-
}
|
|
67
|
-
performance.measure(label, {
|
|
68
|
-
start,
|
|
69
|
-
end,
|
|
70
|
-
detail: {
|
|
71
|
-
devtools: {
|
|
72
|
-
dataType: 'track-entry',
|
|
73
|
-
trackGroup,
|
|
74
|
-
track,
|
|
75
|
-
color: color || 'primary',
|
|
76
|
-
properties: details.length > 0 ? details.map((detail) => [detail.name, detail.value]) : undefined,
|
|
77
|
-
tooltipText: tooltip,
|
|
78
|
-
},
|
|
79
|
-
},
|
|
80
|
-
});
|
|
81
|
-
return this;
|
|
82
|
-
};
|
|
83
40
|
this.adaptableId = adaptableId;
|
|
84
41
|
}
|
|
42
|
+
start = (startDetails) => {
|
|
43
|
+
if (this.markerDetails.startTs) {
|
|
44
|
+
return this;
|
|
45
|
+
}
|
|
46
|
+
const start = performance.now();
|
|
47
|
+
this.markerDetails.details = startDetails?.details ?? [];
|
|
48
|
+
this.markerDetails.startTs = start;
|
|
49
|
+
return this;
|
|
50
|
+
};
|
|
85
51
|
get startTimestamp() {
|
|
86
52
|
return this.markerDetails.startTs;
|
|
87
53
|
}
|
|
@@ -131,6 +97,41 @@ export class DevToolsMarker {
|
|
|
131
97
|
return acc;
|
|
132
98
|
}, {});
|
|
133
99
|
}
|
|
100
|
+
end = (markerDetails = {}) => {
|
|
101
|
+
if (this.stopped) {
|
|
102
|
+
return this;
|
|
103
|
+
}
|
|
104
|
+
this.stopped = true;
|
|
105
|
+
const start = markerDetails.startTs ?? this.markerDetails.startTs;
|
|
106
|
+
const end = markerDetails.endTs ?? this.markerDetails.endTs ?? performance.now();
|
|
107
|
+
let color = markerDetails.color || this.markerDetails.color || '';
|
|
108
|
+
const trackGroup = markerDetails.trackGroup ||
|
|
109
|
+
this.markerDetails.trackGroup ||
|
|
110
|
+
`AdapTable (${this.adaptableId})`;
|
|
111
|
+
const details = [...(this.markerDetails.details || []), ...(markerDetails.details || [])];
|
|
112
|
+
const tooltip = markerDetails.tooltip || this.markerDetails.tooltip;
|
|
113
|
+
const label = markerDetails.label || this.markerDetails.label || 'Unknown';
|
|
114
|
+
const track = markerDetails.track || this.markerDetails.track || 'Unknown';
|
|
115
|
+
if (!color) {
|
|
116
|
+
const identifier = `${trackGroup}:${track}:${label}`;
|
|
117
|
+
color = getColor(identifier);
|
|
118
|
+
}
|
|
119
|
+
performance.measure(label, {
|
|
120
|
+
start,
|
|
121
|
+
end,
|
|
122
|
+
detail: {
|
|
123
|
+
devtools: {
|
|
124
|
+
dataType: 'track-entry',
|
|
125
|
+
trackGroup,
|
|
126
|
+
track,
|
|
127
|
+
color: color || 'primary',
|
|
128
|
+
properties: details.length > 0 ? details.map((detail) => [detail.name, detail.value]) : undefined,
|
|
129
|
+
tooltipText: tooltip,
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
});
|
|
133
|
+
return this;
|
|
134
|
+
};
|
|
134
135
|
}
|
|
135
136
|
export function areAdaptableProfileTracksEnabled(adaptableId) {
|
|
136
137
|
const trakcsSupported = typeof performance !== 'undefined' &&
|
package/src/env.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export default {
|
|
2
2
|
NEXT_PUBLIC_INFINITE_TABLE_LICENSE_KEY: "StartDate=2021-06-29|EndDate=2030-01-01|Owner=Adaptable|Type=distribution|TS=1624971462479|C=137829811,1004007071,2756196225,1839832928,3994409405,636616862" || '',
|
|
3
|
-
PUBLISH_TIMESTAMP:
|
|
4
|
-
VERSION: "22.0.0-canary.
|
|
3
|
+
PUBLISH_TIMESTAMP: 1770996876134 || Date.now(),
|
|
4
|
+
VERSION: "22.0.0-canary.11" || '--current-version--',
|
|
5
5
|
};
|
|
@@ -2,20 +2,20 @@ import { LMLogger } from './LMLogger';
|
|
|
2
2
|
function x(a, b) { }
|
|
3
3
|
const xtype = [1, '2'];
|
|
4
4
|
export class LMEmitter extends LMLogger {
|
|
5
|
+
destroyed = false;
|
|
6
|
+
suspended = false;
|
|
5
7
|
constructor(options) {
|
|
6
8
|
super(options);
|
|
7
|
-
this.destroyed = false;
|
|
8
|
-
this.suspended = false;
|
|
9
|
-
/**
|
|
10
|
-
* For each supported event, we have a Set that holds all the callbacks that should be executed
|
|
11
|
-
* when the event is triggered.
|
|
12
|
-
*/
|
|
13
|
-
this.eventSets = {
|
|
14
|
-
gridLayoutChanged: new Set(),
|
|
15
|
-
columnDefsChanged: new Set(),
|
|
16
|
-
rowModelUpdated: new Set(),
|
|
17
|
-
};
|
|
18
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* For each supported event, we have a Set that holds all the callbacks that should be executed
|
|
12
|
+
* when the event is triggered.
|
|
13
|
+
*/
|
|
14
|
+
eventSets = {
|
|
15
|
+
gridLayoutChanged: new Set(),
|
|
16
|
+
columnDefsChanged: new Set(),
|
|
17
|
+
rowModelUpdated: new Set(),
|
|
18
|
+
};
|
|
19
19
|
on(event, callback) {
|
|
20
20
|
this.eventSets[event].add(callback);
|
|
21
21
|
return () => {
|
|
@@ -4,6 +4,13 @@ const performanceTime = (previousTime) => {
|
|
|
4
4
|
return Math.round(previousTime ? now - previousTime : now);
|
|
5
5
|
};
|
|
6
6
|
export class LMLogger {
|
|
7
|
+
debugger;
|
|
8
|
+
infoLogger;
|
|
9
|
+
successLogger;
|
|
10
|
+
warnLogger;
|
|
11
|
+
errorLogger;
|
|
12
|
+
perfLogger;
|
|
13
|
+
debugId;
|
|
7
14
|
constructor(options) {
|
|
8
15
|
this.debugId = options.debugId;
|
|
9
16
|
this.debugger = debugFactory(this.debugId ? `LayoutManager:${this.debugId}` : 'LayoutManager');
|
|
@@ -172,5 +172,6 @@ export interface PivotLayoutModel extends BaseLayoutModel {
|
|
|
172
172
|
* Display automatically calculated Totals within EACH Pivot Column Group, in the position specified
|
|
173
173
|
*/
|
|
174
174
|
PivotColumnTotal?: 'before' | 'after' | boolean;
|
|
175
|
+
PivotResultColumnsOrder?: string[] | boolean;
|
|
175
176
|
}
|
|
176
177
|
export type LayoutModel = TableLayoutModel | PivotLayoutModel;
|