@adaptabletools/adaptable-cjs 18.0.0-canary.1 → 18.0.0-canary.11

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 (264) hide show
  1. package/agGrid.d.ts +4 -21
  2. package/agGrid.js +5 -21
  3. package/base.css +11 -3
  4. package/base.css.map +1 -1
  5. package/index.css +88 -70
  6. package/index.css.map +1 -1
  7. package/package.json +4 -5
  8. package/src/AdaptableInterfaces/IAdaptable.d.ts +61 -108
  9. package/src/AdaptableOptions/AdaptableOptions.d.ts +12 -6
  10. package/src/AdaptableOptions/ColumnFilterOptions.d.ts +4 -4
  11. package/src/AdaptableOptions/ColumnOptions.d.ts +4 -2
  12. package/src/AdaptableOptions/{CommentsOptions.d.ts → CommentOptions.d.ts} +5 -5
  13. package/src/AdaptableOptions/MenuOptions.d.ts +1 -1
  14. package/src/AdaptableOptions/MenuOptions.js +2 -6
  15. package/src/AdaptableOptions/{NotesOptions.d.ts → NoteOptions.d.ts} +1 -1
  16. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +17 -0
  17. package/src/Api/AdaptableApi.d.ts +5 -0
  18. package/src/Api/BulkUpdateApi.d.ts +0 -5
  19. package/src/Api/ConfigApi.d.ts +1 -1
  20. package/src/Api/Events/AdaptableReady.d.ts +3 -3
  21. package/src/Api/Events/GridDataChanged.d.ts +4 -4
  22. package/src/Api/GridApi.d.ts +18 -13
  23. package/src/Api/Implementation/ActionColumnApiImpl.d.ts +2 -0
  24. package/src/Api/Implementation/ActionColumnApiImpl.js +33 -0
  25. package/src/Api/Implementation/AdaptableApiImpl.d.ts +1 -0
  26. package/src/Api/Implementation/AdaptableApiImpl.js +3 -0
  27. package/src/Api/Implementation/ApiBase.d.ts +2 -1
  28. package/src/Api/Implementation/ApiBase.js +4 -1
  29. package/src/Api/Implementation/BulkUpdateApiImpl.d.ts +0 -1
  30. package/src/Api/Implementation/BulkUpdateApiImpl.js +0 -4
  31. package/src/Api/Implementation/CommentsApiImpl.d.ts +4 -0
  32. package/src/Api/Implementation/CommentsApiImpl.js +7 -1
  33. package/src/Api/Implementation/ConfigApiImpl.js +13 -5
  34. package/src/Api/Implementation/GridApiImpl.d.ts +4 -3
  35. package/src/Api/Implementation/GridApiImpl.js +33 -14
  36. package/src/Api/Implementation/LayoutApiImpl.d.ts +2 -0
  37. package/src/Api/Implementation/LayoutApiImpl.js +15 -0
  38. package/src/Api/Implementation/NotesApiImpl.d.ts +6 -4
  39. package/src/Api/Implementation/NotesApiImpl.js +9 -8
  40. package/src/Api/Implementation/OptionsApiImpl.d.ts +2 -1
  41. package/src/Api/Implementation/OptionsApiImpl.js +12 -2
  42. package/src/Api/Implementation/ScopeApiImpl.d.ts +2 -0
  43. package/src/Api/Implementation/ScopeApiImpl.js +20 -7
  44. package/src/Api/Implementation/StatusBarApiImpl.d.ts +0 -1
  45. package/src/Api/Implementation/StatusBarApiImpl.js +0 -3
  46. package/src/Api/Implementation/ToolPanelApiImpl.js +6 -6
  47. package/src/Api/Internal/ActionRowInternalApi.d.ts +5 -1
  48. package/src/Api/Internal/ActionRowInternalApi.js +107 -0
  49. package/src/Api/Internal/AdaptableInternalApi.d.ts +3 -4
  50. package/src/Api/Internal/AdaptableInternalApi.js +10 -8
  51. package/src/Api/Internal/CalculatedColumnInternalApi.d.ts +2 -0
  52. package/src/Api/Internal/CalculatedColumnInternalApi.js +71 -0
  53. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +1 -0
  54. package/src/Api/Internal/ColumnFilterInternalApi.js +11 -1
  55. package/src/Api/Internal/ColumnInternalApi.d.ts +4 -1
  56. package/src/Api/Internal/ColumnInternalApi.js +12 -0
  57. package/src/Api/Internal/CommentsInternalApi.d.ts +4 -0
  58. package/src/Api/Internal/CommentsInternalApi.js +18 -0
  59. package/src/Api/Internal/CustomSortInternalApi.d.ts +3 -2
  60. package/src/Api/Internal/CustomSortInternalApi.js +32 -1
  61. package/src/Api/Internal/DataSetInternalApi.js +1 -1
  62. package/src/Api/Internal/FormatColumnInternalApi.js +3 -2
  63. package/src/Api/Internal/FreeTextColumnInternalApi.d.ts +2 -0
  64. package/src/Api/Internal/FreeTextColumnInternalApi.js +60 -0
  65. package/src/Api/Internal/GridFilterInternalApi.js +1 -1
  66. package/src/Api/Internal/GridInternalApi.d.ts +21 -3
  67. package/src/Api/Internal/GridInternalApi.js +126 -7
  68. package/src/Api/Internal/NotesInternalApi.d.ts +4 -0
  69. package/src/Api/Internal/NotesInternalApi.js +18 -0
  70. package/src/Api/Internal/TeamSharingInternalApi.js +1 -1
  71. package/src/Api/InteropioPluginApi.d.ts +2 -2
  72. package/src/Api/LayoutApi.d.ts +11 -0
  73. package/src/Api/OptionsApi.d.ts +5 -1
  74. package/src/Api/ScopeApi.d.ts +10 -0
  75. package/src/EnvVars.d.ts +3 -0
  76. package/src/EnvVars.js +8 -0
  77. package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +4 -0
  78. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  79. package/src/PredefinedConfig/Common/AdaptableScope.d.ts +4 -1
  80. package/src/PredefinedConfig/Common/AggregationColumns.d.ts +1 -0
  81. package/src/PredefinedConfig/Common/AggregationColumns.js +5 -1
  82. package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +8 -0
  83. package/src/PredefinedConfig/Common/RowSummary.d.ts +7 -0
  84. package/src/PredefinedConfig/Common/RowSummary.js +4 -0
  85. package/src/PredefinedConfig/LayoutState.d.ts +5 -0
  86. package/src/PredefinedConfig/NotesState.d.ts +10 -20
  87. package/src/PredefinedConfig/PredefinedConfig.d.ts +1 -1
  88. package/src/PredefinedConfig/SystemState.d.ts +7 -0
  89. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +9 -0
  90. package/src/Redux/ActionsReducers/LayoutRedux.js +22 -1
  91. package/src/Redux/ActionsReducers/NotesRedux.d.ts +3 -4
  92. package/src/Redux/ActionsReducers/NotesRedux.js +10 -8
  93. package/src/Redux/ActionsReducers/SystemRedux.d.ts +5 -0
  94. package/src/Redux/ActionsReducers/SystemRedux.js +16 -3
  95. package/src/Redux/Store/AdaptableStore.d.ts +4 -6
  96. package/src/Redux/Store/AdaptableStore.js +33 -50
  97. package/src/Redux/Store/Interface/IAdaptableStore.d.ts +8 -2
  98. package/src/Strategy/AdaptableModuleBase.d.ts +2 -3
  99. package/src/Strategy/AdaptableModuleBase.js +4 -7
  100. package/src/Strategy/AlertModule.d.ts +1 -2
  101. package/src/Strategy/AlertModule.js +2 -55
  102. package/src/Strategy/CalculatedColumnModule.d.ts +2 -3
  103. package/src/Strategy/CalculatedColumnModule.js +5 -25
  104. package/src/Strategy/CellSummaryModule.d.ts +1 -0
  105. package/src/Strategy/CellSummaryModule.js +50 -21
  106. package/src/Strategy/ChartingModule.d.ts +0 -1
  107. package/src/Strategy/ChartingModule.js +2 -22
  108. package/src/Strategy/ColumnFilterModule.d.ts +1 -2
  109. package/src/Strategy/ColumnFilterModule.js +1 -64
  110. package/src/Strategy/CommentsModule.d.ts +1 -0
  111. package/src/Strategy/CommentsModule.js +5 -1
  112. package/src/Strategy/CustomSortModule.js +1 -1
  113. package/src/Strategy/DashboardModule.d.ts +1 -2
  114. package/src/Strategy/DashboardModule.js +1 -8
  115. package/src/Strategy/DataChangeHistoryModule.d.ts +1 -0
  116. package/src/Strategy/DataChangeHistoryModule.js +3 -1
  117. package/src/Strategy/DataSetModule.d.ts +1 -1
  118. package/src/Strategy/DataSetModule.js +1 -1
  119. package/src/Strategy/FlashingCellModule.d.ts +1 -2
  120. package/src/Strategy/FlashingCellModule.js +2 -15
  121. package/src/Strategy/FormatColumnModule.d.ts +0 -2
  122. package/src/Strategy/FormatColumnModule.js +0 -47
  123. package/src/Strategy/FreeTextColumnModule.d.ts +0 -1
  124. package/src/Strategy/FreeTextColumnModule.js +0 -30
  125. package/src/Strategy/GridFilterModule.d.ts +0 -1
  126. package/src/Strategy/GridFilterModule.js +0 -37
  127. package/src/Strategy/Interface/IModule.d.ts +0 -1
  128. package/src/Strategy/LayoutModule.d.ts +8 -3
  129. package/src/Strategy/LayoutModule.js +108 -53
  130. package/src/Strategy/NamedQueryModule.d.ts +0 -1
  131. package/src/Strategy/NamedQueryModule.js +0 -19
  132. package/src/Strategy/NotesModule.js +3 -4
  133. package/src/Strategy/PlusMinusModule.d.ts +1 -1
  134. package/src/Strategy/PlusMinusModule.js +1 -1
  135. package/src/Strategy/ScheduleModule.d.ts +1 -1
  136. package/src/Strategy/ScheduleModule.js +1 -1
  137. package/src/Strategy/ShortcutModule.d.ts +1 -1
  138. package/src/Strategy/ShortcutModule.js +1 -1
  139. package/src/Strategy/StyledColumnModule.d.ts +0 -1
  140. package/src/Strategy/StyledColumnModule.js +0 -21
  141. package/src/Strategy/TeamSharingModule.d.ts +1 -0
  142. package/src/Strategy/TeamSharingModule.js +5 -5
  143. package/src/Strategy/ToolPanelModule.d.ts +0 -1
  144. package/src/Strategy/ToolPanelModule.js +0 -23
  145. package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -1
  146. package/src/Utilities/Constants/GeneralConstants.d.ts +1 -0
  147. package/src/Utilities/Constants/GeneralConstants.js +3 -2
  148. package/src/Utilities/Defaults/DefaultSettingsPanel.js +5 -4
  149. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +2 -1
  150. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +294 -0
  151. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +1 -1
  152. package/src/Utilities/Extensions/ArrayExtensions.d.ts +2 -0
  153. package/src/Utilities/Extensions/ArrayExtensions.js +6 -1
  154. package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -4
  155. package/src/Utilities/Helpers/AdaptableHelper.js +20 -60
  156. package/src/Utilities/Helpers/Helper.d.ts +2 -0
  157. package/src/Utilities/Helpers/Helper.js +6 -1
  158. package/src/Utilities/ObjectFactory.js +6 -6
  159. package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +3 -2
  160. package/src/Utilities/Services/AggregatedScalarLiveValue.js +14 -9
  161. package/src/Utilities/Services/CellPopupService.js +0 -1
  162. package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +1 -1
  163. package/src/Utilities/Services/LicenseService/index.d.ts +3 -0
  164. package/src/Utilities/Services/LicenseService/index.js +1 -186
  165. package/src/Utilities/Services/MetamodelService.d.ts +1 -1
  166. package/src/Utilities/Services/MetamodelService.js +6 -3
  167. package/src/Utilities/Services/QueryLanguageService.d.ts +1 -1
  168. package/src/Utilities/Services/QueryLanguageService.js +2 -1
  169. package/src/Utilities/Services/RowEditService.d.ts +3 -2
  170. package/src/Utilities/Services/RowEditService.js +3 -1
  171. package/src/Utilities/Services/SummaryService.d.ts +19 -0
  172. package/src/Utilities/Services/SummaryService.js +33 -0
  173. package/src/Utilities/license/decode.js +1 -70
  174. package/src/Utilities/license/hashing.js +1 -47
  175. package/src/View/AdaptableView.js +1 -3
  176. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +2 -2
  177. package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
  178. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.d.ts +1 -1
  179. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +2 -2
  180. package/src/View/CalculatedColumn/utils.d.ts +1 -1
  181. package/src/View/CellSummary/CellSummaryPopup.js +1 -1
  182. package/src/View/Comments/CommentsPopup.js +12 -8
  183. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  184. package/src/View/Components/NewScopeComponent.js +34 -1
  185. package/src/View/Components/Popups/AdaptableLoadingScreen.d.ts +6 -5
  186. package/src/View/Components/Popups/AdaptableLoadingScreen.js +19 -9
  187. package/src/View/Components/Popups/AdaptableToaster.js +1 -1
  188. package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +1 -1
  189. package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +1 -0
  190. package/src/View/Components/Popups/WindowPopups/windowFactory.js +4 -1
  191. package/src/View/Components/Selectors/PermittedValuesSelector.js +1 -1
  192. package/src/View/CustomSort/CustomSortSummary.js +1 -1
  193. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +8 -8
  194. package/src/View/GridFilter/GridFilterViewPanel.js +7 -3
  195. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -3
  196. package/src/View/Layout/TransposedPopup.d.ts +3 -0
  197. package/src/View/Layout/TransposedPopup.js +199 -0
  198. package/src/View/Layout/Wizard/LayoutWizard.js +1 -1
  199. package/src/View/License/LicenseWatermark.js +1 -66
  200. package/src/View/Notes/NotesPopup.js +8 -10
  201. package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
  202. package/src/View/Theme/ThemeSelector.js +2 -2
  203. package/src/agGrid/ActionColumnRenderer.js +7 -6
  204. package/src/agGrid/Adaptable.d.ts +3 -455
  205. package/src/agGrid/Adaptable.js +7 -5291
  206. package/src/agGrid/AdaptableAgGrid.d.ts +351 -0
  207. package/src/agGrid/AdaptableAgGrid.js +3941 -0
  208. package/src/agGrid/AdaptableLogger.js +78 -13
  209. package/src/agGrid/AgGridAdapter.d.ts +62 -0
  210. package/src/agGrid/AgGridAdapter.js +582 -0
  211. package/src/agGrid/AgGridColumnAdapter.d.ts +56 -0
  212. package/src/agGrid/AgGridColumnAdapter.js +829 -0
  213. package/src/agGrid/AgGridMenuAdapter.d.ts +28 -0
  214. package/src/agGrid/AgGridMenuAdapter.js +276 -0
  215. package/src/agGrid/AgGridOptionsService.d.ts +12 -0
  216. package/src/agGrid/AgGridOptionsService.js +58 -0
  217. package/src/agGrid/BadgeRenderer.js +1 -1
  218. package/src/agGrid/CheckboxRenderer.js +1 -1
  219. package/src/agGrid/FilterWrapper.d.ts +2 -2
  220. package/src/agGrid/FilterWrapper.js +1 -1
  221. package/src/agGrid/attachAddaptableColumnTypes.d.ts +12 -12
  222. package/src/agGrid/defaultAdaptableOptions.d.ts +3 -0
  223. package/src/{Utilities/Defaults/DefaultAdaptableOptions.js → agGrid/defaultAdaptableOptions.js} +73 -10
  224. package/src/agGrid/editors/AdaptableDateEditor/index.js +2 -2
  225. package/src/agGrid/editors/AdaptableNumberEditor/index.js +2 -2
  226. package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
  227. package/src/components/Datepicker/index.d.ts +1 -1
  228. package/src/components/InfiniteTable/index.js +2 -2
  229. package/src/components/Input/index.d.ts +1 -1
  230. package/src/components/List/ListGroupItem/index.d.ts +1 -1
  231. package/src/components/Modal/index.d.ts +1 -0
  232. package/src/components/Modal/index.js +6 -4
  233. package/src/components/Select/Select.d.ts +2 -0
  234. package/src/components/Select/Select.js +2 -2
  235. package/src/components/icons/index.js +2 -0
  236. package/src/components/icons/rows.d.ts +3 -0
  237. package/src/components/icons/rows.js +7 -0
  238. package/src/env.js +2 -2
  239. package/src/metamodel/adaptable.metamodel.d.ts +74 -11
  240. package/src/metamodel/adaptable.metamodel.js +1 -9316
  241. package/src/migration/AdaptableUpgradeHelper.d.ts +38 -0
  242. package/src/migration/AdaptableUpgradeHelper.js +52 -0
  243. package/src/migration/VersionUpgrade.d.ts +8 -0
  244. package/src/migration/VersionUpgrade.js +15 -0
  245. package/src/migration/VersionUpgrade17.d.ts +18 -0
  246. package/src/migration/VersionUpgrade17.js +347 -0
  247. package/src/migration/VersionUpgrade18.d.ts +5 -0
  248. package/src/migration/VersionUpgrade18.js +10 -0
  249. package/src/parser/src/types.d.ts +5 -0
  250. package/src/types.d.ts +7 -3
  251. package/tsconfig.cjs.tsbuildinfo +1 -1
  252. package/src/Utilities/Defaults/DefaultAdaptableOptions.d.ts +0 -2
  253. package/src/Utilities/Services/Interface/IRowEditService.d.ts +0 -3
  254. package/src/Utilities/Services/Interface/IRowEditService.js +0 -2
  255. package/src/View/Components/ScopeComponent.d.ts +0 -24
  256. package/src/View/Components/ScopeComponent.js +0 -138
  257. package/src/View/Export/Wizard/ReportScopeWizard.d.ts +0 -17
  258. package/src/View/Export/Wizard/ReportScopeWizard.js +0 -52
  259. package/src/agGrid/agGridHelper.d.ts +0 -57
  260. package/src/agGrid/agGridHelper.js +0 -691
  261. package/src/agGrid/agGridMenuHelper.d.ts +0 -46
  262. package/src/agGrid/agGridMenuHelper.js +0 -673
  263. /package/src/AdaptableOptions/{CommentsOptions.js → CommentOptions.js} +0 -0
  264. /package/src/AdaptableOptions/{NotesOptions.js → NoteOptions.js} +0 -0
