@adaptabletools/adaptable-cjs 18.0.0-canary.30 → 18.0.0-canary.32

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.
Files changed (98) hide show
  1. package/package.json +1 -1
  2. package/src/AdaptableOptions/ActionColumnOptions.d.ts +3 -2
  3. package/src/AdaptableOptions/CustomSortOptions.d.ts +2 -2
  4. package/src/AdaptableOptions/FormatColumnOptions.d.ts +2 -2
  5. package/src/AdaptableOptions/PredicateOptions.d.ts +2 -2
  6. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +2 -2
  7. package/src/Api/AdaptableApi.d.ts +2 -2
  8. package/src/Api/{ScopeApi.d.ts → ColumnScopeApi.d.ts} +28 -28
  9. package/src/Api/FlashingCellApi.d.ts +2 -2
  10. package/src/Api/GridApi.d.ts +5 -0
  11. package/src/Api/Implementation/AdaptableApiImpl.d.ts +2 -2
  12. package/src/Api/Implementation/AdaptableApiImpl.js +3 -3
  13. package/src/Api/Implementation/AlertApiImpl.js +3 -3
  14. package/src/Api/Implementation/ApiBase.d.ts +2 -2
  15. package/src/Api/Implementation/ApiBase.js +2 -2
  16. package/src/Api/Implementation/ColumnFilterApiImpl.js +1 -1
  17. package/src/Api/Implementation/ColumnScopeApiImpl.d.ts +33 -0
  18. package/src/Api/Implementation/{ScopeApiImpl.js → ColumnScopeApiImpl.js} +4 -4
  19. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +2 -2
  20. package/src/Api/Implementation/FlashingCellApiImpl.js +1 -1
  21. package/src/Api/Implementation/FormatColumnApiImpl.js +3 -3
  22. package/src/Api/Implementation/GridApiImpl.d.ts +1 -0
  23. package/src/Api/Implementation/GridApiImpl.js +5 -0
  24. package/src/Api/Implementation/UserInterfaceApiImpl.js +3 -3
  25. package/src/Api/Internal/AdaptableInternalApi.js +1 -1
  26. package/src/Api/Internal/AlertInternalApi.d.ts +2 -2
  27. package/src/Api/Internal/AlertInternalApi.js +3 -3
  28. package/src/Api/Internal/CustomSortInternalApi.js +1 -1
  29. package/src/Api/Internal/ExportInternalApi.js +1 -1
  30. package/src/Api/Internal/ExpressionInternalApi.js +1 -1
  31. package/src/Api/Internal/FormatColumnInternalApi.d.ts +2 -2
  32. package/src/Api/Internal/FormatColumnInternalApi.js +24 -14
  33. package/src/Api/Internal/PredicateInternalApi.d.ts +6 -6
  34. package/src/Api/Internal/StyledColumnInternalApi.d.ts +2 -2
  35. package/src/Api/Internal/StyledColumnInternalApi.js +4 -5
  36. package/src/PredefinedConfig/AlertState.d.ts +2 -2
  37. package/src/PredefinedConfig/Common/AdaptableObject.d.ts +4 -4
  38. package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +2 -2
  39. package/src/PredefinedConfig/Common/{AdaptableScope.d.ts → ColumnScope.d.ts} +1 -1
  40. package/src/PredefinedConfig/Common/RowScope.d.ts +17 -0
  41. package/src/PredefinedConfig/Common/RowScope.js +2 -0
  42. package/src/PredefinedConfig/ExportState.d.ts +2 -2
  43. package/src/PredefinedConfig/FlashingCellState.d.ts +2 -2
  44. package/src/PredefinedConfig/FormatColumnState.d.ts +7 -8
  45. package/src/PredefinedConfig/PlusMinusState.d.ts +2 -2
  46. package/src/PredefinedConfig/ShortcutState.d.ts +2 -2
  47. package/src/PredefinedConfig/StyledColumnState.d.ts +5 -10
  48. package/src/Strategy/AlertModule.js +2 -2
  49. package/src/Strategy/ExportModule.js +2 -2
  50. package/src/Strategy/FlashingCellModule.js +4 -4
  51. package/src/Strategy/FormatColumnModule.js +2 -2
  52. package/src/Strategy/PlusMinusModule.js +3 -3
  53. package/src/Strategy/ShortcutModule.js +1 -1
  54. package/src/Strategy/StyledColumnModule.js +7 -5
  55. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +4 -3
  56. package/src/Strategy/Utilities/getScopeViewItems.d.ts +2 -2
  57. package/src/Utilities/ObjectFactory.js +1 -1
  58. package/src/Utilities/Services/ReportService.js +2 -2
  59. package/src/Utilities/Services/ValidationService.js +2 -2
  60. package/src/View/Alert/AlertEntityRow.js +1 -1
  61. package/src/View/Alert/Utilities/getAvailablePredicates.d.ts +2 -2
  62. package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +1 -1
  63. package/src/View/Alert/Wizard/AlertScopeWizardSection.js +2 -2
  64. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +1 -1
  65. package/src/View/ColumnInfo/ColumnInfo.js +1 -1
  66. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.d.ts +3 -3
  67. package/src/View/Components/EntityRulesEditor/index.d.ts +3 -3
  68. package/src/View/Components/NewScopeComponent.d.ts +5 -5
  69. package/src/View/Components/NewScopeComponent.js +2 -2
  70. package/src/View/Components/RangesComponent.d.ts +2 -2
  71. package/src/View/Components/RangesComponent.js +1 -1
  72. package/src/View/Components/SharedProps/WizardScopeState.d.ts +2 -2
  73. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +1 -1
  74. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +4 -1
  75. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +2 -2
  76. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +1 -1
  77. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +1 -1
  78. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +1 -1
  79. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +24 -13
  80. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +1 -1
  81. package/src/View/PlusMinus/PlusMinusSummary.js +2 -2
  82. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +1 -1
  83. package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +32 -12
  84. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +1 -1
  85. package/src/agGrid/ActionColumnRenderer.js +40 -4
  86. package/src/agGrid/AdaptableAgGrid.js +2 -3
  87. package/src/agGrid/AgGridColumnAdapter.js +11 -10
  88. package/src/agGrid/BadgeRenderer.d.ts +2 -2
  89. package/src/agGrid/BadgeRenderer.js +23 -16
  90. package/src/agGrid/PercentBarRenderer.js +0 -1
  91. package/src/env.js +2 -2
  92. package/src/metamodel/adaptable.metamodel.d.ts +19 -26
  93. package/src/metamodel/adaptable.metamodel.js +1 -1
  94. package/src/types.d.ts +3 -2
  95. package/tsconfig.cjs.tsbuildinfo +1 -1
  96. package/src/Api/Implementation/ScopeApiImpl.d.ts +0 -33
  97. /package/src/Api/{ScopeApi.js → ColumnScopeApi.js} +0 -0
  98. /package/src/PredefinedConfig/Common/{AdaptableScope.js → ColumnScope.js} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaptabletools/adaptable-cjs",
