@adaptabletools/adaptable 16.2.3 → 16.2.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaptabletools/adaptable",
3
- "version": "16.2.3",
3
+ "version": "16.2.4",
4
4
  "description": "Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements",
5
5
  "keywords": [
6
6
  "web-components",
@@ -1,2 +1,2 @@
1
- declare const _default: 1701111826846;
1
+ declare const _default: 1701436913372;
2
2
  export default _default;
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = 1701111826846;
3
+ exports.default = 1701436913372;
@@ -1,4 +1,4 @@
1
- import { AdaptablePredicateDef, AdaptableScope, BaseContext, PredicateModuleScope, SystemAlertPredicateIds, SystemBadgeStylePredicateIds, SystemFilterPredicateIds, SystemFlashingCellPredicateIds, SystemFormatColumnPredicateIds } from '../types';
1
+ import { AdaptablePredicateDef, AdaptableScope, BaseContext, PredicateModuleScope, SystemAlertPredicateId, SystemAlertPredicateIds, SystemBadgeStylePredicateId, SystemBadgeStylePredicateIds, SystemFilterPredicateId, SystemFilterPredicateIds, SystemFlashingCellPredicateId, SystemFlashingCellPredicateIds, SystemFormatColumnPredicateId, SystemFormatColumnPredicateIds } from '../types';
2
2
  /**
3
3
  * Options for managing Adaptable Predicates using AdaptableQL
4
4
  */
@@ -10,23 +10,23 @@ export interface PredicateOptions {
10
10
  /**
11
11
  * Which System Filter Predicates are available
12
12
  */
13
- systemFilterPredicates?: SystemFilterPredicateIds | ((context: SystemPredicatesContext) => SystemFilterPredicateIds);
13
+ systemFilterPredicates?: SystemFilterPredicateIds | ((context: SystemPredicatesContext<SystemFilterPredicateId>) => SystemFilterPredicateIds);
14
14
  /**
15
15
  * Which System Badge Style Predicates are available
16
16
  */
17
- systemBadgeStylePredicates?: SystemBadgeStylePredicateIds | ((context: SystemPredicatesContext) => SystemBadgeStylePredicateIds);
17
+ systemBadgeStylePredicates?: SystemBadgeStylePredicateIds | ((context: SystemPredicatesContext<SystemBadgeStylePredicateId>) => SystemBadgeStylePredicateIds);
18
18
  /**
19
19
  * Which System Alert Predicates are available
20
20
  */
21
- systemAlertPredicates?: SystemAlertPredicateIds | ((context: SystemPredicatesContext) => SystemAlertPredicateIds);
21
+ systemAlertPredicates?: SystemAlertPredicateIds | ((context: SystemPredicatesContext<SystemAlertPredicateId>) => SystemAlertPredicateIds);
22
22
  /**
23
23
  * Which System Format Column Predicates are available
24
24
  */
25
- systemFormatColumnPredicates?: SystemFormatColumnPredicateIds | ((context: SystemPredicatesContext) => SystemFormatColumnPredicateIds);
25
+ systemFormatColumnPredicates?: SystemFormatColumnPredicateIds | ((context: SystemPredicatesContext<SystemFormatColumnPredicateId>) => SystemFormatColumnPredicateIds);
26
26
  /**
27
27
  * Which System Flashing Cell Predicates are available
28
28
  */
29
- systemFlashingCellPredicates?: SystemFlashingCellPredicateIds | ((context: SystemPredicatesContext) => SystemFlashingCellPredicateIds);
29
+ systemFlashingCellPredicates?: SystemFlashingCellPredicateIds | ((context: SystemPredicatesContext<SystemFlashingCellPredicateId>) => SystemFlashingCellPredicateIds);
30
30
  /**
31
31
  * Perform case-sensitive text comparisons when evaluating Predicates
32
32
  *
@@ -39,11 +39,11 @@ export interface PredicateOptions {
39
39
  /**
40
40
  * Context used for setting which System Predicates are available
41
41
  */
42
- export interface SystemPredicatesContext extends BaseContext {
42
+ export interface SystemPredicatesContext<PREDICATE_TYPE = string> extends BaseContext {
43
43
  /**
44
44
  * AdapTable-provided System Predicate Definitions
45
45
  */
46
- systemPredicateDefs: AdaptablePredicateDef[];
46
+ systemPredicateDefs: AdaptablePredicateDef<PREDICATE_TYPE>[];
47
47
  /**
48
48
  * Module for which Predicates are being retrieved
49
49
  */
@@ -1,15 +1,15 @@
1
1
  import { ApiBase } from './ApiBase';
2
2
  import { PredicateApi } from '../PredicateApi';
3
- import { PredicateDefHandlerContext, PredicateModuleScope } from '../../PredefinedConfig/Common/AdaptablePredicate';
4
- import { AdaptablePredicate, AdaptablePredicateDef, AdaptableColumnPredicate } from '../../types';
3
+ import { AdaptableColumnPredicate, AdaptablePredicate, AdaptablePredicateDef, PredicateDefHandlerContext, PredicateModuleScope } from '../../types';
5
4
  import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
6
5
  import { PredicateInternalApi } from '../Internal/PredicateInternalApi';
7
6
  export declare class PredicateApiImpl extends ApiBase implements PredicateApi {
8
7
  internalApi: PredicateInternalApi;
9
8
  constructor(adaptable: IAdaptable);
10
- getPredicateDefs(): AdaptablePredicateDef[];
11
- getSystemPredicateDefs(): AdaptablePredicateDef[];
12
- getCustomPredicateDefs(): AdaptablePredicateDef[];
9
+ getPredicateDefs(): AdaptablePredicateDef<string>[];
10
+ getSystemPredicateDefs(): AdaptablePredicateDef<string>[];
11
+ getSystemPredicateDefsByModuleScope<PREDICATE_TYPE extends string = string>(moduleScope: PredicateModuleScope): AdaptablePredicateDef<PREDICATE_TYPE>[];
12
+ getCustomPredicateDefs(): AdaptablePredicateDef<string>[];
13
13
  getPredicateDefsByModuleScope(moduleScope: PredicateModuleScope): AdaptablePredicateDef[];
14
14
  getPredicateDefById(predicateId: string): AdaptablePredicateDef;
15
15
  getSystemPredicateDefById(predicateId: string): AdaptablePredicateDef;
@@ -3,21 +3,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PredicateApiImpl = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const ApiBase_1 = require("./ApiBase");
6
- const AdaptablePredicate_1 = require("../../PredefinedConfig/Common/AdaptablePredicate");
7
6
  const ArrayExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/ArrayExtensions"));
8
7
  const StringExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/StringExtensions"));
9
8
  const PredicateInternalApi_1 = require("../Internal/PredicateInternalApi");
9
+ const AdaptablePredicate_1 = require("../../PredefinedConfig/Common/AdaptablePredicate");
10
10
  class PredicateApiImpl extends ApiBase_1.ApiBase {
11
11
  constructor(adaptable) {
12
12
  super(adaptable);
13
13
  this.internalApi = new PredicateInternalApi_1.PredicateInternalApi(adaptable);
14
14
  }
15
15
  getPredicateDefs() {
16
- return [...this.getSystemPredicateDefs(), ...this.getCustomPredicateDefs()];
16
+ return this.internalApi.mergeSystemAndCustomPredicates(this.getSystemPredicateDefs(), this.getCustomPredicateDefs());
17
17
  }
18
18
  getSystemPredicateDefs() {
19
19
  return AdaptablePredicate_1.SystemPredicateDefs;
20
20
  }
21
+ getSystemPredicateDefsByModuleScope(moduleScope) {
22
+ return AdaptablePredicate_1.SystemPredicateDefs.filter((p) => p.moduleScope.includes(moduleScope));
23
+ }
21
24
  getCustomPredicateDefs() {
22
25
  return this.getPredicateOptions().customPredicateDefs;
23
26
  }
@@ -25,8 +28,7 @@ class PredicateApiImpl extends ApiBase_1.ApiBase {
25
28
  return this.getPredicateDefs().filter((p) => p.moduleScope.includes(moduleScope));
26
29
  }
27
30
  getPredicateDefById(predicateId) {
28
- var _a;
29
- return ((_a = this.getSystemPredicateDefById(predicateId)) !== null && _a !== void 0 ? _a : this.getCustomPredicateDefById(predicateId));
31
+ return this.getPredicateDefs().find((predicateDef) => predicateDef.id === predicateId);
30
32
  }
31
33
  getSystemPredicateDefById(predicateId) {
32
34
  return this.getSystemPredicateDefs().find((predicateDef) => predicateDef.id === predicateId);
@@ -40,4 +40,9 @@ export declare class PredicateInternalApi extends ApiBase {
40
40
  * Get all Badge Style Predicate Definitions - System and Custom
41
41
  */
42
42
  getBadgeStylePredicateDefs(scope: AdaptableScope): AdaptablePredicateDef[];
43
+ /**
44
+ * Merges System and Custom Predicate Definitions but ensures that Custom ones take precedence
45
+ * (i.e. if there is a Custom Predicate with the same Id as a System one, the Custom one is used)
46
+ */
47
+ mergeSystemAndCustomPredicates(systemDefs: AdaptablePredicateDef[], customDefs: AdaptablePredicateDef[]): AdaptablePredicateDef[];
43
48
  }
@@ -16,10 +16,7 @@ class PredicateInternalApi extends ApiBase_1.ApiBase {
16
16
  */
17
17
  getFilterPredicateDefs(scope) {
18
18
  var _a;
19
- return [
20
- ...(_a = this.getSystemFilterPredicateIds(scope)) === null || _a === void 0 ? void 0 : _a.map((predicateId) => this.getPredicateApi().getPredicateDefById(predicateId)),
21
- ...this.getPredicateApi().getCustomPredicateDefs(),
22
- ].filter((predicateDef) => predicateDef.moduleScope.includes('filter'));
19
+ return this.mergeSystemAndCustomPredicates((_a = this.getSystemFilterPredicateIds(scope)) === null || _a === void 0 ? void 0 : _a.map((predicateId) => this.getPredicateApi().getPredicateDefById(predicateId)), this.getPredicateApi().getCustomPredicateDefs()).filter((predicateDef) => predicateDef.moduleScope.includes('filter'));
23
20
  }
24
21
  getSystemFilterPredicateIds(scope) {
25
22
  const systemFilterPredicates = this.getPredicateOptions().systemFilterPredicates;
@@ -28,9 +25,7 @@ class PredicateInternalApi extends ApiBase_1.ApiBase {
28
25
  adaptableApi: this.adaptable.api,
29
26
  userName: this.getOptions().userName,
30
27
  adaptableId: this.getOptions().adaptableId,
31
- systemPredicateDefs: this.getPredicateApi()
32
- .getSystemPredicateDefs()
33
- .filter((p) => p.moduleScope.includes('filter')),
28
+ systemPredicateDefs: this.getPredicateApi().getSystemPredicateDefsByModuleScope('filter'),
34
29
  moduleScope: 'filter',
35
30
  columnScope: scope,
36
31
  };
@@ -43,10 +38,7 @@ class PredicateInternalApi extends ApiBase_1.ApiBase {
43
38
  */
44
39
  getAlertPredicateDefs(scope) {
45
40
  var _a;
46
- return [
47
- ...(_a = this.getSystemAlertPredicateIds(scope)) === null || _a === void 0 ? void 0 : _a.map((predicateId) => this.getPredicateApi().getPredicateDefById(predicateId)),
48
- ...this.getPredicateApi().getCustomPredicateDefs(),
49
- ].filter((predicateDef) => predicateDef.moduleScope.includes('alert'));
41
+ return this.mergeSystemAndCustomPredicates((_a = this.getSystemAlertPredicateIds(scope)) === null || _a === void 0 ? void 0 : _a.map((predicateId) => this.getPredicateApi().getPredicateDefById(predicateId)), this.getPredicateApi().getCustomPredicateDefs()).filter((predicateDef) => predicateDef.moduleScope.includes('alert'));
50
42
  }
51
43
  getSystemAlertPredicateIds(scope) {
52
44
  const systemAlertPredicates = this.getPredicateOptions().systemAlertPredicates;
@@ -55,9 +47,7 @@ class PredicateInternalApi extends ApiBase_1.ApiBase {
55
47
  adaptableApi: this.adaptable.api,
56
48
  userName: this.getOptions().userName,
57
49
  adaptableId: this.getOptions().adaptableId,
58
- systemPredicateDefs: this.getPredicateApi()
59
- .getSystemPredicateDefs()
60
- .filter((p) => p.moduleScope.includes('alert')),
50
+ systemPredicateDefs: this.getPredicateApi().getSystemPredicateDefsByModuleScope('alert'),
61
51
  moduleScope: 'alert',
62
52
  columnScope: scope,
63
53
  };
@@ -72,9 +62,7 @@ class PredicateInternalApi extends ApiBase_1.ApiBase {
72
62
  adaptableApi: this.adaptable.api,
73
63
  userName: this.getOptions().userName,
74
64
  adaptableId: this.getOptions().adaptableId,
75
- systemPredicateDefs: this.getPredicateApi()
76
- .getSystemPredicateDefs()
77
- .filter((p) => p.moduleScope.includes('badgeStyle')),
65
+ systemPredicateDefs: this.getPredicateApi().getSystemPredicateDefsByModuleScope('badgeStyle'),
78
66
  moduleScope: 'badgeStyle',
79
67
  columnScope: scope,
80
68
  };
@@ -87,10 +75,7 @@ class PredicateInternalApi extends ApiBase_1.ApiBase {
87
75
  */
88
76
  getFormatColumnPredicateDefs(scope) {
89
77
  var _a;
90
- return [
91
- ...(_a = this.getSystemFormatColumnPredicateIds(scope)) === null || _a === void 0 ? void 0 : _a.map((predicateId) => this.getPredicateApi().getPredicateDefById(predicateId)),
92
- ...this.getPredicateApi().getCustomPredicateDefs(),
93
- ].filter((predicateDef) => predicateDef.moduleScope.includes('formatColumn'));
78
+ return this.mergeSystemAndCustomPredicates((_a = this.getSystemFormatColumnPredicateIds(scope)) === null || _a === void 0 ? void 0 : _a.map((predicateId) => this.getPredicateApi().getPredicateDefById(predicateId)), this.getPredicateApi().getCustomPredicateDefs()).filter((predicateDef) => predicateDef.moduleScope.includes('formatColumn'));
94
79
  }
95
80
  getSystemFormatColumnPredicateIds(scope) {
96
81
  const systemFormatColumnPredicates = this.getPredicateOptions().systemFormatColumnPredicates;
@@ -99,9 +84,7 @@ class PredicateInternalApi extends ApiBase_1.ApiBase {
99
84
  adaptableApi: this.adaptable.api,
100
85
  userName: this.getOptions().userName,
101
86
  adaptableId: this.getOptions().adaptableId,
102
- systemPredicateDefs: this.getPredicateApi()
103
- .getSystemPredicateDefs()
104
- .filter((p) => p.moduleScope.includes('formatColumn')),
87
+ systemPredicateDefs: this.getPredicateApi().getSystemPredicateDefsByModuleScope('formatColumn'),
105
88
  moduleScope: 'formatColumn',
106
89
  columnScope: scope,
107
90
  };
@@ -114,10 +97,7 @@ class PredicateInternalApi extends ApiBase_1.ApiBase {
114
97
  */
115
98
  getFlashingCellPredicateDefs(scope) {
116
99
  var _a;
117
- return [
118
- ...(_a = this.getSystemFlashingCellPredicateIds(scope)) === null || _a === void 0 ? void 0 : _a.map((predicateId) => this.getPredicateApi().getPredicateDefById(predicateId)),
119
- ...this.getPredicateApi().getCustomPredicateDefs(),
120
- ].filter((predicateDef) => predicateDef.moduleScope.includes('flashingcell'));
100
+ return this.mergeSystemAndCustomPredicates((_a = this.getSystemFlashingCellPredicateIds(scope)) === null || _a === void 0 ? void 0 : _a.map((predicateId) => this.getPredicateApi().getPredicateDefById(predicateId)), this.getPredicateApi().getCustomPredicateDefs()).filter((predicateDef) => predicateDef.moduleScope.includes('flashingcell'));
121
101
  }
122
102
  getSystemFlashingCellPredicateIds(scope) {
123
103
  const systemFlashingCellPredicates = this.getPredicateOptions().systemFlashingCellPredicates;
@@ -126,9 +106,7 @@ class PredicateInternalApi extends ApiBase_1.ApiBase {
126
106
  adaptableApi: this.adaptable.api,
127
107
  userName: this.getOptions().userName,
128
108
  adaptableId: this.getOptions().adaptableId,
129
- systemPredicateDefs: this.getPredicateApi()
130
- .getSystemPredicateDefs()
131
- .filter((p) => p.moduleScope.includes('flashingcell')),
109
+ systemPredicateDefs: this.getPredicateApi().getSystemPredicateDefsByModuleScope('flashingcell'),
132
110
  moduleScope: 'flashingcell',
133
111
  columnScope: scope,
134
112
  };
@@ -163,10 +141,19 @@ class PredicateInternalApi extends ApiBase_1.ApiBase {
163
141
  */
164
142
  getBadgeStylePredicateDefs(scope) {
165
143
  var _a;
166
- return [
167
- ...(_a = this.getSystemBadgeStylePredicateIds(scope)) === null || _a === void 0 ? void 0 : _a.map((predicateId) => this.getPredicateApi().getPredicateDefById(predicateId)),
168
- ...this.getPredicateApi().getCustomPredicateDefs(),
169
- ].filter((predicateDef) => predicateDef.moduleScope.includes('badgeStyle'));
144
+ return this.mergeSystemAndCustomPredicates((_a = this.getSystemBadgeStylePredicateIds(scope)) === null || _a === void 0 ? void 0 : _a.map((predicateId) => this.getPredicateApi().getPredicateDefById(predicateId)), this.getPredicateApi().getCustomPredicateDefs()).filter((predicateDef) => predicateDef.moduleScope.includes('badgeStyle'));
145
+ }
146
+ /**
147
+ * Merges System and Custom Predicate Definitions but ensures that Custom ones take precedence
148
+ * (i.e. if there is a Custom Predicate with the same Id as a System one, the Custom one is used)
149
+ */
150
+ mergeSystemAndCustomPredicates(systemDefs, customDefs) {
151
+ const systemDefsToUse = systemDefs.map((systemDef) => {
152
+ const customDef = customDefs.find((customDef) => customDef.id === systemDef.id);
153
+ return customDef ? customDef : systemDef;
154
+ });
155
+ const customDefsToUse = customDefs.filter((customDef) => !systemDefsToUse.find((systemDef) => systemDef.id === customDef.id));
156
+ return [...systemDefsToUse, ...customDefsToUse];
170
157
  }
171
158
  }
172
159
  exports.PredicateInternalApi = PredicateInternalApi;
@@ -58,7 +58,7 @@ export declare class StyledColumnInternalApi extends ApiBase {
58
58
  */
59
59
  hasStyledColumnRelativeCellRange(styledColumn: StyledColumn): boolean;
60
60
  getApplicableBadge(styledColumn: StyledColumn, context: PredicateDefHandlerContext): BadgeStyleDefinition | null;
61
- getBadgePredicateDefsForColumn(columnId: string): import("../../types").AdaptablePredicateDef[];
61
+ getBadgePredicateDefsForColumn(columnId: string): import("../../types").AdaptablePredicateDef<string>[];
62
62
  getCheckBoxStyleStyledColumn(column: AdaptableColumn): StyledColumn | undefined;
63
63
  isCheckBoxStyleStyledColumn(column: AdaptableColumn): boolean;
64
64
  fireCheckboxColumnClickedEvent(columnId: string, rowData: any, primaryKeyValue: any, isChecked: boolean): void;
@@ -12,6 +12,11 @@ export interface PredicateApi {
12
12
  * Returns Predicate Definitions provided by AdapTable
13
13
  */
14
14
  getSystemPredicateDefs(): AdaptablePredicateDef[];
15
+ /**
16
+ * Returns Predicate Definitions provided by AdapTable for given Module Scope
17
+ * @param moduleScope Module Scope to use
18
+ */
19
+ getSystemPredicateDefsByModuleScope<PREDICATE_TYPE extends string = string>(moduleScope: PredicateModuleScope): AdaptablePredicateDef<PREDICATE_TYPE>[];
15
20
  /**
16
21
  * Returns Predicate Definitions provided by users
17
22
  */
@@ -6,11 +6,11 @@ import { BaseContext } from './BaseContext';
6
6
  /**
7
7
  * Predicate object used by AdapTableQL - essentially a boolean function
8
8
  */
9
- export interface AdaptablePredicate {
9
+ export interface AdaptablePredicate<PREDICATE_TYPE = string> {
10
10
  /**
11
11
  * Id of Predicate (e.g. `Equals`, `GreaterThan`)
12
12
  */
13
- PredicateId: string;
13
+ PredicateId: PREDICATE_TYPE;
14
14
  /**
15
15
  * Optional Inputs that might be needed for evaluation
16
16
  */
@@ -28,11 +28,11 @@ export interface AdaptableColumnPredicate extends AdaptablePredicate {
28
28
  /**
29
29
  * Defines a Predicate - include where it can run and what it does
30
30
  */
31
- export interface AdaptablePredicateDef {
31
+ export interface AdaptablePredicateDef<PREDICATE_TYPE = string> {
32
32
  /**
33
- * Unique Id for the object
33
+ * Predicate Id
34
34
  */
35
- id: string;
35
+ id: PREDICATE_TYPE;
36
36
  /**
37
37
  * Name of the Predicate
38
38
  */
@@ -1,3 +1,3 @@
1
1
  import { AdaptableApi, AdaptablePredicateDef, AdaptableScope } from '../../../types';
2
2
  import { AlertType } from './getAlertType';
3
- export declare const getAvailablePredicateDefinitions: (api: AdaptableApi, scope: AdaptableScope, alertType: AlertType) => AdaptablePredicateDef[];
3
+ export declare const getAvailablePredicateDefinitions: (api: AdaptableApi, scope: AdaptableScope, alertType: AlertType) => AdaptablePredicateDef<string>[];