@adaptabletools/adaptable-cjs 19.0.1 → 19.0.3
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/AdaptableInterfaces/IAdaptable.d.ts +1 -1
- package/src/AdaptableOptions/ActionRowOptions.d.ts +2 -2
- package/src/AdaptableOptions/DataChangeHistoryOptions.d.ts +2 -2
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +6 -2
- package/src/Api/ColumnApi.d.ts +14 -15
- package/src/Api/DataChangeHistoryApi.d.ts +5 -0
- package/src/Api/Events/GridSorted.d.ts +3 -3
- package/src/Api/GridApi.d.ts +63 -2
- package/src/Api/Implementation/ColumnApiImpl.d.ts +2 -2
- package/src/Api/Implementation/ColumnApiImpl.js +13 -30
- package/src/Api/Implementation/DataChangeHistoryApiImpl.d.ts +2 -0
- package/src/Api/Implementation/DataChangeHistoryApiImpl.js +5 -0
- package/src/Api/Implementation/GridApiImpl.d.ts +13 -2
- package/src/Api/Implementation/GridApiImpl.js +114 -1
- package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +1 -0
- package/src/Api/Implementation/UserInterfaceApiImpl.js +3 -0
- package/src/Api/Internal/ActionRowInternalApi.d.ts +1 -1
- package/src/Api/Internal/ActionRowInternalApi.js +10 -8
- package/src/Api/Internal/GridFilterInternalApi.js +4 -1
- package/src/Api/UserInterfaceApi.d.ts +6 -2
- package/src/Utilities/license/hashing.js +1 -1
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +1 -0
- package/src/agGrid/ActionColumnRenderer.d.ts +2 -0
- package/src/agGrid/ActionColumnRenderer.js +29 -3
- package/src/agGrid/AdaptableAgGrid.d.ts +3 -1
- package/src/agGrid/AdaptableAgGrid.js +24 -7
- package/src/agGrid/AgGridAdapter.d.ts +1 -0
- package/src/agGrid/AgGridAdapter.js +12 -0
- package/src/agGrid/AgGridColumnAdapter.d.ts +2 -0
- package/src/agGrid/AgGridColumnAdapter.js +24 -12
- package/src/agGrid/defaultAdaptableOptions.js +1 -0
- package/src/env.js +2 -2
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/types.d.ts +2 -2
- package/tsconfig.cjs.tsbuildinfo +1 -1
- package/src/agGrid/CheckboxRenderer.d.ts +0 -16
- package/src/agGrid/CheckboxRenderer.js +0 -94
|
@@ -55,11 +55,15 @@ export interface UserInterfaceApi {
|
|
|
55
55
|
*/
|
|
56
56
|
getEditLookUpValuesForEditLookUpItem(editLookUpItem: EditLookUpPermittedValues, gridCell: GridCell): any[] | undefined;
|
|
57
57
|
/**
|
|
58
|
-
* Returns Style set for Editable
|
|
58
|
+
* Returns Style set for Editable Cells
|
|
59
59
|
*/
|
|
60
60
|
getEditableCellStyle(): AdaptableStyle | undefined;
|
|
61
61
|
/**
|
|
62
|
-
* Returns Style
|
|
62
|
+
* Returns Style for Cells that have been edited
|
|
63
|
+
*/
|
|
64
|
+
getEditedCellStyle(): AdaptableStyle | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* Returns Style set for ReadOnly Cells
|
|
63
67
|
*/
|
|
64
68
|
getReadOnlyCellStyle(): AdaptableStyle | undefined;
|
|
65
69
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.compute_string=void 0;const r=3988292384;function t(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.compute_string=void 0;const r=3988292384;function t(r=3988292384){var t,e,n,o=new Array;for(t=0;t<256;t++){for(n=t,e=8;e>0;e--)1&~n?n>>>=1:n=n>>>1^r;o[t]=n}return o}function e(){return 4294967295}function n(r,t,e){return t=t>>>8^r[e^255&t]}function o(r){return r=(r=~r)<0?4294967295+r+1:r}function u(r,u=3988292384){var c,i=t(u),f=0;for(f=e(),c=0;c<r.length;c++)f=n(i,f,r.charCodeAt(c));return`${f=o(f)}`}exports.compute_string=u;
|
|
@@ -43,6 +43,7 @@ const GridInfoPopup = (props) => {
|
|
|
43
43
|
returnRows.push(createReadOnlyColItem(colItems, 'Column Filters', columnFilterDescription));
|
|
44
44
|
returnRows.push(createReadOnlyColItem(colItems, 'Grid Filter', gridFilterExpression));
|
|
45
45
|
returnRows.push(createReadOnlyColItem(colItems, 'All Rows', props.api.gridApi.getRowCount()));
|
|
46
|
+
returnRows.push(createReadOnlyColItem(colItems, 'Visible Rows', props.api.gridApi.getVisibleRowCount()));
|
|
46
47
|
returnRows.push(createReadOnlyColItem(colItems, 'Selected Rows', selectedRowInfo === null || selectedRowInfo === void 0 ? void 0 : selectedRowInfo.gridRows.length));
|
|
47
48
|
returnRows.push(createReadOnlyColItem(colItems, 'Visible Selected Rows', selectedRowInfo === null || selectedRowInfo === void 0 ? void 0 : selectedRowInfo.gridRows.filter((gr) => { var _a; return ((_a = gr.rowNode) === null || _a === void 0 ? void 0 : _a.displayed) == true; }).length));
|
|
48
49
|
returnRows.push(createReadOnlyColItem(colItems, 'All Columns', props.api.gridApi.getColumnCount()));
|
|
@@ -7,6 +7,8 @@ export declare class ActionColumnRenderer implements ICellRendererComp {
|
|
|
7
7
|
private eGui;
|
|
8
8
|
private eventListener;
|
|
9
9
|
private unmountReactRoot?;
|
|
10
|
+
private layoutSwitchUnsubscribe?;
|
|
11
|
+
private actionButtons;
|
|
10
12
|
init(params: ActionColumnCellRendererParams): void;
|
|
11
13
|
render(): void;
|
|
12
14
|
getGui(): HTMLElement;
|
|
@@ -6,6 +6,7 @@ const SimpleButton_1 = tslib_1.__importDefault(require("../components/SimpleButt
|
|
|
6
6
|
const React = tslib_1.__importStar(require("react"));
|
|
7
7
|
const useRerender_1 = require("../components/utils/useRerender");
|
|
8
8
|
const renderWithAdaptableContext_1 = require("../View/renderWithAdaptableContext");
|
|
9
|
+
const LayoutRedux_1 = require("../Redux/ActionsReducers/LayoutRedux");
|
|
9
10
|
const ActionButtons = (props) => {
|
|
10
11
|
const { buttons, adaptableApi, context, rerender } = props;
|
|
11
12
|
return (React.createElement(React.Fragment, null, buttons.map((button, index) => {
|
|
@@ -69,6 +70,20 @@ const ReactActionColumnRenderer = (props) => {
|
|
|
69
70
|
if (!shouldRender) {
|
|
70
71
|
return null;
|
|
71
72
|
}
|
|
73
|
+
// subscribe to the LayoutChange event and rerender on change
|
|
74
|
+
const unsubscribe = adaptable.api.eventApi.on('AdaptableStateChanged', (eventInfo) => {
|
|
75
|
+
if (eventInfo.actionName === LayoutRedux_1.LAYOUT_SELECT) {
|
|
76
|
+
if (eventInfo.oldState.Layout.CurrentLayout !== eventInfo.newState.Layout.CurrentLayout) {
|
|
77
|
+
rerender();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
// unsubscribe on unmount
|
|
82
|
+
React.useEffect(() => {
|
|
83
|
+
return () => {
|
|
84
|
+
unsubscribe();
|
|
85
|
+
};
|
|
86
|
+
}, []);
|
|
72
87
|
const pkValue = adaptable.getPrimaryKeyValueFromRowNode(props.node, props.api);
|
|
73
88
|
const buttonContext = Object.assign(Object.assign({ actionColumn, primaryKeyValue: pkValue, rowNode: props.node }, adaptable.api.internalApi.buildBaseContext()), { data: props.data });
|
|
74
89
|
return (React.createElement("div", { className: "ab-ActionColumn" },
|
|
@@ -88,6 +103,7 @@ class ActionColumnRenderer {
|
|
|
88
103
|
if (!actionColumn || !actionButtons.length) {
|
|
89
104
|
return;
|
|
90
105
|
}
|
|
106
|
+
this.actionButtons = actionButtons;
|
|
91
107
|
// create the cell
|
|
92
108
|
this.eGui = document.createElement('div');
|
|
93
109
|
this.eGui.className = 'ab-ActionColumn';
|
|
@@ -119,13 +135,22 @@ class ActionColumnRenderer {
|
|
|
119
135
|
const eGui = this.eGui;
|
|
120
136
|
const doRender = () => {
|
|
121
137
|
this.unmountReactRoot = adaptable.renderReactRoot((0, renderWithAdaptableContext_1.renderWithAdaptableContext)(ActionButtons({
|
|
122
|
-
buttons: actionButtons,
|
|
138
|
+
buttons: this.actionButtons,
|
|
123
139
|
context: buttonContext,
|
|
124
140
|
rerender: doRender,
|
|
125
141
|
adaptableApi: adaptable.api,
|
|
126
142
|
}), adaptable), eGui);
|
|
127
143
|
};
|
|
128
144
|
this.render = doRender;
|
|
145
|
+
this.layoutSwitchUnsubscribe = adaptable.api.eventApi.on('AdaptableStateChanged', (eventInfo) => {
|
|
146
|
+
if (eventInfo.actionName === LayoutRedux_1.LAYOUT_SELECT) {
|
|
147
|
+
if (eventInfo.oldState.Layout.CurrentLayout !== eventInfo.newState.Layout.CurrentLayout) {
|
|
148
|
+
const { actionButtons: freshActionButtons } = adaptable.api.internalApi.getActionButtonsAndActionColumn(params.colDef);
|
|
149
|
+
this.actionButtons = freshActionButtons;
|
|
150
|
+
doRender();
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
});
|
|
129
154
|
doRender();
|
|
130
155
|
}
|
|
131
156
|
// defined on init
|
|
@@ -143,8 +168,9 @@ class ActionColumnRenderer {
|
|
|
143
168
|
}
|
|
144
169
|
// gets called when the cell is removed from the grid
|
|
145
170
|
destroy() {
|
|
146
|
-
var _a;
|
|
147
|
-
(_a = this.
|
|
171
|
+
var _a, _b;
|
|
172
|
+
(_a = this.layoutSwitchUnsubscribe) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
173
|
+
(_b = this.unmountReactRoot) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
148
174
|
// do cleanup, remove event listener from button
|
|
149
175
|
if (this.eGui) {
|
|
150
176
|
this.eGui.removeEventListener('click', this.eventListener);
|
|
@@ -34,6 +34,7 @@ interface AdaptableInitInternalConfig<TData = any> {
|
|
|
34
34
|
gridOptions: GridOptions<TData>;
|
|
35
35
|
modules?: Module[];
|
|
36
36
|
isDetailGrid?: boolean;
|
|
37
|
+
isDetailGridForRowIndex?: number;
|
|
37
38
|
/**
|
|
38
39
|
* Adaptable init hook for rendering the React/Angular AG Grid component
|
|
39
40
|
*/
|
|
@@ -61,6 +62,7 @@ export declare class AdaptableAgGrid implements IAdaptable {
|
|
|
61
62
|
_rawAdaptableOptions: AdaptableOptions;
|
|
62
63
|
adaptableOptions: AdaptableOptions;
|
|
63
64
|
_isDetailGrid: boolean;
|
|
65
|
+
_isDetailGridForIndex?: number;
|
|
64
66
|
agGridOptionsService: AgGridOptionsService;
|
|
65
67
|
agGridAdapter: AgGridAdapter;
|
|
66
68
|
agGridColumnAdapter: AgGridColumnAdapter;
|
|
@@ -249,7 +251,6 @@ export declare class AdaptableAgGrid implements IAdaptable {
|
|
|
249
251
|
getRowNodeByIndex(index: number): IRowNode;
|
|
250
252
|
getAgGridStatusPanels(): import("@ag-grid-community/core").StatusPanelDef[];
|
|
251
253
|
setDataValue(value: any, column: AdaptableColumn, primaryKeyValue: any, rowNode?: IRowNode): void;
|
|
252
|
-
isCellEditable(rowNode: IRowNode, column: Column): boolean;
|
|
253
254
|
forAllRowNodesDo(func: (rowNode: IRowNode, rowIndex: number) => void, config?: {
|
|
254
255
|
includeGroupRows?: boolean;
|
|
255
256
|
filterFn?: (rowNode: IRowNode) => boolean;
|
|
@@ -285,6 +286,7 @@ export declare class AdaptableAgGrid implements IAdaptable {
|
|
|
285
286
|
updateChart(chart: ChartDefinition): void;
|
|
286
287
|
getChartModels(): import("@ag-grid-community/core").ChartModel[];
|
|
287
288
|
getRowCount(): number;
|
|
289
|
+
getVisibleRowCount(): number;
|
|
288
290
|
getColumnCount(): number;
|
|
289
291
|
getVisibleColumnCount(): number;
|
|
290
292
|
isGridGroupable(): boolean;
|
|
@@ -273,6 +273,7 @@ class AdaptableAgGrid {
|
|
|
273
273
|
var _a, _b;
|
|
274
274
|
// Phase 1: Preprocess Adaptable Options
|
|
275
275
|
this._isDetailGrid = config.isDetailGrid === true;
|
|
276
|
+
this._isDetailGridForIndex = config.isDetailGridForRowIndex;
|
|
276
277
|
this.lifecycleState = 'preprocessOptions';
|
|
277
278
|
this._rawAdaptableOptions = config.adaptableOptions;
|
|
278
279
|
if (StringExtensions_1.default.IsNullOrEmptyOrWhiteSpace(this._rawAdaptableOptions.adaptableId)) {
|
|
@@ -588,7 +589,10 @@ class AdaptableAgGrid {
|
|
|
588
589
|
* `gridId`
|
|
589
590
|
*/
|
|
590
591
|
this.agGridOptionsService.setGridOptionsProperty(gridOptions, 'gridId', (original_gridId) => {
|
|
591
|
-
|
|
592
|
+
let agGridId = original_gridId || this.adaptableOptions.adaptableId;
|
|
593
|
+
if (this._isDetailGridForIndex != null) {
|
|
594
|
+
agGridId = `${agGridId}_detail-${this._isDetailGridForIndex}`;
|
|
595
|
+
}
|
|
592
596
|
this._agGridId = agGridId;
|
|
593
597
|
return agGridId;
|
|
594
598
|
});
|
|
@@ -982,6 +986,14 @@ class AdaptableAgGrid {
|
|
|
982
986
|
original_processPivotResultColDef === null || original_processPivotResultColDef === void 0 ? void 0 : original_processPivotResultColDef(colDef);
|
|
983
987
|
};
|
|
984
988
|
});
|
|
989
|
+
/**
|
|
990
|
+
* `maintainColumnOrder`
|
|
991
|
+
*/
|
|
992
|
+
this.agGridOptionsService.setGridOptionsProperty(gridOptions, 'maintainColumnOrder', () => {
|
|
993
|
+
// see https://www.ag-grid.com/javascript-data-grid/column-updating-definitions/#maintain-column-order
|
|
994
|
+
// we want to always maintain the column order (provided by Adaptable Layouts), even when column definitions change
|
|
995
|
+
return true;
|
|
996
|
+
});
|
|
985
997
|
/**
|
|
986
998
|
* `columnTypes`
|
|
987
999
|
*/
|
|
@@ -1933,6 +1945,7 @@ class AdaptableAgGrid {
|
|
|
1933
1945
|
return rawValue;
|
|
1934
1946
|
}
|
|
1935
1947
|
updateColumnModelAndRefreshGrid(config) {
|
|
1948
|
+
this.logger.info(`Updating Column Model and Refreshing Grid ${config ? `with config ${JSON.stringify(config)}` : ''}`);
|
|
1936
1949
|
if (config === null || config === void 0 ? void 0 : config.preemptiveColumnStateRefresh) {
|
|
1937
1950
|
this.deriveAdaptableColumnStateFromAgGrid();
|
|
1938
1951
|
}
|
|
@@ -2466,7 +2479,7 @@ class AdaptableAgGrid {
|
|
|
2466
2479
|
let dataType = column.dataType;
|
|
2467
2480
|
newValue = dataType == 'Number' ? Number(value) : value;
|
|
2468
2481
|
if (dataType == undefined) {
|
|
2469
|
-
return; // no point continuing as probably a wrong
|
|
2482
|
+
return; // no point continuing as probably a wrong column
|
|
2470
2483
|
}
|
|
2471
2484
|
if (rowNode) {
|
|
2472
2485
|
rowNode.setDataValue(column.columnId, newValue);
|
|
@@ -2492,10 +2505,6 @@ class AdaptableAgGrid {
|
|
|
2492
2505
|
}
|
|
2493
2506
|
}
|
|
2494
2507
|
}
|
|
2495
|
-
isCellEditable(rowNode, column) {
|
|
2496
|
-
// it's safe to rely on the AG Grid implementation because we override the colDef.editable property, which is in this case the single source of truth
|
|
2497
|
-
return column === null || column === void 0 ? void 0 : column.isCellEditable(rowNode);
|
|
2498
|
-
}
|
|
2499
2508
|
forAllRowNodesDo(func, config) {
|
|
2500
2509
|
this.agGridAdapter.getAgGridApi().forEachNode((rowNode, rowIndex) => {
|
|
2501
2510
|
const includeGroupRows = (config === null || config === void 0 ? void 0 : config.includeGroupRows) || !this.isGroupRowNode(rowNode);
|
|
@@ -2696,6 +2705,10 @@ class AdaptableAgGrid {
|
|
|
2696
2705
|
return this.agGridAdapter.getAgGridApi().getChartModels();
|
|
2697
2706
|
}
|
|
2698
2707
|
getRowCount() {
|
|
2708
|
+
const allNodes = this.getAllRowNodes({ includeGroupRows: false });
|
|
2709
|
+
return allNodes.length;
|
|
2710
|
+
}
|
|
2711
|
+
getVisibleRowCount() {
|
|
2699
2712
|
return this.agGridAdapter.getAgGridApi().getDisplayedRowCount();
|
|
2700
2713
|
}
|
|
2701
2714
|
getColumnCount() {
|
|
@@ -3438,7 +3451,11 @@ class AdaptableAgGrid {
|
|
|
3438
3451
|
});
|
|
3439
3452
|
perfApplyColumnState.end();
|
|
3440
3453
|
this.api.gridApi.setColumnSorts(layout.ColumnSorts);
|
|
3441
|
-
|
|
3454
|
+
if (shouldUpdatePivoted) {
|
|
3455
|
+
// simply setting PivotColumns fires an AG Grid 'modelChanged' event which cascades to a full row reload in SSRM
|
|
3456
|
+
// this includes the case when we simply set an empty array of pivot columns
|
|
3457
|
+
this.agGridAdapter.getAgGridApi().setPivotColumns(layout.PivotColumns || []);
|
|
3458
|
+
}
|
|
3442
3459
|
// aggrid 25.1.0 introduced a bug such that a layout that has a grouped column, if the column has enableRowGroup: true but not rowGroup: true
|
|
3443
3460
|
// the group column is not possitioned correctly at the start of the layout
|
|
3444
3461
|
// see the test in layout/layout-switch/"should be able to switch from grouped to non-grouped and back"
|
|
@@ -60,6 +60,7 @@ export declare class AgGridAdapter {
|
|
|
60
60
|
*/
|
|
61
61
|
assignColumnIdsToColDefs(colDefs?: (ColDef | ColGroupDef)[]): void;
|
|
62
62
|
patchColDefs(colDefs: (ColDef | ColGroupDef)[], patchFn: (colDef: ColDef) => void): void;
|
|
63
|
+
traverseColDefs(colDefs: (ColDef | ColGroupDef)[], modifyFn: (colDef: ColDef) => ColDef | null): (ColDef | ColGroupDef)[];
|
|
63
64
|
getDefaultColumnDefinition(): GridOptions['defaultColDef'];
|
|
64
65
|
_agGridApi_getValue(colKey: string | Column, rowNode: IRowNode, gridApi?: GridApi): any;
|
|
65
66
|
}
|
|
@@ -591,6 +591,18 @@ class AgGridAdapter {
|
|
|
591
591
|
};
|
|
592
592
|
colDefs.forEach((colDef) => applyPatch(colDef));
|
|
593
593
|
}
|
|
594
|
+
traverseColDefs(colDefs, modifyFn) {
|
|
595
|
+
const applyModification = (colDef) => {
|
|
596
|
+
if ('children' in colDef) {
|
|
597
|
+
const updatedChildren = colDef.children.map(applyModification).filter(Boolean);
|
|
598
|
+
return Object.assign(Object.assign({}, colDef), { children: updatedChildren });
|
|
599
|
+
}
|
|
600
|
+
else {
|
|
601
|
+
return modifyFn(colDef);
|
|
602
|
+
}
|
|
603
|
+
};
|
|
604
|
+
return colDefs.map(applyModification).filter(Boolean);
|
|
605
|
+
}
|
|
594
606
|
getDefaultColumnDefinition() {
|
|
595
607
|
var _a, _b;
|
|
596
608
|
// for early init phase, gridApi might not be ready yet
|
|
@@ -36,6 +36,7 @@ export declare class AgGridColumnAdapter {
|
|
|
36
36
|
private isQuickSearchActive;
|
|
37
37
|
private getEditableCellClass;
|
|
38
38
|
private getReadonlyCellClass;
|
|
39
|
+
private getEditedCellClass;
|
|
39
40
|
private getAlertCellClass;
|
|
40
41
|
private getFlashingCellClass;
|
|
41
42
|
private getNoteCellClassName;
|
|
@@ -44,6 +45,7 @@ export declare class AgGridColumnAdapter {
|
|
|
44
45
|
private getQuickSearchCellStyle;
|
|
45
46
|
private getReadOnlyCellStyle;
|
|
46
47
|
private getEditableCellStyle;
|
|
48
|
+
private getEditedCellStyle;
|
|
47
49
|
/**
|
|
48
50
|
* The combination of styled column and format cells
|
|
49
51
|
* This functiond decides when the two can be merged.
|
|
@@ -143,6 +143,7 @@ class AgGridColumnAdapter {
|
|
|
143
143
|
const isQuickSearchActive = hasQuickSearchStyleClassName && this.isQuickSearchActive(gridCell, params);
|
|
144
144
|
const editableClassName = this.getEditableCellClass(gridCell, params);
|
|
145
145
|
const readonlyClassName = this.getReadonlyCellClass(gridCell, params);
|
|
146
|
+
const editedClassName = this.getEditedCellClass(gridCell, params);
|
|
146
147
|
const highlightAlertClassName = this.getAlertCellClass(gridCell, params);
|
|
147
148
|
const flashingClassName = this.getFlashingCellClass(gridCell, params);
|
|
148
149
|
const styledColumn = this.adaptableApi.styledColumnApi.getStyledColumnForColumnId(colId);
|
|
@@ -157,6 +158,7 @@ class AgGridColumnAdapter {
|
|
|
157
158
|
isQuickSearchActive ? quickSearchStyleClassName : null,
|
|
158
159
|
editableClassName,
|
|
159
160
|
readonlyClassName,
|
|
161
|
+
editedClassName,
|
|
160
162
|
highlightAlertClassName,
|
|
161
163
|
flashingClassName,
|
|
162
164
|
noteClassName,
|
|
@@ -179,7 +181,7 @@ class AgGridColumnAdapter {
|
|
|
179
181
|
const gridCell = this.adaptableInstance.getGridCellFromRowNode(params.node, abColumn.columnId);
|
|
180
182
|
const isQuickSearchActive = hasQuickSearchStyle && this.isQuickSearchActive(gridCell, params);
|
|
181
183
|
const userDefined = typeof userCellStyle === 'function' ? userCellStyle(params) : userCellStyle;
|
|
182
|
-
const result = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, userDefined), this.getReadOnlyCellStyle(gridCell, params)), this.getEditableCellStyle(gridCell, params)), this.getFormatColumnAndStyledColumnCellStyle(gridCell, params)), (isQuickSearchActive ? quickSearchStyle : {})), this.getAlertCellStyle(gridCell, params)), this.getFlashingCellStyle(gridCell, params)), this.getCellHighlightStyle(gridCell, params));
|
|
184
|
+
const result = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, userDefined), this.getReadOnlyCellStyle(gridCell, params)), this.getEditableCellStyle(gridCell, params)), this.getEditedCellStyle(gridCell, params)), this.getFormatColumnAndStyledColumnCellStyle(gridCell, params)), (isQuickSearchActive ? quickSearchStyle : {})), this.getAlertCellStyle(gridCell, params)), this.getFlashingCellStyle(gridCell, params)), this.getCellHighlightStyle(gridCell, params));
|
|
183
185
|
return (0, StyleHelper_1.normalizeStyleForAgGrid)(result);
|
|
184
186
|
};
|
|
185
187
|
return cellStyle;
|
|
@@ -429,19 +431,9 @@ class AgGridColumnAdapter {
|
|
|
429
431
|
if (typeof userValue === 'boolean' && userValue === false) {
|
|
430
432
|
return userValue;
|
|
431
433
|
}
|
|
432
|
-
const cellEditableFn = this.adaptableOptions.editOptions.isCellEditable;
|
|
433
434
|
const editableCallback = (params) => {
|
|
434
|
-
// Adaptable Row Summarie rows are not editable
|
|
435
|
-
// if (params.node.data[ROW_SUMMARY_ROW_ID]) {
|
|
436
|
-
if (this.adaptableApi.gridApi.isSummaryNode(params.node)) {
|
|
437
|
-
return false;
|
|
438
|
-
}
|
|
439
|
-
if (!cellEditableFn) {
|
|
440
|
-
return typeof userValue === 'function' ? userValue(params) : userValue;
|
|
441
|
-
}
|
|
442
435
|
const gridCell = this.adaptableInstance.getGridCellFromRowNode(params.node, params.column.getColId());
|
|
443
|
-
|
|
444
|
-
return cellEditableFn(cellEditableContext);
|
|
436
|
+
return this.adaptableApi.gridApi.isCellEditable(gridCell);
|
|
445
437
|
};
|
|
446
438
|
return editableCallback;
|
|
447
439
|
});
|
|
@@ -591,6 +583,14 @@ class AgGridColumnAdapter {
|
|
|
591
583
|
const isCellReadonly = !this.adaptableApi.gridApi.isCellEditable(gridCell);
|
|
592
584
|
return isCellReadonly ? readonlyCellStyle.ClassName : null;
|
|
593
585
|
}
|
|
586
|
+
getEditedCellClass(gridCell, params) {
|
|
587
|
+
const editedCellStyle = this.adaptableApi.userInterfaceApi.getEditedCellStyle();
|
|
588
|
+
if (!(editedCellStyle === null || editedCellStyle === void 0 ? void 0 : editedCellStyle.ClassName)) {
|
|
589
|
+
return null;
|
|
590
|
+
}
|
|
591
|
+
const isCellEdited = this.adaptableApi.gridApi.isCellEdited(gridCell);
|
|
592
|
+
return isCellEdited ? editedCellStyle.ClassName : null;
|
|
593
|
+
}
|
|
594
594
|
getAlertCellClass(gridCell, params) {
|
|
595
595
|
var _a, _b;
|
|
596
596
|
const alert = this.adaptableApi.alertApi.internalApi.getAdaptableAlertWithHighlightCell(gridCell.column.columnId, params.node);
|
|
@@ -691,6 +691,18 @@ class AgGridColumnAdapter {
|
|
|
691
691
|
}
|
|
692
692
|
return undefined;
|
|
693
693
|
}
|
|
694
|
+
getEditedCellStyle(gridCell, params) {
|
|
695
|
+
const editedCellStyle = this.adaptableApi.userInterfaceApi.getEditedCellStyle();
|
|
696
|
+
if (!editedCellStyle) {
|
|
697
|
+
return undefined;
|
|
698
|
+
}
|
|
699
|
+
if (gridCell) {
|
|
700
|
+
if (this.adaptableApi.gridApi.isCellEdited(gridCell)) {
|
|
701
|
+
return (0, StyleHelper_1.convertAdaptableStyleToCSS)(editedCellStyle);
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
return undefined;
|
|
705
|
+
}
|
|
694
706
|
/**
|
|
695
707
|
* The combination of styled column and format cells
|
|
696
708
|
* This functiond decides when the two can be merged.
|
|
@@ -288,6 +288,7 @@ const DefaultAdaptableOptions = {
|
|
|
288
288
|
colorPalette: UIHelper_1.default.getDefaultColors(),
|
|
289
289
|
editableCellStyle: undefined,
|
|
290
290
|
readOnlyCellStyle: undefined,
|
|
291
|
+
editedCellStyle: undefined,
|
|
291
292
|
styleClassNames: GeneralConstants_1.EMPTY_ARRAY,
|
|
292
293
|
permittedValues: undefined,
|
|
293
294
|
editLookUpItems: undefined,
|
package/src/env.js
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = {
|
|
4
4
|
INFINITE_TABLE_LICENSE_KEY: "StartDate=2021-06-29|EndDate=2030-01-01|Owner=Adaptable|Type=distribution|TS=1624971462479|C=137829811,1004007071,2756196225,1839832928,3994409405,636616862" || '',
|
|
5
|
-
PUBLISH_TIMESTAMP:
|
|
6
|
-
VERSION: "19.0.
|
|
5
|
+
PUBLISH_TIMESTAMP: 1728393044652 || Date.now(),
|
|
6
|
+
VERSION: "19.0.3" || '--current-version--',
|
|
7
7
|
};
|