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

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 (62) hide show
  1. package/bundle.cjs.js +218 -218
  2. package/package.json +1 -1
  3. package/publishTimestamp.d.ts +1 -1
  4. package/publishTimestamp.js +1 -1
  5. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +2 -2
  6. package/src/Api/AdaptableApi.d.ts +0 -5
  7. package/src/Api/ConfigApi.d.ts +0 -5
  8. package/src/Api/Implementation/AdaptableApiImpl.d.ts +0 -2
  9. package/src/Api/Implementation/AdaptableApiImpl.js +0 -3
  10. package/src/Api/Implementation/AlertApiImpl.js +9 -4
  11. package/src/Api/Implementation/ConfigApiImpl.d.ts +0 -2
  12. package/src/Api/Implementation/ConfigApiImpl.js +0 -11
  13. package/src/Api/Implementation/FlashingCellApiImpl.js +4 -1
  14. package/src/Api/Implementation/InternalApiImpl.d.ts +1 -0
  15. package/src/Api/Implementation/InternalApiImpl.js +5 -0
  16. package/src/Api/InternalApi.d.ts +1 -0
  17. package/src/Redux/DeadRedux.d.ts +6 -0
  18. package/src/Redux/DeadRedux.js +19 -1
  19. package/src/Redux/Store/AdaptableStore.js +2 -8
  20. package/src/Strategy/ConditionalStyleModule.d.ts +2 -23
  21. package/src/Strategy/ConditionalStyleModule.js +0 -189
  22. package/src/Strategy/FormatColumnModule.js +2 -2
  23. package/src/Strategy/LayoutModule.js +0 -4
  24. package/src/Utilities/Defaults/DefaultSettingsPanel.js +0 -1
  25. package/src/Utilities/Services/ModuleService.js +0 -2
  26. package/src/Utilities/Services/QueryLanguageService.js +1 -1
  27. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +12 -11
  28. package/src/View/Alert/Wizard/AlertButtonsEditor.js +24 -1
  29. package/src/View/Alert/Wizard/isValidAlertRules.js +1 -1
  30. package/src/View/GridInfo/ColumnInfoComponent.js +0 -7
  31. package/src/agGrid/agGridHelper.js +1 -2
  32. package/src/metamodel/adaptable.metamodel.d.ts +22 -26
  33. package/src/metamodel/adaptable.metamodel.js +1 -1
  34. package/src/types.d.ts +0 -2
  35. package/version.d.ts +1 -1
  36. package/version.js +1 -1
  37. package/src/Api/ConditionalStyleApi.d.ts +0 -86
  38. package/src/Api/ConditionalStyleApi.js +0 -2
  39. package/src/Api/Implementation/ConditionalStyleApiImpl.d.ts +0 -29
  40. package/src/Api/Implementation/ConditionalStyleApiImpl.js +0 -98
  41. package/src/Redux/ActionsReducers/ConditionalStyleRedux.d.ts +0 -31
  42. package/src/Redux/ActionsReducers/ConditionalStyleRedux.js +0 -77
  43. package/src/Strategy/Interface/IConditionalStyleModule.d.ts +0 -6
  44. package/src/Strategy/Interface/IConditionalStyleModule.js +0 -2
  45. package/src/Strategy/Utilities/getStyleViewItems.d.ts +0 -2
  46. package/src/Strategy/Utilities/getStyleViewItems.js +0 -16
  47. package/src/View/ConditionalStyle/ConditionalStylePopupHeader.d.ts +0 -2
  48. package/src/View/ConditionalStyle/ConditionalStylePopupHeader.js +0 -18
  49. package/src/View/ConditionalStyle/ConditionalStyleSummary.d.ts +0 -25
  50. package/src/View/ConditionalStyle/ConditionalStyleSummary.js +0 -108
  51. package/src/View/ConditionalStyle/Wizard/ConditionalStyleRuleWizardSection.d.ts +0 -9
  52. package/src/View/ConditionalStyle/Wizard/ConditionalStyleRuleWizardSection.js +0 -42
  53. package/src/View/ConditionalStyle/Wizard/ConditionalStyleScopeWizardSection.d.ts +0 -8
  54. package/src/View/ConditionalStyle/Wizard/ConditionalStyleScopeWizardSection.js +0 -43
  55. package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.d.ts +0 -8
  56. package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.js +0 -29
  57. package/src/View/ConditionalStyle/Wizard/ConditionalStyleStyleWizardSection.d.ts +0 -8
  58. package/src/View/ConditionalStyle/Wizard/ConditionalStyleStyleWizardSection.js +0 -23
  59. package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.d.ts +0 -6
  60. package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.js +0 -104
  61. package/src/View/ConditionalStyle/Wizard/DEFAULT_PREDICATE_ID_FOR_CONDITIONAL_STYLE.d.ts +0 -1
  62. package/src/View/ConditionalStyle/Wizard/DEFAULT_PREDICATE_ID_FOR_CONDITIONAL_STYLE.js +0 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaptabletools/adaptable",
