@adaptabletools/adaptable-cjs 22.0.0-canary.1 → 22.0.0-canary.2
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/index.css +3 -14
- package/index.css.map +1 -1
- package/package.json +1 -1
- package/src/AdaptableOptions/AdaptablePlugin.js +6 -1
- package/src/AdaptableOptions/ExportOptions.d.ts +1 -2
- package/src/AdaptableOptions/FilterOptions.d.ts +3 -0
- package/src/AdaptableState/Common/AdaptableColumn.d.ts +6 -0
- package/src/AdaptableState/Common/RowDataChangedInfo.d.ts +3 -0
- package/src/AdaptableState/InitialState.d.ts +1 -1
- package/src/AdaptableState/Selection/GridCell.d.ts +9 -0
- package/src/Api/Implementation/ActionColumnApiImpl.js +1 -0
- package/src/Api/Implementation/AdaptableApiImpl.js +52 -0
- package/src/Api/Implementation/AlertApiImpl.js +1 -0
- package/src/Api/Implementation/ApiBase.js +1 -0
- package/src/Api/Implementation/CalculatedColumnApiImpl.js +1 -0
- package/src/Api/Implementation/ChartingApiImpl.js +4 -0
- package/src/Api/Implementation/ColumnApiImpl.js +1 -0
- package/src/Api/Implementation/ColumnFilterApiImpl.js +1 -0
- package/src/Api/Implementation/CommentsApiImpl.js +1 -0
- package/src/Api/Implementation/CustomSortApiImpl.js +1 -0
- package/src/Api/Implementation/DashboardApiImpl.js +1 -0
- package/src/Api/Implementation/DataChangeHistoryApiImpl.js +12 -15
- package/src/Api/Implementation/DataImportApiImpl.js +1 -0
- package/src/Api/Implementation/DataSetApiImpl.js +1 -0
- package/src/Api/Implementation/EntitlementApiImpl.js +1 -0
- package/src/Api/Implementation/EventApiImpl.js +16 -14
- package/src/Api/Implementation/ExportApiImpl.js +1 -0
- package/src/Api/Implementation/ExpressionApiImpl.js +1 -0
- package/src/Api/Implementation/Fdc3ApiImpl.js +1 -0
- package/src/Api/Implementation/FilterApiImpl.js +3 -0
- package/src/Api/Implementation/FlashingCellApiImpl.js +1 -0
- package/src/Api/Implementation/FormatColumnApiImpl.js +1 -0
- package/src/Api/Implementation/FreeTextColumnApiImpl.js +1 -0
- package/src/Api/Implementation/GridApiImpl.js +1 -0
- package/src/Api/Implementation/GridFilterApiImpl.js +1 -0
- package/src/Api/Implementation/LayoutApiImpl.js +1 -0
- package/src/Api/Implementation/NamedQueryApiImpl.js +1 -0
- package/src/Api/Implementation/NoteApiImpl.js +1 -0
- package/src/Api/Implementation/PredicateApiImpl.js +1 -0
- package/src/Api/Implementation/RowFormApiImpl.js +1 -0
- package/src/Api/Implementation/StyledColumnApiImpl.js +1 -0
- package/src/Api/Implementation/SystemStatusApiImpl.js +2 -0
- package/src/Api/Implementation/TeamSharingApiImpl.js +1 -0
- package/src/Api/Implementation/ThemeApiImpl.js +1 -0
- package/src/Api/Implementation/UserInterfaceApiImpl.js +2 -1
- package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +6 -0
- package/src/Redux/Store/AdaptableStore.js +49 -43
- package/src/Strategy/AdaptableModuleBase.js +4 -0
- package/src/Strategy/AlertModule.js +1 -0
- package/src/Strategy/CalculatedColumnModule.js +1 -0
- package/src/Strategy/CellSummaryModule.js +1 -1
- package/src/Strategy/DataChangeHistoryModule.js +1 -0
- package/src/Strategy/FlashingCellModule.js +1 -0
- package/src/Strategy/FreeTextColumnModule.js +1 -0
- package/src/Strategy/LayoutModule.js +2 -1
- package/src/Strategy/PlusMinusModule.js +2 -0
- package/src/Strategy/ScheduleModule.js +1 -0
- package/src/Strategy/ShortcutModule.js +2 -0
- package/src/Strategy/TeamSharingModule.js +10 -10
- package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +1 -1
- package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -1
- package/src/Utilities/ExpressionFunctions/deepMap.js +31 -31
- package/src/Utilities/MenuItem.js +18 -0
- package/src/Utilities/Services/AggregatedScalarLiveValue.js +8 -0
- package/src/Utilities/Services/AlertService.js +6 -4
- package/src/Utilities/Services/AnnotationsService.js +3 -0
- package/src/Utilities/Services/CalculatedColumnExpressionService.js +2 -1
- package/src/Utilities/Services/ChartingService.js +1 -0
- package/src/Utilities/Services/DataService.js +10 -2
- package/src/Utilities/Services/Fdc3Service.js +5 -3
- package/src/Utilities/Services/FlashingCellService.js +5 -0
- package/src/Utilities/Services/LicenseService/index.js +1 -1
- package/src/Utilities/Services/MetamodelService.js +2 -2
- package/src/Utilities/Services/ModuleService.js +1 -0
- package/src/Utilities/Services/QueryLanguageService.js +6 -5
- package/src/Utilities/Services/RowFormService.js +1 -0
- package/src/Utilities/Services/RowSummaryService.js +10 -7
- package/src/Utilities/Services/TeamSharingService.js +3 -1
- package/src/Utilities/Services/ThemeService.js +11 -9
- package/src/Utilities/Services/ValidationService.js +1 -0
- package/src/Utilities/createAgStatusPanelComponent.js +3 -0
- package/src/View/BulkUpdate/BulkUpdateViewPanel.js +1 -0
- package/src/View/CalculatedColumn/CalculatedColumnSummary.js +8 -8
- package/src/View/CellSummary/CellSummaryViewPanel.js +1 -0
- package/src/View/Components/Buttons/ButtonBase/index.js +9 -9
- package/src/View/Components/Buttons/EntityListActionButtons.js +18 -18
- package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +1 -1
- package/src/View/Components/ExpressionWizard.js +5 -5
- package/src/View/Components/Panels/PanelDashboard/index.js +8 -8
- package/src/View/Components/Panels/PanelToolPanel/index.js +7 -7
- package/src/View/Components/ToolPanel/AdaptableToolPanel.js +2 -0
- package/src/View/CustomSort/CustomSortSummary.js +13 -13
- package/src/View/FormatColumn/FormatColumnSummary.js +13 -13
- package/src/View/FreeTextColumn/FreeTextColumnSummary.js +13 -13
- package/src/View/SmartEdit/SmartEditViewPanel.js +1 -0
- package/src/View/Theme/ThemePopup.js +13 -16
- package/src/agGrid/Adaptable.js +4 -0
- package/src/agGrid/AdaptableAgGrid.js +99 -33
- package/src/agGrid/AdaptableFilterHandler.js +4 -0
- package/src/agGrid/AdaptableLogger.d.ts +3 -0
- package/src/agGrid/AdaptableLogger.js +10 -0
- package/src/agGrid/AgGridAdapter.js +11 -1
- package/src/agGrid/AgGridColumnAdapter.js +2 -0
- package/src/agGrid/AgGridExportAdapter.js +10 -9
- package/src/agGrid/AgGridFilterAdapter.js +4 -0
- package/src/agGrid/AgGridFloatingFilterAdapter.js +3 -0
- package/src/agGrid/AgGridMenuAdapter.js +1 -0
- package/src/agGrid/AgGridModulesAdapter.js +2 -1
- package/src/agGrid/AgGridOptionsService.js +3 -0
- package/src/agGrid/AgGridThemeAdapter.js +2 -0
- package/src/agGrid/cellRenderers/ActionColumnRenderer.js +5 -0
- package/src/agGrid/cellRenderers/BadgeRenderer.js +2 -0
- package/src/agGrid/cellRenderers/PercentBarRenderer.js +1 -0
- package/src/agGrid/editors/AdaptableDateEditor/index.js +6 -3
- package/src/agGrid/editors/AdaptableNumberEditor/index.js +16 -12
- package/src/agGrid/editors/AdaptablePercentageEditor/index.js +17 -13
- package/src/agGrid/index.d.ts +6 -0
- package/src/agGrid/index.js +6 -0
- package/src/components/Datepicker/index.js +1 -1
- package/src/components/overlayBaseZIndex.js +1 -1
- package/src/components/utils/useContainerScrollObserver/index.js +17 -14
- package/src/devTools/index.js +54 -53
- package/src/env.js +2 -2
- package/src/layout-manager/src/LMEmitter.js +11 -11
- package/src/layout-manager/src/LMLogger.js +7 -0
- package/src/layout-manager/src/index.js +56 -51
- package/src/metamodel/adaptable.metamodel.d.ts +57 -0
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/migration/AdaptableUpgradeHelper.js +3 -0
- package/src/migration/VersionUpgrade.js +1 -0
- package/src/migration/VersionUpgrade17.js +1 -2
- package/src/parser/src/ExpressionEvaluationError.js +1 -0
- package/tsconfig.cjs.tsbuildinfo +1 -1
|
@@ -69,19 +69,13 @@ exports.AdaptableReactPercentageEditor.displayName = 'AdaptableReactPercentageEd
|
|
|
69
69
|
* Used to edit percentage columns as percentages (similar to how its done in Excel)
|
|
70
70
|
*/
|
|
71
71
|
class AdaptablePercentageEditor {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
newValue: value,
|
|
80
|
-
})
|
|
81
|
-
: value;
|
|
82
|
-
this.value = NumberExtensions_1.default.divideBy100(newValue);
|
|
83
|
-
};
|
|
84
|
-
}
|
|
72
|
+
value;
|
|
73
|
+
columnId;
|
|
74
|
+
el;
|
|
75
|
+
params;
|
|
76
|
+
editor;
|
|
77
|
+
valueParser = defaultValueParser;
|
|
78
|
+
unmountReactRoot;
|
|
85
79
|
init(params) {
|
|
86
80
|
this.value = (0, AdaptableNumberEditor_1.getStartValue)(params);
|
|
87
81
|
this.params = params;
|
|
@@ -132,5 +126,15 @@ class AdaptablePercentageEditor {
|
|
|
132
126
|
destroy() {
|
|
133
127
|
this.unmountReactRoot?.();
|
|
134
128
|
}
|
|
129
|
+
onValueChange = (value) => {
|
|
130
|
+
const newValue = this.valueParser
|
|
131
|
+
? this.valueParser({
|
|
132
|
+
...this.params,
|
|
133
|
+
oldValue: this.params.value,
|
|
134
|
+
newValue: value,
|
|
135
|
+
})
|
|
136
|
+
: value;
|
|
137
|
+
this.value = NumberExtensions_1.default.divideBy100(newValue);
|
|
138
|
+
};
|
|
135
139
|
}
|
|
136
140
|
exports.AdaptablePercentageEditor = AdaptablePercentageEditor;
|
package/src/agGrid/index.d.ts
CHANGED
|
@@ -2,5 +2,11 @@ import { Adaptable, AdaptableNoCodeWizard as ABWizard } from './Adaptable';
|
|
|
2
2
|
import { AdaptableLogger as ABLogger } from './AdaptableLogger';
|
|
3
3
|
export { default as AdaptableWizardView } from '../View/AdaptableWizardView';
|
|
4
4
|
export default Adaptable;
|
|
5
|
+
/**
|
|
6
|
+
* AdapTable's No Code Wizard
|
|
7
|
+
*/
|
|
5
8
|
export declare const AdaptableNoCodeWizard: typeof ABWizard;
|
|
9
|
+
/**
|
|
10
|
+
* AdapTable's Logger
|
|
11
|
+
*/
|
|
6
12
|
export declare const AdaptableLogger: typeof ABLogger;
|
package/src/agGrid/index.js
CHANGED
|
@@ -7,5 +7,11 @@ const AdaptableLogger_1 = require("./AdaptableLogger");
|
|
|
7
7
|
var AdaptableWizardView_1 = require("../View/AdaptableWizardView");
|
|
8
8
|
Object.defineProperty(exports, "AdaptableWizardView", { enumerable: true, get: function () { return tslib_1.__importDefault(AdaptableWizardView_1).default; } });
|
|
9
9
|
exports.default = Adaptable_1.Adaptable;
|
|
10
|
+
/**
|
|
11
|
+
* AdapTable's No Code Wizard
|
|
12
|
+
*/
|
|
10
13
|
exports.AdaptableNoCodeWizard = Adaptable_1.AdaptableNoCodeWizard;
|
|
14
|
+
/**
|
|
15
|
+
* AdapTable's Logger
|
|
16
|
+
*/
|
|
11
17
|
exports.AdaptableLogger = AdaptableLogger_1.AdaptableLogger;
|
|
@@ -116,7 +116,7 @@ exports.Datepicker = React.forwardRef((props, ref) => {
|
|
|
116
116
|
}, accessLevel: 'Full' })) : null;
|
|
117
117
|
const calendarButton = (React.createElement(SimpleButton_1.default, { disabled: disabled, variant: "text", icon: "calendar", tooltip: "Date", iconSize: 20, className: "twa:p-0", onClick: () => setVisible(true) }));
|
|
118
118
|
const overlayDOMRef = (0, react_1.useRef)(null);
|
|
119
|
-
return (React.createElement(Flex_1.Flex,
|
|
119
|
+
return (React.createElement(Flex_1.Flex, { className: "twa:flex-1" },
|
|
120
120
|
React.createElement(OverlayTrigger_1.default, { visible: visible, render: () => (React.createElement(DatepickerOverlay, { overlayDOMRef: overlayDOMRef, onMouseDown: props.onMouseDown, onHide: () => setVisible(false), onKeyDown: (e) => {
|
|
121
121
|
if (e.key === 'Escape' || e.key === 'Enter') {
|
|
122
122
|
setVisible(false, e.key);
|
|
@@ -3,21 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.useContainerScrollObserver = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
class SectionSelector {
|
|
6
|
+
scrollTop = 0;
|
|
7
|
+
node;
|
|
8
|
+
boxHeight;
|
|
9
|
+
childrenHeights = [];
|
|
10
|
+
maxScrollTop;
|
|
6
11
|
constructor(node) {
|
|
7
|
-
this.scrollTop = 0;
|
|
8
|
-
this.childrenHeights = [];
|
|
9
|
-
this.select = (scrollTop) => {
|
|
10
|
-
this.refreshFromDOM();
|
|
11
|
-
const relativeCurrentHeight = (scrollTop * this.boxHeight) / this.maxScrollTop;
|
|
12
|
-
let heightSum = 0;
|
|
13
|
-
for (let i = 0, len = this.childrenHeights.length; i < len; i++) {
|
|
14
|
-
heightSum += this.childrenHeights[i];
|
|
15
|
-
if (heightSum > relativeCurrentHeight) {
|
|
16
|
-
return i;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
return this.childrenHeights.length - 1;
|
|
20
|
-
};
|
|
21
12
|
this.node = node;
|
|
22
13
|
this.refreshFromDOM();
|
|
23
14
|
}
|
|
@@ -36,6 +27,18 @@ class SectionSelector {
|
|
|
36
27
|
height,
|
|
37
28
|
};
|
|
38
29
|
}
|
|
30
|
+
select = (scrollTop) => {
|
|
31
|
+
this.refreshFromDOM();
|
|
32
|
+
const relativeCurrentHeight = (scrollTop * this.boxHeight) / this.maxScrollTop;
|
|
33
|
+
let heightSum = 0;
|
|
34
|
+
for (let i = 0, len = this.childrenHeights.length; i < len; i++) {
|
|
35
|
+
heightSum += this.childrenHeights[i];
|
|
36
|
+
if (heightSum > relativeCurrentHeight) {
|
|
37
|
+
return i;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return this.childrenHeights.length - 1;
|
|
41
|
+
};
|
|
39
42
|
}
|
|
40
43
|
const useContainerScrollObserver = (callback) => {
|
|
41
44
|
const containerNodeRef = (0, react_1.useRef)(null);
|
package/src/devTools/index.js
CHANGED
|
@@ -27,66 +27,32 @@ function getColor(identifier) {
|
|
|
27
27
|
return color;
|
|
28
28
|
}
|
|
29
29
|
class DevToolsMarker {
|
|
30
|
+
adaptableId;
|
|
30
31
|
static create(adaptableId) {
|
|
31
32
|
return new DevToolsMarker(adaptableId);
|
|
32
33
|
}
|
|
34
|
+
markerDetails = {
|
|
35
|
+
label: '',
|
|
36
|
+
track: '',
|
|
37
|
+
trackGroup: undefined,
|
|
38
|
+
color: undefined,
|
|
39
|
+
details: [],
|
|
40
|
+
tooltip: undefined,
|
|
41
|
+
};
|
|
42
|
+
stopped = false;
|
|
33
43
|
constructor(adaptableId) {
|
|
34
44
|
this.adaptableId = adaptableId;
|
|
35
|
-
this.markerDetails = {
|
|
36
|
-
label: '',
|
|
37
|
-
track: '',
|
|
38
|
-
trackGroup: undefined,
|
|
39
|
-
color: undefined,
|
|
40
|
-
details: [],
|
|
41
|
-
tooltip: undefined,
|
|
42
|
-
};
|
|
43
|
-
this.stopped = false;
|
|
44
|
-
this.start = (startDetails) => {
|
|
45
|
-
if (this.markerDetails.startTs) {
|
|
46
|
-
return this;
|
|
47
|
-
}
|
|
48
|
-
const start = performance.now();
|
|
49
|
-
this.markerDetails.details = startDetails?.details ?? [];
|
|
50
|
-
this.markerDetails.startTs = start;
|
|
51
|
-
return this;
|
|
52
|
-
};
|
|
53
|
-
this.end = (markerDetails = {}) => {
|
|
54
|
-
if (this.stopped) {
|
|
55
|
-
return this;
|
|
56
|
-
}
|
|
57
|
-
this.stopped = true;
|
|
58
|
-
const start = markerDetails.startTs ?? this.markerDetails.startTs;
|
|
59
|
-
const end = markerDetails.endTs ?? this.markerDetails.endTs ?? performance.now();
|
|
60
|
-
let color = markerDetails.color || this.markerDetails.color || '';
|
|
61
|
-
const trackGroup = markerDetails.trackGroup ||
|
|
62
|
-
this.markerDetails.trackGroup ||
|
|
63
|
-
`AdapTable (${this.adaptableId})`;
|
|
64
|
-
const details = [...(this.markerDetails.details || []), ...(markerDetails.details || [])];
|
|
65
|
-
const tooltip = markerDetails.tooltip || this.markerDetails.tooltip;
|
|
66
|
-
const label = markerDetails.label || this.markerDetails.label || 'Unknown';
|
|
67
|
-
const track = markerDetails.track || this.markerDetails.track || 'Unknown';
|
|
68
|
-
if (!color) {
|
|
69
|
-
const identifier = `${trackGroup}:${track}:${label}`;
|
|
70
|
-
color = getColor(identifier);
|
|
71
|
-
}
|
|
72
|
-
performance.measure(label, {
|
|
73
|
-
start,
|
|
74
|
-
end,
|
|
75
|
-
detail: {
|
|
76
|
-
devtools: {
|
|
77
|
-
dataType: 'track-entry',
|
|
78
|
-
trackGroup,
|
|
79
|
-
track,
|
|
80
|
-
color: color || 'primary',
|
|
81
|
-
properties: details.length > 0 ? details.map((detail) => [detail.name, detail.value]) : undefined,
|
|
82
|
-
tooltipText: tooltip,
|
|
83
|
-
},
|
|
84
|
-
},
|
|
85
|
-
});
|
|
86
|
-
return this;
|
|
87
|
-
};
|
|
88
45
|
this.adaptableId = adaptableId;
|
|
89
46
|
}
|
|
47
|
+
start = (startDetails) => {
|
|
48
|
+
if (this.markerDetails.startTs) {
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
const start = performance.now();
|
|
52
|
+
this.markerDetails.details = startDetails?.details ?? [];
|
|
53
|
+
this.markerDetails.startTs = start;
|
|
54
|
+
return this;
|
|
55
|
+
};
|
|
90
56
|
get startTimestamp() {
|
|
91
57
|
return this.markerDetails.startTs;
|
|
92
58
|
}
|
|
@@ -136,6 +102,41 @@ class DevToolsMarker {
|
|
|
136
102
|
return acc;
|
|
137
103
|
}, {});
|
|
138
104
|
}
|
|
105
|
+
end = (markerDetails = {}) => {
|
|
106
|
+
if (this.stopped) {
|
|
107
|
+
return this;
|
|
108
|
+
}
|
|
109
|
+
this.stopped = true;
|
|
110
|
+
const start = markerDetails.startTs ?? this.markerDetails.startTs;
|
|
111
|
+
const end = markerDetails.endTs ?? this.markerDetails.endTs ?? performance.now();
|
|
112
|
+
let color = markerDetails.color || this.markerDetails.color || '';
|
|
113
|
+
const trackGroup = markerDetails.trackGroup ||
|
|
114
|
+
this.markerDetails.trackGroup ||
|
|
115
|
+
`AdapTable (${this.adaptableId})`;
|
|
116
|
+
const details = [...(this.markerDetails.details || []), ...(markerDetails.details || [])];
|
|
117
|
+
const tooltip = markerDetails.tooltip || this.markerDetails.tooltip;
|
|
118
|
+
const label = markerDetails.label || this.markerDetails.label || 'Unknown';
|
|
119
|
+
const track = markerDetails.track || this.markerDetails.track || 'Unknown';
|
|
120
|
+
if (!color) {
|
|
121
|
+
const identifier = `${trackGroup}:${track}:${label}`;
|
|
122
|
+
color = getColor(identifier);
|
|
123
|
+
}
|
|
124
|
+
performance.measure(label, {
|
|
125
|
+
start,
|
|
126
|
+
end,
|
|
127
|
+
detail: {
|
|
128
|
+
devtools: {
|
|
129
|
+
dataType: 'track-entry',
|
|
130
|
+
trackGroup,
|
|
131
|
+
track,
|
|
132
|
+
color: color || 'primary',
|
|
133
|
+
properties: details.length > 0 ? details.map((detail) => [detail.name, detail.value]) : undefined,
|
|
134
|
+
tooltipText: tooltip,
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
});
|
|
138
|
+
return this;
|
|
139
|
+
};
|
|
139
140
|
}
|
|
140
141
|
exports.DevToolsMarker = DevToolsMarker;
|
|
141
142
|
function areAdaptableProfileTracksEnabled(adaptableId) {
|
package/src/env.js
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = {
|
|
4
4
|
NEXT_PUBLIC_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: "22.0.0-canary.
|
|
5
|
+
PUBLISH_TIMESTAMP: 1769449948892 || Date.now(),
|
|
6
|
+
VERSION: "22.0.0-canary.2" || '--current-version--',
|
|
7
7
|
};
|
|
@@ -5,20 +5,20 @@ const LMLogger_1 = require("./LMLogger");
|
|
|
5
5
|
function x(a, b) { }
|
|
6
6
|
const xtype = [1, '2'];
|
|
7
7
|
class LMEmitter extends LMLogger_1.LMLogger {
|
|
8
|
+
destroyed = false;
|
|
9
|
+
suspended = false;
|
|
8
10
|
constructor(options) {
|
|
9
11
|
super(options);
|
|
10
|
-
this.destroyed = false;
|
|
11
|
-
this.suspended = false;
|
|
12
|
-
/**
|
|
13
|
-
* For each supported event, we have a Set that holds all the callbacks that should be executed
|
|
14
|
-
* when the event is triggered.
|
|
15
|
-
*/
|
|
16
|
-
this.eventSets = {
|
|
17
|
-
gridLayoutChanged: new Set(),
|
|
18
|
-
columnDefsChanged: new Set(),
|
|
19
|
-
rowModelUpdated: new Set(),
|
|
20
|
-
};
|
|
21
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* For each supported event, we have a Set that holds all the callbacks that should be executed
|
|
15
|
+
* when the event is triggered.
|
|
16
|
+
*/
|
|
17
|
+
eventSets = {
|
|
18
|
+
gridLayoutChanged: new Set(),
|
|
19
|
+
columnDefsChanged: new Set(),
|
|
20
|
+
rowModelUpdated: new Set(),
|
|
21
|
+
};
|
|
22
22
|
on(event, callback) {
|
|
23
23
|
this.eventSets[event].add(callback);
|
|
24
24
|
return () => {
|
|
@@ -7,6 +7,13 @@ const performanceTime = (previousTime) => {
|
|
|
7
7
|
return Math.round(previousTime ? now - previousTime : now);
|
|
8
8
|
};
|
|
9
9
|
class LMLogger {
|
|
10
|
+
debugger;
|
|
11
|
+
infoLogger;
|
|
12
|
+
successLogger;
|
|
13
|
+
warnLogger;
|
|
14
|
+
errorLogger;
|
|
15
|
+
perfLogger;
|
|
16
|
+
debugId;
|
|
10
17
|
constructor(options) {
|
|
11
18
|
this.debugId = options.debugId;
|
|
12
19
|
this.debugger = (0, infinite_react_1.debug)(this.debugId ? `LayoutManager:${this.debugId}` : 'LayoutManager');
|
|
@@ -142,59 +142,20 @@ function getDefaultColumnSizeStateForColDef(colId, colDef, options) {
|
|
|
142
142
|
return undefined;
|
|
143
143
|
}
|
|
144
144
|
class LayoutManager extends LMEmitter_1.LMEmitter {
|
|
145
|
+
gridApi;
|
|
146
|
+
fieldsToIds = {};
|
|
147
|
+
idsToFields = {};
|
|
148
|
+
idsToColDefs = {};
|
|
149
|
+
initialColumnWidths = {};
|
|
150
|
+
currentLayout = null;
|
|
151
|
+
layoutChangeDebounce;
|
|
152
|
+
_prevFiredLayout;
|
|
153
|
+
setGridOption_default;
|
|
154
|
+
suppressGlobalAgGridEventListener = false;
|
|
155
|
+
supressGlobalAgGridEventTimeoutId = null;
|
|
156
|
+
layoutManagerDebugId;
|
|
145
157
|
constructor(options) {
|
|
146
158
|
super({ debugId: options.debugId });
|
|
147
|
-
this.fieldsToIds = {};
|
|
148
|
-
this.idsToFields = {};
|
|
149
|
-
this.idsToColDefs = {};
|
|
150
|
-
this.initialColumnWidths = {};
|
|
151
|
-
this.currentLayout = null;
|
|
152
|
-
this.suppressGlobalAgGridEventListener = false;
|
|
153
|
-
this.supressGlobalAgGridEventTimeoutId = null;
|
|
154
|
-
this.globalAgGridEventListener = (type, event) => {
|
|
155
|
-
if (this.destroyed || this.suppressGlobalAgGridEventListener) {
|
|
156
|
-
return;
|
|
157
|
-
}
|
|
158
|
-
if (type in COLUMN_EVENTS_THAT_TRIGGERS_AUTO_LAYOUT_SAVE) {
|
|
159
|
-
if (type === 'columnResized' && !event.finished) {
|
|
160
|
-
return;
|
|
161
|
-
}
|
|
162
|
-
// called while dragging a column from the sidebar, to the row groups panel
|
|
163
|
-
if (type === 'displayedColumnsChanged' && event.source === 'uiColumnDragged') {
|
|
164
|
-
return;
|
|
165
|
-
}
|
|
166
|
-
this.warn(`globalAgGridEventListener-${type}`, event);
|
|
167
|
-
if (!this.currentLayout) {
|
|
168
|
-
const gridLayout = this.getLayoutModelFromGrid();
|
|
169
|
-
// if there's no layout set currently in AG Grid
|
|
170
|
-
// then emit the gridLayoutChanged event directly
|
|
171
|
-
// as we don't have a current layout to compare to
|
|
172
|
-
this.onGridLayoutChanged(gridLayout);
|
|
173
|
-
return;
|
|
174
|
-
}
|
|
175
|
-
const gridLayout = this.getLayoutModelFromGrid();
|
|
176
|
-
// but if we do have a current layout set
|
|
177
|
-
// then only emit the event if the layout has changed
|
|
178
|
-
if (!isGridLayoutSame({
|
|
179
|
-
layoutFromGrid: gridLayout,
|
|
180
|
-
layoutFromModel: this.currentLayout,
|
|
181
|
-
})) {
|
|
182
|
-
this.onGridLayoutChanged(gridLayout);
|
|
183
|
-
return;
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
};
|
|
187
|
-
this.columnDefsChanged = (colDefs) => {
|
|
188
|
-
if (this.suppressGlobalAgGridEventListener) {
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
|
-
this.warn('onColumnDefsChanged');
|
|
192
|
-
this.indexColumns();
|
|
193
|
-
if (this.currentLayout) {
|
|
194
|
-
this.applyLayout(this.currentLayout);
|
|
195
|
-
}
|
|
196
|
-
this.emitSync('columnDefsChanged', colDefs);
|
|
197
|
-
};
|
|
198
159
|
this.layoutChangeDebounce = options.layoutChangeDebounce ?? 0;
|
|
199
160
|
if (this.layoutChangeDebounce) {
|
|
200
161
|
this.onGridLayoutChanged = (0, infinite_react_1.debounce)(this.onGridLayoutChanged, {
|
|
@@ -249,6 +210,50 @@ class LayoutManager extends LMEmitter_1.LMEmitter {
|
|
|
249
210
|
};
|
|
250
211
|
this.gridApi.setGridOption = setGridOption;
|
|
251
212
|
}
|
|
213
|
+
globalAgGridEventListener = (type, event) => {
|
|
214
|
+
if (this.destroyed || this.suppressGlobalAgGridEventListener) {
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
if (type in COLUMN_EVENTS_THAT_TRIGGERS_AUTO_LAYOUT_SAVE) {
|
|
218
|
+
if (type === 'columnResized' && !event.finished) {
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
// called while dragging a column from the sidebar, to the row groups panel
|
|
222
|
+
if (type === 'displayedColumnsChanged' && event.source === 'uiColumnDragged') {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
this.warn(`globalAgGridEventListener-${type}`, event);
|
|
226
|
+
if (!this.currentLayout) {
|
|
227
|
+
const gridLayout = this.getLayoutModelFromGrid();
|
|
228
|
+
// if there's no layout set currently in AG Grid
|
|
229
|
+
// then emit the gridLayoutChanged event directly
|
|
230
|
+
// as we don't have a current layout to compare to
|
|
231
|
+
this.onGridLayoutChanged(gridLayout);
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
const gridLayout = this.getLayoutModelFromGrid();
|
|
235
|
+
// but if we do have a current layout set
|
|
236
|
+
// then only emit the event if the layout has changed
|
|
237
|
+
if (!isGridLayoutSame({
|
|
238
|
+
layoutFromGrid: gridLayout,
|
|
239
|
+
layoutFromModel: this.currentLayout,
|
|
240
|
+
})) {
|
|
241
|
+
this.onGridLayoutChanged(gridLayout);
|
|
242
|
+
return;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
columnDefsChanged = (colDefs) => {
|
|
247
|
+
if (this.suppressGlobalAgGridEventListener) {
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
this.warn('onColumnDefsChanged');
|
|
251
|
+
this.indexColumns();
|
|
252
|
+
if (this.currentLayout) {
|
|
253
|
+
this.applyLayout(this.currentLayout);
|
|
254
|
+
}
|
|
255
|
+
this.emitSync('columnDefsChanged', colDefs);
|
|
256
|
+
};
|
|
252
257
|
indexColumns() {
|
|
253
258
|
const colDefs = this.gridApi.getColumnDefs();
|
|
254
259
|
this.fieldsToIds = {};
|
|
@@ -314,6 +314,11 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
314
314
|
isOpt: boolean;
|
|
315
315
|
}[];
|
|
316
316
|
};
|
|
317
|
+
AdaptableColumnSummary: {
|
|
318
|
+
name: string;
|
|
319
|
+
kind: string;
|
|
320
|
+
desc: string;
|
|
321
|
+
};
|
|
317
322
|
AdaptableColumnType: {
|
|
318
323
|
name: string;
|
|
319
324
|
kind: string;
|
|
@@ -443,6 +448,11 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
443
448
|
kind: string;
|
|
444
449
|
desc: string;
|
|
445
450
|
};
|
|
451
|
+
AdaptableFilterComponentLocation: {
|
|
452
|
+
name: string;
|
|
453
|
+
kind: string;
|
|
454
|
+
desc: string;
|
|
455
|
+
};
|
|
446
456
|
AdaptableFilterState: {
|
|
447
457
|
name: string;
|
|
448
458
|
kind: string;
|
|
@@ -547,6 +557,11 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
547
557
|
kind: string;
|
|
548
558
|
desc: string;
|
|
549
559
|
};
|
|
560
|
+
AdaptableLogger: {
|
|
561
|
+
name: string;
|
|
562
|
+
kind: string;
|
|
563
|
+
desc: string;
|
|
564
|
+
};
|
|
550
565
|
AdaptableMenuItem: {
|
|
551
566
|
name: string;
|
|
552
567
|
kind: string;
|
|
@@ -3896,6 +3911,22 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
3896
3911
|
isOpt: boolean;
|
|
3897
3912
|
})[];
|
|
3898
3913
|
};
|
|
3914
|
+
GridCellWithCount: {
|
|
3915
|
+
name: string;
|
|
3916
|
+
kind: string;
|
|
3917
|
+
desc: string;
|
|
3918
|
+
props: ({
|
|
3919
|
+
name: string;
|
|
3920
|
+
kind: string;
|
|
3921
|
+
desc: string;
|
|
3922
|
+
isOpt?: undefined;
|
|
3923
|
+
} | {
|
|
3924
|
+
name: string;
|
|
3925
|
+
kind: string;
|
|
3926
|
+
desc: string;
|
|
3927
|
+
isOpt: boolean;
|
|
3928
|
+
})[];
|
|
3929
|
+
};
|
|
3899
3930
|
GridDataContextMapping: {
|
|
3900
3931
|
name: string;
|
|
3901
3932
|
kind: string;
|
|
@@ -5168,6 +5199,22 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
5168
5199
|
ref?: undefined;
|
|
5169
5200
|
})[];
|
|
5170
5201
|
};
|
|
5202
|
+
RowDataChangedInfo: {
|
|
5203
|
+
name: string;
|
|
5204
|
+
kind: string;
|
|
5205
|
+
desc: string;
|
|
5206
|
+
props: ({
|
|
5207
|
+
name: string;
|
|
5208
|
+
kind: string;
|
|
5209
|
+
desc: string;
|
|
5210
|
+
ref?: undefined;
|
|
5211
|
+
} | {
|
|
5212
|
+
name: string;
|
|
5213
|
+
kind: string;
|
|
5214
|
+
desc: string;
|
|
5215
|
+
ref: string;
|
|
5216
|
+
})[];
|
|
5217
|
+
};
|
|
5171
5218
|
RowDataChangeTrigger: {
|
|
5172
5219
|
name: string;
|
|
5173
5220
|
kind: string;
|
|
@@ -6070,6 +6117,16 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
6070
6117
|
ref: string;
|
|
6071
6118
|
}[];
|
|
6072
6119
|
};
|
|
6120
|
+
UniqueGridCell: {
|
|
6121
|
+
name: string;
|
|
6122
|
+
kind: string;
|
|
6123
|
+
desc: string;
|
|
6124
|
+
props: {
|
|
6125
|
+
name: string;
|
|
6126
|
+
kind: string;
|
|
6127
|
+
desc: string;
|
|
6128
|
+
}[];
|
|
6129
|
+
};
|
|
6073
6130
|
UpgradeConfig: {
|
|
6074
6131
|
name: string;
|
|
6075
6132
|
kind: string;
|