@@ -10,6 +10,7 @@ const CellSummaryStatusPanel_1 = require("../View/CellSummary/CellSummaryStatusP
10
10
  class CellSummaryModule extends AdaptableModuleBase_1.AdaptableModuleBase {
11
11
  constructor(api) {
12
12
  super(ModuleConstants.CellSummaryModuleId, ModuleConstants.CellSummaryFriendlyName, 'cells', 'CellSummaryPopup', 'See summary information on a group of cells using multiple summary operations', api);
13
+ this.cachedCellSummary = new WeakMap();
13
14
  }
14
15
  getViewAccessLevel() {
15
16
  return 'Full';
@@ -46,6 +47,9 @@ class CellSummaryModule extends AdaptableModuleBase_1.AdaptableModuleBase {
46
47
  });
47
48
  }
48
49
  createCellSummary(selectedCellInfo) {
50
+ if (this.cachedCellSummary.has(selectedCellInfo)) {
51
+ return this.cachedCellSummary.get(selectedCellInfo);
52
+ }
49
53
  let selectedCellSummary;
50
54
  if (selectedCellInfo && ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(selectedCellInfo.columns)) {
51
55
  let numericValues = [];
@@ -74,28 +78,52 @@ class CellSummaryModule extends AdaptableModuleBase_1.AdaptableModuleBase {
74
78
  // copying so that we keep the order - needed for others
75
79
  const newNumericValues = [...numericValues];
76
80
  let hasNumericColumns = numericValues.length > 0;
77
- let distinctCount = ArrayExtensions_1.ArrayExtensions.RetrieveDistinct(allValues).length;
81
+ if (selectedCellInfo.columns.length > 1) {
82
+ return {
83
+ Sum: null,
84
+ Average: null,
85
+ Median: null,
86
+ Mode: null,
87
+ Distinct: null,
88
+ Max: null,
89
+ Min: null,
90
+ Count: null,
91
+ Std_Deviation: null,
92
+ Only: '',
93
+ };
94
+ }
95
+ const handleExpression = (functionName) => {
96
+ const columnId = selectedCellInfo.columns[0].columnId;
97
+ const rowNodes = selectedCellInfo.gridCells.map((gc) => gc.rowNode);
98
+ return this.api.internalApi.getAdaptableInstance().SummaryService.evaluateExpressionValue({
99
+ expression: {
100
+ function: functionName,
101
+ },
102
+ columnId: columnId,
103
+ getRowNodes: () => rowNodes,
104
+ }, ModuleConstants.CellSummaryModuleId);
105
+ };
106
+ const sumValue = hasNumericColumns ? handleExpression('SUM') : null;
107
+ const avgValue = hasNumericColumns ? Helper_1.Helper.roundNumber(handleExpression('AVG'), 2) : null;
108
+ const modeValue = hasNumericColumns ? handleExpression('MODE') : null;
109
+ const medianValue = hasNumericColumns ? handleExpression('MEDIAN') : null;
110
+ const distinctValue = handleExpression('DISTINCT');
111
+ const maxValue = hasNumericColumns ? handleExpression('MAX') : null;
112
+ const minValue = hasNumericColumns ? handleExpression('MIN') : null;
113
+ const stdDeviation = hasNumericColumns
114
+ ? Helper_1.Helper.roundNumberTo4dp(handleExpression('STD_DEVIATION'))
115
+ : null;
78
116
  selectedCellSummary = {
79
- Sum: hasNumericColumns
80
- ? Helper_1.Helper.roundNumberTo4dp(Helper_1.Helper.sumNumberArray(numericValues))
81
- : undefined,
82
- Average: hasNumericColumns
83
- ? Helper_1.Helper.roundNumberTo4dp(Helper_1.Helper.meanNumberArray(numericValues))
84
- : undefined,
85
- Median: hasNumericColumns
86
- ? Helper_1.Helper.roundNumberTo4dp(Helper_1.Helper.medianNumberArray(numericValues))
87
- : undefined,
88
- Mode: hasNumericColumns
89
- ? Helper_1.Helper.roundNumberTo4dp(Helper_1.Helper.modeNumberArray(numericValues))
90
- : undefined,
91
- Distinct: distinctCount,
92
- Max: hasNumericColumns ? Helper_1.Helper.roundNumberTo4dp(Math.max(...numericValues)) : undefined,
93
- Min: hasNumericColumns ? Helper_1.Helper.roundNumberTo4dp(Math.min(...numericValues)) : undefined,
117
+ Sum: sumValue,
118
+ Average: avgValue,
119
+ Median: medianValue,
120
+ Mode: modeValue,
121
+ Distinct: distinctValue,
122
+ Max: maxValue,
123
+ Min: minValue,
94
124
  Count: allValues.length,
95
- Std_Deviation: hasNumericColumns
96
- ? Helper_1.Helper.roundNumberTo4dp(Helper_1.Helper.standardDeviationNumberArray(numericValues))
97
- : undefined,
98
- Only: distinctCount == 1 ? JSON.stringify(allValues[0]) : '',
125
+ Std_Deviation: stdDeviation,
126
+ Only: distinctValue == 1 ? JSON.stringify(allValues[0]) : '',
99
127
  };
100
128
  numericValues = [...newNumericValues];
101
129
  const operationDefinitions = this.api.cellSummaryApi.getCellSummaryOperationDefinitions();
@@ -104,7 +132,7 @@ class CellSummaryModule extends AdaptableModuleBase_1.AdaptableModuleBase {
104
132
  if (operation.operationFunction) {
105
133
  const cellSummaryOperationContext = {
106
134
  selectedCellInfo,
107
- distinctCount,
135
+ distinctCount: distinctValue,
108
136
  allValues,
109
137
  numericValues,
110
138
  numericColumns,
@@ -116,6 +144,7 @@ class CellSummaryModule extends AdaptableModuleBase_1.AdaptableModuleBase {
116
144
  }
117
145
  });
118
146
  }
147
+ this.cachedCellSummary.set(selectedCellInfo, selectedCellSummary);
119
148
  return selectedCellSummary;
120
149
  }
121
150
  getViewProperties() {
@@ -5,7 +5,6 @@ import { ChartDefinition } from '../types';
5
5
  import { ExternalChartDefinition } from '../PredefinedConfig/ChartingState';
6
6
  export declare class ChartingModule extends AdaptableModuleBase implements IModule {
7
7
  constructor(api: AdaptableApi);
8
- updateOldConfig(): void;
9
8
  isModuleAvailable(): boolean;
10
9
  getModuleAdaptableObjects(): (ChartDefinition | ExternalChartDefinition)[];
11
10
  toViewAll(): AdaptableObjectView[];
@@ -10,34 +10,14 @@ const ChartingRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/Cha
10
10
  const ChartingStatusBarPopover_1 = require("../View/Charting/ChartingStatusBarPopover");
11
11
  const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
12
12
  const ChartingState_1 = require("../PredefinedConfig/ChartingState");
13
+ const Helper_1 = tslib_1.__importDefault(require("../Utilities/Helpers/Helper"));
13
14
  class ChartingModule extends AdaptableModuleBase_1.AdaptableModuleBase {
14
15
  constructor(api) {
15
16
  super(ModuleConstants.ChartingModuleId, ModuleConstants.ChartingFriendlyName, 'chart', 'ChartPopup', 'Create AG Grid Charts in order to see Adaptable Data visually', api);
16
17
  }
17
- updateOldConfig() {
18
- const allChartDefinitions = this.api.chartingApi.getChartDefinitions();
19
- const chartDefinitionsToUpdate = allChartDefinitions
20
- .filter((chartDefinition) => 'model' in chartDefinition || !('Name' in chartDefinition))
21
- .map((charDefinition) => {
22
- const newChartDefinition = Object.assign({}, charDefinition);
23
- if ('model' in newChartDefinition) {
24
- newChartDefinition.Model = charDefinition.model;
25
- delete newChartDefinition.model;
26
- }
27
- if (!('Name' in newChartDefinition)) {
28
- // default to chartId
29
- // @ts-ignore possible because First iteration had no 'Name' and model was under 'model' key (lowercase)
30
- newChartDefinition.Name = newChartDefinition.Model.chartId;
31
- }
32
- return newChartDefinition;
33
- });
34
- if (chartDefinitionsToUpdate.length > 0) {
35
- chartDefinitionsToUpdate.forEach((chartDefinition) => this.api.chartingApi.editChartDefinition(chartDefinition));
36
- }
37
- }
38
18
  isModuleAvailable() {
39
19
  const agChartsAvailable = this.api.chartingApi.isChartingEnabled() && super.isModuleAvailable();
40
- const externalChartsAvailable = this.api.optionsApi.getChartingOptions().externalChartingOptions;
20
+ const externalChartsAvailable = Helper_1.default.objectHasKeys(this.api.optionsApi.getChartingOptions().externalChartingOptions);
41
21
  return Boolean(agChartsAvailable || externalChartsAvailable);
42
22
  }
43
23
  getModuleAdaptableObjects() {
@@ -12,8 +12,7 @@ export declare class ColumnFilterModule extends AdaptableModuleBase implements I
12
12
  getModuleAdaptableObjects(): AdaptableObject[];
13
13
  getExplicitlyReferencedColumnIds(columnFilter: ColumnFilter): string[];
14
14
  hasNamedQueryReferences(): boolean;
15
- updateOldConfig(): void;
16
- handleAdaptableReady(): void;
15
+ onAdaptableReady(): void;
17
16
  addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
18
17
  addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
19
18
  private getExistingColumnFilter;
@@ -32,70 +32,7 @@ class ColumnFilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
32
32
  hasNamedQueryReferences() {
33
33
  return false;
34
34
  }
35
- updateOldConfig() {
36
- // Note: have updated Dashboard and Status bar but NOT Tool Panels
37
- // Update Module Buttons
38
- let updateModuleButtons = false;
39
- let moduleButtons = this.api.dashboardApi.getModuleButtons();
40
- if (!moduleButtons.includes('ColumnFilter')) {
41
- moduleButtons = moduleButtons.map((moduleButton) => {
42
- if (moduleButton == 'Filter') {
43
- updateModuleButtons = true;
44
- return 'ColumnFilter';
45
- }
46
- return moduleButton;
47
- });
48
- }
49
- if (updateModuleButtons) {
50
- this.api.dashboardApi.setModuleButtons(moduleButtons);
51
- }
52
- // Update Toolbars
53
- let updateTabs = false;
54
- const tabs = this.api.dashboardApi.getTabs().map((tab) => {
55
- if (tab.Toolbars.includes('Filter') && !tab.Toolbars.includes('ColumnFilter')) {
56
- updateTabs = true;
57
- return Object.assign(Object.assign({}, tab), {
58
- // replace with 'GridFilter'
59
- Toolbars: tab.Toolbars.map((t) => (t == 'Filter' ? 'ColumnFilter' : t)) });
60
- }
61
- return tab;
62
- });
63
- if (updateTabs) {
64
- this.api.dashboardApi.setTabs(tabs);
65
- }
66
- // - move pinned toolbars
67
- let updatePinnedToolbars = false;
68
- let pinnedToolbars = this.api.dashboardApi.getPinnedToolbars();
69
- if (pinnedToolbars && !(pinnedToolbars === null || pinnedToolbars === void 0 ? void 0 : pinnedToolbars.includes('ColumnFilter'))) {
70
- pinnedToolbars = pinnedToolbars.map((pinnedToolbar) => {
71
- if (pinnedToolbar == 'Filter') {
72
- updatePinnedToolbars = true;
73
- return 'ColumnFilter';
74
- }
75
- return pinnedToolbar;
76
- });
77
- }
78
- if (updatePinnedToolbars) {
79
- this.api.dashboardApi.setPinnedToolbars(pinnedToolbars);
80
- }
81
- // Update Status Bar
82
- let updateStatusBars = false;
83
- const statusBars = this.api.statusBarApi
84
- .getAdaptableStatusBars()
85
- .map((panel) => {
86
- return Object.assign(Object.assign({}, panel), { StatusBarPanels: panel.StatusBarPanels.map((panel) => {
87
- if (panel === 'Filter') {
88
- updateStatusBars = true;
89
- return 'ColumnFilter';
90
- }
91
- return panel;
92
- }) });
93
- });
94
- if (updateStatusBars) {
95
- this.api.statusBarApi.setStatusBarPanels(statusBars);
96
- }
97
- }
98
- handleAdaptableReady() {
35
+ onAdaptableReady() {
99
36
  if (this.api.optionsApi.getColumnFilterOptions().quickFilterOptions.showQuickFilter == false) {
100
37
  this.api.columnFilterApi.hideQuickFilterBar();
101
38
  }
@@ -9,6 +9,7 @@ import { IModule } from './Interface/IModule';
9
9
  export declare class CommentsModule extends AdaptableModuleBase implements IModule {
10
10
  private adaptable;
11
11
  constructor(api: AdaptableApi);
12
+ onAdaptableReady(): void;
12
13
  isModuleAvailable(): boolean;
13
14
  private loadComments;
14
15
  addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
@@ -13,7 +13,8 @@ class CommentsModule extends AdaptableModuleBase_1.AdaptableModuleBase {
13
13
  constructor(api) {
14
14
  super(ModuleConstants.CommentsModuleId, ModuleConstants.CommentsFriendlyName, 'comments', 'CommentsPopup', 'comments', api);
15
15
  this.adaptable = api.internalApi.getAdaptableInstance();
16
- this.adaptable.api.eventApi.on('AdaptableReady', () => this.handleAdaptableReady());
16
+ }
17
+ onAdaptableReady() {
17
18
  this.loadComments();
18
19
  }
19
20
  isModuleAvailable() {
@@ -58,6 +59,9 @@ class CommentsModule extends AdaptableModuleBase_1.AdaptableModuleBase {
58
59
  ColumnId: menuContext.adaptableColumn.columnId,
59
60
  };
60
61
  const comments = this.adaptable.api.commentApi.getComments(cellAddress);
62
+ if (!this.api.commentApi.internalApi.areCommentsAvailable()) {
63
+ return items;
64
+ }
61
65
  if (comments) {
62
66
  items.push(this.createColumnMenuItemClickFunction('Remove Comments', this.moduleInfo.Glyph, () => {
63
67
  this.api.commentApi.deleteCommentThread(cellAddress);
@@ -29,7 +29,7 @@ class CustomSortModule extends AdaptableModuleBase_1.AdaptableModuleBase {
29
29
  .find((x) => x.ColumnId == column.columnId);
30
30
  let label = customSort ? 'Edit ' : 'Create ';
31
31
  // dont show a menu item if there is a custom sort that uses a comparer function
32
- const columnSortComparer = this.api.customSortApi.internalApi.getCustomSortComparer(column);
32
+ const columnSortComparer = this.api.customSortApi.internalApi.getCustomSortComparer(column.columnId);
33
33
  if (columnSortComparer) {
34
34
  return undefined;
35
35
  }
@@ -4,8 +4,7 @@ import { IModule } from './Interface/IModule';
4
4
  import { AdaptableApi } from '../Api/AdaptableApi';
5
5
  export declare class DashboardModule extends AdaptableModuleBase implements IModule {
6
6
  constructor(api: AdaptableApi);
7
- updateOldConfig(): void;
8
- handleAdaptableReady(): void;
7
+ onAdaptableReady(): void;
9
8
  addColumnMenuItems(): AdaptableMenuItem[] | undefined;
10
9
  addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
11
10
  private buildMenuItems;
@@ -9,14 +9,7 @@ class DashboardModule extends AdaptableModuleBase_1.AdaptableModuleBase {
9
9
  constructor(api) {
10
10
  super(ModuleConstants.DashboardModuleId, ModuleConstants.DashboardFriendlyName, 'dashboard', 'DashboardPopup', 'The Dashboard - usually placed above the Grid - is designed to provide quick access to commonly required AdapTable functionalty', api);
11
11
  }
12
- updateOldConfig() {
13
- let dashboardState = this.api.dashboardApi.getDashboardState();
14
- if (dashboardState.VisibleButtons) {
15
- this.api.logWarn(`Updating Obsolete VisibleButtons Config for DashboardState: [${dashboardState.VisibleButtons}]`);
16
- this.api.dashboardApi.setModuleButtons(dashboardState.VisibleButtons);
17
- }
18
- }
19
- handleAdaptableReady() {
12
+ onAdaptableReady() {
20
13
  // we used to create a default tab here but we no longer do // this.api.internalApi.setDefaultDashboardTab();
21
14
  // this handler reacts to the 'AdaptableReady' event,
22
15
  // but so do all the other possible handlers of the 'DashboardChanged' event
@@ -3,6 +3,7 @@ import { AdaptableModuleView, IModule } from './Interface/IModule';
3
3
  import { AdaptableApi } from '../Api/AdaptableApi';
4
4
  export declare class DataChangeHistoryModule extends AdaptableModuleBase implements IModule {
5
5
  constructor(api: AdaptableApi);
6
+ onAdaptableReady(): void;
6
7
  isModuleAvailable(): boolean;
7
8
  getPopupMaxWidth(): number;
8
9
  hasNamedQueryReferences(): boolean;
@@ -10,6 +10,8 @@ const core_1 = require("ag-grid-community");
10
10
  class DataChangeHistoryModule extends AdaptableModuleBase_1.AdaptableModuleBase {
11
11
  constructor(api) {
12
12
  super(ModuleConstants.DataChangeHistoryModuleId, ModuleConstants.DataChangeHistoryFriendlyName, 'target', 'DataChangeHistoryPopup', 'Provides an overview of all previous changes, giving the possibility to undo specific changes', api);
13
+ }
14
+ onAdaptableReady() {
13
15
  this.api.internalApi
14
16
  .getDataService()
15
17
  .on('CellDataChanged', (cellDataChangedInfo) => {
@@ -24,7 +26,7 @@ class DataChangeHistoryModule extends AdaptableModuleBase_1.AdaptableModuleBase
24
26
  const isAdaptableModuleAvailable = super.isModuleAvailable();
25
27
  const isAgGridModuleAvailable = this.api.internalApi
26
28
  .getAdaptableInstance()
27
- .isAgGridModulePresent(core_1.ModuleNames.ClientSideRowModelModule);
29
+ .agGridAdapter.isModulePresent(core_1.ModuleNames.ClientSideRowModelModule);
28
30
  if (isAdaptableModuleAvailable && !isAgGridModuleAvailable) {
29
31
  this.api.logWarn(`Data Change History is NOT available due to missing required AG Grid module: ${core_1.ModuleNames.ClientSideRowModelModule}`);
30
32
  }
@@ -5,7 +5,7 @@ import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
5
5
  import { DataSet } from '../AdaptableOptions/DataSetOptions';
6
6
  export declare class DataSetModule extends AdaptableModuleBase implements IModule {
7
7
  constructor(api: AdaptableApi);
8
- handleAdaptableReady(): void;
8
+ onAdaptableReady(): void;
9
9
  getModuleAdaptableObjects(): AdaptableObject[];
10
10
  hasNamedQueryReferences(): boolean;
11
11
  toView(dataSet: DataSet): AdaptableObjectView;
@@ -12,7 +12,7 @@ class DataSetModule extends AdaptableModuleBase_1.AdaptableModuleBase {
12
12
  constructor(api) {
13
13
  super(ModuleConstants.DataSetModuleId, ModuleConstants.DataSetFriendlyName, 'data-set', 'DataSetPopup', 'Update the entire data source in AdapTable using pre-populated data sets', api);
14
14
  }
15
- handleAdaptableReady() {
15
+ onAdaptableReady() {
16
16
  this.api.dataSetApi.getDataSets().forEach((ds) => {
17
17
  if (!ds.Uuid) {
18
18
  ds.Uuid = (0, Uuid_1.createUuid)();
@@ -9,8 +9,7 @@ import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
9
9
  import { FlashingCellDefinition } from '../PredefinedConfig/FlashingCellState';
10
10
  export declare class FlashingCellModule extends AdaptableModuleBase implements IModule {
11
11
  constructor(api: AdaptableApi);
12
- updateOldConfig(): void;
13
- private updateFlashingCellSingleToMultiplePredicates;
12
+ onAdaptableReady(): void;
14
13
  getModuleAdaptableObjects(config?: {
15
14
  includeLayoutNotAssociatedObjects?: boolean;
16
15
  }): AdaptableObject[];
@@ -15,11 +15,11 @@ const FlashingCellWizard_1 = require("../View/FlashingCell/Wizard/FlashingCellWi
15
15
  const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
16
16
  const getFlashingTargetViewItems_1 = require("./Utilities/FlashingCell/getFlashingTargetViewItems");
17
17
  const getFlashingCellStyleViewItems_1 = require("./Utilities/FlashingCell/getFlashingCellStyleViewItems");
18
- const Helper_1 = require("../Utilities/Helpers/Helper");
19
- const updateSingleToMultiplePredicates_1 = require("./Utilities/updateSingleToMultiplePredicates");
20
18
  class FlashingCellModule extends AdaptableModuleBase_1.AdaptableModuleBase {
21
19
  constructor(api) {
22
20
  super(ModuleConstants.FlashingCellModuleId, ModuleConstants.FlashingCellFriendlyName, 'lightning', 'FlashingAlert', 'Flash cells when they change', api);
21
+ }
22
+ onAdaptableReady() {
23
23
  this.api.internalApi
24
24
  .getDataService()
25
25
  .on('CellDataChanged', (cellDataChangedInfo) => {
@@ -42,19 +42,6 @@ class FlashingCellModule extends AdaptableModuleBase_1.AdaptableModuleBase {
42
42
  this.handleCellDataChanged(cellDataChangedInfo);
43
43
  });
44
44
  }
45
- updateOldConfig() {
46
- this.updateFlashingCellSingleToMultiplePredicates();
47
- }
48
- updateFlashingCellSingleToMultiplePredicates() {
49
- const flashingCells = this.api.flashingCellApi.getFlashingCellDefinitions();
50
- flashingCells.forEach((flashingCell) => {
51
- if (flashingCell.Rule && 'Predicate' in flashingCell.Rule) {
52
- const preparedFlashingCell = (0, Helper_1.cloneObject)(flashingCell);
53
- (0, updateSingleToMultiplePredicates_1.updateSingleToMultiplePredicates)(preparedFlashingCell.Rule);
54
- this.api.flashingCellApi.editFlashingCellDefinition(preparedFlashingCell);
55
- }
56
- });
57
- }
58
45
  getModuleAdaptableObjects(config) {
59
46
  return this.api.flashingCellApi.getFlashingCellDefinitions(config);
60
47
  }
@@ -13,8 +13,6 @@ export declare class FormatColumnModule extends AdaptableModuleBase implements I
13
13
  }): AdaptableObject[];
14
14
  getExplicitlyReferencedColumnIds(formatColumn: FormatColumn): string[];
15
15
  getReferencedNamedQueryNames(formatColumn: FormatColumn): string[];
16
- updateOldConfig(): void;
17
- private updateFormatColumnSingleToMultiplePredicates;
18
16
  addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
19
17
  getTeamSharingAction(): TeamSharingImportInfo<FormatColumn>;
20
18
  toView(formatColumn: FormatColumn): AdaptableObjectView;
@@ -14,8 +14,6 @@ const getFormatColumnStyleViewItems_1 = require("./Utilities/FormatColumn/getFor
14
14
  const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
15
15
  const getRuleViewItems_1 = require("./Utilities/getRuleViewItems");
16
16
  const MoveFormatColumn_1 = require("../View/FormatColumn/MoveFormatColumn");
17
- const Helper_1 = require("../Utilities/Helpers/Helper");
18
- const updateSingleToMultiplePredicates_1 = require("./Utilities/updateSingleToMultiplePredicates");
19
17
  const ArrayExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/ArrayExtensions"));
20
18
  class FormatColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
21
19
  constructor(api) {
@@ -43,51 +41,6 @@ class FormatColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
43
41
  }
44
42
  return this.api.namedQueryApi.internalApi.getReferencedNamedQueryNames(queryExpression);
45
43
  }
46
- updateOldConfig() {
47
- this.updateFormatColumnSingleToMultiplePredicates();
48
- // update ConditionalStyle StatusBarPanel
49
- const oldStatusBars = this.api.internalApi.getState().StatusBar.StatusBars;
50
- let replaceConditionalStyleStatusBar = false;
51
- const newStatusBars = oldStatusBars.map((statusBar) => (Object.assign(Object.assign({}, statusBar), { StatusBarPanels: [
52
- ...new Set(statusBar.StatusBarPanels.map((statusBarPanel) => {
53
- if (statusBarPanel === 'ConditionalStyle') {
54
- replaceConditionalStyleStatusBar = true;
55
- return 'FormatColumn';
56
- }
57
- return statusBarPanel;
58
- })),
59
- ] })));
60
- if (replaceConditionalStyleStatusBar) {
61
- this.api.statusBarApi.setStatusBarPanels(newStatusBars);
62
- }
63
- // update ConditionalStyle dashboard buttons
64
- const dashboardModuleButtons = this.api.internalApi.getState().Dashboard.ModuleButtons;
65
- if (dashboardModuleButtons.includes('ConditionalStyle')) {
66
- dashboardModuleButtons[dashboardModuleButtons.indexOf('ConditionalStyle')] = 'FormatColumn';
67
- const test2 = dashboardModuleButtons;
68
- this.api.dashboardApi.setModuleButtons([
69
- ...new Set(dashboardModuleButtons),
70
- ]);
71
- }
72
- // update ConditionalStyle toolPanel buttons
73
- const toolPanelModuleButtons = this.api.internalApi.getState().ToolPanel.ModuleButtons;
74
- if (toolPanelModuleButtons.includes('ConditionalStyle')) {
75
- toolPanelModuleButtons[toolPanelModuleButtons.indexOf('ConditionalStyle')] = 'FormatColumn';
76
- this.api.toolPanelApi.setModuleButtons([
77
- ...new Set(dashboardModuleButtons),
78
- ]);
79
- }
80
- }
81
- updateFormatColumnSingleToMultiplePredicates() {
82
- const formatColumns = this.api.formatColumnApi.getFormatColumns();
83
- formatColumns.forEach((formatColumn) => {
84
- if (formatColumn.Rule && 'Predicate' in formatColumn.Rule) {
85
- const preparedFormatColumn = (0, Helper_1.cloneObject)(formatColumn);
86
- (0, updateSingleToMultiplePredicates_1.updateSingleToMultiplePredicates)(preparedFormatColumn.Rule);
87
- this.api.formatColumnApi.editFormatColumn(preparedFormatColumn);
88
- }
89
- });
90
- }
91
44
  addColumnMenuItems(column) {
92
45
  let returnColumnMenuItems = [];
93
46
  if (column && this.isModuleEditable() && !column.isSparkline) {
@@ -12,7 +12,6 @@ export declare class FreeTextColumnModule extends AdaptableModuleBase implements
12
12
  isModuleAvailable(): boolean;
13
13
  getModuleAdaptableObjects(): FreeTextColumn[];
14
14
  hasNamedQueryReferences(): boolean;
15
- updateOldConfig(): void;
16
15
  addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
17
16
  getTeamSharingAction(): TeamSharingImportInfo<FreeTextColumn>;
18
17
  toView(freeTextColumn: FreeTextColumn): AdaptableObjectView;
@@ -21,36 +21,6 @@ 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
- const unTypedCol = freeTextColumn;
29
- if (unTypedCol.DataType) {
30
- const dataType = unTypedCol.DataType;
31
- delete unTypedCol['DataType'];
32
- if (!freeTextColumn.FreeTextColumnSettings) {
33
- freeTextColumn.FreeTextColumnSettings = {
34
- DataType: dataType,
35
- };
36
- }
37
- else {
38
- freeTextColumn.FreeTextColumnSettings.DataType = dataType;
39
- }
40
- this.api.freeTextColumnApi.editFreeTextColumn(freeTextColumn);
41
- }
42
- if (!freeTextColumn.FreeTextColumnSettings) {
43
- freeTextColumn.FreeTextColumnSettings = {
44
- DataType: 'String',
45
- };
46
- this.api.freeTextColumnApi.editFreeTextColumn(freeTextColumn);
47
- }
48
- if (!freeTextColumn.FreeTextColumnSettings.DataType) {
49
- freeTextColumn.FreeTextColumnSettings.DataType = 'String';
50
- this.api.freeTextColumnApi.editFreeTextColumn(freeTextColumn);
51
- }
52
- }
53
- }
54
24
  addColumnMenuItems(column) {
55
25
  if (column && this.isModuleEditable()) {
56
26
  if (this.api.freeTextColumnApi
@@ -3,6 +3,5 @@ import { AdaptableModuleView, IModule } from './Interface/IModule';
3
3
  import { AdaptableModuleBase } from './AdaptableModuleBase';
4
4
  export declare class GridFilterModule extends AdaptableModuleBase implements IModule {
5
5
  constructor(api: AdaptableApi);
6
- updateOldConfig(): void;
7
6
  getViewProperties(): AdaptableModuleView;
8
7
  }
@@ -6,47 +6,10 @@ const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
6
6
  const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
7
7
  const EditCurrentQueryButton_1 = require("../View/NamedQuery/EditCurrentQueryButton");
8
8
  const GridFilterStatusbar_1 = require("../View/GridFilter/GridFilterStatusbar");
9
- const StringExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/StringExtensions"));
10
9
  class GridFilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
11
10
  constructor(api) {
12
11
  super(ModuleConstants.GridFilterModuleId, ModuleConstants.GridFilterFriendlyName, 'filter-list', 'GridFilterPopup', 'Controls the Grid Filter funtionality', api);
13
12
  }
14
- updateOldConfig() {
15
- var _a, _b;
16
- const oldQueryState = this.api.internalApi.getAdaptableState().Query;
17
- // - move query to current layout
18
- const expression = oldQueryState.CurrentQuery;
19
- if (expression &&
20
- StringExtensions_1.default.IsNullOrEmpty(this.api.gridFilterApi.getCurrentGridFilterExpression())) {
21
- this.api.gridFilterApi.setGridFilterExpression(expression);
22
- }
23
- // - move dashboard/toolbar
24
- let updateTabs = false;
25
- const tabs = this.api.dashboardApi.getTabs().map((tab) => {
26
- if (tab.Toolbars.includes('Query')) {
27
- updateTabs = true;
28
- return Object.assign(Object.assign({}, tab), {
29
- // replace with 'GridFilter'
30
- Toolbars: tab.Toolbars.map((t) => (t == 'Query' ? 'GridFilter' : t)) });
31
- }
32
- return tab;
33
- });
34
- if (updateTabs) {
35
- this.api.dashboardApi.setTabs(tabs);
36
- }
37
- // - move pinned toolbars
38
- let updatePinnedToolbars = false;
39
- const pinnedToolbars = (_b = (_a = this.api.dashboardApi.getPinnedToolbars()) === null || _a === void 0 ? void 0 : _a.map) === null || _b === void 0 ? void 0 : _b.call(_a, (pinnedToolbar) => {
40
- if (pinnedToolbar == 'Query') {
41
- updatePinnedToolbars = true;
42
- return 'GridFilter';
43
- }
44
- return pinnedToolbar;
45
- });
46
- if (updatePinnedToolbars) {
47
- this.api.dashboardApi.setPinnedToolbars(pinnedToolbars);
48
- }
49
- }
50
13
  getViewProperties() {
51
14
  return {
52
15
  getStatusBarPanelProps: () => {
@@ -156,7 +156,6 @@ export interface IModule {
156
156
  getModuleFreeTextColumnReferences(): FreeTextColumn[];
157
157
  getPopupMaxWidth(): number | undefined;
158
158
  canBeAssociatedWithLayouts(): boolean;
159
- updateOldConfig(): void;
160
159
  /**
161
160
  * The following view options are used to render adaptable objects and
162
161
  * module general views.
@@ -7,16 +7,16 @@ import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
7
7
  import { AdaptableApi } from '../Api/AdaptableApi';
8
8
  import { AdaptableModuleView, IModule, TeamSharingReferences } from './Interface/IModule';
9
9
  import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
10
+ import { AggregatedScalarLiveValue } from '../Utilities/Services/AggregatedScalarLiveValue';
10
11
  export declare class LayoutModule extends AdaptableModuleBase implements IModule {
12
+ cachedCellSummary: Map<string, AggregatedScalarLiveValue>;
11
13
  protected LayoutState: LayoutState;
12
14
  constructor(api: AdaptableApi);
13
- updateOldConfig(): void;
14
- private clearUnsuportedFeaturesFromLayout;
15
+ onAdaptableReady(): void;
15
16
  getModuleAdaptableObjects(): AdaptableObject[];
16
17
  getExplicitlyReferencedColumnIds(layout: Layout): string[];
17
18
  getTeamSharingReferences(adaptableObject: AdaptableObject): TeamSharingReferences;
18
19
  hasNamedQueryReferences(): boolean;
19
- handleAdaptableReady(): void;
20
20
  addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
21
21
  addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
22
22
  private createViewPivotItemsMenuItem;
@@ -44,4 +44,9 @@ export declare class LayoutModule extends AdaptableModuleBase implements IModule
44
44
  getViewProperties(): AdaptableModuleView;
45
45
  handleLayoutChange(): void;
46
46
  getReferencedNamedQueryNames(layout: Layout): string[];
47
+ /**
48
+ *
49
+ * @param colId optional to evaluate only one column
50
+ */
51
+ private evaluateRowSummary;
47
52
  }