@adaptabletools/adaptable 15.0.2 → 15.1.0-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle.cjs.js +185 -181
- package/package.json +3 -3
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +3 -1
- package/src/AdaptableOptions/FilterOptions.d.ts +7 -0
- package/src/AdaptableOptions/GeneralOptions.d.ts +4 -0
- package/src/AdaptableOptions/SearchOptions.d.ts +8 -0
- package/src/AdaptableOptions/TeamSharingOptions.d.ts +7 -0
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +5 -5
- package/src/Api/GridApi.d.ts +14 -6
- package/src/Api/Implementation/ActionApiImpl.js +3 -4
- package/src/Api/Implementation/AdaptableApiImpl.d.ts +4 -0
- package/src/Api/Implementation/AdaptableApiImpl.js +12 -0
- package/src/Api/Implementation/AlertApiImpl.js +23 -24
- package/src/Api/Implementation/ApiBase.d.ts +4 -0
- package/src/Api/Implementation/ApiBase.js +14 -3
- package/src/Api/Implementation/CalculatedColumnApiImpl.js +8 -9
- package/src/Api/Implementation/CellSummaryApiImpl.js +1 -1
- package/src/Api/Implementation/ChartingApiImpl.js +1 -1
- package/src/Api/Implementation/ColumnApiImpl.js +31 -32
- package/src/Api/Implementation/CustomSortApiImpl.js +5 -6
- package/src/Api/Implementation/DashboardApiImpl.js +3 -3
- package/src/Api/Implementation/DataChangeHistoryApiImpl.js +1 -1
- package/src/Api/Implementation/DataSetApiImpl.js +3 -3
- package/src/Api/Implementation/ExportApiImpl.js +7 -8
- package/src/Api/Implementation/FilterApiImpl.js +15 -16
- package/src/Api/Implementation/FlashingCellApiImpl.js +3 -3
- package/src/Api/Implementation/FormatColumnApiImpl.js +18 -18
- package/src/Api/Implementation/FreeTextColumnApiImpl.js +9 -10
- package/src/Api/Implementation/GridApiImpl.d.ts +7 -2
- package/src/Api/Implementation/GridApiImpl.js +52 -13
- package/src/Api/Implementation/LayoutApiImpl.js +11 -12
- package/src/Api/Implementation/PlusMinusApiImpl.js +1 -1
- package/src/Api/Implementation/PredicateApiImpl.js +8 -9
- package/src/Api/Implementation/QueryApiImpl.js +5 -5
- package/src/Api/Implementation/QueryLanguageApiImpl.js +5 -6
- package/src/Api/Implementation/QuickSearchApiImpl.js +1 -1
- package/src/Api/Implementation/ScheduleApiImpl.js +17 -17
- package/src/Api/Implementation/SettingsPanelApiImpl.js +3 -4
- package/src/Api/Implementation/ShortcutApiImpl.js +5 -5
- package/src/Api/Implementation/SmartEditApiImpl.js +1 -1
- package/src/Api/Implementation/StyledColumnApiImpl.js +4 -4
- package/src/Api/Implementation/SystemStatusApiImpl.js +2 -2
- package/src/Api/Implementation/TeamSharingApiImpl.js +11 -12
- package/src/Api/Implementation/ThemeApiImpl.js +4 -4
- package/src/Api/Implementation/UserInterfaceApiImpl.js +2 -2
- package/src/Api/Internal/AdaptableInternalApi.js +1 -2
- package/src/Api/Internal/ChartingInternalApi.js +1 -2
- package/src/Api/Internal/GridInternalApi.js +11 -1
- package/src/Api/Internal/QueryInternalApi.js +1 -2
- package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +4 -4
- package/src/Redux/Store/AdaptableReduxMerger.js +1 -2
- package/src/Redux/Store/AdaptableStore.js +16 -15
- package/src/Strategy/AlertModule.js +1 -0
- package/src/Strategy/CalculatedColumnModule.js +2 -3
- package/src/Strategy/CustomSortModule.d.ts +1 -0
- package/src/Strategy/CustomSortModule.js +1 -0
- package/src/Strategy/DashboardModule.js +1 -2
- package/src/Strategy/DataChangeHistoryModule.js +1 -2
- package/src/Strategy/FilterModule.js +1 -2
- package/src/Strategy/FlashingCellModule.js +1 -0
- package/src/Strategy/FormatColumnModule.js +2 -2
- package/src/Strategy/Interface/IModule.d.ts +6 -0
- package/src/Strategy/PlusMinusModule.js +1 -0
- package/src/Strategy/ScheduleModule.js +21 -0
- package/src/Strategy/ShortcutModule.js +1 -0
- package/src/Strategy/StyledColumnModule.js +2 -2
- package/src/Strategy/ToolPanelModule.js +2 -3
- package/src/Strategy/Utilities/Alert/getAlertBehaviourViewItems.d.ts +3 -8
- package/src/Strategy/Utilities/getObjectTagsViewItems.js +27 -2
- package/src/Utilities/Defaults/DefaultAdaptableOptions.js +3 -0
- package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +2 -2
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +104 -42
- package/src/Utilities/Extensions/NumberExtensions.d.ts +2 -0
- package/src/Utilities/Extensions/NumberExtensions.js +6 -1
- package/src/Utilities/Helpers/AdaptableHelper.js +1 -2
- package/src/Utilities/Helpers/DateHelper.js +2 -2
- package/src/Utilities/Helpers/Helper.js +3 -3
- package/src/Utilities/Services/AggregatedScalarLiveValue.js +3 -4
- package/src/Utilities/Services/AlertService.js +1 -2
- package/src/Utilities/Services/CalculatedColumnExpressionService.js +3 -4
- package/src/Utilities/Services/DataService.js +1 -2
- package/src/Utilities/Services/LicenseService/index.js +1 -1
- package/src/Utilities/Services/MetamodelService.js +3 -4
- package/src/Utilities/Services/QueryLanguageService.js +1 -2
- package/src/Utilities/logDeprecation.d.ts +4 -3
- package/src/Utilities/logDeprecation.js +6 -7
- package/src/View/Charting/useChartState.js +1 -2
- package/src/View/Components/AdaptableObjectList/AdaptableObjectList.d.ts +1 -0
- package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +9 -2
- package/src/View/Dashboard/Dashboard.js +1 -2
- package/src/View/Layout/Wizard/sections/FilterSection.js +1 -1
- package/src/View/StateManagement/handleExportState.js +1 -2
- package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +1 -2
- package/src/View/TeamSharing/SharedEntityObjectView.d.ts +3 -0
- package/src/View/Theme/ThemePopup.d.ts +1 -1
- package/src/View/Theme/ThemePopup.js +17 -3
- package/src/agGrid/Adaptable.d.ts +3 -1
- package/src/agGrid/Adaptable.js +94 -50
- package/src/agGrid/AdaptableLogger.d.ts +26 -0
- package/src/agGrid/AdaptableLogger.js +148 -0
- package/src/agGrid/agGridHelper.js +7 -8
- package/src/components/ExpressionEditor/BaseEditorInput.js +1 -2
- package/src/components/OverlayTrigger/index.js +1 -2
- package/src/components/SelectableList/index.js +0 -2
- package/src/components/icons/index.js +2 -2
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/parser/src/evaluator.js +3 -1
- package/src/parser/src/parser.js +496 -453
- package/src/parser/src/types.d.ts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/src/Utilities/Helpers/LoggingHelper.d.ts +0 -15
- package/src/Utilities/Helpers/LoggingHelper.js +0 -111
|
@@ -36,7 +36,6 @@ const StatusBarRedux = tslib_1.__importStar(require("../ActionsReducers/StatusBa
|
|
|
36
36
|
const ChartingRedux = tslib_1.__importStar(require("../ActionsReducers/ChartingRedux"));
|
|
37
37
|
const ModuleConstants = tslib_1.__importStar(require("../../Utilities/Constants/ModuleConstants"));
|
|
38
38
|
const ConfigConstants = tslib_1.__importStar(require("../../Utilities/Constants/ConfigConstants"));
|
|
39
|
-
const LoggingHelper_1 = require("../../Utilities/Helpers/LoggingHelper");
|
|
40
39
|
const ObjectFactory_1 = require("../../Utilities/ObjectFactory");
|
|
41
40
|
const GeneralConstants_1 = require("../../Utilities/Constants/GeneralConstants");
|
|
42
41
|
const PreviewHelper_1 = require("../../Utilities/Helpers/PreviewHelper");
|
|
@@ -107,7 +106,7 @@ class AdaptableStore {
|
|
|
107
106
|
// END STATE LOAD
|
|
108
107
|
this.loadStorageInProgress = false;
|
|
109
108
|
}, (e) => {
|
|
110
|
-
|
|
109
|
+
adaptable.logger.error('Failed to load previous Adaptable State : ', e);
|
|
111
110
|
//for now i'm still initializing Adaptable even if loading state has failed....
|
|
112
111
|
//we may revisit that later
|
|
113
112
|
this.TheStore.dispatch((0, exports.InitState)());
|
|
@@ -169,12 +168,12 @@ class AdaptableStore {
|
|
|
169
168
|
Object.keys(State).forEach((key) => {
|
|
170
169
|
// this check should be removed in version 12 !!!
|
|
171
170
|
if (key === 'Chart') {
|
|
172
|
-
|
|
171
|
+
adaptable.logger.consoleWarn(`DEPRECATED: AdapTable Charts Plugin is deprecated! AG Grid built-in charts are fully supported & integrated in AdapTable.
|
|
173
172
|
|
|
174
173
|
Please contact 'support@adaptabletools.com' if you require any charting features that are not currently available.`);
|
|
175
174
|
}
|
|
176
175
|
if (key === 'SparklineColumn') {
|
|
177
|
-
|
|
176
|
+
adaptable.logger.consoleWarn(`DEPRECATED: AdapTable SparklineColumn is deprecated! AG Grid built-in Sparklines are fully supported & integrated in AdapTable.
|
|
178
177
|
|
|
179
178
|
Please contact 'support@adaptabletools.com' if you require any sparklines features that are not currently available.`);
|
|
180
179
|
}
|
|
@@ -189,7 +188,6 @@ class AdaptableStore {
|
|
|
189
188
|
// If the user has remote storage set then we use Remote Engine, otherwise we use Local Enginge
|
|
190
189
|
// not sure we can do this as we need to be backwardly compatible with existing users so need to stick with adaptable id (which should be unique)
|
|
191
190
|
// const localStorageKey = 'adaptable-adaptable-state-' + adaptable.adaptableOptions.primaryKey;
|
|
192
|
-
const predefinedConfig = adaptable.adaptableOptions.predefinedConfig;
|
|
193
191
|
storageEngine = (0, AdaptableReduxLocalStorageEngine_1.createEngine)({
|
|
194
192
|
adaptableId: adaptable.adaptableOptions.adaptableId,
|
|
195
193
|
adaptableStateKey: adaptable.adaptableOptions.adaptableStateKey,
|
|
@@ -753,7 +751,9 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
753
751
|
let returnAction;
|
|
754
752
|
// needs to be called before 'next' so previous and next column filters are known
|
|
755
753
|
const shouldTriggerGridFiltering = adaptable.api.filterApi.internalApi.shouldNewColumnFilterTriggerGridFiltering(action);
|
|
756
|
-
|
|
754
|
+
const currentLayout = adaptable.api.layoutApi.getCurrentLayout();
|
|
755
|
+
if (((_g = adaptable.adaptableOptions.layoutOptions) === null || _g === void 0 ? void 0 : _g.autoSaveLayouts) &&
|
|
756
|
+
!currentLayout.IsReadOnly) {
|
|
757
757
|
returnAction = next(action);
|
|
758
758
|
}
|
|
759
759
|
else {
|
|
@@ -1193,7 +1193,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1193
1193
|
middlewareAPI.dispatch(TeamSharingRedux.TeamSharingSet(sharedEntities));
|
|
1194
1194
|
})
|
|
1195
1195
|
.catch((error) => {
|
|
1196
|
-
|
|
1196
|
+
adaptable.logger.error('TeamSharing get error : ' + error.message);
|
|
1197
1197
|
middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
|
|
1198
1198
|
alertType: 'generic',
|
|
1199
1199
|
header: 'Team Sharing',
|
|
@@ -1234,11 +1234,11 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1234
1234
|
})
|
|
1235
1235
|
.then(() => {
|
|
1236
1236
|
if (shareSuccessful) {
|
|
1237
|
-
|
|
1237
|
+
adaptable.logger.info(`Custom Shared Object '${Configuration.Name}' Shared Successfully`);
|
|
1238
1238
|
}
|
|
1239
1239
|
})
|
|
1240
1240
|
.catch((error) => {
|
|
1241
|
-
|
|
1241
|
+
adaptable.logger.error('TeamSharing share error : ' + error.message, actionTyped.Entity);
|
|
1242
1242
|
});
|
|
1243
1243
|
return returnAction;
|
|
1244
1244
|
}
|
|
@@ -1291,7 +1291,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1291
1291
|
}
|
|
1292
1292
|
})
|
|
1293
1293
|
.catch((error) => {
|
|
1294
|
-
|
|
1294
|
+
adaptable.logger.error('TeamSharing share error : ' + error.message, actionTyped.Entity);
|
|
1295
1295
|
middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
|
|
1296
1296
|
alertType: 'generic',
|
|
1297
1297
|
header: 'Team Sharing',
|
|
@@ -1334,7 +1334,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1334
1334
|
return adaptable.api.teamSharingApi.persistSharedEntities(newSharedEntities);
|
|
1335
1335
|
})
|
|
1336
1336
|
.catch((error) => {
|
|
1337
|
-
|
|
1337
|
+
adaptable.logger.error('TeamSharing remove error : ' + error.message);
|
|
1338
1338
|
middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
|
|
1339
1339
|
alertType: 'generic',
|
|
1340
1340
|
header: 'Team Sharing',
|
|
@@ -1355,7 +1355,8 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1355
1355
|
.getTeamSharingService()
|
|
1356
1356
|
.buildSharedEntityImportActions(actionTyped.SharedEntity);
|
|
1357
1357
|
const processImportAction = TeamSharingRedux.TeamSharingProcessImport(importStepActions);
|
|
1358
|
-
if (needsOverwriteConfirmation
|
|
1358
|
+
if (needsOverwriteConfirmation &&
|
|
1359
|
+
!adaptable.api.optionsApi.getTeamSharingOptions().suppressOverrideConfigWarning) {
|
|
1359
1360
|
let confirmation = {
|
|
1360
1361
|
CancelButtonText: 'Cancel Import',
|
|
1361
1362
|
Header: 'Overwriting Existing Object',
|
|
@@ -1391,7 +1392,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1391
1392
|
}
|
|
1392
1393
|
}
|
|
1393
1394
|
else {
|
|
1394
|
-
|
|
1395
|
+
adaptable.logger.error('Team Sharing Import Error: Unknown item type', sharedEntity);
|
|
1395
1396
|
}
|
|
1396
1397
|
}
|
|
1397
1398
|
if (activeSharedEntities.length) {
|
|
@@ -1440,7 +1441,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1440
1441
|
return adaptable.api.teamSharingApi.persistSharedEntities(updatedSharedEntities);
|
|
1441
1442
|
})
|
|
1442
1443
|
.catch((error) => {
|
|
1443
|
-
|
|
1444
|
+
adaptable.logger.error('TeamSharing update active item error : ' + error.message);
|
|
1444
1445
|
middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
|
|
1445
1446
|
alertType: 'generic',
|
|
1446
1447
|
header: 'Team Sharing',
|
|
@@ -1460,7 +1461,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1460
1461
|
adaptable.api.internalApi.getTeamSharingService().showUpdateNotifications();
|
|
1461
1462
|
})
|
|
1462
1463
|
.catch((error) => {
|
|
1463
|
-
|
|
1464
|
+
adaptable.logger.error('TeamSharing update error : ' + error.message);
|
|
1464
1465
|
middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
|
|
1465
1466
|
alertType: 'generic',
|
|
1466
1467
|
header: 'Team Sharing',
|
|
@@ -244,6 +244,7 @@ class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
244
244
|
getViewProperties() {
|
|
245
245
|
return {
|
|
246
246
|
getDeleteAction: AlertRedux.AlertDefinitionDelete,
|
|
247
|
+
getEditAction: AlertRedux.AlertDefinitionEdit,
|
|
247
248
|
getSuspendAction: AlertRedux.AlertDefinitionSuspend,
|
|
248
249
|
getUnSuspendAction: AlertRedux.AlertDefinitionUnSuspend,
|
|
249
250
|
getSuspendAllAction: AlertRedux.AlertDefinitionSuspendAll,
|
|
@@ -5,7 +5,6 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
|
|
6
6
|
const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
|
|
7
7
|
const CalculatedColumnRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/CalculatedColumnRedux"));
|
|
8
|
-
const LoggingHelper_1 = require("../Utilities/Helpers/LoggingHelper");
|
|
9
8
|
const getExpressionViewItems_1 = require("./Utilities/getExpressionViewItems");
|
|
10
9
|
const CalculatedColumnWizard_1 = require("../View/CalculatedColumn/Wizard/CalculatedColumnWizard");
|
|
11
10
|
const ArrayExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/ArrayExtensions"));
|
|
@@ -32,14 +31,14 @@ class CalculatedColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
32
31
|
};
|
|
33
32
|
cc.ColumnExpression = undefined;
|
|
34
33
|
oldCalculatedColumns.push(cc);
|
|
35
|
-
|
|
34
|
+
this.api.logWarn(`Updating incorrect Predefined Config for Calculated Column: ${cc.ColumnId}`);
|
|
36
35
|
}
|
|
37
36
|
if (!cc.CalculatedColumnSettings) {
|
|
38
37
|
cc.CalculatedColumnSettings = {
|
|
39
38
|
DataType: 'Number',
|
|
40
39
|
};
|
|
41
40
|
oldCalculatedColumns.push(cc);
|
|
42
|
-
|
|
41
|
+
this.api.logWarn(`Updating incorrect Predefined Config for Calculated Column: ${cc.ColumnId}`);
|
|
43
42
|
}
|
|
44
43
|
});
|
|
45
44
|
oldCalculatedColumns.forEach((oldCalcCol) => this.api.calculatedColumnApi.editCalculatedColumn(oldCalcCol));
|
|
@@ -20,6 +20,7 @@ export declare class CustomSortModule extends AdaptableModuleBase implements IMo
|
|
|
20
20
|
toView(customSort: CustomSort): AdaptableObjectView;
|
|
21
21
|
toViewAll(): AdaptableObjectView[];
|
|
22
22
|
getViewProperties(): {
|
|
23
|
+
getEditAction: (customSort: CustomSort) => CustomSortRedux.CustomSortEditAction;
|
|
23
24
|
getDeleteAction: (customSort: CustomSort) => CustomSortRedux.CustomSortDeleteAction;
|
|
24
25
|
getSuspendAction: (customSort: CustomSort) => CustomSortRedux.CustomSortDeleteAction;
|
|
25
26
|
getUnSuspendAction: (customSort: CustomSort) => CustomSortRedux.CustomSortDeleteAction;
|
|
@@ -67,6 +67,7 @@ class CustomSortModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
67
67
|
}
|
|
68
68
|
getViewProperties() {
|
|
69
69
|
return {
|
|
70
|
+
getEditAction: CustomSortRedux.CustomSortEdit,
|
|
70
71
|
getDeleteAction: CustomSortRedux.CustomSortDelete,
|
|
71
72
|
getSuspendAction: CustomSortRedux.CustomSortSuspend,
|
|
72
73
|
getUnSuspendAction: CustomSortRedux.CustomSortUnSuspend,
|
|
@@ -5,7 +5,6 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
|
|
6
6
|
const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
|
|
7
7
|
const DashboardRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/DashboardRedux"));
|
|
8
|
-
const LoggingHelper_1 = require("../Utilities/Helpers/LoggingHelper");
|
|
9
8
|
class DashboardModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
10
9
|
constructor(api) {
|
|
11
10
|
super(ModuleConstants.DashboardModuleId, ModuleConstants.DashboardFriendlyName, 'dashboard', 'DashboardPopup', 'The Dashboard - usually placed above the Grid - is designed to provide quick access to commonly required AdapTable functionalty', api);
|
|
@@ -13,7 +12,7 @@ class DashboardModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
13
12
|
updateOldConfig() {
|
|
14
13
|
let dashboardState = this.api.dashboardApi.getDashboardState();
|
|
15
14
|
if (dashboardState.VisibleButtons) {
|
|
16
|
-
|
|
15
|
+
this.api.logWarn(`Updating Obsolete VisibleButtons Config for DashboardState: [${dashboardState.VisibleButtons}]`);
|
|
17
16
|
this.api.dashboardApi.setModuleButtons(dashboardState.VisibleButtons);
|
|
18
17
|
}
|
|
19
18
|
}
|
|
@@ -7,7 +7,6 @@ const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/Mod
|
|
|
7
7
|
const SystemRedux_1 = require("../Redux/ActionsReducers/SystemRedux");
|
|
8
8
|
const DataChangeHistoryStatusBarContent_1 = require("../View/DataChangeHistory/DataChangeHistoryStatusBarContent");
|
|
9
9
|
const core_1 = require("@ag-grid-community/core");
|
|
10
|
-
const LoggingHelper_1 = require("../Utilities/Helpers/LoggingHelper");
|
|
11
10
|
class DataChangeHistoryModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
12
11
|
constructor(api) {
|
|
13
12
|
super(ModuleConstants.DataChangeHistoryModuleId, ModuleConstants.DataChangeHistoryFriendlyName, 'track-changes', 'DataChangeHistoryPopup', 'Provides an overview of all previous changes, giving the possibility to undo specific changes', api);
|
|
@@ -27,7 +26,7 @@ class DataChangeHistoryModule extends AdaptableModuleBase_1.AdaptableModuleBase
|
|
|
27
26
|
.getAdaptableInstance()
|
|
28
27
|
.isAgGridModulePresent(core_1.ModuleNames.ClientSideRowModelModule);
|
|
29
28
|
if (isAdaptableModuleAvailable && !isAgGridModuleAvailable) {
|
|
30
|
-
|
|
29
|
+
this.api.logWarn(`Data Change History is NOT available due to missing required AG Grid module: ${core_1.ModuleNames.ClientSideRowModelModule}`);
|
|
31
30
|
}
|
|
32
31
|
return isAdaptableModuleAvailable && isAgGridModuleAvailable;
|
|
33
32
|
}
|
|
@@ -7,7 +7,6 @@ const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/Mod
|
|
|
7
7
|
const ArrayExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/ArrayExtensions"));
|
|
8
8
|
const LayoutRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/LayoutRedux"));
|
|
9
9
|
const SystemRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/SystemRedux"));
|
|
10
|
-
const LoggingHelper_1 = require("../Utilities/Helpers/LoggingHelper");
|
|
11
10
|
const FilterStatusBarSubPanelPopover_1 = require("../View/Filter/FilterStatusBarSubPanelPopover");
|
|
12
11
|
class FilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
13
12
|
constructor(api) {
|
|
@@ -29,7 +28,7 @@ class FilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
29
28
|
const columnFilters = this.api.filterApi.getColumnFilters();
|
|
30
29
|
columnFilters.forEach((cf) => {
|
|
31
30
|
if (!this.api.columnApi.isColumnInGrid(cf.ColumnId)) {
|
|
32
|
-
|
|
31
|
+
this.api.logError('Column Filter contains missing column: ' + cf.ColumnId);
|
|
33
32
|
}
|
|
34
33
|
});
|
|
35
34
|
}
|
|
@@ -252,6 +252,7 @@ class FlashingCellModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
252
252
|
}
|
|
253
253
|
getViewProperties() {
|
|
254
254
|
return {
|
|
255
|
+
getEditAction: FlashingCellRedux.FlashingCellDefinitionEdit,
|
|
255
256
|
getSuspendAction: FlashingCellRedux.FlashingCellDefinitionSuspend,
|
|
256
257
|
getUnSuspendAction: FlashingCellRedux.FlashingCellDefinitionUnSuspend,
|
|
257
258
|
getSuspendAllAction: FlashingCellRedux.FlashingCellDefinitionSuspendAll,
|
|
@@ -5,7 +5,6 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
|
|
6
6
|
const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
|
|
7
7
|
const FormatColumnRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/FormatColumnRedux"));
|
|
8
|
-
const LoggingHelper_1 = require("../Utilities/Helpers/LoggingHelper");
|
|
9
8
|
const FormatColumnWizard_1 = require("../View/FormatColumn/Wizard/FormatColumnWizard");
|
|
10
9
|
const getScopeViewItems_1 = require("./Utilities/getScopeViewItems");
|
|
11
10
|
const FormatColumnFormatWizardSection_1 = require("../View/FormatColumn/Wizard/FormatColumnFormatWizardSection");
|
|
@@ -94,7 +93,7 @@ class FormatColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
94
93
|
if (!(oldConditionalStyles === null || oldConditionalStyles === void 0 ? void 0 : oldConditionalStyles.length)) {
|
|
95
94
|
return;
|
|
96
95
|
}
|
|
97
|
-
|
|
96
|
+
this.api.logWarn(`DEPRECATED: Conditional Styles have been merged into 'Format Columns'`);
|
|
98
97
|
// remove conditional styles
|
|
99
98
|
this.api.internalApi.deleteConditionalStyles(oldConditionalStyles);
|
|
100
99
|
const transformedFormatColumns = oldConditionalStyles.map((conditionalStyle) => {
|
|
@@ -159,6 +158,7 @@ class FormatColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
159
158
|
getViewProperties() {
|
|
160
159
|
return {
|
|
161
160
|
actions: [MoveFormatColumn_1.MoveFormatColumn],
|
|
161
|
+
getEditAction: FormatColumnRedux.FormatColumnEdit,
|
|
162
162
|
getDeleteAction: FormatColumnRedux.FormatColumnDelete,
|
|
163
163
|
getSuspendAction: FormatColumnRedux.FormatColumnSuspend,
|
|
164
164
|
getUnSuspendAction: FormatColumnRedux.FormatColumnUnSuspend,
|
|
@@ -44,6 +44,11 @@ export interface AdaptableObjectItemView {
|
|
|
44
44
|
*/
|
|
45
45
|
view?: React.FunctionComponent<React.PropsWithChildren<{
|
|
46
46
|
data: AdaptableObject | SuspendableObject;
|
|
47
|
+
module?: IModule;
|
|
48
|
+
}>> | React.ReactElement;
|
|
49
|
+
viewAfter?: React.FunctionComponent<React.PropsWithChildren<{
|
|
50
|
+
data: AdaptableObject | SuspendableObject;
|
|
51
|
+
module?: IModule;
|
|
47
52
|
}>> | React.ReactElement;
|
|
48
53
|
/**
|
|
49
54
|
* Values used for the component.
|
|
@@ -96,6 +101,7 @@ export interface AdaptableModuleView {
|
|
|
96
101
|
getUnSuspendAction?: (abObject: AdaptableObject) => Redux.Action;
|
|
97
102
|
getCompactSuspendAction?: (abObject: AdaptableObject) => Redux.Action;
|
|
98
103
|
getCompactUnSuspendAction?: (abObject: AdaptableObject) => Redux.Action;
|
|
104
|
+
getEditAction?: (abObject: AdaptableObject) => Redux.Action;
|
|
99
105
|
getSuspendAllAction?: () => Redux.Action;
|
|
100
106
|
getUnSuspendAllAction?: () => Redux.Action;
|
|
101
107
|
getDeleteAllAction?: () => Redux.Action;
|
|
@@ -207,6 +207,7 @@ class PlusMinusModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
207
207
|
}
|
|
208
208
|
getViewProperties() {
|
|
209
209
|
return {
|
|
210
|
+
getEditAction: PlusMinusRedux.PlusMinusNudgeEdit,
|
|
210
211
|
getDeleteAction: PlusMinusRedux.PlusMinusNudgeDelete,
|
|
211
212
|
getSuspendAction: PlusMinusRedux.PlusMinusNudgeSuspend,
|
|
212
213
|
getUnSuspendAction: PlusMinusRedux.PlusMinusNudgeUnSuspend,
|
|
@@ -196,6 +196,27 @@ class ScheduleModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
196
196
|
}
|
|
197
197
|
return {
|
|
198
198
|
abObjectTypes,
|
|
199
|
+
getEditAction: (schedule) => {
|
|
200
|
+
let editAction = null;
|
|
201
|
+
switch (schedule.ScheduleType) {
|
|
202
|
+
case Enums_1.ScheduleType.Reminder:
|
|
203
|
+
editAction = ScheduleRedux.ReminderScheduleEdit(schedule);
|
|
204
|
+
break;
|
|
205
|
+
case Enums_1.ScheduleType.Report:
|
|
206
|
+
editAction = ScheduleRedux.ReportScheduleEdit(schedule);
|
|
207
|
+
break;
|
|
208
|
+
case Enums_1.ScheduleType.ipushpull:
|
|
209
|
+
editAction = ScheduleRedux.IPushPullScheduleEdit(schedule);
|
|
210
|
+
break;
|
|
211
|
+
case Enums_1.ScheduleType.Glue42:
|
|
212
|
+
editAction = ScheduleRedux.Glue42ScheduleEdit(schedule);
|
|
213
|
+
break;
|
|
214
|
+
case Enums_1.ScheduleType.OpenFin:
|
|
215
|
+
editAction = ScheduleRedux.OpenFinScheduleEdit(schedule);
|
|
216
|
+
break;
|
|
217
|
+
}
|
|
218
|
+
return editAction;
|
|
219
|
+
},
|
|
199
220
|
getDeleteAction: (schedule) => {
|
|
200
221
|
let deleteAction = null;
|
|
201
222
|
switch (schedule.ScheduleType) {
|
|
@@ -89,6 +89,7 @@ class ShortcutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
89
89
|
}
|
|
90
90
|
getViewProperties() {
|
|
91
91
|
return {
|
|
92
|
+
getEditAction: ShortcutRedux.ShortcutEdit,
|
|
92
93
|
getDeleteAction: ShortcutRedux.ShortcutDelete,
|
|
93
94
|
getSuspendAction: ShortcutRedux.ShortcutSuspend,
|
|
94
95
|
getUnSuspendAction: ShortcutRedux.ShortcutUnSuspend,
|
|
@@ -8,7 +8,6 @@ const StyledColumnRedux = tslib_1.__importStar(require("../Redux/ActionsReducers
|
|
|
8
8
|
const StyledColumnWizard_1 = require("../View/StyledColumn/Wizard/StyledColumnWizard");
|
|
9
9
|
const StyledColumnWizardStyleSection_1 = require("../View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection");
|
|
10
10
|
const ObjectFactory_1 = tslib_1.__importDefault(require("../Utilities/ObjectFactory"));
|
|
11
|
-
const LoggingHelper_1 = require("../Utilities/Helpers/LoggingHelper");
|
|
12
11
|
const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
|
|
13
12
|
class StyledColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
14
13
|
constructor(api) {
|
|
@@ -43,7 +42,7 @@ class StyledColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
43
42
|
if (!formatColumnsWithColumnStyles.length) {
|
|
44
43
|
return;
|
|
45
44
|
}
|
|
46
|
-
|
|
45
|
+
this.api.logInfo(`Converting ${formatColumnsWithColumnStyles.length} FormatColumns Styles to Styled Columns`, formatColumnsWithColumnStyles);
|
|
47
46
|
formatColumnsWithColumnStyles.forEach((formatColumn) => {
|
|
48
47
|
this.api.formatColumnApi.deleteFormatColumn(formatColumn);
|
|
49
48
|
});
|
|
@@ -208,6 +207,7 @@ class StyledColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
208
207
|
}
|
|
209
208
|
getViewProperties() {
|
|
210
209
|
return {
|
|
210
|
+
getEditAction: StyledColumnRedux.StyledColumnEdit,
|
|
211
211
|
getDeleteAction: StyledColumnRedux.StyledColumnDelete,
|
|
212
212
|
getSuspendAction: StyledColumnRedux.StyledColumnSuspend,
|
|
213
213
|
getUnSuspendAction: StyledColumnRedux.StyledColumnUnSuspend,
|
|
@@ -6,7 +6,6 @@ const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
|
|
|
6
6
|
const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
|
|
7
7
|
const Types_1 = require("../PredefinedConfig/Common/Types");
|
|
8
8
|
const ToolPanelRedux_1 = require("../Redux/ActionsReducers/ToolPanelRedux");
|
|
9
|
-
const LoggingHelper_1 = require("../Utilities/Helpers/LoggingHelper");
|
|
10
9
|
class ToolPanelModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
11
10
|
constructor(api) {
|
|
12
11
|
super(ModuleConstants.ToolPanelModuleId, ModuleConstants.ToolPanelFriendlyName, 'tool-panel', 'ToolPanelPopup', 'An alternative to using the Dashboard is the AdapTable Tool Panel, the Tool Panel is the collapsible area to the right of the Grid.', api);
|
|
@@ -20,7 +19,7 @@ class ToolPanelModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
20
19
|
updateOldConfig() {
|
|
21
20
|
const deprecatedToolPanelConfigs = this.api.toolPanelApi.getToolPanelState().VisibleToolPanels;
|
|
22
21
|
if (deprecatedToolPanelConfigs === null || deprecatedToolPanelConfigs === void 0 ? void 0 : deprecatedToolPanelConfigs.length) {
|
|
23
|
-
|
|
22
|
+
this.api.logWarn(`Updating Obsolete VisibleToolPanels Config for ToolPanelState: [${deprecatedToolPanelConfigs}]`);
|
|
24
23
|
const migratedToolPanelConfigs = deprecatedToolPanelConfigs.map((toolPanel) => ({
|
|
25
24
|
Name: toolPanel,
|
|
26
25
|
State: 'collapsed',
|
|
@@ -29,7 +28,7 @@ class ToolPanelModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
29
28
|
}
|
|
30
29
|
else if (!this.api.toolPanelApi.getToolPanelState().ToolPanels) {
|
|
31
30
|
// no predefined config provided, we will display all the panels collapsed (custom & module)
|
|
32
|
-
|
|
31
|
+
this.api.logInfo(`No predefined ToolPanels provided, displaying all available ones (custom&system)`);
|
|
33
32
|
const defaultConfig = [];
|
|
34
33
|
this.api.toolPanelApi
|
|
35
34
|
.getCustomToolPanels()
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
export declare const getAlertBehaviourViewItems: (api: AdaptableApi) =>
|
|
4
|
-
name: string;
|
|
5
|
-
view: React.FunctionComponent<React.PropsWithChildren<{
|
|
6
|
-
data: AlertDefinition;
|
|
7
|
-
}>>;
|
|
8
|
-
};
|
|
1
|
+
import { AdaptableApi } from '../../../types';
|
|
2
|
+
import { AdaptableObjectItemView } from '../../Interface/IModule';
|
|
3
|
+
export declare const getAlertBehaviourViewItems: (api: AdaptableApi) => AdaptableObjectItemView;
|
|
@@ -1,14 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getObjectTagsViewItems = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
+
const SimpleButton_1 = tslib_1.__importDefault(require("../../components/SimpleButton"));
|
|
7
|
+
const react_redux_1 = require("react-redux");
|
|
4
8
|
const getObjectTagsViewItems = (object, api) => {
|
|
5
|
-
var _a, _b;
|
|
9
|
+
var _a, _b, _c, _d;
|
|
6
10
|
if (!api.internalApi.shouldDisplayTagSections() || !((_a = object === null || object === void 0 ? void 0 : object.Tags) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
7
11
|
return;
|
|
8
12
|
}
|
|
13
|
+
const currentLayoutName = api.layoutApi.getCurrentLayoutName();
|
|
14
|
+
const hasCurrentLayoutAsTag = (_c = ((_b = object === null || object === void 0 ? void 0 : object.Tags) !== null && _b !== void 0 ? _b : [])) === null || _c === void 0 ? void 0 : _c.includes(currentLayoutName);
|
|
9
15
|
return {
|
|
10
16
|
name: 'Tags',
|
|
11
|
-
values: (
|
|
17
|
+
values: (_d = object === null || object === void 0 ? void 0 : object.Tags) === null || _d === void 0 ? void 0 : _d.map((tag) => api.internalApi.getLabelForTag(tag)),
|
|
18
|
+
viewAfter: (props) => {
|
|
19
|
+
const dispatch = (0, react_redux_1.useDispatch)();
|
|
20
|
+
const viewOptions = props.module.getViewProperties();
|
|
21
|
+
const handleToggleTag = react_1.default.useCallback(() => {
|
|
22
|
+
var _a;
|
|
23
|
+
let tags = (_a = props.data.Tags) !== null && _a !== void 0 ? _a : [];
|
|
24
|
+
if (hasCurrentLayoutAsTag) {
|
|
25
|
+
// remove layout
|
|
26
|
+
tags = tags.filter((tag) => tag !== currentLayoutName);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
tags.push(currentLayoutName);
|
|
30
|
+
}
|
|
31
|
+
const newObject = Object.assign(Object.assign({}, props.data), { Tags: tags });
|
|
32
|
+
const editAction = viewOptions.getEditAction(newObject);
|
|
33
|
+
dispatch(editAction);
|
|
34
|
+
}, [hasCurrentLayoutAsTag, props.data]);
|
|
35
|
+
return (react_1.default.createElement(SimpleButton_1.default, { onClick: handleToggleTag, mt: 1, icon: hasCurrentLayoutAsTag ? 'minus' : 'plus' }, hasCurrentLayoutAsTag ? 'Remove from Layout' : 'Add to Layout'));
|
|
36
|
+
},
|
|
12
37
|
};
|
|
13
38
|
};
|
|
14
39
|
exports.getObjectTagsViewItems = getObjectTagsViewItems;
|
|
@@ -214,9 +214,11 @@ exports.DefaultAdaptableOptions = {
|
|
|
214
214
|
showSuspendFilterButton: false,
|
|
215
215
|
quickFilterWildcards: {},
|
|
216
216
|
quickFilterDebounce: 250,
|
|
217
|
+
showValuesCount: undefined,
|
|
217
218
|
},
|
|
218
219
|
searchOptions: {
|
|
219
220
|
excludeColumnFromQuickSearch: undefined,
|
|
221
|
+
runQuickSearchOnRowGroups: false,
|
|
220
222
|
clearSearchesOnStartUp: false,
|
|
221
223
|
quickSearchPlaceholder: 'Search',
|
|
222
224
|
filterResultsAfterQuickSearch: false,
|
|
@@ -237,6 +239,7 @@ exports.DefaultAdaptableOptions = {
|
|
|
237
239
|
saveSharedEntities: (sharedEntities) => sharedEntities,
|
|
238
240
|
updateInterval: 0,
|
|
239
241
|
updateNotification: undefined,
|
|
242
|
+
suppressOverrideConfigWarning: false,
|
|
240
243
|
},
|
|
241
244
|
userInterfaceOptions: {
|
|
242
245
|
applicationIcon: undefined,
|
|
@@ -17,7 +17,7 @@ exports.booleanExpressionFunctions = {
|
|
|
17
17
|
category: 'logical',
|
|
18
18
|
returnType: 'boolean',
|
|
19
19
|
signatures: ['TRUE'],
|
|
20
|
-
examples: ['TRUE'],
|
|
20
|
+
examples: ['[column] = TRUE'],
|
|
21
21
|
},
|
|
22
22
|
FALSE: {
|
|
23
23
|
handler: () => {
|
|
@@ -27,7 +27,7 @@ exports.booleanExpressionFunctions = {
|
|
|
27
27
|
category: 'logical',
|
|
28
28
|
returnType: 'boolean',
|
|
29
29
|
signatures: ['FALSE'],
|
|
30
|
-
examples: ['FALSE'],
|
|
30
|
+
examples: ['[column] = FALSE'],
|
|
31
31
|
},
|
|
32
32
|
AND: {
|
|
33
33
|
handler(args) {
|
|
@@ -2,6 +2,6 @@ import { ExpressionFunction } from '../../parser/src/types';
|
|
|
2
2
|
/**
|
|
3
3
|
* List of all the Scalar Functions available in AdaptableQL
|
|
4
4
|
*/
|
|
5
|
-
export declare type ScalarFunctionName = 'ADD' | 'SUB' | 'MUL' | 'DIV' | 'MOD' | 'POW' | 'MIN' | 'MAX' | 'AVG' | 'DATE' | 'NOW' | 'TODAY' | 'DAY' | 'WEEK' | 'MONTH' | 'YEAR' | 'ADD_DAYS' | 'ADD_WEEKS' | 'ADD_MONTHS' | 'ADD_YEARS' | 'DIFF_DAYS' | 'DIFF_WEEKS' | 'DIFF_MONTHS' | 'DIFF_YEARS' | 'SUB_STRING' | 'REPLACE' | 'COALESCE' | 'LEN' | 'UPPER' | 'LOWER' | 'CONCAT' | 'IF' | 'CASE' | 'COL' | 'VAR' | 'TO_ARRAY' | 'QUERY' | 'IS_BLANK';
|
|
5
|
+
export declare type ScalarFunctionName = 'ADD' | 'SUB' | 'MUL' | 'DIV' | 'MOD' | 'POW' | 'ABS' | 'CEILING' | 'FLOOR' | 'ROUND' | 'MIN' | 'MAX' | 'AVG' | 'DATE' | 'NOW' | 'TODAY' | 'DAY' | 'WEEK' | 'MONTH' | 'YEAR' | 'ADD_DAYS' | 'ADD_WEEKS' | 'ADD_MONTHS' | 'ADD_YEARS' | 'DIFF_DAYS' | 'DIFF_WEEKS' | 'DIFF_MONTHS' | 'DIFF_YEARS' | 'SUB_STRING' | 'REPLACE' | 'COALESCE' | 'NULL' | 'LEN' | 'UPPER' | 'LOWER' | 'CONCAT' | 'IF' | 'CASE' | 'COL' | 'VAR' | 'TO_ARRAY' | 'QUERY' | 'IS_BLANK';
|
|
6
6
|
export declare const scalarExpressionFunctions: Record<ScalarFunctionName, ExpressionFunction>;
|
|
7
7
|
export declare const scalarExpressionFunctionNames: ScalarFunctionName[];
|