3
- "version": "18.0.0-canary.30",
3
+ "version": "18.0.0-canary.32",
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,4 +1,5 @@
1
1
  import { IRowNode } from '@ag-grid-community/core';
2
+ import { RowScope } from "../PredefinedConfig/Common/RowScope";
2
3
  import { AdaptableButton, AdaptableObject, BaseContext } from '../types';
3
4
  /**
4
5
  * Options related to Action Columns in AdapTable
@@ -27,9 +28,9 @@ export interface ActionColumn<TData = any> extends AdaptableObject {
27
28
  */
28
29
  actionColumnButton: AdaptableButton<ActionColumnContext<TData>> | AdaptableButton<ActionColumnContext<TData>>[];
29
30
  /**
30
- * Shows Action Column also in grouped rows
31
+ * Which types of Rows should contain buttons (data, grouped, summary)
31
32
  */
32
- includeGroupedRows?: boolean;
33
+ rowScope?: RowScope;
33
34
  /**
34
35
  * Additional optional properties for Column (e.g. filterable, resizable)
35
36
  */
@@ -1,4 +1,4 @@
1
- import { AdaptableScope } from '../../types';
1
+ import { ColumnScope } from '../../types';
2
2
  import { AdaptableComparerFunction } from '../PredefinedConfig/Common/AdaptableComparerFunction';
3
3
  /**
4
4
  * Options for providing Custom Sorts comparers
@@ -16,7 +16,7 @@ export interface ColumnValuesComparer<TData = any> {
16
16
  /**
17
17
  * Column for which to compare values
18
18
  */
19
- scope: AdaptableScope;
19
+ scope: ColumnScope;
20
20
  /**
21
21
  * Comparer function to use
22
22
  */
@@ -1,4 +1,4 @@
1
- import { AdaptableScope } from '../PredefinedConfig/Common/AdaptableScope';
1
+ import { ColumnScope } from '../PredefinedConfig/Common/ColumnScope';
2
2
  import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
3
3
  import { BaseContext } from '../../types';
4
4
  import { IRowNode } from '@ag-grid-community/core';
@@ -30,7 +30,7 @@ export interface CustomDisplayFormatter {
30
30
  /**
31
31
  * Where Custom Display Format can be applied
32
32
  */
33
- scope: AdaptableScope;
33
+ scope: ColumnScope;
34
34
  }
35
35
  /**
36
36
  * Context used in handler of CustomDisplayFormatter
@@ -1,4 +1,4 @@
1
- import { AdaptablePredicateDef, AdaptableScope, BaseContext, PredicateModuleScope, SystemAlertPredicateId, SystemAlertPredicateIds, SystemBadgeStylePredicateId, SystemBadgeStylePredicateIds, SystemFilterPredicateId, SystemFilterPredicateIds, SystemFlashingCellPredicateId, SystemFlashingCellPredicateIds, SystemFormatColumnPredicateId, SystemFormatColumnPredicateIds } from '../types';
1
+ import { AdaptablePredicateDef, ColumnScope, 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
  */
@@ -51,5 +51,5 @@ export interface SystemPredicatesContext<PREDICATE_TYPE = string> extends BaseCo
51
51
  /**
52
52
  * Current Scope where Predicates are being used
53
53
  */
54
- columnScope: AdaptableScope;
54
+ columnScope: ColumnScope;
55
55
  }
@@ -1,6 +1,6 @@
1
1
  import { AdaptableIcon } from '../PredefinedConfig/Common/AdaptableIcon';
2
2
  import { DateInputOptions } from './DateInputOptions';
3
- import { AdaptableScope } from '../PredefinedConfig/Common/AdaptableScope';
3
+ import { ColumnScope } from '../PredefinedConfig/Common/ColumnScope';
4
4
  import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
5
5
  import { AdaptableObjectTag } from '../PredefinedConfig/Common/AdaptableObject';
6
6
  import { AdaptableStyle } from '../PredefinedConfig/Common/AdaptableStyle';
@@ -136,7 +136,7 @@ export interface BasePermittedValues {
136
136
  /**
137
137
  * Scope where Values will appear (Mandatory property)
138
138
  */
139
- scope: AdaptableScope;
139
+ scope: ColumnScope;
140
140
  }
141
141
  /**
142
142
  * Permitted/possible values, when column values can be selected (e.g. sort, bulk-update)
@@ -29,7 +29,7 @@ import { ExpressionApi } from './ExpressionApi';
29
29
  import { TeamSharingApi } from './TeamSharingApi';
30
30
  import { ColumnApi } from './ColumnApi';
31
31
  import { ApplicationApi } from './ApplicationApi';
32
- import { ScopeApi } from './ScopeApi';
32
+ import { ColumnScopeApi } from './ColumnScopeApi';
33
33
  import { PredicateApi } from './PredicateApi';
34
34
  import { DataChangeHistoryApi } from './DataChangeHistoryApi';
35
35
  import { FlashingCellApi } from './FlashingCellApi';
@@ -193,7 +193,7 @@ export interface AdaptableApi {
193
193
  /**
194
194
  * Manages the `Scope` object - used widely to determine where objects are applied
195
195
  */
