@adaptabletools/adaptable 11.1.3 → 11.1.6

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 (125) hide show
  1. package/bundle.cjs.js +139 -139
  2. package/package.json +3 -3
  3. package/publishTimestamp.d.ts +1 -1
  4. package/publishTimestamp.js +1 -1
  5. package/src/AdaptableInterfaces/IAdaptable.d.ts +1 -1
  6. package/src/AdaptableOptions/AdaptableOptions.d.ts +49 -49
  7. package/src/AdaptableOptions/DashboardOptions.d.ts +1 -1
  8. package/src/AdaptableOptions/EditOptions.d.ts +4 -0
  9. package/src/AdaptableOptions/FinancePluginOptions.d.ts +139 -9
  10. package/src/AdaptableOptions/OpenFinPluginOptions.d.ts +3 -3
  11. package/src/AdaptableOptions/SmartEdit.d.ts +34 -0
  12. package/src/AdaptableOptions/SmartEdit.js +2 -0
  13. package/src/Api/AdaptableApi.d.ts +4 -1
  14. package/src/Api/EventApi.d.ts +1 -1
  15. package/src/Api/Implementation/ColumnApiImpl.js +5 -2
  16. package/src/Api/Implementation/FilterApiImpl.js +8 -2
  17. package/src/Api/Implementation/FormatColumnApiImpl.d.ts +1 -1
  18. package/src/Api/Implementation/FormatColumnApiImpl.js +11 -7
  19. package/src/Api/Implementation/GridApiImpl.d.ts +3 -3
  20. package/src/Api/Implementation/GridApiImpl.js +6 -8
  21. package/src/Api/Implementation/InternalApiImpl.d.ts +4 -0
  22. package/src/Api/Implementation/InternalApiImpl.js +9 -0
  23. package/src/Api/Implementation/ScopeApiImpl.d.ts +2 -0
  24. package/src/Api/Implementation/ScopeApiImpl.js +12 -0
  25. package/src/Api/Implementation/SmartEditApiImpl.d.ts +3 -2
  26. package/src/Api/Implementation/ThemeApiImpl.d.ts +1 -0
  27. package/src/Api/Implementation/ThemeApiImpl.js +3 -0
  28. package/src/Api/InternalApi.d.ts +4 -0
  29. package/src/Api/ScopeApi.d.ts +10 -0
  30. package/src/Api/SmartEditApi.d.ts +3 -2
  31. package/src/Api/ThemeApi.d.ts +4 -0
  32. package/src/PredefinedConfig/Common/AdaptableFormat.d.ts +8 -0
  33. package/src/PredefinedConfig/Common/FDC3Context.d.ts +144 -3
  34. package/src/PredefinedConfig/Common/Menu.d.ts +4 -0
  35. package/src/PredefinedConfig/ExportState.d.ts +0 -5
  36. package/src/PredefinedConfig/PopupState.d.ts +2 -1
  37. package/src/PredefinedConfig/SystemState.d.ts +2 -5
  38. package/src/Redux/ActionsReducers/PopupRedux.d.ts +22 -3
  39. package/src/Redux/ActionsReducers/PopupRedux.js +42 -8
  40. package/src/Redux/ActionsReducers/SystemRedux.d.ts +5 -23
  41. package/src/Redux/ActionsReducers/SystemRedux.js +3 -32
  42. package/src/Redux/Store/AdaptableStore.js +11 -1
  43. package/src/Strategy/AlertModule.js +5 -4
  44. package/src/Strategy/CalculatedColumnModule.js +1 -1
  45. package/src/Strategy/ExportModule.js +14 -4
  46. package/src/Strategy/SmartEditModule.d.ts +2 -2
  47. package/src/Strategy/SmartEditModule.js +24 -13
  48. package/src/Strategy/Utilities/getExportColumnsViewItems.js +1 -1
  49. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +1 -1
  50. package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +4 -2
  51. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +1 -1
  52. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +0 -3
  53. package/src/Utilities/Helpers/FormatHelper.js +6 -0
  54. package/src/Utilities/Interface/MessagePopups.d.ts +12 -0
  55. package/src/Utilities/Services/AlertService.d.ts +3 -3
  56. package/src/Utilities/Services/AlertService.js +6 -6
  57. package/src/Utilities/Services/CalculatedColumnExpressionService.d.ts +3 -3
  58. package/src/Utilities/Services/CalculatedColumnExpressionService.js +20 -20
  59. package/src/Utilities/Services/EntitlementService.d.ts +3 -3
  60. package/src/Utilities/Services/EntitlementService.js +12 -8
  61. package/src/Utilities/Services/Interface/IReportService.d.ts +1 -1
  62. package/src/Utilities/Services/MetamodelService.d.ts +3 -3
  63. package/src/Utilities/Services/MetamodelService.js +4 -4
  64. package/src/Utilities/Services/ModuleService.d.ts +3 -3
  65. package/src/Utilities/Services/ModuleService.js +12 -12
  66. package/src/Utilities/Services/QueryLanguageService.d.ts +3 -3
  67. package/src/Utilities/Services/QueryLanguageService.js +20 -19
  68. package/src/Utilities/Services/ReportService.d.ts +4 -4
  69. package/src/Utilities/Services/ReportService.js +50 -44
  70. package/src/Utilities/Services/TeamSharingService.d.ts +3 -3
  71. package/src/Utilities/Services/TeamSharingService.js +19 -16
  72. package/src/Utilities/Services/ValidationService.d.ts +3 -3
  73. package/src/Utilities/Services/ValidationService.js +19 -17
  74. package/src/View/AdaptableView.js +2 -2
  75. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +46 -9
  76. package/src/View/Alert/Wizard/AlertWizard.js +22 -24
  77. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +5 -5
  78. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +3 -3
  79. package/src/View/Components/Popups/FormPopups/FormPopups.d.ts +10 -0
  80. package/src/View/Components/Popups/FormPopups/FormPopups.js +37 -0
  81. package/src/View/Components/Popups/WindowPopups/WindowPopups.js +1 -1
  82. package/src/View/Components/Selectors/ColumnSelector.js +1 -1
  83. package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +1 -3
  84. package/src/View/DataSource/DataSourceViewPanel.d.ts +3 -3
  85. package/src/View/DataSource/DataSourceViewPanel.js +15 -13
  86. package/src/View/Export/ExportViewPanel.d.ts +1 -3
  87. package/src/View/Export/ExportViewPanel.js +1 -17
  88. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +5 -1
  89. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.d.ts +1 -1
  90. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +15 -2
  91. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +2 -1
  92. package/src/View/GridInfo/AdaptableObjectsSummary.js +1 -1
  93. package/src/View/SmartEdit/SmartEditPopup.d.ts +3 -3
  94. package/src/View/SmartEdit/SmartEditPopup.js +15 -3
  95. package/src/View/SmartEdit/SmartEditViewPanel.d.ts +3 -4
  96. package/src/View/SmartEdit/SmartEditViewPanel.js +15 -6
  97. package/src/View/Wizard/OnePageAdaptableWizard.js +1 -1
  98. package/src/agGrid/Adaptable.d.ts +4 -4
  99. package/src/agGrid/Adaptable.js +37 -27
  100. package/src/agGrid/agGridMenuHelper.js +1 -0
  101. package/src/components/StylePreview.js +2 -2
  102. package/src/components/icons/analysis.d.ts +3 -0
  103. package/src/components/icons/analysis.js +8 -0
  104. package/src/components/icons/call.d.ts +3 -0
  105. package/src/components/icons/call.js +7 -0
  106. package/src/components/icons/chat.d.ts +3 -0
  107. package/src/components/icons/chat.js +8 -0
  108. package/src/components/icons/index.js +14 -0
  109. package/src/components/icons/instrument.d.ts +3 -0
  110. package/src/components/icons/instrument.js +8 -0
  111. package/src/components/icons/news.d.ts +3 -0
  112. package/src/components/icons/news.js +8 -0
  113. package/src/components/icons/person.d.ts +3 -0
  114. package/src/components/icons/person.js +7 -0
  115. package/src/components/icons/quote.d.ts +3 -0
  116. package/src/components/icons/quote.js +7 -0
  117. package/src/metamodel/adaptable.metamodel.d.ts +112 -5
  118. package/src/metamodel/adaptable.metamodel.js +219 -22
  119. package/src/types.d.ts +2 -2
  120. package/version.d.ts +1 -1
  121. package/version.js +1 -1
  122. package/src/View/Export/ExportCustomDestinationDialog.d.ts +0 -11
  123. package/src/View/Export/ExportCustomDestinationDialog.js +0 -47
  124. package/src/View/Export/ExportCustomDestinationFormPopups.d.ts +0 -5
  125. package/src/View/Export/ExportCustomDestinationFormPopups.js +0 -15
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaptabletools/adaptable",
3
- "version": "11.1.3",
3
+ "version": "11.1.6",
4
4
  "description": "Powerful data-agnostic HTML5 datagrid add-on that sits on top of an underlying grid component and provides all the rich functionality that advanced users expect from their DataGrids and Data Tables",
