@adaptabletools/adaptable 13.0.0-canary.2 → 13.0.0-canary.20

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 (263) hide show
  1. package/agGrid.d.ts +23 -1
  2. package/agGrid.js +23 -1
  3. package/base.css +1232 -733
  4. package/base.css.map +1 -0
  5. package/bundle.cjs.js +191 -174
  6. package/index.css +1250 -734
  7. package/index.css.map +1 -0
  8. package/package.json +5 -5
  9. package/publishTimestamp.d.ts +1 -1
  10. package/publishTimestamp.js +1 -1
  11. package/src/AdaptableInterfaces/IAdaptable.d.ts +7 -3
  12. package/src/AdaptableOptions/AdaptableOptions.d.ts +0 -2
  13. package/src/AdaptableOptions/AdaptableQLOptions.d.ts +136 -27
  14. package/src/AdaptableOptions/ExportOptions.d.ts +2 -2
  15. package/src/AdaptableOptions/FinsemblePluginOptions.d.ts +32 -0
  16. package/src/AdaptableOptions/FinsemblePluginOptions.js +2 -0
  17. package/src/AdaptableOptions/LayoutOptions.d.ts +2 -1
  18. package/src/Api/AdaptableApi.d.ts +2 -0
  19. package/src/Api/ColumnApi.d.ts +8 -2
  20. package/src/Api/ConditionalStyleApi.d.ts +20 -42
  21. package/src/Api/ConfigApi.d.ts +1 -2
  22. package/src/Api/ExportApi.d.ts +6 -6
  23. package/src/Api/FinsembleApi.d.ts +10 -0
  24. package/src/Api/FinsembleApi.js +2 -0
  25. package/src/Api/FormatColumnApi.d.ts +76 -59
  26. package/src/Api/Implementation/AdaptableApiImpl.d.ts +2 -0
  27. package/src/Api/Implementation/AdaptableApiImpl.js +2 -0
  28. package/src/Api/Implementation/ColumnApiImpl.d.ts +2 -1
  29. package/src/Api/Implementation/ColumnApiImpl.js +18 -14
  30. package/src/Api/Implementation/ExportApiImpl.d.ts +4 -4
  31. package/src/Api/Implementation/ExportApiImpl.js +14 -14
  32. package/src/Api/Implementation/FormatColumnApiImpl.d.ts +36 -17
  33. package/src/Api/Implementation/FormatColumnApiImpl.js +101 -185
  34. package/src/Api/Implementation/PluginsApiImpl.d.ts +2 -0
  35. package/src/Api/Implementation/PluginsApiImpl.js +6 -0
  36. package/src/Api/Implementation/QueryLanguageApiImpl.d.ts +2 -3
  37. package/src/Api/Implementation/QueryLanguageApiImpl.js +9 -18
  38. package/src/Api/Implementation/ScopeApiImpl.d.ts +1 -1
  39. package/src/Api/Implementation/StyledColumnApiImpl.d.ts +25 -0
  40. package/src/Api/Implementation/StyledColumnApiImpl.js +193 -0
  41. package/src/Api/Implementation/SystemStatusApiImpl.js +1 -2
  42. package/src/Api/Implementation/ToolPanelApiImpl.d.ts +3 -1
  43. package/src/Api/Implementation/ToolPanelApiImpl.js +8 -0
  44. package/src/Api/PluginsApi.d.ts +5 -0
  45. package/src/Api/QueryLanguageApi.d.ts +3 -7
  46. package/src/Api/ScopeApi.d.ts +1 -1
  47. package/src/Api/StyledColumnApi.d.ts +106 -0
  48. package/src/Api/StyledColumnApi.js +2 -0
  49. package/src/Api/ToolPanelApi.d.ts +10 -1
  50. package/src/PredefinedConfig/AdaptableState.d.ts +2 -0
  51. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  52. package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +1 -1
  53. package/src/PredefinedConfig/Common/AdaptablePredicate.js +37 -37
  54. package/src/PredefinedConfig/Common/Types.d.ts +3 -3
  55. package/src/PredefinedConfig/Common/Types.js +1 -0
  56. package/src/PredefinedConfig/ConditionalStyleState.d.ts +10 -19
  57. package/src/PredefinedConfig/FormatColumnState.d.ts +21 -92
  58. package/src/PredefinedConfig/PredefinedConfig.d.ts +6 -0
  59. package/src/PredefinedConfig/StyledColumnState.d.ts +119 -0
  60. package/src/PredefinedConfig/StyledColumnState.js +2 -0
  61. package/src/Redux/ActionsReducers/ConditionalStyleRedux.d.ts +0 -18
  62. package/src/Redux/ActionsReducers/ConditionalStyleRedux.js +0 -18
  63. package/src/Redux/ActionsReducers/FormatColumnRedux.d.ts +14 -0
  64. package/src/Redux/ActionsReducers/FormatColumnRedux.js +43 -1
  65. package/src/Redux/ActionsReducers/PluginsRedux.d.ts +4 -4
  66. package/src/Redux/ActionsReducers/PluginsRedux.js +5 -5
  67. package/src/Redux/ActionsReducers/StyledColumnRedux.d.ts +49 -0
  68. package/src/Redux/ActionsReducers/StyledColumnRedux.js +92 -0
  69. package/src/Redux/Store/AdaptableStore.js +9 -0
  70. package/src/Strategy/ConditionalStyleModule.d.ts +0 -2
  71. package/src/Strategy/ConditionalStyleModule.js +3 -27
  72. package/src/Strategy/DataChangeHistoryModule.d.ts +1 -0
  73. package/src/Strategy/DataChangeHistoryModule.js +12 -0
  74. package/src/Strategy/FormatColumnModule.d.ts +3 -10
  75. package/src/Strategy/FormatColumnModule.js +42 -183
  76. package/src/Strategy/Interface/IModule.d.ts +1 -0
  77. package/src/Strategy/StyledColumnModule.d.ts +24 -0
  78. package/src/Strategy/StyledColumnModule.js +165 -0
  79. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.d.ts +1 -1
  80. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +3 -4
  81. package/src/Strategy/Utilities/FormatColumn/getFormatColumnStyleViewItems.js +1 -16
  82. package/src/Strategy/Utilities/getScopeViewItems.js +1 -1
  83. package/src/Utilities/Constants/ModuleConstants.d.ts +3 -0
  84. package/src/Utilities/Constants/ModuleConstants.js +4 -1
  85. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +6 -12
  86. package/src/Utilities/Defaults/DefaultSettingsPanel.js +1 -0
  87. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.d.ts +3 -2
  88. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +3 -1
  89. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +1 -0
  90. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +3 -1
  91. package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.d.ts +1 -0
  92. package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +3 -1
  93. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.d.ts +2 -4
  94. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -1
  95. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -0
  96. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +3 -1
  97. package/src/Utilities/Extensions/TypeExtensions.d.ts +1 -0
  98. package/src/Utilities/Extensions/TypeExtensions.js +5 -0
  99. package/src/Utilities/ObjectFactory.d.ts +5 -2
  100. package/src/Utilities/ObjectFactory.js +14 -7
  101. package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +14 -4
  102. package/src/Utilities/Services/{LicenseService.d.ts → LicenseService/index.d.ts} +3 -3
  103. package/src/Utilities/Services/LicenseService/index.js +1 -0
  104. package/src/Utilities/Services/LicenseService/shouldLogThankYouMessage.d.ts +1 -0
  105. package/src/Utilities/Services/LicenseService/shouldLogThankYouMessage.js +15 -0
  106. package/src/Utilities/Services/ModuleService.js +2 -0
  107. package/src/Utilities/Services/QueryLanguageService.d.ts +3 -3
  108. package/src/Utilities/Services/QueryLanguageService.js +88 -39
  109. package/src/Utilities/Services/ReportService.js +6 -6
  110. package/src/Utilities/license/LicenseDetails.d.ts +1 -1
  111. package/src/Utilities/license/decode.d.ts +1 -0
  112. package/src/Utilities/license/decode.js +1 -1
  113. package/src/View/AdaptablePopover/index.js +1 -1
  114. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +9 -9
  115. package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +6 -5
  116. package/src/View/Alert/Wizard/BaseAlertRulesWizardSection.js +3 -3
  117. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +3 -3
  118. package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
  119. package/src/View/CalculatedColumn/CalculatedColumnSummary.d.ts +1 -1
  120. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +1 -1
  121. package/src/View/Components/AdaptableObjectRow/index.js +1 -6
  122. package/src/View/Components/Buttons/ButtonInfo.d.ts +1 -3
  123. package/src/View/Components/Buttons/ButtonInfo.js +3 -5
  124. package/src/View/Components/EntityRulesEditor/index.d.ts +2 -1
  125. package/src/View/Components/EntityRulesEditor/index.js +36 -35
  126. package/src/View/Components/FilterForm/FilterForm.js +11 -16
  127. package/src/View/Components/FilterForm/ListBoxFilterForm.js +2 -1
  128. package/src/View/Components/FilterForm/QuickFilterForm.js +7 -13
  129. package/src/View/Components/NewScopeComponent.js +3 -3
  130. package/src/View/Components/Panels/PanelWithButton.js +1 -5
  131. package/src/View/Components/Panels/PanelWithImage.js +1 -5
  132. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +2 -2
  133. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.d.ts +1 -0
  134. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +3 -16
  135. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +1 -0
  136. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +1 -1
  137. package/src/View/Components/Popups/AdaptablePopupTeamSharing.js +5 -5
  138. package/src/View/Components/RangesComponent.d.ts +8 -1
  139. package/src/View/Components/RangesComponent.js +60 -24
  140. package/src/View/Components/ScopeComponent.js +6 -6
  141. package/src/View/Components/Selectors/ColumnSelector.d.ts +1 -0
  142. package/src/View/Components/Selectors/ColumnSelector.js +2 -1
  143. package/src/View/Components/Selectors/ColumnValueSelector.js +2 -2
  144. package/src/View/Components/StyleComponent.js +14 -19
  145. package/src/View/Components/ToolPanel/AdaptableToolPanel.d.ts +3 -9
  146. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +25 -10
  147. package/src/View/Components/ToolPanel/CustomToolPanelContent.js +1 -1
  148. package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +1 -1
  149. package/src/View/ConditionalStyle/ConditionalStylePopupHeader.d.ts +2 -0
  150. package/src/View/ConditionalStyle/ConditionalStylePopupHeader.js +18 -0
  151. package/src/View/ConditionalStyle/Wizard/ConditionalStyleRuleWizardSection.js +3 -3
  152. package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.js +1 -1
  153. package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.js +1 -11
  154. package/src/View/DataSet/DataSetSelector.js +1 -1
  155. package/src/View/DataSet/DataSetViewPanel.d.ts +1 -1
  156. package/src/View/Export/ExportViewPanel.d.ts +1 -1
  157. package/src/View/Export/ExportViewPanel.js +4 -4
  158. package/src/View/Export/ReportExportDropdown.js +1 -1
  159. package/src/View/Export/Wizard/ReportNameWizardSection.js +10 -11
  160. package/src/View/Filter/FilterSummary.d.ts +1 -1
  161. package/src/View/Filter/FilterViewPanel.d.ts +1 -1
  162. package/src/View/FlashingCell/FlashingCellStyle.js +3 -3
  163. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +3 -3
  164. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +6 -6
  165. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +4 -4
  166. package/src/View/FormatColumn/FormatColumnSummary.js +1 -1
  167. package/src/View/FormatColumn/MoveFormatColumn.d.ts +7 -0
  168. package/src/View/FormatColumn/MoveFormatColumn.js +27 -0
  169. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +28 -28
  170. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.d.ts +8 -0
  171. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +28 -0
  172. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +21 -3
  173. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +2 -28
  174. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.d.ts +3 -3
  175. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +6 -300
  176. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +15 -9
  177. package/src/View/FormatColumn/Wizard/constants.d.ts +1 -0
  178. package/src/View/FormatColumn/Wizard/constants.js +4 -0
  179. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +7 -7
  180. package/src/View/Layout/LayoutRadioSelector.js +1 -1
  181. package/src/View/Layout/LayoutViewPanel.d.ts +1 -1
  182. package/src/View/Layout/Wizard/Components/ColumnLabels.js +1 -1
  183. package/src/View/Layout/Wizard/sections/AggregationsSection.js +1 -1
  184. package/src/View/Layout/Wizard/sections/ColumnsSection.js +7 -6
  185. package/src/View/Layout/Wizard/sections/SettingsSection.js +2 -2
  186. package/src/View/PlusMinus/Wizard/PlusMinusRuleWizardSection.js +1 -1
  187. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +3 -3
  188. package/src/View/Query/QueryViewPanel.d.ts +1 -1
  189. package/src/View/Query/Wizard/NamedQuerySettingsWizardSection.js +1 -1
  190. package/src/View/QuickSearch/QuickSearchPopup.js +2 -2
  191. package/src/View/QuickSearch/QuickSearchViewPanel.d.ts +1 -1
  192. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +5 -5
  193. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsGlue42.js +1 -1
  194. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +5 -5
  195. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +1 -1
  196. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +5 -5
  197. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +2 -2
  198. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +3 -3
  199. package/src/View/SmartEdit/SmartEditPopup.js +3 -3
  200. package/src/View/SpecialColumnSettingsWizardStep.js +10 -10
  201. package/src/View/StateManagement/StateManagementPopup.js +4 -4
  202. package/src/View/StyledColumn/Wizard/StyledColumnWizard.d.ts +7 -0
  203. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +77 -0
  204. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.d.ts +9 -0
  205. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +65 -0
  206. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection.d.ts +9 -0
  207. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection.js +234 -0
  208. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.d.ts +7 -0
  209. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +59 -0
  210. package/src/View/SystemStatus/SystemStatusEntityRow.js +4 -6
  211. package/src/View/SystemStatus/SystemStatusViewPanel.d.ts +1 -1
  212. package/src/View/TeamSharing/SharedEntityObjectView.js +1 -1
  213. package/src/View/TeamSharing/TeamSharingApplyButton.js +1 -1
  214. package/src/View/Theme/ThemePopup.js +1 -1
  215. package/src/View/Wizard/OnePageAdaptableWizard.d.ts +1 -1
  216. package/src/View/Wizard/OnePageAdaptableWizard.js +1 -2
  217. package/src/agGrid/ActionColumnRenderer.d.ts +3 -0
  218. package/src/agGrid/ActionColumnRenderer.js +96 -64
  219. package/src/agGrid/Adaptable.d.ts +13 -9
  220. package/src/agGrid/Adaptable.js +207 -221
  221. package/src/agGrid/CheckboxRenderer.js +1 -1
  222. package/src/agGrid/FilterWrapper.js +60 -16
  223. package/src/agGrid/FloatingFilterWrapper.d.ts +2 -2
  224. package/src/agGrid/FloatingFilterWrapper.js +71 -32
  225. package/src/agGrid/PercentBarRenderer.d.ts +6 -2
  226. package/src/agGrid/PercentBarRenderer.js +19 -17
  227. package/src/agGrid/agGridHelper.d.ts +6 -2
  228. package/src/agGrid/agGridHelper.js +16 -15
  229. package/src/agGrid/createAgStatusPanelComponent.d.ts +1 -1
  230. package/src/agGrid/createAgStatusPanelComponent.js +17 -0
  231. package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +5 -1
  232. package/src/agGrid/editors/AdaptableDateEditor/index.js +87 -20
  233. package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +1 -1
  234. package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +3 -3
  235. package/src/agGrid/editors/AdaptableNumberEditor/index.js +81 -30
  236. package/src/agGrid/weightedAverage.js +19 -11
  237. package/src/components/CheckBox/index.js +7 -2
  238. package/src/components/Datepicker/index.d.ts +1 -1
  239. package/src/components/ExpressionEditor/BaseEditorInput.d.ts +1 -1
  240. package/src/components/ExpressionEditor/BaseEditorInput.js +13 -32
  241. package/src/components/ExpressionEditor/EditorInput.js +1 -1
  242. package/src/components/ExpressionEditor/EditorInputWithWhereClause.js +1 -1
  243. package/src/components/ExpressionEditor/index.js +9 -17
  244. package/src/components/FormLayout/index.js +1 -1
  245. package/src/components/StylePreview.js +2 -1
  246. package/src/components/icons/brush.d.ts +3 -0
  247. package/src/components/icons/brush.js +7 -0
  248. package/src/components/icons/index.js +2 -0
  249. package/src/metamodel/adaptable.metamodel.d.ts +191 -95
  250. package/src/metamodel/adaptable.metamodel.js +1 -1
  251. package/src/parser/src/types.d.ts +6 -3
  252. package/src/renderReactRoot.d.ts +2 -0
  253. package/src/renderReactRoot.js +11 -9
  254. package/src/types.d.ts +8 -4
  255. package/themes/dark.css +8 -4
  256. package/themes/dark.css.map +1 -0
  257. package/themes/light.css +4 -1
  258. package/themes/light.css.map +1 -0
  259. package/version.d.ts +1 -1
  260. package/version.js +1 -1
  261. package/src/AdaptableComponents.d.ts +0 -1
  262. package/src/AdaptableComponents.js +0 -5
  263. package/src/Utilities/Services/LicenseService.js +0 -1