196
- scopeApi: ScopeApi;
196
+ columnScopeApi: ColumnScopeApi;
197
197
  /**
198
198
  * Provides access to the Shortcut Module
199
199
  */
@@ -1,125 +1,125 @@
1
1
  import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
2
- import { AdaptableScope, ScopeDataType } from '../PredefinedConfig/Common/AdaptableScope';
2
+ import { ColumnScope, ScopeDataType } from '../PredefinedConfig/Common/ColumnScope';
3
3
  import { CellColorRange } from '../PredefinedConfig/StyledColumnState';
4
4
  /**
5
- * Provides access to a suite of functions related to the `Scope` object
5
+ * Provides access to a suite of functions related to the `Column Scope` object
6
6
  */
7
- export interface ScopeApi {
7
+ export interface ColumnScopeApi {
8
8
  /**
9
9
  * True if Column is in given Scope
10
10
  * @param column Column to check
11
11
  * @param scope The Scope to check
12
12
  */
13
- isColumnInScope(column: AdaptableColumn | undefined, scope: AdaptableScope): boolean;
13
+ isColumnInScope(column: AdaptableColumn | undefined, scope: ColumnScope): boolean;
14
14
  /**
15
15
  * Returns list of all Columns in the given Scope
16
16
  * @param scope the Scope to check
17
17
  */
18
- getColumnsForScope(scope: AdaptableScope): AdaptableColumn[];
18
+ getColumnsForScope(scope: ColumnScope): AdaptableColumn[];
19
19
  /**
20
20
  * True if Scope is empty
21
21
  * @param scope Scope to check
22
22
  */
23
- scopeIsEmpty(scope: AdaptableScope): boolean;
23
+ scopeIsEmpty(scope: ColumnScope): boolean;
24
24
  /**
25
25
  * True if Scope is 'All'
26
26
  * @param scope Scope to check
27
27
  */
28
- scopeIsAll(scope: AdaptableScope): boolean;
28
+ scopeIsAll(scope: ColumnScope): boolean;
29
29
  /**
30
30
  * True if Scope contains DataTypes
31
31
  * @param scope Scope to check
32
32
  */
33
- scopeHasDataType(scope: AdaptableScope): boolean;
33
+ scopeHasDataType(scope: ColumnScope): boolean;
34
34
  /**
35
35
  * True if Scope contains ColumnTypes
36
36
  * @param scope Scope to check
37
37
  */
38
- scopeHasColumnType(scope: AdaptableScope): boolean;
38
+ scopeHasColumnType(scope: ColumnScope): boolean;
39
39
  /**
40
40
  * True if the Scope is DataTypes and contains only Boolean
41
41
  * @param scope Scope to check
42
42
  */
43
- scopeHasOnlyBooleanDataType(scope: AdaptableScope): boolean;
43
+ scopeHasOnlyBooleanDataType(scope: ColumnScope): boolean;
44
44
  /**
45
45
  * True if Scope contains just 1 ColumnId
46
46
  * @param scope Scope to check
47
47
  */
48
- isSingleColumnScope(scope: AdaptableScope): boolean;
48
+ isSingleColumnScope(scope: ColumnScope): boolean;
49
49
  /**
50
50
  * Gets the only Column in given Scope
51
51
  * @param scope Scope to check
52
52
  */
53
- getSingleColumnInScope(scope: AdaptableScope): string | undefined;
53
+ getSingleColumnInScope(scope: ColumnScope): string | undefined;
54
54
  /**
55
55
  * True if Scope contains just 1 numeric Column
56
56
  * @param scope Scope to check
57
57
  */
58
- isSingleNumericColumnScope(scope: AdaptableScope): boolean;
58
+ isSingleNumericColumnScope(scope: ColumnScope): boolean;
59
59
  /**
60
60
  * True if Scope contains just 1 boolean Column
61
61
  * @param scope Scope to check
62
62
  */
63
- isSingleBooleanColumnScope(scope: AdaptableScope): boolean;
63
+ isSingleBooleanColumnScope(scope: ColumnScope): boolean;
64
64
  /**
65
65
  * True if all selected columns are boolean
66
66
  * @param scope Scope to check
67
67
  */
68
- areAllBooleanColumnsInScope(scope: AdaptableScope): boolean;
68
+ areAllBooleanColumnsInScope(scope: ColumnScope): boolean;
69
69
  /**
70
70
  * True if Scope contains ColumnIds
71
71
  * @param scope Scope to check
72
72
  */
73
- scopeHasColumns(scope: AdaptableScope): boolean;
73
+ scopeHasColumns(scope: ColumnScope): boolean;
74
74
  /**
75
75
  * Gets string representation of the Scope
76
76
  * @param scope Scope to check
77
77
  */
78
- getScopeToString(scope: AdaptableScope): string;
78
+ getScopeToString(scope: ColumnScope): string;
79
79
  /**
80
80
  * Whether PK column is included in Scope's column section
81
81
  * @param scope Scope to check
82
82
  */
83
- isPrimaryKeyColumnInScopeColumns(scope: AdaptableScope): boolean;
83
+ isPrimaryKeyColumnInScopeColumns(scope: ColumnScope): boolean;
84
84
  /**
85
85
  * True if Column is in Scope's 'ColumnIds' section
86
86
  * @param column Column to check
87
87
  * @param scope Scope to check
88
88
  */
89
- isColumnInScopeColumns(column: AdaptableColumn, scope: AdaptableScope): boolean;
89
+ isColumnInScopeColumns(column: AdaptableColumn, scope: ColumnScope): boolean;
90
90
  /**
91
91
  * Returns all the ColumnIds in the Scope
92
92
  * @param scope Scope to check
93
93
  */
94
- getColumnIdsInScope(scope: AdaptableScope): string[] | undefined;
94
+ getColumnIdsInScope(scope: ColumnScope): string[] | undefined;
95
95
  /**
96
96
  * Returns all the ColumnTypes in the Scope
97
97
  * @param scope Scope to check
98
98
  */
99
- getColumnTypesInScope(scope: AdaptableScope): string[] | undefined;
99
+ getColumnTypesInScope(scope: ColumnScope): string[] | undefined;
100
100
  /**
101
101
  * Returns all the DataTypes in the Scope
102
102
  * @param scope Scope to check
103
103
  */
104
- getDataTypesInScope(scope: AdaptableScope): ScopeDataType[] | undefined;
104
+ getDataTypesInScope(scope: ColumnScope): ScopeDataType[] | undefined;
105
105
  /**
106
106
  * True if Scope has Numeric DataType containing Column
107
107
  * @param column Column to check
108
108
  * @param scope Scope to check
109
109
  */
110
- isColumnInNumericScope(column: AdaptableColumn, scope: AdaptableScope): boolean;
110
+ isColumnInNumericScope(column: AdaptableColumn, scope: ColumnScope): boolean;
111
111
  /**
112
112
  * True if Scope has String DataType containing Column
113
113
  * @param column Column to check
114
114
  * @param scope Scope to check
115
115
  */
116
- isColumnInStringsScope(column: AdaptableColumn, scope: AdaptableScope): boolean;
116
+ isColumnInStringsScope(column: AdaptableColumn, scope: ColumnScope): boolean;
117
117
  /**
118
118
  * True if Scope has Data DataType which contains Column
119
119
  * @param column Column to check
120
120
  * @param scope Scope to check
121
121
  */
122
- isColumnInDateScope(column: AdaptableColumn, scope: AdaptableScope): boolean;
122
+ isColumnInDateScope(column: AdaptableColumn, scope: ColumnScope): boolean;
123
123
  /**
124
124
  * True if first scope is in second Scope
125
125
  *
@@ -135,15 +135,15 @@ export interface ScopeApi {
135
135
  * @param scopeA first Scope
136
136
  * @param scopeB second Scope
137
137
  */
138
- isScopeInScope(scopeA: AdaptableScope, scopeB: AdaptableScope): boolean;
138
+ isScopeInScope(scopeA: ColumnScope, scopeB: ColumnScope): boolean;
139
139
  /**
140
140
  * Provides a description for the Scope
141
141
  * @param scope The Scope to check
142
142
  */
143
- getScopeDescription(scope: AdaptableScope): string;
143
+ getScopeDescription(scope: ColumnScope): string;
144
144
  /**
145
145
  * Creates Cell Color Ranges (used in Format Column) for given Scope
146
146
  * @param scope Scope to use
147
147
  */
148
- createCellColorRangesForScope(scope: AdaptableScope): CellColorRange[];
148
+ createCellColorRangesForScope(scope: ColumnScope): CellColorRange[];
149
149
  }
@@ -1,6 +1,6 @@
1
1
  import { AdaptableFlashingCell } from '../PredefinedConfig/Common/AdaptableFlashingCell';
2
2
  import { AdaptablePredicateDef } from '../PredefinedConfig/Common/AdaptablePredicate';
3
- import { AdaptableScope } from '../PredefinedConfig/Common/AdaptableScope';
3
+ import { ColumnScope } from '../PredefinedConfig/Common/ColumnScope';
4
4
  import { FlashingCellDefinition, FlashingCellState } from '../PredefinedConfig/FlashingCellState';
5
5
  import { AdaptableObjectLookupCriteria } from '../PredefinedConfig/Common/AdaptableObject';
6
6
  /**
@@ -83,7 +83,7 @@ export interface FlashingCellApi {
83
83
  * Retrieves all Predicate Defs that match given Scope
84
84
  * @param scope the Scope to check
85
85
  */
86
- getFlashingCellPredicateDefsForScope(scope: AdaptableScope): AdaptablePredicateDef[];
86
+ getFlashingCellPredicateDefsForScope(scope: ColumnScope): AdaptablePredicateDef[];
87
87
  /**
88
88
  * Clears all Cells and Rows which have been flashed (primarily used if duration is 'Always')
89
89
  */
@@ -385,6 +385,11 @@ export interface GridApi {
385
385
  * @param rowNode Node to check
386
386
  */
387
387
  isGroupRowNode(rowNode: IRowNode): boolean;
388
+ /**
389
+ * Whether given Row Node is in a Smmary Row
390
+ * @param rowNode Node to check
391
+ */
392
+ isSummaryNode(rowNode: IRowNode): boolean;
388
393
  /**
389
394
  * Whether Quick Filter is available in the Grid
390
395
  */
@@ -31,7 +31,7 @@ import { ExpressionApi } from '../ExpressionApi';
31
31
  import { TeamSharingApi } from '../TeamSharingApi';
32
32
  import { ColumnApi } from '../ColumnApi';
33
33
  import { ApplicationApi } from '../ApplicationApi';
34
- import { ScopeApi } from '../ScopeApi';
34
+ import { ColumnScopeApi } from '../ColumnScopeApi';
35
35
  import { PredicateApi } from '../PredicateApi';
36
36
  import { DataChangeHistoryApi } from '../DataChangeHistoryApi';
37
37
  import { FlashingCellApi } from '../FlashingCellApi';
@@ -86,7 +86,7 @@ export declare class AdaptableApiImpl implements AdaptableApi {
86
86
  styledColumnApi: StyledColumnApi;
87
87
  toolPanelApi: ToolPanelApi;
88
88
  teamSharingApi: TeamSharingApi;
89
- scopeApi: ScopeApi;
89
+ columnScopeApi: ColumnScopeApi;
90
90
  dataChangeHistoryApi: DataChangeHistoryApi;
91
91
  chartingApi: ChartingApi;
92
92
  statusBarApi: StatusBarApi;
@@ -31,7 +31,7 @@ const ScheduleApiImpl_1 = require("./ScheduleApiImpl");
31
31
  const TeamSharingApiImpl_1 = require("./TeamSharingApiImpl");
32
32
  const ColumnApiImpl_1 = require("./ColumnApiImpl");
33
33
  const ApplicationApiImpl_1 = require("./ApplicationApiImpl");
34
- const ScopeApiImpl_1 = require("./ScopeApiImpl");
34
+ const ColumnScopeApiImpl_1 = require("./ColumnScopeApiImpl");
35
35
  const DataChangeHistoryApiImpl_1 = require("./DataChangeHistoryApiImpl");
36
36
  const ExpressionApiImpl_1 = require("./ExpressionApiImpl");
37
37
  const FlashingCellApiImpl_1 = require("./FlashingCellApiImpl");
@@ -93,7 +93,7 @@ class AdaptableApiImpl {
93
93
  this.styledColumnApi = new StyledColumnApiImpl_1.StyledColumnApiImpl(adaptable);
94
94
  this.toolPanelApi = new ToolPanelApiImpl_1.ToolPanelApiImpl(adaptable);
95
95
  this.teamSharingApi = new TeamSharingApiImpl_1.TeamSharingApiImpl(adaptable);
96
- this.scopeApi = new ScopeApiImpl_1.ScopeApiImpl(adaptable);
96
+ this.columnScopeApi = new ColumnScopeApiImpl_1.ColumnScopeApiImpl(adaptable);
97
97
  this.dataChangeHistoryApi = new DataChangeHistoryApiImpl_1.DataChangeHistoryApiImpl(adaptable);
98
98
  this.chartingApi = new ChartingApiImpl_1.ChartingApiImpl(adaptable);
99
99
  this.statusBarApi = new StatusBarApiImpl_1.StatusBarApiImpl(adaptable);
@@ -147,7 +147,7 @@ class AdaptableApiImpl {
147
147
  this.expressionApi = null;
148
148
  this.quickSearchApi = null;
149
149
  this.scheduleApi = null;
150
- this.scopeApi = null;
150
+ this.columnScopeApi = null;
151
151
  this.settingsPanelApi = null;
152
152
  this.shortcutApi = null;
153
153
  this.smartEditApi = null;
@@ -166,7 +166,7 @@ class AlertApiImpl extends ApiBase_1.ApiBase {
166
166
  }
167
167
  evaluateAlertDefinitions(alertDefinitions) {
168
168
  const filterScopeAllDefinitions = (alertDefinition) => {
169
- if (this.getAdaptableApi().scopeApi.scopeIsAll(alertDefinition.Scope) &&
169
+ if (this.getAdaptableApi().columnScopeApi.scopeIsAll(alertDefinition.Scope) &&
170
170
  !this.getAdaptableApi().expressionApi.getAdaptableQueryExpression(alertDefinition.Rule)) {
171
171
  // we don't support scope ALL without an expression
172
172
  // the predicates for scope ALL do NOT make any sense for a programmatic evaluation
@@ -201,7 +201,7 @@ class AlertApiImpl extends ApiBase_1.ApiBase {
201
201
  // if there is an Expression defined, extract only the columns from there (in that case the Scope would be 'All' anyway)
202
202
  // columns referenced in rule expression
203
203
  const ruleExpression = this.getAdaptableApi().expressionApi.getAdaptableQueryExpression(alertDefinition.Rule);
204
- if (this.getAdaptableApi().scopeApi.scopeIsAll(alertDefinition.Scope) &&
204
+ if (this.getAdaptableApi().columnScopeApi.scopeIsAll(alertDefinition.Scope) &&
205
205
  StringExtensions_1.default.IsNotNullOrEmpty(ruleExpression)) {
206
206
  // return only first referenced column (otherwise we would generate multiple alerts for the same row)
207
207
  const queryColumns = this.getAdaptableApi()
@@ -212,7 +212,7 @@ class AlertApiImpl extends ApiBase_1.ApiBase {
212
212
  else {
213
213
  // otherwise return all columns for given scope
214
214
  return this.getAdaptableApi()
215
- .scopeApi.getColumnsForScope(alertDefinition.Scope)
215
+ .columnScopeApi.getColumnsForScope(alertDefinition.Scope)
216
216
  .map((adaptableColumn) => adaptableColumn.columnId);
217
217
  }
218
218
  }
@@ -7,7 +7,7 @@ import { ModuleInfo } from '../../Strategy/Interface/IModule';
7
7
  import { AdaptableOptions } from '../../AdaptableOptions/AdaptableOptions';
8
8
  import { AdaptableApi } from '../AdaptableApi';
9
9
  import { ExportOptions } from '../../AdaptableOptions/ExportOptions';
10
- import { ActionColumnApi, ActionColumnOptions, ActionRowApi, ActionRowOptions, AlertApi, AlertOptions, ApplicationApi, BulkUpdateApi, CalculatedColumnApi, CalendarApi, CalendarOptions, CellSummaryApi, CellSummaryOptions, ChartingApi, ChartingOptions, ColumnApi, ColumnFilterApi, ColumnFilterOptions, ColumnOptions, CommentOptions, ConfigApi, ContainerOptions, CustomSortApi, CustomSortOptions, DashboardApi, DashboardOptions, DataChangeHistoryApi, DataChangeHistoryOptions, DataSetApi, DataSetOptions, EditOptions, EntitlementApi, EntitlementOptions, EventApi, ExportApi, ExpressionApi, ExpressionOptions, Fdc3Api, Fdc3Options, FlashingCellApi, FlashingCellOptions, FormatColumnApi, FormatColumnOptions, FreeTextColumnApi, GridApi, GridFilterApi, GroupingOptions, LayoutApi, LayoutAssociatedObject, LayoutOptions, MenuOptions, NamedQueryApi, NoteOptions, NotificationsOptions, PluginsApi, PlusMinusApi, PredicateApi, PredicateOptions, QuickSearchApi, QuickSearchOptions, ScheduleApi, ScopeApi, SettingsPanelApi, SettingsPanelOptions, ShortcutApi, SmartEditApi, StateOptions, StatusBarApi, StyledColumnApi, SystemStatusApi, TeamSharingApi, TeamSharingOptions, ThemeApi, ToolPanelApi, ToolPanelOptions, UserInterfaceApi, UserInterfaceOptions } from '../../types';
10
+ import { ActionColumnApi, ActionColumnOptions, ActionRowApi, ActionRowOptions, AlertApi, AlertOptions, ApplicationApi, BulkUpdateApi, CalculatedColumnApi, CalendarApi, CalendarOptions, CellSummaryApi, CellSummaryOptions, ChartingApi, ChartingOptions, ColumnApi, ColumnFilterApi, ColumnFilterOptions, ColumnOptions, CommentOptions, ConfigApi, ContainerOptions, CustomSortApi, CustomSortOptions, DashboardApi, DashboardOptions, DataChangeHistoryApi, DataChangeHistoryOptions, DataSetApi, DataSetOptions, EditOptions, EntitlementApi, EntitlementOptions, EventApi, ExportApi, ExpressionApi, ExpressionOptions, Fdc3Api, Fdc3Options, FlashingCellApi, FlashingCellOptions, FormatColumnApi, FormatColumnOptions, FreeTextColumnApi, GridApi, GridFilterApi, GroupingOptions, LayoutApi, LayoutAssociatedObject, LayoutOptions, MenuOptions, NamedQueryApi, NoteOptions, NotificationsOptions, PluginsApi, PlusMinusApi, PredicateApi, PredicateOptions, QuickSearchApi, QuickSearchOptions, ScheduleApi, ColumnScopeApi, SettingsPanelApi, SettingsPanelOptions, ShortcutApi, SmartEditApi, StateOptions, StatusBarApi, StyledColumnApi, SystemStatusApi, TeamSharingApi, TeamSharingOptions, ThemeApi, ToolPanelApi, ToolPanelOptions, UserInterfaceApi, UserInterfaceOptions } from '../../types';
11
11
  import { ModuleParams } from '../../View/Components/SharedProps/ModuleViewPopupProps';
12
12
  export declare abstract class ApiBase {
13
13
  protected adaptable: IAdaptable;
@@ -123,7 +123,7 @@ export declare abstract class ApiBase {
123
123
  protected getStyledColumnApi(): StyledColumnApi;
124
124
  protected getToolPanelApi(): ToolPanelApi;
125
125
  protected getTeamSharingApi(): TeamSharingApi;
126
- protected getScopeApi(): ScopeApi;
126
+ protected getColumnScopeApi(): ColumnScopeApi;
127
127
  protected getDataChangeHistoryApi(): DataChangeHistoryApi;
128
128
  protected getChartingApi(): ChartingApi;
129
129
  protected getStatusBarApi(): StatusBarApi;
@@ -315,8 +315,8 @@ class ApiBase {
315
315
  getTeamSharingApi() {
316
316
  return this.getAdaptableApi().teamSharingApi;
317
317
  }
318
- getScopeApi() {
319
- return this.getAdaptableApi().scopeApi;
318
+ getColumnScopeApi() {
319
+ return this.getAdaptableApi().columnScopeApi;
320
320
  }
321
321
  getDataChangeHistoryApi() {
322
322
  return this.getAdaptableApi().dataChangeHistoryApi;
@@ -18,7 +18,7 @@ class ColumnFilterApiImpl extends ApiBase_1.ApiBase {
18
18
  };
19
19
  return this.getAdaptableApi()
20
20
  .predicateApi.internalApi.getFilterPredicateDefs(scope)
21
- .filter((predicate) => this.getAdaptableApi().scopeApi.isColumnInScope(column, predicate.columnScope));
21
+ .filter((predicate) => this.getAdaptableApi().columnScopeApi.isColumnInScope(column, predicate.columnScope));
22
22
  }
23
23
  getFilterPredicateDefsForColumnId(columnId) {
24
24
  const column = this.getAdaptableApi().columnApi.getColumnWithColumnId(columnId);
@@ -0,0 +1,33 @@
1
+ import { ApiBase } from './ApiBase';
2
+ import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
3
+ import { ColumnScope, ScopeDataType } from '../../PredefinedConfig/Common/ColumnScope';
4
+ import { ColumnScopeApi } from '../ColumnScopeApi';
5
+ import { CellColorRange } from '../../PredefinedConfig/StyledColumnState';
6
+ export declare class ColumnScopeApiImpl extends ApiBase implements ColumnScopeApi {
7
+ isColumnInScope(column: AdaptableColumn | undefined, scope: ColumnScope | undefined): boolean;
8
+ getColumnsForScope(scope: ColumnScope): AdaptableColumn[];
9
+ getScopeDescription(scope: ColumnScope): string;
10
+ scopeIsEmpty(scope: ColumnScope): boolean;
11
+ scopeIsAll(scope: ColumnScope): boolean;
12
+ scopeHasDataType(scope: ColumnScope): boolean;
13
+ scopeHasColumnType(scope: ColumnScope): boolean;
14
+ scopeHasOnlyBooleanDataType(scope: ColumnScope): boolean;
15
+ scopeHasColumns(scope: ColumnScope): boolean;
16
+ isSingleColumnScope(scope: ColumnScope): boolean;
17
+ getSingleColumnInScope(scope: ColumnScope): string | undefined;
18
+ isSingleNumericColumnScope(scope: ColumnScope): boolean;
19
+ isSingleBooleanColumnScope(scope: ColumnScope): boolean;
20
+ areAllBooleanColumnsInScope(scope: ColumnScope): boolean;
21
+ isColumnInScopeColumns(column: AdaptableColumn, scope: ColumnScope): boolean;
22
+ isPrimaryKeyColumnInScopeColumns(scope: ColumnScope): boolean;
23
+ getScopeToString(scope: ColumnScope): string;
24
+ getColumnIdsInScope(scope: ColumnScope): string[] | undefined;
25
+ getColumnTypesInScope(scope: ColumnScope): string[] | undefined;
26
+ getDataTypesInScope(scope: ColumnScope): ScopeDataType[] | undefined;
27
+ isColumnInNumericScope(column: AdaptableColumn, scope: ColumnScope): boolean;
28
+ isColumnInStringsScope(column: AdaptableColumn, scope: ColumnScope): boolean;
29
+ isColumnInDateScope(column: AdaptableColumn, scope: ColumnScope): boolean;
30
+ isScopeInScope(a: ColumnScope, b: ColumnScope): boolean;
31
+ createCellColorRangesForScope(scope: ColumnScope): CellColorRange[];
32
+ private distinctColumnValuesAreEmpty;
33
+ }
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ScopeApiImpl = void 0;
3
+ exports.ColumnScopeApiImpl = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const ApiBase_1 = require("./ApiBase");
6
6
  const ArrayExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/ArrayExtensions"));
7
7
  const UIHelper_1 = require("../../View/UIHelper");
8
- class ScopeApiImpl extends ApiBase_1.ApiBase {
8
+ class ColumnScopeApiImpl extends ApiBase_1.ApiBase {
9
9
  isColumnInScope(column, scope) {
10
10
  if (!column) {
11
11
  return false;
@@ -280,7 +280,7 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
280
280
  return false;
281
281
  }
282
282
  createCellColorRangesForScope(scope) {
283
- let distinctColumnsValues = this.getAdaptableApi().gridApi.internalApi.getDistinctRawValuesForColumn(this.getAdaptableApi().scopeApi.getSingleColumnInScope(scope));
283
+ let distinctColumnsValues = this.getAdaptableApi().gridApi.internalApi.getDistinctRawValuesForColumn(this.getAdaptableApi().columnScopeApi.getSingleColumnInScope(scope));
284
284
  let minValue = Math.min(...distinctColumnsValues);
285
285
  let maxValue = Math.max(...distinctColumnsValues);
286
286
  const ranges = [];
@@ -317,4 +317,4 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
317
317
  return false;
318
318
  }
319
319
  }
320
- exports.ScopeApiImpl = ScopeApiImpl;
320
+ exports.ColumnScopeApiImpl = ColumnScopeApiImpl;
@@ -3,7 +3,7 @@ import { AdaptableFlashingCell } from '../../PredefinedConfig/Common/AdaptableFl
3
3
  import { FlashingCellApi } from '../FlashingCellApi';
4
4
  import { FlashingCellDefinition, FlashingCellState } from '../../PredefinedConfig/FlashingCellState';
5
5
  import { AdaptablePredicateDef } from '../../PredefinedConfig/Common/AdaptablePredicate';
6
- import { AdaptableScope } from '../../PredefinedConfig/Common/AdaptableScope';
6
+ import { ColumnScope } from '../../PredefinedConfig/Common/ColumnScope';
7
7
  import { FlashingCellInternalApi } from '../Internal/FlashingCellInternalApi';
8
8
  import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
9
9
  import { AdaptableObjectLookupCriteria } from '../../types';
@@ -23,7 +23,7 @@ export declare class FlashingCellApiImpl extends ApiBase implements FlashingCell
23
23
  unSuspendFlashingCellDefinition(flashingCellDefinition: FlashingCellDefinition): FlashingCellDefinition;
24
24
  addFlashingCellDefinitions(flashingCellDefinitions: FlashingCellDefinition[]): FlashingCellDefinition[];
25
25
  editFlashingCellDefinitions(flashingCellDefinitions: FlashingCellDefinition[]): FlashingCellDefinition[];
26
- getFlashingCellPredicateDefsForScope(scope: AdaptableScope): AdaptablePredicateDef[];
26
+ getFlashingCellPredicateDefsForScope(scope: ColumnScope): AdaptablePredicateDef[];
27
27
  clearAllFlashingCells(): void;
28
28
  isAnyFlashingCellActive(): boolean;
29
29
  findFlashingCellDefinitions(criteria: AdaptableObjectLookupCriteria): FlashingCellDefinition[];
@@ -83,7 +83,7 @@ class FlashingCellApiImpl extends ApiBase_1.ApiBase {
83
83
  getFlashingCellPredicateDefsForScope(scope) {
84
84
  return this.getAdaptableApi()
85
85
  .predicateApi.internalApi.getFlashingCellPredicateDefs(scope)
86
- .filter((predicateDef) => this.getAdaptableApi().scopeApi.isScopeInScope(scope, predicateDef.columnScope));
86
+ .filter((predicateDef) => this.getAdaptableApi().columnScopeApi.isScopeInScope(scope, predicateDef.columnScope));
87
87
  }
88
88
  clearAllFlashingCells() {
89
89
  this.dispatchAction(SystemRedux.SystemFlashingCellDeleteAll());
@@ -79,13 +79,13 @@ class FormatColumnApiImpl extends ApiBase_1.ApiBase {
79
79
  this.showModulePopup(ModuleConstants.FormatColumnModuleId);
80
80
  }
81
81
  getFormatColumnsWithAllScope(formatColumns) {
82
- return formatColumns.filter((fc) => this.getAdaptableApi().scopeApi.scopeIsAll(fc.Scope));
82
+ return formatColumns.filter((fc) => this.getAdaptableApi().columnScopeApi.scopeIsAll(fc.Scope));
83
83
  }
84
84
  getFormatColumnsWithDataTypeScope(formatColumns) {
85
- return formatColumns.filter((fc) => this.getAdaptableApi().scopeApi.scopeHasDataType(fc.Scope));
85
+ return formatColumns.filter((fc) => this.getAdaptableApi().columnScopeApi.scopeHasDataType(fc.Scope));
86
86
  }
87
87
  getFormatColumnsWithColumnScope(formatColumns) {
88
- return formatColumns.filter((fc) => this.getAdaptableApi().scopeApi.scopeHasColumns(fc.Scope));
88
+ return formatColumns.filter((fc) => this.getAdaptableApi().columnScopeApi.scopeHasColumns(fc.Scope));
89
89
  }
90
90
  hasCustomDisplayFormatter(formatColumn) {
91
91
  var _a;
@@ -99,6 +99,7 @@ export declare class GridApiImpl extends ApiBase implements GridApi {
99
99
  isGridRowGrouped(): boolean;
100
100
  isGridInPivotMode(): boolean;
101
101
  isGroupRowNode(rowNode: IRowNode): boolean;
102
+ isSummaryNode(rowNode: IRowNode): boolean;
102
103
  isQuickFilterAvailable(): boolean;
103
104
  redrawGrid(): void;
104
105
  getGridCellsForRawValue(columnId: string, rawValue: any): GridCell[] | undefined;
@@ -10,6 +10,7 @@ const GridInternalApi_1 = require("../Internal/GridInternalApi");
10
10
  const ArrayExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/ArrayExtensions"));
11
11
  const logDeprecation_1 = require("../../Utilities/logDeprecation");
12
12
  const windowFactory_1 = require("../../View/Components/Popups/WindowPopups/windowFactory");
13
+ const RowSummary_1 = require("../../PredefinedConfig/Common/RowSummary");
13
14
  class GridApiImpl extends ApiBase_1.ApiBase {
14
15
  constructor(adaptable) {
15
16
  super(adaptable);
@@ -378,6 +379,10 @@ class GridApiImpl extends ApiBase_1.ApiBase {
378
379
  isGroupRowNode(rowNode) {
379
380
  return this.adaptable.isGroupRowNode(rowNode);
380
381
  }
382
+ isSummaryNode(rowNode) {
383
+ var _a;
384
+ return (_a = rowNode === null || rowNode === void 0 ? void 0 : rowNode.data) === null || _a === void 0 ? void 0 : _a[RowSummary_1.ROW_SUMMARY_ROW_ID];
385
+ }
381
386
  isQuickFilterAvailable() {
382
387
  return this.adaptable.isQuickFilterAvailable();
383
388
  }
@@ -46,21 +46,21 @@ class UserInterfaceApiImpl extends ApiBase_1.ApiBase {
46
46
  // columns id
47
47
  permittedValuesItem = permittedValues.find((permittedValue) => {
48
48
  return ('ColumnIds' in permittedValue.scope &&
49
- this.getAdaptableApi().scopeApi.isColumnInScope(column, permittedValue.scope));
49
+ this.getAdaptableApi().columnScopeApi.isColumnInScope(column, permittedValue.scope));
50
50
  });
51
51
  if (permittedValuesItem) {
52
52
  return permittedValuesItem;
53
53
  }
54
54
  permittedValuesItem = permittedValues.find((permittedValue) => {
55
55
  return ('DataTypes' in permittedValue.scope &&
56
- this.getAdaptableApi().scopeApi.isColumnInScope(column, permittedValue.scope));
56
+ this.getAdaptableApi().columnScopeApi.isColumnInScope(column, permittedValue.scope));
57
57
  });
58
58
  if (permittedValuesItem) {
59
59
  return permittedValuesItem;
60
60
  }
61
61
  permittedValuesItem = permittedValues.find((permittedValue) => {
62
62
  return ('All' in permittedValue.scope &&
63
- this.getAdaptableApi().scopeApi.isColumnInScope(column, permittedValue.scope));
63
+ this.getAdaptableApi().columnScopeApi.isColumnInScope(column, permittedValue.scope));
64
64
  });
65
65
  if (permittedValuesItem) {
66
66
  return permittedValuesItem;
@@ -425,7 +425,7 @@ class AdaptableInternalApi extends ApiBase_1.ApiBase {
425
425
  }
426
426
  // lastly filter by scope
427
427
  if (scope) {
428
- locatedAdaptableObjects = locatedAdaptableObjects.filter((adaptableObject) => this.getAdaptableApi().scopeApi.isScopeInScope(adaptableObject.Scope, scope));
428
+ locatedAdaptableObjects = locatedAdaptableObjects.filter((adaptableObject) => this.getAdaptableApi().columnScopeApi.isScopeInScope(adaptableObject.Scope, scope));
429
429
  }
430
430
  return locatedAdaptableObjects;
431
431
  }
@@ -5,7 +5,7 @@ import { AlertFormContext } from '../../AdaptableOptions/AlertOptions';
5
5
  import { AdaptableAlert, AdaptableCellChangedAlert, AdaptableRowChangedAlert } from '../../PredefinedConfig/Common/AdaptableAlert';
6
6
  import { CellDataChangedInfo } from '../../PredefinedConfig/Common/CellDataChangedInfo';
7
7
  import { GridDataChangedInfo } from '../Events/GridDataChanged';
8
- import { AdaptableScope } from '../../PredefinedConfig/Common/AdaptableScope';
8
+ import { ColumnScope } from '../../PredefinedConfig/Common/ColumnScope';
9
9
  import { AdaptablePredicateDef } from '../../PredefinedConfig/Common/AdaptablePredicate';
10
10
  import { AdaptableMessageType } from '../../PredefinedConfig/Common/AdaptableMessageType';
11
11
  import { IRowNode } from '@ag-grid-community/core';
@@ -72,7 +72,7 @@ export declare class AlertInternalApi extends ApiBase {
72
72
  * Retrieves all Predicate Defs that match given Scope
73
73
  * @param scope the Scope to check
74
74
  */
75
- getAlertPredicateDefsForScope(scope: AdaptableScope): AdaptablePredicateDef[];
75
+ getAlertPredicateDefsForScope(scope: ColumnScope): AdaptablePredicateDef[];
76
76
  /**
77
77
  * Returns a description of an Alert Definition
78
78
  * @param alertDefinition Alert Definition to use