@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.
Files changed (63) hide show
  1. package/bundle.cjs.js +73 -73
  2. package/package.json +1 -1
  3. package/publishTimestamp.d.ts +1 -1
  4. package/publishTimestamp.js +1 -1
  5. package/src/AdaptableOptions/AdaptableFrameworkComponent.d.ts +3 -0
  6. package/src/AdaptableOptions/FinancePluginOptions.d.ts +1 -1
  7. package/src/AdaptableOptions/LayoutOptions.d.ts +7 -7
  8. package/src/Api/DataSetApi.d.ts +3 -3
  9. package/src/Api/EventApi.d.ts +9 -9
  10. package/src/Api/Events/ActionRowSubmitted.d.ts +24 -0
  11. package/src/Api/Events/DataSetSelected.d.ts +11 -0
  12. package/src/Api/Events/{DataSetChanged.js → DataSetSelected.js} +0 -0
  13. package/src/Api/FilterApi.d.ts +7 -0
  14. package/src/Api/Implementation/AlertApiImpl.d.ts +2 -4
  15. package/src/Api/Implementation/AlertApiImpl.js +2 -3
  16. package/src/Api/Implementation/ApiBase.d.ts +12 -1
  17. package/src/Api/Implementation/ApiBase.js +7 -0
  18. package/src/Api/Implementation/ConditionalStyleApiImpl.d.ts +2 -4
  19. package/src/Api/Implementation/ConditionalStyleApiImpl.js +2 -3
  20. package/src/Api/Implementation/CustomSortApiImpl.d.ts +2 -4
  21. package/src/Api/Implementation/CustomSortApiImpl.js +2 -3
  22. package/src/Api/Implementation/DataSetApiImpl.d.ts +1 -1
  23. package/src/Api/Implementation/DataSetApiImpl.js +3 -3
  24. package/src/Api/Implementation/FilterApiImpl.d.ts +8 -0
  25. package/src/Api/Implementation/FilterApiImpl.js +25 -0
  26. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +2 -4
  27. package/src/Api/Implementation/FlashingCellApiImpl.js +2 -3
  28. package/src/Api/Implementation/FormatColumnApiImpl.d.ts +2 -4
  29. package/src/Api/Implementation/FormatColumnApiImpl.js +2 -3
  30. package/src/Api/Implementation/InternalApiImpl.d.ts +1 -1
  31. package/src/Api/Implementation/InternalApiImpl.js +5 -4
  32. package/src/Api/Implementation/LayoutApiImpl.d.ts +0 -2
  33. package/src/Api/Implementation/LayoutApiImpl.js +0 -6
  34. package/src/Api/Implementation/PlusMinusApiImpl.d.ts +2 -4
  35. package/src/Api/Implementation/PlusMinusApiImpl.js +2 -3
  36. package/src/Api/Implementation/PredicateApiImpl.d.ts +1 -0
  37. package/src/Api/Implementation/PredicateApiImpl.js +3 -0
  38. package/src/Api/Implementation/ScheduleApiImpl.d.ts +6 -16
  39. package/src/Api/Implementation/ScheduleApiImpl.js +10 -16
  40. package/src/Api/Implementation/ShortcutApiImpl.d.ts +2 -4
  41. package/src/Api/Implementation/ShortcutApiImpl.js +2 -3
  42. package/src/Api/Implementation/TeamSharingApiImpl.d.ts +4 -0
  43. package/src/Api/Implementation/TeamSharingApiImpl.js +12 -0
  44. package/src/Api/InternalApi.d.ts +1 -1
  45. package/src/Api/LayoutApi.d.ts +1 -6
  46. package/src/Api/PredicateApi.d.ts +6 -0
  47. package/src/Api/TeamSharingApi.d.ts +15 -0
  48. package/src/Redux/Store/AdaptableStore.js +4 -1
  49. package/src/Strategy/Interface/IModule.d.ts +2 -1
  50. package/src/Strategy/LayoutModule.d.ts +2 -1
  51. package/src/Strategy/LayoutModule.js +51 -1
  52. package/src/View/Components/FilterForm/QuickFilterForm.js +1 -1
  53. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +2 -1
  54. package/src/View/GridInfo/GridInfoPopup.js +3 -1
  55. package/src/View/StatusBar/StatusBarPopup.js +1 -1
  56. package/src/agGrid/Adaptable.js +4 -2
  57. package/src/components/Dashboard/Dashboard.js +2 -1
  58. package/src/metamodel/adaptable.metamodel.d.ts +98 -0
  59. package/src/metamodel/adaptable.metamodel.js +1 -1
  60. package/src/types.d.ts +3 -2
  61. package/version.d.ts +1 -1
  62. package/version.js +1 -1
  63. 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, _b;
23
- return ((_b = (_a = this.getScheduleState().Reminders) === null || _a === void 0 ? void 0 : _a.filter((schedule) => (config === null || config === void 0 ? void 0 : config.includeLayoutNotAssociatedObjects) ||
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, _b;
56
- return ((_b = (_a = this.adaptable.api.exportApi
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, _b;
83
+ var _a;
87
84
  const ippApi = this.adaptable.api.pluginsApi.getipushpullPluginApi();
88
- return ((_b = (_a = ippApi === null || ippApi === void 0 ? void 0 : ippApi.getIPushPullSchedules()) === null || _a === void 0 ? void 0 : _a.filter((schedule) => (config === null || config === void 0 ? void 0 : config.includeLayoutNotAssociatedObjects) ||
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, _b;
113
+ var _a;
118
114
  const glue42Api = this.adaptable.api.pluginsApi.getGlue42PluginApi();
119
- return ((_b = (_a = glue42Api === null || glue42Api === void 0 ? void 0 : glue42Api.getGlue42Schedules()) === null || _a === void 0 ? void 0 : _a.filter((schedule) => (config === null || config === void 0 ? void 0 : config.includeLayoutNotAssociatedObjects) ||
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, _b;
143
+ var _a;
149
144
  const openFinApi = this.adaptable.api.pluginsApi.getOpenFinPluginApi();
150
- return ((_b = (_a = openFinApi === null || openFinApi === void 0 ? void 0 : openFinApi.getOpenFinSchedules()) === null || _a === void 0 ? void 0 : _a.filter((schedule) => (config === null || config === void 0 ? void 0 : config.includeLayoutNotAssociatedObjects) ||
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, _b;
14
- return ((_b = (_a = this.getShortcutState().Shortcuts) === null || _a === void 0 ? void 0 : _a.filter((shortcut) => (config === null || config === void 0 ? void 0 : config.includeLayoutNotAssociatedObjects) ||
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;
@@ -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;
@@ -1,4 +1,4 @@
1
- import { AdaptableColumn, ColumnSort, LayoutAssociatedObject } from '../../types';
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.fireDataSetChangeEvent(dataSet);
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: Extract<AdaptableModule, 'CalculatedColumn' | 'FreeTextColumn' | 'Query'>;
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 (predicate === null || predicate === void 0 ? void 0 : predicate.PredicateId) === 'Values' || (predicate === null || predicate === void 0 ? void 0 : predicate.PredicateId) === 'ExcludeValues';
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 data' : 'User edit';
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.getAllActionColumn().map((c) => c.columnId);
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;
@@ -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 isFilterActive = ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(columnFilters);
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 columnFilters) {
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 === 0) {
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;