@adaptabletools/adaptable-cjs 18.1.8 → 18.1.10
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 +3 -0
- package/src/AdaptableOptions/ContainerOptions.d.ts +7 -7
- package/src/AdaptableOptions/DataChangeHistoryOptions.d.ts +5 -0
- package/src/Api/DataChangeHistoryApi.d.ts +6 -0
- package/src/Api/GridApi.d.ts +2 -0
- package/src/Api/Implementation/DataChangeHistoryApiImpl.d.ts +2 -0
- package/src/Api/Implementation/DataChangeHistoryApiImpl.js +23 -2
- package/src/Api/Implementation/GridApiImpl.d.ts +2 -1
- package/src/Api/Implementation/GridApiImpl.js +3 -0
- package/src/Api/Internal/AdaptableInternalApi.d.ts +2 -0
- package/src/Api/Internal/AdaptableInternalApi.js +4 -0
- package/src/Api/Internal/GridInternalApi.js +12 -6
- package/src/PredefinedConfig/Common/AdaptableFormat.d.ts +9 -9
- package/src/Redux/ActionsReducers/SystemRedux.d.ts +9 -8
- package/src/Redux/ActionsReducers/SystemRedux.js +11 -11
- package/src/Strategy/DataChangeHistoryModule.js +1 -2
- package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +1 -0
- package/src/Utilities/Constants/DocumentationLinkConstants.js +2 -1
- package/src/Utilities/Helpers/FormatContentHelper.d.ts +22 -0
- package/src/Utilities/Helpers/FormatContentHelper.js +39 -0
- package/src/Utilities/Helpers/FormatHelper.d.ts +0 -18
- package/src/Utilities/Helpers/FormatHelper.js +5 -38
- package/src/View/Alert/Wizard/AlertMessageWizardSection.js +4 -3
- package/src/View/Components/ExternalRenderer.js +3 -1
- package/src/View/Dashboard/CustomToolbar.js +3 -1
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +32 -13
- package/src/agGrid/AdaptableAgGrid.d.ts +3 -0
- package/src/agGrid/AdaptableAgGrid.js +35 -2
- package/src/agGrid/AgGridMenuAdapter.js +15 -1
- package/src/agGrid/defaultAdaptableOptions.js +1 -0
- package/src/env.js +2 -2
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/tsconfig.cjs.tsbuildinfo +1 -1
|
@@ -25,6 +25,7 @@ const AlertMessageWizardSection = (props) => {
|
|
|
25
25
|
const messageType = data.MessageType;
|
|
26
26
|
const messageText = api.alertApi.internalApi.getAlertDescriptionForDataChange(data);
|
|
27
27
|
const messageHeader = data.MessageHeader;
|
|
28
|
+
const showDocumentationLinks = api.internalApi.isDocumentationLinksDisplayed();
|
|
28
29
|
const onMessageTextChange = (e) => {
|
|
29
30
|
const { value } = e.target;
|
|
30
31
|
props.onChange(Object.assign(Object.assign({}, data), { MessageText: value }));
|
|
@@ -47,7 +48,7 @@ const AlertMessageWizardSection = (props) => {
|
|
|
47
48
|
React.createElement(Tabs_1.Tabs, { "data-name": "message-text", mt: 2, mb: 3, autoFocus: false },
|
|
48
49
|
React.createElement(Tabs_1.Tabs.Tab, null, "Message Text"),
|
|
49
50
|
React.createElement(Tabs_1.Tabs.Content, null,
|
|
50
|
-
React.createElement(rebass_1.Text, { fontSize: 2, mt: 3, mb: 2 }, "
|
|
51
|
+
React.createElement(rebass_1.Text, { fontSize: 2, mt: 3, mb: 2 }, "Text to display as the Alert Message (leave blank to show automated Message based on Alert Type)"),
|
|
51
52
|
' ',
|
|
52
53
|
React.createElement(FormLayout_1.default, null,
|
|
53
54
|
React.createElement(FormLayout_1.FormRow, { label: "Header" },
|
|
@@ -56,11 +57,11 @@ const AlertMessageWizardSection = (props) => {
|
|
|
56
57
|
onChange: (e) => onMessageHeaderChange(e) })),
|
|
57
58
|
React.createElement(FormLayout_1.FormRow, { label: "Message" },
|
|
58
59
|
React.createElement(Textarea_1.default, { minWidth: 300, rows: 3, marginTop: 2, type: 'text', autoFocus: false, value: messageText !== null && messageText !== void 0 ? messageText : '', onChange: (e) => onMessageTextChange(e) }))),
|
|
59
|
-
React.createElement(HelpBlock_1.default, { "data-name": "alert-message-documentation", mt: 3, mb: 2, style: {
|
|
60
|
+
showDocumentationLinks && (React.createElement(HelpBlock_1.default, { "data-name": "alert-message-documentation", mt: 3, mb: 2, style: {
|
|
60
61
|
fontSize: 'var(--ab-font-size-3)',
|
|
61
62
|
padding: 0,
|
|
62
63
|
} },
|
|
63
64
|
React.createElement(ButtonInfo_1.ButtonInfo, { mr: 2, onClick: () => window.open(DocumentationLinkConstants_1.AlertMessageDocsLink, '_blank') }),
|
|
64
|
-
"See
|
|
65
|
+
"See how to create dynamic Alert Messages using placeholders"))))));
|
|
65
66
|
};
|
|
66
67
|
exports.AlertMessageWizardSection = AlertMessageWizardSection;
|
|
@@ -45,6 +45,8 @@ const ExternalRenderer = (_a) => {
|
|
|
45
45
|
}
|
|
46
46
|
};
|
|
47
47
|
}, []);
|
|
48
|
-
|
|
48
|
+
const RFC = adaptable.variant === 'react' ? frameworkComponent : null;
|
|
49
|
+
return RFC ? (React.createElement("div", Object.assign({}, rest, { ref: ref }),
|
|
50
|
+
React.createElement(RFC, { adaptableApi: adaptable.api }))) : (React.createElement("div", Object.assign({}, rest, { dangerouslySetInnerHTML: { __html: contentsHTML }, ref: ref })));
|
|
49
51
|
};
|
|
50
52
|
exports.ExternalRenderer = ExternalRenderer;
|
|
@@ -67,6 +67,8 @@ const CustomToolbarCmp = (props) => {
|
|
|
67
67
|
}
|
|
68
68
|
};
|
|
69
69
|
}, []);
|
|
70
|
+
const CustomReactFrameworkComponent = props.customToolbar
|
|
71
|
+
.frameworkComponent;
|
|
70
72
|
return (React.createElement(React.Fragment, null,
|
|
71
73
|
props.customToolbar.render && (React.createElement("div", { id: renderContentContainerId, ref: renderContentContainerRef, className: `ab-CustomToolbar__rendered-content ab-CustomToolbar--${props.customToolbar.name}`, style: { minHeight: 22 }, dangerouslySetInnerHTML: { __html: renderedContentHTML } })),
|
|
72
74
|
props.customToolbar.toolbarButtons && (React.createElement("div", { id: buttonsContainerId, className: `ab-CustomToolbar__buttons ab-CustomToolbar--${props.customToolbar.name}`, style: { minHeight: 22 } }, props.customToolbar.toolbarButtons.map((button, index) => {
|
|
@@ -95,7 +97,7 @@ const CustomToolbarCmp = (props) => {
|
|
|
95
97
|
}, 16);
|
|
96
98
|
} }, buttonLabel));
|
|
97
99
|
}))),
|
|
98
|
-
|
|
100
|
+
CustomReactFrameworkComponent && (React.createElement("div", { id: componentContainerId, ref: componentContainerRef, style: { minHeight: 22 }, className: `ab-CustomToolbar__component ab-CustomToolbar--${props.customToolbar.name}` }, api.gridApi.getVariant() === 'react' ? (React.createElement(CustomReactFrameworkComponent, { adaptableApi: api })) : null))));
|
|
99
101
|
};
|
|
100
102
|
exports.CustomToolbarCmp = CustomToolbarCmp;
|
|
101
103
|
const CustomToolbarWrapper = (props) => {
|
|
@@ -22,6 +22,8 @@ const FormatHelper_1 = tslib_1.__importDefault(require("../../../Utilities/Helpe
|
|
|
22
22
|
const Toggle_1 = require("../../../components/Toggle");
|
|
23
23
|
const GeneralConstants_1 = require("../../../Utilities/Constants/GeneralConstants");
|
|
24
24
|
const Textarea_1 = tslib_1.__importDefault(require("../../../components/Textarea"));
|
|
25
|
+
const ButtonInfo_1 = require("../../Components/Buttons/ButtonInfo");
|
|
26
|
+
const DocumentationLinkConstants_1 = require("../../../Utilities/Constants/DocumentationLinkConstants");
|
|
25
27
|
const DOLLAR_OPTIONS = {
|
|
26
28
|
FractionDigits: 2,
|
|
27
29
|
FractionSeparator: '.',
|
|
@@ -209,8 +211,8 @@ const renderDateFormat = (data, _onChange, setFormatOption, scopedCustomFormatte
|
|
|
209
211
|
},
|
|
210
212
|
] })))))));
|
|
211
213
|
};
|
|
212
|
-
const renderNumberFormat = (data, onChange, setFormatOption, scopedCustomFormatters,
|
|
213
|
-
var _a, _b, _c, _d, _e;
|
|
214
|
+
const renderNumberFormat = (data, onChange, setFormatOption, scopedCustomFormatters, api) => {
|
|
215
|
+
var _a, _b, _c, _d, _e, _f;
|
|
214
216
|
if (data.DisplayFormat.Formatter !== 'NumberFormatter') {
|
|
215
217
|
return null;
|
|
216
218
|
}
|
|
@@ -262,6 +264,7 @@ const renderNumberFormat = (data, onChange, setFormatOption, scopedCustomFormatt
|
|
|
262
264
|
data.DisplayFormat.Options.Multiplier === MILLION_OPTIONS.Multiplier; //isEqual(data.DisplayFormat.Options, MILLION_OPTIONS);
|
|
263
265
|
const IS_DOLLAR = data.DisplayFormat.Options.Prefix === '$'; //isEqual(data.DisplayFormat.Options, DOLLAR_OPTIONS);
|
|
264
266
|
const IS_STERLING = data.DisplayFormat.Options.Prefix === '£'; //isEqual(data.DisplayFormat, STERLING_OPTIONS);
|
|
267
|
+
const showDocumentationLinks = api.internalApi.isDocumentationLinksDisplayed();
|
|
265
268
|
return (React.createElement(rebass_1.Box, { "data-name": 'format-column-display-format', padding: 2 },
|
|
266
269
|
React.createElement(Tabs_1.Tabs, null,
|
|
267
270
|
React.createElement(Tabs_1.Tabs.Tab, null, "Format"),
|
|
@@ -269,7 +272,8 @@ const renderNumberFormat = (data, onChange, setFormatOption, scopedCustomFormatt
|
|
|
269
272
|
React.createElement(rebass_1.Flex, { flexDirection: "row" },
|
|
270
273
|
React.createElement(FormLayout_1.default, { mr: 3 },
|
|
271
274
|
React.createElement(FormLayout_1.FormRow, { label: "Fraction Separator" },
|
|
272
|
-
React.createElement(Input_1.default, { "data-name": "fraction-separator", value: (_a = data.DisplayFormat.Options.FractionSeparator) !== null && _a !== void 0 ? _a : '', onChange: (e) => setFormatOption('FractionSeparator', e.currentTarget.value) })
|
|
275
|
+
React.createElement(Input_1.default, { "data-name": "fraction-separator", value: (_a = data.DisplayFormat.Options.FractionSeparator) !== null && _a !== void 0 ? _a : '', onChange: (e) => setFormatOption('FractionSeparator', e.currentTarget.value) }),
|
|
276
|
+
' '),
|
|
273
277
|
React.createElement(FormLayout_1.FormRow, { label: "Integer Separator" },
|
|
274
278
|
React.createElement(Input_1.default, { "data-name": "integer-separator", value: (_b = data.DisplayFormat.Options.IntegerSeparator) !== null && _b !== void 0 ? _b : '', onChange: (e) => setFormatOption('IntegerSeparator', e.currentTarget.value) })),
|
|
275
279
|
React.createElement(FormLayout_1.FormRow, { label: "Prefix" },
|
|
@@ -299,9 +303,6 @@ const renderNumberFormat = (data, onChange, setFormatOption, scopedCustomFormatt
|
|
|
299
303
|
React.createElement(FormLayout_1.FormRow, { label: "Multiplier" },
|
|
300
304
|
React.createElement(Input_1.default, { "data-name": "multiplier", type: "number", value: data.DisplayFormat.Options.Multiplier, onChange: (e) => setFormatOption('Multiplier', Number(e.currentTarget.value)) })),
|
|
301
305
|
' ',
|
|
302
|
-
React.createElement(FormLayout_1.FormRow, { label: "Content" },
|
|
303
|
-
React.createElement(Input_1.default, { "data-name": "content", value: (_e = data.DisplayFormat.Options.Content) !== null && _e !== void 0 ? _e : '', onChange: (e) => setFormatOption('Content', e.currentTarget.value) })),
|
|
304
|
-
' ',
|
|
305
306
|
React.createElement(FormLayout_1.FormRow, { label: "Parentheses" },
|
|
306
307
|
React.createElement(CheckBox_1.CheckBox, { "data-name": "parentheses-checkbox", checked: data.DisplayFormat.Options.Parentheses, onChange: (checked) => setFormatOption('Parentheses', checked) })),
|
|
307
308
|
React.createElement(FormLayout_1.FormRow, { label: "Floor" },
|
|
@@ -325,6 +326,20 @@ const renderNumberFormat = (data, onChange, setFormatOption, scopedCustomFormatt
|
|
|
325
326
|
React.createElement(Radio_1.default, { "data-name": "preset-million", marginLeft: 3, checked: IS_MILLION, onChange: () => setDivideMillionPreset() }, "M (Million)"),
|
|
326
327
|
React.createElement(Radio_1.default, { "data-name": "preset-dollar", marginLeft: 3, checked: IS_DOLLAR, onChange: () => setDollarPreset() }, "Dollar"),
|
|
327
328
|
React.createElement(Radio_1.default, { "data-name": "preset-sterling", marginLeft: 3, checked: IS_STERLING, onChange: () => setSterlingPreset() }, "Sterling")))))),
|
|
329
|
+
React.createElement(Tabs_1.Tabs, { marginTop: 2, autoFocus: false, keyboardNavigation: false },
|
|
330
|
+
React.createElement(Tabs_1.Tabs.Tab, null, "Dynamic Content"),
|
|
331
|
+
React.createElement(Tabs_1.Tabs.Content, null,
|
|
332
|
+
React.createElement(rebass_1.Text, { padding: 2, fontSize: 2 }, "Provide dynamic content through the use of Placeholders"),
|
|
333
|
+
React.createElement(FormLayout_1.default, { margin: 2 },
|
|
334
|
+
React.createElement(FormLayout_1.FormRow, { label: "" },
|
|
335
|
+
React.createElement(Textarea_1.default, { minWidth: 300, rows: 3, placeholder: "", marginTop: 2, type: 'text', autoFocus: false, value: (_f = (_e = data.DisplayFormat.Options.Content) === null || _e === void 0 ? void 0 : _e.toString()) !== null && _f !== void 0 ? _f : '', onChange: (e) => setFormatOption('Content', e.currentTarget.value) }),
|
|
336
|
+
showDocumentationLinks && (React.createElement(HelpBlock_1.default, { "data-name": "query-documentation", mt: 3, mb: 2, style: {
|
|
337
|
+
fontSize: 'var(--ab-font-size-3)',
|
|
338
|
+
padding: 0,
|
|
339
|
+
} },
|
|
340
|
+
React.createElement(ButtonInfo_1.ButtonInfo, { mr: 2, onClick: () => window.open(DocumentationLinkConstants_1.FormatColumnPlaceholderDocsLink, '_blank') }),
|
|
341
|
+
"Learn more about using placeholders"))),
|
|
342
|
+
' '))),
|
|
328
343
|
React.createElement(Tabs_1.Tabs, { marginTop: 2, autoFocus: false, keyboardNavigation: false },
|
|
329
344
|
React.createElement(Tabs_1.Tabs.Tab, null, "Examples"),
|
|
330
345
|
React.createElement(Tabs_1.Tabs.Content, null,
|
|
@@ -354,11 +369,12 @@ const renderNumberFormat = (data, onChange, setFormatOption, scopedCustomFormatt
|
|
|
354
369
|
},
|
|
355
370
|
] })))));
|
|
356
371
|
};
|
|
357
|
-
const renderStringFormat = (data, _onChange, setFormatOption, scopedCustomFormatters,
|
|
372
|
+
const renderStringFormat = (data, _onChange, setFormatOption, scopedCustomFormatters, api) => {
|
|
358
373
|
var _a, _b, _c;
|
|
359
374
|
if (data.DisplayFormat.Formatter !== 'StringFormatter') {
|
|
360
375
|
return null;
|
|
361
376
|
}
|
|
377
|
+
const showDocumentationLinks = api.internalApi.isDocumentationLinksDisplayed();
|
|
362
378
|
return (React.createElement(rebass_1.Box, { "data-name": 'format-column-display-format', padding: 2 },
|
|
363
379
|
React.createElement(Tabs_1.Tabs, null,
|
|
364
380
|
React.createElement(Tabs_1.Tabs.Tab, null, "Format"),
|
|
@@ -377,10 +393,13 @@ const renderStringFormat = (data, _onChange, setFormatOption, scopedCustomFormat
|
|
|
377
393
|
React.createElement(FormLayout_1.FormRow, { label: "Suffix" },
|
|
378
394
|
React.createElement(Input_1.default, { "data-name": "suffix", value: (_b = data.DisplayFormat.Options.Suffix) !== null && _b !== void 0 ? _b : '', onChange: (e) => setFormatOption('Suffix', e.currentTarget.value) })),
|
|
379
395
|
React.createElement(FormLayout_1.FormRow, { label: "Content" },
|
|
380
|
-
React.createElement(Textarea_1.default, { minWidth: 300, rows: 3, placeholder: "
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
396
|
+
React.createElement(Textarea_1.default, { minWidth: 300, rows: 3, placeholder: "", marginTop: 2, type: 'text', autoFocus: false, value: (_c = data.DisplayFormat.Options.Content) !== null && _c !== void 0 ? _c : '', onChange: (e) => setFormatOption('Content', e.currentTarget.value) }),
|
|
397
|
+
showDocumentationLinks && (React.createElement(HelpBlock_1.default, { "data-name": "query-documentation", mt: 3, mb: 2, style: {
|
|
398
|
+
fontSize: 'var(--ab-font-size-3)',
|
|
399
|
+
padding: 0,
|
|
400
|
+
} },
|
|
401
|
+
React.createElement(ButtonInfo_1.ButtonInfo, { mr: 2, onClick: () => window.open(DocumentationLinkConstants_1.FormatColumnPlaceholderDocsLink, '_blank') }),
|
|
402
|
+
"See how to create dynamic Display Format using placeholders"))),
|
|
384
403
|
React.createElement(FormLayout_1.FormRow, { label: "Empty" },
|
|
385
404
|
React.createElement(CheckBox_1.CheckBox, { "data-name": "empty-checkbox", checked: data.DisplayFormat.Options.Empty, onChange: (checked) => setFormatOption('Empty', checked) })))))),
|
|
386
405
|
scopedCustomFormatters.length > 0 && (React.createElement(Tabs_1.Tabs, { marginTop: 2, keyboardNavigation: false },
|
|
@@ -423,13 +442,13 @@ const FormatColumnFormatWizardSection = (props) => {
|
|
|
423
442
|
const Type = data.DisplayFormat && data.DisplayFormat.Formatter;
|
|
424
443
|
const customScopedFormatters = customDisplayFormatters.filter((displayFormatter) => adaptable.api.columnScopeApi.isScopeInScope(data.Scope, displayFormatter.scope));
|
|
425
444
|
if (Type === 'NumberFormatter') {
|
|
426
|
-
return renderNumberFormat(data, update, setFormatOption, customScopedFormatters,
|
|
445
|
+
return renderNumberFormat(data, update, setFormatOption, customScopedFormatters, adaptable.api);
|
|
427
446
|
}
|
|
428
447
|
if (Type === 'DateFormatter') {
|
|
429
448
|
return renderDateFormat(data, update, setFormatOption, customScopedFormatters);
|
|
430
449
|
}
|
|
431
450
|
if (Type === 'StringFormatter') {
|
|
432
|
-
return renderStringFormat(data, update, setFormatOption, customScopedFormatters,
|
|
451
|
+
return renderStringFormat(data, update, setFormatOption, customScopedFormatters, adaptable.api);
|
|
433
452
|
}
|
|
434
453
|
return (React.createElement(HelpBlock_1.default, { margin: 3 },
|
|
435
454
|
"Setting a Display Format is only possible if ",
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { AdaptableOptions } from '../AdaptableOptions/AdaptableOptions';
|
|
2
3
|
import { ChartRef, Column, GridApi, GridOptions, IRowNode, Module, RowModelType } from '@ag-grid-community/core';
|
|
3
4
|
import { AdaptableLogger } from './AdaptableLogger';
|
|
@@ -122,6 +123,7 @@ export declare class AdaptableAgGrid implements IAdaptable {
|
|
|
122
123
|
* Temporary, these are MIGRATION technical debts, and should be removed as soon as possible
|
|
123
124
|
*/
|
|
124
125
|
private adaptableStatusPanelKeys;
|
|
126
|
+
_PRIVATE_adaptableJSXElement: JSX.Element;
|
|
125
127
|
constructor();
|
|
126
128
|
static forEachAdaptable(fn: (adaptable: AdaptableAgGrid) => void): void;
|
|
127
129
|
private static collectInstance;
|
|
@@ -244,6 +246,7 @@ export declare class AdaptableAgGrid implements IAdaptable {
|
|
|
244
246
|
private addDistinctColumnValue;
|
|
245
247
|
private getUniqueGridCells;
|
|
246
248
|
getGridCellsForColumn(columnId: string, onlyVisibleRows?: boolean): GridCell[] | undefined;
|
|
249
|
+
getGridCellsForColumnTemp(columnId: string, onlyVisibleRows: boolean): GridCell[] | undefined;
|
|
247
250
|
getRowNodesForPrimaryKeys(primaryKeyValues: any[]): any[];
|
|
248
251
|
getRowNodeByIndex(index: number): IRowNode;
|
|
249
252
|
getAgGridStatusPanels(): import("@ag-grid-community/core").StatusPanelDef[];
|
|
@@ -401,7 +401,19 @@ class AdaptableAgGrid {
|
|
|
401
401
|
const adaptableContainerElem = this.getAdaptableContainerElement();
|
|
402
402
|
if (adaptableContainerElem != null) {
|
|
403
403
|
adaptableContainerElem.innerHTML = '';
|
|
404
|
-
|
|
404
|
+
if (this.variant === 'react') {
|
|
405
|
+
/**
|
|
406
|
+
* #no_additional_react_root
|
|
407
|
+
* This is only used for the React variant
|
|
408
|
+
* Where we don't want to create a new React render tree here
|
|
409
|
+
* by rendering it as a React root, but instead we want to
|
|
410
|
+
* render it as is in the React tree of our AdaptableReact component
|
|
411
|
+
*/
|
|
412
|
+
this._PRIVATE_adaptableJSXElement = (0, AdaptableView_1.AdaptableApp)({ Adaptable: this });
|
|
413
|
+
}
|
|
414
|
+
else {
|
|
415
|
+
this.unmountReactRoot = this.renderReactRoot((0, AdaptableView_1.AdaptableApp)({ Adaptable: this }), adaptableContainerElem);
|
|
416
|
+
}
|
|
405
417
|
}
|
|
406
418
|
this.lifecycleState = 'ready';
|
|
407
419
|
this.forPlugins((plugin) => plugin.onAdaptableReady(this, this.adaptableOptions));
|
|
@@ -2383,6 +2395,27 @@ class AdaptableAgGrid {
|
|
|
2383
2395
|
}
|
|
2384
2396
|
return returnValues;
|
|
2385
2397
|
}
|
|
2398
|
+
// This horrible method is temporary until we can get rid of having predicates inside values which is coming soon
|
|
2399
|
+
// We need it in case Blanks is requested
|
|
2400
|
+
// once we go to the new multi predicate screen then we wont show blanks any more - which we should never have done
|
|
2401
|
+
getGridCellsForColumnTemp(columnId, onlyVisibleRows) {
|
|
2402
|
+
let returnValues = [];
|
|
2403
|
+
const handler = (rowNode) => {
|
|
2404
|
+
if (!this.isGroupRowNode(rowNode)) {
|
|
2405
|
+
const gridCell = this.getGridCellFromRowNode(rowNode, columnId);
|
|
2406
|
+
if (gridCell) {
|
|
2407
|
+
returnValues.push(gridCell);
|
|
2408
|
+
}
|
|
2409
|
+
}
|
|
2410
|
+
};
|
|
2411
|
+
if (onlyVisibleRows) {
|
|
2412
|
+
this.agGridAdapter.getAgGridApi().forEachNodeAfterFilter(handler);
|
|
2413
|
+
}
|
|
2414
|
+
else {
|
|
2415
|
+
this.agGridAdapter.getAgGridApi().forEachNode(handler);
|
|
2416
|
+
}
|
|
2417
|
+
return returnValues;
|
|
2418
|
+
}
|
|
2386
2419
|
getRowNodesForPrimaryKeys(primaryKeyValues) {
|
|
2387
2420
|
let rowNodes = [];
|
|
2388
2421
|
if (this.useRowNodeLookUp) {
|
|
@@ -3755,7 +3788,7 @@ class AdaptableAgGrid {
|
|
|
3755
3788
|
// same grid column state as a previous,
|
|
3756
3789
|
// so no need to update, as the layout has already been updated
|
|
3757
3790
|
// for this grid column state
|
|
3758
|
-
console.log('same state as before');
|
|
3791
|
+
// console.log('same state as before');
|
|
3759
3792
|
return;
|
|
3760
3793
|
}
|
|
3761
3794
|
this.previousAgGridLayoutState = stringifiedLayoutState;
|
|
@@ -474,6 +474,20 @@ class AgGridMenuAdapter {
|
|
|
474
474
|
...gridInfoMenuItems,
|
|
475
475
|
],
|
|
476
476
|
};
|
|
477
|
+
/*
|
|
478
|
+
const calculatedColumnMenuItem: AdaptableMenuItem = {
|
|
479
|
+
name: 'calculated-column-group',
|
|
480
|
+
label: 'Calculated Column',
|
|
481
|
+
module: 'CalculatedColumn',
|
|
482
|
+
isVisible: true,
|
|
483
|
+
icon: {
|
|
484
|
+
name: 'columns',
|
|
485
|
+
},
|
|
486
|
+
subItems: [
|
|
487
|
+
...calculatedColumnMenuItems,
|
|
488
|
+
],
|
|
489
|
+
};
|
|
490
|
+
*/
|
|
477
491
|
const columnMenuItem = {
|
|
478
492
|
name: 'column-group',
|
|
479
493
|
label: 'Column',
|
|
@@ -484,7 +498,6 @@ class AgGridMenuAdapter {
|
|
|
484
498
|
},
|
|
485
499
|
subItems: [
|
|
486
500
|
...columnActionGroup,
|
|
487
|
-
...calculatedColumnMenuItems,
|
|
488
501
|
...freeTextColumnMenuItems,
|
|
489
502
|
...customSortMenuItems,
|
|
490
503
|
...plusMinusMenuItems,
|
|
@@ -503,6 +516,7 @@ class AgGridMenuAdapter {
|
|
|
503
516
|
subItems: [...formatColumnMenuItems, ...styledColumnMenuItems, ...flashingCellMenuItems],
|
|
504
517
|
};
|
|
505
518
|
return this.removeConsecutiveSeparators([
|
|
519
|
+
...calculatedColumnMenuItems,
|
|
506
520
|
...settingsPanelMenuItems,
|
|
507
521
|
...dashboardMenuItems,
|
|
508
522
|
...columnFilterGroup,
|
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: "18.1.
|
|
5
|
+
PUBLISH_TIMESTAMP: 1721302203425 || Date.now(),
|
|
6
|
+
VERSION: "18.1.10" || '--current-version--',
|
|
7
7
|
};
|