@adaptabletools/adaptable 10.0.3 → 10.0.4-canary.3
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/LICENSE.md +1 -1
- package/README.md +1 -1
- package/base.css +16 -6
- package/bundle.cjs.js +350 -0
- package/index.css +20 -6
- package/package.json +1 -5
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/AdaptableInterfaces/AdaptableNoCodeWizard.d.ts +1 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +14 -12
- package/src/AdaptableOptions/AdaptableOptions.d.ts +3 -3
- package/src/AdaptableOptions/ContainerOptions.d.ts +4 -5
- package/src/AdaptableOptions/DataChangeHistoryOptions.d.ts +1 -1
- package/src/AdaptableOptions/DateInputOptions.d.ts +5 -1
- package/src/AdaptableOptions/EditOptions.d.ts +2 -3
- package/src/AdaptableOptions/FilterOptions.d.ts +8 -8
- package/src/AdaptableOptions/GeneralOptions.d.ts +3 -2
- package/src/AdaptableOptions/MenuOptions.d.ts +11 -11
- package/src/AdaptableOptions/NotificationsOptions.d.ts +11 -1
- package/src/AdaptableOptions/ToolPanelOptions.d.ts +2 -2
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +29 -12
- package/src/Api/AdaptableApi.d.ts +12 -12
- package/src/Api/CalculatedColumnApi.d.ts +15 -0
- package/src/Api/ColumnApi.d.ts +16 -5
- package/src/Api/EventApi.d.ts +1 -1
- package/src/Api/Events/AdaptableReady.d.ts +5 -8
- package/src/Api/Events/AdaptableStateChanged.d.ts +2 -1
- package/src/Api/Events/AlertFired.d.ts +2 -1
- package/src/Api/Events/BaseEventInfo.d.ts +10 -0
- package/src/Api/Events/BaseEventInfo.js +2 -0
- package/src/Api/Events/CellChanged.d.ts +2 -1
- package/src/Api/Events/ChexboxColumnClicked.d.ts +2 -1
- package/src/Api/Events/CustomToolbarConfigured.d.ts +2 -1
- package/src/Api/Events/DashboardChanged.d.ts +2 -1
- package/src/Api/Events/FlashingAlertFired.d.ts +2 -1
- package/src/Api/Events/GridDataChanged.d.ts +2 -1
- package/src/Api/Events/LayoutChanged.d.ts +2 -1
- package/src/Api/Events/LiveDataChanged.d.ts +2 -1
- package/src/Api/Events/SearchChanged.d.ts +2 -1
- package/src/Api/Events/SelectionChanged.d.ts +2 -1
- package/src/Api/Events/SystemStatusMessageDisplayed.d.ts +2 -1
- package/src/Api/Events/TeamSharingEntityChanged.d.ts +2 -1
- package/src/Api/Events/ThemeChanged.d.ts +2 -1
- package/src/Api/GridApi.d.ts +10 -10
- package/src/Api/Implementation/AlertApiImpl.js +17 -17
- package/src/Api/Implementation/CalculatedColumnApiImpl.d.ts +3 -0
- package/src/Api/Implementation/CalculatedColumnApiImpl.js +23 -0
- package/src/Api/Implementation/ColumnApiImpl.d.ts +5 -3
- package/src/Api/Implementation/ColumnApiImpl.js +43 -44
- package/src/Api/Implementation/ConfigApiImpl.js +0 -24
- package/src/Api/Implementation/DashboardApiImpl.js +2 -1
- package/src/Api/Implementation/ExportApiImpl.js +4 -4
- package/src/Api/Implementation/FormatColumnApiImpl.js +2 -1
- package/src/Api/Implementation/FreeTextColumnApiImpl.js +7 -2
- package/src/Api/Implementation/GridApiImpl.d.ts +2 -2
- package/src/Api/Implementation/GridApiImpl.js +14 -13
- package/src/Api/Implementation/InternalApiImpl.d.ts +2 -2
- package/src/Api/Implementation/InternalApiImpl.js +5 -5
- package/src/Api/Implementation/LayoutApiImpl.d.ts +2 -0
- package/src/Api/Implementation/LayoutApiImpl.js +19 -3
- package/src/Api/Implementation/PluginsApiImpl.d.ts +2 -2
- package/src/Api/Implementation/PluginsApiImpl.js +1 -1
- package/src/Api/Implementation/ScheduleApiImpl.js +6 -6
- package/src/Api/Implementation/ScopeApiImpl.js +11 -11
- package/src/Api/Implementation/SystemStatusApiImpl.js +1 -0
- package/src/Api/Implementation/TeamSharingApiImpl.js +1 -0
- package/src/Api/Implementation/ThemeApiImpl.js +1 -0
- package/src/Api/Implementation/ToolPanelApiImpl.js +1 -1
- package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +5 -4
- package/src/Api/Implementation/UserInterfaceApiImpl.js +18 -13
- package/src/Api/InternalApi.d.ts +2 -2
- package/src/Api/LayoutApi.d.ts +7 -0
- package/src/Api/PluginsApi.d.ts +1 -7
- package/src/Api/TeamSharingApi.d.ts +1 -1
- package/src/Api/ThemeApi.d.ts +2 -2
- package/src/Api/UserInterfaceApi.d.ts +6 -5
- package/src/PredefinedConfig/AdaptableState.d.ts +2 -10
- package/src/PredefinedConfig/AlertState.d.ts +2 -3
- package/src/PredefinedConfig/ApplicationState.d.ts +1 -1
- package/src/PredefinedConfig/CalculatedColumnState.d.ts +1 -1
- package/src/PredefinedConfig/Common/AdaptableButton.d.ts +1 -1
- package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +36 -36
- package/src/PredefinedConfig/Common/AdaptableColumn.js +5 -5
- package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +4 -4
- package/src/PredefinedConfig/Common/AdaptablePredicate.js +3 -3
- package/src/PredefinedConfig/Common/AdaptableStyle.d.ts +7 -7
- package/src/PredefinedConfig/Common/DataChangedInfo.d.ts +4 -3
- package/src/PredefinedConfig/Common/Menu.d.ts +40 -17
- package/src/PredefinedConfig/Common/SpecialColumnSettings.d.ts +1 -1
- package/src/PredefinedConfig/Common/Types.d.ts +5 -5
- package/src/PredefinedConfig/Common/Types.js +9 -7
- package/src/PredefinedConfig/ConditionalStyleState.d.ts +1 -1
- package/src/PredefinedConfig/CustomSortState.d.ts +1 -1
- package/src/PredefinedConfig/DataSourceState.d.ts +1 -1
- package/src/PredefinedConfig/ExportState.d.ts +3 -3
- package/src/PredefinedConfig/FilterState.d.ts +2 -2
- package/src/PredefinedConfig/FormatColumnState.d.ts +1 -1
- package/src/PredefinedConfig/FreeTextColumnState.d.ts +1 -1
- package/src/PredefinedConfig/LayoutState.d.ts +1 -1
- package/src/PredefinedConfig/PredefinedConfig.d.ts +0 -40
- package/src/PredefinedConfig/QuickSearchState.d.ts +3 -3
- package/src/PredefinedConfig/ScheduleState.d.ts +1 -1
- package/src/PredefinedConfig/Selection/GridCell.d.ts +2 -1
- package/src/PredefinedConfig/ThemeState.d.ts +5 -1
- package/src/Redux/ActionsReducers/DashboardRedux.js +2 -1
- package/src/Redux/ActionsReducers/GridRedux.d.ts +3 -2
- package/src/Redux/ActionsReducers/GridRedux.js +2 -2
- package/src/Redux/ActionsReducers/LayoutRedux.d.ts +12 -2
- package/src/Redux/ActionsReducers/LayoutRedux.js +24 -1
- package/src/Redux/ActionsReducers/SystemRedux.js +1 -1
- package/src/Redux/DeadRedux.d.ts +4 -8
- package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +6 -1
- package/src/Redux/Store/AdaptableStore.d.ts +3 -3
- package/src/Redux/Store/AdaptableStore.js +21 -16
- package/src/Strategy/AdaptableModuleBase.d.ts +2 -2
- package/src/Strategy/AdaptableModuleBase.js +8 -8
- package/src/Strategy/AlertModule.d.ts +2 -2
- package/src/Strategy/AlertModule.js +13 -105
- package/src/Strategy/BulkUpdateModule.d.ts +2 -2
- package/src/Strategy/BulkUpdateModule.js +7 -7
- package/src/Strategy/CalculatedColumnModule.js +1 -1
- package/src/Strategy/CellSummaryModule.d.ts +2 -2
- package/src/Strategy/CellSummaryModule.js +3 -3
- package/src/Strategy/ConditionalStyleModule.js +3 -3
- package/src/Strategy/CustomSortModule.js +2 -2
- package/src/Strategy/DashboardModule.d.ts +2 -2
- package/src/Strategy/DataChangeHistoryModule.js +2 -2
- package/src/Strategy/ExportModule.d.ts +2 -2
- package/src/Strategy/ExportModule.js +1 -1
- package/src/Strategy/FilterModule.d.ts +2 -2
- package/src/Strategy/FilterModule.js +4 -4
- package/src/Strategy/FormatColumnModule.js +6 -6
- package/src/Strategy/FreeTextColumnModule.js +1 -1
- package/src/Strategy/GridInfoModule.d.ts +2 -2
- package/src/Strategy/Interface/IModule.d.ts +2 -2
- package/src/Strategy/LayoutModule.d.ts +2 -2
- package/src/Strategy/LayoutModule.js +22 -9
- package/src/Strategy/PlusMinusModule.js +8 -9
- package/src/Strategy/SmartEditModule.d.ts +2 -2
- package/src/Strategy/SmartEditModule.js +8 -9
- package/src/Strategy/SystemStatusModule.d.ts +2 -2
- package/src/Utilities/Constants/GeneralConstants.d.ts +1 -0
- package/src/Utilities/Constants/GeneralConstants.js +2 -1
- package/src/Utilities/Constants/ModuleConstants.d.ts +6 -6
- package/src/Utilities/Constants/ModuleConstants.js +7 -7
- package/src/Utilities/Defaults/DefaultAdaptableOptions.js +8 -7
- package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +1 -1
- package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +2 -2
- package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -2
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +1 -1
- package/src/Utilities/Helpers/PreviewHelper.js +2 -2
- package/src/Utilities/Interface/Preview.d.ts +2 -1
- package/src/Utilities/ObjectFactory.js +1 -1
- package/src/Utilities/Services/DataService.js +5 -5
- package/src/Utilities/Services/LicenseService.js +16 -2
- package/src/Utilities/Services/MetamodelService.js +0 -1
- package/src/Utilities/Services/ReportService.js +12 -11
- package/src/Utilities/Services/ValidationService.js +4 -5
- package/src/View/AdaptableViewFactory.d.ts +2 -1
- package/src/View/AdaptableViewFactory.js +2 -0
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationForm.js +7 -7
- package/src/View/Alert/AlertPopup.js +1 -1
- package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +1 -1
- package/src/View/BulkUpdate/BulkUpdatePopup.js +3 -3
- package/src/View/CalculatedColumn/CalculatedColumnPopup.js +1 -1
- package/src/View/CalculatedColumn/CalculatedColumnSummary.js +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +1 -1
- package/src/View/CellSummary/CellSummaryViewPanel.js +2 -2
- package/src/View/Components/ColumnSelector/index.js +2 -2
- package/src/View/Components/FilterForm/FilterForm.js +18 -20
- package/src/View/Components/FilterForm/ListBoxFilterForm.d.ts +1 -1
- package/src/View/Components/FilterForm/ListBoxFilterForm.js +7 -7
- package/src/View/Components/FilterForm/QuickFilterForm.js +15 -17
- package/src/View/Components/NewScopeComponent.js +1 -1
- package/src/View/Components/Panels/FilterFormPanel.d.ts +1 -1
- package/src/View/Components/Panels/PanelWithImage.d.ts +423 -1
- package/src/View/Components/Popups/AdaptablePopupAlert.js +23 -10
- package/src/View/Components/PreviewResultsPanel.js +1 -1
- package/src/View/Components/RangesComponent.js +2 -2
- package/src/View/Components/Selectors/ColumnSelector.js +5 -5
- package/src/View/Components/Selectors/ColumnValueSelector.js +4 -4
- package/src/View/Components/ToolPanel/AdaptableToolPanel.js +10 -11
- package/src/View/Components/ToolPanel/CustomToolPanelContent.js +1 -1
- package/src/View/Components/ToolPanel/ToolPanelPopup.js +2 -3
- package/src/View/ConditionalStyle/ConditionalStylePopup.js +1 -1
- package/src/View/ConditionalStyle/ConditionalStyleSummary.js +1 -1
- package/src/View/CustomSort/CustomSortEntityRow.d.ts +3 -1
- package/src/View/CustomSort/CustomSortEntityRow.js +3 -3
- package/src/View/CustomSort/CustomSortPopup.js +2 -2
- package/src/View/CustomSort/CustomSortSummary.js +3 -3
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +4 -4
- package/src/View/Dashboard/CustomToolbarWrapper.js +2 -1
- package/src/View/Dashboard/Dashboard.js +2 -3
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.d.ts +1 -1
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +11 -10
- package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +6 -6
- package/src/View/Export/ExportCustomDestinationDialog.js +1 -1
- package/src/View/Export/ExportViewPanel.js +6 -6
- package/src/View/Filter/FilterSummary.js +2 -2
- package/src/View/FormatColumn/FormatColumnPopup.js +1 -1
- package/src/View/FormatColumn/FormatColumnSummary.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +1 -1
- package/src/View/FreeTextColumn/FreeTextColumnPopup.js +1 -1
- package/src/View/FreeTextColumn/FreeTextColumnSummary.js +2 -2
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +1 -1
- package/src/View/GridInfo/ColumnInfoComponent.js +16 -16
- package/src/View/GridInfo/GridOptionsComponent.js +1 -1
- package/src/View/Layout/LayoutViewPanel.js +2 -2
- package/src/View/Layout/Wizard/LayoutEditor/ColumnList.js +6 -6
- package/src/View/Layout/Wizard/LayoutEditor/ColumnSortList.js +1 -1
- package/src/View/Layout/Wizard/LayoutEditor/PivotList.js +1 -1
- package/src/View/Layout/Wizard/LayoutEditor/RowGroupsList.js +1 -1
- package/src/View/Layout/Wizard/LayoutEditor/getItemStyle.js +2 -2
- package/src/View/Layout/Wizard/LayoutEditor/index.js +41 -41
- package/src/View/PlusMinus/PlusMinusPopup.js +1 -1
- package/src/View/PlusMinus/PlusMinusSummary.js +1 -1
- package/src/View/Query/QueryViewPanel.js +3 -3
- package/src/View/QuickSearch/useQuickSearchDebounced.js +2 -3
- package/src/View/Schedule/SchedulePopup.js +3 -3
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsWizard.js +1 -1
- package/src/View/SmartEdit/SmartEditPopup.js +1 -1
- package/src/View/StateManagement/StateManagementPopup.d.ts +2 -12
- package/src/View/StateManagement/StateManagementPopup.js +21 -114
- package/src/View/StateManagement/StateManagementViewPanel.d.ts +5 -0
- package/src/View/StateManagement/StateManagementViewPanel.js +22 -0
- package/src/View/StateManagement/components/ClearButton.d.ts +6 -0
- package/src/View/StateManagement/components/ClearButton.js +9 -0
- package/src/View/StateManagement/components/ExportDropdown.d.ts +8 -0
- package/src/View/StateManagement/components/ExportDropdown.js +43 -0
- package/src/View/StateManagement/components/LoadButton.d.ts +7 -0
- package/src/View/StateManagement/components/LoadButton.js +38 -0
- package/src/View/StateManagement/handleExportState.d.ts +1 -0
- package/src/View/StateManagement/handleExportState.js +22 -0
- package/src/View/Theme/ThemeViewPanel.js +1 -1
- package/src/agGrid/ActionColumnRenderer.js +1 -1
- package/src/agGrid/Adaptable.d.ts +9 -8
- package/src/agGrid/Adaptable.js +174 -132
- package/src/agGrid/agGridHelper.d.ts +4 -4
- package/src/agGrid/agGridHelper.js +46 -46
- package/src/agGrid/agGridMenuHelper.d.ts +15 -13
- package/src/agGrid/agGridMenuHelper.js +55 -47
- package/src/agGrid/editors/AdaptableDateEditor/InternalAdaptableDateEditor.d.ts +1 -1
- package/src/agGrid/editors/AdaptableDateEditor/InternalAdaptableDateEditor.js +11 -6
- package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +3 -2
- package/src/agGrid/editors/AdaptableDateEditor/index.js +16 -6
- package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +1 -0
- package/src/agGrid/editors/AdaptableNumberEditor/index.js +7 -2
- package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +3 -3
- package/src/components/Datepicker/DatepickerContext.d.ts +2 -2
- package/src/components/Datepicker/index.js +9 -5
- package/src/components/ExpressionEditor/index.js +7 -7
- package/src/components/Modal/index.d.ts +1 -1
- package/src/components/OverlayTrigger/index.js +3 -3
- package/src/components/OverlayTrigger/useAgGridClassName.d.ts +2 -0
- package/src/components/OverlayTrigger/{useVendorClassName.js → useAgGridClassName.js} +3 -3
- package/src/components/ProgressIndicator/ProgressIndicator.js +1 -1
- package/src/components/icons/index.js +2 -0
- package/src/components/icons/upload.d.ts +3 -0
- package/src/components/icons/upload.js +8 -0
- package/src/metamodel/adaptable.metamodel.d.ts +104 -50
- package/src/metamodel/adaptable.metamodel.js +358 -300
- package/src/types.d.ts +2 -2
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/src/PredefinedConfig/DeprecatedState.d.ts +0 -82
- package/src/PredefinedConfig/DeprecatedState.js +0 -5
- package/src/components/OverlayTrigger/useVendorClassName.d.ts +0 -2
|
@@ -33,6 +33,7 @@ exports.DefaultAdaptableOptions = {
|
|
|
33
33
|
isDraggable: false,
|
|
34
34
|
transition: 'Slide',
|
|
35
35
|
actionHandlers: undefined,
|
|
36
|
+
showApplicationIcon: false,
|
|
36
37
|
flashingAlertDefaultProperties: {
|
|
37
38
|
FlashDuration: 500,
|
|
38
39
|
DownChangeStyle: {
|
|
@@ -50,8 +51,8 @@ exports.DefaultAdaptableOptions = {
|
|
|
50
51
|
},
|
|
51
52
|
containerOptions: {
|
|
52
53
|
adaptableContainer: 'adaptable',
|
|
53
|
-
|
|
54
|
-
|
|
54
|
+
agGridContainer: 'grid',
|
|
55
|
+
agGridContainerWaitTimeout: 60000,
|
|
55
56
|
modalContainer: undefined,
|
|
56
57
|
chartContainer: undefined,
|
|
57
58
|
systemStatusContainer: undefined,
|
|
@@ -117,8 +118,8 @@ exports.DefaultAdaptableOptions = {
|
|
|
117
118
|
showAdaptableContextMenu: true,
|
|
118
119
|
showAdaptableColumnMenu: true,
|
|
119
120
|
showUngroupColumnMenuItem: true,
|
|
120
|
-
columnMenuOrder: ['
|
|
121
|
-
contextMenuOrder: ['
|
|
121
|
+
columnMenuOrder: ['aggrid', 'adaptable', 'user'],
|
|
122
|
+
contextMenuOrder: ['aggrid', 'adaptable', 'user'],
|
|
122
123
|
columnMenuItems: undefined,
|
|
123
124
|
contextMenuItems: undefined,
|
|
124
125
|
},
|
|
@@ -127,7 +128,7 @@ exports.DefaultAdaptableOptions = {
|
|
|
127
128
|
hideQuickFilterInput: undefined,
|
|
128
129
|
indicateFilteredColumns: true,
|
|
129
130
|
useAdaptableFilterForm: true,
|
|
130
|
-
|
|
131
|
+
useAgGridFilterFormStyle: true,
|
|
131
132
|
useAdaptableQuickFilter: true,
|
|
132
133
|
clearFiltersOnStartUp: false,
|
|
133
134
|
quickFilterTrigger: 'mouseenter',
|
|
@@ -203,7 +204,7 @@ exports.DefaultAdaptableOptions = {
|
|
|
203
204
|
width: UIHelper_1.default.getAdaptableToolPanelWidth(),
|
|
204
205
|
minWidth: UIHelper_1.default.getAdaptableToolPanelWidth(),
|
|
205
206
|
maxWidth: undefined,
|
|
206
|
-
toolPanelOrder: ['filters', 'columns', '
|
|
207
|
+
toolPanelOrder: ['filters', 'columns', 'adaptable'],
|
|
207
208
|
},
|
|
208
209
|
queryLanguageOptions: {
|
|
209
210
|
defaultBooleanFunctions: booleanExpressionFunctions_1.booleanExpressionFunctions,
|
|
@@ -217,7 +218,7 @@ exports.DefaultAdaptableOptions = {
|
|
|
217
218
|
},
|
|
218
219
|
dataChangeHistoryOptions: {
|
|
219
220
|
activeByDefault: false,
|
|
220
|
-
|
|
221
|
+
showDataChange: undefined,
|
|
221
222
|
},
|
|
222
223
|
customPredicateDefs: [],
|
|
223
224
|
};
|
|
@@ -227,7 +227,7 @@ exports.booleanExpressionFunctions = {
|
|
|
227
227
|
const searchTerm = expressionFunctionUtils_1.getStringValue(context, String(args[0]));
|
|
228
228
|
return (_a = context.api) === null || _a === void 0 ? void 0 : _a.columnApi.getColumns().some((column) => {
|
|
229
229
|
var _a;
|
|
230
|
-
const value = (_a = context.api) === null || _a === void 0 ? void 0 : _a.gridApi.getNormalisedValueFromRowNode(context.node, column.
|
|
230
|
+
const value = (_a = context.api) === null || _a === void 0 ? void 0 : _a.gridApi.getNormalisedValueFromRowNode(context.node, column.columnId);
|
|
231
231
|
const columnValue = expressionFunctionUtils_1.getStringValue(context, String(value));
|
|
232
232
|
return columnValue.indexOf(searchTerm) !== -1;
|
|
233
233
|
});
|
|
@@ -23,7 +23,7 @@ exports.isTextSearchCaseInsensitive = (context) => !context.api.internalApi.isTe
|
|
|
23
23
|
exports.getDataChangeLog$ = (context, columnNameFilter) => {
|
|
24
24
|
let dataChangeLog$ = context.api.internalApi.getDataService().dataChangeLog$;
|
|
25
25
|
// filter only the given column changes
|
|
26
|
-
dataChangeLog$ = dataChangeLog$.pipe(operators_1.filter((dataChangeLog) => dataChangeLog.columnId === columnNameFilter));
|
|
26
|
+
dataChangeLog$ = dataChangeLog$.pipe(operators_1.filter((dataChangeLog) => dataChangeLog.column.columnId === columnNameFilter));
|
|
27
27
|
// filter based on the WHERE clause
|
|
28
28
|
if (context.filterFn) {
|
|
29
29
|
dataChangeLog$ = dataChangeLog$.pipe(operators_1.filter((value) => context.filterFn(value.rowNode)));
|
|
@@ -92,7 +92,7 @@ const validateColumnId = (columnId, api) => {
|
|
|
92
92
|
if (!column) {
|
|
93
93
|
throw new ExpressionEvaluationError_1.ExpressionEvaluationError('', `Column name "${columnId}" is not found`);
|
|
94
94
|
}
|
|
95
|
-
if (!column.
|
|
95
|
+
if (!column.queryable) {
|
|
96
96
|
throw new ExpressionEvaluationError_1.ExpressionEvaluationError('', `Column name "${columnId}" is not queryable`);
|
|
97
97
|
}
|
|
98
98
|
};
|
|
@@ -244,14 +244,15 @@ const getDataChangedInfoStub = (context) => {
|
|
|
244
244
|
const rowNode = rowNodeStub;
|
|
245
245
|
if (rowNode) {
|
|
246
246
|
const primaryKeyValue = context.api.gridApi.getPrimaryKeyValueForRowNode(rowNode);
|
|
247
|
-
const columnId = (_a = context.api.columnApi.getQueryableColumns()[0]) === null || _a === void 0 ? void 0 : _a.
|
|
247
|
+
const columnId = (_a = context.api.columnApi.getQueryableColumns()[0]) === null || _a === void 0 ? void 0 : _a.columnId;
|
|
248
248
|
const oldValue = context.api.gridApi.getCellRawValue(primaryKeyValue, columnId);
|
|
249
|
+
const column = context.api.columnApi.getColumnFromId(columnId);
|
|
249
250
|
const newValue = oldValue;
|
|
250
251
|
return {
|
|
251
252
|
changedAt: Date.now(),
|
|
252
253
|
rowNode,
|
|
253
254
|
primaryKeyValue,
|
|
254
|
-
|
|
255
|
+
column: column,
|
|
255
256
|
oldValue,
|
|
256
257
|
newValue,
|
|
257
258
|
};
|
|
@@ -89,7 +89,7 @@ exports.scalarExpressionFunctions = {
|
|
|
89
89
|
if (!column) {
|
|
90
90
|
throw new ExpressionEvaluationError_1.ExpressionEvaluationError('COL', `Column name "${columnId}" is not found`);
|
|
91
91
|
}
|
|
92
|
-
if (!column.
|
|
92
|
+
if (!column.queryable) {
|
|
93
93
|
throw new ExpressionEvaluationError_1.ExpressionEvaluationError('COL', `Column name "${columnId}" is not queryable`);
|
|
94
94
|
}
|
|
95
95
|
return (_b = context.api) === null || _b === void 0 ? void 0 : _b.gridApi.getNormalisedValueFromRowNode(context.node, columnId);
|
|
@@ -39,11 +39,11 @@ function GetCellInfosFromPreview(previewInfo, bypassValidationWarnings) {
|
|
|
39
39
|
if (previewResult.validationRules.length == 0) {
|
|
40
40
|
newValues.push({
|
|
41
41
|
primaryKeyValue: previewResult.id,
|
|
42
|
-
columnId: previewInfo.columnId,
|
|
43
42
|
rawValue: previewResult.computedValue,
|
|
44
43
|
displayValue: previewResult.computedValue,
|
|
45
44
|
normalisedValue: previewResult.computedValue,
|
|
46
45
|
rowNode: previewResult.rowNode,
|
|
46
|
+
column: previewInfo.column,
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
49
|
}
|
|
@@ -54,7 +54,7 @@ function GetCellInfosFromPreview(previewInfo, bypassValidationWarnings) {
|
|
|
54
54
|
.forEach((pr) => {
|
|
55
55
|
newValues.push({
|
|
56
56
|
primaryKeyValue: pr.id,
|
|
57
|
-
|
|
57
|
+
column: previewInfo.column,
|
|
58
58
|
rawValue: pr.computedValue,
|
|
59
59
|
displayValue: pr.computedValue,
|
|
60
60
|
normalisedValue: pr.computedValue,
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { AlertDefinition } from '../../PredefinedConfig/AlertState';
|
|
2
2
|
import { RowNode } from '@ag-grid-community/all-modules';
|
|
3
|
+
import { AdaptableColumn } from '../../../types';
|
|
3
4
|
export interface PreviewInfo {
|
|
4
|
-
|
|
5
|
+
column: AdaptableColumn;
|
|
5
6
|
previewResults: PreviewResult[];
|
|
6
7
|
previewValidationSummary: PreviewValidationSummary;
|
|
7
8
|
}
|
|
@@ -360,7 +360,7 @@ function CreateEmptyLayout(layout, adaptableColumns) {
|
|
|
360
360
|
return Object.assign(Object.assign({}, layout), { Uuid: Uuid_1.createUuid(), Columns: layout.Columns || [], ColumnSorts: layout.ColumnSorts || [],
|
|
361
361
|
// ColumnFlexMap: layout.ColumnFlexMap || {},
|
|
362
362
|
ColumnWidthMap: layout.ColumnWidthMap || {}, RowGroupedColumns: layout.RowGroupedColumns ||
|
|
363
|
-
(adaptableColumns ? adaptableColumns.filter((c) => c.
|
|
363
|
+
(adaptableColumns ? adaptableColumns.filter((c) => c.isGrouped).map((c) => c.columnId) : []) });
|
|
364
364
|
}
|
|
365
365
|
exports.CreateEmptyLayout = CreateEmptyLayout;
|
|
366
366
|
function CreateEmptyStyle() {
|
|
@@ -30,8 +30,8 @@ class DataService {
|
|
|
30
30
|
// we need this temporary "shared memory" because the value change and the AG Grid cellChanged event are asynchronous
|
|
31
31
|
// in the first phase we keep the undone change
|
|
32
32
|
logUndoChange(change) {
|
|
33
|
-
const { primaryKeyValue,
|
|
34
|
-
const undoChangeKey = this.getUndoChangeKey(primaryKeyValue, columnId, oldValue, newValue);
|
|
33
|
+
const { primaryKeyValue, column, oldValue, newValue } = change;
|
|
34
|
+
const undoChangeKey = this.getUndoChangeKey(primaryKeyValue, column.columnId, oldValue, newValue);
|
|
35
35
|
this.undoChangeLog.set(undoChangeKey, change);
|
|
36
36
|
// normally the extractUndoChange() should be executed right after this method
|
|
37
37
|
// just to be sure that no 'zombie' undo change remains here (if something goes wrong with the undo value change)
|
|
@@ -39,16 +39,16 @@ class DataService {
|
|
|
39
39
|
// why 2 and not 3 or 1? no good reason, only seems like a reasonable waiting time :)
|
|
40
40
|
const UNDO_WAIT = 2000;
|
|
41
41
|
const timeoutId = setTimeout(() => {
|
|
42
|
-
LoggingHelper_1.LogAdaptableInfo(`Undo change was NOT handled, this should NOT happen: PK(${change.primaryKeyValue}) Col(${change.
|
|
42
|
+
LoggingHelper_1.LogAdaptableInfo(`Undo change was NOT handled, this should NOT happen: PK(${change.primaryKeyValue}) Col(${change.column}) RevertedValue(${change.newValue}) NewValue(${change.oldValue})`);
|
|
43
43
|
this.extractUndoChange(change);
|
|
44
44
|
}, UNDO_WAIT);
|
|
45
45
|
this.undoChangeTimers.set(undoChangeKey, timeoutId);
|
|
46
46
|
}
|
|
47
47
|
// in the second phase, when AG-Grid triggers the cellChange event, we check if it corresponds to an undone change
|
|
48
48
|
extractUndoChange(change) {
|
|
49
|
-
const { primaryKeyValue,
|
|
49
|
+
const { primaryKeyValue, column, oldValue, newValue } = change;
|
|
50
50
|
// this is post-undo, so we have to swap the new& old values
|
|
51
|
-
const undoChangeKey = this.getUndoChangeKey(primaryKeyValue, columnId, newValue, oldValue);
|
|
51
|
+
const undoChangeKey = this.getUndoChangeKey(primaryKeyValue, column.columnId, newValue, oldValue);
|
|
52
52
|
const result = this.undoChangeLog.get(undoChangeKey);
|
|
53
53
|
this.undoChangeLog.delete(undoChangeKey);
|
|
54
54
|
const timeoutId = this.undoChangeTimers.get(undoChangeKey);
|
|
@@ -23,19 +23,33 @@ var LicenseValidityType;
|
|
|
23
23
|
LicenseValidityType["COMMERCIAL_EXPIRED_IN_SCOPE"] = "COMMERCIAL_EXPIRED_IN_SCOPE";
|
|
24
24
|
LicenseValidityType["COMMERCIAL_EXPIRED_OUT_OF_SCOPE"] = "COMMERCIAL_EXPIRED_OUT_OF_SCOPE";
|
|
25
25
|
})(LicenseValidityType = exports.LicenseValidityType || (exports.LicenseValidityType = {}));
|
|
26
|
+
const SANDPACK_REGEX = /(https):\/\/\d+\-\d+\-\d\-(sandpack\.codesandbox\.io)/g;
|
|
27
|
+
const SANDBOX_REGEX = /(https):\/\/\S+(\.csb\.app)/g;
|
|
28
|
+
const origin = typeof window !== 'undefined' ? window.location.origin : '';
|
|
29
|
+
const isInsideSandpack = () => {
|
|
30
|
+
const [_fullUrl, protocol, sandpackUrl] = Array.from(SANDPACK_REGEX.exec(origin) || []);
|
|
31
|
+
return protocol === 'https' && sandpackUrl === 'sandpack.codesandbox.io';
|
|
32
|
+
};
|
|
33
|
+
const isInsideSandbox = () => {
|
|
34
|
+
const [_fullUrl, protocol, sandboxUrl] = Array.from(SANDBOX_REGEX.exec(origin) || []);
|
|
35
|
+
return protocol === 'https' && sandboxUrl === '.csb.app';
|
|
36
|
+
};
|
|
26
37
|
class LicenseService {
|
|
27
38
|
constructor(adaptable, licenseKey, packageDetails) {
|
|
28
39
|
this.adaptable = adaptable;
|
|
29
40
|
this.adaptable = adaptable;
|
|
30
41
|
let details = null;
|
|
31
|
-
if (licenseKey)
|
|
42
|
+
if (licenseKey) {
|
|
32
43
|
try {
|
|
33
44
|
details = decode_1.decode(licenseKey);
|
|
34
45
|
}
|
|
35
46
|
catch (error) {
|
|
36
47
|
details = error;
|
|
37
48
|
}
|
|
38
|
-
|
|
49
|
+
}
|
|
50
|
+
if (!isInsideSandpack() && !isInsideSandbox()) {
|
|
51
|
+
this.handleLicenseValidation(details, this.getValidityType(details, packageDetails));
|
|
52
|
+
}
|
|
39
53
|
}
|
|
40
54
|
getValidityType(details, packageDetails) {
|
|
41
55
|
if (!details) {
|
|
@@ -16,7 +16,6 @@ class MetamodelService {
|
|
|
16
16
|
buildGridInfoOptions() {
|
|
17
17
|
const gridInfoOptions = new Map();
|
|
18
18
|
const adaptableMetamodel = adaptable_metamodel_1.ADAPTABLE_METAMODEL;
|
|
19
|
-
console.log({ adaptableMetamodel });
|
|
20
19
|
const adaptableOptionsMetamodel = adaptableMetamodel['AdaptableOptions'];
|
|
21
20
|
const adaptableOptionsValues = this.adaptable.adaptableOptions;
|
|
22
21
|
const adaptableOptionsDefaultValues = DefaultAdaptableOptions_1.DefaultAdaptableOptions;
|
|
@@ -160,14 +160,14 @@ class ReportService {
|
|
|
160
160
|
reportColumns = gridColumns;
|
|
161
161
|
break;
|
|
162
162
|
case Enums_1.ReportColumnScope.VisibleColumns:
|
|
163
|
-
reportColumns = gridColumns.filter((c) => c.
|
|
163
|
+
reportColumns = gridColumns.filter((c) => c.visible);
|
|
164
164
|
break;
|
|
165
165
|
case Enums_1.ReportColumnScope.SelectedColumns:
|
|
166
166
|
// we extract the selected columns from the grid columns to preserve the grid column order
|
|
167
167
|
const selectedColumnIds = this.adaptable.api.gridApi
|
|
168
168
|
.getSelectedCellInfo()
|
|
169
|
-
.columns.map((column) => column.
|
|
170
|
-
reportColumns = gridColumns.filter((gridColumn) => selectedColumnIds.includes(gridColumn.
|
|
169
|
+
.columns.map((column) => column.columnId);
|
|
170
|
+
reportColumns = gridColumns.filter((gridColumn) => selectedColumnIds.includes(gridColumn.columnId));
|
|
171
171
|
break;
|
|
172
172
|
case Enums_1.ReportColumnScope.ScopeColumns:
|
|
173
173
|
if ('ColumnIds' in report.Scope) {
|
|
@@ -182,7 +182,7 @@ class ReportService {
|
|
|
182
182
|
break;
|
|
183
183
|
}
|
|
184
184
|
if (includePrimaryKey) {
|
|
185
|
-
const pkColumn = reportColumns.find((column) => column.
|
|
185
|
+
const pkColumn = reportColumns.find((column) => column.columnId === this.adaptable.adaptableOptions.primaryKey);
|
|
186
186
|
// TODO simplify after we fix the IsPrimaryKey bug
|
|
187
187
|
// const pkColumn = reportColumns.find(column => column.IsPrimaryKey);
|
|
188
188
|
if (!pkColumn && !!this.adaptable.api.columnApi.getPrimaryKeyColumn()) {
|
|
@@ -194,16 +194,16 @@ class ReportService {
|
|
|
194
194
|
getReportData(report, includePrimaryKey = false) {
|
|
195
195
|
var _a, _b;
|
|
196
196
|
const columns = this.GetReportColumnsForReport(report, includePrimaryKey).map((column) => ({
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
197
|
+
columnId: column.columnId,
|
|
198
|
+
friendlyName: column.friendlyName,
|
|
199
|
+
dataType: column.dataType,
|
|
200
200
|
}));
|
|
201
201
|
if (ArrayExtensions_1.default.IsNullOrEmpty(columns) &&
|
|
202
202
|
report.ReportRowScope !== Enums_1.ReportRowScope.CustomRows) {
|
|
203
203
|
return { columns: [], rows: [] };
|
|
204
204
|
}
|
|
205
205
|
const data = { columns, rows: [] };
|
|
206
|
-
const columnIds = columns.map((column) => column.
|
|
206
|
+
const columnIds = columns.map((column) => column.columnId);
|
|
207
207
|
switch (report.ReportRowScope) {
|
|
208
208
|
case Enums_1.ReportRowScope.AllRows:
|
|
209
209
|
this.adaptable.forAllRowNodesDo((rowNode) => {
|
|
@@ -240,7 +240,7 @@ class ReportService {
|
|
|
240
240
|
const rowPrimaryKeyValue = this.adaptable.getPrimaryKeyValueFromRowNode(rowNode);
|
|
241
241
|
const selectedRowCells = selectedCellsByPrimaryKey[rowPrimaryKeyValue];
|
|
242
242
|
if (selectedRowCells) {
|
|
243
|
-
const selectedRowColumnIds = selectedRowCells.map((rowCell) => rowCell.columnId);
|
|
243
|
+
const selectedRowColumnIds = selectedRowCells.map((rowCell) => rowCell.column.columnId);
|
|
244
244
|
const selectedColumnIds = columnIds.filter((columnId) => selectedRowColumnIds.includes(columnId));
|
|
245
245
|
const row = this.getRowObjectForColumnIds(rowNode, selectedColumnIds);
|
|
246
246
|
if (includePrimaryKey) {
|
|
@@ -275,8 +275,8 @@ class ReportService {
|
|
|
275
275
|
}
|
|
276
276
|
convertReportDataToArray(reportData) {
|
|
277
277
|
return [
|
|
278
|
-
reportData.columns.map((column) => column.
|
|
279
|
-
...reportData.rows.map((row) => reportData.columns.map((column) => row[column.
|
|
278
|
+
reportData.columns.map((column) => column.friendlyName),
|
|
279
|
+
...reportData.rows.map((row) => reportData.columns.map((column) => row[column.columnId])),
|
|
280
280
|
];
|
|
281
281
|
}
|
|
282
282
|
getRowObjectForColumnIds(rowNode, columnIds) {
|
|
@@ -287,6 +287,7 @@ class ReportService {
|
|
|
287
287
|
}
|
|
288
288
|
PublishLiveLiveDataChangedEvent(reportDestination, liveDataTrigger, liveReport) {
|
|
289
289
|
const liveDataChangedInfo = {
|
|
290
|
+
adaptableApi: this.adaptable.api,
|
|
290
291
|
reportDestination: reportDestination,
|
|
291
292
|
liveDataTrigger: liveDataTrigger,
|
|
292
293
|
liveReport: liveReport,
|
|
@@ -18,7 +18,7 @@ class ValidationService {
|
|
|
18
18
|
}
|
|
19
19
|
let editingRules = this.adaptable.api.alertApi
|
|
20
20
|
.getAlertDefinitionsWithPreventEdit()
|
|
21
|
-
.filter((v) => this.adaptable.api.scopeApi.isColumnInScope(
|
|
21
|
+
.filter((v) => this.adaptable.api.scopeApi.isColumnInScope(dataChangedInfo.column, v.Scope));
|
|
22
22
|
let failedValidations = [];
|
|
23
23
|
if (ArrayExtensions_1.ArrayExtensions.IsNotEmpty(editingRules)) {
|
|
24
24
|
editingRules.forEach((alertDefinition) => {
|
|
@@ -55,13 +55,12 @@ class ValidationService {
|
|
|
55
55
|
return true;
|
|
56
56
|
}
|
|
57
57
|
IsAlertDefinitionTriggered(alertDefinition, dataChangedEvent) {
|
|
58
|
-
const column = this.adaptable.api.columnApi.getColumnFromId(dataChangedEvent.columnId);
|
|
59
58
|
return this.adaptable.api.predicateApi.handlePredicate(alertDefinition.Rule.Predicate, {
|
|
60
59
|
value: dataChangedEvent.newValue,
|
|
61
60
|
oldValue: dataChangedEvent.oldValue,
|
|
62
|
-
displayValue: this.adaptable.getDisplayValueFromRowNode(dataChangedEvent.rowNode, dataChangedEvent.columnId),
|
|
61
|
+
displayValue: this.adaptable.getDisplayValueFromRowNode(dataChangedEvent.rowNode, dataChangedEvent.column.columnId),
|
|
63
62
|
node: dataChangedEvent.rowNode,
|
|
64
|
-
column,
|
|
63
|
+
column: dataChangedEvent.column,
|
|
65
64
|
}, false);
|
|
66
65
|
}
|
|
67
66
|
performServerValidation(dataChangedInfo, config) {
|
|
@@ -82,7 +81,7 @@ class ValidationService {
|
|
|
82
81
|
if (!row) {
|
|
83
82
|
return;
|
|
84
83
|
}
|
|
85
|
-
row[(_b = this.adaptable.api.columnApi.
|
|
84
|
+
row[(_b = this.adaptable.api.columnApi.getAgGridColumnFieldForAdaptableColumn(dataChangedInfo.column.columnId)) !== null && _b !== void 0 ? _b : dataChangedInfo.column.columnId] = validationResult.NewValue;
|
|
86
85
|
this.adaptable.api.gridApi.updateGridData([row]);
|
|
87
86
|
if (StringExtensions_1.default.IsNotNullOrEmpty(validationResult.ValidationMessage) &&
|
|
88
87
|
this.adaptable.adaptableOptions.editOptions.displayServerValidationMessages) {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
import { ConnectedComponent } from 'react-redux';
|
|
2
3
|
import { AdaptableModule } from '../PredefinedConfig/Common/Types';
|
|
3
4
|
export declare const AdaptableViewFactory: IAdaptableViewFactory;
|
|
4
|
-
export declare const AdaptableViewPanelFactory: Map<AdaptableModule, ConnectedComponent<any, any>>;
|
|
5
|
+
export declare const AdaptableViewPanelFactory: Map<AdaptableModule, React.FunctionComponent<any> | ConnectedComponent<any, any>>;
|
|
5
6
|
export interface IAdaptableViewFactory {
|
|
6
7
|
[key: string]: any;
|
|
7
8
|
}
|
|
@@ -44,6 +44,7 @@ const ThemeViewPanel_1 = require("./Theme/ThemeViewPanel");
|
|
|
44
44
|
const DataSourceViewPanel_1 = require("./DataSource/DataSourceViewPanel");
|
|
45
45
|
const DataChangeHistoryPopup_1 = require("./DataChangeHistory/DataChangeHistoryPopup");
|
|
46
46
|
const DataChangeHistoryViewPanel_1 = require("./DataChangeHistory/DataChangeHistoryViewPanel");
|
|
47
|
+
const StateManagementViewPanel_1 = require("./StateManagement/StateManagementViewPanel");
|
|
47
48
|
exports.AdaptableViewFactory = {
|
|
48
49
|
ExpandedQueryPopup: ExpandedQueryPopup_1.ExpandedQueryPopup,
|
|
49
50
|
AlertPopup: AlertPopup_1.AlertPopup,
|
|
@@ -88,4 +89,5 @@ exports.AdaptableViewPanelFactory = new Map([
|
|
|
88
89
|
[ModuleConstants.ThemeModuleId, ThemeViewPanel_1.ThemeViewPanelControl],
|
|
89
90
|
[ModuleConstants.DataSourceModuleId, DataSourceViewPanel_1.DataSourceViewPanelControl],
|
|
90
91
|
[ModuleConstants.DataChangeHistoryModuleId, DataChangeHistoryViewPanel_1.DataChangeHistoryViewPanelControl],
|
|
92
|
+
[ModuleConstants.StateManagementModuleId, StateManagementViewPanel_1.StateManagementViewPanel],
|
|
91
93
|
]);
|
|
@@ -16,7 +16,7 @@ const ConfigurationForm = (props) => {
|
|
|
16
16
|
const searchOptions = Object.assign(Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.searchOptions), abOptions.searchOptions);
|
|
17
17
|
const filterOptions = Object.assign(Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.filterOptions), abOptions.filterOptions);
|
|
18
18
|
// we are 'hard-coding' this to use AG Grid but so does helper so ok for now and we can refactor when Adaptable Grid is ready
|
|
19
|
-
const
|
|
19
|
+
const gridOptions = Object.assign(Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.vendorGrid), abOptions.vendorGrid);
|
|
20
20
|
return (React.createElement(React.Fragment, null,
|
|
21
21
|
React.createElement(HelpBlock_1.default, null, "General Options"),
|
|
22
22
|
React.createElement(FormLayout_1.default, { margin: 2, columns: [{ name: 'children' }, { name: 'label', style: { textAlign: 'start' } }] },
|
|
@@ -30,28 +30,28 @@ const ConfigurationForm = (props) => {
|
|
|
30
30
|
React.createElement(HelpBlock_1.default, null, "Grid Options"),
|
|
31
31
|
React.createElement(FormLayout_1.default, { margin: 2, columns: [{ name: 'children' }, { name: 'label', style: { textAlign: 'start' } }] },
|
|
32
32
|
React.createElement(FormLayout_1.FormRow, { label: "Enable Range Selection" },
|
|
33
|
-
React.createElement(CheckBox_1.CheckBox, { checked:
|
|
33
|
+
React.createElement(CheckBox_1.CheckBox, { checked: gridOptions.enableRangeSelection, onChange: (enableRangeSelection) => {
|
|
34
34
|
abOptions = Object.assign({}, abOptions);
|
|
35
35
|
abOptions.vendorGrid = Object.assign({}, abOptions.vendorGrid);
|
|
36
36
|
abOptions.vendorGrid.enableRangeSelection = enableRangeSelection;
|
|
37
37
|
props.onChangeadaptableOptions(abOptions);
|
|
38
38
|
} })),
|
|
39
39
|
React.createElement(FormLayout_1.FormRow, { label: "Show Quick Filter" },
|
|
40
|
-
React.createElement(CheckBox_1.CheckBox, { checked:
|
|
40
|
+
React.createElement(CheckBox_1.CheckBox, { checked: gridOptions.floatingFilter, onChange: (floatingFilter) => {
|
|
41
41
|
abOptions = Object.assign({}, abOptions);
|
|
42
42
|
abOptions.vendorGrid = Object.assign({}, abOptions.vendorGrid);
|
|
43
43
|
abOptions.vendorGrid.floatingFilter = floatingFilter;
|
|
44
44
|
props.onChangeadaptableOptions(abOptions);
|
|
45
45
|
} })),
|
|
46
46
|
React.createElement(FormLayout_1.FormRow, { label: "Suppress Column Virtualisation" },
|
|
47
|
-
React.createElement(CheckBox_1.CheckBox, { checked:
|
|
47
|
+
React.createElement(CheckBox_1.CheckBox, { checked: gridOptions.suppressColumnVirtualisation, onChange: (suppressColumnVirtualisation) => {
|
|
48
48
|
abOptions = Object.assign({}, abOptions);
|
|
49
49
|
abOptions.vendorGrid = Object.assign({}, abOptions.vendorGrid);
|
|
50
50
|
abOptions.vendorGrid.suppressColumnVirtualisation = suppressColumnVirtualisation;
|
|
51
51
|
props.onChangeadaptableOptions(abOptions);
|
|
52
52
|
} })),
|
|
53
53
|
React.createElement(FormLayout_1.FormRow, { label: "Show Column Menu Button" },
|
|
54
|
-
React.createElement(CheckBox_1.CheckBox, { checked:
|
|
54
|
+
React.createElement(CheckBox_1.CheckBox, { checked: gridOptions.suppressMenuHide, onChange: (suppressMenuHide) => {
|
|
55
55
|
abOptions = Object.assign({}, abOptions);
|
|
56
56
|
abOptions.vendorGrid = Object.assign({}, abOptions.vendorGrid);
|
|
57
57
|
abOptions.vendorGrid.suppressMenuHide = suppressMenuHide;
|
|
@@ -76,10 +76,10 @@ const ConfigurationForm = (props) => {
|
|
|
76
76
|
props.onChangeadaptableOptions(abOptions);
|
|
77
77
|
} })),
|
|
78
78
|
React.createElement(FormLayout_1.FormRow, { label: "Use Vendor Filter Form Style" },
|
|
79
|
-
React.createElement(CheckBox_1.CheckBox, { checked: filterOptions.
|
|
79
|
+
React.createElement(CheckBox_1.CheckBox, { checked: filterOptions.useAgGridFilterFormStyle, onChange: (useAgGridFilterFormStyle) => {
|
|
80
80
|
abOptions = Object.assign({}, abOptions);
|
|
81
81
|
abOptions.filterOptions = Object.assign({}, abOptions.filterOptions);
|
|
82
|
-
abOptions.filterOptions.
|
|
82
|
+
abOptions.filterOptions.useAgGridFilterFormStyle = useAgGridFilterFormStyle;
|
|
83
83
|
props.onChangeadaptableOptions(abOptions);
|
|
84
84
|
} })),
|
|
85
85
|
React.createElement(FormLayout_1.FormRow, { label: "Use Adaptable Quick Filter" },
|
|
@@ -64,7 +64,7 @@ class AlertPopupComponent extends React.Component {
|
|
|
64
64
|
if (this.props.popupParams.action == 'New') {
|
|
65
65
|
let alertDefinition = ObjectFactory_1.ObjectFactory.CreateEmptyAlertDefinition();
|
|
66
66
|
alertDefinition.Scope = {
|
|
67
|
-
ColumnIds: [this.props.popupParams.column.
|
|
67
|
+
ColumnIds: [this.props.popupParams.column.columnId],
|
|
68
68
|
};
|
|
69
69
|
this.setState({
|
|
70
70
|
editedAdaptableObject: alertDefinition,
|
|
@@ -49,7 +49,7 @@ exports.renderBaseAlertScopeSummary = (data) => {
|
|
|
49
49
|
: null)),
|
|
50
50
|
React.createElement(rebass_1.Box, { style: { overflow: 'hidden' } }, 'ColumnIds' in data.Scope ? (React.createElement(React.Fragment, null,
|
|
51
51
|
React.createElement(rebass_1.Text, { fontSize: 2, mb: columnsInScope.length ? 2 : 0 }, "Changes in selected columns will trigger an alert"),
|
|
52
|
-
columnsInScope.length ? (React.createElement(ValueSelector_1.ValueOptionsTags, { options: columnsInScope, value: columnsInScope.map((c) => c.
|
|
52
|
+
columnsInScope.length ? (React.createElement(ValueSelector_1.ValueOptionsTags, { options: columnsInScope, value: columnsInScope.map((c) => c.columnId), toLabel: (c) => c.friendlyName, allowWrap: true, readOnly: true, renderLabel: (c) => React.createElement(rebass_1.Text, { fontSize: 2 }, c), toIdentifier: (c) => c.columnId })) : null)) : null),
|
|
53
53
|
React.createElement(rebass_1.Box, null, 'DataTypes' in data.Scope ? (React.createElement(React.Fragment, null,
|
|
54
54
|
React.createElement(rebass_1.Text, { fontSize: 2, mb: 2 }, "Changes in columns of the selected data-types trigger an alert"),
|
|
55
55
|
React.createElement(ValueSelector_1.ValueOptionsTags, { readOnly: true, options: data.Scope.DataTypes, value: data.Scope.DataTypes, toLabel: (c) => c, allowWrap: true, renderLabel: (c) => React.createElement(rebass_1.Text, { fontSize: 2 }, `DataType: ${c}`), toIdentifier: (c) => c }))) : null)));
|
|
@@ -34,7 +34,7 @@ class BulkUpdatePopupComponent extends React.Component {
|
|
|
34
34
|
let dataTypeErrorMessage = '';
|
|
35
35
|
if (col && StringExtensions_1.StringExtensions.IsNotNullOrEmpty(this.props.BulkUpdateValue)) {
|
|
36
36
|
// check that the update value is a number for a numeric column. not issue for dates as we dont allow free text
|
|
37
|
-
if (col.
|
|
37
|
+
if (col.dataType == Enums_1.DataType.Number) {
|
|
38
38
|
if (isNaN(Number(this.props.BulkUpdateValue))) {
|
|
39
39
|
hasDataTypeError = true;
|
|
40
40
|
dataTypeErrorMessage = 'This column only accepts numbers';
|
|
@@ -50,14 +50,14 @@ class BulkUpdatePopupComponent extends React.Component {
|
|
|
50
50
|
return null;
|
|
51
51
|
}
|
|
52
52
|
return (React.createElement(PanelWithImage_1.PanelWithImage, { header: this.props.moduleInfo.FriendlyName, glyphicon: this.props.moduleInfo.Glyph, infoLink: this.props.moduleInfo.HelpPage, infoLinkDisabled: !this.props.api.internalApi.isDocumentationLinksDisplayed(), variant: "primary", bodyProps: { padding: 2 }, style: { height: '100%' } },
|
|
53
|
-
col.
|
|
53
|
+
col.dataType == Enums_1.DataType.Date ? (React.createElement(React.Fragment, null,
|
|
54
54
|
React.createElement(HelpBlock_1.default, { marginTop: 2, marginBottom: 2 }, "Enter a date value. Alternatively, tick the checkbox and select from an existing column value."),
|
|
55
55
|
React.createElement(rebass_1.Box, null,
|
|
56
56
|
React.createElement(CheckBox_1.CheckBox, { marginLeft: 2, onChange: (checked) => this.onUseColumnValuesSelectorChanged(checked), checked: this.state.useSelector },
|
|
57
57
|
' ',
|
|
58
58
|
"Select from existing column values")),
|
|
59
59
|
React.createElement(rebass_1.Flex, { padding: 2, flexDirection: "row", alignItems: "center" },
|
|
60
|
-
React.createElement(rebass_1.Flex, { alignItems: "center", flexDirection: "row", flex: 1, marginRight: 2 }, this.state.useSelector ? (React.createElement(ColumnValueSelector_1.ColumnValueSelector, { selectedGridCells: this.props.SelectedGridCells, selectedColumnValue: this.props.BulkUpdateValue, selectedColumn: col, api: this.props.api, onColumnValueChange: (values) => this.onColumnValueSelectedChanged(values), allowNew: false, style: { width: '100%', maxWidth: 'inherit' } })) : (React.createElement(AdaptableInput_1.default, { style: { width: '100%' }, value: String(this.props.BulkUpdateValue), type: UIHelper_1.UIHelper.getDescriptionForDataType(col.
|
|
60
|
+
React.createElement(rebass_1.Flex, { alignItems: "center", flexDirection: "row", flex: 1, marginRight: 2 }, this.state.useSelector ? (React.createElement(ColumnValueSelector_1.ColumnValueSelector, { selectedGridCells: this.props.SelectedGridCells, selectedColumnValue: this.props.BulkUpdateValue, selectedColumn: col, api: this.props.api, onColumnValueChange: (values) => this.onColumnValueSelectedChanged(values), allowNew: false, style: { width: '100%', maxWidth: 'inherit' } })) : (React.createElement(AdaptableInput_1.default, { style: { width: '100%' }, value: String(this.props.BulkUpdateValue), type: UIHelper_1.UIHelper.getDescriptionForDataType(col.dataType), placeholder: UIHelper_1.UIHelper.getPlaceHolderforDataType(col.dataType), onChange: (e) => this.onBulkUpdateValueChange(e) }))),
|
|
61
61
|
React.createElement(SimpleButton_1.default, { disabled: StringExtensions_1.StringExtensions.IsNullOrEmpty(this.props.BulkUpdateValue) ||
|
|
62
62
|
this.props.PreviewInfo.previewValidationSummary.validationResult == 'All', onClick: () => {
|
|
63
63
|
this.onApplyClick();
|
|
@@ -46,7 +46,7 @@ class CalculatedColumnPopupComponent extends React.Component {
|
|
|
46
46
|
if (this.props.popupParams.action && this.props.popupParams.column) {
|
|
47
47
|
if (this.props.popupParams.action == 'Edit') {
|
|
48
48
|
// only editing is possible - you cannot create a new calc column from the column menu
|
|
49
|
-
let calculatedColumn = this.props.CalculatedColumns.find((x) => x.ColumnId == this.props.popupParams.column.
|
|
49
|
+
let calculatedColumn = this.props.CalculatedColumns.find((x) => x.ColumnId == this.props.popupParams.column.columnId);
|
|
50
50
|
this.onEdit(calculatedColumn);
|
|
51
51
|
}
|
|
52
52
|
}
|
|
@@ -29,7 +29,7 @@ class CalculatedColumnSummaryComponent extends React.Component {
|
|
|
29
29
|
let sharing = this.props.teamSharingActivated;
|
|
30
30
|
this.props.CalculatedColumns.map((item, index) => {
|
|
31
31
|
var _a;
|
|
32
|
-
if (item.ColumnId == this.props.summarisedColumn.
|
|
32
|
+
if (item.ColumnId == this.props.summarisedColumn.columnId) {
|
|
33
33
|
detailRow = (React.createElement(ModuleDetail_1.ModuleDetail, { key: 'UF' + index, item1: this.props.moduleInfo.FriendlyName, item2: (_a = item.Query) === null || _a === void 0 ? void 0 : _a.ScalarExpression, configEnity: item, showShare: this.props.teamSharingActivated, moduleInfo: this.props.moduleInfo, onEdit: () => this.onEdit(item), onShare: (config) => this.props.onShare(item, config), onDelete: CalculatedColumnRedux.CalculatedColumnDelete(item), showBold: true, accessLevel: this.props.accessLevel }));
|
|
34
34
|
}
|
|
35
35
|
});
|
|
@@ -48,7 +48,7 @@ exports.isValidCalculatedColumnSettings = (data, api) => {
|
|
|
48
48
|
if (!((_a = data.CalculatedColumnSettings) === null || _a === void 0 ? void 0 : _a.DataType)) {
|
|
49
49
|
return 'No data type specified for column';
|
|
50
50
|
}
|
|
51
|
-
const columnsWithSameIdCount = columns.filter((c) => c.
|
|
51
|
+
const columnsWithSameIdCount = columns.filter((c) => c.columnId === data.ColumnId).length;
|
|
52
52
|
const hasAlreadyExistingId = data.Uuid ? columnsWithSameIdCount > 1 : columnsWithSameIdCount > 0;
|
|
53
53
|
return hasAlreadyExistingId ? 'A Column already exists with that id' : true;
|
|
54
54
|
};
|
|
@@ -64,8 +64,8 @@ class CellSummaryViewPanelComponent extends React.Component {
|
|
|
64
64
|
};
|
|
65
65
|
const elementType = this.props.viewType === 'Toolbar' ? 'DashboardToolbar' : 'ToolPanel';
|
|
66
66
|
return (React.createElement(rebass_1.Flex, { flexDirection: "row", className: shouldDisable ? GeneralConstants.READ_ONLY_STYLE : `ab-${elementType}__CellSummary__wrap`, flexWrap: this.props.viewType === 'ToolPanel' ? 'wrap' : 'nowrap' },
|
|
67
|
-
React.createElement(rebass_1.Flex,
|
|
68
|
-
React.createElement(DropdownButton_1.default, { style: { fontSize: 'small' }, marginRight: 2, columns: ['label'], className: `ab-${elementType}__CellSummary__select`, items: [...operationMenuItems, ...operationDefinitions], disabled: shouldDisable, variant: "outlined", tone: 'neutral' }, this.props.CellSummaryOperation)),
|
|
67
|
+
React.createElement(rebass_1.Flex, { flex: 1 },
|
|
68
|
+
React.createElement(DropdownButton_1.default, { style: { fontSize: 'small', width: '100%' }, marginRight: 2, columns: ['label'], className: `ab-${elementType}__CellSummary__select`, items: [...operationMenuItems, ...operationDefinitions], disabled: shouldDisable, variant: "outlined", tone: 'neutral' }, this.props.CellSummaryOperation)),
|
|
69
69
|
React.createElement(rebass_1.Flex, { alignItems: "center" }, React.createElement(React.Fragment, null,
|
|
70
70
|
renderOperationValue(),
|
|
71
71
|
this.props.CellSummary != null && this.props.CellSummary.Count > 0 && (React.createElement(AdaptablePopover_1.AdaptablePopover, { className: "ab-ToolPanel__CellSummary__info", bodyText: [cellSummaryPopover], useButton: true, showEvent: 'focus', hideEvent: "blur" }))))));
|
|
@@ -9,7 +9,7 @@ exports.NewColumnSelector = (props) => {
|
|
|
9
9
|
const { columnFilterText, availableColumns, selected, onChange, singleSelect } = props;
|
|
10
10
|
const filterFn = react_1.useMemo(() => {
|
|
11
11
|
return columnFilterText
|
|
12
|
-
? (c) => c.
|
|
12
|
+
? (c) => c.friendlyName.toLowerCase().indexOf(columnFilterText.toLowerCase()) != -1
|
|
13
13
|
: null;
|
|
14
14
|
}, [columnFilterText]);
|
|
15
15
|
return (React.createElement(ValueSelector_1.ValueSelector, { value: selected, options: availableColumns, filter: filterFn, singleSelect: singleSelect, allowReorder: false, onChange: (colIds) => {
|
|
@@ -19,7 +19,7 @@ exports.NewColumnSelector = (props) => {
|
|
|
19
19
|
else {
|
|
20
20
|
onChange(colIds);
|
|
21
21
|
}
|
|
22
|
-
}, toIdentifier: (c) => c.
|
|
22
|
+
}, toIdentifier: (c) => c.columnId, toLabel: (c) => c.friendlyName, noSelectionLabel: singleSelect ? 'Please select a column' : 'You have not selected any columns.', xSelectedLabel: singleSelect
|
|
23
23
|
? () => null
|
|
24
24
|
: (count) => (count > 1 ? `You selected ${count} columns.` : 'You selected one column.') }));
|
|
25
25
|
};
|