@adaptabletools/adaptable 11.0.0-canary.4 → 11.0.0-canary.5

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 (147) hide show
  1. package/base.css +130 -67
  2. package/bundle.cjs.js +86 -86
  3. package/index.css +130 -67
  4. package/package.json +2 -2
  5. package/publishTimestamp.d.ts +1 -1
  6. package/publishTimestamp.js +1 -1
  7. package/src/AdaptableInterfaces/AdaptableNoCodeWizard.d.ts +7 -5
  8. package/src/AdaptableOptions/AdaptableFrameworkComponent.d.ts +1 -3
  9. package/src/AdaptableOptions/AdaptableOptions.d.ts +10 -1
  10. package/src/AdaptableOptions/AlertOptions.d.ts +82 -0
  11. package/src/AdaptableOptions/AlertOptions.js +2 -0
  12. package/src/AdaptableOptions/ContainerOptions.d.ts +1 -1
  13. package/src/AdaptableOptions/FilterOptions.d.ts +1 -1
  14. package/src/AdaptableOptions/NotificationsOptions.d.ts +1 -78
  15. package/src/AdaptableOptions/QueryLanguageOptions.d.ts +0 -4
  16. package/src/AdaptableOptions/StateOptions.d.ts +2 -1
  17. package/src/AdaptableOptions/TeamSharingOptions.d.ts +2 -2
  18. package/src/AdaptableOptions/ToolPanelOptions.d.ts +0 -2
  19. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +2 -2
  20. package/src/Api/AdaptableApi.d.ts +1 -0
  21. package/src/Api/AlertApi.d.ts +2 -3
  22. package/src/Api/EventApi.d.ts +8 -3
  23. package/src/Api/Events/GridDataChanged.d.ts +4 -2
  24. package/src/Api/Events/SystemStatusMessageDisplayed.d.ts +1 -1
  25. package/src/Api/FreeTextColumnApi.d.ts +0 -12
  26. package/src/Api/IPushPullApi.d.ts +1 -1
  27. package/src/Api/Implementation/AlertApiImpl.d.ts +1 -2
  28. package/src/Api/Implementation/AlertApiImpl.js +15 -9
  29. package/src/Api/Implementation/ApiBase.d.ts +2 -0
  30. package/src/Api/Implementation/ApiBase.js +3 -0
  31. package/src/Api/Implementation/FreeTextColumnApiImpl.d.ts +0 -5
  32. package/src/Api/Implementation/FreeTextColumnApiImpl.js +0 -9
  33. package/src/Api/Implementation/InternalApiImpl.js +1 -1
  34. package/src/Api/Implementation/LayoutApiImpl.d.ts +2 -0
  35. package/src/Api/Implementation/LayoutApiImpl.js +11 -0
  36. package/src/Api/Implementation/QueryApiImpl.js +4 -1
  37. package/src/Api/Implementation/QueryLanguageApiImpl.js +4 -5
  38. package/src/Api/LayoutApi.d.ts +7 -0
  39. package/src/Api/OpenFinApi.d.ts +5 -0
  40. package/src/Api/PluginsApi.d.ts +29 -0
  41. package/src/Api/UserInterfaceApi.d.ts +5 -2
  42. package/src/PredefinedConfig/AlertState.d.ts +2 -4
  43. package/src/PredefinedConfig/CalculatedColumnState.d.ts +0 -1
  44. package/src/PredefinedConfig/Common/FDC3Context.d.ts +4 -12
  45. package/src/PredefinedConfig/CustomSortState.d.ts +0 -1
  46. package/src/PredefinedConfig/FlashingCellState.d.ts +3 -1
  47. package/src/PredefinedConfig/FreeTextColumnState.d.ts +1 -1
  48. package/src/PredefinedConfig/LayoutState.d.ts +0 -2
  49. package/src/PredefinedConfig/PredefinedConfig.d.ts +5 -2
  50. package/src/Redux/ActionsReducers/ApplicationRedux.js +9 -3
  51. package/src/Redux/ActionsReducers/FlashingCellRedux.js +4 -8
  52. package/src/Redux/ActionsReducers/GridRedux.js +3 -1
  53. package/src/Redux/ActionsReducers/PopupRedux.js +13 -3
  54. package/src/Redux/ActionsReducers/QuickSearchRedux.js +3 -1
  55. package/src/Redux/ActionsReducers/SystemRedux.js +3 -1
  56. package/src/Redux/ActionsReducers/ThemeRedux.js +3 -1
  57. package/src/Redux/Store/AdaptableStore.js +5 -4
  58. package/src/Strategy/AlertModule.js +4 -3
  59. package/src/Strategy/ConditionalStyleModule.js +4 -0
  60. package/src/Strategy/FlashingCellModule.js +2 -2
  61. package/src/Strategy/FreeTextColumnModule.d.ts +2 -2
  62. package/src/Strategy/FreeTextColumnModule.js +10 -0
  63. package/src/Strategy/LayoutModule.js +1 -6
  64. package/src/Strategy/ToolPanelModule.js +5 -3
  65. package/src/Strategy/Utilities/getFormatColumnSettingsViewItems.js +1 -1
  66. package/src/Strategy/Utilities/getRuleViewItems.d.ts +0 -1
  67. package/src/Strategy/Utilities/getRuleViewItems.js +0 -1
  68. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +6 -4
  69. package/src/Utilities/ExpressionFunctions/dateUtils.d.ts +1 -0
  70. package/src/Utilities/ExpressionFunctions/dateUtils.js +13 -0
  71. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +13 -4
  72. package/src/Utilities/Helpers/AdaptableHelper.js +1 -0
  73. package/src/Utilities/Helpers/CalendarHelper.js +220 -55
  74. package/src/Utilities/Interface/MessagePopups.d.ts +6 -2
  75. package/src/Utilities/ObjectFactory.js +1 -0
  76. package/src/Utilities/Services/DataService.js +6 -1
  77. package/src/Utilities/Services/QueryLanguageService.js +16 -11
  78. package/src/Utilities/Services/ReportService.js +6 -2
  79. package/src/Utilities/Services/TeamSharingService.js +5 -3
  80. package/src/View/AdaptablePopover/index.js +6 -1
  81. package/src/View/AdaptableView.js +1 -1
  82. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +5 -1
  83. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationForm.js +5 -2
  84. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/index.js +4 -1
  85. package/src/View/AdaptableWizardView/helper.js +3 -1
  86. package/src/View/Alert/Wizard/AlertButtonsEditor.d.ts +1 -1
  87. package/src/View/Alert/Wizard/AlertButtonsEditor.js +5 -1
  88. package/src/View/CellSummary/CellSummaryViewPanel.js +1 -2
  89. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +5 -2
  90. package/src/View/Components/FilterForm/FilterForm.js +0 -2
  91. package/src/View/Components/FilterForm/QuickFilterForm.js +4 -1
  92. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +1 -1
  93. package/src/View/Components/Panels/PanelWithImage.d.ts +1 -1
  94. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +3 -1
  95. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.d.ts +1 -0
  96. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +25 -1
  97. package/src/View/Components/Popups/AdaptablePopup/TopBar.js +5 -4
  98. package/src/View/Components/Popups/AdaptablePopupConfirmation.js +3 -1
  99. package/src/View/Components/Popups/AdaptablePopupPrompt.d.ts +5 -12
  100. package/src/View/Components/Popups/AdaptablePopupPrompt.js +38 -37
  101. package/src/View/Components/Popups/AdaptablePopupTeamSharing.js +4 -1
  102. package/src/View/Components/ScopeComponent.js +4 -1
  103. package/src/View/Components/ToolPanel/CustomToolPanelContent.js +5 -1
  104. package/src/View/Components/ToolPanel/ToolPanelPopup.js +3 -1
  105. package/src/View/Components/ToolPanel/ToolPanelWrapper.js +1 -1
  106. package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.d.ts +8 -0
  107. package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.js +27 -0
  108. package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.js +7 -0
  109. package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +3 -1
  110. package/src/View/Dashboard/CustomToolbarWrapper.js +5 -1
  111. package/src/View/Dashboard/Dashboard.js +1 -1
  112. package/src/View/Dashboard/DashboardPopup.js +3 -1
  113. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +2 -1
  114. package/src/View/Export/Wizard/ReportColumnTypeWizard.js +3 -1
  115. package/src/View/Export/Wizard/ReportRowTypeWizard.js +3 -1
  116. package/src/View/Filter/FilterViewPanel.d.ts +1 -4
  117. package/src/View/Filter/FilterViewPanel.js +1 -3
  118. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -2
  119. package/src/View/GridInfo/AdaptableOptionsComponent.js +4 -1
  120. package/src/View/Layout/Wizard/LayoutEditor/index.js +5 -1
  121. package/src/View/Layout/Wizard/LayoutEditorWizard.js +7 -1
  122. package/src/View/Query/ExpandedQueryPopup.js +9 -2
  123. package/src/View/Query/QueryViewPanel.js +3 -1
  124. package/src/View/QuickSearch/QuickSearchPopup.js +3 -3
  125. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsSummary.js +12 -2
  126. package/src/View/UIHelper.js +4 -1
  127. package/src/View/Wizard/AdaptableWizard.js +12 -3
  128. package/src/View/Wizard/OnePageAdaptableWizard.js +5 -1
  129. package/src/agGrid/Adaptable.d.ts +2 -3
  130. package/src/agGrid/Adaptable.js +96 -54
  131. package/src/agGrid/editors/AdaptableDateEditor/index.js +1 -1
  132. package/src/agGrid/editors/AdaptableNumberEditor/index.js +1 -1
  133. package/src/components/ApplicationIcon.d.ts +1 -0
  134. package/src/components/ApplicationIcon.js +2 -2
  135. package/src/components/Dashboard/Dashboard.js +4 -1
  136. package/src/components/Dropdown/index.js +8 -1
  137. package/src/components/ExpressionEditor/EditorInputReactive.js +3 -1
  138. package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +4 -1
  139. package/src/components/ExpressionEditor/index.js +9 -2
  140. package/src/components/SizedContainer/index.js +7 -1
  141. package/src/components/WindowModal/WindowModal.js +4 -1
  142. package/src/metamodel/adaptable.metamodel.d.ts +55 -24
  143. package/src/metamodel/adaptable.metamodel.js +179 -98
  144. package/src/types.d.ts +2 -1
  145. package/themes/dark.css +4 -4
  146. package/version.d.ts +1 -1
  147. package/version.js +1 -1
