@adaptabletools/adaptable 18.0.0-canary.31 → 18.0.0-canary.33
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 +1 -1
- package/src/AdaptableOptions/QuickSearchOptions.d.ts +1 -1
- package/src/Api/AdaptableApi.d.ts +2 -2
- package/src/Api/{ScopeApi.d.ts → ColumnScopeApi.d.ts} +2 -2
- package/src/Api/GridApi.d.ts +6 -1
- package/src/Api/Implementation/AdaptableApiImpl.d.ts +2 -2
- package/src/Api/Implementation/AdaptableApiImpl.js +3 -3
- package/src/Api/Implementation/AlertApiImpl.js +3 -3
- package/src/Api/Implementation/ApiBase.d.ts +2 -2
- package/src/Api/Implementation/ApiBase.js +2 -2
- package/src/Api/Implementation/ColumnFilterApiImpl.js +1 -1
- package/src/Api/Implementation/{ScopeApiImpl.d.ts → ColumnScopeApiImpl.d.ts} +2 -2
- package/src/Api/Implementation/{ScopeApiImpl.js → ColumnScopeApiImpl.js} +2 -2
- package/src/Api/Implementation/FlashingCellApiImpl.js +1 -1
- package/src/Api/Implementation/FormatColumnApiImpl.js +3 -3
- package/src/Api/Implementation/GridApiImpl.d.ts +1 -0
- package/src/Api/Implementation/GridApiImpl.js +5 -0
- package/src/Api/Implementation/NoteApiImpl.d.ts +1 -1
- package/src/Api/Implementation/NoteApiImpl.js +2 -2
- package/src/Api/Implementation/UserInterfaceApiImpl.js +3 -3
- package/src/Api/Internal/AdaptableInternalApi.js +1 -1
- package/src/Api/Internal/AlertInternalApi.js +3 -3
- package/src/Api/Internal/CustomSortInternalApi.js +1 -1
- package/src/Api/Internal/ExportInternalApi.js +1 -1
- package/src/Api/Internal/ExpressionInternalApi.js +1 -1
- package/src/Api/Internal/FormatColumnInternalApi.js +12 -13
- package/src/Api/Internal/StyledColumnInternalApi.js +1 -1
- package/src/Api/NoteApi.d.ts +1 -1
- package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
- package/src/PredefinedConfig/Common/RowScope.d.ts +2 -2
- package/src/PredefinedConfig/FormatColumnState.d.ts +1 -1
- package/src/PredefinedConfig/LayoutState.d.ts +1 -1
- package/src/Redux/ActionsReducers/NoteRedux.d.ts +1 -1
- package/src/Redux/ActionsReducers/NoteRedux.js +3 -3
- package/src/Strategy/AlertModule.js +2 -2
- package/src/Strategy/ExportModule.js +21 -4
- package/src/Strategy/FlashingCellModule.js +4 -4
- package/src/Strategy/FormatColumnModule.js +2 -2
- package/src/Strategy/NoteModule.js +3 -3
- package/src/Strategy/PlusMinusModule.js +3 -3
- package/src/Strategy/ShortcutModule.js +1 -1
- package/src/Strategy/StyledColumnModule.js +4 -4
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +1 -1
- package/src/Utilities/Services/CellPopupService.js +4 -4
- package/src/Utilities/Services/ReportService.js +2 -2
- package/src/Utilities/Services/ValidationService.js +2 -2
- package/src/View/Alert/AlertEntityRow.js +1 -1
- package/src/View/Alert/Wizard/AlertScopeWizardSection.js +2 -2
- package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +1 -1
- package/src/View/ColumnInfo/ColumnInfo.js +1 -1
- package/src/View/Components/NewScopeComponent.js +2 -2
- package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +3 -6
- package/src/View/Components/RangesComponent.js +1 -1
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +1 -1
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +5 -5
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +1 -1
- package/src/View/Layout/Wizard/sections/RowGroupingSection.js +1 -1
- package/src/View/PlusMinus/PlusMinusSummary.js +2 -2
- package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +5 -7
- package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +1 -1
- package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +5 -5
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +1 -1
- package/src/agGrid/ActionColumnRenderer.js +10 -11
- package/src/agGrid/AdaptableAgGrid.js +2 -3
- package/src/agGrid/AgGridColumnAdapter.js +10 -10
- package/src/agGrid/AgGridMenuAdapter.js +5 -5
- package/src/agGrid/BadgeRenderer.js +6 -7
- package/src/agGrid/PercentBarRenderer.js +1 -1
- package/src/components/Accordion.d.ts +7 -0
- package/src/components/Accordion.js +36 -0
- package/src/components/icons/collapse-all.d.ts +3 -0
- package/src/components/icons/collapse-all.js +4 -0
- package/src/components/icons/csv.d.ts +3 -0
- package/src/components/icons/csv.js +4 -0
- package/src/components/icons/data-object.d.ts +3 -0
- package/src/components/icons/data-object.js +4 -0
- package/src/components/icons/excel.d.ts +3 -0
- package/src/components/icons/excel.js +5 -0
- package/src/components/icons/expand-all.d.ts +3 -0
- package/src/components/icons/expand-all.js +4 -0
- package/src/components/icons/index.js +10 -0
- package/src/env.js +2 -2
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/types.d.ts +1 -1
- package/tsconfig.esm.tsbuildinfo +1 -1
- /package/src/Api/{ScopeApi.js → ColumnScopeApi.js} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adaptabletools/adaptable",
|
|
3
|
-
"version": "18.0.0-canary.
|
|
3
|
+
"version": "18.0.0-canary.33",
|
|
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",
|
|
@@ -33,7 +33,7 @@ export interface QuickSearchOptions<TData = any> {
|
|
|
33
33
|
*/
|
|
34
34
|
filterResultsAfterQuickSearch?: boolean;
|
|
35
35
|
/**
|
|
36
|
-
* Include Aggregrated Columns in
|
|
36
|
+
* Include Aggregrated Columns in Group Rows when Quick Searching (highlight only)
|
|
37
37
|
*
|
|
38
38
|
* @defaultValue false
|
|
39
39
|
* @gridInfoItem
|
|
@@ -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 {
|
|
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
|
-
|
|
196
|
+
columnScopeApi: ColumnScopeApi;
|
|
197
197
|
/**
|
|
198
198
|
* Provides access to the Shortcut Module
|
|
199
199
|
*/
|
|
@@ -2,9 +2,9 @@ import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
|
|
|
2
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
|
|
7
|
+
export interface ColumnScopeApi {
|
|
8
8
|
/**
|
|
9
9
|
* True if Column is in given Scope
|
|
10
10
|
* @param column Column to check
|
package/src/Api/GridApi.d.ts
CHANGED
|
@@ -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
|
*/
|
|
@@ -480,7 +485,7 @@ export interface GridApi {
|
|
|
480
485
|
*/
|
|
481
486
|
refreshRowNodes(rowNodes: IRowNode[]): void;
|
|
482
487
|
/**
|
|
483
|
-
* Forces a re-render of all
|
|
488
|
+
* Forces a re-render of all Group Rows (including aggregations)
|
|
484
489
|
*/
|
|
485
490
|
refreshGroupRowNodes(): void;
|
|
486
491
|
/**
|
|
@@ -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 {
|
|
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
|
-
|
|
89
|
+
columnScopeApi: ColumnScopeApi;
|
|
90
90
|
dataChangeHistoryApi: DataChangeHistoryApi;
|
|
91
91
|
chartingApi: ChartingApi;
|
|
92
92
|
statusBarApi: StatusBarApi;
|
|
@@ -28,7 +28,7 @@ import { ScheduleApiImpl } from './ScheduleApiImpl';
|
|
|
28
28
|
import { TeamSharingApiImpl } from './TeamSharingApiImpl';
|
|
29
29
|
import { ColumnApiImpl } from './ColumnApiImpl';
|
|
30
30
|
import { ApplicationApiImpl } from './ApplicationApiImpl';
|
|
31
|
-
import {
|
|
31
|
+
import { ColumnScopeApiImpl } from './ColumnScopeApiImpl';
|
|
32
32
|
import { DataChangeHistoryApiImpl } from './DataChangeHistoryApiImpl';
|
|
33
33
|
import { ExpressionApiImpl } from './ExpressionApiImpl';
|
|
34
34
|
import { FlashingCellApiImpl } from './FlashingCellApiImpl';
|
|
@@ -90,7 +90,7 @@ export class AdaptableApiImpl {
|
|
|
90
90
|
this.styledColumnApi = new StyledColumnApiImpl(adaptable);
|
|
91
91
|
this.toolPanelApi = new ToolPanelApiImpl(adaptable);
|
|
92
92
|
this.teamSharingApi = new TeamSharingApiImpl(adaptable);
|
|
93
|
-
this.
|
|
93
|
+
this.columnScopeApi = new ColumnScopeApiImpl(adaptable);
|
|
94
94
|
this.dataChangeHistoryApi = new DataChangeHistoryApiImpl(adaptable);
|
|
95
95
|
this.chartingApi = new ChartingApiImpl(adaptable);
|
|
96
96
|
this.statusBarApi = new StatusBarApiImpl(adaptable);
|
|
@@ -144,7 +144,7 @@ export class AdaptableApiImpl {
|
|
|
144
144
|
this.expressionApi = null;
|
|
145
145
|
this.quickSearchApi = null;
|
|
146
146
|
this.scheduleApi = null;
|
|
147
|
-
this.
|
|
147
|
+
this.columnScopeApi = null;
|
|
148
148
|
this.settingsPanelApi = null;
|
|
149
149
|
this.shortcutApi = null;
|
|
150
150
|
this.smartEditApi = null;
|
|
@@ -162,7 +162,7 @@ export class AlertApiImpl extends ApiBase {
|
|
|
162
162
|
}
|
|
163
163
|
evaluateAlertDefinitions(alertDefinitions) {
|
|
164
164
|
const filterScopeAllDefinitions = (alertDefinition) => {
|
|
165
|
-
if (this.getAdaptableApi().
|
|
165
|
+
if (this.getAdaptableApi().columnScopeApi.scopeIsAll(alertDefinition.Scope) &&
|
|
166
166
|
!this.getAdaptableApi().expressionApi.getAdaptableQueryExpression(alertDefinition.Rule)) {
|
|
167
167
|
// we don't support scope ALL without an expression
|
|
168
168
|
// the predicates for scope ALL do NOT make any sense for a programmatic evaluation
|
|
@@ -197,7 +197,7 @@ export class AlertApiImpl extends ApiBase {
|
|
|
197
197
|
// if there is an Expression defined, extract only the columns from there (in that case the Scope would be 'All' anyway)
|
|
198
198
|
// columns referenced in rule expression
|
|
199
199
|
const ruleExpression = this.getAdaptableApi().expressionApi.getAdaptableQueryExpression(alertDefinition.Rule);
|
|
200
|
-
if (this.getAdaptableApi().
|
|
200
|
+
if (this.getAdaptableApi().columnScopeApi.scopeIsAll(alertDefinition.Scope) &&
|
|
201
201
|
StringExtensions.IsNotNullOrEmpty(ruleExpression)) {
|
|
202
202
|
// return only first referenced column (otherwise we would generate multiple alerts for the same row)
|
|
203
203
|
const queryColumns = this.getAdaptableApi()
|
|
@@ -208,7 +208,7 @@ export class AlertApiImpl extends ApiBase {
|
|
|
208
208
|
else {
|
|
209
209
|
// otherwise return all columns for given scope
|
|
210
210
|
return this.getAdaptableApi()
|
|
211
|
-
.
|
|
211
|
+
.columnScopeApi.getColumnsForScope(alertDefinition.Scope)
|
|
212
212
|
.map((adaptableColumn) => adaptableColumn.columnId);
|
|
213
213
|
}
|
|
214
214
|
}
|
|
@@ -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,
|
|
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
|
|
126
|
+
protected getColumnScopeApi(): ColumnScopeApi;
|
|
127
127
|
protected getDataChangeHistoryApi(): DataChangeHistoryApi;
|
|
128
128
|
protected getChartingApi(): ChartingApi;
|
|
129
129
|
protected getStatusBarApi(): StatusBarApi;
|
|
@@ -311,8 +311,8 @@ export class ApiBase {
|
|
|
311
311
|
getTeamSharingApi() {
|
|
312
312
|
return this.getAdaptableApi().teamSharingApi;
|
|
313
313
|
}
|
|
314
|
-
|
|
315
|
-
return this.getAdaptableApi().
|
|
314
|
+
getColumnScopeApi() {
|
|
315
|
+
return this.getAdaptableApi().columnScopeApi;
|
|
316
316
|
}
|
|
317
317
|
getDataChangeHistoryApi() {
|
|
318
318
|
return this.getAdaptableApi().dataChangeHistoryApi;
|
|
@@ -14,7 +14,7 @@ export class ColumnFilterApiImpl extends ApiBase {
|
|
|
14
14
|
};
|
|
15
15
|
return this.getAdaptableApi()
|
|
16
16
|
.predicateApi.internalApi.getFilterPredicateDefs(scope)
|
|
17
|
-
.filter((predicate) => this.getAdaptableApi().
|
|
17
|
+
.filter((predicate) => this.getAdaptableApi().columnScopeApi.isColumnInScope(column, predicate.columnScope));
|
|
18
18
|
}
|
|
19
19
|
getFilterPredicateDefsForColumnId(columnId) {
|
|
20
20
|
const column = this.getAdaptableApi().columnApi.getColumnWithColumnId(columnId);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ApiBase } from './ApiBase';
|
|
2
2
|
import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
|
|
3
3
|
import { ColumnScope, ScopeDataType } from '../../PredefinedConfig/Common/ColumnScope';
|
|
4
|
-
import {
|
|
4
|
+
import { ColumnScopeApi } from '../ColumnScopeApi';
|
|
5
5
|
import { CellColorRange } from '../../PredefinedConfig/StyledColumnState';
|
|
6
|
-
export declare class
|
|
6
|
+
export declare class ColumnScopeApiImpl extends ApiBase implements ColumnScopeApi {
|
|
7
7
|
isColumnInScope(column: AdaptableColumn | undefined, scope: ColumnScope | undefined): boolean;
|
|
8
8
|
getColumnsForScope(scope: ColumnScope): AdaptableColumn[];
|
|
9
9
|
getScopeDescription(scope: ColumnScope): string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ApiBase } from './ApiBase';
|
|
2
2
|
import ArrayExtensions from '../../Utilities/Extensions/ArrayExtensions';
|
|
3
3
|
import { DARK_GREEN, getHexForName, GRAY, RED } from '../../View/UIHelper';
|
|
4
|
-
export class
|
|
4
|
+
export class ColumnScopeApiImpl extends ApiBase {
|
|
5
5
|
isColumnInScope(column, scope) {
|
|
6
6
|
if (!column) {
|
|
7
7
|
return false;
|
|
@@ -276,7 +276,7 @@ export class ScopeApiImpl extends ApiBase {
|
|
|
276
276
|
return false;
|
|
277
277
|
}
|
|
278
278
|
createCellColorRangesForScope(scope) {
|
|
279
|
-
let distinctColumnsValues = this.getAdaptableApi().gridApi.internalApi.getDistinctRawValuesForColumn(this.getAdaptableApi().
|
|
279
|
+
let distinctColumnsValues = this.getAdaptableApi().gridApi.internalApi.getDistinctRawValuesForColumn(this.getAdaptableApi().columnScopeApi.getSingleColumnInScope(scope));
|
|
280
280
|
let minValue = Math.min(...distinctColumnsValues);
|
|
281
281
|
let maxValue = Math.max(...distinctColumnsValues);
|
|
282
282
|
const ranges = [];
|
|
@@ -79,7 +79,7 @@ export class FlashingCellApiImpl extends ApiBase {
|
|
|
79
79
|
getFlashingCellPredicateDefsForScope(scope) {
|
|
80
80
|
return this.getAdaptableApi()
|
|
81
81
|
.predicateApi.internalApi.getFlashingCellPredicateDefs(scope)
|
|
82
|
-
.filter((predicateDef) => this.getAdaptableApi().
|
|
82
|
+
.filter((predicateDef) => this.getAdaptableApi().columnScopeApi.isScopeInScope(scope, predicateDef.columnScope));
|
|
83
83
|
}
|
|
84
84
|
clearAllFlashingCells() {
|
|
85
85
|
this.dispatchAction(SystemRedux.SystemFlashingCellDeleteAll());
|
|
@@ -75,13 +75,13 @@ export class FormatColumnApiImpl extends ApiBase {
|
|
|
75
75
|
this.showModulePopup(ModuleConstants.FormatColumnModuleId);
|
|
76
76
|
}
|
|
77
77
|
getFormatColumnsWithAllScope(formatColumns) {
|
|
78
|
-
return formatColumns.filter((fc) => this.getAdaptableApi().
|
|
78
|
+
return formatColumns.filter((fc) => this.getAdaptableApi().columnScopeApi.scopeIsAll(fc.Scope));
|
|
79
79
|
}
|
|
80
80
|
getFormatColumnsWithDataTypeScope(formatColumns) {
|
|
81
|
-
return formatColumns.filter((fc) => this.getAdaptableApi().
|
|
81
|
+
return formatColumns.filter((fc) => this.getAdaptableApi().columnScopeApi.scopeHasDataType(fc.Scope));
|
|
82
82
|
}
|
|
83
83
|
getFormatColumnsWithColumnScope(formatColumns) {
|
|
84
|
-
return formatColumns.filter((fc) => this.getAdaptableApi().
|
|
84
|
+
return formatColumns.filter((fc) => this.getAdaptableApi().columnScopeApi.scopeHasColumns(fc.Scope));
|
|
85
85
|
}
|
|
86
86
|
hasCustomDisplayFormatter(formatColumn) {
|
|
87
87
|
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;
|
|
@@ -6,6 +6,7 @@ import { GridInternalApi } from '../Internal/GridInternalApi';
|
|
|
6
6
|
import ArrayExtensions from '../../Utilities/Extensions/ArrayExtensions';
|
|
7
7
|
import { logDeprecation } from '../../Utilities/logDeprecation';
|
|
8
8
|
import { WINDOW_SHOW_TRANSPOSED_VIEW } from '../../View/Components/Popups/WindowPopups/windowFactory';
|
|
9
|
+
import { ROW_SUMMARY_ROW_ID } from '../../PredefinedConfig/Common/RowSummary';
|
|
9
10
|
export class GridApiImpl extends ApiBase {
|
|
10
11
|
constructor(adaptable) {
|
|
11
12
|
super(adaptable);
|
|
@@ -374,6 +375,10 @@ export class GridApiImpl extends ApiBase {
|
|
|
374
375
|
isGroupRowNode(rowNode) {
|
|
375
376
|
return this.adaptable.isGroupRowNode(rowNode);
|
|
376
377
|
}
|
|
378
|
+
isSummaryNode(rowNode) {
|
|
379
|
+
var _a;
|
|
380
|
+
return (_a = rowNode === null || rowNode === void 0 ? void 0 : rowNode.data) === null || _a === void 0 ? void 0 : _a[ROW_SUMMARY_ROW_ID];
|
|
381
|
+
}
|
|
377
382
|
isQuickFilterAvailable() {
|
|
378
383
|
return this.adaptable.isQuickFilterAvailable();
|
|
379
384
|
}
|
|
@@ -13,6 +13,6 @@ export declare class NoteApiImpl extends ApiBase implements NoteApi {
|
|
|
13
13
|
deleteNote(note: AdaptableNote): void;
|
|
14
14
|
getNoteState(): NoteState;
|
|
15
15
|
getAllNotes(): AdaptableNotes;
|
|
16
|
-
|
|
16
|
+
getNoteForCell(address: CellAddress): AdaptableNote;
|
|
17
17
|
getNoteByUuid(uuid: string): AdaptableNote | undefined;
|
|
18
18
|
}
|
|
@@ -31,8 +31,8 @@ export class NoteApiImpl extends ApiBase {
|
|
|
31
31
|
getAllNotes() {
|
|
32
32
|
return this.getNoteState().Notes;
|
|
33
33
|
}
|
|
34
|
-
|
|
35
|
-
return NoteRedux.
|
|
34
|
+
getNoteForCell(address) {
|
|
35
|
+
return NoteRedux.GetNoteSelector(this.getAdaptableState().Note, address);
|
|
36
36
|
}
|
|
37
37
|
getNoteByUuid(uuid) {
|
|
38
38
|
return this.getAllNotes().find((note) => note.Uuid === uuid);
|
|
@@ -42,21 +42,21 @@ export class UserInterfaceApiImpl extends ApiBase {
|
|
|
42
42
|
// columns id
|
|
43
43
|
permittedValuesItem = permittedValues.find((permittedValue) => {
|
|
44
44
|
return ('ColumnIds' in permittedValue.scope &&
|
|
45
|
-
this.getAdaptableApi().
|
|
45
|
+
this.getAdaptableApi().columnScopeApi.isColumnInScope(column, permittedValue.scope));
|
|
46
46
|
});
|
|
47
47
|
if (permittedValuesItem) {
|
|
48
48
|
return permittedValuesItem;
|
|
49
49
|
}
|
|
50
50
|
permittedValuesItem = permittedValues.find((permittedValue) => {
|
|
51
51
|
return ('DataTypes' in permittedValue.scope &&
|
|
52
|
-
this.getAdaptableApi().
|
|
52
|
+
this.getAdaptableApi().columnScopeApi.isColumnInScope(column, permittedValue.scope));
|
|
53
53
|
});
|
|
54
54
|
if (permittedValuesItem) {
|
|
55
55
|
return permittedValuesItem;
|
|
56
56
|
}
|
|
57
57
|
permittedValuesItem = permittedValues.find((permittedValue) => {
|
|
58
58
|
return ('All' in permittedValue.scope &&
|
|
59
|
-
this.getAdaptableApi().
|
|
59
|
+
this.getAdaptableApi().columnScopeApi.isColumnInScope(column, permittedValue.scope));
|
|
60
60
|
});
|
|
61
61
|
if (permittedValuesItem) {
|
|
62
62
|
return permittedValuesItem;
|
|
@@ -421,7 +421,7 @@ export class AdaptableInternalApi extends ApiBase {
|
|
|
421
421
|
}
|
|
422
422
|
// lastly filter by scope
|
|
423
423
|
if (scope) {
|
|
424
|
-
locatedAdaptableObjects = locatedAdaptableObjects.filter((adaptableObject) => this.getAdaptableApi().
|
|
424
|
+
locatedAdaptableObjects = locatedAdaptableObjects.filter((adaptableObject) => this.getAdaptableApi().columnScopeApi.isScopeInScope(adaptableObject.Scope, scope));
|
|
425
425
|
}
|
|
426
426
|
return locatedAdaptableObjects;
|
|
427
427
|
}
|
|
@@ -209,7 +209,7 @@ export class AlertInternalApi extends ApiBase {
|
|
|
209
209
|
getAlertPredicateDefsForScope(scope) {
|
|
210
210
|
return this.getPredicateApi()
|
|
211
211
|
.internalApi.getAlertPredicateDefs(scope)
|
|
212
|
-
.filter((predicateDef) => this.
|
|
212
|
+
.filter((predicateDef) => this.getColumnScopeApi().isScopeInScope(scope, predicateDef.columnScope));
|
|
213
213
|
}
|
|
214
214
|
/**
|
|
215
215
|
* Returns a description of an Alert Definition
|
|
@@ -223,7 +223,7 @@ export class AlertInternalApi extends ApiBase {
|
|
|
223
223
|
if (alertDefinition.MessageText != null) {
|
|
224
224
|
return alertDefinition.MessageText;
|
|
225
225
|
}
|
|
226
|
-
let scopeDescription = this.
|
|
226
|
+
let scopeDescription = this.getColumnScopeApi().getScopeDescription(alertDefinition.Scope);
|
|
227
227
|
let ruleDescription = this.getAlertRuleDescription(alertDefinition);
|
|
228
228
|
return scopeDescription + ' - ' + ruleDescription;
|
|
229
229
|
}
|
|
@@ -415,7 +415,7 @@ export class AlertInternalApi extends ApiBase {
|
|
|
415
415
|
getAlertDefinitionsForCellDataChange(dataChangedEvent) {
|
|
416
416
|
const allActiveNonReactiveDefinitions = this.getActiveNonReactiveAlertDefinitions();
|
|
417
417
|
let relatedAlertDefinitions = allActiveNonReactiveDefinitions
|
|
418
|
-
.filter((v) => this.getAdaptableApi().
|
|
418
|
+
.filter((v) => this.getAdaptableApi().columnScopeApi.isColumnInScope(dataChangedEvent.column, v.Scope))
|
|
419
419
|
.filter((alertDefinition) => !isReactiveQuery(alertDefinition.Rule));
|
|
420
420
|
let triggeredAlerts = [];
|
|
421
421
|
if (ArrayExtensions.IsNotNullOrEmpty(relatedAlertDefinitions)) {
|
|
@@ -3,7 +3,7 @@ export class CustomSortInternalApi extends ApiBase {
|
|
|
3
3
|
getCustomSortComparer(columnId) {
|
|
4
4
|
var _a;
|
|
5
5
|
const column = this.getColumnApi().getColumnWithColumnId(columnId);
|
|
6
|
-
return (_a = this.getCustomSortOptions().customSortComparers) === null || _a === void 0 ? void 0 : _a.find((csc) => this.getAdaptableApi().
|
|
6
|
+
return (_a = this.getCustomSortOptions().customSortComparers) === null || _a === void 0 ? void 0 : _a.find((csc) => this.getAdaptableApi().columnScopeApi.isColumnInScope(column, csc.scope));
|
|
7
7
|
}
|
|
8
8
|
getDefaultCustomSortComparer(columnId, columnValues) {
|
|
9
9
|
// have to return a function that may not have access to this
|
|
@@ -21,7 +21,7 @@ export class ExportInternalApi extends ApiBase {
|
|
|
21
21
|
break;
|
|
22
22
|
case 'ScopeColumns':
|
|
23
23
|
// use the Scope object which will tell us if the Column is relevant
|
|
24
|
-
if (!this.getAdaptableApi().
|
|
24
|
+
if (!this.getAdaptableApi().columnScopeApi.isColumnInScopeColumns(cellDataChangedInfo.column, report.Scope)) {
|
|
25
25
|
return false;
|
|
26
26
|
}
|
|
27
27
|
break;
|
|
@@ -41,7 +41,7 @@ export class ExpressionInternalApi extends ApiBase {
|
|
|
41
41
|
context.predicates = predicates;
|
|
42
42
|
// need to find a way to get the columns in the predicates
|
|
43
43
|
// cand do later
|
|
44
|
-
// this.getAdaptableApi().
|
|
44
|
+
// this.getAdaptableApi().columnScopeApi.getColumnsForScope();
|
|
45
45
|
}
|
|
46
46
|
return !evaluateExpressionExternallyFn(context);
|
|
47
47
|
}
|
|
@@ -3,7 +3,6 @@ import StringExtensions from '../../Utilities/Extensions/StringExtensions';
|
|
|
3
3
|
import FormatHelper from '../../Utilities/Helpers/FormatHelper';
|
|
4
4
|
import ObjectFactory from '../../Utilities/ObjectFactory';
|
|
5
5
|
import * as ModuleConstants from '../../Utilities/Constants/ModuleConstants';
|
|
6
|
-
import { ROW_SUMMARY_ROW_ID } from '../../PredefinedConfig/Common/RowSummary';
|
|
7
6
|
export class FormatColumnInternalApi extends ApiBase {
|
|
8
7
|
/**
|
|
9
8
|
* Retrieves all Format Columns in Adaptable State with the `Style` property set
|
|
@@ -60,7 +59,7 @@ export class FormatColumnInternalApi extends ApiBase {
|
|
|
60
59
|
return this.getFormatColumnsWithStyleForColumn(column, config).filter((formatColumn) => { var _a; return StringExtensions.IsNotNullOrEmpty((_a = formatColumn === null || formatColumn === void 0 ? void 0 : formatColumn.Style) === null || _a === void 0 ? void 0 : _a.ClassName); });
|
|
61
60
|
}
|
|
62
61
|
getFormatColumnWithColumnInScope(formatColumns, column) {
|
|
63
|
-
return this.getFormatColumnInColumnScope(formatColumns).filter((scopedFormatColumn) => this.getAdaptableApi().
|
|
62
|
+
return this.getFormatColumnInColumnScope(formatColumns).filter((scopedFormatColumn) => this.getAdaptableApi().columnScopeApi.isColumnInScope(column, scopedFormatColumn.Scope));
|
|
64
63
|
}
|
|
65
64
|
// TODO is this really needed, I don't think it achieves anything
|
|
66
65
|
getFormatColumnInColumnScope(formatColumns) {
|
|
@@ -68,11 +67,11 @@ export class FormatColumnInternalApi extends ApiBase {
|
|
|
68
67
|
return formatColumns.filter((fc) => {
|
|
69
68
|
return (
|
|
70
69
|
// this.getFormatColumnsWithColumnScope(formatColumns)
|
|
71
|
-
(this.getAdaptableApi().
|
|
70
|
+
(this.getAdaptableApi().columnScopeApi.scopeHasColumns(fc.Scope) ||
|
|
72
71
|
// this.getFormatColumnsWithDataTypeScope(formatColumns)
|
|
73
|
-
this.getAdaptableApi().
|
|
72
|
+
this.getAdaptableApi().columnScopeApi.scopeHasDataType(fc.Scope) ||
|
|
74
73
|
// this.getFormatColumnsWithAllScope(formatColumns)
|
|
75
|
-
this.getAdaptableApi().
|
|
74
|
+
this.getAdaptableApi().columnScopeApi.scopeIsAll(fc.Scope) || this.getAdaptableApi().columnScopeApi.scopeHasColumnType(fc.Scope))
|
|
76
75
|
);
|
|
77
76
|
});
|
|
78
77
|
}
|
|
@@ -145,7 +144,7 @@ export class FormatColumnInternalApi extends ApiBase {
|
|
|
145
144
|
getFormatColumnDefsForScope(scope) {
|
|
146
145
|
return this.getAdaptableApi()
|
|
147
146
|
.predicateApi.internalApi.getFormatColumnPredicateDefs(scope)
|
|
148
|
-
.filter((predicateDef) => this.getAdaptableApi().
|
|
147
|
+
.filter((predicateDef) => this.getAdaptableApi().columnScopeApi.isScopeInScope(scope, predicateDef.columnScope));
|
|
149
148
|
}
|
|
150
149
|
/**
|
|
151
150
|
* Checks if format column is relevant for a given cell (intersection of given AdaptableColumn and RowNode)
|
|
@@ -155,26 +154,26 @@ export class FormatColumnInternalApi extends ApiBase {
|
|
|
155
154
|
* @param params
|
|
156
155
|
*/
|
|
157
156
|
formatColumnShouldRender(formatColumn, column, rowNode, cellValue) {
|
|
158
|
-
var _a, _b, _c, _d, _e
|
|
157
|
+
var _a, _b, _c, _d, _e;
|
|
159
158
|
// suspended is important to be first
|
|
160
159
|
if (formatColumn.IsSuspended) {
|
|
161
160
|
return false;
|
|
162
161
|
}
|
|
163
|
-
const isSummaryNode = (
|
|
162
|
+
const isSummaryNode = this.getAdaptableApi().gridApi.isSummaryNode(rowNode);
|
|
164
163
|
const isGroupedRowNode = this.getAdaptableApi().gridApi.isGroupRowNode(rowNode);
|
|
165
164
|
// For Summary Rows cannot be excluded
|
|
166
165
|
if (isSummaryNode) {
|
|
167
|
-
if ((
|
|
166
|
+
if ((_a = formatColumn.RowScope) === null || _a === void 0 ? void 0 : _a.ExcludeSummaryRows) {
|
|
168
167
|
return false;
|
|
169
168
|
}
|
|
170
169
|
}
|
|
171
170
|
else if (isGroupedRowNode) {
|
|
172
|
-
if ((
|
|
171
|
+
if ((_b = formatColumn.RowScope) === null || _b === void 0 ? void 0 : _b.ExcludeGroupRows) {
|
|
173
172
|
return false;
|
|
174
173
|
}
|
|
175
174
|
}
|
|
176
175
|
else {
|
|
177
|
-
if ((
|
|
176
|
+
if ((_c = formatColumn.RowScope) === null || _c === void 0 ? void 0 : _c.ExcludeDataRows) {
|
|
178
177
|
return false;
|
|
179
178
|
}
|
|
180
179
|
}
|
|
@@ -182,7 +181,7 @@ export class FormatColumnInternalApi extends ApiBase {
|
|
|
182
181
|
return true;
|
|
183
182
|
}
|
|
184
183
|
// first run the predicate
|
|
185
|
-
if (formatColumn.Rule.Predicates && ((
|
|
184
|
+
if (formatColumn.Rule.Predicates && ((_e = (_d = formatColumn.Rule) === null || _d === void 0 ? void 0 : _d.Predicates) === null || _e === void 0 ? void 0 : _e.length)) {
|
|
186
185
|
const predicateDefHandlerContext = Object.assign({ value: cellValue, oldValue: null, displayValue: cellValue, node: rowNode, column: column }, this.getAdaptableApi().internalApi.buildBaseContext());
|
|
187
186
|
return this.evaluatePredicate(formatColumn, predicateDefHandlerContext);
|
|
188
187
|
} // then run the Expression
|
|
@@ -251,7 +250,7 @@ export class FormatColumnInternalApi extends ApiBase {
|
|
|
251
250
|
const columnsThatNeedRefresh = new Set();
|
|
252
251
|
this.getFormatColumnsDependentOnColumns(impactedColumnIds).forEach((formatColumn) => {
|
|
253
252
|
this.getAdaptableApi()
|
|
254
|
-
.
|
|
253
|
+
.columnScopeApi.getColumnsForScope(formatColumn.Scope)
|
|
255
254
|
.forEach((col) => {
|
|
256
255
|
columnsThatNeedRefresh.add(col.columnId);
|
|
257
256
|
});
|
|
@@ -274,6 +274,6 @@ export class StyledColumnInternalApi extends ApiBase {
|
|
|
274
274
|
};
|
|
275
275
|
return this.getAdaptableApi()
|
|
276
276
|
.predicateApi.internalApi.getBadgeStylePredicateDefs(scope)
|
|
277
|
-
.filter((predicate) => this.getAdaptableApi().
|
|
277
|
+
.filter((predicate) => this.getAdaptableApi().columnScopeApi.isColumnInScope(column, predicate.columnScope));
|
|
278
278
|
}
|
|
279
279
|
}
|
package/src/Api/NoteApi.d.ts
CHANGED
|
@@ -39,7 +39,7 @@ export interface NoteApi {
|
|
|
39
39
|
* Gets all Notes for a cell
|
|
40
40
|
* @param CellAddress note position
|
|
41
41
|
*/
|
|
42
|
-
|
|
42
|
+
getNoteForCell(CellAddress: CellAddress): AdaptableNote;
|
|
43
43
|
/**
|
|
44
44
|
* Returns a Note by uuid
|
|
45
45
|
* @param uuid note uuid
|
|
@@ -54,4 +54,4 @@ export interface AdaptableBaseIcon {
|
|
|
54
54
|
/**
|
|
55
55
|
* All AdapTable System Icon names
|
|
56
56
|
*/
|
|
57
|
-
export type AdaptableSystemIconName = 'add' | 'alert' | 'building' | 'laptop' | 'arrow-down' | 'arrow-left' | 'arrow-right' | 'arrow-up' | 'arrow-up-long' | 'arrow-down-long' | 'arrow-expand' | 'paperclip' | 'unfilled-circle' | 'boolean-list' | 'broadcast' | 'brush' | 'spanner' | 'edit-table' | 'chart-and-grid' | 'calendar' | 'call' | 'cells' | 'fdc3' | 'flag' | 'chart' | 'chat' | 'check' | 'check-circle' | 'checked' | 'clone' | 'close' | 'cloud-upload' | 'collapse' | 'column-add' | 'columns' | 'filter-list' | 'copy' | 'comment' | 'comments' | 'contains' | 'dashboard' | 'data-set' | 'date-range' | 'delete' | 'division' | 'dock' | 'dollar' | 'drag' | 'edit' | 'ends-with' | 'equals' | 'equation' | 'error' | 'expand' | 'exponent' | 'export' | 'export-data' | 'fast-backward' | 'fast-forward' | 'filter' | 'filter-off' | 'lightning' | 'folder' | 'folder-open' | 'folder-shared' | 'color-palette' | 'horizontal-lines' | 'function' | 'greater-than' | 'greater-than-or-equal' | 'history' | 'home' | 'import-export' | 'info' | 'brain' | 'download' | 'grid' | 'interactions' | 'less-than' | 'less-than-or-equal' | 'list' | 'logout' | 'mail' | 'menu' | 'minus' | 'multiplication' | 'money' | 'newpage' | 'news' | 'filled-circle' | 'not-contains' | 'not-equal' | 'open-in-new' | 'order' | 'organisation' | 'pause' | 'percent' | 'percent-tag' | 'person' | 'contact' | 'pie-chart' | 'play' | 'plus' | 'add-circle' | 'search' | 'search-table' | 'select-all' | 'select-off' | 'select-fwd' | 'quote' | 'refresh' | 'regex' | 'reminder' | 'save' | 'schedule' | 'science' | 'settings' | 'link' | 'sort-asc' | 'sort-desc' | 'spark-line' | 'resume' | 'starts-with' | 'assignment' | 'statusbar' | 'stop' | 'traffic-lights' | 'tab-unselected' | 'theme' | 'clipboard' | 'target' | 'triangle-down' | 'triangle-up' | 'unchecked' | 'undo' | 'downloaded' | 'upload' | 'warning' | 'gradient' | 'badge' | 'italic' | 'bold' | 'align-left' | 'align-right' | 'align-center' | 'align-justify' | 'underline' | 'strikethrough' | 'overline' | 'case-upper' | 'case-lower' | 'case-sentence' | 'visibility-on' | 'visibility-off' | 'visibility-off-bold' | 'visibility-on-bold' | 'note' | 'import' | 'grid-filter' | 'grid-info' | 'rows';
|
|
57
|
+
export type AdaptableSystemIconName = 'add' | 'alert' | 'building' | 'laptop' | 'arrow-down' | 'arrow-left' | 'arrow-right' | 'arrow-up' | 'arrow-up-long' | 'arrow-down-long' | 'arrow-expand' | 'paperclip' | 'unfilled-circle' | 'boolean-list' | 'broadcast' | 'brush' | 'spanner' | 'edit-table' | 'chart-and-grid' | 'calendar' | 'call' | 'cells' | 'fdc3' | 'flag' | 'chart' | 'chat' | 'check' | 'check-circle' | 'checked' | 'clone' | 'close' | 'cloud-upload' | 'collapse' | 'column-add' | 'columns' | 'filter-list' | 'copy' | 'comment' | 'comments' | 'contains' | 'dashboard' | 'json' | 'data-set' | 'date-range' | 'delete' | 'division' | 'dock' | 'dollar' | 'drag' | 'edit' | 'ends-with' | 'equals' | 'equation' | 'error' | 'excel' | 'expand' | 'exponent' | 'export' | 'export-data' | 'fast-backward' | 'fast-forward' | 'filter' | 'filter-off' | 'lightning' | 'folder' | 'folder-open' | 'folder-shared' | 'color-palette' | 'horizontal-lines' | 'function' | 'greater-than' | 'greater-than-or-equal' | 'history' | 'home' | 'import-export' | 'info' | 'brain' | 'download' | 'grid' | 'interactions' | 'less-than' | 'less-than-or-equal' | 'list' | 'logout' | 'mail' | 'menu' | 'minus' | 'multiplication' | 'money' | 'newpage' | 'news' | 'filled-circle' | 'not-contains' | 'not-equal' | 'open-in-new' | 'order' | 'organisation' | 'pause' | 'percent' | 'percent-tag' | 'person' | 'contact' | 'pie-chart' | 'play' | 'plus' | 'add-circle' | 'search' | 'search-table' | 'select-all' | 'select-off' | 'select-fwd' | 'quote' | 'refresh' | 'regex' | 'reminder' | 'save' | 'schedule' | 'science' | 'settings' | 'link' | 'sort-asc' | 'sort-desc' | 'spark-line' | 'resume' | 'starts-with' | 'assignment' | 'statusbar' | 'stop' | 'traffic-lights' | 'tab-unselected' | 'theme' | 'clipboard' | 'target' | 'triangle-down' | 'triangle-up' | 'unchecked' | 'undo' | 'downloaded' | 'upload' | 'warning' | 'gradient' | 'badge' | 'italic' | 'bold' | 'align-left' | 'align-right' | 'align-center' | 'align-justify' | 'underline' | 'strikethrough' | 'overline' | 'case-upper' | 'case-lower' | 'case-sentence' | 'visibility-on' | 'visibility-off' | 'visibility-off-bold' | 'visibility-on-bold' | 'note' | 'import' | 'grid-filter' | 'grid-info' | 'csv' | 'rows' | 'expand-all' | 'collapse-all';
|
|
@@ -46,7 +46,7 @@ export interface FormatColumn extends SuspendableObject {
|
|
|
46
46
|
*/
|
|
47
47
|
RowScope?: RowScope;
|
|
48
48
|
/**
|
|
49
|
-
* @deprecated FormatColumns now apply to
|
|
49
|
+
* @deprecated FormatColumns now apply to Group Rows by default; use RowScope for more control
|
|
50
50
|
*/
|
|
51
51
|
IncludeGroupedRows?: never;
|
|
52
52
|
}
|
|
@@ -56,7 +56,7 @@ export interface Layout extends AdaptableObject {
|
|
|
56
56
|
*/
|
|
57
57
|
ExpandedRowGroupValues?: any[];
|
|
58
58
|
/**
|
|
59
|
-
* Columns showing aggregated values in
|
|
59
|
+
* Columns showing aggregated values in Group Rows; 1st value in record is Column name, 2nd is either aggfunc (e.g. sum, avg etc.) or 'true' (to use default aggfunc)
|
|
60
60
|
*/
|
|
61
61
|
AggregationColumns?: AggregationColumns;
|
|
62
62
|
/**
|
|
@@ -34,5 +34,5 @@ export declare const NoteEdit: (note: AdaptableNote) => AdaptableNoteEditAction;
|
|
|
34
34
|
export declare const NoteDelete: (note: AdaptableNote) => AdaptableNoteDeleteAction;
|
|
35
35
|
export declare const NoteReady: (note: NoteState) => NoteReadyAction;
|
|
36
36
|
export declare const GetAllNotesSelector: (state: NoteState) => AdaptableNote[];
|
|
37
|
-
export declare const
|
|
37
|
+
export declare const GetNoteSelector: (state: NoteState, address: CellAddress) => AdaptableNote;
|
|
38
38
|
export declare const NoteReducer: Redux.Reducer<NoteState>;
|
|
@@ -33,12 +33,12 @@ export const NoteReady = (note) => ({
|
|
|
33
33
|
noteState: note,
|
|
34
34
|
});
|
|
35
35
|
export const GetAllNotesSelector = (state) => state.Notes;
|
|
36
|
-
export const
|
|
36
|
+
export const GetNoteSelector = (state, address) => {
|
|
37
37
|
var _a;
|
|
38
38
|
if (!address) {
|
|
39
|
-
return
|
|
39
|
+
return null;
|
|
40
40
|
}
|
|
41
|
-
return ((_a = state === null || state === void 0 ? void 0 : state.Notes) !== null && _a !== void 0 ? _a : []).
|
|
41
|
+
return ((_a = state === null || state === void 0 ? void 0 : state.Notes) !== null && _a !== void 0 ? _a : []).find((note) => {
|
|
42
42
|
if (note.PrimaryKeyValue === address.PrimaryKeyValue && note.ColumnId === address.ColumnId) {
|
|
43
43
|
// happy check
|
|
44
44
|
return true;
|
|
@@ -57,8 +57,8 @@ export class AlertModule extends AdaptableModuleBase {
|
|
|
57
57
|
if (queryExpression) {
|
|
58
58
|
return this.api.expressionApi.getColumnsFromExpression(queryExpression);
|
|
59
59
|
}
|
|
60
|
-
else if (this.api.
|
|
61
|
-
return this.api.
|
|
60
|
+
else if (this.api.columnScopeApi.scopeHasColumns(alertDefinition.Scope)) {
|
|
61
|
+
return this.api.columnScopeApi
|
|
62
62
|
.getColumnsForScope(alertDefinition.Scope)
|
|
63
63
|
.map((adaptableColumn) => adaptableColumn.columnId);
|
|
64
64
|
}
|