@adaptabletools/adaptable 12.0.0-canary.5 → 12.0.0-canary.8
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/bundle.cjs.js +73 -73
- package/package.json +1 -1
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/AdaptableOptions/AdaptableFrameworkComponent.d.ts +3 -0
- package/src/AdaptableOptions/FinancePluginOptions.d.ts +1 -1
- package/src/AdaptableOptions/LayoutOptions.d.ts +7 -7
- package/src/Api/DataSetApi.d.ts +3 -3
- package/src/Api/EventApi.d.ts +9 -9
- package/src/Api/Events/ActionRowSubmitted.d.ts +24 -0
- package/src/Api/Events/DataSetSelected.d.ts +11 -0
- package/src/Api/Events/{DataSetChanged.js → DataSetSelected.js} +0 -0
- package/src/Api/FilterApi.d.ts +7 -0
- package/src/Api/Implementation/AlertApiImpl.d.ts +2 -4
- package/src/Api/Implementation/AlertApiImpl.js +2 -3
- package/src/Api/Implementation/ApiBase.d.ts +12 -1
- package/src/Api/Implementation/ApiBase.js +7 -0
- package/src/Api/Implementation/ConditionalStyleApiImpl.d.ts +2 -4
- package/src/Api/Implementation/ConditionalStyleApiImpl.js +2 -3
- package/src/Api/Implementation/CustomSortApiImpl.d.ts +2 -4
- package/src/Api/Implementation/CustomSortApiImpl.js +2 -3
- package/src/Api/Implementation/DataSetApiImpl.d.ts +1 -1
- package/src/Api/Implementation/DataSetApiImpl.js +3 -3
- package/src/Api/Implementation/FilterApiImpl.d.ts +8 -0
- package/src/Api/Implementation/FilterApiImpl.js +25 -0
- package/src/Api/Implementation/FlashingCellApiImpl.d.ts +2 -4
- package/src/Api/Implementation/FlashingCellApiImpl.js +2 -3
- package/src/Api/Implementation/FormatColumnApiImpl.d.ts +2 -4
- package/src/Api/Implementation/FormatColumnApiImpl.js +2 -3
- package/src/Api/Implementation/InternalApiImpl.d.ts +1 -1
- package/src/Api/Implementation/InternalApiImpl.js +5 -4
- package/src/Api/Implementation/LayoutApiImpl.d.ts +0 -2
- package/src/Api/Implementation/LayoutApiImpl.js +0 -6
- package/src/Api/Implementation/PlusMinusApiImpl.d.ts +2 -4
- package/src/Api/Implementation/PlusMinusApiImpl.js +2 -3
- package/src/Api/Implementation/PredicateApiImpl.d.ts +1 -0
- package/src/Api/Implementation/PredicateApiImpl.js +3 -0
- package/src/Api/Implementation/ScheduleApiImpl.d.ts +6 -16
- package/src/Api/Implementation/ScheduleApiImpl.js +10 -16
- package/src/Api/Implementation/ShortcutApiImpl.d.ts +2 -4
- package/src/Api/Implementation/ShortcutApiImpl.js +2 -3
- package/src/Api/Implementation/TeamSharingApiImpl.d.ts +4 -0
- package/src/Api/Implementation/TeamSharingApiImpl.js +12 -0
- package/src/Api/InternalApi.d.ts +1 -1
- package/src/Api/LayoutApi.d.ts +1 -6
- package/src/Api/PredicateApi.d.ts +6 -0
- package/src/Api/TeamSharingApi.d.ts +15 -0
- package/src/Redux/Store/AdaptableStore.js +4 -1
- package/src/Strategy/Interface/IModule.d.ts +2 -1
- package/src/Strategy/LayoutModule.d.ts +2 -1
- package/src/Strategy/LayoutModule.js +51 -1
- package/src/View/Components/FilterForm/QuickFilterForm.js +1 -1
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +2 -1
- package/src/View/GridInfo/GridInfoPopup.js +3 -1
- package/src/View/StatusBar/StatusBarPopup.js +1 -1
- package/src/agGrid/Adaptable.js +4 -2
- package/src/components/Dashboard/Dashboard.js +2 -1
- package/src/metamodel/adaptable.metamodel.d.ts +98 -0
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/types.d.ts +3 -2
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/src/Api/Events/DataSetChanged.d.ts +0 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ApiBase } from './ApiBase';
|
|
1
|
+
import { ApiBase, LayoutAssociatedObjectLoadConfig } from './ApiBase';
|
|
2
2
|
import { ScheduleApi } from '../ScheduleApi';
|
|
3
3
|
import { BaseSchedule } from '../../PredefinedConfig/Common/Schedule';
|
|
4
4
|
import { ReportSchedule } from '../../PredefinedConfig/ExportState';
|
|
@@ -9,9 +9,7 @@ import { ReminderSchedule, ScheduleState } from '../../PredefinedConfig/Schedule
|
|
|
9
9
|
export declare class ScheduleApiImpl extends ApiBase implements ScheduleApi {
|
|
10
10
|
getScheduleState(): ScheduleState;
|
|
11
11
|
getAllSchedule(): BaseSchedule[];
|
|
12
|
-
getAllReminderSchedule(config?:
|
|
13
|
-
includeLayoutNotAssociatedObjects?: boolean;
|
|
14
|
-
}): ReminderSchedule[];
|
|
12
|
+
getAllReminderSchedule(config?: LayoutAssociatedObjectLoadConfig): ReminderSchedule[];
|
|
15
13
|
getScheduleById(id: BaseSchedule['Uuid']): BaseSchedule;
|
|
16
14
|
getAllActiveReminderSchedule(): ReminderSchedule[];
|
|
17
15
|
getAllSuspendedReminderSchedule(): ReminderSchedule[];
|
|
@@ -20,9 +18,7 @@ export declare class ScheduleApiImpl extends ApiBase implements ScheduleApi {
|
|
|
20
18
|
editReminderSchedule(schedule: ReminderSchedule): ReminderSchedule;
|
|
21
19
|
suspendReminderSchedule(schedule: ReminderSchedule): ReminderSchedule;
|
|
22
20
|
unSuspendReminderSchedule(schedule: ReminderSchedule): ReminderSchedule;
|
|
23
|
-
getAllReportSchedule(config?:
|
|
24
|
-
includeLayoutNotAssociatedObjects?: boolean;
|
|
25
|
-
}): ReportSchedule[];
|
|
21
|
+
getAllReportSchedule(config?: LayoutAssociatedObjectLoadConfig): ReportSchedule[];
|
|
26
22
|
getAllActiveReportSchedule(): ReportSchedule[];
|
|
27
23
|
getAllSuspendedReportSchedule(): ReportSchedule[];
|
|
28
24
|
addReportSchedule(schedule: ReportSchedule): ReportSchedule;
|
|
@@ -30,9 +26,7 @@ export declare class ScheduleApiImpl extends ApiBase implements ScheduleApi {
|
|
|
30
26
|
deleteReportSchedule(schedule: ReportSchedule): void;
|
|
31
27
|
suspendReportSchedule(schedule: ReportSchedule): ReportSchedule;
|
|
32
28
|
unSuspendReportSchedule(schedule: ReportSchedule): ReportSchedule;
|
|
33
|
-
getAllIPushPullSchedule(config?:
|
|
34
|
-
includeLayoutNotAssociatedObjects?: boolean;
|
|
35
|
-
}): IPushPullSchedule[];
|
|
29
|
+
getAllIPushPullSchedule(config?: LayoutAssociatedObjectLoadConfig): IPushPullSchedule[];
|
|
36
30
|
getAllActiveIPushPullSchedule(): IPushPullSchedule[];
|
|
37
31
|
getAllSuspendedIPushPullSchedule(): IPushPullSchedule[];
|
|
38
32
|
addIPushPullSchedule(schedule: IPushPullSchedule): IPushPullSchedule;
|
|
@@ -40,9 +34,7 @@ export declare class ScheduleApiImpl extends ApiBase implements ScheduleApi {
|
|
|
40
34
|
deleteIPushPullSchedule(schedule: IPushPullSchedule): void;
|
|
41
35
|
suspendIPushPullSchedule(schedule: IPushPullSchedule): IPushPullSchedule;
|
|
42
36
|
unSuspendIPushPullSchedule(schedule: IPushPullSchedule): IPushPullSchedule;
|
|
43
|
-
getAllGlue42Schedule(config?:
|
|
44
|
-
includeLayoutNotAssociatedObjects?: boolean;
|
|
45
|
-
}): Glue42Schedule[];
|
|
37
|
+
getAllGlue42Schedule(config?: LayoutAssociatedObjectLoadConfig): Glue42Schedule[];
|
|
46
38
|
getAllActiveGlue42Schedule(): Glue42Schedule[];
|
|
47
39
|
getAllSuspendedGlue42Schedule(): Glue42Schedule[];
|
|
48
40
|
addGlue42Schedule(schedule: Glue42Schedule): Glue42Schedule;
|
|
@@ -50,9 +42,7 @@ export declare class ScheduleApiImpl extends ApiBase implements ScheduleApi {
|
|
|
50
42
|
deleteGlue42Schedule(schedule: Glue42Schedule): void;
|
|
51
43
|
suspendGlue42Schedule(schedule: Glue42Schedule): Glue42Schedule;
|
|
52
44
|
unSuspendGlue42Schedule(schedule: Glue42Schedule): Glue42Schedule;
|
|
53
|
-
getAllOpenFinSchedule(config?:
|
|
54
|
-
includeLayoutNotAssociatedObjects?: boolean;
|
|
55
|
-
}): OpenFinSchedule[];
|
|
45
|
+
getAllOpenFinSchedule(config?: LayoutAssociatedObjectLoadConfig): OpenFinSchedule[];
|
|
56
46
|
getAllActiveOpenFinSchedule(): OpenFinSchedule[];
|
|
57
47
|
getAllSuspendedOpenFinSchedule(): OpenFinSchedule[];
|
|
58
48
|
addOpenFinSchedule(schedule: OpenFinSchedule): OpenFinSchedule;
|
|
@@ -19,9 +19,8 @@ class ScheduleApiImpl extends ApiBase_1.ApiBase {
|
|
|
19
19
|
return allSchedules;
|
|
20
20
|
}
|
|
21
21
|
getAllReminderSchedule(config) {
|
|
22
|
-
var _a
|
|
23
|
-
return ((
|
|
24
|
-
this.adaptable.api.internalApi.isObjectAvailableInLayout(schedule, 'Schedule'))) !== null && _b !== void 0 ? _b : []);
|
|
22
|
+
var _a;
|
|
23
|
+
return ((_a = this.handleLayoutAssociatedObjects(this.getScheduleState().Reminders, 'Schedule', config)) !== null && _a !== void 0 ? _a : []);
|
|
25
24
|
}
|
|
26
25
|
getScheduleById(id) {
|
|
27
26
|
return this.getAllSchedule().find((schedule) => (schedule === null || schedule === void 0 ? void 0 : schedule.Uuid) === id);
|
|
@@ -52,10 +51,8 @@ class ScheduleApiImpl extends ApiBase_1.ApiBase {
|
|
|
52
51
|
return this.getScheduleById(schedule.Uuid);
|
|
53
52
|
}
|
|
54
53
|
getAllReportSchedule(config) {
|
|
55
|
-
var _a
|
|
56
|
-
return ((
|
|
57
|
-
.getReportSchedules()) === null || _a === void 0 ? void 0 : _a.filter((schedule) => (config === null || config === void 0 ? void 0 : config.includeLayoutNotAssociatedObjects) ||
|
|
58
|
-
this.adaptable.api.internalApi.isObjectAvailableInLayout(schedule, 'Schedule'))) !== null && _b !== void 0 ? _b : []);
|
|
54
|
+
var _a;
|
|
55
|
+
return ((_a = this.handleLayoutAssociatedObjects(this.adaptable.api.exportApi.getReportSchedules(), 'Schedule', config)) !== null && _a !== void 0 ? _a : []);
|
|
59
56
|
}
|
|
60
57
|
getAllActiveReportSchedule() {
|
|
61
58
|
return this.getAllReportSchedule().filter((schedule) => !schedule.IsSuspended);
|
|
@@ -83,10 +80,9 @@ class ScheduleApiImpl extends ApiBase_1.ApiBase {
|
|
|
83
80
|
return this.getScheduleById(schedule.Uuid);
|
|
84
81
|
}
|
|
85
82
|
getAllIPushPullSchedule(config) {
|
|
86
|
-
var _a
|
|
83
|
+
var _a;
|
|
87
84
|
const ippApi = this.adaptable.api.pluginsApi.getipushpullPluginApi();
|
|
88
|
-
return ((
|
|
89
|
-
this.adaptable.api.internalApi.isObjectAvailableInLayout(schedule, 'Schedule'))) !== null && _b !== void 0 ? _b : []);
|
|
85
|
+
return ((_a = this.handleLayoutAssociatedObjects(ippApi === null || ippApi === void 0 ? void 0 : ippApi.getIPushPullSchedules(), 'Schedule', config)) !== null && _a !== void 0 ? _a : []);
|
|
90
86
|
}
|
|
91
87
|
getAllActiveIPushPullSchedule() {
|
|
92
88
|
return this.getAllIPushPullSchedule().filter((schedule) => !schedule.IsSuspended);
|
|
@@ -114,10 +110,9 @@ class ScheduleApiImpl extends ApiBase_1.ApiBase {
|
|
|
114
110
|
return this.getScheduleById(schedule.Uuid);
|
|
115
111
|
}
|
|
116
112
|
getAllGlue42Schedule(config) {
|
|
117
|
-
var _a
|
|
113
|
+
var _a;
|
|
118
114
|
const glue42Api = this.adaptable.api.pluginsApi.getGlue42PluginApi();
|
|
119
|
-
return ((
|
|
120
|
-
this.adaptable.api.internalApi.isObjectAvailableInLayout(schedule, 'Schedule'))) !== null && _b !== void 0 ? _b : []);
|
|
115
|
+
return ((_a = this.handleLayoutAssociatedObjects(glue42Api === null || glue42Api === void 0 ? void 0 : glue42Api.getGlue42Schedules(), 'Schedule', config)) !== null && _a !== void 0 ? _a : []);
|
|
121
116
|
}
|
|
122
117
|
getAllActiveGlue42Schedule() {
|
|
123
118
|
return this.getAllGlue42Schedule().filter((schedule) => !schedule.IsSuspended);
|
|
@@ -145,10 +140,9 @@ class ScheduleApiImpl extends ApiBase_1.ApiBase {
|
|
|
145
140
|
return this.getScheduleById(schedule.Uuid);
|
|
146
141
|
}
|
|
147
142
|
getAllOpenFinSchedule(config) {
|
|
148
|
-
var _a
|
|
143
|
+
var _a;
|
|
149
144
|
const openFinApi = this.adaptable.api.pluginsApi.getOpenFinPluginApi();
|
|
150
|
-
return ((
|
|
151
|
-
this.adaptable.api.internalApi.isObjectAvailableInLayout(schedule, 'Schedule'))) !== null && _b !== void 0 ? _b : []);
|
|
145
|
+
return ((_a = this.handleLayoutAssociatedObjects(openFinApi === null || openFinApi === void 0 ? void 0 : openFinApi.getOpenFinSchedules(), 'Schedule', config)) !== null && _a !== void 0 ? _a : []);
|
|
152
146
|
}
|
|
153
147
|
getAllActiveOpenFinSchedule() {
|
|
154
148
|
return this.getAllOpenFinSchedule().filter((schedule) => !schedule.IsSuspended);
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { ApiBase } from './ApiBase';
|
|
1
|
+
import { ApiBase, LayoutAssociatedObjectLoadConfig } from './ApiBase';
|
|
2
2
|
import { ShortcutApi } from '../ShortcutApi';
|
|
3
3
|
import { ShortcutState, Shortcut } from '../../PredefinedConfig/ShortcutState';
|
|
4
4
|
export declare class ShortcutApiImpl extends ApiBase implements ShortcutApi {
|
|
5
5
|
getShortcutState(): ShortcutState;
|
|
6
|
-
getAllShortcut(config?:
|
|
7
|
-
includeLayoutNotAssociatedObjects?: boolean;
|
|
8
|
-
}): Shortcut[];
|
|
6
|
+
getAllShortcut(config?: LayoutAssociatedObjectLoadConfig): Shortcut[];
|
|
9
7
|
getShortcutById(id: Shortcut['Uuid']): Shortcut;
|
|
10
8
|
getAllActiveShortcut(): Shortcut[];
|
|
11
9
|
getAllSuspendedShortcut(): Shortcut[];
|
|
@@ -10,9 +10,8 @@ class ShortcutApiImpl extends ApiBase_1.ApiBase {
|
|
|
10
10
|
return this.getAdaptableState().Shortcut;
|
|
11
11
|
}
|
|
12
12
|
getAllShortcut(config) {
|
|
13
|
-
var _a
|
|
14
|
-
return ((
|
|
15
|
-
this.adaptable.api.internalApi.isObjectAvailableInLayout(shortcut, 'Shortcut'))) !== null && _b !== void 0 ? _b : []);
|
|
13
|
+
var _a;
|
|
14
|
+
return ((_a = this.handleLayoutAssociatedObjects(this.getShortcutState().Shortcuts, 'Shortcut', config)) !== null && _a !== void 0 ? _a : []);
|
|
16
15
|
}
|
|
17
16
|
getShortcutById(id) {
|
|
18
17
|
return this.getAllShortcut().find((shortcut) => (shortcut === null || shortcut === void 0 ? void 0 : shortcut.Uuid) === id);
|
|
@@ -12,4 +12,8 @@ export declare class TeamSharingApiImpl extends ApiBase implements TeamSharingAp
|
|
|
12
12
|
fireTeamSharingEntityChangedEvent(sharedEntity: SharedEntity): void;
|
|
13
13
|
shareEntity(entity: AdaptableObject, module: AdaptableModule, sharedEntityConfig: SharedEntityConfig): void;
|
|
14
14
|
unshareEntity(entityId: string): void;
|
|
15
|
+
importSharedEntry(sharedEntity: SharedEntity): void;
|
|
16
|
+
private getTeamSharingState;
|
|
17
|
+
getLoadedSharedEntities(): SharedEntity[];
|
|
18
|
+
triggerLoadingTeamSharingEntries(): void;
|
|
15
19
|
}
|
|
@@ -69,5 +69,17 @@ class TeamSharingApiImpl extends ApiBase_1.ApiBase {
|
|
|
69
69
|
}
|
|
70
70
|
this.dispatchAction(TeamSharingRedux.TeamSharingRemoveItem(entityId));
|
|
71
71
|
}
|
|
72
|
+
importSharedEntry(sharedEntity) {
|
|
73
|
+
this.adaptable.api.internalApi.dispatchReduxAction(TeamSharingRedux.TeamSharingImportItem(sharedEntity));
|
|
74
|
+
}
|
|
75
|
+
getTeamSharingState() {
|
|
76
|
+
return this.getAdaptableState().TeamSharing;
|
|
77
|
+
}
|
|
78
|
+
getLoadedSharedEntities() {
|
|
79
|
+
return this.getTeamSharingState().SharedEntities;
|
|
80
|
+
}
|
|
81
|
+
triggerLoadingTeamSharingEntries() {
|
|
82
|
+
this.adaptable.api.internalApi.dispatchReduxAction(TeamSharingRedux.TeamSharingGet());
|
|
83
|
+
}
|
|
72
84
|
}
|
|
73
85
|
exports.TeamSharingApiImpl = TeamSharingApiImpl;
|
package/src/Api/InternalApi.d.ts
CHANGED
|
@@ -126,7 +126,7 @@ export interface InternalApi {
|
|
|
126
126
|
initializeDataChangeHistory(): void;
|
|
127
127
|
isTextComparisonCaseSensitive(): boolean;
|
|
128
128
|
hasLayoutSpecificObjects(): boolean;
|
|
129
|
-
isObjectAvailableInLayout(object: LayoutAssociatedObject, module: AdaptableModule): boolean;
|
|
129
|
+
isObjectAvailableInLayout(object: LayoutAssociatedObject, module: AdaptableModule, layout: Layout): boolean;
|
|
130
130
|
showLayoutNotAssociatedObjects(): boolean;
|
|
131
131
|
executeWithProgressIndicator(label: string, executeFn: () => unknown): void;
|
|
132
132
|
hideProgressIndicator(): void;
|
package/src/Api/LayoutApi.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AdaptableColumn, ColumnSort
|
|
1
|
+
import { AdaptableColumn, ColumnSort } from '../../types';
|
|
2
2
|
import { LayoutState, Layout } from '../PredefinedConfig/LayoutState';
|
|
3
3
|
/**
|
|
4
4
|
* Provides run-time access to the Layout Module and associated state
|
|
@@ -182,11 +182,6 @@ export interface LayoutApi {
|
|
|
182
182
|
* Returns true if Layouts will contain Expanded Row Groups information
|
|
183
183
|
*/
|
|
184
184
|
areExpandedRowGroupsSavedInLayouts(): boolean;
|
|
185
|
-
/**
|
|
186
|
-
* Does an object's Tags include the Current Layout
|
|
187
|
-
* @param adaptableObject object to check
|
|
188
|
-
*/
|
|
189
|
-
isObjectAvailableInCurrentLayout(adaptableObject: LayoutAssociatedObject): boolean;
|
|
190
185
|
/**
|
|
191
186
|
* Removes a Column from the Current Layout
|
|
192
187
|
* @param columnId Column to remove
|
|
@@ -59,4 +59,10 @@ export interface PredicateApi {
|
|
|
59
59
|
* @param dataType DataType of Column
|
|
60
60
|
*/
|
|
61
61
|
getEqualityPredicateForDataType(dataType: AdaptableColumnDataType): SystemFilterPredicateId;
|
|
62
|
+
/**
|
|
63
|
+
* Returns true if the predicate has a dropdown.
|
|
64
|
+
*
|
|
65
|
+
* @param predicate
|
|
66
|
+
*/
|
|
67
|
+
hasPredicateValues(predicate: AdaptablePredicate): boolean;
|
|
62
68
|
}
|
|
@@ -54,4 +54,19 @@ export interface TeamSharingApi {
|
|
|
54
54
|
* @param entityId the ID of the AdaptableObject to be removed from Team Share
|
|
55
55
|
*/
|
|
56
56
|
unshareEntity(entityId: string): void;
|
|
57
|
+
/**
|
|
58
|
+
* Import shared entry.
|
|
59
|
+
*
|
|
60
|
+
* @param sharedEntity shared entry to import
|
|
61
|
+
*/
|
|
62
|
+
importSharedEntry(sharedEntity: SharedEntity): void;
|
|
63
|
+
/**
|
|
64
|
+
* Retrieves already loaded shared entries.
|
|
65
|
+
*/
|
|
66
|
+
getLoadedSharedEntities(): SharedEntity[];
|
|
67
|
+
/**
|
|
68
|
+
* Trigger loading of shared entries.
|
|
69
|
+
* By default shared entries are loaded when the Team Sharing popup is visible.
|
|
70
|
+
*/
|
|
71
|
+
triggerLoadingTeamSharingEntries(): void;
|
|
57
72
|
}
|
|
@@ -215,6 +215,9 @@ class AdaptableStore {
|
|
|
215
215
|
const composeEnhancers = (x) => x;
|
|
216
216
|
const persistedReducer = (state, action) => {
|
|
217
217
|
var _a, _b;
|
|
218
|
+
if (adaptable.isDestroyed) {
|
|
219
|
+
return state;
|
|
220
|
+
}
|
|
218
221
|
const init = state === undefined;
|
|
219
222
|
const newState = rootReducer(state, action);
|
|
220
223
|
// ideally the reducer should be pure,
|
|
@@ -726,7 +729,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
726
729
|
case SystemRedux.SYSTEM_DATA_SET_SELECT: {
|
|
727
730
|
let returnAction = next(action);
|
|
728
731
|
const dataSet = adaptable.api.dataSetApi.getCurrentDataSet();
|
|
729
|
-
adaptable.api.dataSetApi.
|
|
732
|
+
adaptable.api.dataSetApi.fireDataSetSelectedEvent(dataSet);
|
|
730
733
|
requestAnimationFrame(() => {
|
|
731
734
|
if (dataSet.form) {
|
|
732
735
|
middlewareAPI.dispatch(PopupRedux_1.PopupShowForm({
|
|
@@ -11,6 +11,7 @@ import { AdaptableOnePageWizardProps } from '../../View/Wizard/Interface/IAdapta
|
|
|
11
11
|
import * as Redux from 'redux';
|
|
12
12
|
import { SuspendableObject } from '../../../types';
|
|
13
13
|
import { StatusBarPanelProps } from '../../View/StatusBar/StatusBarPanel';
|
|
14
|
+
import { StrictExtract } from '../../Utilities/Extensions/TypeExtensions';
|
|
14
15
|
export interface ModuleInfo {
|
|
15
16
|
ModuleName: AdaptableModule;
|
|
16
17
|
FriendlyName: string;
|
|
@@ -21,7 +22,7 @@ export interface ModuleInfo {
|
|
|
21
22
|
}
|
|
22
23
|
export declare type TeamSharingReferences = TeamSharingReference[];
|
|
23
24
|
export declare type TeamSharingReference = {
|
|
24
|
-
Module:
|
|
25
|
+
Module: StrictExtract<AdaptableModule, 'CalculatedColumn' | 'FreeTextColumn' | 'Query' | 'Alert' | 'ConditionalStyle' | 'CustomSort' | 'FlashingCell' | 'FormatColumn' | 'PlusMinus' | 'Shortcut' | 'Schedule'>;
|
|
25
26
|
Reference: AdaptableObject;
|
|
26
27
|
};
|
|
27
28
|
export interface AdaptableObjectItemView {
|
|
@@ -4,13 +4,14 @@ import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Commo
|
|
|
4
4
|
import { TeamSharingImportInfo } from '../PredefinedConfig/TeamSharingState';
|
|
5
5
|
import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
|
|
6
6
|
import { AdaptableApi } from '../Api/AdaptableApi';
|
|
7
|
-
import { AdaptableModuleView, IModule } from './Interface/IModule';
|
|
7
|
+
import { AdaptableModuleView, IModule, TeamSharingReferences } from './Interface/IModule';
|
|
8
8
|
import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
|
|
9
9
|
export declare class LayoutModule extends AdaptableModuleBase implements IModule {
|
|
10
10
|
protected LayoutState: LayoutState;
|
|
11
11
|
constructor(api: AdaptableApi);
|
|
12
12
|
getModuleAdaptableObjects(): AdaptableObject[];
|
|
13
13
|
getExplicitlyReferencedColumnIds(layout: Layout): string[];
|
|
14
|
+
getTeamSharingReferences(adaptableObject: AdaptableObject): TeamSharingReferences;
|
|
14
15
|
hasNamedQueryReferences(): boolean;
|
|
15
16
|
handleAdaptableReady(): void;
|
|
16
17
|
addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
|
|
@@ -43,7 +43,6 @@ class LayoutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
43
43
|
}
|
|
44
44
|
*/
|
|
45
45
|
getModuleAdaptableObjects() {
|
|
46
|
-
// ignore - triggering build
|
|
47
46
|
return this.api.layoutApi.getAllLayout();
|
|
48
47
|
}
|
|
49
48
|
getExplicitlyReferencedColumnIds(layout) {
|
|
@@ -60,6 +59,57 @@ class LayoutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
60
59
|
}
|
|
61
60
|
return Array.from(new Set(columnIds));
|
|
62
61
|
}
|
|
62
|
+
getTeamSharingReferences(adaptableObject) {
|
|
63
|
+
const teamSharingReferences = super.getTeamSharingReferences(adaptableObject);
|
|
64
|
+
const layoutName = adaptableObject.Name;
|
|
65
|
+
if (this.api.internalApi.hasLayoutSpecificObjects() && !!layoutName) {
|
|
66
|
+
const layoutAssociatedObjectReferences = [];
|
|
67
|
+
const loadConfig = {
|
|
68
|
+
associatedWithLayout: layoutName,
|
|
69
|
+
};
|
|
70
|
+
// we ensured that there are layout specific objects, so all the "getAll*()" api methods will return only the objects available in the current layout
|
|
71
|
+
this.api.alertApi.getAlertDefinitions(loadConfig).forEach((alertDefinition) => layoutAssociatedObjectReferences.push({
|
|
72
|
+
Reference: alertDefinition,
|
|
73
|
+
Module: 'Alert',
|
|
74
|
+
}));
|
|
75
|
+
this.api.conditionalStyleApi.getAllConditionalStyle(loadConfig).forEach((conditionalStyle) => layoutAssociatedObjectReferences.push({
|
|
76
|
+
Reference: conditionalStyle,
|
|
77
|
+
Module: 'ConditionalStyle',
|
|
78
|
+
}));
|
|
79
|
+
this.api.customSortApi.getAllCustomSort(loadConfig).forEach((customSort) => layoutAssociatedObjectReferences.push({
|
|
80
|
+
Reference: customSort,
|
|
81
|
+
Module: 'CustomSort',
|
|
82
|
+
}));
|
|
83
|
+
this.api.flashingCellApi.getFlashingCellDefinitions(loadConfig).forEach((flashingCell) => layoutAssociatedObjectReferences.push({
|
|
84
|
+
Reference: flashingCell,
|
|
85
|
+
Module: 'FlashingCell',
|
|
86
|
+
}));
|
|
87
|
+
this.api.formatColumnApi.getAllFormatColumn(loadConfig).forEach((formatColumn) => layoutAssociatedObjectReferences.push({
|
|
88
|
+
Reference: formatColumn,
|
|
89
|
+
Module: 'FormatColumn',
|
|
90
|
+
}));
|
|
91
|
+
this.api.plusMinusApi.getAllPlusMinus(loadConfig).forEach((plusMinusNudge) => layoutAssociatedObjectReferences.push({
|
|
92
|
+
Reference: plusMinusNudge,
|
|
93
|
+
Module: 'PlusMinus',
|
|
94
|
+
}));
|
|
95
|
+
this.api.shortcutApi.getAllShortcut(loadConfig).forEach((shortcut) => layoutAssociatedObjectReferences.push({
|
|
96
|
+
Reference: shortcut,
|
|
97
|
+
Module: 'Shortcut',
|
|
98
|
+
}));
|
|
99
|
+
[
|
|
100
|
+
...this.api.scheduleApi.getAllReportSchedule(loadConfig),
|
|
101
|
+
...this.api.scheduleApi.getAllReminderSchedule(loadConfig),
|
|
102
|
+
...this.api.scheduleApi.getAllGlue42Schedule(loadConfig),
|
|
103
|
+
...this.api.scheduleApi.getAllIPushPullSchedule(loadConfig),
|
|
104
|
+
...this.api.scheduleApi.getAllOpenFinSchedule(loadConfig),
|
|
105
|
+
].forEach((schedule) => layoutAssociatedObjectReferences.push({
|
|
106
|
+
Reference: schedule,
|
|
107
|
+
Module: 'Schedule',
|
|
108
|
+
}));
|
|
109
|
+
teamSharingReferences.push(...layoutAssociatedObjectReferences);
|
|
110
|
+
}
|
|
111
|
+
return teamSharingReferences;
|
|
112
|
+
}
|
|
63
113
|
hasNamedQueryReferences() {
|
|
64
114
|
return false;
|
|
65
115
|
}
|
|
@@ -325,7 +325,7 @@ class QuickFilterFormComponent extends React.Component {
|
|
|
325
325
|
this.props.api.filterApi.clearColumnFilterByColumn(filter.ColumnId);
|
|
326
326
|
}
|
|
327
327
|
hasValuesPredicate(predicate) {
|
|
328
|
-
return
|
|
328
|
+
return this.props.api.predicateApi.hasPredicateValues(predicate);
|
|
329
329
|
}
|
|
330
330
|
}
|
|
331
331
|
function mapStateToProps(state, ownProps) {
|
|
@@ -113,6 +113,7 @@ const buildAdaptableOptions = (mainAdaptableInstance, gridOptions, adaptableCont
|
|
|
113
113
|
},
|
|
114
114
|
layoutOptions: {
|
|
115
115
|
createDefaultLayout: false,
|
|
116
|
+
autoSizeColumnsInLayout: true,
|
|
116
117
|
},
|
|
117
118
|
actionOptions: actionOptions,
|
|
118
119
|
predefinedConfig: {
|
|
@@ -287,7 +288,7 @@ const getColumnHeaderLabel = (columnId, mainAdaptableInstance) => {
|
|
|
287
288
|
return headerMap.get(columnId);
|
|
288
289
|
};
|
|
289
290
|
const getChangeTriggerLabel = (changeInfo) => {
|
|
290
|
-
return changeInfo.trigger === 'tick' ? 'Ticking
|
|
291
|
+
return changeInfo.trigger === 'tick' ? 'Ticking' : 'User Edit';
|
|
291
292
|
};
|
|
292
293
|
const filterChangeHistoryLog = (changeObject, filterValues) => {
|
|
293
294
|
const result = {};
|
|
@@ -52,7 +52,9 @@ const GridInfoPopup = (props) => {
|
|
|
52
52
|
const calcColumns = props.api.calculatedColumnApi
|
|
53
53
|
.getAllCalculatedColumn()
|
|
54
54
|
.map((c) => c.ColumnId);
|
|
55
|
-
const actionColumns = props.api.actionApi
|
|
55
|
+
const actionColumns = props.api.actionApi
|
|
56
|
+
.getAllActionColumn()
|
|
57
|
+
.map((ac) => ac.columnId);
|
|
56
58
|
const freeTextColumns = props.api.freeTextColumnApi
|
|
57
59
|
.getAllFreeTextColumn()
|
|
58
60
|
.map((c) => c.ColumnId);
|
|
@@ -39,6 +39,6 @@ const StatusBarPopup = (props) => {
|
|
|
39
39
|
dragAndDropTab: false,
|
|
40
40
|
deleteTab: false,
|
|
41
41
|
editTabName: false,
|
|
42
|
-
}, onTabsChange: handleTabChange, disabled: disabled, tabs: tabs, availableItems: availableItems, tabsTitle: 'Status Bar Panels', unusedPanelTitle: "Available Status Panels", dragItemText: "Drag into a Status Bar Panel below" })) : (React.createElement(EmptyContent_1.default, null, "To enable this feature add to Grid Options statusPanels the Adaptable Status Panel."))));
|
|
42
|
+
}, onTabsChange: handleTabChange, disabled: disabled, tabs: tabs, availableItems: availableItems, tabsTitle: 'AdapTable Status Bar Panels', unusedPanelTitle: "Available Module Status Panels", dragItemText: "Drag into a Status Bar Panel below" })) : (React.createElement(EmptyContent_1.default, null, "To enable this feature add to Grid Options statusPanels the Adaptable Status Panel."))));
|
|
43
43
|
};
|
|
44
44
|
exports.StatusBarPopup = StatusBarPopup;
|
package/src/agGrid/Adaptable.js
CHANGED
|
@@ -2935,12 +2935,14 @@ class Adaptable {
|
|
|
2935
2935
|
this.prepareGrid();
|
|
2936
2936
|
}
|
|
2937
2937
|
updateColumnFilterActiveState() {
|
|
2938
|
+
var _a;
|
|
2938
2939
|
const columnFilters = this.api.filterApi.getColumnFilters();
|
|
2939
|
-
const
|
|
2940
|
+
const activeFilters = (_a = columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.filter) === null || _a === void 0 ? void 0 : _a.call(columnFilters, (columnFilter) => this.api.filterApi.isFilterActive(columnFilter));
|
|
2941
|
+
const isFilterActive = ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(activeFilters);
|
|
2940
2942
|
const columnsWithActiveFilters = {};
|
|
2941
2943
|
if (isFilterActive) {
|
|
2942
2944
|
// used in particular at init time to show the filter icon correctly
|
|
2943
|
-
for (const colFilter of
|
|
2945
|
+
for (const colFilter of activeFilters) {
|
|
2944
2946
|
const agGridCol = this.gridOptions.columnApi.getColumn(colFilter.ColumnId);
|
|
2945
2947
|
if (agGridCol) {
|
|
2946
2948
|
columnsWithActiveFilters[agGridCol.getColId()] = true;
|
|
@@ -43,7 +43,7 @@ function Dashboard(props) {
|
|
|
43
43
|
} }, child.props.title)))));
|
|
44
44
|
const renderTabsDropdown = () => {
|
|
45
45
|
var _a, _b, _c;
|
|
46
|
-
if (children && children.length
|
|
46
|
+
if (children && children.length < 2) {
|
|
47
47
|
return null;
|
|
48
48
|
}
|
|
49
49
|
const activeTabTitle = (_c = (_b = (_a = children === null || children === void 0 ? void 0 : children[activeTabIndex]) === null || _a === void 0 ? void 0 : _a.props) === null || _b === void 0 ? void 0 : _b.title) !== null && _c !== void 0 ? _c : 'Select Toolbar';
|
|
@@ -72,6 +72,7 @@ function Dashboard(props) {
|
|
|
72
72
|
const renderHomeToolbar = () => (React.createElement(DashboardToolbar_1.DashboardToolbar, { onConfigure: onShowDashboardPopup, className: "ab-Dashboard__home-toolbar", title: title, tooltip: `Configure Dashboard`, showConfigure: true, showClose: false, accessLevel: 'Full' },
|
|
73
73
|
left,
|
|
74
74
|
right,
|
|
75
|
+
children && children.length > 1,
|
|
75
76
|
renderTabsDropdown()));
|
|
76
77
|
return (React.createElement("div", {
|
|
77
78
|
// @ts-ignore
|
|
@@ -296,6 +296,11 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
296
296
|
kind: string;
|
|
297
297
|
description: string;
|
|
298
298
|
};
|
|
299
|
+
AdaptableDataChangeHistoryAction: {
|
|
300
|
+
name: string;
|
|
301
|
+
kind: string;
|
|
302
|
+
description: string;
|
|
303
|
+
};
|
|
299
304
|
AdaptableExternalIcon: {
|
|
300
305
|
name: string;
|
|
301
306
|
kind: string;
|
|
@@ -1693,6 +1698,28 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
1693
1698
|
name: string;
|
|
1694
1699
|
kind: string;
|
|
1695
1700
|
description: string;
|
|
1701
|
+
properties: ({
|
|
1702
|
+
name: string;
|
|
1703
|
+
kind: string;
|
|
1704
|
+
description: string;
|
|
1705
|
+
uiLabel: string;
|
|
1706
|
+
isOptional: boolean;
|
|
1707
|
+
reference: string;
|
|
1708
|
+
} | {
|
|
1709
|
+
name: string;
|
|
1710
|
+
kind: string;
|
|
1711
|
+
description: string;
|
|
1712
|
+
uiLabel: string;
|
|
1713
|
+
reference: string;
|
|
1714
|
+
isOptional?: undefined;
|
|
1715
|
+
} | {
|
|
1716
|
+
name: string;
|
|
1717
|
+
kind: string;
|
|
1718
|
+
description: string;
|
|
1719
|
+
uiLabel: string;
|
|
1720
|
+
isOptional?: undefined;
|
|
1721
|
+
reference?: undefined;
|
|
1722
|
+
})[];
|
|
1696
1723
|
};
|
|
1697
1724
|
CustomDestination: {
|
|
1698
1725
|
name: string;
|
|
@@ -1728,6 +1755,11 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
1728
1755
|
kind: string;
|
|
1729
1756
|
description: string;
|
|
1730
1757
|
};
|
|
1758
|
+
CustomRenderContext: {
|
|
1759
|
+
name: string;
|
|
1760
|
+
kind: string;
|
|
1761
|
+
description: string;
|
|
1762
|
+
};
|
|
1731
1763
|
CustomReport: {
|
|
1732
1764
|
name: string;
|
|
1733
1765
|
kind: string;
|
|
@@ -2021,6 +2053,29 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
2021
2053
|
uiLabel: string;
|
|
2022
2054
|
}[];
|
|
2023
2055
|
};
|
|
2056
|
+
DataChangeHistoryButton: {
|
|
2057
|
+
name: string;
|
|
2058
|
+
kind: string;
|
|
2059
|
+
description: string;
|
|
2060
|
+
};
|
|
2061
|
+
DataChangeHistoryContext: {
|
|
2062
|
+
name: string;
|
|
2063
|
+
kind: string;
|
|
2064
|
+
description: string;
|
|
2065
|
+
properties: ({
|
|
2066
|
+
name: string;
|
|
2067
|
+
kind: string;
|
|
2068
|
+
description: string;
|
|
2069
|
+
uiLabel: string;
|
|
2070
|
+
reference: string;
|
|
2071
|
+
} | {
|
|
2072
|
+
name: string;
|
|
2073
|
+
kind: string;
|
|
2074
|
+
description: string;
|
|
2075
|
+
uiLabel: string;
|
|
2076
|
+
reference?: undefined;
|
|
2077
|
+
})[];
|
|
2078
|
+
};
|
|
2024
2079
|
DataChangeHistoryOptions: {
|
|
2025
2080
|
name: string;
|
|
2026
2081
|
kind: string;
|
|
@@ -2084,6 +2139,18 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
2084
2139
|
reference: string;
|
|
2085
2140
|
}[];
|
|
2086
2141
|
};
|
|
2142
|
+
DataSetSelectedInfo: {
|
|
2143
|
+
name: string;
|
|
2144
|
+
kind: string;
|
|
2145
|
+
description: string;
|
|
2146
|
+
properties: {
|
|
2147
|
+
name: string;
|
|
2148
|
+
kind: string;
|
|
2149
|
+
description: string;
|
|
2150
|
+
uiLabel: string;
|
|
2151
|
+
reference: string;
|
|
2152
|
+
}[];
|
|
2153
|
+
};
|
|
2087
2154
|
DataUpdateConfig: {
|
|
2088
2155
|
name: string;
|
|
2089
2156
|
kind: string;
|
|
@@ -2125,6 +2192,19 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
2125
2192
|
name: string;
|
|
2126
2193
|
kind: string;
|
|
2127
2194
|
description: string;
|
|
2195
|
+
properties: ({
|
|
2196
|
+
name: string;
|
|
2197
|
+
kind: string;
|
|
2198
|
+
description: string;
|
|
2199
|
+
uiLabel: string;
|
|
2200
|
+
reference: string;
|
|
2201
|
+
} | {
|
|
2202
|
+
name: string;
|
|
2203
|
+
kind: string;
|
|
2204
|
+
description: string;
|
|
2205
|
+
uiLabel: string;
|
|
2206
|
+
reference?: undefined;
|
|
2207
|
+
})[];
|
|
2128
2208
|
};
|
|
2129
2209
|
EditActionRowContext: {
|
|
2130
2210
|
name: string;
|
|
@@ -2148,6 +2228,19 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
2148
2228
|
name: string;
|
|
2149
2229
|
kind: string;
|
|
2150
2230
|
description: string;
|
|
2231
|
+
properties: ({
|
|
2232
|
+
name: string;
|
|
2233
|
+
kind: string;
|
|
2234
|
+
description: string;
|
|
2235
|
+
uiLabel: string;
|
|
2236
|
+
reference: string;
|
|
2237
|
+
} | {
|
|
2238
|
+
name: string;
|
|
2239
|
+
kind: string;
|
|
2240
|
+
description: string;
|
|
2241
|
+
uiLabel: string;
|
|
2242
|
+
reference?: undefined;
|
|
2243
|
+
})[];
|
|
2151
2244
|
};
|
|
2152
2245
|
EditLookUpPermittedValues: {
|
|
2153
2246
|
name: string;
|
|
@@ -3129,6 +3222,11 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
3129
3222
|
kind: string;
|
|
3130
3223
|
description: string;
|
|
3131
3224
|
};
|
|
3225
|
+
LayoutAssociatedObjectLoadConfig: {
|
|
3226
|
+
name: string;
|
|
3227
|
+
kind: string;
|
|
3228
|
+
description: string;
|
|
3229
|
+
};
|
|
3132
3230
|
LayoutAvailableContext: {
|
|
3133
3231
|
name: string;
|
|
3134
3232
|
kind: string;
|