@@ -7,12 +7,41 @@ import { FinanceApi } from './FinanceApi';
7
7
  * API methods dealing with AdapTable plugins
8
8
  */
9
9
  export interface PluginsApi {
10
+ /**
11
+ * Retrieves the Plugin State (internal only)
12
+ */
10
13
  getPluginsState(): PluginsState;
14
+ /**
15
+ * Gets the State for a given Plugin
16
+ * @param pluginId plugin state to retrieve
17
+ */
11
18
  getPluginState(pluginId: string): any;
19
+ /**
20
+ * Registers a Plugin (internal method)
21
+ * @param pluginId Plugin to register
22
+ * @param initialPluginState any state the Plugin requires
23
+ */
12
24
  registerPlugin(pluginId: string, initialPluginState: any): void;
25
+ /**
26
+ * Sets the initial state for a given plugin (internal method)
27
+ * @param pluginId Plugin to set state for
28
+ * @param pluginState State to set
29
+ */
13
30
  setPluginState(pluginId: string, pluginState: any): void;
31
+ /**
32
+ * Returns ipushpull API class in Adaptable API
33
+ */
14
34
  getipushpullPluginApi(): IPushPullApi;
35
+ /**
36
+ * Returns Glue42 API class in Adaptable API
37
+ */
15
38
  getGlue42PluginApi(): Glue42Api;
39
+ /**
40
+ * Returns OpenFin API class in Adaptable API
41
+ */
16
42
  getOpenFinPluginApi(): OpenFinApi;
43
+ /**
44
+ * Returns Finance API class in Adaptable API
45
+ */
17
46
  getFinancePluginApi(): FinanceApi;
18
47
  }
