@adaptabletools/adaptable 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} +2 -2
- 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 +1 -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.esm.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
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
export const getFormatColumnSettingsViewItems = (formatColumn) => {
|
|
2
|
-
var _a;
|
|
2
|
+
var _a, _b, _c, _d;
|
|
3
3
|
const values = [
|
|
4
4
|
`Cell alignment: ${(_a = formatColumn.CellAlignment) !== null && _a !== void 0 ? _a : 'default'}`,
|
|
5
|
-
`
|
|
6
|
-
`
|
|
5
|
+
`Data Rows: ${((_b = formatColumn.RowScope) === null || _b === void 0 ? void 0 : _b.ExcludeDataRows) ? 'Yes' : 'No'}`,
|
|
6
|
+
`Grouped Rows: ${((_c = formatColumn.RowScope) === null || _c === void 0 ? void 0 : _c.ExcludeGroupedRows) ? 'Yes' : 'No'}`,
|
|
7
|
+
`Row Summaries: ${((_d = formatColumn.RowScope) === null || _d === void 0 ? void 0 : _d.ExcludeSummaryRows) ? 'Yes' : 'No'}`,
|
|
7
8
|
].filter(Boolean);
|
|
8
9
|
return {
|
|
9
10
|
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;
|
|
@@ -233,6 +233,7 @@ export function CreateEmptyFormatColumn() {
|
|
|
233
233
|
Style: CreateEmptyStyle(),
|
|
234
234
|
DisplayFormat: undefined,
|
|
235
235
|
CellAlignment: undefined,
|
|
236
|
+
RowScope: undefined,
|
|
236
237
|
};
|
|
237
238
|
}
|
|
238
239
|
export function CreateEmptyFreeTextColumn(defaultSpecialColumnSettings) {
|
|
@@ -300,7 +301,6 @@ export function CreateEmptyStyledColumn() {
|
|
|
300
301
|
return {
|
|
301
302
|
Uuid: createUuid(),
|
|
302
303
|
ColumnId: EMPTY_STRING,
|
|
303
|
-
IncludeGroupedRows: false,
|
|
304
304
|
};
|
|
305
305
|
}
|
|
306
306
|
export function CreateDefaultStyledColumnBadge() {
|
|
@@ -134,7 +134,7 @@ export class ReportService {
|
|
|
134
134
|
case 'SelectedColumns':
|
|
135
135
|
return '[Selected Columns]';
|
|
136
136
|
case 'ScopeColumns':
|
|
137
|
-
return this.adaptableApi.
|
|
137
|
+
return this.adaptableApi.columnScopeApi.getScopeDescription(report.Scope);
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
GetReportExpressionDescription(report, cols) {
|
|
@@ -197,7 +197,7 @@ export class ReportService {
|
|
|
197
197
|
reportColumns = report.Scope.ColumnIds.map((columnId) => this.adaptableApi.columnApi.getColumnWithColumnId(columnId)).filter((c) => c);
|
|
198
198
|
}
|
|
199
199
|
else {
|
|
200
|
-
reportColumns = this.adaptableApi.
|
|
200
|
+
reportColumns = this.adaptableApi.columnScopeApi.getColumnsForScope(report.Scope);
|
|
201
201
|
}
|
|
202
202
|
break;
|
|
203
203
|
}
|
|
@@ -15,7 +15,7 @@ export class ValidationService {
|
|
|
15
15
|
}
|
|
16
16
|
let editingRules = this.adaptableApi.alertApi.internalApi
|
|
17
17
|
.getAlertDefinitionsWithPreventEdit()
|
|
18
|
-
.filter((v) => this.adaptableApi.
|
|
18
|
+
.filter((v) => this.adaptableApi.columnScopeApi.isColumnInScope(cellDataChangedInfo.column, v.Scope));
|
|
19
19
|
let failedValidations = [];
|
|
20
20
|
if (ArrayExtensions.IsNotEmpty(editingRules)) {
|
|
21
21
|
editingRules.forEach((alertDefinition) => {
|
|
@@ -127,7 +127,7 @@ export class ValidationService {
|
|
|
127
127
|
}
|
|
128
128
|
createValidationDescription(alertDefinition) {
|
|
129
129
|
var _a, _b;
|
|
130
|
-
return (this.adaptableApi.
|
|
130
|
+
return (this.adaptableApi.columnScopeApi.getScopeDescription(alertDefinition.Scope) +
|
|
131
131
|
' ' +
|
|
132
132
|
((_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 ')));
|
|
133
133
|
}
|
|
@@ -9,7 +9,7 @@ export class AlertEntityRow extends React.Component {
|
|
|
9
9
|
let alertDefinition = this.props.adaptableObject;
|
|
10
10
|
let messageTypes = ['Info', 'Success', 'Warning', 'Error'];
|
|
11
11
|
let colItems = cloneObject(this.props.colItems);
|
|
12
|
-
colItems[0].Content = (React.createElement(EntityRowItem, { Content: this.props.api.
|
|
12
|
+
colItems[0].Content = (React.createElement(EntityRowItem, { Content: this.props.api.columnScopeApi.getScopeToString(alertDefinition.Scope) }));
|
|
13
13
|
colItems[1].Content = (React.createElement(EntityRowItem, { Content: this.props.api.alertApi.internalApi.getAlertRuleDescription(alertDefinition) }));
|
|
14
14
|
colItems[2].Content = (React.createElement("div", null,
|
|
15
15
|
React.createElement(DropdownButton, { 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
|
} & (({
|
|
@@ -24,7 +24,7 @@ export const AlertScopeWizardSection = (props) => {
|
|
|
24
24
|
Predicates: [{ PredicateId: 'AnyChange' }],
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
-
if (newData.Rule.ObservableExpression !== undefined && !api.
|
|
27
|
+
if (newData.Rule.ObservableExpression !== undefined && !api.columnScopeApi.scopeIsAll(Scope)) {
|
|
28
28
|
// if it had observable expression and the scope is changed to partial
|
|
29
29
|
// we need to reset to not be an observable expression, as observable is not supported
|
|
30
30
|
// for partial scope
|
|
@@ -32,7 +32,7 @@ export const AlertScopeWizardSection = (props) => {
|
|
|
32
32
|
newData.Rule.BooleanExpression = '';
|
|
33
33
|
}
|
|
34
34
|
if (newData.Rule.AggregatedBooleanExpression !== undefined &&
|
|
35
|
-
!api.
|
|
35
|
+
!api.columnScopeApi.scopeIsAll(Scope)) {
|
|
36
36
|
// if it had aggregation expression and the scope is changed to partial
|
|
37
37
|
// we need to reset to not be an aggregation expression, as aggregation is not supported
|
|
38
38
|
// for partial scope
|
|
@@ -3,7 +3,7 @@ import { Box, Text } from 'rebass';
|
|
|
3
3
|
import { useOnePageAdaptableWizardContext } from '../../Wizard/OnePageAdaptableWizard';
|
|
4
4
|
import { ValueOptionsTags } from '../../Components/ValueSelector';
|
|
5
5
|
export const renderScopeSummary = (data) => {
|
|
6
|
-
const { api: { scopeApi }, } = useOnePageAdaptableWizardContext();
|
|
6
|
+
const { api: { columnScopeApi: scopeApi }, } = useOnePageAdaptableWizardContext();
|
|
7
7
|
const columnsInScope = scopeApi.getColumnsForScope(data.Scope);
|
|
8
8
|
return (React.createElement(React.Fragment, null,
|
|
9
9
|
React.createElement(Box, null,
|
|
@@ -132,7 +132,7 @@ const ModuleView = (props) => {
|
|
|
132
132
|
var _a;
|
|
133
133
|
if ('Scope' in item.abObject) {
|
|
134
134
|
const abColumn = adaptable.api.columnApi.getColumnWithColumnId(props.selectedColumnId);
|
|
135
|
-
return adaptable.api.
|
|
135
|
+
return adaptable.api.columnScopeApi.isColumnInScope(abColumn, item.abObject.Scope);
|
|
136
136
|
}
|
|
137
137
|
if ('ColumnId' in item.abObject) {
|
|
138
138
|
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;
|
|
@@ -42,7 +42,7 @@ const DATA_TYPES_MAP = {
|
|
|
42
42
|
};
|
|
43
43
|
export const renderScopeSummary = (scope, labels) => {
|
|
44
44
|
const adaptable = useAdaptable();
|
|
45
|
-
const scopeApi = adaptable.api.
|
|
45
|
+
const scopeApi = adaptable.api.columnScopeApi;
|
|
46
46
|
const columnsInScope = scopeApi.getColumnsForScope(scope);
|
|
47
47
|
return (React.createElement(React.Fragment, null,
|
|
48
48
|
React.createElement(Box, null,
|
|
@@ -58,7 +58,7 @@ const DATA_TYPES_OPTIONS = Object.values(DATA_TYPES_MAP);
|
|
|
58
58
|
export const NewScopeComponent = (props) => {
|
|
59
59
|
var _a, _b;
|
|
60
60
|
const { api } = useAdaptable();
|
|
61
|
-
const { scopeApi, columnApi } = api;
|
|
61
|
+
const { columnScopeApi: scopeApi, columnApi } = api;
|
|
62
62
|
const [columnsSearchText, setColumnsSearchText] = useState('');
|
|
63
63
|
const scopeColumns = React.useMemo(() => {
|
|
64
64
|
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;
|
|
@@ -114,7 +114,7 @@ export class RangesComponent extends React.Component {
|
|
|
114
114
|
this.props.updateColumnComparison(columnComparison);
|
|
115
115
|
}
|
|
116
116
|
else {
|
|
117
|
-
const ranges = this.props.api.
|
|
117
|
+
const ranges = this.props.api.columnScopeApi.createCellColorRangesForScope(this.props.scope);
|
|
118
118
|
this.setState({
|
|
119
119
|
rangesType: 'Standard',
|
|
120
120
|
});
|
|
@@ -24,7 +24,7 @@ export const CustomSortColumnWizardSection = (props) => {
|
|
|
24
24
|
const columnSortComparers = api.optionsApi.getCustomSortOptions().customSortComparers || [];
|
|
25
25
|
const usedColumnIds = [
|
|
26
26
|
...customSorts.map((customSort) => customSort.ColumnId),
|
|
27
|
-
...columnSortComparers.map((comparer) => api.
|
|
27
|
+
...columnSortComparers.map((comparer) => api.columnScopeApi.getColumnIdsInScope(comparer.scope)),
|
|
28
28
|
];
|
|
29
29
|
// filter out used colum ids, but include the current one
|
|
30
30
|
return sortableColumns.filter((column) => {
|
|
@@ -94,7 +94,10 @@ const buildAdaptableOptions = (mainAdaptableInstance, gridOptions, adaptableCont
|
|
|
94
94
|
{
|
|
95
95
|
columnId: 'undoActionColumn',
|
|
96
96
|
friendlyName: ' ',
|
|
97
|
-
|
|
97
|
+
rowScope: {
|
|
98
|
+
ExcludeGroupedRows: true,
|
|
99
|
+
ExcludeSummaryRows: true,
|
|
100
|
+
},
|
|
98
101
|
actionColumnSettings: { suppressMenu: true, suppressMovable: true },
|
|
99
102
|
actionColumnButton,
|
|
100
103
|
},
|
|
@@ -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;
|
|
@@ -410,7 +410,7 @@ export const FormatColumnFormatWizardSection = (props) => {
|
|
|
410
410
|
update({ DisplayFormat });
|
|
411
411
|
};
|
|
412
412
|
const Type = data.DisplayFormat && data.DisplayFormat.Formatter;
|
|
413
|
-
const customScopedFormatters = customDisplayFormatters.filter((displayFormatter) => adaptable.api.
|
|
413
|
+
const customScopedFormatters = customDisplayFormatters.filter((displayFormatter) => adaptable.api.columnScopeApi.isScopeInScope(data.Scope, displayFormatter.scope));
|
|
414
414
|
if (Type === 'NumberFormatter') {
|
|
415
415
|
return renderNumberFormat(data, update, setFormatOption, customScopedFormatters, formatColumnApi);
|
|
416
416
|
}
|
|
@@ -5,7 +5,7 @@ export function FormatColumnRuleWizardSection(props) {
|
|
|
5
5
|
const { data, api, moduleInfo } = useOnePageAdaptableWizardContext();
|
|
6
6
|
return (React.createElement(EntityRulesEditor, { module: moduleInfo.ModuleName, defaultPredicateId: props.defaultPredicateId,
|
|
7
7
|
// TODO see what is this
|
|
8
|
-
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.
|
|
8
|
+
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: {
|
|
9
9
|
selectPredicate: 'Create a Format Column Rule - to be applied when data changes',
|
|
10
10
|
useBooleanQuery: (React.createElement(React.Fragment, null,
|
|
11
11
|
"Use an BooleanQuery if ",
|
|
@@ -17,7 +17,7 @@ export const FormatColumnScopeWizardSection = (props) => {
|
|
|
17
17
|
}, scope: data.Scope, updateScope: (Scope) => {
|
|
18
18
|
var _a, _b;
|
|
19
19
|
const newData = Object.assign(Object.assign({}, data), { Scope });
|
|
20
|
-
const wholeRow = api.
|
|
20
|
+
const wholeRow = api.columnScopeApi.scopeIsAll(Scope);
|
|
21
21
|
if ((_b = (_a = newData.Rule) === null || _a === void 0 ? void 0 : _a.Predicates) === null || _b === void 0 ? void 0 : _b.length) {
|
|
22
22
|
if (wholeRow) {
|
|
23
23
|
// if scope is whole row, a predicate cannot be present, so we set the rule
|
|
@@ -8,19 +8,24 @@ import { Tag } from '../../../components/Tag';
|
|
|
8
8
|
import { ToggleGroup } from '../../../components/Toggle/ToggleGroup';
|
|
9
9
|
import { Toggle } from '../../../components/Toggle/Toggle';
|
|
10
10
|
export const renderFormatColumnSettingsSummary = (data) => {
|
|
11
|
-
var _a;
|
|
11
|
+
var _a, _b, _c, _d;
|
|
12
12
|
return (React.createElement(Box, { padding: 2 },
|
|
13
13
|
React.createElement(Text, null,
|
|
14
14
|
"Cell alignment ",
|
|
15
15
|
React.createElement(Tag, null, (_a = data.CellAlignment) !== null && _a !== void 0 ? _a : 'default')),
|
|
16
16
|
React.createElement(Text, { mt: 3 },
|
|
17
|
-
"
|
|
18
|
-
React.createElement(Tag, null, data.
|
|
17
|
+
"Data Rows ",
|
|
18
|
+
React.createElement(Tag, null, ((_b = data.RowScope) === null || _b === void 0 ? void 0 : _b.ExcludeDataRows) ? 'no' : 'yes')),
|
|
19
|
+
' ',
|
|
19
20
|
React.createElement(Text, { mt: 3 },
|
|
20
|
-
"
|
|
21
|
-
React.createElement(Tag, null, data.
|
|
21
|
+
"Grouped Rows ",
|
|
22
|
+
React.createElement(Tag, null, ((_c = data.RowScope) === null || _c === void 0 ? void 0 : _c.ExcludeGroupedRows) ? 'no' : 'yes')),
|
|
23
|
+
React.createElement(Text, { mt: 3 },
|
|
24
|
+
"Summary Rows ",
|
|
25
|
+
React.createElement(Tag, null, ((_d = data.RowScope) === null || _d === void 0 ? void 0 : _d.ExcludeSummaryRows) ? 'no' : 'yes'))));
|
|
22
26
|
};
|
|
23
27
|
export const FormatColumnSettingsWizardSection = (props) => {
|
|
28
|
+
var _a, _b, _c;
|
|
24
29
|
const { data } = useOnePageAdaptableWizardContext();
|
|
25
30
|
const onCellAlignmentSelectChanged = (CellAlignment) => {
|
|
26
31
|
const newData = Object.assign(Object.assign({}, data), { CellAlignment });
|
|
@@ -29,11 +34,14 @@ export const FormatColumnSettingsWizardSection = (props) => {
|
|
|
29
34
|
}
|
|
30
35
|
props.onChange(newData);
|
|
31
36
|
};
|
|
32
|
-
const
|
|
33
|
-
props.onChange(Object.assign(Object.assign({}, data), {
|
|
37
|
+
const onExcludeDataRowsChanged = (ExcludeDataRows) => {
|
|
38
|
+
props.onChange(Object.assign(Object.assign({}, data), { RowScope: Object.assign(Object.assign({}, data.RowScope), { ExcludeDataRows }) }));
|
|
39
|
+
};
|
|
40
|
+
const onExcludeGroupedRowsChanged = (ExcludeGroupedRows) => {
|
|
41
|
+
props.onChange(Object.assign(Object.assign({}, data), { RowScope: Object.assign(Object.assign({}, data.RowScope), { ExcludeGroupedRows }) }));
|
|
34
42
|
};
|
|
35
|
-
const
|
|
36
|
-
props.onChange(Object.assign(Object.assign({}, data), {
|
|
43
|
+
const onExcludeSummaryRowsChanged = (ExcludeSummaryRows) => {
|
|
44
|
+
props.onChange(Object.assign(Object.assign({}, data), { RowScope: Object.assign(Object.assign({}, data.RowScope), { ExcludeSummaryRows }) }));
|
|
37
45
|
};
|
|
38
46
|
return (React.createElement(Tabs, null,
|
|
39
47
|
React.createElement(Tabs.Tab, null, "Settings"),
|
|
@@ -51,10 +59,13 @@ export const FormatColumnSettingsWizardSection = (props) => {
|
|
|
51
59
|
React.createElement(Toggle, { icon: "align-right", pressed: data.CellAlignment === 'Right', onPressedChange: (pressed) => pressed
|
|
52
60
|
? onCellAlignmentSelectChanged('Right')
|
|
53
61
|
: onCellAlignmentSelectChanged(null) }))),
|
|
54
|
-
React.createElement(FormRow, { label: "
|
|
62
|
+
React.createElement(FormRow, { label: "Exclude Data Rows:" },
|
|
63
|
+
React.createElement(Flex, { alignItems: "center", marginLeft: 2 },
|
|
64
|
+
React.createElement(CheckBox, { "data-name": "exclude-data-rows-checkbox", checked: (_a = data.RowScope) === null || _a === void 0 ? void 0 : _a.ExcludeDataRows, onChange: onExcludeDataRowsChanged, mr: 2 }))),
|
|
65
|
+
React.createElement(FormRow, { label: "Exclude Grouped Rows:" },
|
|
55
66
|
React.createElement(Flex, { alignItems: "center", marginLeft: 2 },
|
|
56
|
-
React.createElement(CheckBox, { "data-name": "
|
|
57
|
-
React.createElement(FormRow, { label: "
|
|
67
|
+
React.createElement(CheckBox, { "data-name": "exclude-grouped-rows-checkbox", checked: (_b = data.RowScope) === null || _b === void 0 ? void 0 : _b.ExcludeGroupedRows, onChange: onExcludeGroupedRowsChanged, mr: 2 }))),
|
|
68
|
+
React.createElement(FormRow, { label: "Exclude Row Summaries:" },
|
|
58
69
|
React.createElement(Flex, { alignItems: "center", marginLeft: 2 },
|
|
59
|
-
React.createElement(CheckBox, { "data-name": "
|
|
70
|
+
React.createElement(CheckBox, { "data-name": "exclude-summary-rows-checkbox", checked: (_c = data.RowScope) === null || _c === void 0 ? void 0 : _c.ExcludeSummaryRows, onChange: onExcludeSummaryRowsChanged, mr: 2 }))))))));
|
|
60
71
|
};
|
|
@@ -9,7 +9,7 @@ export const isFormatColumnStyleValid = (data, api) => {
|
|
|
9
9
|
UIHelper.IsEmptyStyle(data.Style) &&
|
|
10
10
|
data.DisplayFormat === undefined &&
|
|
11
11
|
data.CellAlignment === undefined &&
|
|
12
|
-
!api.
|
|
12
|
+
!api.columnScopeApi.isSingleBooleanColumnScope(data.Scope)) {
|
|
13
13
|
return 'No format applied';
|
|
14
14
|
}
|
|
15
15
|
return true;
|
|
@@ -19,12 +19,12 @@ export class PlusMinusSummaryComponent extends React.Component {
|
|
|
19
19
|
render() {
|
|
20
20
|
let moduleSummaries = [];
|
|
21
21
|
// title row
|
|
22
|
-
let titleRow = (React.createElement(ModuleHeader, { key: this.props.moduleInfo.FriendlyName, moduleInfo: this.props.moduleInfo, moduleSummary: Helper.returnItemCount(this.props.PlusMinusNudges.filter((item) => this.props.api.
|
|
22
|
+
let titleRow = (React.createElement(ModuleHeader, { key: this.props.moduleInfo.FriendlyName, moduleInfo: this.props.moduleInfo, moduleSummary: 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 }));
|
|
23
23
|
moduleSummaries.push(titleRow);
|
|
24
24
|
// existing items
|
|
25
25
|
this.props.PlusMinusNudges.map((item, index) => {
|
|
26
26
|
var _a;
|
|
27
|
-
if (this.props.api.
|
|
27
|
+
if (this.props.api.columnScopeApi.isColumnInScopeColumns(this.props.summarisedColumn, item.Scope)) {
|
|
28
28
|
let detailRow = (React.createElement(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 }));
|
|
29
29
|
moduleSummaries.push(detailRow);
|
|
30
30
|
}
|
|
@@ -55,7 +55,7 @@ export const StyledColumnWizardColumnSection = (props) => {
|
|
|
55
55
|
}, [data]);
|
|
56
56
|
const handleColumnsChange = (columnIds) => {
|
|
57
57
|
const columnId = columnIds[0];
|
|
58
|
-
const emptyRanges = api.
|
|
58
|
+
const emptyRanges = api.columnScopeApi.createCellColorRangesForScope({
|
|
59
59
|
ColumnIds: [columnId],
|
|
60
60
|
});
|
|
61
61
|
const newStyledColumn = Object.assign(Object.assign({}, data), { ColumnId: columnId });
|
|
@@ -6,31 +6,51 @@ import { Tabs } from '../../../components/Tabs';
|
|
|
6
6
|
import { Tag } from '../../../components/Tag';
|
|
7
7
|
import { useOnePageAdaptableWizardContext } from '../../Wizard/OnePageAdaptableWizard';
|
|
8
8
|
export const renderStyledColumnWizardSettingsSummary = (data) => {
|
|
9
|
+
var _a, _b, _c;
|
|
10
|
+
const badgeStyle = data;
|
|
9
11
|
return (React.createElement(Box, { padding: 2 },
|
|
10
12
|
React.createElement(Text, { mt: 3 },
|
|
11
|
-
"
|
|
12
|
-
React.createElement(Tag, null,
|
|
13
|
+
"Data Rows ",
|
|
14
|
+
React.createElement(Tag, null, ((_a = badgeStyle.RowScope) === null || _a === void 0 ? void 0 : _a.ExcludeDataRows) ? 'no' : 'yes')),
|
|
15
|
+
' ',
|
|
13
16
|
React.createElement(Text, { mt: 3 },
|
|
14
|
-
"
|
|
15
|
-
React.createElement(Tag, null,
|
|
17
|
+
"Grouped Rows ",
|
|
18
|
+
React.createElement(Tag, null, ((_b = badgeStyle.RowScope) === null || _b === void 0 ? void 0 : _b.ExcludeGroupedRows) ? 'no' : 'yes')),
|
|
19
|
+
React.createElement(Text, { mt: 3 },
|
|
20
|
+
"Summary Rows ",
|
|
21
|
+
React.createElement(Tag, null, ((_c = badgeStyle.RowScope) === null || _c === void 0 ? void 0 : _c.ExcludeSummaryRows) ? 'no' : 'yes'))));
|
|
16
22
|
};
|
|
17
23
|
export const StyledColumnWizardSettingsSection = (props) => {
|
|
24
|
+
var _a, _b, _c;
|
|
18
25
|
const { data } = useOnePageAdaptableWizardContext();
|
|
19
|
-
const
|
|
20
|
-
props.onChange(Object.assign(Object.assign({}, data), {
|
|
26
|
+
const onExcludeDataRowsChanged = (ExcludeDataRows) => {
|
|
27
|
+
props.onChange(Object.assign(Object.assign({}, data), { BadgeStyle: Object.assign(Object.assign({}, data.BadgeStyle), { RowScope: Object.assign(Object.assign({}, data.BadgeStyle.RowScope), { ExcludeDataRows }) }) }));
|
|
28
|
+
};
|
|
29
|
+
const onExcludeGroupedRowsChanged = (ExcludeGroupedRows) => {
|
|
30
|
+
props.onChange(Object.assign(Object.assign({}, data), { BadgeStyle: Object.assign(Object.assign({}, data.BadgeStyle), { RowScope: Object.assign(Object.assign({}, data.BadgeStyle.RowScope), { ExcludeGroupedRows }) }) }));
|
|
21
31
|
};
|
|
22
|
-
const
|
|
23
|
-
props.onChange(Object.assign(Object.assign({}, data), {
|
|
32
|
+
const onExcludeSummaryRowsChanged = (ExcludeSummaryRows) => {
|
|
33
|
+
props.onChange(Object.assign(Object.assign({}, data), { BadgeStyle: Object.assign(Object.assign({}, data.BadgeStyle), { RowScope: Object.assign(Object.assign({}, data.BadgeStyle.RowScope), { ExcludeSummaryRows }) }) }));
|
|
24
34
|
};
|
|
25
35
|
return (React.createElement(Tabs, null,
|
|
26
36
|
React.createElement(Tabs.Tab, null, "Settings"),
|
|
27
37
|
React.createElement(Tabs.Content, null,
|
|
28
38
|
React.createElement(Flex, { flexDirection: "row" },
|
|
29
39
|
React.createElement(FormLayout, null,
|
|
30
|
-
React.createElement(FormRow, { label: "
|
|
40
|
+
React.createElement(FormRow, { label: "Exclude Data Rows:" },
|
|
41
|
+
React.createElement(Flex, { alignItems: "center", marginLeft: 2 },
|
|
42
|
+
React.createElement(CheckBox, { "data-name": "exclude-data-rows-checkbox", checked:
|
|
43
|
+
// @ts-ignore
|
|
44
|
+
(_a = data.BadgeStyle.RowScope) === null || _a === void 0 ? void 0 : _a.ExcludeDataRows, onChange: onExcludeDataRowsChanged, mr: 2 }))),
|
|
45
|
+
React.createElement(FormRow, { label: "Exclude Grouped Rows:" },
|
|
31
46
|
React.createElement(Flex, { alignItems: "center", marginLeft: 2 },
|
|
32
|
-
React.createElement(CheckBox, { "data-name": "
|
|
33
|
-
|
|
47
|
+
React.createElement(CheckBox, { "data-name": "exclude-grouped-rows-checkbox", checked:
|
|
48
|
+
// @ts-ignore
|
|
49
|
+
(_b = data.BadgeStyle.RowScope) === null || _b === void 0 ? void 0 : _b.ExcludeGroupedRows, onChange: onExcludeGroupedRowsChanged, mr: 2 }))),
|
|
50
|
+
React.createElement(FormRow, { label: "Exclude Row Summaries:" },
|
|
34
51
|
React.createElement(Flex, { alignItems: "center", marginLeft: 2 },
|
|
35
|
-
React.createElement(CheckBox, { "data-name": "
|
|
52
|
+
React.createElement(CheckBox, { "data-name": "exclude-summary-rows-checkbox", checked:
|
|
53
|
+
// @ts-ignore
|
|
54
|
+
(_c = data.BadgeStyle.RowScope) === null || _c === void 0 ? void 0 : _c.ExcludeSummaryRows, onChange: onExcludeSummaryRowsChanged, mr: 2 }))),
|
|
55
|
+
' ')))));
|
|
36
56
|
};
|
|
@@ -204,7 +204,7 @@ export const StyledColumnWizardStyleSection = (props) => {
|
|
|
204
204
|
};
|
|
205
205
|
const handleRangeValueTypeChange = React.useCallback((rangeValueType) => {
|
|
206
206
|
const ranges = rangeValueType === 'Number'
|
|
207
|
-
? api.
|
|
207
|
+
? api.columnScopeApi.createCellColorRangesForScope(scope)
|
|
208
208
|
: [
|
|
209
209
|
{
|
|
210
210
|
Min: 0,
|
|
@@ -32,14 +32,32 @@ const ActionButtons = (props) => {
|
|
|
32
32
|
})));
|
|
33
33
|
};
|
|
34
34
|
export const ReactActionColumnRenderer = (props) => {
|
|
35
|
+
var _a, _b, _c;
|
|
35
36
|
const rerender = useRerender();
|
|
36
37
|
const adaptable = props.context.__adaptable;
|
|
37
38
|
const { actionButtons, actionColumn } = adaptable.api.internalApi.getActionButtonsAndActionColumn(props.colDef);
|
|
38
39
|
if (!actionColumn || !actionButtons.length) {
|
|
39
40
|
return null;
|
|
40
41
|
}
|
|
41
|
-
|
|
42
|
-
|
|
42
|
+
const isGroupedRow = adaptable.api.gridApi.isGroupRowNode(props.node);
|
|
43
|
+
const isSummaryRow = adaptable.api.gridApi.isSummaryNode(props.node);
|
|
44
|
+
let shouldRender = true;
|
|
45
|
+
if (isGroupedRow) {
|
|
46
|
+
if ((_a = actionColumn.rowScope) === null || _a === void 0 ? void 0 : _a.ExcludeGroupedRows) {
|
|
47
|
+
shouldRender = false;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else if (isSummaryRow) {
|
|
51
|
+
if ((_b = actionColumn.rowScope) === null || _b === void 0 ? void 0 : _b.ExcludeSummaryRows) {
|
|
52
|
+
shouldRender = false;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
if ((_c = actionColumn.rowScope) === null || _c === void 0 ? void 0 : _c.ExcludeDataRows) {
|
|
57
|
+
shouldRender = false;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (!shouldRender) {
|
|
43
61
|
return null;
|
|
44
62
|
}
|
|
45
63
|
const pkValue = adaptable.getPrimaryKeyValueFromRowNode(props.node, props.api);
|
|
@@ -58,6 +76,7 @@ export const ReactActionColumnRenderer = (props) => {
|
|
|
58
76
|
export class ActionColumnRenderer {
|
|
59
77
|
// gets called once before the renderer is used
|
|
60
78
|
init(params) {
|
|
79
|
+
var _a, _b, _c;
|
|
61
80
|
const adaptable = params.context.__adaptable;
|
|
62
81
|
const { actionButtons, actionColumn } = adaptable.api.internalApi.getActionButtonsAndActionColumn(params.colDef);
|
|
63
82
|
if (!actionColumn || !actionButtons.length) {
|
|
@@ -66,8 +85,25 @@ export class ActionColumnRenderer {
|
|
|
66
85
|
// create the cell
|
|
67
86
|
this.eGui = document.createElement('div');
|
|
68
87
|
this.eGui.className = 'ab-ActionColumn';
|
|
69
|
-
|
|
70
|
-
|
|
88
|
+
const isGroupedRow = adaptable.api.gridApi.isGroupRowNode(params.node);
|
|
89
|
+
const isSummaryRow = adaptable.api.gridApi.isSummaryNode(params.node);
|
|
90
|
+
let shouldRender = true;
|
|
91
|
+
if (isGroupedRow) {
|
|
92
|
+
if ((_a = actionColumn.rowScope) === null || _a === void 0 ? void 0 : _a.ExcludeGroupedRows) {
|
|
93
|
+
shouldRender = false;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
else if (isSummaryRow) {
|
|
97
|
+
if ((_b = actionColumn.rowScope) === null || _b === void 0 ? void 0 : _b.ExcludeSummaryRows) {
|
|
98
|
+
shouldRender = false;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
if ((_c = actionColumn.rowScope) === null || _c === void 0 ? void 0 : _c.ExcludeDataRows) {
|
|
103
|
+
shouldRender = false;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (!shouldRender) {
|
|
71
107
|
this.eGui.innerHTML = '';
|
|
72
108
|
return;
|
|
73
109
|
}
|