@adaptabletools/adaptable 18.1.15-canary.0 → 19.0.0
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/DataChangeHistoryOptions.d.ts +1 -1
- package/src/Api/GridApi.d.ts +0 -20
- package/src/Api/Implementation/GridApiImpl.d.ts +0 -4
- package/src/Api/Implementation/GridApiImpl.js +0 -17
- package/src/Api/Implementation/LayoutApiImpl.d.ts +2 -0
- package/src/Api/Implementation/LayoutApiImpl.js +61 -0
- package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +0 -2
- package/src/Api/Implementation/UserInterfaceApiImpl.js +0 -9
- package/src/Api/LayoutApi.d.ts +7 -0
- package/src/Api/UserInterfaceApi.d.ts +0 -10
- package/src/PredefinedConfig/Common/ExtendedLayoutInfo.d.ts +12 -0
- package/src/PredefinedConfig/FormatColumnState.d.ts +0 -4
- package/src/Strategy/DashboardModule.js +11 -7
- package/src/View/Dashboard/DashboardViewPanel.js +2 -1
- package/src/agGrid/AdaptableAgGrid.d.ts +1 -0
- package/src/agGrid/AdaptableAgGrid.js +16 -5
- package/src/agGrid/AgGridMenuAdapter.js +14 -14
- package/src/env.js +2 -2
- package/src/metamodel/adaptable.metamodel.d.ts +5 -0
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/types.d.ts +1 -0
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/src/PredefinedConfig/QueryState.d.ts +0 -18
- /package/src/PredefinedConfig/{QueryState.js → Common/ExtendedLayoutInfo.js} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adaptabletools/adaptable",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "19.0.0",
|
|
4
4
|
"description": "Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"web-components",
|
|
@@ -26,7 +26,7 @@ export interface DataChangeHistoryOptions<TData = any> {
|
|
|
26
26
|
*/
|
|
27
27
|
changeHistoryButton?: DataChangeHistoryButton<TData> | DataChangeHistoryButton<TData>[];
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
29
|
+
* Show all changes for each Cell or just the last one
|
|
30
30
|
* @defaultValue true
|
|
31
31
|
*/
|
|
32
32
|
showLastDataChangeOnly?: boolean;
|
package/src/Api/GridApi.d.ts
CHANGED
|
@@ -33,14 +33,6 @@ export interface GridApi {
|
|
|
33
33
|
* Retrieves visible data from the grid (filtered and sorted)
|
|
34
34
|
*/
|
|
35
35
|
getVisibleData(): any[];
|
|
36
|
-
/**
|
|
37
|
-
* @deprecated use `loadGridData()` instead
|
|
38
|
-
*/
|
|
39
|
-
resetGridData(data: any[]): void;
|
|
40
|
-
/**
|
|
41
|
-
* @deprecated use `loadGridData()` instead
|
|
42
|
-
*/
|
|
43
|
-
setInitialGridData(data: any): void;
|
|
44
36
|
/**
|
|
45
37
|
* Loads data into grid and fire a `GridDataChanged.trigger='Load'` event
|
|
46
38
|
* @param data data to load
|
|
@@ -360,12 +352,6 @@ export interface GridApi {
|
|
|
360
352
|
* Whether AdapTable instance can be Row Grouped
|
|
361
353
|
*/
|
|
362
354
|
isGridGroupable(): boolean;
|
|
363
|
-
/**
|
|
364
|
-
* Whether AdapTable instance offers row selection
|
|
365
|
-
*
|
|
366
|
-
* @deprecated use `isGridRowSelectable()` instead
|
|
367
|
-
*/
|
|
368
|
-
isGridSelectable(): boolean;
|
|
369
355
|
/**
|
|
370
356
|
* Whether AdapTable instance offers row selection
|
|
371
357
|
*/
|
|
@@ -536,12 +522,6 @@ export interface GridApi {
|
|
|
536
522
|
* Returns AG Grid Row Model Type
|
|
537
523
|
*/
|
|
538
524
|
getAgGridRowModelType(): RowModelType;
|
|
539
|
-
/**
|
|
540
|
-
* Returns number of visible rows in Data Source
|
|
541
|
-
*
|
|
542
|
-
* @deprecated use `getRowCount()` instead
|
|
543
|
-
*/
|
|
544
|
-
getVisibleRowCount(): number;
|
|
545
525
|
/**
|
|
546
526
|
* Opens a window with a transposed view of Grid
|
|
547
527
|
*/
|
|
@@ -21,8 +21,6 @@ export declare class GridApiImpl extends ApiBase implements GridApi {
|
|
|
21
21
|
getVariant(): AdaptableVariant;
|
|
22
22
|
getGridState(): GridState;
|
|
23
23
|
loadGridData(dataSource: any): void;
|
|
24
|
-
resetGridData(dataSource: any[]): void;
|
|
25
|
-
setInitialGridData(data: any): void;
|
|
26
24
|
getGridData(): any[];
|
|
27
25
|
getFilteredData(): any[];
|
|
28
26
|
getVisibleData(): any[];
|
|
@@ -94,7 +92,6 @@ export declare class GridApiImpl extends ApiBase implements GridApi {
|
|
|
94
92
|
expandRowGroupsForValues(columnValues: any[]): void;
|
|
95
93
|
isGridPivotable(): boolean;
|
|
96
94
|
isGridGroupable(): boolean;
|
|
97
|
-
isGridSelectable(): boolean;
|
|
98
95
|
isGridRowSelectable(): boolean;
|
|
99
96
|
isGridRangeSelectable(): boolean;
|
|
100
97
|
isGridRowGrouped(): boolean;
|
|
@@ -136,7 +133,6 @@ export declare class GridApiImpl extends ApiBase implements GridApi {
|
|
|
136
133
|
getGridContainerElement(): HTMLElement | null;
|
|
137
134
|
openGridInfoSettingsPanel(): void;
|
|
138
135
|
getAgGridRowModelType(): RowModelType;
|
|
139
|
-
getVisibleRowCount(): number;
|
|
140
136
|
showTransposedView(transposeConfig?: TransposeConfig): void;
|
|
141
137
|
getAllAgGridColumns(): Column<any>[];
|
|
142
138
|
}
|
|
@@ -4,7 +4,6 @@ import { SystemHighlightCellAdd, SystemHighlightCellDelete, SystemHighlightCellD
|
|
|
4
4
|
import * as ModuleConstants from '../../Utilities/Constants/ModuleConstants';
|
|
5
5
|
import { GridInternalApi } from '../Internal/GridInternalApi';
|
|
6
6
|
import ArrayExtensions from '../../Utilities/Extensions/ArrayExtensions';
|
|
7
|
-
import { logDeprecation } from '../../Utilities/logDeprecation';
|
|
8
7
|
import { WINDOW_SHOW_TRANSPOSED_VIEW } from '../../View/Components/Popups/WindowPopups/windowFactory';
|
|
9
8
|
import { ROW_SUMMARY_ROW_ID } from '../../PredefinedConfig/Common/RowSummary';
|
|
10
9
|
export class GridApiImpl extends ApiBase {
|
|
@@ -28,14 +27,6 @@ export class GridApiImpl extends ApiBase {
|
|
|
28
27
|
const allRowNodes = this.getAllRowNodes();
|
|
29
28
|
this.internalApi.fireGridDataChangedEvent(dataSource, allRowNodes, 'Load');
|
|
30
29
|
}
|
|
31
|
-
resetGridData(dataSource) {
|
|
32
|
-
logDeprecation(this.adaptable.logger, 'GridApi', 'resetGridData', 'loadGridData');
|
|
33
|
-
this.loadGridData(dataSource);
|
|
34
|
-
}
|
|
35
|
-
setInitialGridData(data) {
|
|
36
|
-
logDeprecation(this.adaptable.logger, 'GridApi', 'setInitialGridData', 'loadGridData');
|
|
37
|
-
this.loadGridData(data);
|
|
38
|
-
}
|
|
39
30
|
getGridData() {
|
|
40
31
|
return this.adaptable.getGridData();
|
|
41
32
|
}
|
|
@@ -359,10 +350,6 @@ export class GridApiImpl extends ApiBase {
|
|
|
359
350
|
isGridGroupable() {
|
|
360
351
|
return !this.getAdaptableApi().internalApi.isGridInTreeMode();
|
|
361
352
|
}
|
|
362
|
-
isGridSelectable() {
|
|
363
|
-
logDeprecation(this.adaptable.logger, 'GridApi', 'isGridSelectable', 'isGridRowSelectable');
|
|
364
|
-
return this.isGridRowSelectable();
|
|
365
|
-
}
|
|
366
353
|
isGridRowSelectable() {
|
|
367
354
|
return this.adaptable.isGridRowSelectable();
|
|
368
355
|
}
|
|
@@ -544,10 +531,6 @@ export class GridApiImpl extends ApiBase {
|
|
|
544
531
|
getAgGridRowModelType() {
|
|
545
532
|
return this.adaptable.getAgGridRowModelType();
|
|
546
533
|
}
|
|
547
|
-
getVisibleRowCount() {
|
|
548
|
-
logDeprecation(this.adaptable.logger, 'GridApi', 'getVisibleRowCount', 'getRowCount');
|
|
549
|
-
return this.getRowCount();
|
|
550
|
-
}
|
|
551
534
|
showTransposedView(transposeConfig = {}) {
|
|
552
535
|
var _a, _b, _c, _d, _e;
|
|
553
536
|
const transposedColumnId = (_a = transposeConfig.transposedColumnId) !== null && _a !== void 0 ? _a : this.getAdaptableApi().optionsApi.getPrimaryKey();
|
|
@@ -6,6 +6,7 @@ import { ColumnSort } from '../../PredefinedConfig/Common/ColumnSort';
|
|
|
6
6
|
import { ModuleParams } from '../../View/Components/SharedProps/ModuleViewPopupProps';
|
|
7
7
|
import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
|
|
8
8
|
import { LayoutInternalApi } from '../Internal/LayoutInternalApi';
|
|
9
|
+
import { ExtendedLayoutInfo } from '../../PredefinedConfig/Common/ExtendedLayoutInfo';
|
|
9
10
|
export declare class LayoutApiImpl extends ApiBase implements LayoutApi {
|
|
10
11
|
internalApi: LayoutInternalApi;
|
|
11
12
|
constructor(adaptable: IAdaptable);
|
|
@@ -22,6 +23,7 @@ export declare class LayoutApiImpl extends ApiBase implements LayoutApi {
|
|
|
22
23
|
getCurrentLayoutColumnSort(columnId: string): ColumnSort['SortOrder'] | null;
|
|
23
24
|
getCurrentLayoutName(): string;
|
|
24
25
|
getLayoutByName(layoutName: string): Layout | null;
|
|
26
|
+
getExtendedLayoutByName(layoutName: string): ExtendedLayoutInfo | undefined;
|
|
25
27
|
getLayouts(): Layout[];
|
|
26
28
|
getLayoutById(id: Layout['Uuid']): Layout;
|
|
27
29
|
saveCurrentLayout(): void;
|
|
@@ -74,6 +74,67 @@ export class LayoutApiImpl extends ApiBase {
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
+
getExtendedLayoutByName(layoutName) {
|
|
78
|
+
const layout = this.getLayoutByName(layoutName);
|
|
79
|
+
if (!layout) {
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
const config = {
|
|
83
|
+
includeLayoutNotAssociatedObjects: true,
|
|
84
|
+
associatedWithLayout: layoutName,
|
|
85
|
+
};
|
|
86
|
+
// cannot see a better way than to go through this module by module...
|
|
87
|
+
let extensions = [];
|
|
88
|
+
this.getAlertApi()
|
|
89
|
+
.getAlertDefinitions(config)
|
|
90
|
+
.forEach((obj) => {
|
|
91
|
+
extensions.push({ Module: 'Alert', Object: obj });
|
|
92
|
+
});
|
|
93
|
+
this.getCustomSortApi()
|
|
94
|
+
.getCustomSorts(config)
|
|
95
|
+
.forEach((obj) => {
|
|
96
|
+
extensions.push({ Module: 'CustomSort', Object: obj });
|
|
97
|
+
});
|
|
98
|
+
this.getFlashingCellApi()
|
|
99
|
+
.getFlashingCellDefinitions(config)
|
|
100
|
+
.forEach((obj) => {
|
|
101
|
+
extensions.push({ Module: 'FlashingCell', Object: obj });
|
|
102
|
+
});
|
|
103
|
+
this.getFormatColumnApi()
|
|
104
|
+
.getFormatColumns(config)
|
|
105
|
+
.forEach((obj) => {
|
|
106
|
+
extensions.push({ Module: 'FormatColumn', Object: obj });
|
|
107
|
+
});
|
|
108
|
+
this.getPlusMinusApi()
|
|
109
|
+
.getAllPlusMinus(config)
|
|
110
|
+
.forEach((obj) => {
|
|
111
|
+
extensions.push({ Module: 'PlusMinus', Object: obj });
|
|
112
|
+
});
|
|
113
|
+
this.getScheduleApi()
|
|
114
|
+
.getReminderSchedules(config)
|
|
115
|
+
.forEach((obj) => {
|
|
116
|
+
extensions.push({ Module: 'Schedule', Object: obj });
|
|
117
|
+
});
|
|
118
|
+
this.getScheduleApi()
|
|
119
|
+
.getReportSchedules(config)
|
|
120
|
+
.forEach((obj) => {
|
|
121
|
+
extensions.push({ Module: 'Schedule', Object: obj });
|
|
122
|
+
});
|
|
123
|
+
this.getShortcutApi()
|
|
124
|
+
.getShortcuts(config)
|
|
125
|
+
.forEach((obj) => {
|
|
126
|
+
extensions.push({ Module: 'Shortcut', Object: obj });
|
|
127
|
+
});
|
|
128
|
+
this.getStyledColumnApi()
|
|
129
|
+
.getStyledColumns(config)
|
|
130
|
+
.forEach((obj) => {
|
|
131
|
+
extensions.push({ Module: 'StyledColumn', Object: obj });
|
|
132
|
+
});
|
|
133
|
+
return {
|
|
134
|
+
Layout: layout,
|
|
135
|
+
Extensions: extensions,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
77
138
|
getLayouts() {
|
|
78
139
|
var _a;
|
|
79
140
|
return (_a = this.getAdaptableState().Layout.Layouts) !== null && _a !== void 0 ? _a : [];
|
|
@@ -29,8 +29,6 @@ export declare class UserInterfaceApiImpl extends ApiBase implements UserInterfa
|
|
|
29
29
|
getReadOnlyCellStyle(): AdaptableStyle | undefined;
|
|
30
30
|
getAdaptableObjectTags(): AdaptableObjectTag[] | undefined;
|
|
31
31
|
getCustomIconDefinition(iconName: string): import("../../types").AdaptableIcon | import("../../types").CustomIcon;
|
|
32
|
-
showLoadingScreen(): void;
|
|
33
|
-
hideLoadingScreen(): void;
|
|
34
32
|
showProgressIndicator(config: ProgressIndicatorConfig): void;
|
|
35
33
|
hideProgressIndicator(): void;
|
|
36
34
|
openCustomWindowPopup(config: CustomWindowConfig): {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as PopupRedux from '../../Redux/ActionsReducers/PopupRedux';
|
|
2
2
|
import { SystemProgressIndicatorHide, SystemProgressIndicatorShow, } from '../../Redux/ActionsReducers/SystemRedux';
|
|
3
3
|
import { ArrayExtensions } from '../../Utilities/Extensions/ArrayExtensions';
|
|
4
|
-
import { logDeprecation } from '../../Utilities/logDeprecation';
|
|
5
4
|
import { CUSTOM_WINDOW_FACTORY_ID } from '../../View/Components/Popups/WindowPopups/WindowPopups';
|
|
6
5
|
import { UserInterfaceInternalApi } from '../Internal/UserInterfaceInternalApi';
|
|
7
6
|
import { ApiBase } from './ApiBase';
|
|
@@ -168,14 +167,6 @@ export class UserInterfaceApiImpl extends ApiBase {
|
|
|
168
167
|
}
|
|
169
168
|
return customIcon;
|
|
170
169
|
}
|
|
171
|
-
showLoadingScreen() {
|
|
172
|
-
logDeprecation(this.adaptable.logger, 'UserInterfaceApi', 'showLoadingScreen', 'showProgressIndicator');
|
|
173
|
-
this.showProgressIndicator({ text: 'Loading' });
|
|
174
|
-
}
|
|
175
|
-
hideLoadingScreen() {
|
|
176
|
-
logDeprecation(this.adaptable.logger, 'UserInterfaceApi', 'hideLoadingScreen', 'hideProgressIndicator');
|
|
177
|
-
this.hideProgressIndicator();
|
|
178
|
-
}
|
|
179
170
|
showProgressIndicator(config) {
|
|
180
171
|
if (config.delay) {
|
|
181
172
|
this.showProgressIndicatorTimeout = setTimeout(() => {
|
package/src/Api/LayoutApi.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AdaptableColumn, ColumnSort } from '../../types';
|
|
2
|
+
import { ExtendedLayoutInfo } from '../PredefinedConfig/Common/ExtendedLayoutInfo';
|
|
2
3
|
import { LayoutState, Layout } from '../PredefinedConfig/LayoutState';
|
|
3
4
|
/**
|
|
4
5
|
* Provides run-time access to the Layout Module and associated state
|
|
@@ -56,6 +57,12 @@ export interface LayoutApi {
|
|
|
56
57
|
* @returns layout
|
|
57
58
|
*/
|
|
58
59
|
getLayoutByName(layoutName: string): Layout | null;
|
|
60
|
+
/**
|
|
61
|
+
* Retrieves Layout with the given name
|
|
62
|
+
* @param layoutName Layout to retrieve
|
|
63
|
+
* @returns layout
|
|
64
|
+
*/
|
|
65
|
+
getExtendedLayoutByName(layoutName: string): ExtendedLayoutInfo | undefined;
|
|
59
66
|
/**
|
|
60
67
|
* Retrieves all Layouts in Adaptable State
|
|
61
68
|
* @returns layouts
|
|
@@ -71,16 +71,6 @@ export interface UserInterfaceApi {
|
|
|
71
71
|
* @param name name of Icon
|
|
72
72
|
*/
|
|
73
73
|
getCustomIconDefinition(name: string): AdaptableIcon | undefined;
|
|
74
|
-
/**
|
|
75
|
-
* Displays the popup that says getting data and initialising grid
|
|
76
|
-
* @deprecated use `showProgressIndicator()` instead
|
|
77
|
-
*/
|
|
78
|
-
showLoadingScreen(): void;
|
|
79
|
-
/**
|
|
80
|
-
* Hides the popup that says getting data and initialising grid
|
|
81
|
-
* @deprecated use `hideProgressIndicator()` instead
|
|
82
|
-
*/
|
|
83
|
-
hideLoadingScreen(): void;
|
|
84
74
|
/**
|
|
85
75
|
* Displays a progress indicator
|
|
86
76
|
* @param config.progressText - text to display in the progress indicator
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AdaptableModule, AdaptableObject, Layout } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* Defines an Extended Layout - provides a Layout and all objects that refer to it
|
|
4
|
+
*/
|
|
5
|
+
export interface ExtendedLayoutInfo {
|
|
6
|
+
Layout: Layout;
|
|
7
|
+
Extensions: LayoutExtension[];
|
|
8
|
+
}
|
|
9
|
+
export interface LayoutExtension {
|
|
10
|
+
Module: AdaptableModule;
|
|
11
|
+
Object: AdaptableObject;
|
|
12
|
+
}
|
|
@@ -45,10 +45,6 @@ export interface FormatColumn extends SuspendableObject {
|
|
|
45
45
|
* Which types of Rows should be formatted (data, grouped, summary)
|
|
46
46
|
*/
|
|
47
47
|
RowScope?: RowScope;
|
|
48
|
-
/**
|
|
49
|
-
* @deprecated FormatColumns now apply to Group Rows by default; use RowScope for more control
|
|
50
|
-
*/
|
|
51
|
-
IncludeGroupedRows?: never;
|
|
52
48
|
}
|
|
53
49
|
/**
|
|
54
50
|
* The Format Column Rule - can be either a Predicate or a BooleanExpression
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AdaptableModuleBase } from './AdaptableModuleBase';
|
|
2
2
|
import * as ModuleConstants from '../Utilities/Constants/ModuleConstants';
|
|
3
3
|
import * as DashboardRedux from '../Redux/ActionsReducers/DashboardRedux';
|
|
4
|
+
import ArrayExtensions from '../Utilities/Extensions/ArrayExtensions';
|
|
4
5
|
export class DashboardModule extends AdaptableModuleBase {
|
|
5
6
|
constructor(api) {
|
|
6
7
|
super(ModuleConstants.DashboardModuleId, ModuleConstants.DashboardFriendlyName, 'dashboard', 'DashboardPopup', 'The Dashboard - usually placed above the Grid - is designed to provide quick access to commonly required AdapTable functionalty', api);
|
|
@@ -26,22 +27,25 @@ export class DashboardModule extends AdaptableModuleBase {
|
|
|
26
27
|
buildMenuItems() {
|
|
27
28
|
if (this.isModuleAvailable()) {
|
|
28
29
|
let menuItems = [];
|
|
30
|
+
const dashboardState = this.api.dashboardApi.getDashboardState();
|
|
29
31
|
if (this.isModuleEditable()) {
|
|
30
32
|
menuItems.push(this.createMenuItemClickFunction('dashboard-configure', 'Configure', 'settings', () => this.api.dashboardApi.openDashboardSettingsPanel()));
|
|
31
33
|
}
|
|
32
|
-
if (
|
|
33
|
-
|
|
34
|
+
if (ArrayExtensions.IsNotNullOrEmpty(dashboardState.Tabs)) {
|
|
35
|
+
if (dashboardState.IsCollapsed) {
|
|
36
|
+
menuItems.push(this.createMenuItemReduxAction('dashboard-expand', 'Expand', 'expand', DashboardRedux.DashboardSetIsCollapsed(false)));
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
menuItems.push(this.createMenuItemReduxAction('dashboard-collapse', 'Collapse', 'collapse', DashboardRedux.DashboardSetIsCollapsed(true)));
|
|
40
|
+
}
|
|
34
41
|
}
|
|
35
|
-
|
|
36
|
-
menuItems.push(this.createMenuItemReduxAction('dashboard-collapse', 'Collapse', 'collapse', DashboardRedux.DashboardSetIsCollapsed(true)));
|
|
37
|
-
}
|
|
38
|
-
if (this.api.dashboardApi.getDashboardState().IsFloating) {
|
|
42
|
+
if (dashboardState.IsFloating) {
|
|
39
43
|
menuItems.push(this.createMenuItemReduxAction('dashboard-dock', 'Dock', 'dock', DashboardRedux.DashboardSetIsFloating(false)));
|
|
40
44
|
}
|
|
41
45
|
else if (this.api.optionsApi.getDashboardOptions().canFloat) {
|
|
42
46
|
menuItems.push(this.createMenuItemReduxAction('dashboard-float', 'Float', 'dock', DashboardRedux.DashboardSetIsFloating(true)));
|
|
43
47
|
}
|
|
44
|
-
if (
|
|
48
|
+
if (dashboardState.IsHidden) {
|
|
45
49
|
menuItems.push(this.createMenuItemReduxAction('dashboard-show', 'Show', 'visibility-on-bold', DashboardRedux.DashboardSetIsHidden(false)));
|
|
46
50
|
}
|
|
47
51
|
else {
|
|
@@ -3,6 +3,7 @@ import * as React from 'react';
|
|
|
3
3
|
import { CheckBox } from '../../components/CheckBox';
|
|
4
4
|
import { connect } from 'react-redux';
|
|
5
5
|
import { Flex } from 'rebass';
|
|
6
|
+
import ArrayExtensions from '../../Utilities/Extensions/ArrayExtensions';
|
|
6
7
|
class DashboardViewPanelComponent extends React.Component {
|
|
7
8
|
constructor(props) {
|
|
8
9
|
super(props);
|
|
@@ -11,7 +12,7 @@ class DashboardViewPanelComponent extends React.Component {
|
|
|
11
12
|
const elementType = this.props.viewType === 'Toolbar' ? 'DashboardToolbar' : 'ToolPanel';
|
|
12
13
|
return (React.createElement(Flex, { flexDirection: "row", className: `ab-${elementType}__Dashboard__wrap`, flexWrap: this.props.viewType === 'ToolPanel' ? 'wrap' : 'nowrap' },
|
|
13
14
|
' ',
|
|
14
|
-
React.createElement(CheckBox, { className: `ab-${elementType}__Dashboard__collapsed-check`, marginTop: 0, fontSize: 2, padding: 1, checked: this.props.IsCollapsed, onChange: (checked) => this.props.onSetDashboardCollapsed(checked) }, "Collapse"),
|
|
15
|
+
ArrayExtensions.IsNotNullOrEmpty(this.props.api.dashboardApi.getDashboardState().Tabs) && (React.createElement(CheckBox, { className: `ab-${elementType}__Dashboard__collapsed-check`, marginTop: 0, fontSize: 2, padding: 1, checked: this.props.IsCollapsed, onChange: (checked) => this.props.onSetDashboardCollapsed(checked) }, "Collapse")),
|
|
15
16
|
'',
|
|
16
17
|
this.props.api.optionsApi.getDashboardOptions().canFloat && (React.createElement(CheckBox, { className: `ab-${elementType}__Dashboard__collapsed-check`, marginTop: 0, fontSize: 2, padding: 1, checked: this.props.IsFloating, onChange: (checked) => this.props.onSetDashboardFloating(checked) }, "Float")),
|
|
17
18
|
' ',
|
|
@@ -42,6 +42,7 @@ interface AdaptableInitInternalConfig<TData = any> {
|
|
|
42
42
|
export declare class AdaptableAgGrid implements IAdaptable {
|
|
43
43
|
logger: AdaptableLogger;
|
|
44
44
|
private _id;
|
|
45
|
+
private _agGridId;
|
|
45
46
|
lifecycleState: AdaptableLifecycleState;
|
|
46
47
|
variant: AdaptableVariant;
|
|
47
48
|
private emitter;
|
|
@@ -99,10 +99,15 @@ const GridOptionsService_updateGridOptions = GridOptionsService.prototype.update
|
|
|
99
99
|
const EventService_Prototype = EventService.prototype;
|
|
100
100
|
const EventService_wireBeans = EventService_Prototype.wireBeans;
|
|
101
101
|
// AG GRID obfuscates its internals, this is (currently) the best way to get hold of its internal services
|
|
102
|
-
|
|
102
|
+
const DANGER_AG_GRID_BEANS_MAP = {};
|
|
103
103
|
EventService_Prototype.wireBeans = function (beans) {
|
|
104
|
+
var _a;
|
|
104
105
|
EventService_wireBeans.apply(this, arguments);
|
|
105
|
-
|
|
106
|
+
const gridId = (_a = beans === null || beans === void 0 ? void 0 : beans.context) === null || _a === void 0 ? void 0 : _a.getGridId();
|
|
107
|
+
if (!gridId) {
|
|
108
|
+
console.error('CRITICAL: No gridId found in beans, this should never happen!');
|
|
109
|
+
}
|
|
110
|
+
DANGER_AG_GRID_BEANS_MAP[gridId] = beans;
|
|
106
111
|
};
|
|
107
112
|
LocalEventService_Prototype.dispatchEvent = function (event) {
|
|
108
113
|
LocalEventService_dispatchEvent.apply(this, arguments);
|
|
@@ -579,7 +584,9 @@ export class AdaptableAgGrid {
|
|
|
579
584
|
* `gridId`
|
|
580
585
|
*/
|
|
581
586
|
this.agGridOptionsService.setGridOptionsProperty(gridOptions, 'gridId', (original_gridId) => {
|
|
582
|
-
|
|
587
|
+
const agGridId = original_gridId || this.adaptableOptions.adaptableId;
|
|
588
|
+
this._agGridId = agGridId;
|
|
589
|
+
return agGridId;
|
|
583
590
|
});
|
|
584
591
|
/**
|
|
585
592
|
* `getRowId`
|
|
@@ -3025,7 +3032,7 @@ export class AdaptableAgGrid {
|
|
|
3025
3032
|
}
|
|
3026
3033
|
}
|
|
3027
3034
|
}
|
|
3028
|
-
|
|
3035
|
+
DANGER_AG_GRID_BEANS_MAP[this._agGridId] = null;
|
|
3029
3036
|
if ((config === null || config === void 0 ? void 0 : config.destroyApi) === true) {
|
|
3030
3037
|
(_b = this.agGridAdapter.getAgGridApi()) === null || _b === void 0 ? void 0 : _b.destroy();
|
|
3031
3038
|
}
|
|
@@ -4046,6 +4053,10 @@ export class AdaptableAgGrid {
|
|
|
4046
4053
|
};
|
|
4047
4054
|
}
|
|
4048
4055
|
DANGER_getPrivateAgGridBeans() {
|
|
4049
|
-
|
|
4056
|
+
const beans = DANGER_AG_GRID_BEANS_MAP[this._agGridId];
|
|
4057
|
+
if (!beans) {
|
|
4058
|
+
this.logger.consoleError('Could not get hold of AgGridBeans! This is a critical error and will prevent Adaptable from working correctly.');
|
|
4059
|
+
}
|
|
4060
|
+
return beans;
|
|
4050
4061
|
}
|
|
4051
4062
|
}
|
|
@@ -376,11 +376,11 @@ export class AgGridMenuAdapter {
|
|
|
376
376
|
icon: 'export-data',
|
|
377
377
|
}));
|
|
378
378
|
return this.normalizeMenuGroup(this.buildMenuGroupParent('Export', [
|
|
379
|
-
...visualDataExportItems,
|
|
380
379
|
...allDataExportItems,
|
|
381
380
|
...currentDataExportItems,
|
|
382
381
|
...selectedCellsExportItems,
|
|
383
382
|
...selectedRowsExportItems,
|
|
383
|
+
...visualDataExportItems,
|
|
384
384
|
], {
|
|
385
385
|
label: 'Export',
|
|
386
386
|
icon: 'export',
|
|
@@ -471,19 +471,19 @@ export class AgGridMenuAdapter {
|
|
|
471
471
|
],
|
|
472
472
|
};
|
|
473
473
|
/*
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
474
|
+
const calculatedColumnMenuItem: AdaptableMenuItem = {
|
|
475
|
+
name: 'calculated-column-group',
|
|
476
|
+
label: 'Calculated Column',
|
|
477
|
+
module: 'CalculatedColumn',
|
|
478
|
+
isVisible: true,
|
|
479
|
+
icon: {
|
|
480
|
+
name: 'columns',
|
|
481
|
+
},
|
|
482
|
+
subItems: [
|
|
483
|
+
...calculatedColumnMenuItems,
|
|
484
|
+
],
|
|
485
|
+
};
|
|
486
|
+
*/
|
|
487
487
|
const columnMenuItem = {
|
|
488
488
|
name: 'column-group',
|
|
489
489
|
label: 'Column',
|
package/src/env.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export default {
|
|
2
2
|
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" || '',
|
|
3
|
-
PUBLISH_TIMESTAMP:
|
|
4
|
-
VERSION: "
|
|
3
|
+
PUBLISH_TIMESTAMP: 1724773387137 || Date.now(),
|
|
4
|
+
VERSION: "19.0.0" || '--current-version--',
|
|
5
5
|
};
|
|
@@ -3251,6 +3251,11 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
3251
3251
|
noCode?: undefined;
|
|
3252
3252
|
})[];
|
|
3253
3253
|
};
|
|
3254
|
+
ExtendedLayoutInfo: {
|
|
3255
|
+
name: string;
|
|
3256
|
+
kind: string;
|
|
3257
|
+
desc: string;
|
|
3258
|
+
};
|
|
3254
3259
|
ExternalChartingContext: {
|
|
3255
3260
|
name: string;
|
|
3256
3261
|
kind: string;
|