@@ -25,13 +25,16 @@ export interface UserInterfaceApi {
25
25
  */
26
26
  getPermittedValuesForColumn(column: AdaptableColumn): any[];
27
27
  /**
28
- * Retrieves Permitted values for filtering by column values in Floating Filter and dropdown Filter.
28
+ * Retrieves Permitted values for filtering by column values in Floating Filter and Quick Filter Bar
29
29
  */
30
30
  getFilterPermittedValuesForColumn(column: AdaptableColumn): FilterPermittedValues | undefined;
31
31
  /**
32
- * Retrieves Permitted values for Custom sort.
32
+ * Retrieves Permitted values for Custom Sort Module
33
33
  */
34
34
  getCustomSortPermittedValuesForColumn(column: AdaptableColumn): CustomSortPermittedValues | undefined;
35
+ /**
36
+ * Retrieves Permitted values for Bulk Update Module
37
+ */
35
38
  getBulkUpdatePermittedValuesForColumn(column: AdaptableColumn): BulkUpdatePermittedValues | undefined;
36
39
  /**
37
40
  * Retrieves `editLookUpItems` property from User Interface Options
@@ -10,17 +10,15 @@ import { AdaptableStyle } from './Common/AdaptableStyle';
10
10
  import { XOR } from '../Utilities/Extensions/TypeExtensions';
11
11
  import { AdaptableAggregationQuery, AdaptableBooleanQuery, AdaptableObservableQuery } from './Common/AdaptableQuery';
12
12
  import { ButtonStyle } from './Common/ButtonStyle';
13
- import { AlertButtonContext } from '../AdaptableOptions/NotificationsOptions';
13
+ import { AlertButtonContext } from '../types';
14
14
  /**
15
15
  * Predefined Configuration for Alert Module
16
16
  */
17
17
  export interface AlertState extends ConfigState {
18
18
  /**
19
19
  * Alert Definitions - will trigger Alerts when rule is met
20
- * @defaultValue null
21
20
  */
22
21
  AlertDefinitions?: AlertDefinition[];
23
- FlashingAlertDefinitions?: any[];
24
22
  }
25
23
  /**
26
24
  * The Alert Definition object used in the Alert function
@@ -116,7 +114,7 @@ export interface AlertProperties {
116
114
  LogToConsole?: boolean;
117
115
  /**
118
116
  * Automatically prevent any cell edit which triggered the Alert (i.e. validation)
119
- * @default false
117
+ * @defaultValue false
120
118
  */
121
119
  PreventEdit?: boolean;
122
120
  }
@@ -8,7 +8,6 @@ import { SpecialColumnSettings } from './Common/SpecialColumnSettings';
8
8
  export interface CalculatedColumnState extends ConfigState {
9
9
  /**
10
10
  * Collection of Calculated Columns
11
- * @defaultValue empty
12
11
  */
13
12
  CalculatedColumns?: CalculatedColumn[];
14
13
  }
@@ -22,7 +22,7 @@ export interface FDC3Context {
22
22
  [key: string]: string | undefined;
23
23
  };
24
24
  /**
25
- * @hidden
25
+ * @internal
26
26
  * Custom properties and metadata. This can be extended in specific context object.
27
27
  */
28
28
  [key: string]: unknown;