3
- "version": "13.0.0-canary.20",
3
+ "version": "13.0.0-canary.22",
4
4
  "description": "Powerful data-agnostic HTML5 datagrid add-on that sits on top of an underlying grid component and provides all the rich functionality that advanced users expect from their DataGrids and Data Tables",
5
5
  "keywords": [
6
6
  "web-components",
@@ -1,2 +1,2 @@
1
- declare const _default: 1664458808904;
1
+ declare const _default: 1664770961793;
2
2
  export default _default;
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = 1664458808904;
3
+ exports.default = 1664770961793;
@@ -193,7 +193,7 @@ export interface ObjectTagsContext extends BaseContext {
193
193
  /**
194
194
  * Provides Custom Display Formats
195
195
  */
196
- export declare type CustomDisplayFormatter = {
196
+ export interface CustomDisplayFormatter {
197
197
  /**
198
198
  * Id of the Formatted
199
199
  */
@@ -210,7 +210,7 @@ export declare type CustomDisplayFormatter = {
210
210
  * Where the Custom Display Format can be applied
211
211
  */
212
212
  scope: AdaptableScope;
213
- };
213
+ }
214
214
  /**
215
215
  * Context used in handler of CustomDisplayFormatter
216
216
  */
@@ -4,7 +4,6 @@ import { BulkUpdateApi } from './BulkUpdateApi';
4
4
  import { CalculatedColumnApi } from './CalculatedColumnApi';
5
5
  import { CellSummaryApi } from './CellSummaryApi';
6
6
  import { ConfigApi } from './ConfigApi';
7
- import { ConditionalStyleApi } from './ConditionalStyleApi';
8
7
  import { CustomSortApi } from './CustomSortApi';
9
8
  import { DashboardApi } from './DashboardApi';
10
9
  import { ToolPanelApi } from './ToolPanelApi';
@@ -74,10 +73,6 @@ export interface AdaptableApi {
74
73
  * Provides a number of column-related methods
75
74
  */
76
75
  columnApi: ColumnApi;
77
- /**
78
- * Provides access to the Conditional Style Module
79
- */
80
- conditionalStyleApi: ConditionalStyleApi;
81
76
  /**
82
77
  * Methods giving access to Adaptable State
83
78
  */
@@ -6,7 +6,6 @@ import { FormatColumnState } from '../PredefinedConfig/FormatColumnState';
6
6
  import { ExportState } from '../PredefinedConfig/ExportState';
7
7
  import { DashboardState } from '../PredefinedConfig/DashboardState';
8
8
  import { CustomSortState } from '../PredefinedConfig/CustomSortState';
9
- import { ConditionalStyleState } from '../PredefinedConfig/ConditionalStyleState';
10
9
  import { CalculatedColumnState } from '../PredefinedConfig/CalculatedColumnState';
11
10
  import { AlertState } from '../PredefinedConfig/AlertState';
12
11
  import { ConfigState } from '../PredefinedConfig/ConfigState';
@@ -115,10 +114,6 @@ export interface ConfigApi {
115
114
  * @param returnJson return as JSON rather than object
116
115
  */
117
116
  getCalculatedColumnState(returnJson: boolean): CalculatedColumnState;
118
- /**
119
- * @deprecated use `getFormatColumnState` instead
120
- */
121
- getConditionalStyleState(returnJson: boolean): ConditionalStyleState;
122
117
  /**
123
118
  * Returns Custom Sort section of Adaptable State
124
119
  * @param returnJson return as JSON rather than object
@@ -4,7 +4,6 @@ import { AlertApi } from '../AlertApi';
4
4
  import { BulkUpdateApi } from '../BulkUpdateApi';
5
5
  import { CalculatedColumnApi } from '../CalculatedColumnApi';
6
6
  import { CellSummaryApi } from '../CellSummaryApi';
7
- import { ConditionalStyleApi } from '../ConditionalStyleApi';
8
7
  import { ConfigApi } from '../ConfigApi';
9
8
  import { CustomSortApi } from '../CustomSortApi';
10
9
  import { DashboardApi } from '../DashboardApi';
@@ -51,7 +50,6 @@ export declare class AdaptableApiImpl implements AdaptableApi {
51
50
  calculatedColumnApi: CalculatedColumnApi;
52
51
  cellSummaryApi: CellSummaryApi;
53
52
  columnApi: ColumnApi;
54
- conditionalStyleApi: ConditionalStyleApi;
55
53
  configApi: ConfigApi;
56
54
  customSortApi: CustomSortApi;
57
55
  dashboardApi: DashboardApi;
@@ -8,7 +8,6 @@ const PluginsApiImpl_1 = require("./PluginsApiImpl");
8
8
  const BulkUpdateApiImpl_1 = require("./BulkUpdateApiImpl");
9
9
  const CalculatedColumnApiImpl_1 = require("./CalculatedColumnApiImpl");
10
10
  const CellSummaryApiImpl_1 = require("./CellSummaryApiImpl");
11
- const ConditionalStyleApiImpl_1 = require("./ConditionalStyleApiImpl");
12
11
  const ConfigApiImpl_1 = require("./ConfigApiImpl");
13
12
  const CustomSortApiImpl_1 = require("./CustomSortApiImpl");
14
13
  const DashboardApiImpl_1 = require("./DashboardApiImpl");
@@ -57,7 +56,6 @@ class AdaptableApiImpl {
57
56
  this.calculatedColumnApi = new CalculatedColumnApiImpl_1.CalculatedColumnApiImpl(adaptable);
58
57
  this.cellSummaryApi = new CellSummaryApiImpl_1.CellSummaryApiImpl(adaptable);
59
58
  this.columnApi = new ColumnApiImpl_1.ColumnApiImpl(adaptable);
60
- this.conditionalStyleApi = new ConditionalStyleApiImpl_1.ConditionalStyleApiImpl(adaptable);
61
59
  this.configApi = new ConfigApiImpl_1.ConfigApiImpl(adaptable);
62
60
  this.customSortApi = new CustomSortApiImpl_1.CustomSortApiImpl(adaptable);
63
61
  this.dashboardApi = new DashboardApiImpl_1.DashboardApiImpl(adaptable);
@@ -105,7 +103,6 @@ class AdaptableApiImpl {
105
103
  this.cellSummaryApi = null;
106
104
  this.chartingApi = null;
107
105
  this.columnApi = null;
108
- this.conditionalStyleApi = null;
109
106
  this.configApi = null;
110
107
  this.customSortApi = null;
111
108
  this.dashboardApi = null;
@@ -133,10 +133,15 @@ class AlertApiImpl extends ApiBase_1.ApiBase {
133
133
  this.adaptable.api.gridApi.jumpToCell(cellDataChangedInfo.primaryKeyValue, cellDataChangedInfo.column.columnId);
134
134
  }
135
135
  if (actionName === 'jump-to-row' &&
136
- gridDataChangedInfo &&
137
- // no sense to jump to a deleted(non-existing) row
138
- (gridDataChangedInfo === null || gridDataChangedInfo === void 0 ? void 0 : gridDataChangedInfo.rowTrigger) !== 'Delete') {
139
- const [firstRowNode] = gridDataChangedInfo.rowNodes;
136
+ // either a cell change
137
+ (cellDataChangedInfo ||
138
+ // or a grid change, but NOT row deletion
139
+ (gridDataChangedInfo &&
140
+ // no sense to jump to a deleted(non-existing) row
141
+ (gridDataChangedInfo === null || gridDataChangedInfo === void 0 ? void 0 : gridDataChangedInfo.rowTrigger) !== 'Delete'))) {
142
+ const [firstRowNode] = cellDataChangedInfo
143
+ ? [cellDataChangedInfo.rowNode]
144
+ : gridDataChangedInfo.rowNodes;
140
145
  const targetRowNodePrimaryKeyValue = this.adaptable.api.gridApi.getPrimaryKeyValueForRowNode(firstRowNode);
141
146
  if (targetRowNodePrimaryKeyValue) {
142
147
  this.adaptable.api.gridApi.jumpToRow(targetRowNodePrimaryKeyValue);
@@ -7,7 +7,6 @@ import { FormatColumnState } from '../../PredefinedConfig/FormatColumnState';
7
7
  import { ExportState } from '../../PredefinedConfig/ExportState';
8
8
  import { DashboardState } from '../../PredefinedConfig/DashboardState';
9
9
  import { CustomSortState } from '../../PredefinedConfig/CustomSortState';
10
- import { ConditionalStyleState } from '../../PredefinedConfig/ConditionalStyleState';
11
10
  import { CalculatedColumnState } from '../../PredefinedConfig/CalculatedColumnState';
12
11
  import { AlertState } from '../../PredefinedConfig/AlertState';
13
12
  import { ConfigState } from '../../PredefinedConfig/ConfigState';
@@ -48,7 +47,6 @@ export declare class ConfigApiImpl extends ApiBase implements ConfigApi {
48
47
  getApplicationState(returnJson?: boolean): ApplicationState;
49
48
  getCalculatedColumnState(returnJson?: boolean): CalculatedColumnState;
50
49
  getChartingState(returnJson?: boolean): ChartingState;
51
- getConditionalStyleState(returnJson?: boolean): ConditionalStyleState;
52
50
  getCustomSortState(returnJson?: boolean): CustomSortState;
53
51
  getDashboardState(returnJson?: boolean): DashboardState;
54
52
  getExportState(returnJson?: boolean): ExportState;
@@ -12,7 +12,6 @@ const AlertRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/Ale
12
12
  const BulkUpdateRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/BulkUpdateRedux"));
13
13
  const CalculatedColumnRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/CalculatedColumnRedux"));
14
14
  const ChartingRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/ChartingRedux"));
15
- const ConditionalStyleRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/ConditionalStyleRedux"));
16
15
  const CustomSortRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/CustomSortRedux"));
17
16
  const ExportRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/ExportRedux"));
18
17
  const FormatColumnRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/FormatColumnRedux"));
@@ -170,10 +169,6 @@ class ConfigApiImpl extends ApiBase_1.ApiBase {
170
169
  return returnJson
171
170
  ? JSON.stringify(this.getAdaptableState().Charting)
172
171
  : this.getAdaptableState().Charting;
173
- case 'ConditionalStyle':
174
- return returnJson
175
- ? JSON.stringify(this.getAdaptableState().ConditionalStyle)
176
- : this.getAdaptableState().ConditionalStyle;
177
172
  case 'CustomSort':
178
173
  return returnJson
179
174
  ? JSON.stringify(this.getAdaptableState().CustomSort)
@@ -250,9 +245,6 @@ class ConfigApiImpl extends ApiBase_1.ApiBase {
250
245
  getChartingState(returnJson = false) {
251
246
  return this.getUserStateByStateKey('Charting', returnJson);
252
247
  }
253
- getConditionalStyleState(returnJson = false) {
254
- return this.getUserStateByStateKey('ConditionalStyle', returnJson);
255
- }
256
248
  getCustomSortState(returnJson = false) {
257
249
  return this.getUserStateByStateKey('CustomSort', returnJson);
258
250
  }
@@ -306,9 +298,6 @@ class ConfigApiImpl extends ApiBase_1.ApiBase {
306
298
  case 'Charting':
307
299
  this.dispatchAction(ChartingRedux.ChartingReady(this.getChartingState()));
308
300
  break;
309
- case 'ConditionalStyle':
310
- this.dispatchAction(ConditionalStyleRedux.ConditionalStyleReady(this.getConditionalStyleState()));
311
- break;
312
301
  case 'CustomSort':
313
302
  this.dispatchAction(CustomSortRedux.CustomSortReady(this.getCustomSortState()));
314
303
  break;
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const SystemRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/SystemRedux"));
6
6
  const FlashingCellRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/FlashingCellRedux"));
7
7
  const ApiBase_1 = require("./ApiBase");
8
+ const Helper_1 = require("../../Utilities/Helpers/Helper");
8
9
  class FlashingCellApiImpl extends ApiBase_1.ApiBase {
9
10
  getFlashingCellState() {
10
11
  return this.getAdaptableState().FlashingCell;
@@ -17,10 +18,12 @@ class FlashingCellApiImpl extends ApiBase_1.ApiBase {
17
18
  });
18
19
  }
19
20
  mergeFlashingCellDefinitionWithDefaults(flashingCellDefinition) {
20
- const flashingDefaults = this.adaptable.adaptableOptions.flashingCellOptions;
21
+ let flashingDefaults = this.adaptable.adaptableOptions.flashingCellOptions;
21
22
  if (!flashingDefaults) {
22
23
  return flashingCellDefinition;
23
24
  }
25
+ // deep clone it, otherwise we will mutate&share(!!) the global flashingCellOptions object
26
+ flashingDefaults = (0, Helper_1.cloneObject)(flashingDefaults);
24
27
  if (!flashingCellDefinition.DownChangeStyle && flashingDefaults.defaultDownChangeStyle) {
25
28
  flashingCellDefinition.DownChangeStyle = flashingDefaults.defaultDownChangeStyle;
26
29
  }
@@ -142,4 +142,5 @@ export declare class InternalApiImpl extends ApiBase implements InternalApi {
142
142
  getValueForTag(adaptableObjectTag: AdaptableObjectTag): string | number;
143
143
  getEditLookUpValuesForColumn(editLookUpItem: EditLookUpPermittedValues, column: AdaptableColumn, gridCell?: GridCell): any[] | undefined;
144
144
  getAdaptableQueryExpressionText(query: Partial<AdaptableQuery>): string;
145
+ deleteConditionalStyles(conditionalStyles: any[]): void;
145
146
  }
@@ -650,5 +650,10 @@ class InternalApiImpl extends ApiBase_1.ApiBase {
650
650
  ? this.adaptable.api.queryLanguageApi.getAdaptableQueryExpressionWithColumnFriendlyNames(query)
651
651
  : this.adaptable.api.queryLanguageApi.getAdaptableQueryExpression(query);
652
652
  }
653
+ deleteConditionalStyles(conditionalStyles) {
654
+ conditionalStyles.forEach((cs) => {
655
+ this.dispatchAction(DeadRedux.ConditionalStyleDelete(cs));
656
+ });
657
+ }
653
658
  }
654
659
  exports.InternalApiImpl = InternalApiImpl;
@@ -144,4 +144,5 @@ export interface InternalApi {
144
144
  getValueForTag(adaptableObjectTag: AdaptableObjectTag): string | number;
145
145
  getEditLookUpValuesForColumn(editLookUpItem: EditLookUpPermittedValues, column: AdaptableColumn, gridCell?: GridCell): any[] | undefined;
146
146
  getAdaptableQueryExpressionText(query: Partial<AdaptableQuery>): string;
147
+ deleteConditionalStyles(conditionalStyles: any[]): void;
147
148
  }
@@ -19,3 +19,9 @@ export interface UpdatedRowClearAction extends Redux.Action {
19
19
  }
20
20
  export declare const UpdatedRowClear: () => UpdatedRowClearAction;
21
21
  export declare const UpdatedRowReducer: Redux.Reducer<any>;
22
+ export declare const CONDITIONAL_STYLE_DELETE = "CONDITIONAL_STYLE_DELETE";
23
+ export interface ConditionalStyleDeleteAction extends Redux.Action {
24
+ conditionalStyle: any;
25
+ }
26
+ export declare const ConditionalStyleDelete: (conditionalStyle: any) => ConditionalStyleDeleteAction;
27
+ export declare const ConditionalStyleReducer: Redux.Reducer<any>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UpdatedRowReducer = exports.UpdatedRowClear = exports.UPDATED_ROW_CLEAR = exports.FlashingCellReducer = exports.FlashingCellClear = exports.FLASHING_CELL_CLEAR = exports.PercentBarReducer = exports.PercentBarClear = exports.PERCENT_BAR_CLEAR = exports.GradientColumnReducer = exports.GradientColumnClear = exports.GRADIENT_COLUMN_CLEAR = void 0;
3
+ exports.ConditionalStyleReducer = exports.ConditionalStyleDelete = exports.CONDITIONAL_STYLE_DELETE = exports.UpdatedRowReducer = exports.UpdatedRowClear = exports.UPDATED_ROW_CLEAR = exports.FlashingCellReducer = exports.FlashingCellClear = exports.FLASHING_CELL_CLEAR = exports.PercentBarReducer = exports.PercentBarClear = exports.PERCENT_BAR_CLEAR = exports.GradientColumnReducer = exports.GradientColumnClear = exports.GRADIENT_COLUMN_CLEAR = void 0;
4
4
  const initialGradientColumnState = {};
5
5
  exports.GRADIENT_COLUMN_CLEAR = 'GRADIENT_COLUMN_CLEAR';
6
6
  const GradientColumnClear = () => ({
@@ -65,3 +65,21 @@ const UpdatedRowReducer = (state = initialUpdatedRowState, action) => {
65
65
  }
66
66
  };
67
67
  exports.UpdatedRowReducer = UpdatedRowReducer;
68
+ const initialConditionalStyleState = {};
69
+ exports.CONDITIONAL_STYLE_DELETE = 'CONDITIONAL_STYLE_DELETE';
70
+ const ConditionalStyleDelete = (conditionalStyle) => ({
71
+ type: exports.CONDITIONAL_STYLE_DELETE,
72
+ conditionalStyle,
73
+ });
74
+ exports.ConditionalStyleDelete = ConditionalStyleDelete;
75
+ const ConditionalStyleReducer = (state = initialConditionalStyleState, action) => {
76
+ switch (action.type) {
77
+ case exports.CONDITIONAL_STYLE_DELETE: {
78
+ const actionConditionalStyle = action.conditionalStyle;
79
+ return Object.assign(Object.assign({}, state), { ConditionalStyles: state.ConditionalStyles.filter((abObject) => abObject.Uuid !== actionConditionalStyle.Uuid) });
80
+ }
81
+ default:
82
+ return state;
83
+ }
84
+ };
85
+ exports.ConditionalStyleReducer = ConditionalStyleReducer;
@@ -20,7 +20,6 @@ const GridRedux = tslib_1.__importStar(require("../ActionsReducers/GridRedux"));
20
20
  const SystemRedux = tslib_1.__importStar(require("../ActionsReducers/SystemRedux"));
21
21
  const PlusMinusRedux = tslib_1.__importStar(require("../ActionsReducers/PlusMinusRedux"));
22
22
  const ExportRedux = tslib_1.__importStar(require("../ActionsReducers/ExportRedux"));
23
- const ConditionalStyleRedux = tslib_1.__importStar(require("../ActionsReducers/ConditionalStyleRedux"));
24
23
  const QuickSearchRedux = tslib_1.__importStar(require("../ActionsReducers/QuickSearchRedux"));
25
24
  const ThemeRedux = tslib_1.__importStar(require("../ActionsReducers/ThemeRedux"));
26
25
  const FormatColumnRedux = tslib_1.__importStar(require("../ActionsReducers/FormatColumnRedux"));
@@ -132,7 +131,6 @@ class AdaptableStore {
132
131
  FlashingCell: FlashingCellRedux.FlashingCellReducer,
133
132
  Application: ApplicationRedux.ApplicationReducer,
134
133
  CalculatedColumn: CalculatedColumnRedux.CalculatedColumnReducer,
135
- ConditionalStyle: ConditionalStyleRedux.ConditionalStyleReducer,
136
134
  CustomSort: CustomSortRedux.CustomSortReducer,
137
135
  Dashboard: DashboardRedux.DashboardReducer,
138
136
  Export: ExportRedux.ExportReducer,
@@ -154,6 +152,7 @@ class AdaptableStore {
154
152
  PercentBar: DeadRedux.PercentBarReducer,
155
153
  UpdatedRow: DeadRedux.UpdatedRowReducer,
156
154
  GradientColumn: DeadRedux.GradientColumnReducer,
155
+ ConditionalStyle: DeadRedux.ConditionalStyleReducer,
157
156
  };
158
157
  // allow plugins to participate in the root reducer
159
158
  adaptable.forPlugins((plugin) => {
@@ -672,12 +671,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
672
671
  case CustomSortRedux.CUSTOM_SORT_EDIT:
673
672
  case CustomSortRedux.CUSTOM_SORT_DELETE:
674
673
  case CustomSortRedux.CUSTOM_SORT_SUSPEND:
675
- case CustomSortRedux.CUSTOM_SORT_UNSUSPEND:
676
- case ConditionalStyleRedux.CONDITIONAL_STYLE_ADD:
677
- case ConditionalStyleRedux.CONDITIONAL_STYLE_EDIT:
678
- case ConditionalStyleRedux.CONDITIONAL_STYLE_SUSPEND:
679
- case ConditionalStyleRedux.CONDITIONAL_STYLE_UNSUSPEND:
680
- case ConditionalStyleRedux.CONDITIONAL_STYLE_DELETE: {
674
+ case CustomSortRedux.CUSTOM_SORT_UNSUSPEND: {
681
675
  const returnAction = next(action);
682
676
  // called also for alert actions, see ALERT ACTIONS block
683
677
  adaptable.setupColumns();
@@ -1,27 +1,6 @@
1
1
  import { AdaptableApi } from '../Api/AdaptableApi';
2
- import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
3
- import { ConditionalStyle } from '../PredefinedConfig/ConditionalStyleState';
4
- import { TeamSharingImportInfo } from '../PredefinedConfig/TeamSharingState';
5
2
  import { AdaptableModuleBase } from './AdaptableModuleBase';
6
- import { IConditionalStyleModule } from './Interface/IConditionalStyleModule';
7
- import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
8
- import { AdaptableModuleView, AdaptableObjectView } from './Interface/IModule';
9
- export declare class ConditionalStyleModule extends AdaptableModuleBase implements IConditionalStyleModule {
3
+ import { IModule } from './Interface/IModule';
4
+ export declare class ConditionalStyleModule extends AdaptableModuleBase implements IModule {
10
5
  constructor(api: AdaptableApi);
11
- getModuleAdaptableObjects(config?: {
12
- includeLayoutNotAssociatedObjects?: boolean;
13
- }): AdaptableObject[];
14
- getExplicitlyReferencedColumnIds(conditionalStyle: ConditionalStyle): string[];
15
- getReferencedNamedQueryNames(conditionalStyle: ConditionalStyle): string[];
16
- updateOldConfig(): void;
17
- getTeamSharingAction(): TeamSharingImportInfo<ConditionalStyle>;
18
- isConditionalStyleActiveForColumn(conditionalStyleForColumn: ConditionalStyle, column: AdaptableColumn, params: any): boolean;
19
- isConditionalStyleActiveForRow(conditionalStyleForRow: ConditionalStyle, params: any): boolean;
20
- private evaluatePredicate;
21
- private evaluateExpression;
22
- private shouldRunStyle;
23
- toView(conditionalStyle: ConditionalStyle): AdaptableObjectView;
24
- toViewAll(): AdaptableObjectView[];
25
- getViewProperties(): AdaptableModuleView;
26
- canBeAssociatedWithLayouts(): boolean;
27
6
  }
@@ -2,200 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConditionalStyleModule = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const ConditionalStyleRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/ConditionalStyleRedux"));
6
5
  const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
7
- const ArrayExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/ArrayExtensions"));
8
- const LoggingHelper_1 = require("../Utilities/Helpers/LoggingHelper");
9
6
  const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
10
- const ModuleConstants_1 = require("../Utilities/Constants/ModuleConstants");
11
- const getScopeViewItems_1 = require("./Utilities/getScopeViewItems");
12
- const getRuleViewItems_1 = require("./Utilities/getRuleViewItems");
13
- const getStyleViewItems_1 = require("./Utilities/getStyleViewItems");
14
- const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
15
- const ConditionalStylePopupHeader_1 = require("../View/ConditionalStyle/ConditionalStylePopupHeader");
16
7
  class ConditionalStyleModule extends AdaptableModuleBase_1.AdaptableModuleBase {
17
8
  constructor(api) {
18
9
  super(ModuleConstants.ConditionalStyleModuleId, ModuleConstants.ConditionalStyleFriendlyName, 'conditional-style', 'ConditionalStylePopup', 'Style columns and rows dynamically based on rules and cell values', api);
19
10
  }
20
- getModuleAdaptableObjects(config) {
21
- return this.api.conditionalStyleApi.getAllConditionalStyle(config);
22
- }
23
- getExplicitlyReferencedColumnIds(conditionalStyle) {
24
- if (conditionalStyle.Rule.BooleanExpression) {
25
- return this.api.queryLanguageApi.getColumnsFromExpression(conditionalStyle.Rule.BooleanExpression);
26
- }
27
- else if (this.api.scopeApi.scopeHasColumns(conditionalStyle.Scope)) {
28
- return this.api.scopeApi
29
- .getColumnsForScope(conditionalStyle.Scope)
30
- .map((adaptableColumn) => adaptableColumn.columnId);
31
- }
32
- return [];
33
- }
34
- getReferencedNamedQueryNames(conditionalStyle) {
35
- if (!conditionalStyle.Rule.BooleanExpression) {
36
- return [];
37
- }
38
- return this.api.queryApi.getReferencedNamedQueryNames(conditionalStyle.Rule.BooleanExpression);
39
- }
40
- updateOldConfig() {
41
- var _a;
42
- const conditionalStyles = (_a = this.api.conditionalStyleApi.getConditionalStyleState().ConditionalStyles) !== null && _a !== void 0 ? _a : [];
43
- let oldConditionalStyles = [];
44
- conditionalStyles.forEach((cs) => {
45
- if (cs) {
46
- const scopedColumnIds = this.api.scopeApi.getColumnIdsInScope(cs.Scope);
47
- if (ArrayExtensions_1.default.IsNotNullOrEmpty(scopedColumnIds)) {
48
- scopedColumnIds.forEach((colId) => {
49
- if (!this.api.columnApi.doesColumnExist(colId)) {
50
- (0, LoggingHelper_1.LogAdaptableError)('Conditional Style contains missing column: ' + colId);
51
- }
52
- });
53
- }
54
- if (cs.ExcludeGroupedRows === false) {
55
- cs.ExcludeGroupedRows = undefined;
56
- cs.IncludeGroupedRows = true;
57
- oldConditionalStyles.push(cs);
58
- (0, LoggingHelper_1.LogAdaptableWarning)(`Updating incorrect Predefined Config for Conditional Style with "ExcludeGroupedRows" set}`);
59
- }
60
- if (cs.Predicate) {
61
- cs.Rule = {
62
- Predicate: cs.Predicate,
63
- };
64
- (0, LoggingHelper_1.LogAdaptableWarning)(`Updating incorrect Predefined Config for Conditional Style: ${cs.Predicate}`);
65
- cs.Predicate = undefined;
66
- oldConditionalStyles.push(cs);
67
- }
68
- if (cs.Expression) {
69
- let rule = {
70
- BooleanExpression: cs.Expression,
71
- };
72
- cs.Rule = rule;
73
- (0, LoggingHelper_1.LogAdaptableWarning)(`Updating incorrect Predefined Config for Conditional Style: ${cs.Expression}`);
74
- cs.Expression = undefined;
75
- oldConditionalStyles.push(cs);
76
- }
77
- }
78
- });
79
- this.api.conditionalStyleApi.editConditionalStyles(oldConditionalStyles);
80
- }
81
- getTeamSharingAction() {
82
- return {
83
- ModuleEntities: this.api.conditionalStyleApi.getAllConditionalStyle(),
84
- AddAction: ConditionalStyleRedux.ConditionalStyleAdd,
85
- EditAction: ConditionalStyleRedux.ConditionalStyleEdit,
86
- };
87
- }
88
- isConditionalStyleActiveForColumn(conditionalStyleForColumn, column, params) {
89
- if (!conditionalStyleForColumn.Rule) {
90
- return false;
91
- }
92
- if (conditionalStyleForColumn.IsSuspended) {
93
- return false;
94
- }
95
- if (this.shouldRunStyle(conditionalStyleForColumn, params.node)) {
96
- // first run the predicate
97
- if (conditionalStyleForColumn.Rule.Predicate &&
98
- conditionalStyleForColumn.Rule.Predicate.PredicateId) {
99
- if (this.evaluatePredicate({
100
- conditionalStyle: conditionalStyleForColumn,
101
- column,
102
- value: params.value,
103
- node: params.node,
104
- })) {
105
- return true;
106
- }
107
- }
108
- else if (conditionalStyleForColumn.Rule.BooleanExpression) {
109
- if (this.evaluateExpression(conditionalStyleForColumn, params.node)) {
110
- return true;
111
- }
112
- }
113
- // nothing has passed then return false
114
- return false;
115
- }
116
- }
117
- isConditionalStyleActiveForRow(conditionalStyleForRow, params) {
118
- if (!conditionalStyleForRow.Rule) {
119
- return false;
120
- }
121
- if (conditionalStyleForRow.IsSuspended) {
122
- return false;
123
- }
124
- if (this.shouldRunStyle(conditionalStyleForRow, params.node)) {
125
- if (conditionalStyleForRow.Rule.Predicate &&
126
- conditionalStyleForRow.Rule.Predicate.PredicateId) {
127
- if (this.evaluatePredicate({
128
- conditionalStyle: conditionalStyleForRow,
129
- column: null,
130
- value: params.value,
131
- node: params.node,
132
- })) {
133
- return true;
134
- }
135
- }
136
- else if (conditionalStyleForRow.Rule.BooleanExpression) {
137
- if (this.evaluateExpression(conditionalStyleForRow, params.node)) {
138
- return true;
139
- }
140
- }
141
- // nothing has passed then return false
142
- return false;
143
- }
144
- }
145
- evaluatePredicate({ conditionalStyle, column, value, node, }) {
146
- const params = {
147
- value: value,
148
- oldValue: null,
149
- displayValue: column
150
- ? this.api.gridApi.getDisplayValueFromRowNode(node, column.columnId)
151
- : value,
152
- node: node,
153
- column: column,
154
- };
155
- const result = this.api.predicateApi.handlePredicate(conditionalStyle.Rule.Predicate, params, false);
156
- return result;
157
- }
158
- evaluateExpression(conditionalStyle, node) {
159
- const isValidExpression = this.api.queryLanguageApi.isValidBooleanExpression(conditionalStyle.Rule.BooleanExpression, ModuleConstants_1.ConditionalStyleModuleId, `Invalid conditional style rule '${conditionalStyle.Rule.BooleanExpression}'`);
160
- return (isValidExpression &&
161
- this.api.internalApi
162
- .getQueryLanguageService()
163
- .evaluateBooleanExpression(conditionalStyle.Rule.BooleanExpression, ModuleConstants_1.ConditionalStyleModuleId, node));
164
- }
165
- shouldRunStyle(conditionalStyle, node) {
166
- if (!conditionalStyle.IncludeGroupedRows && this.api.gridApi.isGroupRowNode(node)) {
167
- return false;
168
- }
169
- return true;
170
- }
171
- toView(conditionalStyle) {
172
- return {
173
- items: [
174
- (0, getScopeViewItems_1.getScopeViewItems)(conditionalStyle.Scope, this.api),
175
- (0, getStyleViewItems_1.getStyleViewItems)(),
176
- (0, getRuleViewItems_1.getRuleViewItems)(conditionalStyle.Rule, this.api),
177
- {
178
- name: 'Settings',
179
- values: [`Include grouped rows: ${conditionalStyle.IncludeGroupedRows ? 'Yes' : 'No'}`],
180
- },
181
- (0, getObjectTagsViewItems_1.getObjectTagsViewItems)(conditionalStyle, this.api),
182
- ],
183
- abObject: conditionalStyle,
184
- };
185
- }
186
- toViewAll() {
187
- return this.getModuleAdaptableObjects({
188
- includeLayoutNotAssociatedObjects: this.showLayoutNotAssociatedObjects(),
189
- }).map((conditionalStyle) => this.toView(conditionalStyle));
190
- }
191
- getViewProperties() {
192
- return {
193
- HeaderComponent: ConditionalStylePopupHeader_1.ConditionalStylePopupHeader,
194
- emptyView: '',
195
- };
196
- }
197
- canBeAssociatedWithLayouts() {
198
- return true;
199
- }
200
11
  }
201
12
  exports.ConditionalStyleModule = ConditionalStyleModule;
@@ -68,9 +68,9 @@ class FormatColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
68
68
  if (!(oldConditionalStyles === null || oldConditionalStyles === void 0 ? void 0 : oldConditionalStyles.length)) {
69
69
  return;
70
70
  }
71
- (0, LoggingHelper_1.ConsoleLogWarning)(`DEPRECATED: The 'ConditionalStyle.ConditionalStyles' property is deprecated; use 'FormatColumn' instead!`);
71
+ (0, LoggingHelper_1.ConsoleLogWarning)(`DEPRECATED: Conditional Styles have been merged into 'Format Columns'`);
72
72
  // remove conditional styles
73
- this.api.conditionalStyleApi.deleteConditionalStyles(oldConditionalStyles);
73
+ this.api.internalApi.deleteConditionalStyles(oldConditionalStyles);
74
74
  // add as format column
75
75
  this.api.formatColumnApi.addFormatColumns(oldConditionalStyles);
76
76
  }
@@ -57,10 +57,6 @@ class LayoutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
57
57
  Reference: alertDefinition,
58
58
  Module: 'Alert',
59
59
  }));
60
- this.api.conditionalStyleApi.getAllConditionalStyle(loadConfig).forEach((conditionalStyle) => layoutAssociatedObjectReferences.push({
61
- Reference: conditionalStyle,
62
- Module: 'ConditionalStyle',
63
- }));
64
60
  this.api.customSortApi.getAllCustomSort(loadConfig).forEach((customSort) => layoutAssociatedObjectReferences.push({
65
61
  Reference: customSort,
66
62
  Module: 'CustomSort',
@@ -18,7 +18,6 @@ exports.DEFAULT_NAVIGATION_ITEMS = [
18
18
  '-',
19
19
  'Alert',
20
20
  'CalculatedColumn',
21
- 'ConditionalStyle',
22
21
  'CustomSort',
23
22
  'DataSet',
24
23
  'Export',
@@ -87,8 +87,6 @@ class ModuleService {
87
87
  return learnUrl + 'handbook-calculated-column';
88
88
  case 'CellSummary':
89
89
  return learnUrl + 'handbook-summarising#cell-summary-information';
90
- case 'ConditionalStyle':
91
- return learnUrl + 'handbook-conditional-styling';
92
90
  case 'CustomSort':
93
91
  return learnUrl + 'handbook-sorting';
94
92
  case 'Dashboard':
@@ -185,7 +185,7 @@ class QueryLanguageService {
185
185
  if (evaluationResult.type !== 'aggregationBoolean') {
186
186
  const result = {
187
187
  isValid: false,
188
- errorMessage: 'provided AggregatedBBoolean expression does not evaluate to a supported aggregation',
188
+ errorMessage: 'provided AggregatedBoolean expression does not evaluate to a supported aggregation',
189
189
  };
190
190
  this.cacheAggregatedBooleanValidation.set(cacheKey, result);
191
191
  return result;