@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.
- package/package.json +1 -1
- package/src/AdaptableOptions/ActionColumnOptions.d.ts +3 -2
- package/src/AdaptableOptions/CustomSortOptions.d.ts +2 -2
- package/src/AdaptableOptions/FormatColumnOptions.d.ts +2 -2
- package/src/AdaptableOptions/PredicateOptions.d.ts +2 -2
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +2 -2
- package/src/Api/AdaptableApi.d.ts +2 -2
- package/src/Api/{ScopeApi.d.ts → ColumnScopeApi.d.ts} +28 -28
- package/src/Api/FlashingCellApi.d.ts +2 -2
- package/src/Api/GridApi.d.ts +5 -0
- 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/ColumnScopeApiImpl.d.ts +33 -0
- package/src/Api/Implementation/{ScopeApiImpl.js → ColumnScopeApiImpl.js} +4 -4
- package/src/Api/Implementation/FlashingCellApiImpl.d.ts +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/UserInterfaceApiImpl.js +3 -3
- package/src/Api/Internal/AdaptableInternalApi.js +1 -1
- package/src/Api/Internal/AlertInternalApi.d.ts +2 -2
- 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.d.ts +2 -2
- package/src/Api/Internal/FormatColumnInternalApi.js +24 -14
- package/src/Api/Internal/PredicateInternalApi.d.ts +6 -6
- package/src/Api/Internal/StyledColumnInternalApi.d.ts +2 -2
- package/src/Api/Internal/StyledColumnInternalApi.js +4 -5
- package/src/PredefinedConfig/AlertState.d.ts +2 -2
- package/src/PredefinedConfig/Common/AdaptableObject.d.ts +4 -4
- package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +2 -2
- package/src/PredefinedConfig/Common/{AdaptableScope.d.ts → ColumnScope.d.ts} +1 -1
- package/src/PredefinedConfig/Common/RowScope.d.ts +17 -0
- package/src/PredefinedConfig/Common/RowScope.js +2 -0
- package/src/PredefinedConfig/ExportState.d.ts +2 -2
- package/src/PredefinedConfig/FlashingCellState.d.ts +2 -2
- package/src/PredefinedConfig/FormatColumnState.d.ts +7 -8
- package/src/PredefinedConfig/PlusMinusState.d.ts +2 -2
- package/src/PredefinedConfig/ShortcutState.d.ts +2 -2
- package/src/PredefinedConfig/StyledColumnState.d.ts +5 -10
- package/src/Strategy/AlertModule.js +2 -2
- package/src/Strategy/ExportModule.js +2 -2
- package/src/Strategy/FlashingCellModule.js +4 -4
- package/src/Strategy/FormatColumnModule.js +2 -2
- package/src/Strategy/PlusMinusModule.js +3 -3
- package/src/Strategy/ShortcutModule.js +1 -1
- package/src/Strategy/StyledColumnModule.js +7 -5
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +4 -3
- package/src/Strategy/Utilities/getScopeViewItems.d.ts +2 -2
- package/src/Utilities/ObjectFactory.js +1 -1
- 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/Utilities/getAvailablePredicates.d.ts +2 -2
- package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +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/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.d.ts +3 -3
- package/src/View/Components/EntityRulesEditor/index.d.ts +3 -3
- package/src/View/Components/NewScopeComponent.d.ts +5 -5
- package/src/View/Components/NewScopeComponent.js +2 -2
- package/src/View/Components/RangesComponent.d.ts +2 -2
- package/src/View/Components/RangesComponent.js +1 -1
- package/src/View/Components/SharedProps/WizardScopeState.d.ts +2 -2
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +1 -1
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +4 -1
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +2 -2
- 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 +24 -13
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +1 -1
- package/src/View/PlusMinus/PlusMinusSummary.js +2 -2
- package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +1 -1
- package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +32 -12
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +1 -1
- package/src/agGrid/ActionColumnRenderer.js +40 -4
- package/src/agGrid/AdaptableAgGrid.js +2 -3
- package/src/agGrid/AgGridColumnAdapter.js +11 -10
- package/src/agGrid/BadgeRenderer.d.ts +2 -2
- package/src/agGrid/BadgeRenderer.js +23 -16
- package/src/agGrid/PercentBarRenderer.js +0 -1
- package/src/env.js +2 -2
- package/src/metamodel/adaptable.metamodel.d.ts +19 -26
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/types.d.ts +3 -2
- package/tsconfig.cjs.tsbuildinfo +1 -1
- package/src/Api/Implementation/ScopeApiImpl.d.ts +0 -33
- /package/src/Api/{ScopeApi.js → ColumnScopeApi.js} +0 -0
- /package/src/PredefinedConfig/Common/{AdaptableScope.js → ColumnScope.js} +0 -0
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getFormatColumnSettingsViewItems = void 0;
|
|
4
4
|
const getFormatColumnSettingsViewItems = (formatColumn) => {
|
|
5
|
-
var _a;
|
|
5
|
+
var _a, _b, _c, _d;
|
|
6
6
|
const values = [
|
|
7
7
|
`Cell alignment: ${(_a = formatColumn.CellAlignment) !== null && _a !== void 0 ? _a : 'default'}`,
|
|
8
|
-
`
|
|
9
|
-
`
|
|
8
|
+
`Data Rows: ${((_b = formatColumn.RowScope) === null || _b === void 0 ? void 0 : _b.ExcludeDataRows) ? 'Yes' : 'No'}`,
|
|
9
|
+
`Grouped Rows: ${((_c = formatColumn.RowScope) === null || _c === void 0 ? void 0 : _c.ExcludeGroupedRows) ? 'Yes' : 'No'}`,
|
|
10
|
+
`Row Summaries: ${((_d = formatColumn.RowScope) === null || _d === void 0 ? void 0 : _d.ExcludeSummaryRows) ? 'Yes' : 'No'}`,
|
|
10
11
|
].filter(Boolean);
|
|
11
12
|
return {
|
|
12
13
|
name: 'Settings',
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { AdaptableApi,
|
|
1
|
+
import { AdaptableApi, ColumnScope } from '../../../types';
|
|
2
2
|
import { AdaptableObjectItemView } from '../Interface/IModule';
|
|
3
|
-
export declare const getScopeViewItems: (scope:
|
|
3
|
+
export declare const getScopeViewItems: (scope: ColumnScope, api: AdaptableApi) => AdaptableObjectItemView;
|
|
@@ -260,6 +260,7 @@ function CreateEmptyFormatColumn() {
|
|
|
260
260
|
Style: CreateEmptyStyle(),
|
|
261
261
|
DisplayFormat: undefined,
|
|
262
262
|
CellAlignment: undefined,
|
|
263
|
+
RowScope: undefined,
|
|
263
264
|
};
|
|
264
265
|
}
|
|
265
266
|
exports.CreateEmptyFormatColumn = CreateEmptyFormatColumn;
|
|
@@ -334,7 +335,6 @@ function CreateEmptyStyledColumn() {
|
|
|
334
335
|
return {
|
|
335
336
|
Uuid: (0, Uuid_1.createUuid)(),
|
|
336
337
|
ColumnId: GeneralConstants_1.EMPTY_STRING,
|
|
337
|
-
IncludeGroupedRows: false,
|
|
338
338
|
};
|
|
339
339
|
}
|
|
340
340
|
exports.CreateEmptyStyledColumn = CreateEmptyStyledColumn;
|
|
@@ -138,7 +138,7 @@ class ReportService {
|
|
|
138
138
|
case 'SelectedColumns':
|
|
139
139
|
return '[Selected Columns]';
|
|
140
140
|
case 'ScopeColumns':
|
|
141
|
-
return this.adaptableApi.
|
|
141
|
+
return this.adaptableApi.columnScopeApi.getScopeDescription(report.Scope);
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
144
|
GetReportExpressionDescription(report, cols) {
|
|
@@ -201,7 +201,7 @@ class ReportService {
|
|
|
201
201
|
reportColumns = report.Scope.ColumnIds.map((columnId) => this.adaptableApi.columnApi.getColumnWithColumnId(columnId)).filter((c) => c);
|
|
202
202
|
}
|
|
203
203
|
else {
|
|
204
|
-
reportColumns = this.adaptableApi.
|
|
204
|
+
reportColumns = this.adaptableApi.columnScopeApi.getColumnsForScope(report.Scope);
|
|
205
205
|
}
|
|
206
206
|
break;
|
|
207
207
|
}
|
|
@@ -19,7 +19,7 @@ class ValidationService {
|
|
|
19
19
|
}
|
|
20
20
|
let editingRules = this.adaptableApi.alertApi.internalApi
|
|
21
21
|
.getAlertDefinitionsWithPreventEdit()
|
|
22
|
-
.filter((v) => this.adaptableApi.
|
|
22
|
+
.filter((v) => this.adaptableApi.columnScopeApi.isColumnInScope(cellDataChangedInfo.column, v.Scope));
|
|
23
23
|
let failedValidations = [];
|
|
24
24
|
if (ArrayExtensions_1.ArrayExtensions.IsNotEmpty(editingRules)) {
|
|
25
25
|
editingRules.forEach((alertDefinition) => {
|
|
@@ -131,7 +131,7 @@ class ValidationService {
|
|
|
131
131
|
}
|
|
132
132
|
createValidationDescription(alertDefinition) {
|
|
133
133
|
var _a, _b;
|
|
134
|
-
return (this.adaptableApi.
|
|
134
|
+
return (this.adaptableApi.columnScopeApi.getScopeDescription(alertDefinition.Scope) +
|
|
135
135
|
' ' +
|
|
136
136
|
((_b = (_a = alertDefinition.Rule) === null || _a === void 0 ? void 0 : _a.Predicates) === null || _b === void 0 ? void 0 : _b.map((predicate) => this.adaptableApi.predicateApi.predicateToString(predicate)).join(' AND ')));
|
|
137
137
|
}
|
|
@@ -13,7 +13,7 @@ class AlertEntityRow extends React.Component {
|
|
|
13
13
|
let alertDefinition = this.props.adaptableObject;
|
|
14
14
|
let messageTypes = ['Info', 'Success', 'Warning', 'Error'];
|
|
15
15
|
let colItems = (0, Helper_1.cloneObject)(this.props.colItems);
|
|
16
|
-
colItems[0].Content = (React.createElement(EntityRowItem_1.EntityRowItem, { Content: this.props.api.
|
|
16
|
+
colItems[0].Content = (React.createElement(EntityRowItem_1.EntityRowItem, { Content: this.props.api.columnScopeApi.getScopeToString(alertDefinition.Scope) }));
|
|
17
17
|
colItems[1].Content = (React.createElement(EntityRowItem_1.EntityRowItem, { Content: this.props.api.alertApi.internalApi.getAlertRuleDescription(alertDefinition) }));
|
|
18
18
|
colItems[2].Content = (React.createElement("div", null,
|
|
19
19
|
React.createElement(DropdownButton_1.default, { showClearButton: false, items: messageTypes.map((item) => ({
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { AdaptableApi, AdaptablePredicateDef,
|
|
1
|
+
import { AdaptableApi, AdaptablePredicateDef, ColumnScope } from '../../../types';
|
|
2
2
|
import { AlertType } from './getAlertType';
|
|
3
|
-
export declare const getAvailablePredicateDefinitions: (api: AdaptableApi, scope:
|
|
3
|
+
export declare const getAvailablePredicateDefinitions: (api: AdaptableApi, scope: ColumnScope, alertType: AlertType) => AdaptablePredicateDef<string>[];
|
|
@@ -6,7 +6,7 @@ import { AlertType } from './getAlertType';
|
|
|
6
6
|
*/
|
|
7
7
|
export declare const getDefaultAlertDefinition: (alertDefinition: AlertDefinition, type: AlertType) => {
|
|
8
8
|
Uuid: string;
|
|
9
|
-
Scope: import("../../../types").
|
|
9
|
+
Scope: import("../../../types").ColumnScope<import("../../../PredefinedConfig/Common/ColumnScope").ScopeDataType>;
|
|
10
10
|
Rule: ({
|
|
11
11
|
Predicates?: never;
|
|
12
12
|
} & (({
|
|
@@ -28,7 +28,7 @@ const AlertScopeWizardSection = (props) => {
|
|
|
28
28
|
Predicates: [{ PredicateId: 'AnyChange' }],
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
|
-
if (newData.Rule.ObservableExpression !== undefined && !api.
|
|
31
|
+
if (newData.Rule.ObservableExpression !== undefined && !api.columnScopeApi.scopeIsAll(Scope)) {
|
|
32
32
|
// if it had observable expression and the scope is changed to partial
|
|
33
33
|
// we need to reset to not be an observable expression, as observable is not supported
|
|
34
34
|
// for partial scope
|
|
@@ -36,7 +36,7 @@ const AlertScopeWizardSection = (props) => {
|
|
|
36
36
|
newData.Rule.BooleanExpression = '';
|
|
37
37
|
}
|
|
38
38
|
if (newData.Rule.AggregatedBooleanExpression !== undefined &&
|
|
39
|
-
!api.
|
|
39
|
+
!api.columnScopeApi.scopeIsAll(Scope)) {
|
|
40
40
|
// if it had aggregation expression and the scope is changed to partial
|
|
41
41
|
// we need to reset to not be an aggregation expression, as aggregation is not supported
|
|
42
42
|
// for partial scope
|
|
@@ -7,7 +7,7 @@ const rebass_1 = require("rebass");
|
|
|
7
7
|
const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
|
|
8
8
|
const ValueSelector_1 = require("../../Components/ValueSelector");
|
|
9
9
|
const renderScopeSummary = (data) => {
|
|
10
|
-
const { api: { scopeApi }, } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
|
|
10
|
+
const { api: { columnScopeApi: scopeApi }, } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
|
|
11
11
|
const columnsInScope = scopeApi.getColumnsForScope(data.Scope);
|
|
12
12
|
return (React.createElement(React.Fragment, null,
|
|
13
13
|
React.createElement(rebass_1.Box, null,
|
|
@@ -136,7 +136,7 @@ const ModuleView = (props) => {
|
|
|
136
136
|
var _a;
|
|
137
137
|
if ('Scope' in item.abObject) {
|
|
138
138
|
const abColumn = adaptable.api.columnApi.getColumnWithColumnId(props.selectedColumnId);
|
|
139
|
-
return adaptable.api.
|
|
139
|
+
return adaptable.api.columnScopeApi.isColumnInScope(abColumn, item.abObject.Scope);
|
|
140
140
|
}
|
|
141
141
|
if ('ColumnId' in item.abObject) {
|
|
142
142
|
return ((_a = item.abObject) === null || _a === void 0 ? void 0 : _a.ColumnId) === props.selectedColumnId;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { AdaptablePredicateDef,
|
|
2
|
+
import { AdaptablePredicateDef, ColumnScope } from '../../../../types';
|
|
3
3
|
import { EntityRulesEditorProps, RuleType } from '../index';
|
|
4
4
|
export interface EntityRulePredicatesEditorProps {
|
|
5
5
|
descriptions: EntityRulesEditorProps<any>['descriptions'];
|
|
6
6
|
data: {
|
|
7
7
|
Rule: RuleType;
|
|
8
|
-
Scope:
|
|
8
|
+
Scope: ColumnScope;
|
|
9
9
|
};
|
|
10
10
|
onChange: (data: {
|
|
11
11
|
Rule: RuleType;
|
|
12
|
-
Scope:
|
|
12
|
+
Scope: ColumnScope;
|
|
13
13
|
}) => void;
|
|
14
14
|
predicateDefs: AdaptablePredicateDef[];
|
|
15
15
|
getPredicateDefsForColId?: (colId: string) => AdaptablePredicateDef[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { FlexProps } from 'rebass';
|
|
3
|
-
import type { AdaptableColumnPredicate, AdaptableModule, AdaptablePredicateDef,
|
|
3
|
+
import type { AdaptableColumnPredicate, AdaptableModule, AdaptablePredicateDef, ColumnScope } from '../../../types';
|
|
4
4
|
import type { XOR } from '../../../Utilities/Extensions/TypeExtensions';
|
|
5
5
|
import { AdaptableQuery } from '../../../PredefinedConfig/Common/AdaptableQuery';
|
|
6
6
|
export type RuleType = XOR<{
|
|
@@ -30,7 +30,7 @@ export type EntityRulesEditorProps<T> = {
|
|
|
30
30
|
};
|
|
31
31
|
export declare const EntityRulesSummary: <T extends {
|
|
32
32
|
Rule?: RuleType;
|
|
33
|
-
Scope:
|
|
33
|
+
Scope: ColumnScope;
|
|
34
34
|
}>(props: {
|
|
35
35
|
data: T;
|
|
36
36
|
renderPredicate: (content: string) => React.ReactNode;
|
|
@@ -38,5 +38,5 @@ export declare const EntityRulesSummary: <T extends {
|
|
|
38
38
|
}) => JSX.Element;
|
|
39
39
|
export declare const EntityRulesEditor: <T extends {
|
|
40
40
|
Rule: RuleType;
|
|
41
|
-
Scope:
|
|
41
|
+
Scope: ColumnScope;
|
|
42
42
|
}>(props: EntityRulesEditorProps<T>) => JSX.Element;
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { ScopeDataType,
|
|
2
|
+
import { ScopeDataType, ColumnScope } from '../../PredefinedConfig/Common/ColumnScope';
|
|
3
3
|
import { AdaptableColumn } from '../../types';
|
|
4
4
|
export declare const isScopeValid: ({ Scope }: {
|
|
5
|
-
Scope:
|
|
5
|
+
Scope: ColumnScope;
|
|
6
6
|
}) => string | true;
|
|
7
|
-
export declare const renderScopeSummary: (scope:
|
|
7
|
+
export declare const renderScopeSummary: (scope: ColumnScope, labels: {
|
|
8
8
|
scopeWholeRow: string;
|
|
9
9
|
scopeColumns: string;
|
|
10
10
|
scopeDataTypes: string;
|
|
11
11
|
}) => JSX.Element;
|
|
12
12
|
export interface NewScopeComponentProps extends React.ClassAttributes<any> {
|
|
13
|
-
scope:
|
|
13
|
+
scope: ColumnScope;
|
|
14
14
|
scopeColumns?: AdaptableColumn[];
|
|
15
|
-
updateScope: (scope:
|
|
15
|
+
updateScope: (scope: ColumnScope) => void;
|
|
16
16
|
availableDataTypes?: ScopeDataType[];
|
|
17
17
|
hideWholeRow?: boolean;
|
|
18
18
|
style?: React.CSSProperties;
|
|
@@ -47,7 +47,7 @@ const DATA_TYPES_MAP = {
|
|
|
47
47
|
};
|
|
48
48
|
const renderScopeSummary = (scope, labels) => {
|
|
49
49
|
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
50
|
-
const scopeApi = adaptable.api.
|
|
50
|
+
const scopeApi = adaptable.api.columnScopeApi;
|
|
51
51
|
const columnsInScope = scopeApi.getColumnsForScope(scope);
|
|
52
52
|
return (React.createElement(React.Fragment, null,
|
|
53
53
|
React.createElement(rebass_1.Box, null,
|
|
@@ -64,7 +64,7 @@ const DATA_TYPES_OPTIONS = Object.values(DATA_TYPES_MAP);
|
|
|
64
64
|
const NewScopeComponent = (props) => {
|
|
65
65
|
var _a, _b;
|
|
66
66
|
const { api } = (0, AdaptableContext_1.useAdaptable)();
|
|
67
|
-
const { scopeApi, columnApi } = api;
|
|
67
|
+
const { columnScopeApi: scopeApi, columnApi } = api;
|
|
68
68
|
const [columnsSearchText, setColumnsSearchText] = (0, react_1.useState)('');
|
|
69
69
|
const scopeColumns = React.useMemo(() => {
|
|
70
70
|
const allColumns = props.scopeColumns || columnApi.getColumns();
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { AdaptableApi } from '../../Api/AdaptableApi';
|
|
3
3
|
import { CellColorRange, ColumnComparison, NumericStyledColumn } from '../../PredefinedConfig/StyledColumnState';
|
|
4
|
-
import {
|
|
4
|
+
import { ColumnScope } from '../../PredefinedConfig/Common/ColumnScope';
|
|
5
5
|
export interface RangesComponentProps extends React.ClassAttributes<RangesComponent> {
|
|
6
6
|
ranges: CellColorRange[];
|
|
7
7
|
columnComparison?: ColumnComparison;
|
|
8
8
|
rangeValueType: NumericStyledColumn['RangeValueType'];
|
|
9
9
|
onRangeValueTypeChange: (rangeValueType: NumericStyledColumn['RangeValueType']) => void;
|
|
10
|
-
scope:
|
|
10
|
+
scope: ColumnScope;
|
|
11
11
|
api: AdaptableApi;
|
|
12
12
|
showRangeDirection: boolean;
|
|
13
13
|
updateRanges: (ranges: CellColorRange[]) => void;
|
|
@@ -118,7 +118,7 @@ class RangesComponent extends React.Component {
|
|
|
118
118
|
this.props.updateColumnComparison(columnComparison);
|
|
119
119
|
}
|
|
120
120
|
else {
|
|
121
|
-
const ranges = this.props.api.
|
|
121
|
+
const ranges = this.props.api.columnScopeApi.createCellColorRangesForScope(this.props.scope);
|
|
122
122
|
this.setState({
|
|
123
123
|
rangesType: 'Standard',
|
|
124
124
|
});
|
|
@@ -30,7 +30,7 @@ const CustomSortColumnWizardSection = (props) => {
|
|
|
30
30
|
const columnSortComparers = api.optionsApi.getCustomSortOptions().customSortComparers || [];
|
|
31
31
|
const usedColumnIds = [
|
|
32
32
|
...customSorts.map((customSort) => customSort.ColumnId),
|
|
33
|
-
...columnSortComparers.map((comparer) => api.
|
|
33
|
+
...columnSortComparers.map((comparer) => api.columnScopeApi.getColumnIdsInScope(comparer.scope)),
|
|
34
34
|
];
|
|
35
35
|
// filter out used colum ids, but include the current one
|
|
36
36
|
return sortableColumns.filter((column) => {
|
|
@@ -99,7 +99,10 @@ const buildAdaptableOptions = (mainAdaptableInstance, gridOptions, adaptableCont
|
|
|
99
99
|
{
|
|
100
100
|
columnId: 'undoActionColumn',
|
|
101
101
|
friendlyName: ' ',
|
|
102
|
-
|
|
102
|
+
rowScope: {
|
|
103
|
+
ExcludeGroupedRows: true,
|
|
104
|
+
ExcludeSummaryRows: true,
|
|
105
|
+
},
|
|
103
106
|
actionColumnSettings: { suppressMenu: true, suppressMovable: true },
|
|
104
107
|
actionColumnButton,
|
|
105
108
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { FormatColumn } from '../../../PredefinedConfig/FormatColumnState';
|
|
3
3
|
import { AdaptableFormat } from '../../../PredefinedConfig/Common/AdaptableFormat';
|
|
4
|
-
import {
|
|
4
|
+
import { ColumnScope } from '../../../PredefinedConfig/Common/ColumnScope';
|
|
5
5
|
import { AdaptableApi } from '../../../Api/AdaptableApi';
|
|
6
6
|
export type FormatColumnFormatWizardSectionProps = {
|
|
7
7
|
onChange: (data: FormatColumn) => void;
|
|
@@ -12,5 +12,5 @@ export interface FormatColumnFormatWizardState {
|
|
|
12
12
|
}
|
|
13
13
|
export declare const getFormatColumnFormatSummaryValue: (data: FormatColumn) => string;
|
|
14
14
|
export declare const renderFormatColumnFormatSummary: (data: FormatColumn) => JSX.Element;
|
|
15
|
-
export declare const getFormatDisplayTypeForScope: (scope:
|
|
15
|
+
export declare const getFormatDisplayTypeForScope: (scope: ColumnScope, api: AdaptableApi) => 'Number' | 'Date' | 'String' | undefined;
|
|
16
16
|
export declare const FormatColumnFormatWizardSection: (props: FormatColumnFormatWizardSectionProps) => JSX.Element;
|
|
@@ -417,7 +417,7 @@ const FormatColumnFormatWizardSection = (props) => {
|
|
|
417
417
|
update({ DisplayFormat });
|
|
418
418
|
};
|
|
419
419
|
const Type = data.DisplayFormat && data.DisplayFormat.Formatter;
|
|
420
|
-
const customScopedFormatters = customDisplayFormatters.filter((displayFormatter) => adaptable.api.
|
|
420
|
+
const customScopedFormatters = customDisplayFormatters.filter((displayFormatter) => adaptable.api.columnScopeApi.isScopeInScope(data.Scope, displayFormatter.scope));
|
|
421
421
|
if (Type === 'NumberFormatter') {
|
|
422
422
|
return renderNumberFormat(data, update, setFormatOption, customScopedFormatters, formatColumnApi);
|
|
423
423
|
}
|
|
@@ -9,7 +9,7 @@ function FormatColumnRuleWizardSection(props) {
|
|
|
9
9
|
const { data, api, moduleInfo } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
|
|
10
10
|
return (React.createElement(EntityRulesEditor_1.EntityRulesEditor, { module: moduleInfo.ModuleName, defaultPredicateId: props.defaultPredicateId,
|
|
11
11
|
// TODO see what is this
|
|
12
|
-
predicateDefs: api.formatColumnApi.internalApi.getFormatColumnDefsForScope(data.Scope), getPredicateDefsForColId: (colId) => api.formatColumnApi.internalApi.getFormatColumnDefsForScope({ ColumnIds: [colId] }), showNoRule: true, showBoolean: true, showAggregation: false, showObservable: false, showPredicate: !api.
|
|
12
|
+
predicateDefs: api.formatColumnApi.internalApi.getFormatColumnDefsForScope(data.Scope), getPredicateDefsForColId: (colId) => api.formatColumnApi.internalApi.getFormatColumnDefsForScope({ ColumnIds: [colId] }), showNoRule: true, showBoolean: true, showAggregation: false, showObservable: false, showPredicate: !api.columnScopeApi.scopeIsAll(data.Scope), data: data, onChange: (formatColumn) => props.onChange(formatColumn), descriptions: {
|
|
13
13
|
selectPredicate: 'Create a Format Column Rule - to be applied when data changes',
|
|
14
14
|
useBooleanQuery: (React.createElement(React.Fragment, null,
|
|
15
15
|
"Use an BooleanQuery if ",
|
|
@@ -22,7 +22,7 @@ const FormatColumnScopeWizardSection = (props) => {
|
|
|
22
22
|
}, scope: data.Scope, updateScope: (Scope) => {
|
|
23
23
|
var _a, _b;
|
|
24
24
|
const newData = Object.assign(Object.assign({}, data), { Scope });
|
|
25
|
-
const wholeRow = api.
|
|
25
|
+
const wholeRow = api.columnScopeApi.scopeIsAll(Scope);
|
|
26
26
|
if ((_b = (_a = newData.Rule) === null || _a === void 0 ? void 0 : _a.Predicates) === null || _b === void 0 ? void 0 : _b.length) {
|
|
27
27
|
if (wholeRow) {
|
|
28
28
|
// if scope is whole row, a predicate cannot be present, so we set the rule
|
|
@@ -12,20 +12,25 @@ const Tag_1 = require("../../../components/Tag");
|
|
|
12
12
|
const ToggleGroup_1 = require("../../../components/Toggle/ToggleGroup");
|
|
13
13
|
const Toggle_1 = require("../../../components/Toggle/Toggle");
|
|
14
14
|
const renderFormatColumnSettingsSummary = (data) => {
|
|
15
|
-
var _a;
|
|
15
|
+
var _a, _b, _c, _d;
|
|
16
16
|
return (React.createElement(rebass_1.Box, { padding: 2 },
|
|
17
17
|
React.createElement(rebass_1.Text, null,
|
|
18
18
|
"Cell alignment ",
|
|
19
19
|
React.createElement(Tag_1.Tag, null, (_a = data.CellAlignment) !== null && _a !== void 0 ? _a : 'default')),
|
|
20
20
|
React.createElement(rebass_1.Text, { mt: 3 },
|
|
21
|
-
"
|
|
22
|
-
React.createElement(Tag_1.Tag, null, data.
|
|
21
|
+
"Data Rows ",
|
|
22
|
+
React.createElement(Tag_1.Tag, null, ((_b = data.RowScope) === null || _b === void 0 ? void 0 : _b.ExcludeDataRows) ? 'no' : 'yes')),
|
|
23
|
+
' ',
|
|
23
24
|
React.createElement(rebass_1.Text, { mt: 3 },
|
|
24
|
-
"
|
|
25
|
-
React.createElement(Tag_1.Tag, null, data.
|
|
25
|
+
"Grouped Rows ",
|
|
26
|
+
React.createElement(Tag_1.Tag, null, ((_c = data.RowScope) === null || _c === void 0 ? void 0 : _c.ExcludeGroupedRows) ? 'no' : 'yes')),
|
|
27
|
+
React.createElement(rebass_1.Text, { mt: 3 },
|
|
28
|
+
"Summary Rows ",
|
|
29
|
+
React.createElement(Tag_1.Tag, null, ((_d = data.RowScope) === null || _d === void 0 ? void 0 : _d.ExcludeSummaryRows) ? 'no' : 'yes'))));
|
|
26
30
|
};
|
|
27
31
|
exports.renderFormatColumnSettingsSummary = renderFormatColumnSettingsSummary;
|
|
28
32
|
const FormatColumnSettingsWizardSection = (props) => {
|
|
33
|
+
var _a, _b, _c;
|
|
29
34
|
const { data } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
|
|
30
35
|
const onCellAlignmentSelectChanged = (CellAlignment) => {
|
|
31
36
|
const newData = Object.assign(Object.assign({}, data), { CellAlignment });
|
|
@@ -34,11 +39,14 @@ const FormatColumnSettingsWizardSection = (props) => {
|
|
|
34
39
|
}
|
|
35
40
|
props.onChange(newData);
|
|
36
41
|
};
|
|
37
|
-
const
|
|
38
|
-
props.onChange(Object.assign(Object.assign({}, data), {
|
|
42
|
+
const onExcludeDataRowsChanged = (ExcludeDataRows) => {
|
|
43
|
+
props.onChange(Object.assign(Object.assign({}, data), { RowScope: Object.assign(Object.assign({}, data.RowScope), { ExcludeDataRows }) }));
|
|
44
|
+
};
|
|
45
|
+
const onExcludeGroupedRowsChanged = (ExcludeGroupedRows) => {
|
|
46
|
+
props.onChange(Object.assign(Object.assign({}, data), { RowScope: Object.assign(Object.assign({}, data.RowScope), { ExcludeGroupedRows }) }));
|
|
39
47
|
};
|
|
40
|
-
const
|
|
41
|
-
props.onChange(Object.assign(Object.assign({}, data), {
|
|
48
|
+
const onExcludeSummaryRowsChanged = (ExcludeSummaryRows) => {
|
|
49
|
+
props.onChange(Object.assign(Object.assign({}, data), { RowScope: Object.assign(Object.assign({}, data.RowScope), { ExcludeSummaryRows }) }));
|
|
42
50
|
};
|
|
43
51
|
return (React.createElement(Tabs_1.Tabs, null,
|
|
44
52
|
React.createElement(Tabs_1.Tabs.Tab, null, "Settings"),
|
|
@@ -56,11 +64,14 @@ const FormatColumnSettingsWizardSection = (props) => {
|
|
|
56
64
|
React.createElement(Toggle_1.Toggle, { icon: "align-right", pressed: data.CellAlignment === 'Right', onPressedChange: (pressed) => pressed
|
|
57
65
|
? onCellAlignmentSelectChanged('Right')
|
|
58
66
|
: onCellAlignmentSelectChanged(null) }))),
|
|
59
|
-
React.createElement(FormLayout_1.FormRow, { label: "
|
|
67
|
+
React.createElement(FormLayout_1.FormRow, { label: "Exclude Data Rows:" },
|
|
68
|
+
React.createElement(rebass_1.Flex, { alignItems: "center", marginLeft: 2 },
|
|
69
|
+
React.createElement(CheckBox_1.CheckBox, { "data-name": "exclude-data-rows-checkbox", checked: (_a = data.RowScope) === null || _a === void 0 ? void 0 : _a.ExcludeDataRows, onChange: onExcludeDataRowsChanged, mr: 2 }))),
|
|
70
|
+
React.createElement(FormLayout_1.FormRow, { label: "Exclude Grouped Rows:" },
|
|
60
71
|
React.createElement(rebass_1.Flex, { alignItems: "center", marginLeft: 2 },
|
|
61
|
-
React.createElement(CheckBox_1.CheckBox, { "data-name": "
|
|
62
|
-
React.createElement(FormLayout_1.FormRow, { label: "
|
|
72
|
+
React.createElement(CheckBox_1.CheckBox, { "data-name": "exclude-grouped-rows-checkbox", checked: (_b = data.RowScope) === null || _b === void 0 ? void 0 : _b.ExcludeGroupedRows, onChange: onExcludeGroupedRowsChanged, mr: 2 }))),
|
|
73
|
+
React.createElement(FormLayout_1.FormRow, { label: "Exclude Row Summaries:" },
|
|
63
74
|
React.createElement(rebass_1.Flex, { alignItems: "center", marginLeft: 2 },
|
|
64
|
-
React.createElement(CheckBox_1.CheckBox, { "data-name": "
|
|
75
|
+
React.createElement(CheckBox_1.CheckBox, { "data-name": "exclude-summary-rows-checkbox", checked: (_c = data.RowScope) === null || _c === void 0 ? void 0 : _c.ExcludeSummaryRows, onChange: onExcludeSummaryRowsChanged, mr: 2 }))))))));
|
|
65
76
|
};
|
|
66
77
|
exports.FormatColumnSettingsWizardSection = FormatColumnSettingsWizardSection;
|
|
@@ -13,7 +13,7 @@ const isFormatColumnStyleValid = (data, api) => {
|
|
|
13
13
|
UIHelper_1.default.IsEmptyStyle(data.Style) &&
|
|
14
14
|
data.DisplayFormat === undefined &&
|
|
15
15
|
data.CellAlignment === undefined &&
|
|
16
|
-
!api.
|
|
16
|
+
!api.columnScopeApi.isSingleBooleanColumnScope(data.Scope)) {
|
|
17
17
|
return 'No format applied';
|
|
18
18
|
}
|
|
19
19
|
return true;
|
|
@@ -23,12 +23,12 @@ class PlusMinusSummaryComponent extends React.Component {
|
|
|
23
23
|
render() {
|
|
24
24
|
let moduleSummaries = [];
|
|
25
25
|
// title row
|
|
26
|
-
let titleRow = (React.createElement(ModuleHeader_1.ModuleHeader, { key: this.props.moduleInfo.FriendlyName, moduleInfo: this.props.moduleInfo, moduleSummary: Helper_1.Helper.returnItemCount(this.props.PlusMinusNudges.filter((item) => this.props.api.
|
|
26
|
+
let titleRow = (React.createElement(ModuleHeader_1.ModuleHeader, { key: this.props.moduleInfo.FriendlyName, moduleInfo: this.props.moduleInfo, moduleSummary: Helper_1.Helper.returnItemCount(this.props.PlusMinusNudges.filter((item) => this.props.api.columnScopeApi.isColumnInScopeColumns(this.props.summarisedColumn, item.Scope)), this.props.moduleInfo.FriendlyName), onNew: () => this.onNew(), newButtonTooltip: 'Plus / Minus Rule', accessLevel: this.props.accessLevel }));
|
|
27
27
|
moduleSummaries.push(titleRow);
|
|
28
28
|
// existing items
|
|
29
29
|
this.props.PlusMinusNudges.map((item, index) => {
|
|
30
30
|
var _a;
|
|
31
|
-
if (this.props.api.
|
|
31
|
+
if (this.props.api.columnScopeApi.isColumnInScopeColumns(this.props.summarisedColumn, item.Scope)) {
|
|
32
32
|
let detailRow = (React.createElement(ModuleDetail_1.ModuleDetail, { key: 'PM' + index, item1: 'Nudge Value: ' + item.NudgeValue, item2: ((_a = item.Rule) === null || _a === void 0 ? void 0 : _a.BooleanExpression) ? item.Rule.BooleanExpression : 'Always', configEnity: item, showShare: this.props.teamSharingActivated, moduleInfo: this.props.moduleInfo, onEdit: () => this.onEdit(item), onShare: (config) => this.props.onShare(item, config), onDelete: PlusMinusRedux.PlusMinusNudgeDelete(item), accessLevel: this.props.accessLevel }));
|
|
33
33
|
moduleSummaries.push(detailRow);
|
|
34
34
|
}
|
|
@@ -61,7 +61,7 @@ const StyledColumnWizardColumnSection = (props) => {
|
|
|
61
61
|
}, [data]);
|
|
62
62
|
const handleColumnsChange = (columnIds) => {
|
|
63
63
|
const columnId = columnIds[0];
|
|
64
|
-
const emptyRanges = api.
|
|
64
|
+
const emptyRanges = api.columnScopeApi.createCellColorRangesForScope({
|
|
65
65
|
ColumnIds: [columnId],
|
|
66
66
|
});
|
|
67
67
|
const newStyledColumn = Object.assign(Object.assign({}, data), { ColumnId: columnId });
|
|
@@ -10,33 +10,53 @@ const Tabs_1 = require("../../../components/Tabs");
|
|
|
10
10
|
const Tag_1 = require("../../../components/Tag");
|
|
11
11
|
const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
|
|
12
12
|
const renderStyledColumnWizardSettingsSummary = (data) => {
|
|
13
|
+
var _a, _b, _c;
|
|
14
|
+
const badgeStyle = data;
|
|
13
15
|
return (React.createElement(rebass_1.Box, { padding: 2 },
|
|
14
16
|
React.createElement(rebass_1.Text, { mt: 3 },
|
|
15
|
-
"
|
|
16
|
-
React.createElement(Tag_1.Tag, null,
|
|
17
|
+
"Data Rows ",
|
|
18
|
+
React.createElement(Tag_1.Tag, null, ((_a = badgeStyle.RowScope) === null || _a === void 0 ? void 0 : _a.ExcludeDataRows) ? 'no' : 'yes')),
|
|
19
|
+
' ',
|
|
17
20
|
React.createElement(rebass_1.Text, { mt: 3 },
|
|
18
|
-
"
|
|
19
|
-
React.createElement(Tag_1.Tag, null,
|
|
21
|
+
"Grouped Rows ",
|
|
22
|
+
React.createElement(Tag_1.Tag, null, ((_b = badgeStyle.RowScope) === null || _b === void 0 ? void 0 : _b.ExcludeGroupedRows) ? 'no' : 'yes')),
|
|
23
|
+
React.createElement(rebass_1.Text, { mt: 3 },
|
|
24
|
+
"Summary Rows ",
|
|
25
|
+
React.createElement(Tag_1.Tag, null, ((_c = badgeStyle.RowScope) === null || _c === void 0 ? void 0 : _c.ExcludeSummaryRows) ? 'no' : 'yes'))));
|
|
20
26
|
};
|
|
21
27
|
exports.renderStyledColumnWizardSettingsSummary = renderStyledColumnWizardSettingsSummary;
|
|
22
28
|
const StyledColumnWizardSettingsSection = (props) => {
|
|
29
|
+
var _a, _b, _c;
|
|
23
30
|
const { data } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
|
|
24
|
-
const
|
|
25
|
-
props.onChange(Object.assign(Object.assign({}, data), {
|
|
31
|
+
const onExcludeDataRowsChanged = (ExcludeDataRows) => {
|
|
32
|
+
props.onChange(Object.assign(Object.assign({}, data), { BadgeStyle: Object.assign(Object.assign({}, data.BadgeStyle), { RowScope: Object.assign(Object.assign({}, data.BadgeStyle.RowScope), { ExcludeDataRows }) }) }));
|
|
33
|
+
};
|
|
34
|
+
const onExcludeGroupedRowsChanged = (ExcludeGroupedRows) => {
|
|
35
|
+
props.onChange(Object.assign(Object.assign({}, data), { BadgeStyle: Object.assign(Object.assign({}, data.BadgeStyle), { RowScope: Object.assign(Object.assign({}, data.BadgeStyle.RowScope), { ExcludeGroupedRows }) }) }));
|
|
26
36
|
};
|
|
27
|
-
const
|
|
28
|
-
props.onChange(Object.assign(Object.assign({}, data), {
|
|
37
|
+
const onExcludeSummaryRowsChanged = (ExcludeSummaryRows) => {
|
|
38
|
+
props.onChange(Object.assign(Object.assign({}, data), { BadgeStyle: Object.assign(Object.assign({}, data.BadgeStyle), { RowScope: Object.assign(Object.assign({}, data.BadgeStyle.RowScope), { ExcludeSummaryRows }) }) }));
|
|
29
39
|
};
|
|
30
40
|
return (React.createElement(Tabs_1.Tabs, null,
|
|
31
41
|
React.createElement(Tabs_1.Tabs.Tab, null, "Settings"),
|
|
32
42
|
React.createElement(Tabs_1.Tabs.Content, null,
|
|
33
43
|
React.createElement(rebass_1.Flex, { flexDirection: "row" },
|
|
34
44
|
React.createElement(FormLayout_1.default, null,
|
|
35
|
-
React.createElement(FormLayout_1.FormRow, { label: "
|
|
45
|
+
React.createElement(FormLayout_1.FormRow, { label: "Exclude Data Rows:" },
|
|
46
|
+
React.createElement(rebass_1.Flex, { alignItems: "center", marginLeft: 2 },
|
|
47
|
+
React.createElement(CheckBox_1.CheckBox, { "data-name": "exclude-data-rows-checkbox", checked:
|
|
48
|
+
// @ts-ignore
|
|
49
|
+
(_a = data.BadgeStyle.RowScope) === null || _a === void 0 ? void 0 : _a.ExcludeDataRows, onChange: onExcludeDataRowsChanged, mr: 2 }))),
|
|
50
|
+
React.createElement(FormLayout_1.FormRow, { label: "Exclude Grouped Rows:" },
|
|
36
51
|
React.createElement(rebass_1.Flex, { alignItems: "center", marginLeft: 2 },
|
|
37
|
-
React.createElement(CheckBox_1.CheckBox, { "data-name": "
|
|
38
|
-
|
|
52
|
+
React.createElement(CheckBox_1.CheckBox, { "data-name": "exclude-grouped-rows-checkbox", checked:
|
|
53
|
+
// @ts-ignore
|
|
54
|
+
(_b = data.BadgeStyle.RowScope) === null || _b === void 0 ? void 0 : _b.ExcludeGroupedRows, onChange: onExcludeGroupedRowsChanged, mr: 2 }))),
|
|
55
|
+
React.createElement(FormLayout_1.FormRow, { label: "Exclude Row Summaries:" },
|
|
39
56
|
React.createElement(rebass_1.Flex, { alignItems: "center", marginLeft: 2 },
|
|
40
|
-
React.createElement(CheckBox_1.CheckBox, { "data-name": "
|
|
57
|
+
React.createElement(CheckBox_1.CheckBox, { "data-name": "exclude-summary-rows-checkbox", checked:
|
|
58
|
+
// @ts-ignore
|
|
59
|
+
(_c = data.BadgeStyle.RowScope) === null || _c === void 0 ? void 0 : _c.ExcludeSummaryRows, onChange: onExcludeSummaryRowsChanged, mr: 2 }))),
|
|
60
|
+
' ')))));
|
|
41
61
|
};
|
|
42
62
|
exports.StyledColumnWizardSettingsSection = StyledColumnWizardSettingsSection;
|
|
@@ -210,7 +210,7 @@ const StyledColumnWizardStyleSection = (props) => {
|
|
|
210
210
|
};
|
|
211
211
|
const handleRangeValueTypeChange = React.useCallback((rangeValueType) => {
|
|
212
212
|
const ranges = rangeValueType === 'Number'
|
|
213
|
-
? api.
|
|
213
|
+
? api.columnScopeApi.createCellColorRangesForScope(scope)
|
|
214
214
|
: [
|
|
215
215
|
{
|
|
216
216
|
Min: 0,
|
|
@@ -36,14 +36,32 @@ const ActionButtons = (props) => {
|
|
|
36
36
|
})));
|
|
37
37
|
};
|
|
38
38
|
const ReactActionColumnRenderer = (props) => {
|
|
39
|
+
var _a, _b, _c;
|
|
39
40
|
const rerender = (0, useRerender_1.useRerender)();
|
|
40
41
|
const adaptable = props.context.__adaptable;
|
|
41
42
|
const { actionButtons, actionColumn } = adaptable.api.internalApi.getActionButtonsAndActionColumn(props.colDef);
|
|
42
43
|
if (!actionColumn || !actionButtons.length) {
|
|
43
44
|
return null;
|
|
44
45
|
}
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
const isGroupedRow = adaptable.api.gridApi.isGroupRowNode(props.node);
|
|
47
|
+
const isSummaryRow = adaptable.api.gridApi.isSummaryNode(props.node);
|
|
48
|
+
let shouldRender = true;
|
|
49
|
+
if (isGroupedRow) {
|
|
50
|
+
if ((_a = actionColumn.rowScope) === null || _a === void 0 ? void 0 : _a.ExcludeGroupedRows) {
|
|
51
|
+
shouldRender = false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else if (isSummaryRow) {
|
|
55
|
+
if ((_b = actionColumn.rowScope) === null || _b === void 0 ? void 0 : _b.ExcludeSummaryRows) {
|
|
56
|
+
shouldRender = false;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
if ((_c = actionColumn.rowScope) === null || _c === void 0 ? void 0 : _c.ExcludeDataRows) {
|
|
61
|
+
shouldRender = false;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (!shouldRender) {
|
|
47
65
|
return null;
|
|
48
66
|
}
|
|
49
67
|
const pkValue = adaptable.getPrimaryKeyValueFromRowNode(props.node, props.api);
|
|
@@ -63,6 +81,7 @@ exports.ReactActionColumnRenderer = ReactActionColumnRenderer;
|
|
|
63
81
|
class ActionColumnRenderer {
|
|
64
82
|
// gets called once before the renderer is used
|
|
65
83
|
init(params) {
|
|
84
|
+
var _a, _b, _c;
|
|
66
85
|
const adaptable = params.context.__adaptable;
|
|
67
86
|
const { actionButtons, actionColumn } = adaptable.api.internalApi.getActionButtonsAndActionColumn(params.colDef);
|
|
68
87
|
if (!actionColumn || !actionButtons.length) {
|
|
@@ -71,8 +90,25 @@ class ActionColumnRenderer {
|
|
|
71
90
|
// create the cell
|
|
72
91
|
this.eGui = document.createElement('div');
|
|
73
92
|
this.eGui.className = 'ab-ActionColumn';
|
|
74
|
-
|
|
75
|
-
|
|
93
|
+
const isGroupedRow = adaptable.api.gridApi.isGroupRowNode(params.node);
|
|
94
|
+
const isSummaryRow = adaptable.api.gridApi.isSummaryNode(params.node);
|
|
95
|
+
let shouldRender = true;
|
|
96
|
+
if (isGroupedRow) {
|
|
97
|
+
if ((_a = actionColumn.rowScope) === null || _a === void 0 ? void 0 : _a.ExcludeGroupedRows) {
|
|
98
|
+
shouldRender = false;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else if (isSummaryRow) {
|
|
102
|
+
if ((_b = actionColumn.rowScope) === null || _b === void 0 ? void 0 : _b.ExcludeSummaryRows) {
|
|
103
|
+
shouldRender = false;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
if ((_c = actionColumn.rowScope) === null || _c === void 0 ? void 0 : _c.ExcludeDataRows) {
|
|
108
|
+
shouldRender = false;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
if (!shouldRender) {
|
|
76
112
|
this.eGui.innerHTML = '';
|
|
77
113
|
return;
|
|
78
114
|
}
|