5
5
  "keywords": [
6
6
  "web-components",
@@ -39,10 +39,10 @@
39
39
  "normalize.css": "^8.0.1",
40
40
  "prop-types": "^15.6.2",
41
41
  "re-resizable": "^6.9.1",
42
- "react": ">=16.8.0",
42
+ "react": "^16.8.0 || ^17.0.0",
43
43
  "react-beautiful-dnd": "13.1.0",
44
44
  "react-day-picker": "8.0.0-beta.38",
45
- "react-dom": ">=16.8.0",
45
+ "react-dom": "^16.8.0 || ^17.0.0",
46
46
  "react-redux": "7.2.4",
47
47
  "react-remove-scroll": "2.4.2",
48
48
  "react-toastify": "8.1.0",
@@ -1,2 +1,2 @@
1
- declare const _default: 1648804784989;
1
+ declare const _default: 1650312974062;
2
2
  export default _default;
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = 1648804784989;
3
+ exports.default = 1650312974062;
@@ -151,7 +151,7 @@ export interface IAdaptable {
151
151
  }>;
152
152
  getDistinctCustomSortValuesForColumn(column: AdaptableColumn, visibleRowsOnly: boolean, skipRowNode?: RowNode): Promise<GridCell[]>;
153
153
  getDistinctBulkUpdateValuesForColumn(column: AdaptableColumn, visibleRowsOnly: boolean, selectedGridCells: GridCell[], skipRowNode?: RowNode): Promise<GridCell[]>;
154
- getDisplayValue(id: any, columnId: string): string;
154
+ getDisplayValue(id: any, columnId: string): string | undefined;
155
155
  getGridCellFromRowNode(rowNode: RowNode, columnId: string): GridCell | undefined;
156
156
  getRawValueFromRowNode(rowNode: RowNode, columnId: string): any;
157
157
  getDisplayValueFromRowNode(rowNode: RowNode, columnId: string): string | undefined;
@@ -33,10 +33,6 @@ export interface AdaptableOptions {
33
33
  * @gridInfoItem
34
34
  */
35
35
  adaptableId?: string;
36
- /**
37
- * Commercial license key. If the license is not provided or is expired, various visual information notes will be displayed and some functionality may be limited.
38
- */
39
- licenseKey?: string;
40
36
  /**
41
37
  * Identifier used as localStorage persistence key for AdaptableState
42
38
  *
@@ -44,6 +40,27 @@ export interface AdaptableOptions {
44
40
  * @gridInfoItem
45
41
  */
46
42
  adaptableStateKey?: string;
43
+ /**
44
+ * Will autogenerate a Primary Key; only use as a last resort if no unique column is available, as limits some Adaptable functionalities
45
+ *
46
+ * @defaultValue false
47
+ * @gridInfoItem
48
+ */
49
+ autogeneratePrimaryKey?: boolean;
50
+ /**
51
+ * The AG Grid object which AdapTable interacts with. Note: if using AdapTable React or AdapTable Angular, no need to populate this property as AdapTable wires it up differently
52
+ *
53
+ * @defaultValue n/a (Mandatory)
54
+ */
55
+ gridOptions?: GridOptions;
56
+ /**
57
+ * Commercial license key. If the license is not provided or is expired, various visual information notes will be displayed and some functionality may be limited.
58
+ */
59
+ licenseKey?: string;
60
+ /**
61
+ * AG Grid Modules that should be provided - needs to be provided separately
62
+ */
63
+ modules?: Module[];
47
64
  /**
48
65
  * User State set at design-time and shipped with AdapTable for first use; can be `PredefinedConfig` object or url to file containing config
49
66
  *
@@ -57,13 +74,6 @@ export interface AdaptableOptions {
57
74
  * @gridInfoItem
58
75
  */
59
76
  primaryKey: string;
60
- /**
61
- * Will autogenerate a Primary Key; only use as a last resort if no unique column is available, as limits some Adaptable functionalities
62
- *
63
- * @defaultValue false
64
- * @gridInfoItem
65
- */
66
- autogeneratePrimaryKey?: boolean;
67
77
  /**
68
78
  * Name of current AdapTable user
69
79
  *
@@ -72,21 +82,9 @@ export interface AdaptableOptions {
72
82
  */
73
83
  userName?: string;
74
84
  /**
75
- * The AG Grid object which AdapTable interacts with. Note: if using AdapTable React or AdapTable Angular, no need to populate this property as AdapTable wires it up differently
76
- *
77
- * @defaultValue n/a (Mandatory)
78
- */
79
- gridOptions?: GridOptions;
80
- /**
81
- * AG Grid Modules that should be provided - needs to be provided separately
82
- */
83
- modules?: Module[];
84
- /**
85
- * Options for managing Notifications in AdapTable
86
- *
87
- * @gridInfoContainer
85
+ * Options for managing AdapTableQL
88
86
  */
89
- notificationsOptions?: NotificationsOptions;
87
+ adaptableQLOptions?: AdaptableQLOptions;
90
88
  /**
91
89
  * Options for managing Alerts in AdapTable
92
90
  *
@@ -97,12 +95,22 @@ export interface AdaptableOptions {
97
95
  * Options for setting the 'Div' elements in which AdapTable, AG Grid, popups are placed
98
96
  */
99
97
  containerOptions?: ContainerOptions;
98
+ /**
99
+ * Predicate definitions provided by developers at Design-Time
100
+ */
101
+ customPredicateDefs?: AdaptablePredicateDef[];
100
102
  /**
101
103
  * Options related to managing the Dashboard in AdapTable
102
104
  *
103
105
  * @gridInfoContainer
104
106
  */
105
107
  dashboardOptions?: DashboardOptions;
108
+ /**
109
+ * Options to manage Data Change History Module which provides an overview of all data changes
110
+ *
111
+ * @gridInfoContainer
112
+ */
113
+ dataChangeHistoryOptions?: DataChangeHistoryOptions;
106
114
  /**
107
115
  * Options related to Editing in AdapTable including Server Validation
108
116
  *
@@ -121,6 +129,12 @@ export interface AdaptableOptions {
121
129
  * @gridInfoContainer
122
130
  */
123
131
  exportOptions?: ExportOptions;
132
+ /**
133
+ * Options for managing Filtering in AdapTable
134
+ *
135
+ * @gridInfoContainer
136
+ */
137
+ filterOptions?: FilterOptions;
124
138
  /**
125
139
  * Options for managing Flashing Cells - primarily default values
126
140
  *
@@ -145,6 +159,12 @@ export interface AdaptableOptions {
145
159
  * @gridInfoContainer
146
160
  */
147
161
  menuOptions?: MenuOptions;
162
+ /**
163
+ * Options for managing Notifications in AdapTable
164
+ *
165
+ * @gridInfoContainer
166
+ */
167
+ notificationsOptions?: NotificationsOptions;
148
168
  /**
149
169
  * Options for managing Search related functions in AdapTable
150
170
  *
@@ -152,11 +172,11 @@ export interface AdaptableOptions {
152
172
  */
153
173
  searchOptions?: SearchOptions;
154
174
  /**
155
- * Options for managing Filtering in AdapTable
175
+ * Setting panel options
156
176
  *
157
177
  * @gridInfoContainer
158
178
  */
159
- filterOptions?: FilterOptions;
179
+ settingsPanelOptions?: SettingsPanelOptions;
160
180
  /**
161
181
  * Options related to state hydration / dehydration - allows users to intercept state persistence and state loading and change default behavior of saving to local storage
162
182
  */
@@ -167,12 +187,6 @@ export interface AdaptableOptions {
167
187
  * @gridInfoContainer
168
188
  */
169
189
  teamSharingOptions?: TeamSharingOptions;
170
- /**
171
- * Options for managing the User Interface elements of AdapTable, i.e. Action Columns, Color Palette etc.
172
- *
173
- * @gridInfoContainer
174
- */
175
- userInterfaceOptions?: UserInterfaceOptions;
176
190
  /**
177
191
  * Options related to managing the Tool Panel elements in AdapTable
178
192
  *
@@ -180,27 +194,13 @@ export interface AdaptableOptions {
180
194
  */
181
195
  toolPanelOptions?: ToolPanelOptions;
182
196
  /**
183
- * Options for managing AdapTableQL
184
- */
185
- adaptableQLOptions?: AdaptableQLOptions;
186
- /**
187
- * Options to manage Data Change History Module which provides an overview of all data changes
197
+ * Options for managing the User Interface elements of AdapTable, i.e. Action Columns, Color Palette etc.
188
198
  *
189
199
  * @gridInfoContainer
190
200
  */
191
- dataChangeHistoryOptions?: DataChangeHistoryOptions;
201
+ userInterfaceOptions?: UserInterfaceOptions;
192
202
  /**
193
203
  * Used for managing the AdapTable Plugins
194
204
  */
195
205
  plugins?: AdaptablePlugin[];
196
- /**
197
- * Predicate definitions provided by developers at Design-Time
198
- */
199
- customPredicateDefs?: AdaptablePredicateDef[];
200
- /**
201
- * Setting panel options
202
- *
203
- * @gridInfoContainer
204
- */
205
- settingsPanelOptions?: SettingsPanelOptions;
206
206
  }
@@ -30,7 +30,7 @@ export interface DashboardOptions {
30
30
  */
31
31
  customToolbars?: CustomToolbar[];
32
32
  /**
33
- * Position in the Dashboard to show the Module and Custom Buttons
33
+ * Where in Dashboard to display Module and Custom Buttons
34
34
  * @defaultValue 'right'
35
35
  */
36
36
  buttonsLocation?: 'left' | 'right';
@@ -1,5 +1,6 @@
1
1
  import { CellDataChangedInfo } from '../PredefinedConfig/Common/CellDataChangedInfo';
2
2
  import { GridCell } from '../PredefinedConfig/Selection/GridCell';
3
+ import { SmartEditCustomOperation } from './SmartEdit';
3
4
  /**
4
5
  * Options related to Editing in Adaptable.
5
6
  *
@@ -21,6 +22,9 @@ export interface EditOptions {
21
22
  * Function which checks if given Grid Cell is editable
22
23
  */
23
24
  isCellEditable?: (gridCell: GridCell) => boolean;
25
+ smartEdit?: {
26
+ customOperations?: SmartEditCustomOperation[];
27
+ };
24
28
  }
25
29
  /**
26
30
  * Used for Server Validation ie. after an edit has been made in Adaptable which should be checked on the Server
@@ -1,19 +1,43 @@
1
+ import { RowNode } from '@ag-grid-community/all-modules';
2
+ import { GridCell } from '../../types';
1
3
  /**
2
4
  * Options required for when using the Finance plugin
3
5
  */
4
6
  export interface FinancePluginOptions {
5
7
  /**
6
- * Columns to be defined as (FDC3) Instrument
8
+ * Columns to be defined as FDC3
7
9
  */
8
- instrumentColumns?: InstrumentColumn[];
10
+ fdc3Columns?: {
11
+ /**
12
+ * FDC3 Instruments
13
+ */
14
+ instrumentColumns?: InstrumentColumn[];
15
+ /**
16
+ * FDC3 Positions
17
+ */
18
+ positionColumns?: PositionColumn[];
19
+ /**
20
+ * FDC3 Contacts
21
+ */
22
+ contactColumns?: ContactColumn[];
23
+ /**
24
+ * FDC3 Countries
25
+ */
26
+ countryColumns?: CountryColumn[];
27
+ /**
28
+ * FDC3 Organizations
29
+ */
30
+ organizationColumns?: OrganizationColumn[];
31
+ };
9
32
  /**
10
33
  * Columns to use a Weighted Average aggregation
11
34
  */
12
35
  weightedAverageColumns?: WeightedAverageColumn[];
13
36
  }
14
37
  /**
15
- * Defines an Column which have Weighted Average aggregation
16
- */ export interface WeightedAverageColumn {
38
+ * An Column which contains a Weighted Average aggregation
39
+ */
40
+ export interface WeightedAverageColumn {
17
41
  /**
18
42
  * Column which will contain the aggregation
19
43
  */
@@ -23,14 +47,36 @@ export interface FinancePluginOptions {
23
47
  */
24
48
  weightedColumnId: string;
25
49
  }
26
- /**
27
- * Defines an Column which will be defind as an (FDC3) Instrument
28
- */
29
- export interface InstrumentColumn {
50
+ export interface FDC3Column {
30
51
  /**
31
- * Column defined as an Instrument - its value provides the `name` property in the FDC3 message
52
+ * Id of Column defined as FDC3
32
53
  */
33
54
  columnId: string;
55
+ /**
56
+ * If provided, will supply `name` property in FDC3 message
57
+ */
58
+ name?: string;
59
+ /**
60
+ * Should Column display a 'Broadcast' context menu item
61
+ */
62
+ showBroadcastContextMenu?: boolean;
63
+ /**
64
+ * Label to display in Broadcast Context Menu Item
65
+ */
66
+ broadcastContextMenuLabel?: string | ((gridCell: GridCell, node: RowNode) => string);
67
+ /**
68
+ * FDC3 intents which the Column can raise
69
+ */
70
+ intents?: any;
71
+ /**
72
+ * Label to display in Intent Context Menu Item
73
+ */
74
+ intentContextMenuLabel?: string | ((intent: FDC3Intent, gridCell: GridCell, node: RowNode) => string);
75
+ }
76
+ /**
77
+ * A Column which will be defined as an FDC3 Instrument
78
+ */
79
+ export interface InstrumentColumn extends FDC3Column {
34
80
  /**
35
81
  * Column which holds a ticker value as instrument data
36
82
  */
@@ -63,4 +109,88 @@ export interface InstrumentColumn {
63
109
  * Column which holds a FIGI value as instrument data
64
110
  */
65
111
  figiColumnId?: string;
112
+ /**
113
+ * FDC3 Intents available to the Column
114
+ */
115
+ intents?: InstrumentIntents;
116
+ }
117
+ export declare type InstrumentIntents = InstrumentIntent[];
118
+ export declare type InstrumentIntent = 'ViewChart' | 'ViewQuote' | 'ViewNews' | 'ViewAnalysis' | 'ViewInstrument';
119
+ /**
120
+ * A (Numeric) Column which will be defined as an FDC3 Position
121
+ */
122
+ export interface PositionColumn extends FDC3Column {
123
+ /**
124
+ * Column which contains the Instrument information of the FDC3 Message
125
+ */
126
+ instrumentColumnId: string;
127
+ /**
128
+ * FDC3 Intents available to the Column
129
+ */
130
+ intents?: PositionIntents;
131
+ }
132
+ export declare type PositionIntents = PositionIntent[];
133
+ export declare type PositionIntent = 'ViewChart' | 'ViewNews' | 'ViewAnalysis';
134
+ /**
135
+ * A (String) Column which will be defined as an FDC3 Contact
136
+ * columnId and at least one other property is required
137
+ */
138
+ export interface ContactColumn extends FDC3Column {
139
+ /**
140
+ * Column which holds the email address of a Contact
141
+ */
142
+ emailColumnId?: string;
143
+ /**
144
+ * Column which holds an FDS_ID value a Contact
145
+ */
146
+ fds_IdColumnId?: string;
147
+ /**
148
+ * FDC3 Intents available to the Column
149
+ */
150
+ intents?: ContactIntents;
151
+ }
152
+ export declare type ContactIntents = ContactIntent[];
153
+ export declare type ContactIntent = 'StartCall' | 'StartChat' | 'ViewContact';
154
+ /**
155
+ * A (String) Column which will be defined as an FDC3 Organization
156
+ */
157
+ export interface OrganizationColumn extends FDC3Column {
158
+ /**
159
+ * Column which contains the LEI
160
+ */
161
+ leiColumnId?: string;
162
+ /**
163
+ * Column which contains a PermId
164
+ */
165
+ permIdColumnId?: string;
166
+ /**
167
+ * Column which contains an FDS_ID
168
+ */
169
+ fds_IdColumnId?: string;
170
+ /**
171
+ * FDC3 Intents available to the Column
172
+ */
173
+ intents?: OrganizationIntents;
174
+ }
175
+ export declare type OrganizationIntents = OrganizationIntent[];
176
+ export declare type OrganizationIntent = 'ViewNews' | 'ViewAnalysis';
177
+ /**
178
+ * A (String) Column which will be defined as an FDC3 Country
179
+ */
180
+ export interface CountryColumn extends FDC3Column {
181
+ /**
182
+ * Column which contains the ISOALPHA2 Standard
183
+ */
184
+ isoAlpha2ColumnId?: string;
185
+ /**
186
+ * Column which contains the ISOALPHA3 Standard
187
+ */
188
+ isoAlpha3ColumnId?: string;
189
+ /**
190
+ * FDC3 Intents available to the Column
191
+ */
192
+ intents?: CountryIntents;
66
193
  }
194
+ export declare type CountryIntents = CountryIntent[];
195
+ export declare type CountryIntent = 'ViewChart';
196
+ export declare type FDC3Intent = 'ViewChart' | 'ViewQuote' | 'ViewNews' | 'ViewAnalysis' | 'ViewInstrument' | 'StartCall' | 'StartChat' | 'ViewContact';
@@ -1,5 +1,5 @@
1
1
  import { AdaptableAlert } from '../PredefinedConfig/Common/AdaptableAlert';
2
- import { InstrumentContext } from '../PredefinedConfig/Common/FDC3Context';
2
+ import { AdaptableFDC3EventInfo } from '../PredefinedConfig/Common/FDC3Context';
3
3
  /**
4
4
  * Options required for when using the OpenFin plugin
5
5
  */
@@ -45,8 +45,8 @@ export interface OpenFinPluginOptions {
45
45
  */
46
46
  onValidationFailureInExcel?: 'override' | 'show-notification' | 'show-undo-notification';
47
47
  /**
48
- * Useful when you also use the finance plugin configured with instrumentColumns - values in cells in an instrument column can be broadcasted to fdc3, and this function
48
+ * Useful when you also use the finance plugin configured with fdc3 related columns - values in cells such columns can be broadcasted to fdc3, and this function
49
49
  * will be called for broadcasting. It's your job to broadcast to the desired fdc3 channel
50
50
  */
51
- broadcastFDC3Instrument?: (message: InstrumentContext) => void;
51
+ onFDC3MessageSent?: (eventInfo: AdaptableFDC3EventInfo) => void;
52
52
  }
@@ -0,0 +1,34 @@
1
+ import { MathOperation } from '../PredefinedConfig/Common/Enums';
2
+ import { AdaptableApi, AdaptableColumn, GridCell } from '../types';
3
+ export declare type SmartEditCustomOperation = {
4
+ /**
5
+ * Name of the operation, appears in the UI
6
+ */
7
+ Name: string;
8
+ /**
9
+ * Custom operation function
10
+ */
11
+ Operation: (context: {
12
+ /**
13
+ * Selected Cell Value
14
+ */
15
+ value: number;
16
+ /**
17
+ * Smart edit cell value
18
+ */
19
+ smartEditValue: number;
20
+ /**
21
+ * Selected column
22
+ */
23
+ column: AdaptableColumn;
24
+ /**
25
+ * Adaptable Api
26
+ */
27
+ adaptableApi: AdaptableApi;
28
+ /**
29
+ * Current selected grid cell
30
+ */
31
+ currentCell: GridCell;
32
+ }) => number;
33
+ };
34
+ export declare type SmartEditOperation = SmartEditCustomOperation | MathOperation;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -47,7 +47,6 @@ export interface AdaptableApi {
47
47
  * Provides access to the Alert Module
48
48
  */
49
49
  alertApi: AlertApi;
50
- flashingCellApi: FlashingCellApi;
51
50
  /**
52
51
  * Provides access to the Application Module
53
52
  */
@@ -104,6 +103,10 @@ export interface AdaptableApi {
104
103
  * Provides access to AdapTable's filtering functionality
105
104
  */
106
105
  filterApi: FilterApi;
106
+ /**
107
+ * Provides access to the Flashing Cell Module
108
+ */
109
+ flashingCellApi: FlashingCellApi;
107
110
  /**
108
111
  * Provides access to the Format Column Module
109
112
  */
@@ -211,5 +211,5 @@ export interface EventApi {
211
211
  off(eventName: 'AdaptableReady', callback: (adaptableReadyInfo: AdaptableReadyInfo) => void): void;
212
212
  emitSync(eventName: 'DashboardChanged', data?: any): any[];
213
213
  emitSync(eventName: 'FlashingCellDisplayed', data?: any): any[];
214
- emit(eventName: 'AdaptableReady' | 'AlertFired' | 'CheckboxColumnClicked' | 'CustomToolbarConfigured' | 'AdaptableStateChanged' | 'DashboardChanged' | 'CellChanged' | 'GridDataChanged' | 'LayoutChanged' | 'LiveDataChanged' | 'SearchChanged' | 'SelectionChanged' | 'SystemStatusMessageDisplayed' | 'TeamSharingEntityChanged' | 'ThemeChanged' | 'BroadcastInstrument', data?: any): Promise<any>;
214
+ emit(eventName: 'AdaptableReady' | 'AlertFired' | 'CheckboxColumnClicked' | 'CustomToolbarConfigured' | 'AdaptableStateChanged' | 'DashboardChanged' | 'CellChanged' | 'GridDataChanged' | 'LayoutChanged' | 'LiveDataChanged' | 'SearchChanged' | 'SelectionChanged' | 'SystemStatusMessageDisplayed' | 'TeamSharingEntityChanged' | 'ThemeChanged' | 'FDC3MessageSent', data?: any): Promise<any>;
215
215
  }
@@ -168,9 +168,12 @@ class ColumnApiImpl extends ApiBase_1.ApiBase {
168
168
  return !!this.getColumnFromId(columnId, false);
169
169
  }
170
170
  getColumnFromId(columnId, logWarning = true) {
171
+ if (columnId == undefined) {
172
+ return;
173
+ }
171
174
  // just return null if no columns rather than logging a warning - otherwise get lots at startup
172
175
  if (ArrayExtensions_1.default.IsNullOrEmpty(this.getColumns())) {
173
- return null;
176
+ return;
174
177
  }
175
178
  const foundColumn = this.getColumns().find((c) => c.columnId == columnId);
176
179
  if (foundColumn) {
@@ -291,7 +294,7 @@ class ColumnApiImpl extends ApiBase_1.ApiBase {
291
294
  const { gridCells, suppressClientSideFilter } = await this.adaptable.getDistinctFilterValuesForColumn(abColumn, false, filter);
292
295
  return {
293
296
  values: this.sortDistinctValues(gridCells, abColumn).map((cv) => {
294
- return cv.normalisedValue;
297
+ return cv.displayValue;
295
298
  }),
296
299
  suppressClientSideFilter,
297
300
  };
@@ -156,7 +156,7 @@ class FilterApiImpl extends ApiBase_1.ApiBase {
156
156
  return columnFilters.map((cf) => this.columnFilterToString(cf)).join(', ');
157
157
  }
158
158
  evaluateColumnFilter(columnFilter, node) {
159
- var _a;
159
+ var _a, _b;
160
160
  if (!columnFilter.Predicate) {
161
161
  return true;
162
162
  }
@@ -171,8 +171,14 @@ class FilterApiImpl extends ApiBase_1.ApiBase {
171
171
  if (!gridCell) {
172
172
  return true;
173
173
  }
174
+ let value = gridCell.normalisedValue;
175
+ if (((_b = columnFilter.Predicate) === null || _b === void 0 ? void 0 : _b.PredicateId) === 'Contains' && column.dataType === 'Date') {
176
+ // although 'Contains' Predicate is NOT relevant for Date columns, we have to handle the special case of QuickSearching
177
+ // in that case, we have to evaluate the displayedValue of the cell, not the normalisedValue (it's a textual search after all)
178
+ value = gridCell.displayValue;
179
+ }
174
180
  return this.adaptable.api.predicateApi.handlePredicate(columnFilter.Predicate, {
175
- value: gridCell.normalisedValue,
181
+ value: value,
176
182
  oldValue: null,
177
183
  displayValue: gridCell.normalisedValue,
178
184
  node,
@@ -12,7 +12,7 @@ export declare class FormatColumnApiImpl extends ApiBase implements FormatColumn
12
12
  getAllSuspendedFormatColumn(): FormatColumn[];
13
13
  getAllFormatColumnWithStyle(): FormatColumn[];
14
14
  getColumnComparisonForFormatColumn(formatColumn: FormatColumn): ColumnComparison | undefined;
15
- getColumnIdsFromColumnComparison(columnComparision: ColumnComparison): string[];
15
+ getColumnIdsFromColumnComparison(columnComparison: ColumnComparison): string[];
16
16
  getAllFormatColumnWithDisplayFormat(): FormatColumn[];
17
17
  getAllFormatColumnWithCellAlignment(): FormatColumn[];
18
18
  addFormatColumn(formatColumn: FormatColumn): FormatColumn;
@@ -40,15 +40,19 @@ class FormatColumnApiImpl extends ApiBase_1.ApiBase {
40
40
  }
41
41
  return undefined;
42
42
  }
43
- getColumnIdsFromColumnComparison(columnComparision) {
43
+ getColumnIdsFromColumnComparison(columnComparison) {
44
44
  let returnValues = [];
45
- let minIds = this.adaptable.api.columnApi.getColumnIdsFromId(columnComparision.MinValue.toString(), false);
46
- if (ArrayExtensions_1.default.IsNotNullOrEmpty(minIds)) {
47
- returnValues.push(...minIds);
45
+ if (typeof columnComparison.MinValue === 'string') {
46
+ let minIds = this.adaptable.api.columnApi.getColumnIdsFromId(columnComparison.MinValue, false);
47
+ if (ArrayExtensions_1.default.IsNotNullOrEmpty(minIds)) {
48
+ returnValues.push(...minIds);
49
+ }
48
50
  }
49
- let maxIds = this.adaptable.api.columnApi.getColumnIdsFromId(columnComparision.MaxValue.toString(), false);
50
- if (ArrayExtensions_1.default.IsNotNullOrEmpty(maxIds)) {
51
- returnValues.push(...maxIds);
51
+ if (typeof columnComparison.MaxValue === 'string') {
52
+ let maxIds = this.adaptable.api.columnApi.getColumnIdsFromId(columnComparison.MaxValue, false);
53
+ if (ArrayExtensions_1.default.IsNotNullOrEmpty(maxIds)) {
54
+ returnValues.push(...maxIds);
55
+ }
52
56
  }
53
57
  return returnValues;
54
58
  }
@@ -59,9 +59,9 @@ export declare class GridApiImpl extends ApiBase implements GridApi {
59
59
  getFirstRowNode(): RowNode;
60
60
  getFirstDisplayedRowNode(): RowNode;
61
61
  getVisibleRowNodes(): RowNode[];
62
- getGridCellFromRowNode(rowwNode: RowNode, columnId: string): GridCell | undefined;
63
- getRawValueFromRowNode(rowwNode: RowNode, columnId: string): any | undefined;
64
- getDisplayValueFromRowNode(rowwNode: RowNode, columnId: string): any | undefined;
62
+ getGridCellFromRowNode(rowNode: RowNode, columnId: string): GridCell | undefined;
63
+ getRawValueFromRowNode(rowNode: RowNode, columnId: string): any | undefined;
64
+ getDisplayValueFromRowNode(rowNode: RowNode, columnId: string): any | undefined;
65
65
  getFormattedValueFromRawValue(columnId: string, rawValue: any): string | undefined;
66
66
  getNormalisedValueFromRowNode(rowNode: RowNode, columnId: string): any | undefined;
67
67
  getRowNodesForPrimaryKeys(primaryKeyValues: any[]): RowNode[];
@@ -192,16 +192,14 @@ class GridApiImpl extends ApiBase_1.ApiBase {
192
192
  getVisibleRowNodes() {
193
193
  return this.adaptable.getVisibleRowNodes();
194
194
  }
195
- getGridCellFromRowNode(rowwNode, columnId) {
196
- return this.adaptable.getGridCellFromRowNode(rowwNode, columnId);
195
+ getGridCellFromRowNode(rowNode, columnId) {
196
+ return this.adaptable.getGridCellFromRowNode(rowNode, columnId);
197
197
  }
198
- getRawValueFromRowNode(rowwNode, columnId) {
199
- const gridCell = this.getGridCellFromRowNode(rowwNode, columnId);
200
- return gridCell ? gridCell.rawValue : undefined;
198
+ getRawValueFromRowNode(rowNode, columnId) {
199
+ return this.adaptable.getRawValueFromRowNode(rowNode, columnId);
201
200
  }
202
- getDisplayValueFromRowNode(rowwNode, columnId) {
203
- const gridCell = this.getGridCellFromRowNode(rowwNode, columnId);
204
- return gridCell ? gridCell.displayValue : undefined;
201
+ getDisplayValueFromRowNode(rowNode, columnId) {
202
+ return this.adaptable.getDisplayValueFromRowNode(rowNode, columnId);
205
203
  }
206
204
  getFormattedValueFromRawValue(columnId, rawValue) {
207
205
  return this.adaptable.getDisplayValueFromRawValue(columnId, rawValue);
@@ -33,6 +33,7 @@ import { AlertButtonForm, AlertDefinition } from '../../PredefinedConfig/AlertSt
33
33
  import { AdaptableMessageType } from '../../PredefinedConfig/Common/AdaptableMessageType';
34
34
  import { AdaptableFrameworkComponent } from '../../AdaptableOptions/AdaptableFrameworkComponent';
35
35
  import { IMetamodelService } from '../../Utilities/Services/Interface/IMetamodelService';
36
+ import { IModuleCollection } from '../../Strategy/Interface/IModule';
36
37
  export declare class InternalApiImpl extends ApiBase implements InternalApi {
37
38
  getSystemState(): SystemState;
38
39
  getAdaptableFormFromAlertForm(alertForm: string | AlertButtonForm, context: any, defaultMessageType?: AdaptableMessageType): (Omit<AdaptableForm<AlertButtonContext>, 'buttons'> & {
@@ -95,8 +96,11 @@ export declare class InternalApiImpl extends ApiBase implements InternalApi {
95
96
  getAlertService(): IAlertService;
96
97
  getTeamSharingService(): ITeamSharingService;
97
98
  getMetamodelService(): IMetamodelService;
99
+ getModules(): IModuleCollection;
98
100
  getModuleFriendlyName(adaptableModule: AdaptableModule): string;
99
101
  runModuleInAdaptableQL(adaptableQLModule: AdaptableQLModule): boolean;
102
+ forAllRowNodesDo(func: (rowNode: RowNode) => void): void;
103
+ forAllVisibleRowNodesDo(func: (rowNode: RowNode) => void): void;
100
104
  buildStandaloneColumnHeader(column: AdaptableColumn): AdaptableMenuItem[];
101
105
  clearFlashingCellState(): void;
102
106
  clearUpdatedRowState(): void;