@adaptabletools/adaptable 11.1.15 → 11.1.16

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 (146) hide show
  1. package/base.css +2 -0
  2. package/bundle.cjs.js +94 -94
  3. package/index.css +3 -0
  4. package/package.json +1 -1
  5. package/publishTimestamp.d.ts +1 -1
  6. package/publishTimestamp.js +1 -1
  7. package/src/AdaptableOptions/AlertOptions.d.ts +8 -2
  8. package/src/AdaptableOptions/DashboardOptions.d.ts +4 -3
  9. package/src/AdaptableOptions/ExportOptions.d.ts +2 -2
  10. package/src/AdaptableOptions/FilterOptions.d.ts +5 -4
  11. package/src/AdaptableOptions/LayoutOptions.d.ts +56 -10
  12. package/src/AdaptableOptions/ToolPanelOptions.d.ts +4 -3
  13. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +18 -16
  14. package/src/Api/AdaptableApi.d.ts +10 -0
  15. package/src/Api/ConfigApi.d.ts +3 -3
  16. package/src/Api/EventApi.d.ts +1 -0
  17. package/src/Api/Events/LayoutChanged.d.ts +1 -1
  18. package/src/Api/ExportApi.d.ts +16 -0
  19. package/src/Api/FinanceApi.d.ts +104 -3
  20. package/src/Api/Implementation/AdaptableApiImpl.d.ts +6 -0
  21. package/src/Api/Implementation/AdaptableApiImpl.js +53 -0
  22. package/src/Api/Implementation/AlertApiImpl.js +5 -5
  23. package/src/Api/Implementation/ApiBase.js +3 -0
  24. package/src/Api/Implementation/ConditionalStyleApiImpl.js +3 -3
  25. package/src/Api/Implementation/ConfigApiImpl.js +5 -1
  26. package/src/Api/Implementation/CustomSortApiImpl.js +4 -4
  27. package/src/Api/Implementation/EventApiImpl.d.ts +1 -0
  28. package/src/Api/Implementation/EventApiImpl.js +3 -0
  29. package/src/Api/Implementation/ExportApiImpl.d.ts +3 -0
  30. package/src/Api/Implementation/ExportApiImpl.js +10 -0
  31. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +1 -1
  32. package/src/Api/Implementation/FlashingCellApiImpl.js +7 -6
  33. package/src/Api/Implementation/FormatColumnApiImpl.js +5 -5
  34. package/src/Api/Implementation/InternalApiImpl.d.ts +11 -5
  35. package/src/Api/Implementation/InternalApiImpl.js +65 -3
  36. package/src/Api/Implementation/PlusMinusApiImpl.js +4 -7
  37. package/src/Api/Implementation/ScheduleApiImpl.d.ts +2 -1
  38. package/src/Api/Implementation/ScheduleApiImpl.js +15 -7
  39. package/src/Api/Implementation/ShortcutApiImpl.js +3 -3
  40. package/src/Api/InternalApi.d.ts +11 -7
  41. package/src/Api/LayoutApi.d.ts +4 -6
  42. package/src/Api/ScheduleApi.d.ts +5 -1
  43. package/src/PredefinedConfig/AlertState.d.ts +3 -3
  44. package/src/PredefinedConfig/Common/AdaptableButton.d.ts +2 -5
  45. package/src/PredefinedConfig/Common/AdaptableForm.d.ts +4 -3
  46. package/src/PredefinedConfig/Common/AdaptableObject.d.ts +18 -1
  47. package/src/PredefinedConfig/Common/AdaptablePredicate.js +9 -0
  48. package/src/PredefinedConfig/Common/BaseContext.d.ts +10 -0
  49. package/src/PredefinedConfig/Common/BaseContext.js +2 -0
  50. package/src/PredefinedConfig/Common/CellSummary.d.ts +3 -3
  51. package/src/PredefinedConfig/Common/FDC3Context.d.ts +9 -9
  52. package/src/PredefinedConfig/Common/Menu.d.ts +4 -13
  53. package/src/PredefinedConfig/DataSourceState.d.ts +2 -2
  54. package/src/PredefinedConfig/FilterState.d.ts +1 -1
  55. package/src/Redux/ActionsReducers/PopupRedux.d.ts +5 -5
  56. package/src/Redux/Store/AdaptableStore.d.ts +1 -0
  57. package/src/Redux/Store/AdaptableStore.js +6 -1
  58. package/src/Redux/Store/Interface/IAdaptableStore.d.ts +1 -0
  59. package/src/Strategy/AlertModule.js +3 -0
  60. package/src/Strategy/CalculatedColumnModule.d.ts +3 -17
  61. package/src/Strategy/CalculatedColumnModule.js +2 -0
  62. package/src/Strategy/ConditionalStyleModule.js +4 -1
  63. package/src/Strategy/CustomSortModule.js +2 -0
  64. package/src/Strategy/DataSourceModule.js +2 -0
  65. package/src/Strategy/ExportModule.d.ts +5 -3
  66. package/src/Strategy/ExportModule.js +10 -0
  67. package/src/Strategy/FlashingCellModule.js +2 -0
  68. package/src/Strategy/FormatColumnModule.js +2 -0
  69. package/src/Strategy/FreeTextColumnModule.js +2 -0
  70. package/src/Strategy/Interface/IModule.d.ts +5 -3
  71. package/src/Strategy/Interface/IScheduleModule.d.ts +1 -1
  72. package/src/Strategy/LayoutModule.d.ts +2 -1
  73. package/src/Strategy/LayoutModule.js +35 -2
  74. package/src/Strategy/PlusMinusModule.js +7 -4
  75. package/src/Strategy/QueryModule.d.ts +2 -8
  76. package/src/Strategy/QueryModule.js +2 -0
  77. package/src/Strategy/ScheduleModule.d.ts +4 -3
  78. package/src/Strategy/ScheduleModule.js +4 -2
  79. package/src/Strategy/ShortcutModule.js +6 -1
  80. package/src/Strategy/StatusBarModule.d.ts +2 -1
  81. package/src/Strategy/StatusBarModule.js +2 -3
  82. package/src/Strategy/Utilities/getObjectTagsViewItems.d.ts +4 -0
  83. package/src/Strategy/Utilities/getObjectTagsViewItems.js +13 -0
  84. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +2 -1
  85. package/src/Utilities/Emitter.d.ts +1 -0
  86. package/src/Utilities/Emitter.js +9 -0
  87. package/src/Utilities/Extensions/TypeExtensions.d.ts +2 -0
  88. package/src/Utilities/Interface/MessagePopups.d.ts +3 -3
  89. package/src/Utilities/ObjectFactory.d.ts +2 -2
  90. package/src/Utilities/Services/AlertService.js +1 -1
  91. package/src/Utilities/Services/DataService.js +1 -1
  92. package/src/Utilities/Services/Interface/IModuleService.d.ts +1 -1
  93. package/src/Utilities/Services/ModuleService.d.ts +1 -1
  94. package/src/Utilities/Services/ModuleService.js +1 -0
  95. package/src/View/Alert/AlertStatusSubPanel.js +2 -1
  96. package/src/View/Alert/Wizard/AlertWizard.js +9 -0
  97. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +9 -0
  98. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +1 -0
  99. package/src/View/Components/FilterForm/FilterForm.js +1 -1
  100. package/src/View/Components/FilterForm/QuickFilterForm.js +11 -7
  101. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +1 -1
  102. package/src/View/Components/Popups/AdaptableToaster.js +3 -1
  103. package/src/View/Components/Popups/FormPopups/FormPopups.d.ts +3 -3
  104. package/src/View/Components/TagValueSelector/index.d.ts +13 -0
  105. package/src/View/Components/TagValueSelector/index.js +22 -0
  106. package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.js +9 -0
  107. package/src/View/CustomSort/Wizard/CustomSortWizard.js +9 -0
  108. package/src/View/DataSource/Wizard/DataSourceSettingsWizard.js +1 -1
  109. package/src/View/DataSource/Wizard/DataSourceWizard.js +10 -0
  110. package/src/View/Export/ExportSelector.d.ts +4 -0
  111. package/src/View/Export/ExportSelector.js +75 -0
  112. package/src/View/Export/ExportViewPanel.js +6 -7
  113. package/src/View/Export/ReportExportDropdown.d.ts +2 -5
  114. package/src/View/Export/Wizard/NewReportWizard.js +9 -0
  115. package/src/View/Export/constants.d.ts +2 -0
  116. package/src/View/Export/constants.js +5 -0
  117. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +9 -0
  118. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +9 -0
  119. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +9 -0
  120. package/src/View/GridInfo/GridOptionsComponent.d.ts +0 -1
  121. package/src/View/GridInfo/GridOptionsComponent.js +0 -1
  122. package/src/View/Layout/LayoutCloneButton.d.ts +6 -0
  123. package/src/View/Layout/LayoutCloneButton.js +15 -0
  124. package/src/View/Layout/LayoutRadioSelector.d.ts +2 -1
  125. package/src/View/Layout/LayoutRadioSelector.js +1 -1
  126. package/src/View/Layout/LayoutStatusBarSubPanelPopover.js +6 -1
  127. package/src/View/Layout/Wizard/LayoutEditorWizard.d.ts +1 -0
  128. package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +9 -0
  129. package/src/View/Query/Wizard/NamedQueryWizard.js +9 -0
  130. package/src/View/Schedule/Wizard/ScheduleWizard.js +10 -0
  131. package/src/View/Shortcut/Wizard/ShortcutWizard.js +10 -0
  132. package/src/View/StatusBar/StatusBarPopup.js +1 -1
  133. package/src/View/Wizard/ObjectTagsWizardSection.d.ts +8 -0
  134. package/src/View/Wizard/ObjectTagsWizardSection.js +22 -0
  135. package/src/View/Wizard/OnePageAdaptableWizard.d.ts +1 -0
  136. package/src/View/Wizard/OnePageAdaptableWizard.js +12 -5
  137. package/src/agGrid/Adaptable.d.ts +12 -0
  138. package/src/agGrid/Adaptable.js +80 -45
  139. package/src/agGrid/createAgStatusPanelComponent.js +1 -0
  140. package/src/components/AdaptableFormComponent/AdaptableFormComponent.d.ts +8 -7
  141. package/src/components/ExpressionEditor/index.js +5 -2
  142. package/src/metamodel/adaptable.metamodel.d.ts +44 -2
  143. package/src/metamodel/adaptable.metamodel.js +222 -21
  144. package/src/types.d.ts +6 -5
  145. package/version.d.ts +1 -1
  146. package/version.js +1 -1