@@ -1,10 +1,11 @@
1
1
  import { AdaptableStyle } from '../../PredefinedConfig/Common/AdaptableStyle';
2
2
  import { ApiBase, LayoutAssociatedObjectLoadConfig } from './ApiBase';
3
3
  import { FormatColumnApi } from '../FormatColumnApi';
4
- import { FormatColumnState, FormatColumn, ColumnStyle, CellColorRange, ColumnComparison } from '../../PredefinedConfig/FormatColumnState';
4
+ import { FormatColumnState, FormatColumn } from '../../PredefinedConfig/FormatColumnState';
5
5
  import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
6
6
  import { RowNode } from '@ag-grid-community/core';
7
7
  import { AdaptableFormat } from '../../types';
8
+ import { AdaptablePredicateDef, AdaptableScope } from '../../../types';
8
9
  export declare class FormatColumnApiImpl extends ApiBase implements FormatColumnApi {
9
10
  getFormatColumnState(): FormatColumnState;
10
11
  getAllFormatColumn(config?: LayoutAssociatedObjectLoadConfig): FormatColumn[];
@@ -12,8 +13,7 @@ export declare class FormatColumnApiImpl extends ApiBase implements FormatColumn
12
13
  getAllActiveFormatColumn(): FormatColumn[];
13
14
  getAllSuspendedFormatColumn(): FormatColumn[];
14
15
  getAllFormatColumnWithStyle(): FormatColumn[];
15
- getColumnComparisonForFormatColumn(formatColumn: FormatColumn): ColumnComparison | undefined;
16
- getColumnIdsFromColumnComparison(columnComparison: ColumnComparison): string[];
16
+ getAllFormatColumnWithStyleAndCellAlignment(): FormatColumn[];
17
17
  getAllFormatColumnWithDisplayFormat(): FormatColumn[];
18
18
  getAllFormatColumnWithCellAlignment(): FormatColumn[];
19
19
  addFormatColumn(formatColumn: FormatColumn): FormatColumn;
@@ -26,29 +26,48 @@ export declare class FormatColumnApiImpl extends ApiBase implements FormatColumn
26
26
  suspendFormatColumn(formatColumn: FormatColumn): FormatColumn;
27
27
  unSuspendFormatColumn(formatColumn: FormatColumn): FormatColumn;
28
28
  applyFormatColumnDisplayFormats(): void;
29
- getActiveFormatColumnForColumn(column: AdaptableColumn): FormatColumn | undefined;
30
- getFormatColumnForColumn(column: AdaptableColumn): FormatColumn | undefined;
31
- getFormatColumnForColumnId(columnId: string): FormatColumn | undefined;
32
- getFormatColumnWithStyleForColumn(column: AdaptableColumn): FormatColumn | undefined;
33
- getFormatColumnWithStyleClassNameForColumn(column: AdaptableColumn): FormatColumn | undefined;
34
- getFormatColumnWithDisplayFormatForColumn(column: AdaptableColumn): FormatColumn | undefined;
29
+ getFormatColumnsForColumn(column: AdaptableColumn, config?: {
30
+ includeSuspended?: boolean;
31
+ }): FormatColumn[];
32
+ getFormatColumnsWithStyleForColumn(column: AdaptableColumn, config?: {
33
+ includeSuspended?: boolean;
34
+ }): FormatColumn[];
35
+ getFormatColumnsForColumnId(columnId: string, config?: {
36
+ includeSuspended?: boolean;
37
+ }): FormatColumn[];
38
+ getFormatColumnWithStyleClassNameForColumn(column: AdaptableColumn, config?: {
39
+ includeSuspended?: boolean;
40
+ }): FormatColumn[];
41
+ getFormatColumnsWithDisplayFormatForColumn(column: AdaptableColumn, config?: {
42
+ includeSuspended?: boolean;
43
+ }): FormatColumn[];
35
44
  getFormatColumnWithSingleColumnScope(columnId: string): FormatColumn | undefined;
36
- private getAppropriateFormatColumn;
45
+ private getFormatColumnInColumnScope;
46
+ private getFormatColumnWithColumnInScope;
37
47
  hasStyleFormatColumns(): boolean;
38
48
  showFormatColumnPopup(): void;
39
49
  getFormatColumnsWithAllScope(formatColumns: FormatColumn[]): FormatColumn[] | undefined;
40
50
  getFormatColumnsWithDataTypeScope(formatColumns: FormatColumn[]): FormatColumn[] | undefined;
41
51
  getFormatColumnsWithColumnScope(formatColumns: FormatColumn[]): FormatColumn[] | undefined;
42
- getNumericStyleMinValue(numericStyle: ColumnStyle, column: AdaptableColumn, rowNode: RowNode, cellValue: any): number;
43
- getNumericStyleMaxValue(numericStyle: ColumnStyle, column: AdaptableColumn, rowNode: RowNode, cellValue: any): number | undefined;
44
- getCellColorRangeMinValue(range: CellColorRange, column: AdaptableColumn): number | undefined;
45
- getCellColorRangeMaxValue(range: CellColorRange, column: AdaptableColumn): number | undefined;
46
- getCheckBoxStyleFormatColumn(column: AdaptableColumn): FormatColumn | undefined;
47
- isCheckBoxStyleFormatColumn(column: AdaptableColumn): boolean;
48
- fireCheckboxColumnClickedEvent(columnId: string, rowData: any, primaryKeyValue: any, isChecked: boolean): void;
49
52
  private applyCustomFormatters;
50
53
  getNumberFormattedValue(value: any, node: RowNode, abColumn: AdaptableColumn, options: AdaptableFormat['Options']): string;
51
54
  getStringFormattedValue(value: any, node: RowNode, abColumn: AdaptableColumn, options: AdaptableFormat['Options']): string;
52
55
  getDateFormattedValue(value: any, node: RowNode, abColumn: AdaptableColumn, options: AdaptableFormat['Options']): string;
53
56
  hasCustomDisplayFormatter(formatColumn: FormatColumn): boolean;
57
+ getFormatColumnPredicateDefs(): AdaptablePredicateDef[];
58
+ getFormatColumnDefsForScope(scope: AdaptableScope): AdaptablePredicateDef[];
59
+ getFormatColumnsRelevantForColumn(formatColumns: FormatColumn[], column: AdaptableColumn, params: {
60
+ node: RowNode;
61
+ value: any;
62
+ }): FormatColumn[];
63
+ isFormatColumnRelevantForColumn(formatColumn: FormatColumn, column: AdaptableColumn, params: {
64
+ node: RowNode;
65
+ value: any;
66
+ }): boolean;
67
+ private evaluatePredicate;
68
+ private shouldRunStyle;
69
+ private evaluateExpression;
70
+ getFormatColumnsWithExpression(): FormatColumn[] | undefined;
71
+ incrementFormatColumnPrecedence(formatColumn: FormatColumn): void;
72
+ decrementFormatColumnPrecedence(formatColumn: FormatColumn): void;
54
73
  }
