@adaptabletools/adaptable 18.0.0-canary.2 → 18.0.0-canary.21
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 +4 -21
- package/agGrid.js +9 -26
- package/base.css +22 -8
- package/base.css.map +1 -1
- package/index.css +101 -75
- package/index.css.map +1 -1
- package/package.json +4 -5
- package/src/AdaptableInterfaces/IAdaptable.d.ts +59 -108
- package/src/AdaptableOptions/AdaptableOptions.d.ts +7 -7
- package/src/AdaptableOptions/ColumnFilterOptions.d.ts +11 -4
- package/src/AdaptableOptions/ColumnOptions.d.ts +9 -4
- package/src/AdaptableOptions/CommentOptions.d.ts +33 -0
- package/src/AdaptableOptions/GroupingOptions.d.ts +0 -7
- package/src/AdaptableOptions/MenuOptions.d.ts +6 -54
- package/src/AdaptableOptions/MenuOptions.js +71 -74
- package/src/AdaptableOptions/{NotesOptions.d.ts → NoteOptions.d.ts} +7 -4
- package/src/AdaptableOptions/StateOptions.d.ts +6 -0
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +17 -0
- package/src/Api/AdaptableApi.d.ts +9 -4
- package/src/Api/BulkUpdateApi.d.ts +0 -5
- package/src/Api/ColumnApi.d.ts +4 -0
- package/src/Api/CommentApi.d.ts +13 -14
- package/src/Api/ConfigApi.d.ts +4 -5
- package/src/Api/EventApi.d.ts +7 -9
- package/src/Api/Events/AdaptableReady.d.ts +3 -3
- package/src/Api/Events/CommentChanged.d.ts +11 -0
- package/src/Api/Events/GridDataChanged.d.ts +4 -4
- package/src/Api/GridApi.d.ts +23 -13
- package/src/Api/Implementation/ActionColumnApiImpl.d.ts +2 -0
- package/src/Api/Implementation/ActionColumnApiImpl.js +30 -0
- package/src/Api/Implementation/AdaptableApiImpl.d.ts +3 -2
- package/src/Api/Implementation/AdaptableApiImpl.js +5 -2
- package/src/Api/Implementation/ApiBase.d.ts +5 -3
- package/src/Api/Implementation/ApiBase.js +8 -2
- package/src/Api/Implementation/BulkUpdateApiImpl.d.ts +0 -1
- package/src/Api/Implementation/BulkUpdateApiImpl.js +0 -4
- package/src/Api/Implementation/CellSummaryApiImpl.d.ts +0 -5
- package/src/Api/Implementation/CellSummaryApiImpl.js +2 -23
- package/src/Api/Implementation/ColumnApiImpl.d.ts +1 -0
- package/src/Api/Implementation/ColumnApiImpl.js +10 -0
- package/src/Api/Implementation/CommentsApiImpl.d.ts +5 -2
- package/src/Api/Implementation/CommentsApiImpl.js +7 -1
- package/src/Api/Implementation/ConfigApiImpl.d.ts +2 -2
- package/src/Api/Implementation/ConfigApiImpl.js +24 -13
- package/src/Api/Implementation/GridApiImpl.d.ts +6 -3
- package/src/Api/Implementation/GridApiImpl.js +51 -14
- package/src/Api/Implementation/LayoutApiImpl.d.ts +3 -0
- package/src/Api/Implementation/LayoutApiImpl.js +18 -0
- package/src/Api/Implementation/NoteApiImpl.d.ts +18 -0
- package/src/Api/Implementation/NoteApiImpl.js +40 -0
- package/src/Api/Implementation/OptionsApiImpl.d.ts +4 -4
- package/src/Api/Implementation/OptionsApiImpl.js +4 -4
- package/src/Api/Implementation/ScopeApiImpl.d.ts +2 -0
- package/src/Api/Implementation/ScopeApiImpl.js +20 -7
- package/src/Api/Implementation/StatusBarApiImpl.d.ts +0 -1
- package/src/Api/Implementation/StatusBarApiImpl.js +0 -3
- package/src/Api/Implementation/ToolPanelApiImpl.js +6 -6
- package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +0 -3
- package/src/Api/Implementation/UserInterfaceApiImpl.js +0 -8
- package/src/Api/Internal/ActionRowInternalApi.d.ts +6 -1
- package/src/Api/Internal/ActionRowInternalApi.js +118 -1
- package/src/Api/Internal/AdaptableInternalApi.d.ts +6 -7
- package/src/Api/Internal/AdaptableInternalApi.js +21 -19
- package/src/Api/Internal/CalculatedColumnInternalApi.d.ts +2 -0
- package/src/Api/Internal/CalculatedColumnInternalApi.js +71 -0
- package/src/Api/Internal/ColumnFilterInternalApi.d.ts +2 -0
- package/src/Api/Internal/ColumnFilterInternalApi.js +23 -1
- package/src/Api/Internal/ColumnInternalApi.d.ts +4 -1
- package/src/Api/Internal/ColumnInternalApi.js +12 -0
- package/src/Api/Internal/CommentsInternalApi.d.ts +4 -0
- package/src/Api/Internal/CommentsInternalApi.js +14 -0
- package/src/Api/Internal/CustomSortInternalApi.d.ts +3 -2
- package/src/Api/Internal/CustomSortInternalApi.js +32 -1
- package/src/Api/Internal/DataSetInternalApi.js +1 -1
- package/src/Api/Internal/ExportInternalApi.d.ts +2 -1
- package/src/Api/Internal/ExportInternalApi.js +4 -1
- package/src/Api/Internal/Fdc3InternalApi.js +2 -2
- package/src/Api/Internal/FormatColumnInternalApi.js +3 -2
- package/src/Api/Internal/FreeTextColumnInternalApi.d.ts +2 -0
- package/src/Api/Internal/FreeTextColumnInternalApi.js +60 -0
- package/src/Api/Internal/GridFilterInternalApi.d.ts +5 -0
- package/src/Api/Internal/GridFilterInternalApi.js +7 -1
- package/src/Api/Internal/GridInternalApi.d.ts +23 -3
- package/src/Api/Internal/GridInternalApi.js +141 -7
- package/src/Api/Internal/LayoutInternalApi.d.ts +1 -0
- package/src/Api/Internal/LayoutInternalApi.js +16 -0
- package/src/Api/Internal/NoteInternalApi.d.ts +4 -0
- package/src/Api/Internal/NoteInternalApi.js +14 -0
- package/src/Api/Internal/TeamSharingInternalApi.js +1 -1
- package/src/Api/InteropioPluginApi.d.ts +2 -2
- package/src/Api/LayoutApi.d.ts +15 -0
- package/src/Api/NoteApi.d.ts +48 -0
- package/src/Api/OptionsApi.d.ts +8 -8
- package/src/Api/ScopeApi.d.ts +10 -0
- package/src/Api/UserInterfaceApi.d.ts +0 -11
- package/src/EnvVars.d.ts +3 -0
- package/src/EnvVars.js +4 -0
- package/src/PredefinedConfig/AdaptableState.d.ts +2 -2
- package/src/PredefinedConfig/CommentState.d.ts +27 -23
- package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +4 -0
- package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
- package/src/PredefinedConfig/Common/AdaptableScope.d.ts +4 -1
- package/src/PredefinedConfig/Common/AggregationColumns.d.ts +1 -0
- package/src/PredefinedConfig/Common/AggregationColumns.js +3 -0
- package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +4 -0
- package/src/PredefinedConfig/Common/Enums.d.ts +2 -1
- package/src/PredefinedConfig/Common/Enums.js +1 -0
- package/src/PredefinedConfig/Common/Menu.d.ts +15 -1
- package/src/PredefinedConfig/Common/Menu.js +97 -1
- package/src/PredefinedConfig/Common/RowSummary.d.ts +21 -0
- package/src/PredefinedConfig/Common/RowSummary.js +17 -0
- package/src/PredefinedConfig/Common/TransposeConfig.d.ts +30 -0
- package/src/PredefinedConfig/Common/Types.d.ts +4 -4
- package/src/PredefinedConfig/Common/Types.js +4 -1
- package/src/PredefinedConfig/LayoutState.d.ts +5 -0
- package/src/PredefinedConfig/{NotesState.d.ts → NoteState.d.ts} +12 -22
- package/src/PredefinedConfig/PredefinedConfig.d.ts +3 -3
- package/src/PredefinedConfig/Selection/GridCell.d.ts +13 -0
- package/src/PredefinedConfig/SystemState.d.ts +9 -3
- package/src/Redux/ActionsReducers/LayoutRedux.d.ts +9 -0
- package/src/Redux/ActionsReducers/LayoutRedux.js +32 -10
- package/src/Redux/ActionsReducers/NoteRedux.d.ts +38 -0
- package/src/Redux/ActionsReducers/{NotesRedux.js → NoteRedux.js} +29 -28
- package/src/Redux/ActionsReducers/SystemRedux.d.ts +6 -1
- package/src/Redux/ActionsReducers/SystemRedux.js +16 -4
- package/src/Redux/Store/AdaptableStore.d.ts +4 -6
- package/src/Redux/Store/AdaptableStore.js +67 -77
- package/src/Redux/Store/Interface/IAdaptableStore.d.ts +8 -2
- package/src/Strategy/AdaptableModuleBase.d.ts +8 -8
- package/src/Strategy/AdaptableModuleBase.js +13 -15
- package/src/Strategy/AlertModule.d.ts +1 -2
- package/src/Strategy/AlertModule.js +3 -56
- package/src/Strategy/BulkUpdateModule.js +1 -1
- package/src/Strategy/CalculatedColumnModule.d.ts +2 -3
- package/src/Strategy/CalculatedColumnModule.js +6 -26
- package/src/Strategy/CellSummaryModule.d.ts +8 -6
- package/src/Strategy/CellSummaryModule.js +78 -23
- package/src/Strategy/ChartingModule.d.ts +0 -1
- package/src/Strategy/ChartingModule.js +2 -22
- package/src/Strategy/ColumnFilterModule.d.ts +2 -3
- package/src/Strategy/ColumnFilterModule.js +44 -103
- package/src/Strategy/ColumnInfoModule.js +2 -0
- package/src/Strategy/{CommentsModule.d.ts → CommentModule.d.ts} +2 -5
- package/src/Strategy/{CommentsModule.js → CommentModule.js} +17 -23
- package/src/Strategy/CustomSortModule.js +3 -2
- package/src/Strategy/DashboardModule.d.ts +1 -2
- package/src/Strategy/DashboardModule.js +9 -15
- package/src/Strategy/DataChangeHistoryModule.d.ts +1 -0
- package/src/Strategy/DataChangeHistoryModule.js +3 -1
- package/src/Strategy/DataImportModule.d.ts +1 -1
- package/src/Strategy/DataImportModule.js +5 -5
- package/src/Strategy/DataSetModule.d.ts +1 -1
- package/src/Strategy/DataSetModule.js +1 -1
- package/src/Strategy/ExportModule.d.ts +1 -0
- package/src/Strategy/ExportModule.js +17 -2
- package/src/Strategy/Fdc3Module.js +3 -0
- package/src/Strategy/FlashingCellModule.d.ts +1 -2
- package/src/Strategy/FlashingCellModule.js +6 -19
- package/src/Strategy/FormatColumnModule.d.ts +0 -2
- package/src/Strategy/FormatColumnModule.js +6 -51
- package/src/Strategy/FreeTextColumnModule.d.ts +0 -1
- package/src/Strategy/FreeTextColumnModule.js +1 -31
- package/src/Strategy/GridFilterModule.d.ts +0 -1
- package/src/Strategy/GridFilterModule.js +0 -37
- package/src/Strategy/GridInfoModule.js +2 -0
- package/src/Strategy/Interface/IModule.d.ts +0 -1
- package/src/Strategy/LayoutModule.d.ts +9 -3
- package/src/Strategy/LayoutModule.js +148 -62
- package/src/Strategy/NamedQueryModule.d.ts +0 -1
- package/src/Strategy/NamedQueryModule.js +0 -19
- package/src/Strategy/{NotesModule.d.ts → NoteModule.d.ts} +2 -1
- package/src/Strategy/NoteModule.js +57 -0
- package/src/Strategy/PlusMinusModule.d.ts +1 -1
- package/src/Strategy/PlusMinusModule.js +2 -2
- package/src/Strategy/ScheduleModule.d.ts +1 -1
- package/src/Strategy/ScheduleModule.js +1 -1
- package/src/Strategy/SettingsPanelModule.js +3 -3
- package/src/Strategy/ShortcutModule.d.ts +1 -1
- package/src/Strategy/ShortcutModule.js +1 -1
- package/src/Strategy/SmartEditModule.js +1 -1
- package/src/Strategy/StyledColumnModule.d.ts +1 -1
- package/src/Strategy/StyledColumnModule.js +26 -26
- package/src/Strategy/SystemStatusModule.js +2 -2
- package/src/Strategy/TeamSharingModule.d.ts +1 -0
- package/src/Strategy/TeamSharingModule.js +5 -5
- package/src/Strategy/ToolPanelModule.d.ts +0 -1
- package/src/Strategy/ToolPanelModule.js +0 -23
- package/src/Strategy/Utilities/getScopeViewItems.js +3 -0
- package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -1
- package/src/Utilities/Constants/GeneralConstants.d.ts +1 -0
- package/src/Utilities/Constants/GeneralConstants.js +1 -0
- package/src/Utilities/Constants/ModuleConstants.d.ts +6 -6
- package/src/Utilities/Constants/ModuleConstants.js +6 -6
- package/src/Utilities/Defaults/DefaultSettingsPanel.js +7 -6
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +3 -2
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +429 -1
- package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -3
- package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +1 -1
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +15 -0
- package/src/Utilities/Extensions/ArrayExtensions.d.ts +2 -0
- package/src/Utilities/Extensions/ArrayExtensions.js +4 -0
- package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -4
- package/src/Utilities/Helpers/AdaptableHelper.js +18 -58
- package/src/Utilities/Helpers/Helper.d.ts +2 -0
- package/src/Utilities/Helpers/Helper.js +4 -0
- package/src/Utilities/MenuItem.d.ts +7 -4
- package/src/Utilities/MenuItem.js +6 -3
- package/src/Utilities/ObjectFactory.d.ts +3 -3
- package/src/Utilities/ObjectFactory.js +4 -24
- package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +4 -2
- package/src/Utilities/Services/AggregatedScalarLiveValue.js +26 -19
- package/src/Utilities/Services/CellPopupService.js +2 -3
- package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +1 -1
- package/src/Utilities/Services/Interface/IReportService.d.ts +1 -4
- package/src/Utilities/Services/LicenseService/index.d.ts +3 -0
- package/src/Utilities/Services/LicenseService/index.js +1 -181
- package/src/Utilities/Services/MetamodelService.d.ts +1 -1
- package/src/Utilities/Services/MetamodelService.js +6 -3
- package/src/Utilities/Services/ModuleService.js +4 -0
- package/src/Utilities/Services/QueryLanguageService.d.ts +1 -1
- package/src/Utilities/Services/QueryLanguageService.js +4 -3
- package/src/Utilities/Services/ReportService.d.ts +7 -5
- package/src/Utilities/Services/ReportService.js +238 -22
- package/src/Utilities/Services/RowEditService.d.ts +3 -2
- package/src/Utilities/Services/RowEditService.js +3 -1
- package/src/Utilities/adaptableQlUtils.d.ts +2 -0
- package/src/Utilities/adaptableQlUtils.js +14 -0
- package/src/Utilities/license/decode.js +1 -65
- package/src/Utilities/license/hashing.js +1 -43
- package/src/View/AdaptableView.js +1 -3
- package/src/View/AdaptableViewFactory.js +2 -2
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +2 -2
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +1 -1
- package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +3 -3
- package/src/View/CalculatedColumn/utils.d.ts +1 -1
- package/src/View/CellSummary/CellSummaryPopup.js +1 -1
- package/src/View/Comments/CommentsEditor.js +24 -11
- package/src/View/Comments/CommentsPopup.js +20 -11
- package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
- package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.d.ts +5 -0
- package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.js +42 -0
- package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +5 -2
- package/src/View/Components/CellPopup/index.d.ts +1 -0
- package/src/View/Components/CellPopup/index.js +5 -2
- package/src/View/Components/FilterForm/FilterForm.js +20 -12
- package/src/View/Components/FilterForm/QuickFilterForm.js +15 -8
- package/src/View/Components/FilterForm/QuickFilterValues.js +39 -23
- package/src/View/Components/NewScopeComponent.js +34 -1
- package/src/View/Components/Popups/AdaptableLoadingScreen.d.ts +6 -5
- package/src/View/Components/Popups/AdaptableLoadingScreen.js +19 -9
- package/src/View/Components/Popups/AdaptableToaster.js +1 -1
- package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +7 -7
- package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +1 -0
- package/src/View/Components/Popups/WindowPopups/windowFactory.js +3 -0
- package/src/View/Components/Selectors/PermittedValuesSelector.js +2 -2
- package/src/View/Components/ValueSelector/index.d.ts +1 -0
- package/src/View/Components/ValueSelector/index.js +2 -2
- package/src/View/CustomSort/CustomSortSummary.js +1 -1
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +8 -9
- package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -1
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +3 -1
- package/src/View/GridFilter/GridFilterViewPanel.js +9 -5
- package/src/View/GridFilter/useGridFilterExpressionEditor.js +1 -1
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -3
- package/src/View/Layout/LayoutViewPanel.js +2 -1
- package/src/View/Layout/TransposedPopup.d.ts +3 -0
- package/src/View/Layout/TransposedPopup.js +195 -0
- package/src/View/Layout/Wizard/LayoutWizard.js +36 -3
- package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
- package/src/View/Layout/Wizard/sections/RowSummarySection.d.ts +9 -0
- package/src/View/Layout/Wizard/sections/RowSummarySection.js +174 -0
- package/src/View/License/LicenseWatermark.js +1 -61
- package/src/View/Note/NotePopup.d.ts +2 -0
- package/src/View/{Notes/NotesPopup.js → Note/NotePopup.js} +17 -17
- package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
- package/src/View/Theme/ThemeSelector.js +3 -3
- package/src/agGrid/ActionColumnRenderer.js +7 -6
- package/src/agGrid/Adaptable.d.ts +3 -455
- package/src/agGrid/Adaptable.js +8 -5292
- package/src/agGrid/AdaptableAgGrid.d.ts +354 -0
- package/src/agGrid/AdaptableAgGrid.js +3967 -0
- package/src/agGrid/AdaptableLogger.js +77 -11
- package/src/agGrid/AgGridAdapter.d.ts +64 -0
- package/src/agGrid/AgGridAdapter.js +585 -0
- package/src/agGrid/AgGridColumnAdapter.d.ts +56 -0
- package/src/agGrid/AgGridColumnAdapter.js +831 -0
- package/src/agGrid/AgGridMenuAdapter.d.ts +28 -0
- package/src/agGrid/AgGridMenuAdapter.js +277 -0
- package/src/agGrid/AgGridOptionsService.d.ts +15 -0
- package/src/agGrid/AgGridOptionsService.js +76 -0
- package/src/agGrid/BadgeRenderer.js +1 -1
- package/src/agGrid/CheckboxRenderer.js +1 -1
- package/src/agGrid/FilterWrapper.d.ts +2 -2
- package/src/agGrid/FilterWrapper.js +1 -1
- package/src/agGrid/attachAddaptableColumnTypes.d.ts +12 -12
- package/src/agGrid/defaultAdaptableOptions.d.ts +3 -0
- package/src/{Utilities/Defaults/DefaultAdaptableOptions.js → agGrid/defaultAdaptableOptions.js} +71 -17
- package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +1 -1
- package/src/agGrid/editors/AdaptableDateEditor/index.js +3 -3
- package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +2 -2
- package/src/agGrid/editors/AdaptableNumberEditor/index.js +2 -2
- package/src/agGrid/weightedAverage.d.ts +0 -2
- package/src/agGrid/weightedAverage.js +0 -54
- package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
- package/src/components/Datepicker/index.d.ts +1 -1
- package/src/components/Datepicker/index.js +10 -2
- package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -1
- package/src/components/ExpressionEditor/QueryBuilder/utils.d.ts +0 -1
- package/src/components/ExpressionEditor/QueryBuilder/utils.js +1 -14
- package/src/components/InfiniteTable/index.js +2 -2
- package/src/components/Input/index.d.ts +1 -2
- package/src/components/List/ListGroupItem/index.d.ts +1 -1
- package/src/components/Modal/index.d.ts +1 -0
- package/src/components/Modal/index.js +4 -3
- package/src/components/Select/Select.d.ts +3 -1
- package/src/components/Select/Select.js +4 -2
- package/src/components/Textarea/index.d.ts +2 -2
- package/src/components/icons/index.js +2 -0
- package/src/components/icons/note.js +2 -2
- package/src/components/icons/rows.d.ts +3 -0
- package/src/components/icons/rows.js +4 -0
- package/src/env.js +2 -2
- package/src/metamodel/adaptable.metamodel.d.ts +179 -25
- package/src/metamodel/adaptable.metamodel.js +1 -9313
- package/src/migration/AdaptableUpgradeHelper.d.ts +38 -0
- package/src/migration/AdaptableUpgradeHelper.js +48 -0
- package/src/migration/VersionUpgrade.d.ts +8 -0
- package/src/migration/VersionUpgrade.js +11 -0
- package/src/migration/VersionUpgrade17.d.ts +18 -0
- package/src/migration/VersionUpgrade17.js +342 -0
- package/src/migration/VersionUpgrade18.d.ts +5 -0
- package/src/migration/VersionUpgrade18.js +6 -0
- package/src/parser/src/parser.js +117 -1257
- package/src/parser/src/predicate/mapExpressionToQlPredicate.js +1 -1
- package/src/parser/src/predicate/mapQlPredicateToExpression.js +2 -1
- package/src/parser/src/types.d.ts +7 -2
- package/src/types.d.ts +26 -19
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/src/AdaptableOptions/CommentsOptions.d.ts +0 -28
- package/src/Api/Events/CommentsChangedInfo.d.ts +0 -5
- package/src/Api/Implementation/NotesApiImpl.d.ts +0 -16
- package/src/Api/Implementation/NotesApiImpl.js +0 -39
- package/src/Api/NotesApi.d.ts +0 -48
- package/src/PredefinedConfig/CellAddress.d.ts +0 -13
- package/src/PredefinedConfig/CellAddress.js +0 -4
- package/src/Redux/ActionsReducers/NotesRedux.d.ts +0 -39
- package/src/Strategy/NotesModule.js +0 -57
- package/src/Utilities/Defaults/DefaultAdaptableOptions.d.ts +0 -2
- package/src/Utilities/Services/Interface/IRowEditService.d.ts +0 -3
- package/src/View/Components/ScopeComponent.d.ts +0 -24
- package/src/View/Components/ScopeComponent.js +0 -133
- package/src/View/Export/Wizard/ReportScopeWizard.d.ts +0 -17
- package/src/View/Export/Wizard/ReportScopeWizard.js +0 -47
- package/src/View/Notes/NotesPopup.d.ts +0 -2
- package/src/agGrid/agGridHelper.d.ts +0 -57
- package/src/agGrid/agGridHelper.js +0 -686
- package/src/agGrid/agGridMenuHelper.d.ts +0 -46
- package/src/agGrid/agGridMenuHelper.js +0 -668
- /package/src/AdaptableOptions/{CommentsOptions.js → CommentOptions.js} +0 -0
- /package/src/AdaptableOptions/{NotesOptions.js → NoteOptions.js} +0 -0
- /package/src/Api/Events/{CommentsChangedInfo.js → CommentChanged.js} +0 -0
- /package/src/Api/{NotesApi.js → NoteApi.js} +0 -0
- /package/src/PredefinedConfig/{NotesState.js → Common/TransposeConfig.js} +0 -0
- /package/src/{Utilities/Services/Interface/IRowEditService.js → PredefinedConfig/NoteState.js} +0 -0
- /package/src/View/{Notes → Note}/NoteEditor.d.ts +0 -0
- /package/src/View/{Notes → Note}/NoteEditor.js +0 -0
|
@@ -14,12 +14,13 @@ import { ObjectFactory } from '../../../Utilities/ObjectFactory';
|
|
|
14
14
|
import HelpBlock from '../../../components/HelpBlock';
|
|
15
15
|
import { Flex } from 'rebass';
|
|
16
16
|
import Radio from '../../../components/Radio';
|
|
17
|
-
import Helper from '../../../Utilities/Helpers/Helper';
|
|
17
|
+
import Helper, { cloneObject } from '../../../Utilities/Helpers/Helper';
|
|
18
18
|
import AdaptableInput from '../AdaptableInput';
|
|
19
19
|
import { renderWithAdaptableContext } from '../../renderWithAdaptableContext';
|
|
20
20
|
import { CheckBox } from '../../../components/CheckBox';
|
|
21
21
|
import { runIfNotResolvedIn } from '../../../Utilities/runIfNotResolvedIn';
|
|
22
22
|
import { getDefaultColumnFilterPredicate } from './getDefaultColumnFilterPredicate';
|
|
23
|
+
import { AdaptableDateInlineInput } from '../AdaptableInput/AdaptableDateInlineInput';
|
|
23
24
|
const panelStyle = {
|
|
24
25
|
width: '100%',
|
|
25
26
|
minWidth: 150,
|
|
@@ -174,13 +175,20 @@ class FilterFormComponent extends React.Component {
|
|
|
174
175
|
this.changeColumnPredicateInput(newCheckedValue, 0);
|
|
175
176
|
} })));
|
|
176
177
|
}
|
|
177
|
-
return (_a = predicateDef.inputs) === null || _a === void 0 ? void 0 : _a.map((predicateInput, index) =>
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
178
|
+
return (_a = predicateDef.inputs) === null || _a === void 0 ? void 0 : _a.map((predicateInput, index) => {
|
|
179
|
+
var _a, _b;
|
|
180
|
+
const showDatePicker = (_b = (_a = this.props.api.optionsApi) === null || _a === void 0 ? void 0 : _a.getColumnFilterOptions()) === null || _b === void 0 ? void 0 : _b.showDatePicker;
|
|
181
|
+
if (predicateInput.type === 'date' && !showDatePicker) {
|
|
182
|
+
return (React.createElement(AdaptableDateInlineInput, { value: filter.Predicate.Inputs[index], onChange: (value) => this.changeColumnPredicateInput(value, index) }));
|
|
183
|
+
}
|
|
184
|
+
return (React.createElement(Flex, { key: index, flexDirection: "row" },
|
|
185
|
+
React.createElement(AdaptableInput, { onMouseDown: (event) => {
|
|
186
|
+
if (predicateInput.type === 'date') {
|
|
187
|
+
// This prevents the ag-grid dropdown closing when a date is selected
|
|
188
|
+
event.stopPropagation();
|
|
189
|
+
}
|
|
190
|
+
}, disabled: this.isFilterDisabled(), type: predicateInput.type, autoFocus: index === 0, value: filter.Predicate.Inputs[index], onChange: (e) => this.changeColumnPredicateInput(e.target.value, index), mb: 1, flex: 1, fontSize: 2 })));
|
|
191
|
+
});
|
|
184
192
|
}
|
|
185
193
|
isFilterDisabled() {
|
|
186
194
|
var _a;
|
|
@@ -255,12 +263,12 @@ class FilterFormComponent extends React.Component {
|
|
|
255
263
|
}
|
|
256
264
|
changeColumnPredicateInput(value, index) {
|
|
257
265
|
const { editedColumnFilter } = this.state;
|
|
258
|
-
|
|
259
|
-
|
|
266
|
+
const newEditedColumnFilter = cloneObject(editedColumnFilter);
|
|
267
|
+
newEditedColumnFilter.Predicate.Inputs[index] = value;
|
|
268
|
+
this.setState({ editedColumnFilter: newEditedColumnFilter });
|
|
260
269
|
if (this.props.api.optionsApi.getColumnFilterOptions().autoApplyFilter) {
|
|
261
|
-
this.props.onSetColumnFilter(
|
|
270
|
+
this.props.onSetColumnFilter(newEditedColumnFilter);
|
|
262
271
|
}
|
|
263
|
-
// this.props.onSetColumnFilter(editedColumnFilter);
|
|
264
272
|
}
|
|
265
273
|
}
|
|
266
274
|
function mapStateToProps(state, ownProps) {
|
|
@@ -15,6 +15,7 @@ import { getDefaultColumnFilterPredicate } from './getDefaultColumnFilterPredica
|
|
|
15
15
|
import { isAdaptableIcon } from '../../../components/Icon';
|
|
16
16
|
import { QuickFilterValues } from './QuickFilterValues';
|
|
17
17
|
import { AdaptableIconComponent } from '../AdaptableIconComponent';
|
|
18
|
+
import { AdaptableDateInlineInput } from '../AdaptableInput/AdaptableDateInlineInput';
|
|
18
19
|
class QuickFilterFormComponent extends React.Component {
|
|
19
20
|
constructor(props) {
|
|
20
21
|
super(props);
|
|
@@ -136,17 +137,23 @@ class QuickFilterFormComponent extends React.Component {
|
|
|
136
137
|
} })));
|
|
137
138
|
}
|
|
138
139
|
return (_a = predicateDef === null || predicateDef === void 0 ? void 0 : predicateDef.inputs) === null || _a === void 0 ? void 0 : _a.map((predicateInput, index) => {
|
|
139
|
-
var _a, _b;
|
|
140
|
+
var _a, _b, _c, _d, _e, _f;
|
|
141
|
+
const showDatePicker = (_b = (_a = this.props.api.optionsApi) === null || _a === void 0 ? void 0 : _a.getColumnFilterOptions()) === null || _b === void 0 ? void 0 : _b.showDatePicker;
|
|
142
|
+
const value = (_d = (_c = filter.Predicate.Inputs) === null || _c === void 0 ? void 0 : _c[index]) !== null && _d !== void 0 ? _d : '';
|
|
143
|
+
const onKeyDownCapture = (e) => {
|
|
144
|
+
if (e.nativeEvent.key === 'Escape') {
|
|
145
|
+
e.nativeEvent.preventDefault();
|
|
146
|
+
e.nativeEvent.stopPropagation();
|
|
147
|
+
this.clearFilter();
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
if (predicateInput.type === 'date' && !showDatePicker) {
|
|
151
|
+
return (React.createElement(AdaptableDateInlineInput, { value: value, key: index, onKeyDownCapture: onKeyDownCapture, onChange: (value) => this.changeColumnPredicateInput(value, index) }));
|
|
152
|
+
}
|
|
140
153
|
return (React.createElement(AdaptableInput, { disabled: this.isFilterDisabled(), key: index, type: predicateInput.type === 'number' ? 'text' : predicateInput.type,
|
|
141
154
|
// autoFocus has to be FALSE because if the input receives focus in the init phase,
|
|
142
155
|
// it may scroll the AG Grid header viewport into view and de-synchronize it (relative to the content viewport)
|
|
143
|
-
autoFocus: false, value: (
|
|
144
|
-
if (e.nativeEvent.key === 'Escape') {
|
|
145
|
-
e.nativeEvent.preventDefault();
|
|
146
|
-
e.nativeEvent.stopPropagation();
|
|
147
|
-
this.clearFilter();
|
|
148
|
-
}
|
|
149
|
-
}, style: {
|
|
156
|
+
autoFocus: false, value: (_f = (_e = filter.Predicate.Inputs) === null || _e === void 0 ? void 0 : _e[index]) !== null && _f !== void 0 ? _f : '', onChange: (e) => this.changeColumnPredicateInput(e.target.value, index), onKeyDownCapture: onKeyDownCapture, style: {
|
|
150
157
|
width: '100%',
|
|
151
158
|
padding: 'var(--ab-space-1)',
|
|
152
159
|
borderRadius: 0,
|
|
@@ -6,6 +6,7 @@ import { isSameDay } from 'date-fns';
|
|
|
6
6
|
import OverlayTrigger from '../../../components/OverlayTrigger';
|
|
7
7
|
import { Flex } from 'rebass';
|
|
8
8
|
import { ListBoxFilterForm } from './ListBoxFilterForm';
|
|
9
|
+
import { Resizable } from 're-resizable';
|
|
9
10
|
export const QuickFilterValues = (props) => {
|
|
10
11
|
const { api } = props;
|
|
11
12
|
const currentOverlayVisible = useRef(false);
|
|
@@ -135,33 +136,48 @@ export const QuickFilterValues = (props) => {
|
|
|
135
136
|
}
|
|
136
137
|
}, render: ({ targetWidth }) => {
|
|
137
138
|
var _a;
|
|
138
|
-
return (React.createElement(
|
|
139
|
-
if (showEvent === 'click') {
|
|
140
|
-
// For showEvent=mousenter this is not needed.
|
|
141
|
-
// When mouseenter is triggered on the overlay, onShowFn is called, the overlay is no longer hidden.
|
|
142
|
-
// But in this case because the trigger is click, another show is not triggered.
|
|
143
|
-
// The hide event is added direcly on the element so it does not use the React event system.
|
|
144
|
-
// But this event does, maybe beause it uses event delegation it is triggered to soon.
|
|
145
|
-
requestAnimationFrame(() => {
|
|
146
|
-
var _a;
|
|
147
|
-
(_a = valuesDropdownRef.current) === null || _a === void 0 ? void 0 : _a.show();
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
}, "data-name": "quick-filter-form", flexDirection: "column", style: {
|
|
139
|
+
return (React.createElement(Resizable, { style: {
|
|
151
140
|
fontSize: 'var(--ab-font-size-2)',
|
|
152
141
|
border: '1px solid var(--ab-color-primarydark)',
|
|
153
142
|
background: 'var(--ab-color-defaultbackground)',
|
|
154
143
|
zIndex: 1000,
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
144
|
+
}, enable: {
|
|
145
|
+
top: false,
|
|
146
|
+
right: true,
|
|
147
|
+
bottom: false,
|
|
148
|
+
left: false,
|
|
149
|
+
topRight: false,
|
|
150
|
+
bottomRight: false,
|
|
151
|
+
bottomLeft: false,
|
|
152
|
+
topLeft: false,
|
|
153
|
+
}, minWidth: getPopoverWidth(targetWidth) },
|
|
154
|
+
React.createElement(Flex, { onMouseEnter: () => {
|
|
155
|
+
if (showEvent === 'click') {
|
|
156
|
+
// For showEvent=mousenter this is not needed.
|
|
157
|
+
// When mouseenter is triggered on the overlay, onShowFn is called, the overlay is no longer hidden.
|
|
158
|
+
// But in this case because the trigger is click, another show is not triggered.
|
|
159
|
+
// The hide event is added direcly on the element so it does not use the React event system.
|
|
160
|
+
// But this event does, maybe beause it uses event delegation it is triggered to soon.
|
|
161
|
+
requestAnimationFrame(() => {
|
|
162
|
+
var _a;
|
|
163
|
+
(_a = valuesDropdownRef.current) === null || _a === void 0 ? void 0 : _a.show();
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
}, "data-name": "quick-filter-form", flexDirection: "column", style: {
|
|
167
|
+
// fontSize: 'var(--ab-font-size-2)',
|
|
168
|
+
// border: '1px solid var(--ab-color-primarydark)',
|
|
169
|
+
// background: 'var(--ab-color-defaultbackground)',
|
|
170
|
+
// zIndex: 1000,
|
|
171
|
+
// width: getPopoverWidth(targetWidth),
|
|
172
|
+
} },
|
|
173
|
+
React.createElement(Flex, { m: 2 },
|
|
174
|
+
React.createElement(SimpleButton, { onClick: () => clearColumnFilter() }, "Clear Filter"),
|
|
175
|
+
((_a = api.optionsApi.getColumnFilterOptions()) === null || _a === void 0 ? void 0 : _a.autoApplyFilter) == false && (React.createElement(SimpleButton, { ml: 2, onClick: () => {
|
|
176
|
+
if (transientColumnFilter) {
|
|
177
|
+
props.updateColumnFilter(transientColumnFilter);
|
|
178
|
+
}
|
|
179
|
+
} }, "Apply Filter"))),
|
|
180
|
+
React.createElement(ListBoxFilterForm, { disabled: props.isFilterDisabled, suppressClientSideFilter: quickFilterValues.suppressClientSideFilter, isLoading: isDistinctColumnValuesLoading, onFilterChange: handleFilterChange, currentColumn: props.currentColumn, columns: [], columnDistinctValues: quickFilterValues.values, dataType: props.currentColumn.dataType, uiSelectedColumnValues: props.columnFilter.Predicate.Inputs.filter((input) => input !== ''), useAgGridStyle: true, onColumnValueSelectedChange: (list) => onColumnValueSelectedChange(list) }))));
|
|
165
181
|
} },
|
|
166
182
|
React.createElement(SimpleButton, { "data-name": 'Select Values', style: {
|
|
167
183
|
flex: 1,
|
|
@@ -56,6 +56,7 @@ export const renderScopeSummary = (scope, labels) => {
|
|
|
56
56
|
};
|
|
57
57
|
const DATA_TYPES_OPTIONS = Object.values(DATA_TYPES_MAP);
|
|
58
58
|
export const NewScopeComponent = (props) => {
|
|
59
|
+
var _a, _b;
|
|
59
60
|
const { api } = useAdaptable();
|
|
60
61
|
const { scopeApi, columnApi } = api;
|
|
61
62
|
const [columnsSearchText, setColumnsSearchText] = useState('');
|
|
@@ -79,6 +80,9 @@ export const NewScopeComponent = (props) => {
|
|
|
79
80
|
if (scopeApi.scopeHasDataType(props.scope)) {
|
|
80
81
|
return 'DataType';
|
|
81
82
|
}
|
|
83
|
+
if (scopeApi.scopeHasColumnType(props.scope)) {
|
|
84
|
+
return 'ColumnType';
|
|
85
|
+
}
|
|
82
86
|
return undefined;
|
|
83
87
|
};
|
|
84
88
|
const onScopeSelectChanged = (value) => {
|
|
@@ -93,6 +97,11 @@ export const NewScopeComponent = (props) => {
|
|
|
93
97
|
DataTypes: [],
|
|
94
98
|
};
|
|
95
99
|
}
|
|
100
|
+
else if (value == 'ColumnType') {
|
|
101
|
+
newScope = {
|
|
102
|
+
ColumnTypes: [],
|
|
103
|
+
};
|
|
104
|
+
}
|
|
96
105
|
else {
|
|
97
106
|
newScope = {
|
|
98
107
|
All: true,
|
|
@@ -128,6 +137,10 @@ export const NewScopeComponent = (props) => {
|
|
|
128
137
|
if (Array.isArray(props.availableDataTypes)) {
|
|
129
138
|
dataTypeOptions = props.availableDataTypes.map((dataType) => DATA_TYPES_MAP[dataType]);
|
|
130
139
|
}
|
|
140
|
+
const hasColumnTypes = React.useMemo(() => {
|
|
141
|
+
var _a;
|
|
142
|
+
return ((_a = api.columnApi.getColumnTypes()) === null || _a === void 0 ? void 0 : _a.length) > 0;
|
|
143
|
+
}, []);
|
|
131
144
|
return (React.createElement(Tabs, { "data-name": 'scope-component', className: "ab-ScopeComponent", value: scopeChoice, style: Object.assign({ height: '100%' }, props.style), onValueChange: onScopeSelectChanged },
|
|
132
145
|
props.hideWholeRow ? null : (React.createElement(Tabs.Tab, { value: "Row" },
|
|
133
146
|
React.createElement(Radio, { margin: 0, checked: scopeChoice == 'All', tabIndex: -1 }, "All Columns"))),
|
|
@@ -135,6 +148,8 @@ export const NewScopeComponent = (props) => {
|
|
|
135
148
|
React.createElement(Radio, { margin: 0, value: "Column", checked: scopeChoice == 'Column', tabIndex: -1 }, "Selected Columns"))),
|
|
136
149
|
!props.disableDataTypes && (React.createElement(Tabs.Tab, { value: "DataType" },
|
|
137
150
|
React.createElement(Radio, { margin: 0, value: "DataType", checked: scopeChoice == 'DataType', tabIndex: -1 }, "Data Types"))),
|
|
151
|
+
hasColumnTypes && (React.createElement(Tabs.Tab, { value: "ColumnType" },
|
|
152
|
+
React.createElement(Radio, { margin: 0, value: "ColumnType", checked: scopeChoice == 'ColumnType', tabIndex: -1 }, "Column Types"))),
|
|
138
153
|
props.hideWholeRow ? null : (React.createElement(Tabs.Content, { value: "Row", style: { flex: 'none' }, "data-name": "row-scope" },
|
|
139
154
|
React.createElement(Text, { padding: 2, pl: 0, fontSize: 2 }, props.descriptions.rowScope))),
|
|
140
155
|
!props.disableColumns && (React.createElement(Tabs.Content, { value: "Column", style: { flex: 1, overflow: 'auto' }, "data-name": "column-scope", padding: 0 },
|
|
@@ -147,5 +162,23 @@ export const NewScopeComponent = (props) => {
|
|
|
147
162
|
!props.disableDataTypes && (React.createElement(Tabs.Content, { value: "DataType", style: { flex: 'none' }, "data-name": "datatype-scope" },
|
|
148
163
|
React.createElement(Box, null,
|
|
149
164
|
props.descriptions.dataTypeScope && (React.createElement(Text, { p: 2, pl: 0, mb: 2, fontSize: 2 }, props.descriptions.dataTypeScope)),
|
|
150
|
-
React.createElement(Flex, { flexDirection: "column" }, dataTypeOptions.map((dataTypeOption) => (React.createElement(CheckBox, { "data-name": "scope", "data-value": dataTypeOption.value, key: dataTypeOption.value, checked: dataTypesInScope && dataTypesInScope.includes(dataTypeOption.value), onChange: (checked) => onCheckBoxDataTypeChecked(checked, dataTypeOption.value) }, dataTypeOption.label)))))))
|
|
165
|
+
React.createElement(Flex, { flexDirection: "column" }, dataTypeOptions.map((dataTypeOption) => (React.createElement(CheckBox, { "data-name": "scope", "data-value": dataTypeOption.value, key: dataTypeOption.value, checked: dataTypesInScope && dataTypesInScope.includes(dataTypeOption.value), onChange: (checked) => onCheckBoxDataTypeChecked(checked, dataTypeOption.value) }, dataTypeOption.label))))))),
|
|
166
|
+
hasColumnTypes && (React.createElement(Tabs.Content, { value: "ColumnType", style: { flex: 'none' }, "data-name": "column-type-scope" },
|
|
167
|
+
React.createElement(Box, null,
|
|
168
|
+
React.createElement(Flex, { flexDirection: "column" }, (_b = (_a = api.columnApi.getColumnTypes()) === null || _a === void 0 ? void 0 : _a.map) === null || _b === void 0 ? void 0 : _b.call(_a, (columnType) => {
|
|
169
|
+
var _a;
|
|
170
|
+
return (React.createElement(CheckBox, { "data-name": "scope", "data-value": columnType, key: columnType, checked: 'ColumnTypes' in props.scope && ((_a = props.scope.ColumnTypes) === null || _a === void 0 ? void 0 : _a.includes(columnType)), onChange: (checked) => {
|
|
171
|
+
let columnTypes = [].concat(props.scope.ColumnTypes);
|
|
172
|
+
if (checked) {
|
|
173
|
+
columnTypes.push(columnType);
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
columnTypes = columnTypes.filter((ct) => ct !== columnType);
|
|
177
|
+
}
|
|
178
|
+
let newScope = {
|
|
179
|
+
ColumnTypes: columnTypes,
|
|
180
|
+
};
|
|
181
|
+
props.updateScope(newScope);
|
|
182
|
+
} }, columnType));
|
|
183
|
+
})))))));
|
|
151
184
|
};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
export interface IAdaptableLoadingScreenProps
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export interface IAdaptableLoadingScreenProps {
|
|
3
3
|
showLoadingScreen: boolean;
|
|
4
|
+
loadingScreenDelay?: number;
|
|
5
|
+
loadingScreenTitle?: string;
|
|
6
|
+
loadingScreenText?: string;
|
|
4
7
|
onClose?: () => {};
|
|
5
8
|
}
|
|
6
|
-
export declare
|
|
7
|
-
render(): JSX.Element;
|
|
8
|
-
}
|
|
9
|
+
export declare function AdaptableLoadingScreen(props: IAdaptableLoadingScreenProps): JSX.Element;
|
|
@@ -1,13 +1,23 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import Dialog from '../../../components/Dialog';
|
|
3
3
|
import { Box } from 'rebass';
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
4
|
+
export function AdaptableLoadingScreen(props) {
|
|
5
|
+
const { showLoadingScreen, loadingScreenDelay, loadingScreenTitle, loadingScreenText } = props;
|
|
6
|
+
const [delayElapsed, setDelayElapsed] = React.useState(typeof loadingScreenDelay === 'number' ? false : showLoadingScreen);
|
|
7
|
+
React.useEffect(() => {
|
|
8
|
+
if (typeof loadingScreenDelay === 'number') {
|
|
9
|
+
const timeoutId = setTimeout(() => {
|
|
10
|
+
setDelayElapsed(true);
|
|
11
|
+
}, loadingScreenDelay);
|
|
12
|
+
return () => {
|
|
13
|
+
clearTimeout(timeoutId);
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
}, [loadingScreenDelay]);
|
|
17
|
+
return (React.createElement(Dialog, { modal: true, isOpen: delayElapsed ? showLoadingScreen : false, onDismiss: props.onClose, showCloseButton: false, className: "ab-LoadingScreen", style: {
|
|
18
|
+
minHeight: 'auto',
|
|
19
|
+
} },
|
|
20
|
+
React.createElement(Box, { padding: 3 },
|
|
21
|
+
React.createElement("h4", null, loadingScreenTitle !== null && loadingScreenTitle !== void 0 ? loadingScreenTitle : 'Initialising Grid'),
|
|
22
|
+
React.createElement("p", null, loadingScreenText !== null && loadingScreenText !== void 0 ? loadingScreenText : 'Retrieving your settings and setting up the grid...'))));
|
|
13
23
|
}
|
|
@@ -12,7 +12,7 @@ export const showToast = (props) => {
|
|
|
12
12
|
});
|
|
13
13
|
const adaptableOptions = props.api.optionsApi.getAdaptableOptions();
|
|
14
14
|
const toastProps = ObjectFactory.CreateToastOptions(adaptableOptions.notificationsOptions, {
|
|
15
|
-
containerId: adaptableOptions.adaptableId
|
|
15
|
+
containerId: `Toastify-${adaptableOptions.adaptableId}`,
|
|
16
16
|
onClose: () => {
|
|
17
17
|
off();
|
|
18
18
|
},
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { useSelector } from 'react-redux';
|
|
3
3
|
import { Flex } from 'rebass';
|
|
4
|
-
import { GetNotesSelector } from '../../../../Redux/ActionsReducers/
|
|
4
|
+
import { GetNotesSelector } from '../../../../Redux/ActionsReducers/NoteRedux';
|
|
5
5
|
import { SystemCommentsAndNotesEditModeSelector, SystemCommentsAndNotesFocusedEntitySelector, SystemCommentsAndNotesSelector, } from '../../../../Redux/ActionsReducers/SystemRedux';
|
|
6
6
|
import { useAdaptable } from '../../../AdaptableContext';
|
|
7
7
|
import { CommentsEditor } from '../../../Comments/CommentsEditor';
|
|
8
|
-
import { NoteEditor } from '../../../
|
|
8
|
+
import { NoteEditor } from '../../../Note/NoteEditor';
|
|
9
9
|
import { CellPopup } from '../../CellPopup';
|
|
10
10
|
const ConnectedNoteEditor = ({ enableEditMode }) => {
|
|
11
11
|
const { api } = useAdaptable();
|
|
12
|
-
const isReadonly = api.entitlementApi.isModuleReadOnlyEntitlement('
|
|
12
|
+
const isReadonly = api.entitlementApi.isModuleReadOnlyEntitlement('Note');
|
|
13
13
|
const editMode = useSelector((state) => SystemCommentsAndNotesEditModeSelector(state.System));
|
|
14
14
|
const cellPopupService = api.internalApi.getCellPopupService();
|
|
15
15
|
const cellAddress = useSelector((state) => SystemCommentsAndNotesSelector(state.System));
|
|
@@ -17,13 +17,13 @@ const ConnectedNoteEditor = ({ enableEditMode }) => {
|
|
|
17
17
|
// Only handle first note for now
|
|
18
18
|
// Later we can handle multiple notes
|
|
19
19
|
note,] = useSelector((state) => {
|
|
20
|
-
return cellAddress ? GetNotesSelector(state.
|
|
20
|
+
return cellAddress ? GetNotesSelector(state.Note, cellAddress) : [];
|
|
21
21
|
});
|
|
22
22
|
const handleNoteChange = React.useCallback((value) => {
|
|
23
|
-
api.
|
|
23
|
+
api.noteApi.updateNoteText(value, note);
|
|
24
24
|
}, [note]);
|
|
25
|
-
return (React.createElement(Flex, { onClick: () => enableEditMode(), flexDirection: "column", className: "ab-
|
|
26
|
-
React.createElement(NoteEditor, { isReadonly: isReadonly, editMode: editMode, key: note === null || note === void 0 ? void 0 : note.Uuid, onClose: () => cellPopupService.hidePopup(), note: note === null || note === void 0 ? void 0 : note.
|
|
25
|
+
return (React.createElement(Flex, { onClick: () => enableEditMode(), flexDirection: "column", className: "ab-NotePopup" },
|
|
26
|
+
React.createElement(NoteEditor, { isReadonly: isReadonly, editMode: editMode, key: note === null || note === void 0 ? void 0 : note.Uuid, onClose: () => cellPopupService.hidePopup(), note: note === null || note === void 0 ? void 0 : note.Text, onNoteChange: (value) => handleNoteChange(value) })));
|
|
27
27
|
};
|
|
28
28
|
export const GridCellPopup = (props) => {
|
|
29
29
|
const { api } = useAdaptable();
|
|
@@ -4,4 +4,5 @@ export declare const WINDOW_GRID_FILTER_EDITOR = "WINDOW_GRID_FILTER_EDITOR";
|
|
|
4
4
|
export declare const SHOW_PIVOT_COLUMN_DETAILS = "SHOW_PIVOT_COLUMN_DETAILS";
|
|
5
5
|
export declare const SHOW_EXPORT_TABLE = "SHOW_EXPORT_TABLE";
|
|
6
6
|
export declare const SHOW_THEME_EDITOR = "SHOW_THEME_EDITOR";
|
|
7
|
+
export declare const WINDOW_SHOW_TRANSPOSED_VIEW = "WINDOW_SHOW_TRANSPOSED_VIEW";
|
|
7
8
|
export declare const windowFactory: Record<string, React.FunctionComponent<WindowPopupChildProps>>;
|
|
@@ -2,13 +2,16 @@ import { GridFilterWindowPopup } from '../../../GridFilter/GridFilterWindowPopup
|
|
|
2
2
|
import { PivotDetailsPopoup } from '../../../Layout/PivotDetailsPopoup';
|
|
3
3
|
import { ExportTablePopup } from '../../../Export/ExportTablePopup';
|
|
4
4
|
import { ThemeEditorWindow } from '../../../Theme/ThemeEditorWindow';
|
|
5
|
+
import { TransposedPopup } from '../../../Layout/TransposedPopup';
|
|
5
6
|
export const WINDOW_GRID_FILTER_EDITOR = 'WINDOW_GRID_FILTER_EDITOR';
|
|
6
7
|
export const SHOW_PIVOT_COLUMN_DETAILS = 'SHOW_PIVOT_COLUMN_DETAILS';
|
|
7
8
|
export const SHOW_EXPORT_TABLE = 'SHOW_EXPORT_TABLE';
|
|
8
9
|
export const SHOW_THEME_EDITOR = 'SHOW_THEME_EDITOR';
|
|
10
|
+
export const WINDOW_SHOW_TRANSPOSED_VIEW = 'WINDOW_SHOW_TRANSPOSED_VIEW';
|
|
9
11
|
export const windowFactory = {
|
|
10
12
|
[WINDOW_GRID_FILTER_EDITOR]: GridFilterWindowPopup,
|
|
11
13
|
[SHOW_PIVOT_COLUMN_DETAILS]: PivotDetailsPopoup,
|
|
12
14
|
[SHOW_EXPORT_TABLE]: ExportTablePopup,
|
|
13
15
|
[SHOW_THEME_EDITOR]: ThemeEditorWindow,
|
|
16
|
+
[WINDOW_SHOW_TRANSPOSED_VIEW]: TransposedPopup,
|
|
14
17
|
};
|
|
@@ -9,7 +9,7 @@ export const PermittedValuesSelector = function (props) {
|
|
|
9
9
|
const [filter, setFilter] = React.useState('');
|
|
10
10
|
const columnType = React.useMemo(() => {
|
|
11
11
|
return adaptable.api.columnApi.getColumnDataTypeForColumnId(props.columnId);
|
|
12
|
-
}, []);
|
|
12
|
+
}, [props.columnId]);
|
|
13
13
|
React.useEffect(() => {
|
|
14
14
|
if (!props.columnId) {
|
|
15
15
|
setIsLoading(false);
|
|
@@ -64,5 +64,5 @@ export const PermittedValuesSelector = function (props) {
|
|
|
64
64
|
handleSingleValueChange(value);
|
|
65
65
|
}
|
|
66
66
|
};
|
|
67
|
-
return (React.createElement(Select, { isMulti: props.isMulti, className: props.className, disabled: props.disabled, "data-name": "permitted-values-selector", placeholder: props.placeholder || (props.allowNewValues ? 'Select or type new value' : 'Select value'), isCreatable: isCreatable, isClearable: true, options: options,
|
|
67
|
+
return (React.createElement(Select, { isMulti: props.isMulti, className: props.className, disabled: props.disabled, "data-name": "permitted-values-selector", placeholder: props.placeholder || (props.allowNewValues ? 'Select or type new value' : 'Select value'), isCreatable: isCreatable, isClearable: true, options: options, isLoading: isLoading, onInputChange: setFilter, onChange: handleOnChange, value: props.value }));
|
|
68
68
|
};
|
|
@@ -26,6 +26,7 @@ export type ValueSelectorProps<OPTION_TYPE, ID_TYPE extends number | string> = {
|
|
|
26
26
|
onShowSelectedOnlyChange?: (selectedOnly: boolean) => void;
|
|
27
27
|
isOptionDisabled?: (option: OPTION_TYPE) => boolean;
|
|
28
28
|
disabled?: boolean;
|
|
29
|
+
style?: React.CSSProperties;
|
|
29
30
|
};
|
|
30
31
|
export declare function ValueSelector<OPTION_TYPE, ID_TYPE extends number | string>(props: ValueSelectorProps<OPTION_TYPE, ID_TYPE>): JSX.Element;
|
|
31
32
|
export declare namespace ValueSelector {
|
|
@@ -62,7 +62,7 @@ export function ValueSelector(props) {
|
|
|
62
62
|
const label = !allowReorder ? preparedToLabel(option) : null;
|
|
63
63
|
const reorderable = typeof allowReorder === 'function' ? allowReorder(option) : allowReorder;
|
|
64
64
|
const renderNode = (props, dragHandleProps) => {
|
|
65
|
-
return (React.createElement(Flex, Object.assign({ className: `${baseClassName}__option`, alignItems: "center", mt: index ? 1 : 0, key: identifier, backgroundColor: 'primary', padding: 2, "data-index": index, "data-id": identifier, "data-name": "option" }, props),
|
|
65
|
+
return (React.createElement(Flex, Object.assign({ className: `${baseClassName}__option`, alignItems: "center", mt: index ? 1 : 0, key: identifier !== null && identifier !== void 0 ? identifier : index, backgroundColor: 'primary', padding: 2, "data-index": index, "data-id": identifier, "data-name": "option" }, props),
|
|
66
66
|
React.createElement(Flex, { flex: 1, flexDirection: "row", alignItems: "center" },
|
|
67
67
|
reorderable ? (React.createElement(Box, Object.assign({ mr: 3 }, dragHandleProps),
|
|
68
68
|
React.createElement(Icon, { name: "drag", style: { cursor: 'grab' } }))) : null,
|
|
@@ -111,7 +111,7 @@ export function ValueSelector(props) {
|
|
|
111
111
|
};
|
|
112
112
|
const showOnlySelectedCheckbox = (React.createElement(CheckBox, { disabled: !value.length, checked: selectedOnly, onChange: setSelectedOnly }, showSelectedOnlyLabel !== null && showSelectedOnlyLabel !== void 0 ? showSelectedOnlyLabel : 'Show Selected Only'));
|
|
113
113
|
const showSelectedOnlyPosition = (_a = props.showSelectedOnlyPosition) !== null && _a !== void 0 ? _a : 'floating';
|
|
114
|
-
return (React.createElement(Flex, { className: baseClassName, flexDirection: "column", flex: 1 },
|
|
114
|
+
return (React.createElement(Flex, { style: props.style, className: baseClassName, flexDirection: "column", flex: 1 },
|
|
115
115
|
React.createElement(Flex, { mb: 1 },
|
|
116
116
|
showFilterInput && filter ? (React.createElement(AdaptableFormControlTextClear, { value: searchInputValue, OnTextChange: setSearchInputValue, placeholder: "Type to search", style: { flex: 1, border: 0, margin: 3 } })) : (React.createElement(Box, { flex: 1 })),
|
|
117
117
|
showSelectedOnlyPosition === 'top' && React.createElement(Box, { ml: 20 }, showOnlySelectedCheckbox)),
|
|
@@ -33,7 +33,7 @@ export class CustomSortSummaryComponent extends React.Component {
|
|
|
33
33
|
}
|
|
34
34
|
render() {
|
|
35
35
|
const customSort = this.props.CustomSorts.find((c) => c.ColumnId == this.props.summarisedColumn.columnId);
|
|
36
|
-
const columnSortComparer = this.props.api.customSortApi.internalApi.getCustomSortComparer(this.props.summarisedColumn);
|
|
36
|
+
const columnSortComparer = this.props.api.customSortApi.internalApi.getCustomSortComparer(this.props.summarisedColumn.columnId);
|
|
37
37
|
let noCustomSort = customSort == null && columnSortComparer == null;
|
|
38
38
|
let customSortRow;
|
|
39
39
|
if (!this.props.summarisedColumn.sortable) {
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { useAdaptable } from '../AdaptableContext';
|
|
3
2
|
import { useEffect, useRef, useState } from 'react';
|
|
3
|
+
import { useAdaptable } from '../AdaptableContext';
|
|
4
4
|
import usePrevious from '../../components/utils/usePrevious';
|
|
5
5
|
import { DataChangeHistoryModuleId } from '../../Utilities/Constants/ModuleConstants';
|
|
6
6
|
import { buildActionColumnButton } from './buildActionColumnButton';
|
|
7
|
+
import { AdaptableAgGrid } from '../../agGrid/AdaptableAgGrid';
|
|
7
8
|
export const DataChangeHistoryGrid = (props) => {
|
|
8
9
|
const { changeHistoryLog, adaptableContainerId, agGridContainerId, onUndoChange, onClearRow } = props;
|
|
9
10
|
const mainAdaptableInstance = useAdaptable();
|
|
@@ -20,13 +21,12 @@ export const DataChangeHistoryGrid = (props) => {
|
|
|
20
21
|
const gridOptions = buildGridOptions(mainAdaptableInstance, changeHistoryLog);
|
|
21
22
|
const adaptableOptions = buildAdaptableOptions(mainAdaptableInstance, gridOptions, adaptableContainerId, agGridContainerId, undoChangeEnabled, onUndoChange, onClearRow);
|
|
22
23
|
const modules = mainAdaptableInstance.getAgGridRegisteredModules();
|
|
23
|
-
const
|
|
24
|
+
const dataChangeHistoryAdaptableApi = await AdaptableAgGrid._initInternal({
|
|
25
|
+
variant: 'vanilla',
|
|
26
|
+
adaptableOptions,
|
|
24
27
|
gridOptions,
|
|
25
|
-
modules
|
|
26
|
-
};
|
|
27
|
-
// to avoid direct dependency to Adaptable.ts and thus creating a circular dependency;
|
|
28
|
-
const adaptableInitFn = Object.getPrototypeOf(mainAdaptableInstance).constructor.init;
|
|
29
|
-
const dataChangeHistoryAdaptableApi = await adaptableInitFn(adaptableOptions, agGridConfig);
|
|
28
|
+
modules,
|
|
29
|
+
});
|
|
30
30
|
setAdaptableApi(dataChangeHistoryAdaptableApi);
|
|
31
31
|
};
|
|
32
32
|
initializeAdaptableGrid();
|
|
@@ -65,7 +65,7 @@ export const DataChangeHistoryGrid = (props) => {
|
|
|
65
65
|
// 2. this UI will be reimplemented with Infinite Table anyway
|
|
66
66
|
const addedRows = mapChangeHistoryRowData(addedChangeHistoryLogs, mainAdaptableInstance);
|
|
67
67
|
const removedRows = mapChangeHistoryRowData(removedChangeHistoryLogs, mainAdaptableInstance);
|
|
68
|
-
adaptableApi.
|
|
68
|
+
adaptableApi.agGridApi.applyTransactionAsync({
|
|
69
69
|
add: addedRows,
|
|
70
70
|
remove: removedRows,
|
|
71
71
|
});
|
|
@@ -208,7 +208,6 @@ const buildGridOptions = (mainAdaptableInstance, changeHistoryLog) => {
|
|
|
208
208
|
},
|
|
209
209
|
autoGroupColumnDef: {
|
|
210
210
|
sortable: true,
|
|
211
|
-
// suppressMenu: true,
|
|
212
211
|
},
|
|
213
212
|
columnDefs: [
|
|
214
213
|
{
|
|
@@ -45,7 +45,7 @@ export class FreeTextColumnSummaryComponent extends React.Component {
|
|
|
45
45
|
this.state.editedAdaptableObject && (React.createElement(FreeTextColumnWizard, { moduleInfo: this.props.moduleInfo, data: this.state.editedAdaptableObject, configEntities: this.props.FreeTextColumns, onCloseWizard: () => this.onCloseWizard(), onFinishWizard: this.onFinishWizard }))));
|
|
46
46
|
}
|
|
47
47
|
onNew() {
|
|
48
|
-
let configEntity = ObjectFactory.CreateEmptyFreeTextColumn();
|
|
48
|
+
let configEntity = ObjectFactory.CreateEmptyFreeTextColumn(this.props.api.gridApi.internalApi.deriveSpecialColumnSettingsFromAgGridDefaultColDef());
|
|
49
49
|
configEntity.ColumnId = this.props.summarisedColumn.columnId;
|
|
50
50
|
this.setState({
|
|
51
51
|
editedAdaptableObject: configEntity,
|
|
@@ -8,8 +8,10 @@ import ObjectFactory from '../../../Utilities/ObjectFactory';
|
|
|
8
8
|
import * as FreeTextColumnRedux from '../../../Redux/ActionsReducers/FreeTextColumnRedux';
|
|
9
9
|
import { useDispatch, useSelector } from 'react-redux';
|
|
10
10
|
import { ObjectTagsWizardSection, renderObjectTagsSummary, } from '../../Wizard/ObjectTagsWizardSection';
|
|
11
|
+
import { useAdaptable } from '../../AdaptableContext';
|
|
11
12
|
export const FreeTextColumnWizard = (props) => {
|
|
12
13
|
var _a;
|
|
14
|
+
const adaptable = useAdaptable();
|
|
13
15
|
const allFreeTextColumns = useSelector((state) => state.FreeTextColumn.FreeTextColumns);
|
|
14
16
|
const [freeTextColumn, setFreeTextColumn] = useState(() => {
|
|
15
17
|
var _a, _b;
|
|
@@ -19,7 +21,7 @@ export const FreeTextColumnWizard = (props) => {
|
|
|
19
21
|
if (((_a = props.popupParams) === null || _a === void 0 ? void 0 : _a.action) === 'Edit' && ((_b = props.popupParams) === null || _b === void 0 ? void 0 : _b.column)) {
|
|
20
22
|
return allFreeTextColumns.find((column) => column.ColumnId === props.popupParams.column.columnId);
|
|
21
23
|
}
|
|
22
|
-
return ObjectFactory.CreateEmptyFreeTextColumn();
|
|
24
|
+
return ObjectFactory.CreateEmptyFreeTextColumn(adaptable.api.gridApi.internalApi.deriveSpecialColumnSettingsFromAgGridDefaultColDef());
|
|
23
25
|
});
|
|
24
26
|
const dispatch = useDispatch();
|
|
25
27
|
const isEdit = props.data || ((_a = props.popupParams) === null || _a === void 0 ? void 0 : _a.action) === 'Edit';
|
|
@@ -23,6 +23,7 @@ const QueryViewPanelComponent = (props) => {
|
|
|
23
23
|
const disabled = isReadOnly || isSuspended || gridFilterAccessLevel === 'ReadOnly';
|
|
24
24
|
const handleEnter = (e) => {
|
|
25
25
|
if (e.key === 'Enter') {
|
|
26
|
+
e.preventDefault();
|
|
26
27
|
runQuery();
|
|
27
28
|
}
|
|
28
29
|
};
|
|
@@ -44,10 +45,11 @@ const QueryViewPanelComponent = (props) => {
|
|
|
44
45
|
fontFamily: 'monospace',
|
|
45
46
|
fontSize: 12,
|
|
46
47
|
maxHeight: 52,
|
|
47
|
-
height:
|
|
48
|
-
paddingTop:
|
|
48
|
+
height: '100%',
|
|
49
|
+
paddingTop: 6,
|
|
50
|
+
overflow: 'hidden',
|
|
49
51
|
zIndex: 100,
|
|
50
|
-
},
|
|
52
|
+
}, placeholder: "Grid Filter", onChange: (x) => setExpression(x.target.value), value: expression })),
|
|
51
53
|
isExpressionValid && (React.createElement(ButtonPlay, { onClick: () => runQuery(), tooltip: '', accessLevel: gridFilterAccessLevel, variant: "text", tone: "neutral", disabled: disabled || expression == '' || expression == (gridFilter === null || gridFilter === void 0 ? void 0 : gridFilter.Expression), marginRight: 1 })),
|
|
52
54
|
gridFilter && !isExpressionValid && (React.createElement(ButtonInvalid, { variant: "text", tone: "neutral", tooltip: "Invalid Grid Filter", marginRight: 1 })),
|
|
53
55
|
' ',
|
|
@@ -71,11 +73,13 @@ const QueryViewPanelComponent = (props) => {
|
|
|
71
73
|
maxHeight: 60,
|
|
72
74
|
paddingTop: 7,
|
|
73
75
|
zIndex: 100,
|
|
74
|
-
|
|
76
|
+
height: '100%',
|
|
77
|
+
overflow: 'hidden',
|
|
78
|
+
}, placeholder: "Grid Filter", onChange: (x) => setExpression(x.target.value), value: expression }))));
|
|
75
79
|
};
|
|
76
80
|
const saveButton = (React.createElement(ButtonSave, { onClick: () => saveQuery(), tooltip: "Save as Named Query", accessLevel: namedQueryModuleAccessLevel, disabled: disabled || !isExpressionValid || isExpressionNamedQuery || expression == '', variant: "text", tone: "neutral", marginRight: 1 }));
|
|
77
81
|
const suspendButton = (React.createElement(ButtonPause, { onClick: () => suspendGridFilter(), tooltip: "Suspend Grid Filter", accessLevel: gridFilterAccessLevel, disabled: disabled || !isExpressionValid, variant: "text", tone: "neutral", marginRight: 1 }));
|
|
78
|
-
const unSuspendButton = (React.createElement(ButtonUnsuspend, { onClick: () => unSuspendGridFilter(), tooltip: "Unsuspend Grid Filter", accessLevel: gridFilterAccessLevel, disabled:
|
|
82
|
+
const unSuspendButton = (React.createElement(ButtonUnsuspend, { onClick: () => unSuspendGridFilter(), tooltip: "Unsuspend Grid Filter", accessLevel: gridFilterAccessLevel, disabled: !isExpressionValid, variant: "text", tone: "neutral", marginRight: 1 }));
|
|
79
83
|
const namedQuerySelector = (React.createElement(NamedQuerySelector, { namedQueries: namedQueries, cachedQueries: cachedQueries, currentQuery: gridFilter === null || gridFilter === void 0 ? void 0 : gridFilter.Expression, onSelect: (query) => runQuery(query), setGridFilterExpression: (query) => setGridFilterExpression(query) }));
|
|
80
84
|
const columnsDropdown = (React.createElement(DropdownButton, { disabled: disabled, accessLevel: gridFilterAccessLevel, variant: "text", items: availableColumns, marginRight: 1, tooltip: "Pick Columns" },
|
|
81
85
|
React.createElement(Icon, { name: 'list' })));
|
|
@@ -59,7 +59,7 @@ export const useGridFilterExpressionEditor = () => {
|
|
|
59
59
|
const runQuery = (newExpression = expression) => {
|
|
60
60
|
if (StringExtensions.IsNullOrEmpty(newExpression) &&
|
|
61
61
|
StringExtensions.IsNotNullOrEmpty(gridFilter === null || gridFilter === void 0 ? void 0 : gridFilter.Expression)) {
|
|
62
|
-
// user pressed enter key with an empty input => clear existing
|
|
62
|
+
// user pressed enter key with an empty input => clear existing expression
|
|
63
63
|
adaptable.api.gridFilterApi.setGridFilterExpression('');
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
@@ -9,8 +9,8 @@ import { AdaptableObjectCollection } from '../../Components/AdaptableObjectColle
|
|
|
9
9
|
import { AdaptableObjectRow } from '../../Components/AdaptableObjectRow';
|
|
10
10
|
import { PopupPanel } from '../../Components/Popups/AdaptablePopup/PopupPanel';
|
|
11
11
|
import { AdaptableObjectsSummary } from './AdaptableObjectsSummary';
|
|
12
|
-
import
|
|
13
|
-
const version =
|
|
12
|
+
import { ADAPTABLE_VERSION } from '../../../EnvVars';
|
|
13
|
+
const version = ADAPTABLE_VERSION;
|
|
14
14
|
export const GridInfoPopup = (props) => {
|
|
15
15
|
const CreateGridSummaries = (colItems) => {
|
|
16
16
|
var _a;
|
|
@@ -39,7 +39,6 @@ export const GridInfoPopup = (props) => {
|
|
|
39
39
|
returnRows.push(createReadOnlyColItem(colItems, 'Column Filters', columnFilterDescription));
|
|
40
40
|
returnRows.push(createReadOnlyColItem(colItems, 'Grid Filter', gridFilterExpression));
|
|
41
41
|
returnRows.push(createReadOnlyColItem(colItems, 'All Rows', props.api.gridApi.getRowCount()));
|
|
42
|
-
returnRows.push(createReadOnlyColItem(colItems, 'Visible Rows', props.api.gridApi.getVisibleRowCount()));
|
|
43
42
|
returnRows.push(createReadOnlyColItem(colItems, 'Selected Rows', selectedRowInfo === null || selectedRowInfo === void 0 ? void 0 : selectedRowInfo.gridRows.length));
|
|
44
43
|
returnRows.push(createReadOnlyColItem(colItems, 'Visible Selected Rows', selectedRowInfo === null || selectedRowInfo === void 0 ? void 0 : selectedRowInfo.gridRows.filter((gr) => { var _a; return ((_a = gr.rowNode) === null || _a === void 0 ? void 0 : _a.displayed) == true; }).length));
|
|
45
44
|
returnRows.push(createReadOnlyColItem(colItems, 'All Columns', props.api.gridApi.getColumnCount()));
|
|
@@ -25,8 +25,9 @@ class LayoutViewPanelComponent extends React.Component {
|
|
|
25
25
|
return Object.assign(Object.assign({}, layout), { label: layout.Name, value: layout.Name, onClick: () => this.props.onSelectLayout(layout.Name) });
|
|
26
26
|
});
|
|
27
27
|
const elementType = this.props.viewType === 'Toolbar' ? 'DashboardToolbar' : 'ToolPanel';
|
|
28
|
+
let layoutSelectStyle = elementType === 'ToolPanel' ? { minWidth: '100%' } : {};
|
|
28
29
|
return (React.createElement(Flex, { flexDirection: "row", className: `ab-${elementType}__Layout__wrap`, flexWrap: this.props.viewType === 'ToolPanel' ? 'wrap' : 'nowrap' },
|
|
29
|
-
React.createElement(Flex, { flex: 1 },
|
|
30
|
+
React.createElement(Flex, { style: layoutSelectStyle, flex: 1 },
|
|
30
31
|
React.createElement(Select, { style: { width: '100%' }, options: availableLayoutOptions, className: `ab-${elementType}__Layout__select`, value: layoutEntity ? layoutEntity.Name : null, onChange: (layout) => this.props.onSelectLayout(layout) })),
|
|
31
32
|
React.createElement(Flex, { flexDirection: "row", className: join(this.props.accessLevel == 'ReadOnly' ? GeneralConstants.READ_ONLY_STYLE : '', `ab-${elementType}__Layout__wrap`) },
|
|
32
33
|
isManualSaveLayout && (React.createElement(ButtonSave, { className: `ab-${elementType}__Layout__save`, onClick: () => this.onSaveLayout(), tooltip: "Save Changes to Current Layout", disabled: !this.props.CanSave, accessLevel: accessLevel })),
|