@adaptabletools/adaptable 18.0.17 → 18.1.0-canary.1

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 (136) hide show
  1. package/agGrid.d.ts +4 -3
  2. package/agGrid.js +4 -3
  3. package/base.css +7 -2
  4. package/base.css.map +1 -1
  5. package/index.css +11 -2
  6. package/index.css.map +1 -1
  7. package/package.json +2 -2
  8. package/src/AdaptableInterfaces/IAdaptable.d.ts +3 -4
  9. package/src/AdaptableOptions/ActionColumnOptions.d.ts +1 -1
  10. package/src/AdaptableOptions/ColumnFilterOptions.d.ts +52 -11
  11. package/src/AdaptableOptions/ExportOptions.d.ts +20 -7
  12. package/src/AdaptableOptions/ExpressionOptions.d.ts +12 -2
  13. package/src/AdaptableOptions/Fdc3Options.d.ts +48 -43
  14. package/src/Api/ColumnApi.d.ts +5 -0
  15. package/src/Api/Events/Fdc3MessageInfo.d.ts +5 -7
  16. package/src/Api/ExpressionApi.d.ts +2 -2
  17. package/src/Api/Fdc3Api.d.ts +14 -19
  18. package/src/Api/Implementation/ColumnApiImpl.d.ts +1 -0
  19. package/src/Api/Implementation/ColumnApiImpl.js +3 -0
  20. package/src/Api/Implementation/ConfigApiImpl.js +3 -0
  21. package/src/Api/Implementation/Fdc3ApiImpl.d.ts +14 -16
  22. package/src/Api/Implementation/Fdc3ApiImpl.js +36 -12
  23. package/src/Api/Internal/AlertInternalApi.d.ts +17 -2
  24. package/src/Api/Internal/AlertInternalApi.js +196 -25
  25. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +2 -0
  26. package/src/Api/Internal/ColumnFilterInternalApi.js +20 -0
  27. package/src/Api/Internal/ExportInternalApi.d.ts +3 -3
  28. package/src/Api/Internal/ExportInternalApi.js +31 -17
  29. package/src/Api/Internal/ExpressionInternalApi.d.ts +5 -1
  30. package/src/Api/Internal/ExpressionInternalApi.js +79 -0
  31. package/src/Api/Internal/Fdc3InternalApi.d.ts +8 -10
  32. package/src/Api/Internal/Fdc3InternalApi.js +6 -10
  33. package/src/Api/Internal/GridInternalApi.d.ts +29 -13
  34. package/src/Api/Internal/GridInternalApi.js +129 -39
  35. package/src/PredefinedConfig/Common/AdaptableField.d.ts +18 -0
  36. package/src/PredefinedConfig/Common/AdaptableField.js +1 -0
  37. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  38. package/src/PredefinedConfig/Common/AdaptablePredicate.js +22 -1
  39. package/src/PredefinedConfig/Common/Fdc3Context.d.ts +7 -226
  40. package/src/PredefinedConfig/Common/Fdc3Context.js +43 -31
  41. package/src/PredefinedConfig/Common/Fdc3Intent.d.ts +6 -89
  42. package/src/PredefinedConfig/Common/Fdc3Intent.js +26 -73
  43. package/src/PredefinedConfig/Common/RowSummary.d.ts +2 -1
  44. package/src/PredefinedConfig/StyledColumnState.d.ts +1 -1
  45. package/src/Redux/ActionsReducers/FormatColumnRedux.js +0 -3
  46. package/src/Strategy/AdaptableModuleBase.js +1 -3
  47. package/src/Strategy/AlertModule.d.ts +1 -1
  48. package/src/Strategy/AlertModule.js +8 -8
  49. package/src/Utilities/Constants/DocumentationLinkConstants.js +4 -4
  50. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +3 -1
  51. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +1 -1
  52. package/src/Utilities/Services/Fdc3Service.d.ts +1 -1
  53. package/src/Utilities/Services/Fdc3Service.js +2 -2
  54. package/src/Utilities/Services/QueryLanguageService.d.ts +8 -4
  55. package/src/Utilities/Services/QueryLanguageService.js +105 -6
  56. package/src/Utilities/Services/ReportService.js +8 -5
  57. package/src/Utilities/Services/RowSummaryService.js +3 -1
  58. package/src/Utilities/divideBy100.d.ts +1 -0
  59. package/src/Utilities/divideBy100.js +30 -0
  60. package/src/Utilities/times100.d.ts +1 -0
  61. package/src/Utilities/times100.js +23 -0
  62. package/src/View/Alert/Wizard/AlertMessageWizardSection.js +1 -1
  63. package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +2 -2
  64. package/src/View/Alert/Wizard/AlertScopeWizardSection.js +2 -1
  65. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +1 -1
  66. package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.js +5 -5
  67. package/src/View/Components/EntityRulesEditor/index.d.ts +1 -0
  68. package/src/View/Components/EntityRulesEditor/index.js +11 -7
  69. package/src/View/Components/ExpressionWizard.js +1 -1
  70. package/src/View/Components/FilterForm/FilterForm.js +2 -2
  71. package/src/View/Components/FilterForm/ListBoxFilterForm.js +2 -1
  72. package/src/View/Components/FilterForm/QuickFilterValues.d.ts +1 -1
  73. package/src/View/Components/FilterForm/QuickFilterValues.js +5 -5
  74. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +6 -2
  75. package/src/View/Components/Selectors/FieldSelector.d.ts +13 -0
  76. package/src/View/Components/Selectors/FieldSelector.js +21 -0
  77. package/src/View/Components/Selectors/PermittedValuesSelector.js +9 -5
  78. package/src/View/Export/Wizard/ReportRowsWizardSection.js +1 -1
  79. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +1 -1
  80. package/src/View/GridFilter/GridFilterExpressionEditor.js +1 -1
  81. package/src/View/Layout/Wizard/sections/GridFilterSection.js +4 -2
  82. package/src/View/Layout/Wizard/sections/RowSummarySection.js +7 -1
  83. package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +1 -1
  84. package/src/View/Wizard/OnePageAdaptableWizard.js +3 -2
  85. package/src/agGrid/AdaptableAgGrid.d.ts +4 -6
  86. package/src/agGrid/AdaptableAgGrid.js +68 -49
  87. package/src/agGrid/AgGridColumnAdapter.d.ts +3 -0
  88. package/src/agGrid/AgGridColumnAdapter.js +22 -0
  89. package/src/agGrid/AgGridMenuAdapter.js +1 -1
  90. package/src/agGrid/FilterWrapper.js +12 -7
  91. package/src/agGrid/defaultAdaptableOptions.js +2 -2
  92. package/src/agGrid/editors/AdaptableDateEditor/InternalAdaptableDateEditor.d.ts +0 -1
  93. package/src/agGrid/editors/AdaptableDateEditor/InternalAdaptableDateEditor.js +0 -2
  94. package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +4 -16
  95. package/src/agGrid/editors/AdaptableDateEditor/index.js +5 -18
  96. package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +6 -1
  97. package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +4 -3
  98. package/src/agGrid/editors/AdaptableNumberEditor/index.js +5 -2
  99. package/src/agGrid/editors/AdaptablePercentageEditor/InternalAdaptablePercentageEditor.d.ts +23 -0
  100. package/src/agGrid/editors/AdaptablePercentageEditor/InternalAdaptablePercentageEditor.js +80 -0
  101. package/src/agGrid/editors/AdaptablePercentageEditor/index.d.ts +47 -0
  102. package/src/agGrid/editors/AdaptablePercentageEditor/index.js +148 -0
  103. package/src/components/Accordion.js +1 -1
  104. package/src/components/Datepicker/DatepickerContext.d.ts +0 -2
  105. package/src/components/Datepicker/index.js +3 -4
  106. package/src/components/ExpressionEditor/DataTableEditor.d.ts +17 -0
  107. package/src/components/ExpressionEditor/DataTableEditor.js +63 -0
  108. package/src/components/ExpressionEditor/EditorInput.js +22 -9
  109. package/src/components/ExpressionEditor/NamedQueryEditor.d.ts +5 -0
  110. package/src/components/ExpressionEditor/NamedQueryEditor.js +30 -0
  111. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilder.d.ts +10 -0
  112. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilder.js +7 -4
  113. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.d.ts +3 -2
  114. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +71 -13
  115. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +30 -22
  116. package/src/components/ExpressionEditor/QueryBuilder/utils.d.ts +9 -1
  117. package/src/components/ExpressionEditor/QueryBuilder/utils.js +41 -3
  118. package/src/components/ExpressionEditor/index.d.ts +3 -1
  119. package/src/components/ExpressionEditor/index.js +67 -94
  120. package/src/components/Input/NumberInput.d.ts +2 -1
  121. package/src/components/Input/NumberInput.js +7 -4
  122. package/src/components/OverlayTrigger/index.js +10 -6
  123. package/src/components/icons/column-outline.d.ts +3 -0
  124. package/src/components/icons/column-outline.js +4 -0
  125. package/src/components/icons/index.js +5 -1
  126. package/src/components/icons/sync.d.ts +3 -0
  127. package/src/components/icons/sync.js +4 -0
  128. package/src/env.js +2 -2
  129. package/src/metamodel/adaptable.metamodel.d.ts +121 -200
  130. package/src/metamodel/adaptable.metamodel.js +1 -1
  131. package/src/parser/src/predicate/mapExpressionToQlPredicate.d.ts +1 -0
  132. package/src/parser/src/predicate/mapExpressionToQlPredicate.js +12 -2
  133. package/src/parser/src/predicate/mapQlPredicateToExpression.js +4 -1
  134. package/src/parser/src/types.d.ts +101 -1
  135. package/src/types.d.ts +8 -6
  136. package/tsconfig.esm.tsbuildinfo +1 -1