@@ -7,7 +7,6 @@ const ApiBase_1 = require("./ApiBase");
7
7
  const ModuleConstants = tslib_1.__importStar(require("../../Utilities/Constants/ModuleConstants"));
8
8
  const ArrayExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/ArrayExtensions"));
9
9
  const StringExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/StringExtensions"));
10
- const Helper_1 = tslib_1.__importDefault(require("../../Utilities/Helpers/Helper"));
11
10
  const FormatHelper_1 = tslib_1.__importDefault(require("../../Utilities/Helpers/FormatHelper"));
12
11
  const ObjectFactory_1 = tslib_1.__importDefault(require("../../Utilities/ObjectFactory"));
13
12
  class FormatColumnApiImpl extends ApiBase_1.ApiBase {
@@ -28,41 +27,16 @@ class FormatColumnApiImpl extends ApiBase_1.ApiBase {
28
27
  return this.getAllFormatColumn().filter((formatColumn) => formatColumn.IsSuspended);
29
28
  }
30
29
  getAllFormatColumnWithStyle() {
31
- return this.getAllFormatColumn().filter((fc) => fc.Style != null);
30
+ return this.getAllFormatColumn().filter((fc) => fc.Style);
32
31
  }
33
- getColumnComparisonForFormatColumn(formatColumn) {
34
- var _a, _b;
35
- if (formatColumn.ColumnStyle) {
36
- if ((_a = formatColumn.ColumnStyle.GradientStyle) === null || _a === void 0 ? void 0 : _a.ColumnComparison) {
37
- return formatColumn.ColumnStyle.GradientStyle.ColumnComparison;
38
- }
39
- if ((_b = formatColumn.ColumnStyle.PercentBarStyle) === null || _b === void 0 ? void 0 : _b.ColumnComparison) {
40
- return formatColumn.ColumnStyle.PercentBarStyle.ColumnComparison;
41
- }
42
- }
43
- return undefined;
44
- }
45
- getColumnIdsFromColumnComparison(columnComparison) {
46
- let returnValues = [];
47
- if (typeof columnComparison.MinValue === 'string') {
48
- let minIds = this.adaptable.api.columnApi.getColumnIdsFromId(columnComparison.MinValue, false);
49
- if (ArrayExtensions_1.default.IsNotNullOrEmpty(minIds)) {
50
- returnValues.push(...minIds);
51
- }
52
- }
53
- if (typeof columnComparison.MaxValue === 'string') {
54
- let maxIds = this.adaptable.api.columnApi.getColumnIdsFromId(columnComparison.MaxValue, false);
55
- if (ArrayExtensions_1.default.IsNotNullOrEmpty(maxIds)) {
56
- returnValues.push(...maxIds);
57
- }
58
- }
59
- return returnValues;
32
+ getAllFormatColumnWithStyleAndCellAlignment() {
33
+ return this.getAllFormatColumn().filter((fc) => fc.Style || fc.CellAlignment);
60
34
  }
61
35
  getAllFormatColumnWithDisplayFormat() {
62
- return this.getAllFormatColumn().filter((fc) => fc.DisplayFormat != null);
36
+ return this.getAllFormatColumn().filter((fc) => fc.DisplayFormat);
63
37
  }
64
38
  getAllFormatColumnWithCellAlignment() {
65
- return this.getAllFormatColumn().filter((fc) => fc.CellAlignment != null);
39
+ return this.getAllFormatColumn().filter((fc) => fc.CellAlignment);
66
40
  }
67
41
  addFormatColumn(formatColumn) {
68
42
  this.addUidToAdaptableObject(formatColumn);
@@ -106,32 +80,27 @@ class FormatColumnApiImpl extends ApiBase_1.ApiBase {
106
80
  applyFormatColumnDisplayFormats() {
107
81
  throw 'This API method is deprecated - it is not needed anymore.';
108
82
  }
109
- getActiveFormatColumnForColumn(column) {
110
- const formatColumns = this.getAllActiveFormatColumn();
111
- return this.getAppropriateFormatColumn(formatColumns, column);
83
+ getFormatColumnsForColumn(column, config) {
84
+ const formatColumns = this.getAllFormatColumn().filter((formatColumn) => (config === null || config === void 0 ? void 0 : config.includeSuspended) || !formatColumn.IsSuspended);
85
+ return this.getFormatColumnWithColumnInScope(formatColumns, column);
112
86
  }
113
- getFormatColumnForColumn(column) {
114
- const formatColumns = this.getAllFormatColumn();
115
- return this.getAppropriateFormatColumn(formatColumns, column);
87
+ getFormatColumnsWithStyleForColumn(column, config) {
88
+ const formatColumns = this.getAllFormatColumnWithStyleAndCellAlignment().filter((formatColumn) => (config === null || config === void 0 ? void 0 : config.includeSuspended) || !formatColumn.IsSuspended);
89
+ return this.getFormatColumnWithColumnInScope(formatColumns, column);
116
90
  }
117
- getFormatColumnForColumnId(columnId) {
91
+ getFormatColumnsForColumnId(columnId, config) {
118
92
  const abColumn = this.adaptable.api.columnApi.getColumnFromId(columnId);
119
93
  if (!abColumn) {
120
94
  return undefined;
121
95
  }
122
- return this.getFormatColumnForColumn(abColumn);
123
- }
124
- getFormatColumnWithStyleForColumn(column) {
125
- const formatColumns = this.getAllFormatColumnWithStyle();
126
- return this.getAppropriateFormatColumn(formatColumns, column);
96
+ return this.getFormatColumnsForColumn(abColumn, config);
127
97
  }
128
- getFormatColumnWithStyleClassNameForColumn(column) {
129
- const formatColumns = this.getAllFormatColumnWithStyle().filter((fc) => StringExtensions_1.default.IsNotNullOrEmpty(fc.Style.ClassName));
130
- return this.getAppropriateFormatColumn(formatColumns, column);
98
+ getFormatColumnWithStyleClassNameForColumn(column, config) {
99
+ return this.getFormatColumnsWithStyleForColumn(column, config).filter((formatColumn) => { var _a; return StringExtensions_1.default.IsNotNullOrEmpty((_a = formatColumn === null || formatColumn === void 0 ? void 0 : formatColumn.Style) === null || _a === void 0 ? void 0 : _a.ClassName); });
131
100
  }
132
- getFormatColumnWithDisplayFormatForColumn(column) {
133
- const formatColumns = this.getAllFormatColumnWithDisplayFormat().concat(this.getAllFormatColumnWithCellAlignment());
134
- return this.getAppropriateFormatColumn(formatColumns, column);
101
+ getFormatColumnsWithDisplayFormatForColumn(column, config) {
102
+ const formatColumns = this.getAllFormatColumnWithDisplayFormat().filter((formatColumn) => (config === null || config === void 0 ? void 0 : config.includeSuspended) || !formatColumn.IsSuspended);
103
+ return this.getFormatColumnWithColumnInScope(formatColumns, column);
135
104
  }
136
105
  getFormatColumnWithSingleColumnScope(columnId) {
137
106
  const abColumn = this.adaptable.api.columnApi.getColumnFromId(columnId);
@@ -150,20 +119,21 @@ class FormatColumnApiImpl extends ApiBase_1.ApiBase {
150
119
  });
151
120
  return returnFormatColumn;
152
121
  }
153
- getAppropriateFormatColumn(formatColumns, column) {
154
- let scopedFormatColumns = this.getFormatColumnsWithColumnScope(formatColumns)
155
- .concat(this.getFormatColumnsWithDataTypeScope(formatColumns))
156
- .concat(this.getFormatColumnsWithAllScope(formatColumns));
157
- let returnFormatColumn = undefined;
158
- scopedFormatColumns.forEach((fc) => {
159
- // we just do one and then return
160
- if (returnFormatColumn == undefined) {
161
- if (this.adaptable.api.scopeApi.isColumnInScope(column, fc.Scope)) {
162
- returnFormatColumn = fc;
163
- }
164
- }
122
+ // TODO is this really needed, I don't think it achieves anything
123
+ getFormatColumnInColumnScope(formatColumns) {
124
+ // we need to maintain the format columns order, therefore we will extract all 3 scope types in a single iteration
125
+ return formatColumns.filter((fc) => {
126
+ return (
127
+ // this.getFormatColumnsWithColumnScope(formatColumns)
128
+ this.adaptable.api.scopeApi.scopeHasColumns(fc.Scope) ||
129
+ // this.getFormatColumnsWithDataTypeScope(formatColumns)
130
+ this.adaptable.api.scopeApi.scopeHasDataType(fc.Scope) ||
131
+ // this.getFormatColumnsWithAllScope(formatColumns)
132
+ this.adaptable.api.scopeApi.scopeIsAll(fc.Scope));
165
133
  });
166
- return returnFormatColumn;
134
+ }
135
+ getFormatColumnWithColumnInScope(formatColumns, column) {
136
+ return this.getFormatColumnInColumnScope(formatColumns).filter((scopedFormatColumn) => this.adaptable.api.scopeApi.isColumnInScope(column, scopedFormatColumn.Scope));
167
137
  }
168
138
  hasStyleFormatColumns() {
169
139
  return ArrayExtensions_1.default.IsNotNullOrEmpty(this.getAllFormatColumnWithStyle());
@@ -180,129 +150,6 @@ class FormatColumnApiImpl extends ApiBase_1.ApiBase {
180
150
  getFormatColumnsWithColumnScope(formatColumns) {
181
151
  return formatColumns.filter((fc) => this.adaptable.api.scopeApi.scopeHasColumns(fc.Scope));
182
152
  }
183
- getNumericStyleMinValue(numericStyle, column, rowNode, cellValue) {
184
- var _a, _b;
185
- const columnComparison = numericStyle.GradientStyle
186
- ? numericStyle.GradientStyle.ColumnComparison
187
- : (_a = numericStyle.PercentBarStyle) === null || _a === void 0 ? void 0 : _a.ColumnComparison;
188
- if (columnComparison) {
189
- if (!isNaN(Number(columnComparison.MinValue))) {
190
- return Number(columnComparison.MinValue);
191
- }
192
- else {
193
- let columnId = columnComparison.MinValue;
194
- if (!this.adaptable.api.columnApi.doesColumnExist(columnId)) {
195
- return 0;
196
- }
197
- else {
198
- return this.adaptable.api.gridApi.getRawValueFromRowNode(rowNode, columnId);
199
- }
200
- }
201
- }
202
- // for Gradient Column we want just the range that contains cell value
203
- if (numericStyle.GradientStyle) {
204
- let range;
205
- numericStyle.GradientStyle.CellRanges.forEach((cellRange) => {
206
- if (!range) {
207
- if ((cellRange.Min == 'Col-Min' || cellValue >= cellRange.Min) &&
208
- (cellRange.Max == 'Col-Max' || cellValue <= cellRange.Max)) {
209
- range = cellRange;
210
- }
211
- }
212
- });
213
- return this.getCellColorRangeMinValue(range, column);
214
- }
215
- // for percentbar we want to get the whole Ranges
216
- if (numericStyle.PercentBarStyle) {
217
- const ranges = (_b = numericStyle.PercentBarStyle) === null || _b === void 0 ? void 0 : _b.CellRanges;
218
- if (ranges) {
219
- return this.getCellColorRangeMinValue(ranges[0], column);
220
- }
221
- }
222
- }
223
- getNumericStyleMaxValue(numericStyle, column, rowNode, cellValue) {
224
- var _a, _b;
225
- const columnComparison = numericStyle.GradientStyle
226
- ? numericStyle.GradientStyle.ColumnComparison
227
- : (_a = numericStyle.PercentBarStyle) === null || _a === void 0 ? void 0 : _a.ColumnComparison;
228
- if (columnComparison) {
229
- if (!isNaN(Number(columnComparison.MaxValue))) {
230
- return Number(columnComparison.MaxValue);
231
- }
232
- else {
233
- let columnId = columnComparison.MaxValue;
234
- if (!this.adaptable.api.columnApi.doesColumnExist(columnId)) {
235
- return 0;
236
- }
237
- else {
238
- return this.adaptable.api.gridApi.getRawValueFromRowNode(rowNode, columnId);
239
- }
240
- }
241
- }
242
- if (numericStyle.GradientStyle) {
243
- let range;
244
- numericStyle.GradientStyle.CellRanges.forEach((cellRange) => {
245
- if (!range) {
246
- if ((cellRange.Min == 'Col-Min' || cellValue >= cellRange.Min) &&
247
- (cellRange.Max == 'Col-Max' || cellValue <= cellRange.Max)) {
248
- range = cellRange;
249
- }
250
- }
251
- });
252
- return this.getCellColorRangeMaxValue(range, column);
253
- }
254
- if (numericStyle.PercentBarStyle) {
255
- const ranges = (_b = numericStyle.PercentBarStyle) === null || _b === void 0 ? void 0 : _b.CellRanges;
256
- if (ranges) {
257
- return this.getCellColorRangeMaxValue(ranges[ranges.length - 1], column);
258
- }
259
- }
260
- }
261
- getCellColorRangeMinValue(range, column) {
262
- if (!range) {
263
- return undefined;
264
- }
265
- if (range.Min == undefined) {
266
- return undefined;
267
- }
268
- return range.Min == 'Col-Min'
269
- ? this.getAdaptableApi().columnApi.getMinValueForNumericColumn(column)
270
- : range.Min;
271
- }
272
- getCellColorRangeMaxValue(range, column) {
273
- if (!range) {
274
- return undefined;
275
- }
276
- if (range.Max == undefined) {
277
- return undefined;
278
- }
279
- return range.Max == 'Col-Max'
280
- ? this.getAdaptableApi().columnApi.getMaxValueForNumericColumn(column)
281
- : range.Max;
282
- }
283
- getCheckBoxStyleFormatColumn(column) {
284
- var _a;
285
- if (column.dataType != 'Boolean') {
286
- return undefined;
287
- }
288
- const checkBoxFormatColumns = (_a = this.getFormatColumnState().FormatColumns) === null || _a === void 0 ? void 0 : _a.filter((fc) => { var _a; return (_a = fc.ColumnStyle) === null || _a === void 0 ? void 0 : _a.CheckBoxStyle; });
289
- const formatColumn = checkBoxFormatColumns.find((fc) => this.adaptable.api.scopeApi.isColumnInScope(column, fc.Scope));
290
- return formatColumn;
291
- }
292
- isCheckBoxStyleFormatColumn(column) {
293
- const formatColumn = this.getCheckBoxStyleFormatColumn(column);
294
- return Helper_1.default.objectExists(formatColumn);
295
- }
296
- fireCheckboxColumnClickedEvent(columnId, rowData, primaryKeyValue, isChecked) {
297
- let checkboxColumnClickedInfo = {
298
- adaptableApi: this.adaptable.api,
299
- column: this.adaptable.api.columnApi.getColumnFromId(columnId),
300
- rowData: rowData,
301
- primaryKeyValue: primaryKeyValue,
302
- isChecked: isChecked,
303
- };
304
- this.adaptable.api.eventApi.emit('CheckboxColumnClicked', checkboxColumnClickedInfo);
305
- }
306
153
  applyCustomFormatters(value, node, abColumn, options) {
307
154
  var _a, _b, _c;
308
155
  const columnCustomFormatters = (_a = options === null || options === void 0 ? void 0 : options.CustomDisplayFormats) !== null && _a !== void 0 ? _a : [];
@@ -355,5 +202,74 @@ class FormatColumnApiImpl extends ApiBase_1.ApiBase {
355
202
  }
356
203
  return true;
357
204
  }
205
+ getFormatColumnPredicateDefs() {
206
+ return this.adaptable.api.predicateApi.getPredicateDefsByModuleScope('formatColumn');
207
+ }
208
+ getFormatColumnDefsForScope(scope) {
209
+ return this.getFormatColumnPredicateDefs().filter((predicateDef) => this.adaptable.api.scopeApi.isScopeInScope(scope, predicateDef.columnScope));
210
+ }
211
+ getFormatColumnsRelevantForColumn(formatColumns, column, params) {
212
+ return formatColumns.filter((formatColumn) => this.isFormatColumnRelevantForColumn(formatColumn, column, params));
213
+ }
214
+ isFormatColumnRelevantForColumn(formatColumn, column, params) {
215
+ // suspended is important to be first
216
+ if (formatColumn.IsSuspended) {
217
+ return false;
218
+ }
219
+ if (!formatColumn.Rule) {
220
+ return true;
221
+ }
222
+ if (!formatColumn.IncludeGroupedRows &&
223
+ this.adaptable.api.gridApi.isGroupRowNode(params.node)) {
224
+ return false;
225
+ }
226
+ // first run the predicate
227
+ if (formatColumn.Rule.Predicate && formatColumn.Rule.Predicate.PredicateId) {
228
+ return this.evaluatePredicate({
229
+ formatColumn,
230
+ column,
231
+ value: params.value,
232
+ node: params.node,
233
+ });
234
+ }
235
+ else if (formatColumn.Rule.BooleanExpression) {
236
+ return this.evaluateExpression(formatColumn, params.node);
237
+ }
238
+ // nothing has passed then return false
239
+ return false;
240
+ }
241
+ evaluatePredicate({ formatColumn, column, value, node, }) {
242
+ const params = {
243
+ value: value,
244
+ oldValue: null,
245
+ displayValue: value,
246
+ node: node,
247
+ column: column,
248
+ };
249
+ const result = this.adaptable.api.predicateApi.handlePredicate(formatColumn.Rule.Predicate, params, false);
250
+ return result;
251
+ }
252
+ shouldRunStyle(formatColumn, node) {
253
+ if (!formatColumn.IncludeGroupedRows && this.adaptable.api.gridApi.isGroupRowNode(node)) {
254
+ return false;
255
+ }
256
+ return true;
257
+ }
258
+ evaluateExpression(formatColumn, node) {
259
+ const isValidExpression = this.adaptable.api.queryLanguageApi.isValidBooleanExpression(formatColumn.Rule.BooleanExpression, ModuleConstants.FormatColumnModuleId, `Invalid format column rule '${formatColumn.Rule.BooleanExpression}'`);
260
+ return (isValidExpression &&
261
+ this.adaptable.api.internalApi
262
+ .getQueryLanguageService()
263
+ .evaluateBooleanExpression(formatColumn.Rule.BooleanExpression, ModuleConstants.FormatColumnModuleId, node));
264
+ }
265
+ getFormatColumnsWithExpression() {
266
+ return this.getAllFormatColumn().filter((fc) => { var _a; return !!((_a = fc.Rule) === null || _a === void 0 ? void 0 : _a.BooleanExpression); });
267
+ }
268
+ incrementFormatColumnPrecedence(formatColumn) {
269
+ this.dispatchAction(FormatColumnRedux.FormatColumnMoveUp(formatColumn));
270
+ }
271
+ decrementFormatColumnPrecedence(formatColumn) {
272
+ this.dispatchAction(FormatColumnRedux.FormatColumnMoveDown(formatColumn));
273
+ }
358
274
  }
359
275
  exports.FormatColumnApiImpl = FormatColumnApiImpl;
@@ -5,6 +5,7 @@ import { IPushPullApi } from '../IPushPullApi';
5
5
  import { Glue42Api } from '../Glue42Api';
6
6
  import { OpenFinApi } from '../OpenFinApi';
7
7
  import { FinanceApi } from '../FinanceApi';
8
+ import { FinsembleApi } from '../FinsembleApi';
8
9
  export declare class PluginsApiImpl extends ApiBase implements PluginsApi {
9
10
  getPluginsState(): PluginsState;
10
11
  getPluginState(pluginId: string): any;
@@ -15,4 +16,5 @@ export declare class PluginsApiImpl extends ApiBase implements PluginsApi {
15
16
  getGlue42PluginApi(): Glue42Api;
16
17
  getOpenFinPluginApi(): OpenFinApi;
17
18
  getFinancePluginApi(): FinanceApi;
19
+ getFinsemblePluginApi(): FinsembleApi;
18
20
  }
@@ -32,6 +32,9 @@ class PluginsApiImpl extends ApiBase_1.ApiBase {
32
32
  if (pluginId === 'openfin') {
33
33
  return api;
34
34
  }
35
+ if (pluginId === 'finsemble') {
36
+ return api;
37
+ }
35
38
  return api;
36
39
  }
37
40
  catch (ex) {
@@ -50,5 +53,8 @@ class PluginsApiImpl extends ApiBase_1.ApiBase {
50
53
  getFinancePluginApi() {
51
54
  return this.getPluginApi('finance');
52
55
  }
56
+ getFinsemblePluginApi() {
57
+ return this.getPluginApi('finsemble');
58
+ }
53
59
  }
54
60
  exports.PluginsApiImpl = PluginsApiImpl;
@@ -1,8 +1,8 @@
1
1
  import { ApiBase } from './ApiBase';
2
2
  import { AdaptableModule } from '../../PredefinedConfig/Common/Types';
3
3
  import { QueryLanguageApi } from '../QueryLanguageApi';
4
- import { ExpressionFunctionMap } from '../../types';
5
4
  import { AdaptableQuery } from '../../PredefinedConfig/Common/AdaptableQuery';
5
+ import { AdaptableColumnBase } from '../../PredefinedConfig/Common/AdaptableColumn';
6
6
  export declare class QueryLanguageApiImpl extends ApiBase implements QueryLanguageApi {
7
7
  isValidBooleanExpression(query: string, module: AdaptableModule, validationErrorMessage?: string): boolean;
8
8
  isValidObservableExpression(expression: string, module: AdaptableModule, validationErrorMessage?: string): boolean;
@@ -10,8 +10,7 @@ export declare class QueryLanguageApiImpl extends ApiBase implements QueryLangua
10
10
  isValidAggregatedScalarExpression(expression: string, module: AdaptableModule, validationErrorMessage?: string): boolean;
11
11
  getASTForExpression(query: string): any;
12
12
  getColumnsFromExpression(expression: string): string[];
13
- getQueryableColumnIds(): string[] | undefined;
14
- getModuleExpressionFunctionMap(): ExpressionFunctionMap;
13
+ isColumnQueryable(adaptableColumnBase: AdaptableColumnBase): boolean;
15
14
  getAdaptableQueryExpression(query: Partial<AdaptableQuery>): string | undefined;
16
15
  getAdaptableQueryExpressionWithColumnFriendlyNames(query: Partial<AdaptableQuery>): string | undefined;
17
16
  }
@@ -4,7 +4,6 @@ exports.QueryLanguageApiImpl = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const ApiBase_1 = require("./ApiBase");
6
6
  const parser = tslib_1.__importStar(require("../../parser/src"));
7
- const ArrayExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/ArrayExtensions"));
8
7
  const LoggingHelper_1 = require("../../Utilities/Helpers/LoggingHelper");
9
8
  class QueryLanguageApiImpl extends ApiBase_1.ApiBase {
10
9
  isValidBooleanExpression(query, module, validationErrorMessage) {
@@ -67,24 +66,16 @@ class QueryLanguageApiImpl extends ApiBase_1.ApiBase {
67
66
  return [];
68
67
  }
69
68
  }
70
- getQueryableColumnIds() {
71
- let queryableColumns = this.getExpressionOptions().queryableColumns;
72
- if (!queryableColumns) {
73
- return undefined;
69
+ isColumnQueryable(adaptableColumnBase) {
70
+ let queryableColumnFn = this.getExpressionOptions().isColumnQueryable;
71
+ if (queryableColumnFn) {
72
+ const queryableColumnContext = {
73
+ adaptableColumn: adaptableColumnBase,
74
+ adaptableApi: this.getAdaptableApi(),
75
+ };
76
+ return queryableColumnFn(queryableColumnContext);
74
77
  }
75
- // first do the function then get hardcoded items
76
- if (typeof queryableColumns === 'function') {
77
- return queryableColumns();
78
- }
79
- else {
80
- let arr = queryableColumns;
81
- if (arr && ArrayExtensions_1.default.IsNotNullOrEmpty(arr)) {
82
- return arr;
83
- }
84
- }
85
- }
86
- getModuleExpressionFunctionMap() {
87
- return this.getExpressionOptions().moduleExpressionFunctions;
78
+ return true;
88
79
  }
89
80
  getAdaptableQueryExpression(query) {
90
81
  var _a, _b, _c, _d;
@@ -2,7 +2,7 @@ import { ApiBase } from './ApiBase';
2
2
  import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
3
3
  import { AdaptableScope, ScopeDataType } from '../../PredefinedConfig/Common/AdaptableScope';
4
4
  import { ScopeApi } from '../ScopeApi';
5
- import { CellColorRange } from '../../PredefinedConfig/FormatColumnState';
5
+ import { CellColorRange } from '../../PredefinedConfig/StyledColumnState';
6
6
  export declare class ScopeApiImpl extends ApiBase implements ScopeApi {
7
7
  isColumnInScope(column: AdaptableColumn | undefined, scope: AdaptableScope | undefined): boolean;
8
8
  getColumnsForScope(scope: AdaptableScope): AdaptableColumn[];
@@ -0,0 +1,25 @@
1
+ import { ApiBase, LayoutAssociatedObjectLoadConfig } from './ApiBase';
2
+ import { StyledColumnApi } from '../StyledColumnApi';
3
+ import { StyledColumnState, StyledColumn } from '../../PredefinedConfig/StyledColumnState';
4
+ import { AdaptableColumn, CellColorRange, ColumnComparison } from '../../types';
5
+ import { RowNode } from '@ag-grid-community/core';
6
+ export declare class StyledColumnApiImpl extends ApiBase implements StyledColumnApi {
7
+ getStyledColumnState(): StyledColumnState;
8
+ getAllStyledColumn(config?: LayoutAssociatedObjectLoadConfig): StyledColumn[];
9
+ getStyledColumnById(id: StyledColumn['Uuid']): StyledColumn;
10
+ getStyledColumnByColumnId(id: StyledColumn['Uuid']): StyledColumn;
11
+ getAllActiveStyledColumn(): StyledColumn[];
12
+ getAllSuspendedStyledColumn(): StyledColumn[];
13
+ deleteStyledColumn(styledColumn: StyledColumn): void;
14
+ addStyledColumn(styledColumn: StyledColumn): void;
15
+ getNumericStyleMinValue(styledColumn: Omit<StyledColumn, 'ColumnId'>, column: AdaptableColumn, rowNode: RowNode, cellValue: any): number;
16
+ getNumericStyleMaxValue(styledColumn: Omit<StyledColumn, 'ColumnId'>, column: AdaptableColumn, rowNode: RowNode, cellValue: any): number | undefined;
17
+ getCellColorRangeMinValue(range: CellColorRange, column: AdaptableColumn): number | undefined;
18
+ getCellColorRangeMaxValue(range: CellColorRange, column: AdaptableColumn): number | undefined;
19
+ getColumnComparisonForStyledColumn(styledColumn: StyledColumn): ColumnComparison | undefined;
20
+ getColumnIdsFromColumnComparison(columnComparison: ColumnComparison): string[];
21
+ getCheckBoxStyleStyledColumn(column: AdaptableColumn): StyledColumn | undefined;
22
+ isCheckBoxStyleStyledColumn(column: AdaptableColumn): boolean;
23
+ fireCheckboxColumnClickedEvent(columnId: string, rowData: any, primaryKeyValue: any, isChecked: boolean): void;
24
+ getActiveStyledColumnForColumn(column: AdaptableColumn): StyledColumn | undefined;
25
+ }