@@ -32,23 +32,15 @@ export interface FDC3Context {
32
32
  */
33
33
  export interface InstrumentContext extends FDC3Context {
34
34
  /**
35
- * The context type is always 'instrument'.
35
+ * Context type is always 'instrument'
36
36
  */
37
37
  type: 'instrument';
38
38
  /**
39
- * Free text name of the instrument.
39
+ * Free text name of instrument
40
40
  */
41
41
  name: string;
42
42
  /**
43
- * The instrument data. Can contain some or all of:
44
- * * `ticker`: a ticker
45
- * * `ISIN`: [ISIN](https://www.isin.org/isin/)
46
- * * `CUSIP`: [CUSIP](https://www.cusip.com/cusip/index.htm)
47
- * * `SEDOL`: [SEDOL](https://www.londonstockexchange.com/products-and-services/reference-data/sedol-master-file/sedol-master-file.htm)
48
- * * `RIC`: [Reuters Instrument Code (RIC)](https://en.wikipedia.org/wiki/Reuters_Instrument_Code)
49
- * * `BBG`: [Bloomberg Ticker](https://www.bloomberg.com/professional/product/market-data/)
50
- * * `PERMID`: [PERMID](https://permid.org/)
51
- * * `FIGI`: [FIGI](https://www.openfigi.com/about/figi)
43
+ * The instrument data
52
44
  */
53
45
  id: {
54
46
  [key: string]: string;
@@ -6,7 +6,6 @@ import { SuspendableObject } from './Common/SuspendableObject';
6
6
  export interface CustomSortState extends ConfigState {
7
7
  /**
8
8
  * Collection of Custom Sort objects.
9
- * @defaultValue []
10
9
  */
11
10
  CustomSorts?: CustomSort[];
12
11
  }
@@ -20,10 +20,12 @@ export declare type FlashingCellRule = XOR<{
20
20
  export interface FlashingCellState extends ConfigState {
21
21
  /**
22
22
  * Flashing Cell Definitions - will colour cells/rows when rule is met
23
- * @defaultValue null
24
23
  */
25
24
  FlashingCellDefinitions?: FlashingCellDefinition[];
26
25
  }
26
+ /**
27
+ * What should flash? row, cell or aggregated cell
28
+ */
27
29
  export declare type FlashTargetTypes = 'row' | 'cell' | 'aggFuncCell';
28
30
  /**
29
31
  * The Flashing Cell Definition
@@ -39,7 +39,7 @@ export interface FreeTextColumn extends AdaptableObject {
39
39
  * Whether Column is String, Number, Boolean or Date
40
40
  * @defaultValue 'String'
41
41
  */
42
- DataType?: 'String' | 'Number' | 'Boolean' | 'Date';
42
+ DataType: 'String' | 'Number' | 'Boolean' | 'Date';
43
43
  /**
44
44
  * Additional optional properties for Column (e.g. filterable, resizable)
45
45
  */
@@ -7,12 +7,10 @@ import { ColumnSort } from './Common/ColumnSort';
7
7
  export interface LayoutState extends ConfigState {
8
8
  /**
9
9
  * Layout which will be loaded when AdapTable starts - must match `Name` property in Layout
10
- * @defaultValue ''
11
10
  */
12
11
  CurrentLayout?: string;
13
12
  /**
14
13
  * Collection of Layout objects - listed in Layout toolbar and Tool Panel
15
- * @defaultValue null
16
14
  */
17
15
  Layouts?: Layout[];
18
16
  }
@@ -23,7 +23,7 @@ import { QueryState } from './QueryState';
23
23
  */
24
24
  export interface PredefinedConfig {
25
25
  /**
26
- * Supplies a collection of *Alert Definition* objects which will fire when their definition is triggered, and where Alerts are displayed
26
+ * Collection of `AlertDefinitions` which will fire Alerts when the rule is met
27
27
  */
28
28
  Alert?: AlertState;
29
29
  /**
@@ -58,6 +58,10 @@ export interface PredefinedConfig {
58
58
  * Stores Filters in AdapTable - both System and Column (predicate) Filters
59
59
  */
60
60
  Filter?: FilterState;
61
+ /***
62
+ * Objects which define which cells flash in response to data changes
63
+ */
64
+ FlashingCell?: FlashingCellState;
61
65
  /**
62
66
  * Supplies a collection of *FormatColumn* objects that will style an entire column in a single way (and not subject to a rule like with Conditional Style).
63
67
  */
@@ -98,5 +102,4 @@ export interface PredefinedConfig {
98
102
  * Sets the order and visibility of the Tool Panel controls in the AdapTable ToolPanel (on right of grid)
99
103
  */
100
104
  ToolPanel?: ToolPanelState;
101
- FlashingCell?: FlashingCellState;
102
105
  }
@@ -37,19 +37,25 @@ exports.ApplicationReducer = (state = initialState, action) => {
37
37
  const actionTypedAdd = action;
38
38
  applicationDataEntries = [].concat(state.ApplicationDataEntries);
39
39
  applicationDataEntries.push(actionTypedAdd.applicationDataEntry);
40
- return Object.assign({}, state, { ApplicationDataEntries: applicationDataEntries });
40
+ return Object.assign({}, state, {
41
+ ApplicationDataEntries: applicationDataEntries,
42
+ });
41
43
  case exports.APPLICATION_DATA_ENTRY_EDIT:
42
44
  const actionTypedUpdate = action;
43
45
  applicationDataEntries = [].concat(state.ApplicationDataEntries);
44
46
  index = applicationDataEntries.findIndex((fe) => fe.Key == actionTypedUpdate.applicationDataEntry.Key);
45
47
  applicationDataEntries[index] = actionTypedUpdate.applicationDataEntry;
46
- return Object.assign({}, state, { ApplicationDataEntries: applicationDataEntries });
48
+ return Object.assign({}, state, {
49
+ ApplicationDataEntries: applicationDataEntries,
50
+ });
47
51
  case exports.APPLICATION_DATA_ENTRY_DELETE:
48
52
  const actionTypedDelete = action;
49
53
  applicationDataEntries = [].concat(state.ApplicationDataEntries);
50
54
  index = applicationDataEntries.findIndex((a) => a.Key == actionTypedDelete.applicationDataEntry.Key);
51
55
  applicationDataEntries.splice(index, 1);
52
- return Object.assign({}, state, { ApplicationDataEntries: applicationDataEntries });
56
+ return Object.assign({}, state, {
57
+ ApplicationDataEntries: applicationDataEntries,
58
+ });
53
59
  default:
54
60
  return state;
55
61
  }
@@ -64,28 +64,24 @@ exports.FlashingCellReducer = (state = initialState, action) => {
64
64
  let flashingCellDefinitions;
65
65
  switch (action.type) {
66
66
  case exports.FLASHING_ALERT_DEFINITION_SET: {
67
- const actionFlashingCellDefinition = action
68
- .flashingCellDefinitions;
67
+ const actionFlashingCellDefinition = action.flashingCellDefinitions;
69
68
  return Object.assign(Object.assign({}, state), { FlashingCellDefinitions: actionFlashingCellDefinition });
70
69
  }
71
70
  case exports.FLASHING_ALERT_DEFINITION_ADD: {
72
- const actionFlashingCellDefinition = action
73
- .flashingCellDefinition;
71
+ const actionFlashingCellDefinition = action.flashingCellDefinition;
74
72
  AdaptableHelper_1.default.addUuidAndSource(actionFlashingCellDefinition);
75
73
  flashingCellDefinitions = [].concat(state.FlashingCellDefinitions);
76
74
  flashingCellDefinitions.push(actionFlashingCellDefinition);
77
75
  return Object.assign(Object.assign({}, state), { FlashingCellDefinitions: flashingCellDefinitions });
78
76
  }
79
77
  case exports.FLASHING_ALERT_DEFINITION_EDIT: {
80
- const actionFlashingCellDefinition = action
81
- .flashingCellDefinition;
78
+ const actionFlashingCellDefinition = action.flashingCellDefinition;
82
79
  return Object.assign(Object.assign({}, state), { FlashingCellDefinitions: state.FlashingCellDefinitions.map((abObject) => abObject.Uuid === actionFlashingCellDefinition.Uuid
83
80
  ? actionFlashingCellDefinition
84
81
  : abObject) });
85
82
  }
86
83
  case exports.FLASHING_ALERT_DEFINITION_DELETE: {
87
- const actionFlashingCellDefinition = action
88
- .flashingCellDefinition;
84
+ const actionFlashingCellDefinition = action.flashingCellDefinition;
89
85
  return Object.assign(Object.assign({}, state), { FlashingCellDefinitions: state.FlashingCellDefinitions.filter((abObject) => abObject.Uuid !== actionFlashingCellDefinition.Uuid) });
90
86
  }
91
87
  case exports.FLASHING_ALERT_DEFINITION_SUSPEND: {
@@ -177,7 +177,9 @@ exports.GridReducer = (state = initialState, action) => {
177
177
  const removeColumn = action.column;
178
178
  return Object.assign(Object.assign({}, state), { Columns: state.Columns.filter((abObject) => abObject.Uuid !== removeColumn.Uuid) });
179
179
  case exports.GRID_SET_SORT:
180
- return Object.assign({}, state, { ColumnSorts: action.columnSorts });
180
+ return Object.assign({}, state, {
181
+ ColumnSorts: action.columnSorts,
182
+ });
181
183
  case exports.GRID_CLEAR_SORT:
182
184
  return Object.assign({}, state, { ColumnSorts: undefined });
183
185
  case exports.GRID_SET_SELECTED_CELLS:
@@ -131,6 +131,8 @@ exports.PopupReducer = (state = initialState, action) => {
131
131
  Header: actionTyped.prompt.Header,
132
132
  Message: actionTyped.prompt.Msg,
133
133
  ConfirmAction: actionTyped.prompt.ConfirmAction,
134
+ ConfirmActionCreator: actionTyped.prompt.ConfirmActionCreator,
135
+ DefaultValue: actionTyped.prompt.DefaultValue,
134
136
  };
135
137
  return Object.assign({}, state, { PromptPopup: newPromptPopup });
136
138
  }
@@ -140,6 +142,8 @@ exports.PopupReducer = (state = initialState, action) => {
140
142
  Header: '',
141
143
  Message: '',
142
144
  ConfirmAction: null,
145
+ ConfirmActionCreator: null,
146
+ DefaultValue: '',
143
147
  };
144
148
  return Object.assign({}, state, { PromptPopup: newPromptPopup });
145
149
  }
@@ -167,7 +171,9 @@ exports.PopupReducer = (state = initialState, action) => {
167
171
  ConfirmationComment: null,
168
172
  MessageType: actionTyped.confirmation.MessageType,
169
173
  };
170
- return Object.assign({}, state, { ConfirmationPopup: newConfirmationPopup });
174
+ return Object.assign({}, state, {
175
+ ConfirmationPopup: newConfirmationPopup,
176
+ });
171
177
  }
172
178
  case exports.POPUP_CONFIRM_CONFIRMATION: {
173
179
  let actionTyped = action;
@@ -184,7 +190,9 @@ exports.PopupReducer = (state = initialState, action) => {
184
190
  ConfirmationComment: actionTyped.comment,
185
191
  MessageType: null,
186
192
  };
187
- return Object.assign({}, state, { ConfirmationPopup: newConfirmationPopup });
193
+ return Object.assign({}, state, {
194
+ ConfirmationPopup: newConfirmationPopup,
195
+ });
188
196
  }
189
197
  case exports.POPUP_CANCEL_CONFIRMATION: {
190
198
  //we dispatch the Action of CancelAction in the middelware in order to keep the reducer pure
@@ -200,7 +208,9 @@ exports.PopupReducer = (state = initialState, action) => {
200
208
  ConfirmationComment: null,
201
209
  MessageType: null,
202
210
  };
203
- return Object.assign({}, state, { ConfirmationPopup: newConfirmationPopup });
211
+ return Object.assign({}, state, {
212
+ ConfirmationPopup: newConfirmationPopup,
213
+ });
204
214
  }
205
215
  case exports.POPUP_SHOW_ALERT: {
206
216
  let showAlertAction = action;
@@ -40,7 +40,9 @@ exports.QuickSearchReducer = (state = initialState, action) => {
40
40
  QuickSearchText: action.quickSearchText,
41
41
  });
42
42
  case exports.QUICK_SEARCH_SET_STYLE:
43
- return Object.assign({}, state, { Style: action.style });
43
+ return Object.assign({}, state, {
44
+ Style: action.style,
45
+ });
44
46
  default:
45
47
  return state;
46
48
  }
@@ -400,7 +400,9 @@ exports.SystemReducer = (state = initialState, action) => {
400
400
  systemStatusMessages.splice(0, 1);
401
401
  }
402
402
  systemStatusMessages.push(actionTypedAdd.systemStatusMessageInfo);
403
- return Object.assign({}, state, { SystemStatusMessages: systemStatusMessages });
403
+ return Object.assign({}, state, {
404
+ SystemStatusMessages: systemStatusMessages,
405
+ });
404
406
  }
405
407
  case exports.SYSTEM_STATUS_MESSAGE_INFO_DELETE_ALL: {
406
408
  return Object.assign({}, state, { SystemStatusMessages: [] });
@@ -50,7 +50,9 @@ exports.ThemeReducer = (state = initialState, action) => {
50
50
  UserThemes: action.UserThemes,
51
51
  });
52
52
  case exports.THEME_SELECT:
53
- return Object.assign({}, state, { CurrentTheme: action.Theme });
53
+ return Object.assign({}, state, {
54
+ CurrentTheme: action.Theme,
55
+ });
54
56
  default:
55
57
  return state;
56
58
  }
@@ -182,6 +182,7 @@ class AdaptableStore {
182
182
  // If the user has remote storage set then we use Remote Engine, otherwise we use Local Enginge
183
183
  // not sure we can do this as we need to be backwardly compatible with existing users so need to stick with adaptable id (which should be unique)
184
184
  // const localStorageKey = 'adaptable-adaptable-state-' + adaptable.adaptableOptions.primaryKey;
185
+ const predefinedConfig = adaptable.adaptableOptions.predefinedConfig;
185
186
  storageEngine = AdaptableReduxLocalStorageEngine_1.createEngine({
186
187
  adaptableId: adaptable.adaptableOptions.adaptableId,
187
188
  adaptableStateKey: adaptable.adaptableOptions.adaptableStateKey,
@@ -318,7 +319,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
318
319
  *******************/
319
320
  case SystemRedux.SYSTEM_FLASHING_CELL_ADD:
320
321
  case SystemRedux.SYSTEM_FLASHING_CELL_DELETE: {
321
- const { flashingCell: FlashingCell, } = action;
322
+ const { flashingCell: FlashingCell } = action;
322
323
  const { dataChangedInfo } = FlashingCell;
323
324
  let ret = next(action);
324
325
  if (dataChangedInfo) {
@@ -1086,7 +1087,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
1086
1087
  case TeamSharingRedux.TEAMSHARING_IMPORT_ITEM: {
1087
1088
  let returnAction = next(action);
1088
1089
  const actionTyped = action;
1089
- const [importStepActions, needsOverwriteConfirmation,] = adaptable.api.internalApi
1090
+ const [importStepActions, needsOverwriteConfirmation] = adaptable.api.internalApi
1090
1091
  .getTeamSharingService()
1091
1092
  .buildSharedEntityImportActions(actionTyped.SharedEntity);
1092
1093
  const processImportAction = TeamSharingRedux.TeamSharingProcessImport(importStepActions);
@@ -1159,14 +1160,14 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
1159
1160
  .getSharedEntities(adaptableId)
1160
1161
  .then((sharedEntities) => {
1161
1162
  // check if remote server has a newer revision
1162
- const [localRevision, remoteRevision,] = adaptable.api.internalApi
1163
+ const [localRevision, remoteRevision] = adaptable.api.internalApi
1163
1164
  .getTeamSharingService()
1164
1165
  .getSharedEntityLocalAndRemoteRevisions(ChangedAdaptableObject.Uuid, sharedEntities);
1165
1166
  if (remoteRevision > localRevision) {
1166
1167
  // if remote has a newer version, we will NOT overwrite it
1167
1168
  return;
1168
1169
  }
1169
- const [updatedSharedEntities, newActiveEntities,] = adaptable.api.internalApi
1170
+ const [updatedSharedEntities, newActiveEntities] = adaptable.api.internalApi
1170
1171
  .getTeamSharingService()
1171
1172
  .updateActiveSharedEntity(ChangedAdaptableObject, UserName, sharedEntities);
1172
1173
  middlewareAPI.dispatch(TeamSharingRedux.TeamSharingLinkItem(...newActiveEntities));
@@ -23,8 +23,8 @@ class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
23
23
  // do NOT handle reverted changes
24
24
  return;
25
25
  }
26
- if (this.api.internalApi.getAdaptableOptions().notificationsOptions
27
- .dataChangeDetectionPolicy === 'formattedValue') {
26
+ if (this.api.internalApi.getAdaptableOptions().alertOptions.dataChangeDetectionPolicy ===
27
+ 'formattedValue') {
28
28
  const { oldValue, newValue } = dataChangedInfo;
29
29
  const columnId = dataChangedInfo.column.columnId;
30
30
  const oldFormattedValue = this.api.gridApi.getFormattedValueFromRawValue(columnId, oldValue);
@@ -64,7 +64,8 @@ class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
64
64
  }
65
65
  updateOldConfig() {
66
66
  // 1. Make all (new) Flashing Alerts have a Predicate if none exists
67
- const flashingAlertDefinitions = this.api.alertApi.getAlertState().FlashingAlertDefinitions;
67
+ const alertState = this.api.alertApi.getAlertState();
68
+ const flashingAlertDefinitions = alertState.FlashingAlertDefinitions;
68
69
  const flashingCellDefinitions = this.api.flashingCellApi.getFlashingCellDefinitions();
69
70
  if (ArrayExtensions_1.ArrayExtensions.IsEmpty(flashingCellDefinitions) &&
70
71
  ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(flashingAlertDefinitions)) {
@@ -191,6 +191,10 @@ class ConditionalStyleModule extends AdaptableModuleBase_1.AdaptableModuleBase {
191
191
  getScopeViewItems_1.getScopeViewItems(conditionalStyle.Scope),
192
192
  getStyleViewItems_1.getStyleViewItems(),
193
193
  getRuleViewItems_1.getRuleViewItems(conditionalStyle.Rule, this.api),
194
+ {
195
+ name: 'Settings',
196
+ values: [`Include grouped rows: ${conditionalStyle.IncludeGroupedRows ? 'Yes' : 'No'}`],
197
+ },
194
198
  ],
195
199
  abObject: conditionalStyle,
196
200
  };
@@ -24,8 +24,8 @@ class FlashingCellModule extends AdaptableModuleBase_1.AdaptableModuleBase {
24
24
  }
25
25
  // TODO: think about flashing row value only
26
26
  // - flash for the underlying small data changes, but the visual does not
27
- if (this.api.internalApi.getAdaptableOptions().notificationsOptions
28
- .dataChangeDetectionPolicy === 'formattedValue') {
27
+ if (this.api.internalApi.getAdaptableOptions().alertOptions.dataChangeDetectionPolicy ===
28
+ 'formattedValue') {
29
29
  const { oldValue, newValue } = dataChangedInfo;
30
30
  const columnId = dataChangedInfo.column.columnId;
31
31
  const oldFormattedValue = this.api.gridApi.getFormattedValueFromRawValue(columnId, oldValue);
@@ -7,12 +7,12 @@ import { TeamSharingImportInfo } from '../PredefinedConfig/TeamSharingState';
7
7
  import { FreeTextColumn } from '../PredefinedConfig/FreeTextColumnState';
8
8
  import { AdaptableObjectView, IModule } from './Interface/IModule';
9
9
  import { AdaptableApi } from '../Api/AdaptableApi';
10
- import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
11
10
  export declare class FreeTextColumnModule extends AdaptableModuleBase implements IModule {
12
11
  constructor(api: AdaptableApi);
13
12
  isModuleAvailable(): boolean;
14
- getModuleAdaptableObjects(): AdaptableObject[];
13
+ getModuleAdaptableObjects(): FreeTextColumn[];
15
14
  hasNamedQueryReferences(): boolean;
15
+ updateOldConfig(): void;
16
16
  addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
17
17
  getTeamSharingAction(): TeamSharingImportInfo<FreeTextColumn>;
18
18
  toView(freeTextColumn: FreeTextColumn): AdaptableObjectView;
@@ -21,6 +21,16 @@ class FreeTextColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
21
21
  hasNamedQueryReferences() {
22
22
  return false;
23
23
  }
24
+ updateOldConfig() {
25
+ // make sure all default to type string
26
+ const allFreeTextColumns = this.getModuleAdaptableObjects();
27
+ for (const freeTextColumn of allFreeTextColumns) {
28
+ if (!freeTextColumn.DataType) {
29
+ const updatedFreeTextColumn = Object.assign(Object.assign({}, freeTextColumn), { DataType: 'String' });
30
+ this.api.freeTextColumnApi.editFreeTextColumn(updatedFreeTextColumn);
31
+ }
32
+ }
33
+ }
24
34
  addColumnMenuItems(column) {
25
35
  if (column && this.isModuleEditable()) {
26
36
  if (this.api.freeTextColumnApi
@@ -48,12 +48,7 @@ class LayoutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
48
48
  }
49
49
  if (column) {
50
50
  if (!isReadOnlyLayout) {
51
- returnColumnMenuItems.push(this.createColumnMenuItemClickFunction('Change Caption', 'edit', () => {
52
- let newname = prompt('Enter a new Caption for the Column');
53
- if (newname) {
54
- this.api.layoutApi.setColumnCaption(column.columnId, newname);
55
- }
56
- }));
51
+ returnColumnMenuItems.push(this.createColumnMenuItemClickFunction('Change Caption', 'edit', () => this.api.layoutApi.showChangeColumnCaption(column)));
57
52
  }
58
53
  if (column.hideable) {
59
54
  returnColumnMenuItems.push(this.createColumnMenuItemClickFunction('Hide Column', 'hide-column', () => {
@@ -15,8 +15,7 @@ class ToolPanelModule extends AdaptableModuleBase_1.AdaptableModuleBase {
15
15
  if (!super.isModuleAvailable()) {
16
16
  return false;
17
17
  }
18
- const toolPanelOptions = this.api.internalApi.getAdaptableOptions()
19
- .toolPanelOptions;
18
+ const toolPanelOptions = this.api.internalApi.getAdaptableOptions().toolPanelOptions;
20
19
  return (toolPanelOptions &&
21
20
  toolPanelOptions.showAdaptableToolPanel &&
22
21
  toolPanelOptions.showAdaptableToolPanel == true);
@@ -25,7 +24,10 @@ class ToolPanelModule extends AdaptableModuleBase_1.AdaptableModuleBase {
25
24
  const deprecatedToolPanelConfigs = this.api.toolPanelApi.getToolPanelState().VisibleToolPanels;
26
25
  if (deprecatedToolPanelConfigs === null || deprecatedToolPanelConfigs === void 0 ? void 0 : deprecatedToolPanelConfigs.length) {
27
26
  LoggingHelper_1.LogAdaptableWarning(`Updating Obsolete VisibleToolPanels Config for ToolPanelState: [${deprecatedToolPanelConfigs}]`);
28
- const migratedToolPanelConfigs = deprecatedToolPanelConfigs.map((toolPanel) => ({ Name: toolPanel, State: 'collapsed' }));
27
+ const migratedToolPanelConfigs = deprecatedToolPanelConfigs.map((toolPanel) => ({
28
+ Name: toolPanel,
29
+ State: 'collapsed',
30
+ }));
29
31
  this.api.internalApi.dispatchReduxAction(ToolPanelRedux_1.ToolPanelSetToolPanels(migratedToolPanelConfigs));
30
32
  }
31
33
  else if (!this.api.toolPanelApi.getToolPanelState().ToolPanels) {
@@ -6,7 +6,7 @@ exports.getFormatColumnSettingsViewItems = (calculatedColumn) => {
6
6
  const values = [
7
7
  `Cell alignment: ${(_a = calculatedColumn.CellAlignment) !== null && _a !== void 0 ? _a : 'default'}`,
8
8
  calculatedColumn.HeaderName && `Header name: ${calculatedColumn.HeaderName}`,
9
- `Include grouped rows: ${calculatedColumn.IncludeGroupedRows ? 'yes' : 'no'}`,
9
+ `Include grouped rows: ${calculatedColumn.IncludeGroupedRows ? 'Yes' : 'No'}`,
10
10
  ].filter(Boolean);
11
11
  return {
12
12
  name: 'Settings',
@@ -1,6 +1,5 @@
1
1
  import { AdaptableApi } from '../../../types';
2
2
  export declare const getRuleViewItems: (rule: any, api: AdaptableApi) => {
3
3
  name: string;
4
- label: string;
5
4
  values: string[];
6
5
  };
@@ -5,7 +5,6 @@ const AdaptableQuery_1 = require("../../PredefinedConfig/Common/AdaptableQuery")
5
5
  exports.getRuleViewItems = (rule, api) => {
6
6
  return {
7
7
  name: 'Condition',
8
- label: 'Condition',
9
8
  values: [
10
9
  rule.Predicate
11
10
  ? api.predicateApi.predicateToString(rule.Predicate)
@@ -19,20 +19,22 @@ exports.DefaultAdaptableOptions = {
19
19
  autogeneratePrimaryKey: false,
20
20
  userName: GeneralConstants.USER_NAME,
21
21
  predefinedConfig: undefined,
22
- notificationsOptions: {
22
+ alertOptions: {
23
23
  alertForms: undefined,
24
24
  maxAlertsInStore: 20,
25
+ cellHighlightDuration: 3000,
26
+ dataChangeDetectionPolicy: 'rawValue',
27
+ actionHandlers: undefined,
28
+ },
29
+ notificationsOptions: {
25
30
  maxNotifications: 3,
26
31
  position: 'BottomRight',
27
32
  duration: 3000,
28
- cellHighlightDuration: 3000,
29
- dataChangeDetectionPolicy: 'rawValue',
30
33
  showProgressBar: false,
31
34
  closeWhenClicked: false,
32
35
  pauseWhenHovering: false,
33
36
  isDraggable: false,
34
37
  transition: 'Slide',
35
- actionHandlers: undefined,
36
38
  showApplicationIcon: false,
37
39
  showSystemStatusMessageNotifications: false,
38
40
  maxSystemMessagesInStore: 100,
@@ -0,0 +1 @@
1
+ export declare const normalizeDateParams: (args: [string | number | Date, string | number | Date]) => [number | Date, number | Date];
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeDateParams = void 0;
4
+ exports.normalizeDateParams = (args) => {
5
+ let [first, second] = args;
6
+ if (typeof first === 'string') {
7
+ first = new Date(first);
8
+ }
9
+ if (typeof second === 'string') {
10
+ second = new Date(second);
11
+ }
12
+ return [first, second];
13
+ };