@@ -1,8 +1,6 @@
1
- import { ChartContext, ChatInitSettingsContext, ContactContext, ContactListContext, CountryContext, CurrencyContext, EmailContext, Fdc3Context, Fdc3ContextType, Fdc3StandardContextType, InstrumentContext, InstrumentListContext, OrganizationContext, PortfolioContext, PositionContext, TimeRangeContext, ValuationContext } from '../PredefinedConfig/Common/Fdc3Context';
2
1
  import { BaseContext } from '../PredefinedConfig/Common/BaseContext';
3
2
  import { IRowNode } from '@ag-grid-community/core';
4
- import { Context, ContextMetadata, IntentResolution, IntentResult } from '@finos/fdc3';
5
- import { CompatibleContext, Fdc3IntentType, Fdc3StandardIntentType } from '../PredefinedConfig/Common/Fdc3Intent';
3
+ import { Action, Chart, ChatInitSettings, ChatMessage, ChatRoom, ChatSearchCriteria, Contact, ContactList, Context, ContextMetadata, ContextType, Country, Currency, Email, Instrument, InstrumentList, Intent, IntentResolution, IntentResult, Interaction, Message, Organization, Portfolio, Position, StandardContextType, StandardIntent, TimeRange, TransactionResult, Valuation } from '@finos/fdc3';
6
4
  import { AdaptableIcon } from '../PredefinedConfig/Common/AdaptableIcon';