@@ -1,11 +1,11 @@
1
1
  import { ButtonStyle } from './ButtonStyle';
2
2
  import { AdaptableObject } from './AdaptableObject';
3
- import { AdaptableApi } from '../../Api/AdaptableApi';
4
3
  import { AdaptableIcon } from './AdaptableIcon';
4
+ import { BaseContext } from '../../types';
5
5
  /**
6
6
  * Defines a Button that appears in numerous places including Adaptable Form
7
7
  */
8
- export interface AdaptableButton<CONTEXT_TYPE extends ButtonContext> extends AdaptableObject {
8
+ export interface AdaptableButton<CONTEXT_TYPE extends BaseContext> extends AdaptableObject {
9
9
  /**
10
10
  * Label for Button - can be string or function that provides string
11
11
  */
@@ -35,6 +35,3 @@ export interface AdaptableButton<CONTEXT_TYPE extends ButtonContext> extends Ada
35
35
  */
36
36
  hidden?: (button: AdaptableButton<CONTEXT_TYPE>, context: CONTEXT_TYPE) => boolean;
37
37
  }
38
- export interface ButtonContext {
39
- adaptableApi: AdaptableApi;
40
- }
@@ -1,10 +1,11 @@
1
- import { AdaptableButton, ButtonContext } from './AdaptableButton';
1
+ import { AdaptableButton } from './AdaptableButton';
2
2
  import { AdaptableFormConfig } from '../../components/FormLayout';
3
+ import { BaseContext } from '../../types';
3
4
  export declare type AdaptableFormData = Record<string, any>;
4
5
  /**
5
6
  * Defines a form which appears dynamically; used by Alerts & Export Custom Destinations
6
7
  */
7
- export interface AdaptableForm<T extends ButtonContext> {
8
+ export interface AdaptableForm<T extends BaseContext> {
8
9
  /**
9
10
  * Title to appear in the Form
10
11
  */
@@ -54,4 +55,4 @@ export interface AdaptableFormField {
54
55
  label: string;
55
56
  }[];
56
57
  }
57
- export declare function getDefaultAdaptableFormData<T extends ButtonContext = ButtonContext>(formDef?: AdaptableForm<T>): Record<string, any>;
58
+ export declare function getDefaultAdaptableFormData<T extends BaseContext = BaseContext>(formDef?: AdaptableForm<T>): Record<string, any>;
@@ -8,11 +8,28 @@ export interface AdaptableObject {
8
8
  */
9
9
  Uuid?: TypeUuid;
10
10
  /**
11
- * Source of state object: 'Config' if provided via {@link AdaptableOptions.predefinedConfig}, 'User' or undefined for runtime state.
11
+ * Source of state object: 'Config' if provided via `AdaptableOptions.predefinedConfig`, 'User' or undefined for runtime state.
12
12
  */
13
13
  Source?: 'Config' | 'User';
14
14
  /**
15
15
  * Sets Entity to ReadOnly (overwriting a Strategy Entitlement of 'Full')
16
16
  */
17
17
  IsReadOnly?: boolean;
18
+ /**
19
+ * List of tags associated with the object
20
+ */
21
+ Tags?: AdaptableObjectTag[];
18
22
  }
23
+ /**
24
+ * Tag object defined as a label and a value
25
+ */
26
+ export declare type AdaptableObjectTag = {
27
+ /**
28
+ * Label for the tag
29
+ */
30
+ label: string;
31
+ /**
32
+ * Value for the tag
33
+ */
34
+ value: string | number;
35
+ };
@@ -31,6 +31,15 @@ exports.SystemPredicateDefs = [
31
31
  toString: ({ inputs }) => `IN (${inputs.join(', ')})`,
32
32
  shortcuts: ['#', '['],
33
33
  },
34
+ {
35
+ id: 'ExcludeValues',
36
+ label: 'Exclude Values',
37
+ icon: { text: '!IN' },
38
+ columnScope: { DataTypes: ['String', 'Number', 'Date'] },
39
+ moduleScope: ['filter'],
40
+ handler: ({ displayValue, inputs }) => inputs.length === 0 || !inputs.includes(displayValue),
41
+ toString: ({ inputs }) => `Exclude (${inputs.join(', ')})`,
42
+ },
34
43
  {
35
44
  id: 'Blanks',
36
45
  label: 'Blanks',
@@ -0,0 +1,10 @@
1
+ import { AdaptableApi } from '../../types';
2
+ /**
3
+ * Base Context object used in many functions provided by AdapTable
4
+ */
5
+ export interface BaseContext {
6
+ /**
7
+ * The Adaptable Api - included as a convenience
8
+ */
9
+ adaptableApi: AdaptableApi;
10
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -22,12 +22,12 @@ export interface CellSummaryOperation {
22
22
  /**
23
23
  * Function to run when a summary result is required
24
24
  */
25
- operationFunction: (operationParam: CellSummaryOperationParams) => any;
25
+ operationFunction: (operationContext: CellSummaryOperationContext) => any;
26
26
  }
27
27
  /**
28
- * Params provided to a custom Cell Summary Operation function
28
+ * Context provided to a custom Cell Summary Operation function
29
29
  */
30
- export interface CellSummaryOperationParams {
30
+ export interface CellSummaryOperationContext {
31
31
  /**
32
32
  * Currently selected cells
33
33
  */
@@ -34,7 +34,7 @@ export interface InstrumentContext extends FDC3Context {
34
34
  /**
35
35
  * Context type is always `instrument`
36
36
  */
37
- type: 'instrument';
37
+ type: 'fdc3.instrument';
38
38
  /**
39
39
  * Free text name of the Instrument
40
40
  */
@@ -62,7 +62,7 @@ export interface InstrumentListContext extends FDC3Context {
62
62
  /**
63
63
  * Context type is always `instrumentList`
64
64
  */
65
- type: 'instrumentList';
65
+ type: 'fdc3.instrumentList';
66
66
  /**
67
67
  * Free text name of list of Instruments (not set by AdapTable)
68
68
  */
@@ -83,7 +83,7 @@ export interface PositionContext extends FDC3Context {
83
83
  /**
84
84
  * Context type is always `position`
85
85
  */
86
- type: 'position';
86
+ type: 'fdc3.position';
87
87
  /**
88
88
  * The `InstrumentContext` of the relevant Instrument
89
89
  */
@@ -108,7 +108,7 @@ export interface PortfolioContext extends FDC3Context {
108
108
  /**
109
109
  * Context type is always `portfolio`
110
110
  */
111
- type: 'portfolio';
111
+ type: 'fdc3.portfolio';
112
112
  /**
113
113
  * Free text name of portfolio
114
114
  */
@@ -129,7 +129,7 @@ export interface ContactContext extends FDC3Context {
129
129
  /**
130
130
  * Context type is always `contact`
131
131
  */
132
- type: 'contact';
132
+ type: 'fdc3.contact';
133
133
  /**
134
134
  * Free text name of Contact
135
135
  */
@@ -151,7 +151,7 @@ export interface ContactListContext extends FDC3Context {
151
151
  /**
152
152
  * Context type is always `contactList`
153
153
  */
154
- type: 'contactList';
154
+ type: 'fdc3.contactList';
155
155
  /**
156
156
  * Free text name of Contact list
157
157
  */
@@ -172,7 +172,7 @@ export interface OrganizationContext extends FDC3Context {
172
172
  /**
173
173
  * Context type is always `organization`
174
174
  */
175
- type: 'organization';
175
+ type: 'fdc3.organization';
176
176
  /**
177
177
  * Free text name of Organization
178
178
  */
@@ -195,7 +195,7 @@ export interface CountryContext extends FDC3Context {
195
195
  /**
196
196
  * Context type is always `country`
197
197
  */
198
- type: 'country';
198
+ type: 'fdc3.country';
199
199
  /**
200
200
  * Free text name of Country
201
201
  */
@@ -227,4 +227,4 @@ export interface AdaptableFDC3EventInfo extends BaseEventInfo {
227
227
  */
228
228
  context: FDC3Context;
229
229
  }
230
- export declare type ContextType = 'instrument' | 'instrumentList' | 'position' | 'portfolio' | 'contact' | 'contactList' | 'organization' | 'country';
230
+ export declare type ContextType = 'fdc3.instrument' | 'fdc3.instrumentList' | 'fdc3.position' | 'fdc3.portfolio' | 'fdc3.contact' | 'fdc3.contactList' | 'fdc3.organization' | 'fdc3.country';
@@ -2,10 +2,10 @@ import * as Redux from 'redux';
2
2
  import { GridCell } from '../Selection/GridCell';
3
3
  import { AdaptableColumn } from './AdaptableColumn';
4
4
  import { AdaptableModule } from './Types';
5
- import { AdaptableApi } from '../../Api/AdaptableApi';
6
5
  import { SelectedCellInfo } from '../Selection/SelectedCellInfo';
7
6
  import { SelectedRowInfo } from '../Selection/SelectedRowInfo';
8
7
  import { Column, RowNode } from '@ag-grid-community/all-modules';
8
+ import { BaseContext } from '../../types';
9
9
  /**
10
10
  * Menu item used by Adaptable in both Column and Context Menus
11
11
  */
@@ -42,7 +42,7 @@ export interface AdaptableMenuItem {
42
42
  /**
43
43
  * Menu Item which is added to Column Header or Context Menu, and can contain sub items
44
44
  */
45
- export interface UserMenuItem<CONTEXT_TYPE extends BaseMenuContext> {
45
+ export interface UserMenuItem<CONTEXT_TYPE extends BaseContext> {
46
46
  /**
47
47
  * Text that will appear in the Menu Item
48
48
  */
@@ -68,19 +68,10 @@ export interface UserMenuItem<CONTEXT_TYPE extends BaseMenuContext> {
68
68
  */
69
69
  subMenuItems?: UserMenuItem<CONTEXT_TYPE>[];
70
70
  }
71
- /**
72
- * Base Context object used for both Column and Context Menu Context
73
- */
74
- export interface BaseMenuContext {
75
- /**
76
- * The Adaptable Api - included as a convenience
77
- */
78
- adaptableApi: AdaptableApi;
79
- }
80
71
  /**
81
72
  * Provides full details about the Column in which the Column Menu will appear
82
73
  */
83
- export interface ColumnMenuContext extends BaseMenuContext {
74
+ export interface ColumnMenuContext extends BaseContext {
84
75
  /**
85
76
  * Current Adaptable Column
86
77
  */
@@ -97,7 +88,7 @@ export interface ColumnMenuContext extends BaseMenuContext {
97
88
  /**
98
89
  * Provides full details about current cell (and selected cells) where the Context Menu will appear
99
90
  */
100
- export interface ContextMenuContext extends BaseMenuContext {
91
+ export interface ContextMenuContext extends BaseContext {
101
92
  /**
102
93
  * Cell that has been clicked; contains cell value
103
94
  */
@@ -1,7 +1,7 @@
1
1
  import { ConfigState } from './ConfigState';
2
2
  import { AdaptableObject } from './Common/AdaptableObject';
3
3
  import { AdaptableForm } from './Common/AdaptableForm';
4
- import { ButtonContext } from './Common/AdaptableButton';
4
+ import { BaseContext } from '../types';
5
5
  /**
6
6
  * Predefined Configuration for Data Source Module
7
7
  */
@@ -30,5 +30,5 @@ export interface DataSource extends AdaptableObject {
30
30
  /**
31
31
  * Params for DataSource pops up a form
32
32
  */
33
- Form?: AdaptableForm<ButtonContext>;
33
+ Form?: AdaptableForm<BaseContext>;
34
34
  }
@@ -48,4 +48,4 @@ export interface ColumnFilterPredicate extends AdaptablePredicate {
48
48
  PredicateId: TypeHint<string, SystemFilterPredicateId>;
49
49
  }
50
50
  export declare type SystemFilterPredicateIds = SystemFilterPredicateId[];
51
- export declare type SystemFilterPredicateId = 'Values' | 'Blanks' | 'NonBlanks' | 'Equals' | 'NotEquals' | 'GreaterThan' | 'LessThan' | 'Positive' | 'Negative' | 'Zero' | 'Between' | 'NotBetween' | 'Is' | 'IsNot' | 'Contains' | 'NotContains' | 'StartsWith' | 'EndsWith' | 'Regex' | 'Today' | 'Yesterday' | 'Tomorrow' | 'ThisWeek' | 'ThisMonth' | 'ThisQuarter' | 'ThisYear' | 'InPast' | 'InFuture' | 'Before' | 'After' | 'InRange' | 'On' | 'NotOn' | 'NextWorkDay' | 'LastWorkDay' | 'True' | 'False' | 'BooleanToggle';
51
+ export declare type SystemFilterPredicateId = 'Values' | 'ExcludeValues' | 'Blanks' | 'NonBlanks' | 'Equals' | 'NotEquals' | 'GreaterThan' | 'LessThan' | 'Positive' | 'Negative' | 'Zero' | 'Between' | 'NotBetween' | 'Is' | 'IsNot' | 'Contains' | 'NotContains' | 'StartsWith' | 'EndsWith' | 'Regex' | 'Today' | 'Yesterday' | 'Tomorrow' | 'ThisWeek' | 'ThisMonth' | 'ThisQuarter' | 'ThisYear' | 'InPast' | 'InFuture' | 'Before' | 'After' | 'InRange' | 'On' | 'NotOn' | 'NextWorkDay' | 'LastWorkDay' | 'True' | 'False' | 'BooleanToggle';
@@ -4,7 +4,7 @@ import { InputAction, UIPrompt, UIConfirmation } from '../../Utilities/Interface
4
4
  import { ModuleParams } from '../../View/Components/SharedProps/ModuleViewPopupProps';
5
5
  import { AdaptableModule } from '../../PredefinedConfig/Common/Types';
6
6
  import { AdaptableAlert } from '../../PredefinedConfig/Common/AdaptableAlert';
7
- import { AdaptableForm, ButtonContext } from '../../types';
7
+ import { AdaptableForm, BaseContext } from '../../types';
8
8
  export declare const POPUP_SHOW_SCREEN = "POPUP_SHOW_SCREEN";
9
9
  export declare const POPUP_HIDE_SCREEN = "POPUP_HIDE_SCREEN";
10
10
  export declare const POPUP_SHOW_LOADING = "POPUP_SHOW_LOADING";
@@ -43,9 +43,9 @@ export interface PopupHideWindowAction extends Redux.Action {
43
43
  }
44
44
  export interface PopupShowFormAction extends Redux.Action {
45
45
  Id: string;
46
- Form: AdaptableForm<ButtonContext>;
46
+ Form: AdaptableForm<BaseContext>;
47
47
  FormProps: any;
48
- prepareContext?: (context: ButtonContext) => Promise<ButtonContext> | ButtonContext;
48
+ prepareContext?: (context: BaseContext) => Promise<BaseContext> | BaseContext;
49
49
  }
50
50
  export interface PopupHideFormAction extends Redux.Action {
51
51
  Id: string;
@@ -89,9 +89,9 @@ export declare const PopupShowWindow: (config: {
89
89
  export declare const PopupHideWindow: (id: string) => PopupHideWindowAction;
90
90
  export declare const PopupShowForm: (config: {
91
91
  Id: string;
92
- Form: AdaptableForm<ButtonContext>;
92
+ Form: AdaptableForm<BaseContext>;
93
93
  FormProps?: any;
94
- prepareContext?: (context: ButtonContext) => Promise<ButtonContext> | ButtonContext;
94
+ prepareContext?: (context: BaseContext) => Promise<BaseContext> | BaseContext;
95
95
  }) => PopupShowFormAction;
96
96
  export declare const PopupHideForm: (id: string) => PopupHideFormAction;
97
97
  export declare const PopupShowAlert: (alert: AdaptableAlert) => PopupShowAlertAction;
@@ -39,6 +39,7 @@ export declare class AdaptableStore implements IAdaptableStore {
39
39
  * @param isAgGridReady A promise which is resolved when AG Grid is ready for binding
40
40
  */
41
41
  constructor(adaptable: IAdaptable, isAgGridReady: Promise<any>);
42
+ destroy(): void;
42
43
  getCurrentStorageState(): AdaptableState;
43
44
  saveStateNow(adaptable: IAdaptable): Promise<any>;
44
45
  loadStore: (adaptable: IAdaptable, adaptableStateKey: string, predefinedConfig?: PredefinedConfig) => Promise<any>;
@@ -254,6 +254,11 @@ class AdaptableStore {
254
254
  this.storageEngine = storageEngine;
255
255
  this.loadStore(adaptable, adaptable.adaptableOptions.adaptableStateKey);
256
256
  }
257
+ destroy() {
258
+ var _a;
259
+ (_a = this.emitter) === null || _a === void 0 ? void 0 : _a.clearListeners();
260
+ this.emitter = null;
261
+ }
257
262
  getCurrentStorageState() {
258
263
  return this.currentStorageState;
259
264
  }
@@ -773,7 +778,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
773
778
  case ScheduleRedux.OPENFIN_SCHEDULE_UNSUSPEND: {
774
779
  let returnAction = next(action);
775
780
  let module = (adaptable.adaptableModules.get(ModuleConstants.ScheduleModuleId));
776
- module.setUpSechduleJobs();
781
+ module.setUpScheduleJobs();
777
782
  return returnAction;
778
783
  }
779
784
  /*******************
@@ -11,4 +11,5 @@ export interface IAdaptableStore {
11
11
  on: (eventName: string, callback: (data?: any) => any) => () => void;
12
12
  onAny: (callback: (eventName: string, data?: any) => any) => () => void;
13
13
  emit: (eventName: string, data: any) => Promise<any>;
14
+ destroy: () => void;
14
15
  }
@@ -16,6 +16,7 @@ const getAlertPreviewViewItems_1 = require("./Utilities/getAlertPreviewViewItems
16
16
  const getAlertBehaviourViewItems_1 = require("./Utilities/getAlertBehaviourViewItems");
17
17
  const AlertEmptyView_1 = require("../View/Alert/AlertEmptyView");
18
18
  const AlertStatusSubPanel_1 = require("../View/Alert/AlertStatusSubPanel");
19
+ const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
19
20
  class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
20
21
  constructor(api) {
21
22
  super(ModuleConstants.AlertModuleId, 'Alert', 'alert', 'AlertPopup', 'Get notified when things happen in Adaptable that you need to know about', api);
@@ -154,6 +155,7 @@ class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
154
155
  });
155
156
  }
156
157
  handleReactiveAlertTriggered(reactiveAlertInfo) {
158
+ // TODO - suppress Notification if alert is not relevant for layout
157
159
  var _a;
158
160
  // the row node data is most probably stale because the reactive queries buffer the changed data
159
161
  // so we have to refresh it
@@ -249,6 +251,7 @@ class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
249
251
  getRuleViewItems_1.getRuleViewItems(alert.Rule, this.api),
250
252
  getAlertBehaviourViewItems_1.getAlertBehaviourViewItems(),
251
253
  getAlertPreviewViewItems_1.getAlertPreviewViewItems(alert, this.api),
254
+ getObjectTagsViewItems_1.getObjectTagsViewItems(alert, this.api),
252
255
  ],
253
256
  abObject: alert,
254
257
  };
@@ -5,7 +5,7 @@ import { AdaptableMenuItem } from '../PredefinedConfig/Common/Menu';
5
5
  import * as CalculatedColumnRedux from '../Redux/ActionsReducers/CalculatedColumnRedux';
6
6
  import { TeamSharingImportInfo } from '../PredefinedConfig/TeamSharingState';
7
7
  import { CalculatedColumn } from '../PredefinedConfig/CalculatedColumnState';
8
- import { IModule } from './Interface/IModule';
8
+ import { AdaptableObjectItemView, IModule } from './Interface/IModule';
9
9
  import { AdaptableApi } from '../Api/AdaptableApi';
10
10
  import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
11
11
  export declare class CalculatedColumnModule extends AdaptableModuleBase implements IModule {
@@ -17,25 +17,11 @@ export declare class CalculatedColumnModule extends AdaptableModuleBase implemen
17
17
  addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
18
18
  getTeamSharingAction(): TeamSharingImportInfo<CalculatedColumn>;
19
19
  toView(calculateColumn: CalculatedColumn): {
20
- items: ({
21
- name: string;
22
- values: string[];
23
- } | {
24
- name: string;
25
- label: string;
26
- values: string[];
27
- })[];
20
+ items: AdaptableObjectItemView[];
28
21
  abObject: CalculatedColumn;
29
22
  };
30
23
  toViewAll(): {
31
- items: ({
32
- name: string;
33
- values: string[];
34
- } | {
35
- name: string;
36
- label: string;
37
- values: string[];
38
- })[];
24
+ items: AdaptableObjectItemView[];
39
25
  abObject: CalculatedColumn;
40
26
  }[];
41
27
  getViewProperties(): {
@@ -10,6 +10,7 @@ const getExpressionViewItems_1 = require("./Utilities/getExpressionViewItems");
10
10
  const CalculatedColumnWizard_1 = require("../View/CalculatedColumn/Wizard/CalculatedColumnWizard");
11
11
  const getCalculatedColumnSettingTags_1 = require("../View/CalculatedColumn/Utilities/getCalculatedColumnSettingTags");
12
12
  const ArrayExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/ArrayExtensions"));
13
+ const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
13
14
  class CalculatedColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
14
15
  constructor(api) {
15
16
  super(ModuleConstants.CalculatedColumnModuleId, 'Calculated Column', 'calculated-column', 'CalculatedColumnPopup', 'Create bespoke columns whose cell value is derived dynamically from an Expression', api);
@@ -84,6 +85,7 @@ class CalculatedColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
84
85
  values: settingsTags,
85
86
  });
86
87
  }
88
+ items.push(getObjectTagsViewItems_1.getObjectTagsViewItems(calculateColumn, this.api));
87
89
  return {
88
90
  items: items,
89
91
  abObject: calculateColumn,
@@ -12,6 +12,7 @@ const getScopeViewItems_1 = require("./Utilities/getScopeViewItems");
12
12
  const ConditionalStyleWizard_1 = require("../View/ConditionalStyle/Wizard/ConditionalStyleWizard");
13
13
  const getRuleViewItems_1 = require("./Utilities/getRuleViewItems");
14
14
  const getStyleViewItems_1 = require("./Utilities/getStyleViewItems");
15
+ const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
15
16
  class ConditionalStyleModule extends AdaptableModuleBase_1.AdaptableModuleBase {
16
17
  constructor(api) {
17
18
  super(ModuleConstants.ConditionalStyleModuleId, 'Conditional Style', 'conditional-style', 'ConditionalStylePopup', 'Style columns and rows dynamically based on rules and cell values', api);
@@ -37,7 +38,8 @@ class ConditionalStyleModule extends AdaptableModuleBase_1.AdaptableModuleBase {
37
38
  return this.api.queryApi.getReferencedNamedQueryNames(conditionalStyle.Rule.BooleanExpression);
38
39
  }
39
40
  updateOldConfig() {
40
- const conditionalStyles = this.api.conditionalStyleApi.getAllConditionalStyle();
41
+ var _a;
42
+ const conditionalStyles = (_a = this.api.conditionalStyleApi.getConditionalStyleState().ConditionalStyles) !== null && _a !== void 0 ? _a : [];
41
43
  let oldConditionalStyles = [];
42
44
  conditionalStyles.forEach((cs) => {
43
45
  if (cs) {
@@ -195,6 +197,7 @@ class ConditionalStyleModule extends AdaptableModuleBase_1.AdaptableModuleBase {
195
197
  name: 'Settings',
196
198
  values: [`Include grouped rows: ${conditionalStyle.IncludeGroupedRows ? 'Yes' : 'No'}`],
197
199
  },
200
+ getObjectTagsViewItems_1.getObjectTagsViewItems(conditionalStyle, this.api),
198
201
  ],
199
202
  abObject: conditionalStyle,
200
203
  };
@@ -8,6 +8,7 @@ const CustomSortRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/C
8
8
  const CustomSortWizard_1 = require("../View/CustomSort/Wizard/CustomSortWizard");
9
9
  const getCustomSortColumnViewItems_1 = require("./Utilities/getCustomSortColumnViewItems");
10
10
  const getCustomSortSortOrderViewItems_1 = require("./Utilities/getCustomSortSortOrderViewItems");
11
+ const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
11
12
  class CustomSortModule extends AdaptableModuleBase_1.AdaptableModuleBase {
12
13
  constructor(api) {
13
14
  super(ModuleConstants.CustomSortModuleId, 'Custom Sort', 'custom-sort', 'CustomSortPopup', 'Provide bespoke sorting information for Columns (in place of alphabetical sorting)', api);
@@ -54,6 +55,7 @@ class CustomSortModule extends AdaptableModuleBase_1.AdaptableModuleBase {
54
55
  items: [
55
56
  getCustomSortColumnViewItems_1.getCustomSortColumnViewItems(customSort, this.api),
56
57
  getCustomSortSortOrderViewItems_1.getCustomSortSortOrderViewItems(customSort),
58
+ getObjectTagsViewItems_1.getObjectTagsViewItems(customSort, this.api),
57
59
  ],
58
60
  abObject: customSort,
59
61
  };
@@ -6,6 +6,7 @@ const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
6
6
  const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
7
7
  const DataSourceRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/DataSourceRedux"));
8
8
  const DataSourceWizard_1 = require("../View/DataSource/Wizard/DataSourceWizard");
9
+ const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
9
10
  class DataSourceModule extends AdaptableModuleBase_1.AdaptableModuleBase {
10
11
  constructor(api) {
11
12
  super(ModuleConstants.DataSourceModuleId, 'Data Source', 'data-source', 'DataSourcePopup', 'Update the entire data set in AdapTable using pre-populated data sources', api);
@@ -37,6 +38,7 @@ class DataSourceModule extends AdaptableModuleBase_1.AdaptableModuleBase {
37
38
  label: 'Description',
38
39
  values: [(_a = dataSource.Description) !== null && _a !== void 0 ? _a : 'Not Specified'],
39
40
  },
41
+ getObjectTagsViewItems_1.getObjectTagsViewItems(dataSource, this.api),
40
42
  ],
41
43
  abObject: dataSource,
42
44
  };
@@ -31,10 +31,12 @@ export declare class ExportModule extends AdaptableModuleBase implements IExport
31
31
  toViewAll(): AdaptableObjectView[];
32
32
  getViewProperties(): {
33
33
  newTooltipText: string;
34
- actions: import("react").FunctionComponent<{
35
- data: Report;
36
- }>[];
34
+ actions: import("./Interface/IModule").AdaptableModuleViewAction[];
37
35
  getDeleteAction: (report: Report) => ExportRedux.ReportDeleteAction;
38
36
  getEditWizard(): (props: import("../View/Export/Wizard/NewReportWizard").NewReportWizardProps) => JSX.Element;
37
+ getStatusBarPanelProps: () => {
38
+ content: import("react").FunctionComponent<import("../View/Export/ExportSelector").ExportSelectorProps>;
39
+ triggerActionOnWrapperClick: boolean;
40
+ };
39
41
  };
40
42
  }
@@ -17,6 +17,8 @@ const NewReportWizard_1 = require("../View/Export/Wizard/NewReportWizard");
17
17
  const getExportColumnsViewItems_1 = require("./Utilities/getExportColumnsViewItems");
18
18
  const getExportRowsViewItems_1 = require("./Utilities/getExportRowsViewItems");
19
19
  const ReportExportDropdown_1 = require("../View/Export/ReportExportDropdown");
20
+ const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
21
+ const ExportSelector_1 = require("../View/Export/ExportSelector");
20
22
  class ExportModule extends AdaptableModuleBase_1.AdaptableModuleBase {
21
23
  constructor(api) {
22
24
  super(ModuleConstants.ExportModuleId, 'Export', 'export-data', 'ExportPopup', 'Export data from the Grid to numerous locations in numerous formatso', api);
@@ -212,6 +214,7 @@ class ExportModule extends AdaptableModuleBase_1.AdaptableModuleBase {
212
214
  name: 'Report',
213
215
  values: [report.Name],
214
216
  },
217
+ getObjectTagsViewItems_1.getObjectTagsViewItems(report, this.api),
215
218
  ],
216
219
  abObject: report,
217
220
  };
@@ -224,6 +227,7 @@ class ExportModule extends AdaptableModuleBase_1.AdaptableModuleBase {
224
227
  },
225
228
  getExportColumnsViewItems_1.getExportColumnsViewItems(report, this.api),
226
229
  getExportRowsViewItems_1.getExportRowsViewItems(report, this.api),
230
+ getObjectTagsViewItems_1.getObjectTagsViewItems(report, this.api),
227
231
  ],
228
232
  abObject: report,
229
233
  };
@@ -239,6 +243,12 @@ class ExportModule extends AdaptableModuleBase_1.AdaptableModuleBase {
239
243
  getEditWizard() {
240
244
  return NewReportWizard_1.NewReportWizard;
241
245
  },
246
+ getStatusBarPanelProps: () => {
247
+ return {
248
+ content: ExportSelector_1.ExportSelector,
249
+ triggerActionOnWrapperClick: false,
250
+ };
251
+ },
242
252
  };
243
253
  }
244
254
  }
@@ -14,6 +14,7 @@ const getFlashingCellDurationViewItems_1 = require("./Utilities/getFlashingCellD
14
14
  const getFlashingCellStyleViewItems_1 = require("./Utilities/getFlashingCellStyleViewItems");
15
15
  const FlashingCellWizard_1 = require("../View/FlashingCell/Wizard/FlashingCellWizard");
16
16
  const getFlashingTargetViewItems_1 = require("./Utilities/getFlashingTargetViewItems");
17
+ const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
17
18
  class FlashingCellModule extends AdaptableModuleBase_1.AdaptableModuleBase {
18
19
  constructor(api) {
19
20
  super(ModuleConstants.FlashingCellModuleId, 'Flashing Cell', 'flashing-cell', 'FlashingAlert', 'Flash cells when they change', api);
@@ -220,6 +221,7 @@ class FlashingCellModule extends AdaptableModuleBase_1.AdaptableModuleBase {
220
221
  getFlashingCellDurationViewItems_1.getFlashingCellDurationViewItems(flashingCell),
221
222
  getFlashingTargetViewItems_1.getFlashingTargetViewItems(flashingCell),
222
223
  getFlashingCellStyleViewItems_1.getFlashingCellStyleViewItems(),
224
+ getObjectTagsViewItems_1.getObjectTagsViewItems(flashingCell, this.api),
223
225
  ],
224
226
  abObject: flashingCell,
225
227
  };
@@ -12,6 +12,7 @@ const getScopeViewItems_1 = require("./Utilities/getScopeViewItems");
12
12
  const FormatColumnFormatWizardSection_1 = require("../View/FormatColumn/Wizard/FormatColumnFormatWizardSection");
13
13
  const getFormatColumnSettingsViewItems_1 = require("./Utilities/getFormatColumnSettingsViewItems");
14
14
  const getFormatColumnStyleViewItems_1 = require("./Utilities/getFormatColumnStyleViewItems");
15
+ const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
15
16
  class FormatColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
16
17
  constructor(api) {
17
18
  super(ModuleConstants.FormatColumnModuleId, 'Format Column', 'format-column', 'FormatColumnPopup', 'Create a column style, display format or cell alignment', api);
@@ -249,6 +250,7 @@ class FormatColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
249
250
  values: [FormatColumnFormatWizardSection_1.getFormatColumnFormatSummaryValue(formatColumn)],
250
251
  },
251
252
  getFormatColumnSettingsViewItems_1.getFormatColumnSettingsViewItems(formatColumn),
253
+ getObjectTagsViewItems_1.getObjectTagsViewItems(formatColumn, this.api),
252
254
  ],
253
255
  };
254
256
  }
@@ -6,6 +6,7 @@ const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
6
6
  const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
7
7
  const FreeTextColumnRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/FreeTextColumnRedux"));
8
8
  const FreeTextColumnWizard_1 = require("../View/FreeTextColumn/Wizard/FreeTextColumnWizard");
9
+ const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
9
10
  class FreeTextColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
10
11
  constructor(api) {
11
12
  super(ModuleConstants.FreeTextColumnModuleId, 'Free Text Column', 'freetext-column', 'FreeTextColumnPopup', 'Dynamic column showing custom content (stored in state and not with grid data)', api);
@@ -85,6 +86,7 @@ class FreeTextColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
85
86
  label: 'Editor',
86
87
  values: [freeTextColumn.TextEditor],
87
88
  },
89
+ getObjectTagsViewItems_1.getObjectTagsViewItems(freeTextColumn, this.api),
88
90
  ].filter(Boolean),
89
91
  };
90
92
  }
@@ -62,14 +62,16 @@ export interface AdaptableObjectView {
62
62
  */
63
63
  abObject: AdaptableObject;
64
64
  }
65
+ export declare type AdaptableModuleViewAction = React.FunctionComponent<{
66
+ data: AdaptableObject;
67
+ accessLevel: AccessLevel;
68
+ }>;
65
69
  export interface AdaptableModuleView {
66
70
  /**
67
71
  * List of actions.
68
72
  * Allows to add custom actions.
69
73
  */
70
- actions?: React.FunctionComponent<{
71
- data: AdaptableObject;
72
- }>[];
74
+ actions?: AdaptableModuleViewAction[];
73
75
  onOpenEditPopup?: (abObject?: AdaptableObject) => void;
74
76
  getDeleteAction?: (abObject: AdaptableObject) => Redux.Action;
75
77
  getSuspendAction?: (abObject: AdaptableObject) => Redux.Action;
@@ -1,4 +1,4 @@
1
1
  import { IModule } from './IModule';
2
2
  export interface IScheduleModule extends IModule {
3
- setUpSechduleJobs(): void;
3
+ setUpScheduleJobs(): void;
4
4
  }
@@ -35,7 +35,7 @@ export declare class LayoutModule extends AdaptableModuleBase implements IModule
35
35
  getViewProperties(): {
36
36
  actions: import("react").FunctionComponent<{
37
37
  data: Layout;
38
- id?: string;
38
+ accessLevel: import("../types").AccessLevel;
39
39
  }>[];
40
40
  getDeleteAction: (layout: Layout) => LayoutRedux.LayoutDeleteAction;
41
41
  onOpenEditPopup: (layout?: Layout) => void;
@@ -46,4 +46,5 @@ export declare class LayoutModule extends AdaptableModuleBase implements IModule
46
46
  extraActions: import("react").FunctionComponent<{}>[];
47
47
  };
48
48
  };
49
+ handleLayoutChange(): void;
49
50
  }