7
5
  import { ButtonStyle } from '../PredefinedConfig/Common/ButtonStyle';
8
6
  /**
@@ -22,7 +20,7 @@ export interface Fdc3Options {
22
20
  /**
23
21
  * Builds Context Data (useful for postprocessing Context Data mapped from Grid data)
24
22
  */
25
- resolveContextData?: (context: ResolveContextDataContext) => Fdc3Context;
23
+ resolveContextData?: (context: ResolveContextDataContext) => Context;
26
24
  /**
27
25
  * Configures FDC3 standard Intents that AdapTable will listen for and raise
28
26
  */
@@ -40,10 +38,10 @@ export interface Fdc3Options {
40
38
  */
41
39
  uiControlsDefaultConfiguration?: {
42
40
  contexts?: {
43
- [contextName in Fdc3StandardContextType]?: UIControlConfig;
41
+ [contextName in StandardContextType]?: UIControlConfig;
44
42
  };
45
43
  intents?: {
46
- [intentName in Fdc3StandardIntentType]?: UIControlConfig;
44
+ [intentName in StandardIntent]?: UIControlConfig;
47
45
  };
48
46
  };
49
47
  }
@@ -58,7 +56,7 @@ export interface Fdc3IntentOptions {
58
56
  /**
59
57
  * Subscribe to given standard Intent(s)
60
58
  */
61
- listensFor?: Fdc3IntentType[];
59
+ listensFor?: Intent[];
62
60
  /**
63
61
  * Handles incoming Intents (standard and custom)
64
62
  */
@@ -79,7 +77,7 @@ export interface Fdc3ContextOptions {
79
77
  /**
80
78
  * Subscribe to given standard Context(s)
81
79
  */
82
- listensFor?: Fdc3ContextType[];
80
+ listensFor?: ContextType[];
83
81
  /**
84
82
  * Handles incoming Contexts (standard and custom)
85
83
  */
@@ -131,11 +129,11 @@ export interface ResolveContextDataContext extends BaseContext {
131
129
  /**
132
130
  * FDC3 Context Type
133
131
  */
134
- contextType: Fdc3ContextType;
132
+ contextType: ContextType;
135
133
  /**
136
134
  * FDC3 Context Data which has been mapped from the grid data based on the given configuration in `gridDataContextMapping`
137
135
  */
138
- contextMappedFromGridData?: Fdc3Context;
136
+ contextMappedFromGridData?: Context;
139
137
  /**
140
138
  * Row Node which is source of the context data
141
139
  */
@@ -169,7 +167,7 @@ export interface HandleFdc3IntentContext extends HandleFdc3Context {
169
167
  /**
170
168
  * The FDC3 Intent
171
169
  */
172
- intent: Fdc3IntentType;
170
+ intent: Intent;
173
171
  }
174
172
  export declare const ColumnRefTypePrefix = "_colId.";
175
173
  export declare const FieldRefTypePrefix = "_field.";
@@ -179,20 +177,27 @@ export type Fdc3ContentMapping<T> = PropertiesToGridRefs<Omit<T, 'type'>>;
179
177
  * Mapping of FDC3 Context Types to Grid Data/Columns
180
178
  */
181
179
  export interface GridDataContextMapping {
182
- 'fdc3.chart'?: Fdc3ContentMapping<ChartContext>;
183
- 'fdc3.chat.initSettings'?: Fdc3ContentMapping<ChatInitSettingsContext>;
184
- 'fdc3.contact'?: Fdc3ContentMapping<ContactContext>;
185
- 'fdc3.contactList'?: Fdc3ContentMapping<ContactListContext>;
186
- 'fdc3.country'?: Fdc3ContentMapping<CountryContext>;
187
- 'fdc3.currency'?: Fdc3ContentMapping<CurrencyContext>;
188
- 'fdc3.email'?: Fdc3ContentMapping<EmailContext>;
189
- 'fdc3.instrument'?: Fdc3ContentMapping<InstrumentContext>;
190
- 'fdc3.instrumentList'?: Fdc3ContentMapping<InstrumentListContext>;
191
- 'fdc3.organization'?: Fdc3ContentMapping<OrganizationContext>;
192
- 'fdc3.portfolio'?: Fdc3ContentMapping<PortfolioContext>;
193
- 'fdc3.position'?: Fdc3ContentMapping<PositionContext>;
194
- 'fdc3.timerange'?: Fdc3ContentMapping<TimeRangeContext>;
195
- 'fdc3.valuation'?: Fdc3ContentMapping<ValuationContext>;
180
+ 'fdc3.action'?: Fdc3ContentMapping<Action>;
181
+ 'fdc3.chart'?: Fdc3ContentMapping<Chart>;
182
+ 'fdc3.chat.initSettings'?: Fdc3ContentMapping<ChatInitSettings>;
183
+ 'fdc3.chat.message'?: Fdc3ContentMapping<ChatMessage>;
184
+ 'fdc3.chat.room'?: Fdc3ContentMapping<ChatRoom>;
185
+ 'fdc3.chat.searchCriteria'?: Fdc3ContentMapping<ChatSearchCriteria>;
186
+ 'fdc3.contact'?: Fdc3ContentMapping<Contact>;
187
+ 'fdc3.contactList'?: Fdc3ContentMapping<ContactList>;
188
+ 'fdc3.country'?: Fdc3ContentMapping<Country>;
189
+ 'fdc3.currency'?: Fdc3ContentMapping<Currency>;
190
+ 'fdc3.email'?: Fdc3ContentMapping<Email>;
191
+ 'fdc3.instrument'?: Fdc3ContentMapping<Instrument>;
192
+ 'fdc3.instrumentList'?: Fdc3ContentMapping<InstrumentList>;
193
+ 'fdc3.interaction'?: Fdc3ContentMapping<Interaction>;
194
+ 'fdc3.message'?: Fdc3ContentMapping<Message>;
195
+ 'fdc3.organization'?: Fdc3ContentMapping<Organization>;
196
+ 'fdc3.portfolio'?: Fdc3ContentMapping<Portfolio>;
197
+ 'fdc3.position'?: Fdc3ContentMapping<Position>;
198
+ 'fdc3.timerange'?: Fdc3ContentMapping<TimeRange>;
199
+ 'fdc3.transactionResult'?: Fdc3ContentMapping<TransactionResult>;
200
+ 'fdc3.valuation'?: Fdc3ContentMapping<Valuation>;
196
201
  custom?: {
197
202
  [key: string]: Fdc3ContentMapping<Context>;
198
203
  };
@@ -201,20 +206,20 @@ export interface GridDataContextMapping {
201
206
  * Defines config options for Raising FDC3 Intents
202
207
  */
203
208
  export interface RaiseIntentConfiguration {
204
- StartCall?: RaiseIntentConfig<'StartCall'>[];
205
- StartChat?: RaiseIntentConfig<'StartChat'>[];
206
- StartEmail?: RaiseIntentConfig<'StartEmail'>[];
207
- ViewAnalysis?: RaiseIntentConfig<'ViewAnalysis'>[];
208
- ViewChart?: RaiseIntentConfig<'ViewChart'>[];
209
- ViewContact?: RaiseIntentConfig<'ViewContact'>[];
210
- ViewHoldings?: RaiseIntentConfig<'ViewHoldings'>[];
211
- ViewInstrument?: RaiseIntentConfig<'ViewInstrument'>[];
212
- ViewInteractions?: RaiseIntentConfig<'ViewInteractions'>[];
213
- ViewNews?: RaiseIntentConfig<'ViewNews'>[];
214
- ViewOrders?: RaiseIntentConfig<'ViewOrders'>[];
215
- ViewProfile?: RaiseIntentConfig<'ViewProfile'>[];
216
- ViewQuote?: RaiseIntentConfig<'ViewQuote'>[];
217
- ViewResearch?: RaiseIntentConfig<'ViewResearch'>[];
209
+ StartCall?: RaiseIntentConfig[];
210
+ StartChat?: RaiseIntentConfig[];
211
+ StartEmail?: RaiseIntentConfig[];
212
+ ViewAnalysis?: RaiseIntentConfig[];
213
+ ViewChart?: RaiseIntentConfig[];
214
+ ViewContact?: RaiseIntentConfig[];
215
+ ViewHoldings?: RaiseIntentConfig[];
216
+ ViewInstrument?: RaiseIntentConfig[];
217
+ ViewInteractions?: RaiseIntentConfig[];
218
+ ViewNews?: RaiseIntentConfig[];
219
+ ViewOrders?: RaiseIntentConfig[];
220
+ ViewProfile?: RaiseIntentConfig[];
221
+ ViewQuote?: RaiseIntentConfig[];
222
+ ViewResearch?: RaiseIntentConfig[];
218
223
  custom?: {
219
224
  [customIntent: string]: RaiseIntentConfig[];
220
225
  };
@@ -244,11 +249,11 @@ export interface BroadcastConfiguration {
244
249
  /**
245
250
  * Config used when raising an FDC3 Intent
246
251
  */
247
- export interface RaiseIntentConfig<K extends Fdc3StandardIntentType = any> {
252
+ export interface RaiseIntentConfig {
248
253
  /**
249
254
  * Key of Context being Raised
250
255
  */
251
- contextType: CompatibleContext<K>;
256
+ contextType: ContextType;
252
257
  /**
253
258
  * Columns to display a 'Raise Intent' Context Menu item
254
259
  */
@@ -343,11 +348,11 @@ export interface Fdc3ButtonContext extends BaseContext {
343
348
  /**
344
349
  * The FDC3 Context
345
350
  */
346
- context: Fdc3Context;
351
+ context: Context;
347
352
  /**
348
353
  * The FDC3 Intent
349
354
  */
350
- intent?: Fdc3IntentType;
355
+ intent?: Intent;
351
356
  /**
352
357
  * The row node which is the source of the context data
353
358
  */
@@ -290,6 +290,11 @@ export interface ColumnApi {
290
290
  * Sets the Column Definitions for the Grid
291
291
  */
292
292
  setColumnDefinitions(columnDefinitions: (ColDef | ColGroupDef)[]): void;
293
+ /**
294
+ * Returns all the distinct display values in a given Column
295
+ * @param columnId Column to Check
296
+ */
297
+ getDistinctDisplayValuesForColumn(columnId: string): any[];
293
298
  }
294
299
  /**
295
300
  * Configuration of an AG Grid Column, used for runtime updating of ColDefs
@@ -1,7 +1,5 @@
1
1
  import { BaseEventInfo } from './BaseEventInfo';
2
- import { Fdc3Context } from '../../PredefinedConfig/Common/Fdc3Context';
3
- import { Fdc3IntentType } from '../../PredefinedConfig/Common/Fdc3Intent';
4
- import { AppIdentifier, ContextMetadata } from '@finos/fdc3';
2
+ import { AppIdentifier, Context, ContextMetadata, Intent } from '@finos/fdc3';
5
3
  /**
6
4
  * EventInfo returned by FDC3 Message events
7
5
  */
@@ -21,11 +19,11 @@ export interface Fdc3MessageSentInfo extends BaseEventInfo {
21
19
  /**
22
20
  * FDC3 Intent which caused Event to fire (if type is `RaiseIntent`)
23
21
  */
24
- intent?: Fdc3IntentType;
22
+ intent?: Intent;
25
23
  /**
26
24
  * Full FDC3 Context for object related to the Event
27
25
  */
28
- context: Fdc3Context;
26
+ context: Context;
29
27
  /**
30
28
  * Target application for the message
31
29
  */
@@ -46,11 +44,11 @@ export interface Fdc3MessageReceivedInfo extends BaseEventInfo {
46
44
  /**
47
45
  * FDC3 Intent which caused Event to fire (if type is `IntentRaised`)
48
46
  */
49
- intent?: Fdc3IntentType;
47
+ intent?: Intent;
50
48
  /**
51
49
  * Full FDC3 Context for object related to the Event
52
50
  */
53
- context: Fdc3Context;
51
+ context: Context;
54
52
  /**
55
53
  * Metadata associated with the FDC3 Context
56
54
  */
@@ -48,12 +48,12 @@ export interface ExpressionApi {
48
48
  */
49
49
  getASTForExpression(expression: string): any;
50
50
  /**
51
- * Returns the Expression string of the given AdaptableQuery: can be Boolean, AggregatedBoolean, Scalar, AggregatedScalar or Observable Expression
51
+ * Returns Expression string of given AdaptableQuery: can be Boolean, AggregatedBoolean, Scalar, AggregatedScalar or Observable
52
52
  * @param query - the AdaptableQuery
53
53
  */
54
54
  getAdaptableQueryExpression(query: Partial<AdaptableQuery>): string | undefined;
55
55
  /**
56
- * Returns the Expression string of the given AdaptableQuery with the column friendly names (instead of their technical IDs)
56
+ * Returns Expression string of given AdaptableQuery with column friendly names (instead of Column IDs)
57
57
  * @param query - the AdaptableQuery
58
58
  */
59
59
  getAdaptableQueryExpressionWithColumnFriendlyNames(query: Partial<AdaptableQuery>): string | undefined;
@@ -1,7 +1,5 @@
1
- import { Fdc3Context, Fdc3ContextType, Fdc3StandardContextType } from '../PredefinedConfig/Common/Fdc3Context';
2
1
  import { IRowNode } from '@ag-grid-community/core';
3
- import { AppIdentifier, DesktopAgent, IntentResolution } from '@finos/fdc3';
4
- import { Fdc3IntentType, Fdc3StandardIntentType } from '../PredefinedConfig/Common/Fdc3Intent';
2
+ import { AppIdentifier, Context, ContextType, DesktopAgent, Intent, IntentResolution } from '@finos/fdc3';
5
3
  /**
6
4
  * Provides run-time access to AdapTable's FDC3 functionality
7
5
  */
@@ -14,30 +12,27 @@ export interface Fdc3Api {
14
12
  * Returns the human-friendly label for the given Context Type
15
13
  * @param contextType - The FDC3 Context Type
16
14
  */
17
- getContextLabel(contextType: Fdc3ContextType): string;
15
+ getContextLabel(contextType: ContextType): string;
18
16
  /**
19
17
  * Builds FDC3 Context Data based on the given Context Type and Row Node
20
18
  * @param contextType - The FDC3 Context Type
21
19
  * @param rowNode - The Row Node
22
20
  */
23
- buildContextDataFromRow(contextType: Fdc3ContextType, rowNode: IRowNode): Fdc3Context;
21
+ buildContextDataFromRow(contextType: ContextType, rowNode: IRowNode): Context;
24
22
  /**
25
23
  * Builds FDC3 Context Data based on the given Context Type and the Row Node with the given Primary Key Value
26
24
  * @param contextType - The FDC3 Context Type
27
25
  * @param primaryKeyValue - The Primary Key Value
28
26
  */
29
- buildContextDataForPrimaryKey(contextType: Fdc3ContextType, primaryKeyValue: string | number): Fdc3Context | undefined;
27
+ buildContextDataForPrimaryKey(contextType: ContextType, primaryKeyValue: string | number): Context | undefined;
30
28
  /**
31
- * Returns the FDC3 Context Type for the given Intent
32
- * @param intent - The FDC3 Intent
29
+ * @deprecated no longer relevant as of FDC3 v2.1
33
30
  */
34
- getPossibleContextTypes(intent: Fdc3StandardIntentType): Fdc3StandardContextType[];
31
+ getPossibleContextTypes(intent: Intent): ContextType[];
35
32
  /**
36
- * Checks if the given Context Type is compatible with the given Intent
37
- * @param contextType - The FDC3 Context Type
38
- * @param intent - The FDC3 Intent
33
+ * @deprecated no longer relevant as of FDC3 v2.1
39
34
  */
40
- isContextCompatibleWithIntent(contextType: Fdc3StandardContextType, intent: Fdc3StandardIntentType): boolean;
35
+ isContextCompatibleWithIntent(contextType: ContextType, intent: Intent): boolean;
41
36
  /**
42
37
  * Raises an Intent with the given Context from the given Row Node
43
38
  * @param rowNode - The Row Node
@@ -45,7 +40,7 @@ export interface Fdc3Api {
45
40
  * @param contextType - The FDC3 Context Type
46
41
  * @param appIdentifier - The App Identifier
47
42
  */
48
- raiseIntentFromRow(rowNode: IRowNode, intent: Fdc3IntentType, contextType: Fdc3ContextType, appIdentifier?: AppIdentifier): Promise<IntentResolution>;
43
+ raiseIntentFromRow(rowNode: IRowNode, intent: Intent, contextType: ContextType, appIdentifier?: AppIdentifier): Promise<IntentResolution>;
49
44
  /**
50
45
  * Raises an Intent with the given Context from the given Row Node with the given Primary Key Value
51
46
  * @param primaryKeyValue - The Primary Key Value
@@ -53,33 +48,33 @@ export interface Fdc3Api {
53
48
  * @param contextType - The FDC3 Context Type
54
49
  * @param appIdentifier - The App Identifier
55
50
  */
56
- raiseIntentFromPrimaryKey(primaryKeyValue: string | number, intent: Fdc3IntentType, contextType: Fdc3ContextType, appIdentifier?: AppIdentifier): Promise<IntentResolution> | undefined;
51
+ raiseIntentFromPrimaryKey(primaryKeyValue: string | number, intent: Intent, contextType: ContextType, appIdentifier?: AppIdentifier): Promise<IntentResolution> | undefined;
57
52
  /**
58
53
  * Finds and raises an Intent based on the given Context from the given Row Node
59
54
  * @param rowNode - The Row Node
60
55
  * @param contextType - The FDC3 Context Type
61
56
  * @param appIdentifier - The App Identifier
62
57
  */
63
- raiseIntentForContextFromRow(rowNode: IRowNode, contextType: Fdc3ContextType, appIdentifier?: AppIdentifier): Promise<IntentResolution>;
58
+ raiseIntentForContextFromRow(rowNode: IRowNode, contextType: ContextType, appIdentifier?: AppIdentifier): Promise<IntentResolution>;
64
59
  /**
65
60
  * Finds and raises an Intent based on the given Context from the given Row Node with the given Primary Key Value
66
61
  * @param primaryKeyValue - The Primary Key Value
67
62
  * @param contextType - The FDC3 Context Type
68
63
  * @param appIdentifier - The App Identifier
69
64
  */
70
- raiseIntentForContextFromPrimaryKey(primaryKeyValue: string | number, contextType: Fdc3ContextType, appIdentifier?: AppIdentifier): Promise<IntentResolution> | undefined;
65
+ raiseIntentForContextFromPrimaryKey(primaryKeyValue: string | number, contextType: ContextType, appIdentifier?: AppIdentifier): Promise<IntentResolution> | undefined;
71
66
  /**
72
67
  * Broadcasts the given Context from the given Row Node
73
68
  * @param rowNode - The Row Node
74
69
  * @param contextType - The FDC3 Context Type
75
70
  */
76
- broadcastFromRow(rowNode: IRowNode, contextType: Fdc3ContextType): Promise<void>;
71
+ broadcastFromRow(rowNode: IRowNode, contextType: ContextType): Promise<void>;
77
72
  /**
78
73
  * Broadcasts the given Context from the given Row Node with the given Primary Key Value
79
74
  * @param primaryKeyValue - The Primary Key Value
80
75
  * @param contextType - The FDC3 Context Type
81
76
  */
82
- broadcastFromPrimaryKey(primaryKeyValue: string | number, contextType: Fdc3ContextType): Promise<void> | undefined;
77
+ broadcastFromPrimaryKey(primaryKeyValue: string | number, contextType: ContextType): Promise<void> | undefined;
83
78
  /**
84
79
  * Checks if the given Context Type is a FDC3 standard Context Type
85
80
  */
@@ -72,4 +72,5 @@ export declare class ColumnApiImpl extends ApiBase implements ColumnApi {
72
72
  updateColumnConfiguration(columnConfig: ColumnConfig): void;
73
73
  updateColumnConfigurations(columnConfigs: ColumnConfig[]): void;
74
74
  setColumnDefinitions(columnDefinitions: (ColDef | ColGroupDef)[]): void;
75
+ getDistinctDisplayValuesForColumn(columnId: string): any[];
75
76
  }
@@ -393,4 +393,7 @@ export class ColumnApiImpl extends ApiBase {
393
393
  const agGridApi = this.adaptable.agGridAdapter.getAgGridApi();
394
394
  agGridApi.setGridOption('columnDefs', columnDefinitions);
395
395
  }
396
+ getDistinctDisplayValuesForColumn(columnId) {
397
+ return this.getAdaptableApi().gridApi.internalApi.getDistinctDisplayValuesForColumn(columnId);
398
+ }
396
399
  }
@@ -45,6 +45,9 @@ export class ConfigApiImpl extends ApiBase {
45
45
  var _a;
46
46
  const adaptableOptions = this.adaptable.adaptableOptions;
47
47
  const oldState = this.getPersistedState();
48
+ // clearing filters so that AG Grid doesnt display the filter icon in a column header after grid reloads
49
+ // but this is a hack so would be nicer if there was a better way to do this
50
+ this.getAdaptableApi().gridApi.clearGridFiltering();
48
51
  const clearStateFn = ((_a = adaptableOptions.stateOptions) === null || _a === void 0 ? void 0 : _a.clearState) ||
49
52
  (() => {
50
53
  localStorage.removeItem(adaptableOptions.adaptableStateKey);
@@ -1,28 +1,26 @@
1
1
  import { IRowNode } from '@ag-grid-community/core';
2
- import { DesktopAgent, IntentResolution } from '@finos/fdc3';
2
+ import { Context, ContextType, DesktopAgent, Intent, IntentResolution, StandardContextType, StandardIntent } from '@finos/fdc3';
3
3
  import { ApiBase } from './ApiBase';
4
4
  import { Fdc3Api } from '../Fdc3Api';
5
5
  import { Fdc3InternalApi } from '../Internal/Fdc3InternalApi';
6
6
  import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
7
- import { Fdc3Context, Fdc3StandardContextType } from '../../PredefinedConfig/Common/Fdc3Context';
8
- import { Fdc3StandardIntentType } from '../../PredefinedConfig/Common/Fdc3Intent';
9
7
  import { AppIdentifier } from '@finos/fdc3/dist/api/AppIdentifier';
10
8
  export declare class Fdc3ApiImpl extends ApiBase implements Fdc3Api {
11
9
  internalApi: Fdc3InternalApi;
12
10
  constructor(adaptable: IAdaptable);
13
11
  getDesktopAgent(): DesktopAgent;
14
- buildContextDataFromRow(contextType: Fdc3StandardContextType, rowNode: IRowNode): Fdc3Context;
15
- buildContextDataForPrimaryKey(contextType: Fdc3StandardContextType, primaryKeyValue: string | number): Fdc3Context | undefined;
16
- getPossibleContextTypes(intent: Fdc3StandardIntentType): Fdc3StandardContextType[];
17
- isContextCompatibleWithIntent(contextType: Fdc3StandardContextType, intent: Fdc3StandardIntentType): boolean;
18
- raiseIntentFromPrimaryKey(primaryKeyValue: string | number, intent: Fdc3StandardIntentType, contextType: Fdc3StandardContextType, appIdentifier?: AppIdentifier): Promise<IntentResolution> | undefined;
19
- raiseIntentFromRow(rowNode: IRowNode, intent: Fdc3StandardIntentType, contextType: Fdc3StandardContextType, appIdentifier?: AppIdentifier): Promise<IntentResolution>;
20
- raiseIntentForContextFromRow(rowNode: IRowNode, contextType: Fdc3StandardContextType, appIdentifier?: AppIdentifier): Promise<IntentResolution>;
21
- raiseIntentForContextFromPrimaryKey(primaryKeyValue: string | number, contextType: Fdc3StandardContextType, appIdentifier?: AppIdentifier): Promise<IntentResolution> | undefined;
22
- broadcastFromRow(rowNode: IRowNode, contextType: Fdc3StandardContextType): Promise<void>;
23
- broadcastFromPrimaryKey(primaryKeyValue: string | number, contextType: Fdc3StandardContextType): Promise<void> | undefined;
24
- getContextLabel(contextType: Fdc3StandardContextType): string;
25
- isStandardContextType(contextType: string): boolean;
26
- isStandardIntentType(intentType: string): boolean;
12
+ buildContextDataFromRow(contextType: ContextType, rowNode: IRowNode): Context;
13
+ buildContextDataForPrimaryKey(contextType: ContextType, primaryKeyValue: string | number): Context | undefined;
14
+ raiseIntentFromPrimaryKey(primaryKeyValue: string | number, intent: Intent, contextType: ContextType, appIdentifier?: AppIdentifier): Promise<IntentResolution> | undefined;
15
+ raiseIntentFromRow(rowNode: IRowNode, intent: Intent, contextType: ContextType, appIdentifier?: AppIdentifier): Promise<IntentResolution>;
16
+ raiseIntentForContextFromRow(rowNode: IRowNode, contextType: ContextType, appIdentifier?: AppIdentifier): Promise<IntentResolution>;
17
+ raiseIntentForContextFromPrimaryKey(primaryKeyValue: string | number, contextType: ContextType, appIdentifier?: AppIdentifier): Promise<IntentResolution> | undefined;
18
+ broadcastFromRow(rowNode: IRowNode, contextType: ContextType): Promise<void>;
19
+ broadcastFromPrimaryKey(primaryKeyValue: string | number, contextType: ContextType): Promise<void> | undefined;
20
+ getContextLabel(contextType: ContextType): string;
21
+ isStandardContextType(contextType: string): contextType is StandardContextType;
22
+ isStandardIntentType(intentType: string): intentType is StandardIntent;
27
23
  private getFdc3Service;
24
+ getPossibleContextTypes(intent: Intent): ContextType[];
25
+ isContextCompatibleWithIntent(contextType: ContextType, intent: Intent): boolean;
28
26
  }
@@ -1,7 +1,6 @@
1
1
  import { ApiBase } from './ApiBase';
2
2
  import { Fdc3InternalApi } from '../Internal/Fdc3InternalApi';
3
- import { ContextConfiguration, } from '../../PredefinedConfig/Common/Fdc3Context';
4
- import { Fdc3IntentConfiguration, } from '../../PredefinedConfig/Common/Fdc3Intent';
3
+ import { ContextConfiguration } from '../../PredefinedConfig/Common/Fdc3Context';
5
4
  export class Fdc3ApiImpl extends ApiBase {
6
5
  constructor(adaptable) {
7
6
  super(adaptable);
@@ -21,14 +20,6 @@ export class Fdc3ApiImpl extends ApiBase {
21
20
  }
22
21
  return this.buildContextDataFromRow(contextType, rowNode);
23
22
  }
24
- getPossibleContextTypes(intent) {
25
- var _a;
26
- const compatibleContexts = (_a = Fdc3IntentConfiguration[intent]) === null || _a === void 0 ? void 0 : _a.contexts;
27
- return compatibleContexts ? [...compatibleContexts] : [];
28
- }
29
- isContextCompatibleWithIntent(contextType, intent) {
30
- return this.getPossibleContextTypes(intent).includes(contextType);
31
- }
32
23
  raiseIntentFromPrimaryKey(primaryKeyValue, intent, contextType, appIdentifier) {
33
24
  const rowNode = this.getGridApi().getRowNodeForPrimaryKey(primaryKeyValue);
34
25
  if (!rowNode) {
@@ -66,8 +57,10 @@ export class Fdc3ApiImpl extends ApiBase {
66
57
  return this.broadcastFromRow(rowNode, contextType);
67
58
  }
68
59
  getContextLabel(contextType) {
69
- var _a, _b;
70
- return (_b = (_a = ContextConfiguration[contextType]) === null || _a === void 0 ? void 0 : _a.label) !== null && _b !== void 0 ? _b : contextType;
60
+ var _a;
61
+ return this.isStandardContextType(contextType)
62
+ ? (_a = ContextConfiguration[contextType]) === null || _a === void 0 ? void 0 : _a.label
63
+ : contextType;
71
64
  }
72
65
  isStandardContextType(contextType) {
73
66
  return this.internalApi.isStandardContextType(contextType);
@@ -78,4 +71,35 @@ export class Fdc3ApiImpl extends ApiBase {
78
71
  getFdc3Service() {
79
72
  return this.getAdaptableApi().internalApi.getFdc3Service();
80
73
  }
74
+ getPossibleContextTypes(intent) {
75
+ this.logWarn('Fdc3Api.getPossibleContextTypes is NO longer relevant as of FDC3 v1.2 and will be removed in a future version');
76
+ return [
77
+ 'fdc3.action',
78
+ 'fdc3.chart',
79
+ 'fdc3.chat.initSettings',
80
+ 'fdc3.chat.message',
81
+ 'fdc3.chat.room',
82
+ 'fdc3.chat.searchCriteria',
83
+ 'fdc3.contact',
84
+ 'fdc3.contactList',
85
+ 'fdc3.country',
86
+ 'fdc3.currency',
87
+ 'fdc3.email',
88
+ 'fdc3.instrument',
89
+ 'fdc3.instrumentList',
90
+ 'fdc3.interaction',
91
+ 'fdc3.message',
92
+ 'fdc3.organization',
93
+ 'fdc3.portfolio',
94
+ 'fdc3.position',
95
+ 'fdc3.nothing',
96
+ 'fdc3.timerange',
97
+ 'fdc3.transactionResult',
98
+ 'fdc3.valuation',
99
+ ];
100
+ }
101
+ isContextCompatibleWithIntent(contextType, intent) {
102
+ this.logWarn('Fdc3Api.isContextCompatibleWithIntent is NO longer relevant as of FDC3 v1.2 and will be removed in a future version');
103
+ return true;
104
+ }
81
105
  }
@@ -77,12 +77,14 @@ export declare class AlertInternalApi extends ApiBase {
77
77
  * Returns a description of an Alert Definition
78
78
  * @param alertDefinition Alert Definition to use
79
79
  */
80
- getAlertDescription(alertDefinition: AlertDefinition, cellDataChangedInfo?: CellDataChangedInfo): string;
80
+ getAlertDescriptionForDataChange(alertDefinition: AlertDefinition, cellDataChangedInfo?: CellDataChangedInfo): string;
81
81
  /**
82
82
  * Returns a description title of an Alert Definition
83
83
  * @param alertDefinition Alert Definition to use
84
84
  */
85
- getAlertMessageHeader(alertDefinition: AlertDefinition, cellDataChangedInfo?: CellDataChangedInfo): string;
85
+ getAlertMessageHeaderForDataChange(alertDefinition: AlertDefinition, cellDataChangedInfo?: CellDataChangedInfo): string;
86
+ getAlertMessageForGridDataChange(alertDefinition: AlertDefinition, gridDataChangedInfo: GridDataChangedInfo): string;
87
+ getAlertHeaderForGridDataChange(alertDefinition: AlertDefinition, gridDataChangedInfo: GridDataChangedInfo): string;
86
88
  /**
87
89
  * Returns custom description for alert using the 'alertMessageText' property
88
90
  *
@@ -143,4 +145,17 @@ export declare class AlertInternalApi extends ApiBase {
143
145
  showAlertsForGridDataChanges(gridDataChangedInfo: GridDataChangedInfo, alertDefinitions: AlertDefinition[]): void;
144
146
  shouldFireAlertOnClient(alertDefinition: AlertDefinition): boolean;
145
147
  getDefaultAlertNotificationForm(): AlertButtonForm;
148
+ /**
149
+ * Supported tokens:
150
+ * - column-that-changed-name -> [column]
151
+ * - rowData.newValue -> [rowData.newValue]
152
+ * - rowData.oldValue -> [rowData.oldValue]
153
+ * - primaryKey -> [primaryKeyValue]
154
+ * - timestamp -> [timestamp]
155
+ * - trigger -> [trigger]
156
+ */
157
+ private annotateAlertText;
158
+ private replaceAll;
159
+ private extractColsFromText;
160
+ private extractContextKeysFromText;
146
161
  }