@adaptabletools/adaptable 15.3.1 → 15.3.3-canary.0

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 (156) hide show
  1. package/base.css +57 -2
  2. package/base.css.map +1 -1
  3. package/bundle.cjs.js +157 -157
  4. package/index.css +83 -2
  5. package/index.css.map +1 -1
  6. package/package.json +1 -1
  7. package/publishTimestamp.d.ts +1 -1
  8. package/publishTimestamp.js +1 -1
  9. package/src/AdaptableInterfaces/IAdaptable.d.ts +4 -0
  10. package/src/AdaptableOptions/ActionOptions.d.ts +6 -1
  11. package/src/AdaptableOptions/EditOptions.d.ts +35 -6
  12. package/src/AdaptableOptions/EntitlementOptions.d.ts +3 -2
  13. package/src/AdaptableOptions/ExportOptions.d.ts +1 -1
  14. package/src/AdaptableOptions/FilterOptions.d.ts +9 -3
  15. package/src/AdaptableOptions/LayoutOptions.d.ts +1 -1
  16. package/src/Api/GridApi.d.ts +11 -0
  17. package/src/Api/Implementation/CalculatedColumnApiImpl.js +12 -1
  18. package/src/Api/Implementation/GridApiImpl.d.ts +4 -0
  19. package/src/Api/Implementation/GridApiImpl.js +8 -0
  20. package/src/Api/Implementation/StyledColumnApiImpl.d.ts +1 -0
  21. package/src/Api/Implementation/StyledColumnApiImpl.js +12 -0
  22. package/src/Api/Internal/StyledColumnInternalApi.d.ts +3 -1
  23. package/src/Api/Internal/StyledColumnInternalApi.js +24 -0
  24. package/src/Api/StyledColumnApi.d.ts +5 -0
  25. package/src/PredefinedConfig/Common/AdaptableFormat.d.ts +1 -2
  26. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  27. package/src/PredefinedConfig/Common/AdaptablePredicate.js +5 -5
  28. package/src/PredefinedConfig/Common/AdaptableStyle.d.ts +8 -0
  29. package/src/PredefinedConfig/Common/Enums.js +1 -0
  30. package/src/PredefinedConfig/StyledColumnState.d.ts +37 -5
  31. package/src/Redux/Store/AdaptableReduxMerger.js +1 -1
  32. package/src/Strategy/BulkUpdateModule.js +1 -1
  33. package/src/Strategy/CalculatedColumnModule.js +1 -1
  34. package/src/Strategy/CellSummaryModule.js +1 -1
  35. package/src/Strategy/CustomSortModule.js +1 -1
  36. package/src/Strategy/DashboardModule.js +2 -2
  37. package/src/Strategy/DataChangeHistoryModule.js +1 -1
  38. package/src/Strategy/FilterModule.js +1 -1
  39. package/src/Strategy/FlashingCellModule.js +1 -1
  40. package/src/Strategy/FormatColumnModule.js +42 -3
  41. package/src/Strategy/FreeTextColumnModule.js +1 -1
  42. package/src/Strategy/GridInfoModule.js +2 -2
  43. package/src/Strategy/LayoutModule.js +7 -6
  44. package/src/Strategy/PlusMinusModule.js +1 -1
  45. package/src/Strategy/QueryModule.js +1 -1
  46. package/src/Strategy/QuickSearchModule.js +1 -1
  47. package/src/Strategy/ShortcutModule.js +1 -1
  48. package/src/Strategy/SmartEditModule.js +1 -1
  49. package/src/Strategy/StateManagementModule.js +1 -1
  50. package/src/Strategy/StyledColumnModule.d.ts +2 -0
  51. package/src/Strategy/StyledColumnModule.js +132 -59
  52. package/src/Strategy/SystemStatusModule.js +1 -1
  53. package/src/Strategy/TeamSharingModule.js +1 -1
  54. package/src/Strategy/ToolPanelModule.js +1 -1
  55. package/src/Utilities/Constants/GeneralConstants.d.ts +2 -0
  56. package/src/Utilities/Constants/GeneralConstants.js +4 -2
  57. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +1 -0
  58. package/src/Utilities/Helpers/StyleHelper.js +19 -0
  59. package/src/Utilities/ObjectFactory.d.ts +3 -1
  60. package/src/Utilities/ObjectFactory.js +14 -1
  61. package/src/Utilities/Services/EntitlementService.js +7 -4
  62. package/src/Utilities/Services/ValidationService.js +13 -2
  63. package/src/View/Alert/Wizard/AlertButtonsEditor.js +1 -1
  64. package/src/View/Charting/ShowChartButton.js +1 -1
  65. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +1 -1
  66. package/src/View/Components/Buttons/ButtonClear.js +1 -1
  67. package/src/View/Components/Buttons/ButtonClose.js +1 -1
  68. package/src/View/Components/Buttons/ButtonConfigure.js +1 -1
  69. package/src/View/Components/Buttons/ButtonDelete.js +1 -1
  70. package/src/View/Components/Buttons/ButtonExpand.js +1 -1
  71. package/src/View/Components/Buttons/ButtonLogin.js +1 -1
  72. package/src/View/Components/Buttons/ButtonPreviewDelete.js +1 -1
  73. package/src/View/Components/FilterForm/QuickFilterForm.js +10 -2
  74. package/src/View/Components/Forms/AdaptableFormControlTextClear.js +1 -1
  75. package/src/View/Components/ListBox/ListBoxFilterSortComponent.js +1 -1
  76. package/src/View/Components/Panels/ToolPanelSettingsPanel.js +1 -1
  77. package/src/View/Components/PredicateEditor/PredicateEditor.d.ts +1 -0
  78. package/src/View/Components/PredicateEditor/PredicateEditor.js +24 -16
  79. package/src/View/Components/StyleComponent.d.ts +7 -0
  80. package/src/View/Components/StyleComponent.js +68 -16
  81. package/src/View/Components/ValueSelector/index.js +1 -1
  82. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +8 -6
  83. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +18 -10
  84. package/src/View/Layout/Wizard/sections/ColumnsSection.js +3 -3
  85. package/src/View/StateManagement/StateManagementViewPanel.js +1 -1
  86. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.d.ts +7 -0
  87. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +108 -0
  88. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +15 -14
  89. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +44 -21
  90. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +17 -9
  91. package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +1 -1
  92. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.d.ts +5 -0
  93. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +29 -0
  94. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +25 -5
  95. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +15 -4
  96. package/src/View/Theme/ThemeEditor.js +1 -1
  97. package/src/agGrid/Adaptable.d.ts +10 -1
  98. package/src/agGrid/Adaptable.js +69 -26
  99. package/src/agGrid/BadgeRenderer.d.ts +4 -0
  100. package/src/agGrid/BadgeRenderer.js +59 -0
  101. package/src/agGrid/PercentBarRenderer.js +37 -17
  102. package/src/agGrid/agGridHelper.d.ts +1 -0
  103. package/src/agGrid/agGridHelper.js +4 -0
  104. package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +1 -1
  105. package/src/components/Badge/index.d.ts +8 -0
  106. package/src/components/Badge/index.js +18 -0
  107. package/src/components/Dashboard/DashboardToolbar.js +2 -2
  108. package/src/components/Datepicker/index.js +1 -1
  109. package/src/components/DragAndDropContext/TabList.js +1 -1
  110. package/src/components/Dropdown/index.js +1 -1
  111. package/src/components/DropdownButton/index.js +1 -1
  112. package/src/components/FileDroppable/index.js +1 -1
  113. package/src/components/IconSelector/IconSelector.d.ts +7 -0
  114. package/src/components/IconSelector/IconSelector.js +42 -0
  115. package/src/components/IconSelector/index.d.ts +1 -0
  116. package/src/components/IconSelector/index.js +4 -0
  117. package/src/components/OverlayTrigger/index.js +1 -0
  118. package/src/components/Toggle/Toggle.d.ts +8 -0
  119. package/src/components/Toggle/Toggle.js +15 -0
  120. package/src/components/Toggle/ToggleGroup.d.ts +2 -0
  121. package/src/components/Toggle/ToggleGroup.js +10 -0
  122. package/src/components/Toggle/index.d.ts +2 -0
  123. package/src/components/Toggle/index.js +5 -0
  124. package/src/components/icons/DefaultIcon.js +1 -1
  125. package/src/components/icons/align-center.js +7 -0
  126. package/src/components/icons/align-left.d.ts +3 -0
  127. package/src/components/icons/align-left.js +7 -0
  128. package/src/components/icons/align-right.d.ts +3 -0
  129. package/src/components/icons/align-right.js +7 -0
  130. package/src/components/icons/badge.d.ts +3 -0
  131. package/src/components/icons/badge.js +7 -0
  132. package/src/components/icons/bold.d.ts +3 -0
  133. package/src/components/icons/bold.js +7 -0
  134. package/src/components/icons/case-lower.d.ts +3 -0
  135. package/src/components/icons/case-lower.js +7 -0
  136. package/src/components/icons/case-sentence.d.ts +3 -0
  137. package/src/components/icons/case-sentence.js +8 -0
  138. package/src/components/icons/case-upper.d.ts +3 -0
  139. package/src/components/icons/case-upper.js +7 -0
  140. package/src/components/icons/gradient.d.ts +3 -0
  141. package/src/components/icons/gradient.js +7 -0
  142. package/src/components/icons/index.js +76 -70
  143. package/src/components/icons/italic.d.ts +3 -0
  144. package/src/components/icons/{clear.js → italic.js} +2 -2
  145. package/src/components/icons/overline.d.ts +3 -0
  146. package/src/components/icons/overline.js +7 -0
  147. package/src/components/icons/strikethrough.d.ts +3 -0
  148. package/src/components/icons/strikethrough.js +7 -0
  149. package/src/components/icons/underline.d.ts +3 -0
  150. package/src/components/icons/underline.js +7 -0
  151. package/src/metamodel/adaptable.metamodel.d.ts +47 -6
  152. package/src/metamodel/adaptable.metamodel.js +1 -1
  153. package/src/types.d.ts +4 -3
  154. package/version.d.ts +1 -1
  155. package/version.js +1 -1
  156. /package/src/components/icons/{clear.d.ts → align-center.d.ts} +0 -0
@@ -14,7 +14,7 @@ const getShortcutSettingsViewItems_1 = require("./Utilities/Shortcut/getShortcut
14
14
  const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
15
15
  class ShortcutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
16
16
  constructor(api) {
17
- super(ModuleConstants.ShortcutModuleId, ModuleConstants.ShortcutFriendlyName, 'shortcut', 'ShortcutPopup', 'Set up rules so cells update mathematically when keys are pressed in numeric cells', api);
17
+ super(ModuleConstants.ShortcutModuleId, ModuleConstants.ShortcutFriendlyName, 'link', 'ShortcutPopup', 'Set up rules so cells update mathematically when keys are pressed in numeric cells', api);
18
18
  this.shouldHandleKeyDown = false;
19
19
  this.adaptable = api.internalApi.getAdaptableInstance();
20
20
  }
@@ -10,7 +10,7 @@ const ArrayExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensio
10
10
  const ObjectFactory_1 = tslib_1.__importDefault(require("../Utilities/ObjectFactory"));
11
11
  class SmartEditModule extends AdaptableModuleBase_1.AdaptableModuleBase {
12
12
  constructor(api) {
13
- super(ModuleConstants.SmartEditModuleId, ModuleConstants.SmartEditFriendlyName, 'smart-edit', 'SmartEditPopup', 'Edit groups of numeric cells using mathematical operations (e.g. Multiply by 10)', api);
13
+ super(ModuleConstants.SmartEditModuleId, ModuleConstants.SmartEditFriendlyName, 'edit', 'SmartEditPopup', 'Edit groups of numeric cells using mathematical operations (e.g. Multiply by 10)', api);
14
14
  }
15
15
  getViewAccessLevel() {
16
16
  return 'Full';
@@ -6,7 +6,7 @@ const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
6
6
  const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
7
7
  class StateManagementModule extends AdaptableModuleBase_1.AdaptableModuleBase {
8
8
  constructor(api) {
9
- super(ModuleConstants.StateManagementModuleId, ModuleConstants.StateManagementFriendlyName, 'state-management', 'StateManagementPopup', 'Manages Adaptable State, User State and Predefined Config', api);
9
+ super(ModuleConstants.StateManagementModuleId, ModuleConstants.StateManagementFriendlyName, 'assignment', 'StateManagementPopup', 'Manages Adaptable State, User State and Predefined Config', api);
10
10
  }
11
11
  }
12
12
  exports.StateManagementModule = StateManagementModule;
@@ -16,9 +16,11 @@ export declare class StyledColumnModule extends AdaptableModuleBase implements I
16
16
  getExplicitlyReferencedColumnIds(formatColumn: FormatColumn): string[];
17
17
  hasNamedQueryReferences(): boolean;
18
18
  addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
19
+ private getGlyphForStyledColumn;
19
20
  getTeamSharingAction(): TeamSharingImportInfo<StyledColumn>;
20
21
  toView(styledColumn: StyledColumn): AdaptableObjectView;
21
22
  toViewAll(): AdaptableObjectView[];
22
23
  getViewProperties(): AdaptableModuleView;
23
24
  canBeAssociatedWithLayouts(): boolean;
25
+ private getTypeLabel;
24
26
  }
@@ -9,6 +9,7 @@ const StyledColumnWizard_1 = require("../View/StyledColumn/Wizard/StyledColumnWi
9
9
  const StyledColumnWizardStyleSection_1 = require("../View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection");
10
10
  const ObjectFactory_1 = tslib_1.__importDefault(require("../Utilities/ObjectFactory"));
11
11
  const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
12
+ const StyledColumnBadgePreview_1 = require("../View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview");
12
13
  class StyledColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
13
14
  constructor(api) {
14
15
  super(ModuleConstants.StyledColumnModuleId, ModuleConstants.StyledColumnFriendlyName, 'brush', 'StyledColumnPopup', // to change
@@ -72,71 +73,106 @@ class StyledColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
72
73
  }
73
74
  addColumnMenuItems(column) {
74
75
  let returnColumnMenuItems = [];
75
- const config = {
76
- defaultCurrentSectionName: 'Style',
77
- };
78
76
  // Need a Column and an editable Module
79
77
  if (column && this.isModuleEditable()) {
78
+ let styledColumn = this.api.styledColumnApi.getStyledColumnForColumnId(column.columnId);
80
79
  // First look at Sparkline Columns - needs to be editable array type
81
80
  if (this.api.columnApi.hasArrayDataType(column.columnId) &&
82
81
  column.IsReadOnly !== true &&
83
82
  this.api.styledColumnApi.canDisplaySparklines()) {
84
- let styledColumn = this.api.styledColumnApi.getStyledColumnForColumnId(column.columnId);
85
83
  let sparklineColumnExists = column.isSparkline && Boolean(styledColumn);
86
84
  if (column.isSparkline && !sparklineColumnExists) {
87
85
  // do nothing as we only want to continue if there is no sparkline column or if its in state
88
86
  // because if just one then it was created in AG Grid and we dont want to edit it
89
87
  }
90
88
  else {
91
- if (!sparklineColumnExists) {
92
- styledColumn = Object.assign(Object.assign({}, ObjectFactory_1.default.CreateEmptyStyledColumn()), { ColumnId: column.columnId,
93
- // set sparkline style
94
- SparkLineStyle: {} });
95
- }
96
- else {
97
- styledColumn = this.api.styledColumnApi.getStyledColumnForColumnId(column.columnId);
89
+ const hasSparklineStyle = styledColumn != null && styledColumn.SparkLineStyle != null;
90
+ if (!hasSparklineStyle) {
91
+ styledColumn = Object.assign(Object.assign({}, ObjectFactory_1.default.CreateEmptyStyledColumn()), { ColumnId: column.columnId, SparkLineStyle: {} });
98
92
  }
99
- let label = sparklineColumnExists ? 'Edit ' : 'Create ';
93
+ let label = hasSparklineStyle ? 'Edit ' : 'Create ';
100
94
  let popupParam = {
101
95
  action: sparklineColumnExists ? 'Edit' : 'New',
102
96
  source: 'ColumnMenu',
103
97
  value: styledColumn,
104
- config,
98
+ config: {
99
+ defaultCurrentSectionName: 'Settings',
100
+ },
105
101
  };
106
- returnColumnMenuItems.push(this.createColumnMenuItemShowPopup(label + 'Sparkline Column', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam));
102
+ returnColumnMenuItems.push(this.createColumnMenuItemShowPopup(label + 'Sparkline Column', this.moduleInfo.Popup, this.getGlyphForStyledColumn(styledColumn), popupParam));
107
103
  }
108
104
  }
109
105
  // Next do non sparkline
110
- if (!column.isSparkline) {
111
- // First do numeric (Gradient and Percent Bar)
112
- if (column.dataType === 'Number') {
113
- let styledColumn = this.api.styledColumnApi.getStyledColumnForColumnId(column.columnId);
114
- let styledColumnExists = Boolean(styledColumn);
115
- if (!styledColumn) {
116
- const emptyRanges = this.api.scopeApi.createCellColorRangesForScope({
117
- ColumnIds: [column.columnId],
118
- });
119
- styledColumn = Object.assign(Object.assign({}, ObjectFactory_1.default.CreateEmptyStyledColumn()), { ColumnId: column.columnId,
120
- // numbers default to gradient
121
- GradientStyle: {
122
- CellRanges: emptyRanges,
123
- } });
106
+ else if (!column.isSparkline) {
107
+ // Edit is common
108
+ if (styledColumn) {
109
+ if (!styledColumn.IsReadOnly && !styledColumn.CheckBoxStyle) {
110
+ let defaultCurrentSectionName = undefined;
111
+ if (styledColumn.BadgeStyle) {
112
+ defaultCurrentSectionName = 'Badges';
113
+ }
114
+ else {
115
+ defaultCurrentSectionName = 'Style';
116
+ }
117
+ const popupParam = {
118
+ action: 'Edit',
119
+ source: 'ColumnMenu',
120
+ value: styledColumn,
121
+ config: {
122
+ defaultCurrentSectionName,
123
+ },
124
+ };
125
+ const icon = this.getGlyphForStyledColumn(styledColumn);
126
+ const label = `Edit ${this.getTypeLabel(styledColumn)} Style`;
127
+ returnColumnMenuItems.push(this.createColumnMenuItemShowPopup(label, this.moduleInfo.Popup, icon, popupParam));
124
128
  }
125
- if (styledColumn && styledColumn.IsReadOnly && styledColumn.IsReadOnly == true) {
126
- styledColumnExists = false;
127
- }
128
- let label = styledColumnExists ? 'Edit ' : 'Create ';
129
- let popupParam = {
130
- action: styledColumnExists ? 'Edit' : 'New',
129
+ }
130
+ else {
131
+ const newStyledColumn = Object.assign(Object.assign({}, ObjectFactory_1.default.CreateEmptyStyledColumn()), { ColumnId: column.columnId });
132
+ const popupParam = {
133
+ action: 'New',
131
134
  source: 'ColumnMenu',
132
- value: styledColumn,
133
- config,
135
+ value: newStyledColumn,
136
+ config: {},
134
137
  };
135
- returnColumnMenuItems.push(this.createColumnMenuItemShowPopup(label + 'Styled Column', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam));
138
+ const badgeLabel = column.dataType === 'Number' ? 'Badge' : 'Create Badge Style';
139
+ const newBadgeButton = this.createColumnMenuItemShowPopup(badgeLabel, this.moduleInfo.Popup, 'badge', Object.assign(Object.assign({}, popupParam), { value: Object.assign(Object.assign({}, newStyledColumn), { BadgeStyle: {
140
+ Badges: [ObjectFactory_1.default.CreateDefaultStyledColumnBadge()],
141
+ } }), config: {
142
+ defaultCurrentSectionName: 'Badges',
143
+ } }));
144
+ switch (column.dataType) {
145
+ // Number
146
+ // Create Styled Column - Gradient | Percent Bar | Badge
147
+ case 'Number':
148
+ const emptyRanges = this.api.scopeApi.createCellColorRangesForScope({
149
+ ColumnIds: [column.columnId],
150
+ });
151
+ const newGrandientButton = this.createColumnMenuItemShowPopup('Gradient', this.moduleInfo.Popup, 'gradient', Object.assign(Object.assign({}, popupParam), { value: Object.assign(Object.assign({}, newStyledColumn), { GradientStyle: {
152
+ CellRanges: emptyRanges,
153
+ } }), config: {
154
+ defaultCurrentSectionName: 'Style',
155
+ } }));
156
+ const newPrecentBarButton = this.createColumnMenuItemShowPopup('Percent Bar', this.moduleInfo.Popup, 'percent', Object.assign(Object.assign({}, popupParam), { value: Object.assign(Object.assign({}, newStyledColumn), { PercentBarStyle: {
157
+ CellRanges: emptyRanges,
158
+ } }), config: {
159
+ defaultCurrentSectionName: 'Style',
160
+ } }));
161
+ returnColumnMenuItems.push({
162
+ label: 'Create Styled Column',
163
+ module: this.moduleInfo.ModuleName,
164
+ isVisible: true,
165
+ icon: { name: this.moduleInfo.Glyph },
166
+ subItems: [newGrandientButton, newPrecentBarButton, newBadgeButton],
167
+ });
168
+ break;
169
+ case 'String':
170
+ returnColumnMenuItems.push(newBadgeButton);
171
+ break;
172
+ }
136
173
  }
137
174
  // Then do Checkbox
138
175
  if (column.dataType == 'Boolean' && !this.api.columnApi.isFreeTextColumn(column.columnId)) {
139
- let styledColumn = this.api.styledColumnApi.getStyledColumnForColumnId(column.columnId);
140
176
  const hasCheckBox = styledColumn && (styledColumn === null || styledColumn === void 0 ? void 0 : styledColumn.CheckBoxStyle);
141
177
  if (hasCheckBox) {
142
178
  returnColumnMenuItems.push(this.createColumnMenuItemClickFunction('Remove Checkbox', 'unchecked', () => {
@@ -154,6 +190,24 @@ class StyledColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
154
190
  }
155
191
  return returnColumnMenuItems;
156
192
  }
193
+ getGlyphForStyledColumn(styledColumn) {
194
+ if (styledColumn.GradientStyle) {
195
+ return 'gradient';
196
+ }
197
+ else if (styledColumn.PercentBarStyle) {
198
+ return 'percent';
199
+ }
200
+ else if (styledColumn.CheckBoxStyle) {
201
+ return 'check-circle';
202
+ }
203
+ else if (styledColumn.SparkLineStyle) {
204
+ return 'spark-line';
205
+ }
206
+ else if (styledColumn.BadgeStyle) {
207
+ return 'badge';
208
+ }
209
+ return this.moduleInfo.Glyph;
210
+ }
157
211
  getTeamSharingAction() {
158
212
  return {
159
213
  ModuleEntities: this.api.styledColumnApi.getStyledColumns(),
@@ -162,40 +216,40 @@ class StyledColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
162
216
  };
163
217
  }
164
218
  toView(styledColumn) {
165
- let type = null;
166
- if (styledColumn.GradientStyle) {
167
- type = 'Gradient';
168
- }
169
- else if (styledColumn.PercentBarStyle) {
170
- type = 'Percent Bar';
219
+ const specificTypeItems = [];
220
+ if (styledColumn.GradientStyle || styledColumn.PercentBarStyle || styledColumn.CheckBoxStyle) {
221
+ specificTypeItems.push({
222
+ name: 'Style',
223
+ view: () => {
224
+ return (0, StyledColumnWizardStyleSection_1.renderStyledColumnStyleSummary)(styledColumn, this.api);
225
+ },
226
+ });
171
227
  }
172
- else if (styledColumn.CheckBoxStyle) {
173
- type = 'Check Box';
228
+ if (!styledColumn.BadgeStyle) {
229
+ specificTypeItems.push({
230
+ name: 'Settings',
231
+ values: [`Include grouped rows: ${styledColumn.IncludeGroupedRows ? 'Yes' : 'No'}`],
232
+ });
174
233
  }
175
- else if (styledColumn.SparkLineStyle) {
176
- type = 'Spark Line';
234
+ if (styledColumn.BadgeStyle) {
235
+ specificTypeItems.push({
236
+ name: 'Preview',
237
+ view: StyledColumnBadgePreview_1.StyledColumnBadgePreview,
238
+ });
177
239
  }
178
240
  return {
179
241
  abObject: styledColumn,
180
242
  items: [
181
243
  {
182
244
  name: 'Type',
183
- values: [type],
245
+ values: [this.getTypeLabel(styledColumn)],
184
246
  },
185
247
  {
186
248
  name: 'Column',
187
249
  values: [this.api.columnApi.getFriendlyNameForColumnId(styledColumn.ColumnId)],
188
250
  },
189
- !styledColumn.SparkLineStyle && {
190
- name: 'Style',
191
- view: () => {
192
- return (0, StyledColumnWizardStyleSection_1.renderStyledColumnStyleSummary)(styledColumn, this.api);
193
- },
194
- },
195
- {
196
- name: 'Settings',
197
- values: [`Include grouped rows: ${styledColumn.IncludeGroupedRows ? 'Yes' : 'No'}`],
198
- },
251
+ ...specificTypeItems,
252
+ ,
199
253
  (0, getObjectTagsViewItems_1.getObjectTagsViewItems)(styledColumn, this.api),
200
254
  ].filter(Boolean),
201
255
  };
@@ -221,5 +275,24 @@ class StyledColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
221
275
  canBeAssociatedWithLayouts() {
222
276
  return true;
223
277
  }
278
+ getTypeLabel(styledColumn) {
279
+ let type = null;
280
+ if (styledColumn.GradientStyle) {
281
+ type = 'Gradient';
282
+ }
283
+ else if (styledColumn.PercentBarStyle) {
284
+ type = 'Percent Bar';
285
+ }
286
+ else if (styledColumn.CheckBoxStyle) {
287
+ type = 'Check Box';
288
+ }
289
+ else if (styledColumn.SparkLineStyle) {
290
+ type = 'Spark Line';
291
+ }
292
+ else if (styledColumn.BadgeStyle) {
293
+ type = 'Badge';
294
+ }
295
+ return type;
296
+ }
224
297
  }
225
298
  exports.StyledColumnModule = StyledColumnModule;
@@ -7,7 +7,7 @@ const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/Mod
7
7
  const SystemStatusStatusBarContent_1 = require("../View/SystemStatus/SystemStatusStatusBarContent");
8
8
  class SystemStatusModule extends AdaptableModuleBase_1.AdaptableModuleBase {
9
9
  constructor(api) {
10
- super(ModuleConstants.SystemStatusModuleId, ModuleConstants.SystemStatusFriendlyName, 'system-status', 'SystemStatusPopup', 'Provide messages about the Status of your application', api);
10
+ super(ModuleConstants.SystemStatusModuleId, ModuleConstants.SystemStatusFriendlyName, 'traffic-lights', 'SystemStatusPopup', 'Provide messages about the Status of your application', api);
11
11
  }
12
12
  addColumnMenuItems(column) {
13
13
  if (this.isModuleAvailable()) {
@@ -16,7 +16,7 @@ const ArrayExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensio
16
16
  const flatten_1 = tslib_1.__importDefault(require("lodash/flatten"));
17
17
  class TeamSharingModule extends AdaptableModuleBase_1.AdaptableModuleBase {
18
18
  constructor(api) {
19
- super(ModuleConstants.TeamSharingModuleId, ModuleConstants.TeamSharingFriendlyName, 'team-share', 'TeamSharingPopup', 'Team Sharing allows users to share - at run-time - Adaptable Objects between colleagues.', api);
19
+ super(ModuleConstants.TeamSharingModuleId, ModuleConstants.TeamSharingFriendlyName, 'folder-shared', 'TeamSharingPopup', 'Team Sharing allows users to share - at run-time - Adaptable Objects between colleagues.', api);
20
20
  this.SKIP_TEAMSHARING_UPDATE_ACTIONS = [
21
21
  TeamSharingRedux_1.TEAMSHARING_GET,
22
22
  TeamSharingRedux_1.TEAMSHARING_SET,
@@ -8,7 +8,7 @@ const Types_1 = require("../PredefinedConfig/Common/Types");
8
8
  const ToolPanelRedux_1 = require("../Redux/ActionsReducers/ToolPanelRedux");
9
9
  class ToolPanelModule extends AdaptableModuleBase_1.AdaptableModuleBase {
10
10
  constructor(api) {
11
- super(ModuleConstants.ToolPanelModuleId, ModuleConstants.ToolPanelFriendlyName, 'tool-panel', 'ToolPanelPopup', 'An alternative to using the Dashboard is the AdapTable Tool Panel, the Tool Panel is the collapsible area to the right of the Grid.', api);
11
+ super(ModuleConstants.ToolPanelModuleId, ModuleConstants.ToolPanelFriendlyName, 'clipboard', 'ToolPanelPopup', 'An alternative to using the Dashboard is the AdapTable Tool Panel, the Tool Panel is the collapsible area to the right of the Grid.', api);
12
12
  }
13
13
  isModuleAvailable() {
14
14
  if (!super.isModuleAvailable()) {
@@ -38,6 +38,8 @@ export declare const CELL_SUMMARY_DEFAULT_OPERATION: SummaryOperation | string;
38
38
  export declare const SYSTEM_DEFAULT_SYSTEM_STATUS_TYPE: AdaptableMessageType;
39
39
  export declare const THEME_DEFAULT_CURRENT_THEME: string;
40
40
  export declare const DEFAULT_LIVE_REPORT_THROTTLE_TIME: number;
41
+ export declare const SERVER_VALIDATION_HEADER: string;
42
+ export declare const SERVER_VALIDATION_MESSAGE_TYPE: AdaptableMessageType;
41
43
  /**
42
44
  * Object Factory
43
45
  */
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SMART_EDIT_MATH_OPERATION_STATE_PROPERTY = exports.SMART_EDIT_VALUE_STATE_PROPERTY = exports.QUICK_SEARCH_STYLE_STATE_PROPERTY = exports.QUICK_SEARCH_TEXT_STATE_PROPERTY = exports.CURRENT_THEME_STATE_PROPERTY = exports.FLASHING_CELL_DEFAULT_DURATION_STATE_PROPERTY = exports.FLASHING_CELL_DEFAULT_DOWN_COLOR_STATE_PROPERTY = exports.FLASHING_CELL_DEFAULT_UP_COLOR_STATE_PROPERTY = exports.CURRENT_REPORT_STATE_PROPERTY = exports.CURRENT_LAYOUT_STATE_PROPERTY = exports.SUMMARY_OPERATION_STATE_PROPERTY = exports.ALERT_DEFAULT_SHOW_POPUP = exports.ALERT_DEFAULT_MESSAGE_TYPE = exports.PLUS_MINUS_DEFAULT_NUDGE_VALUE = exports.DEFAULT_LIVE_REPORT_THROTTLE_TIME = exports.THEME_DEFAULT_CURRENT_THEME = exports.SYSTEM_DEFAULT_SYSTEM_STATUS_TYPE = exports.CELL_SUMMARY_DEFAULT_OPERATION = exports.QUICK_SEARCH_DEBOUNCE_TIME = exports.QUICK_SEARCH_DEFAULT_FORE_COLOR = exports.QUICK_SEARCH_DEFAULT_BACK_COLOR = exports.SYSTEM_STATUS_DEFAULT_MAX_MESSAGES_IN_STORE = exports.DEFAULT_DATE_FORMAT_PATTERN = exports.ADAPTABLE_ROW_ACTION_BUTTONS_FRIENDLY_NAME = exports.ADAPTABLE_ROW_ACTION_BUTTONS = exports.AG_GRID_CHART_WINDOW = exports.AG_GRID_PIVOT_COLUMN = exports.AG_GRID_GROUPED_COLUMN = exports.HALF_SECOND = exports.AB_SPECIAL_COLUMN = exports.EMPTY_ARRAY = exports.EMPTY_STRING = exports.FILTER_THROTTLE = exports.FILTER_NEVER = exports.FILTER_ALWAYS = exports.ALL_COLUMN_VALUES = exports.READ_ONLY_STYLE = exports.MENU_PREFIX = exports.AGGRID_TOOLPANEL_COLUMNS = exports.AGGRID_TOOLPANEL_FILTERS = exports.ADAPTABLE_TOOLPANEL_COMPONENT = exports.ADAPTABLE_TOOLPANEL_ID = exports.ADAPTABLE = exports.ADAPTABLE_ID = exports.USER_NAME = exports.DARK_THEME = exports.LIGHT_THEME = exports.DEFAULT_LAYOUT = exports.MISSING_COLUMN = exports.AUTOGENERATED_PK_COLUMN = void 0;
4
- exports.THEME_STYLE = exports.SELECTED_ROWS_REPORT = exports.SELECTED_CELLS_REPORT = exports.CURRENT_DATA_REPORT = exports.ALL_DATA_REPORT = exports.VISUAL_DATA_REPORT = exports.SYSTEM_THEMES = void 0;
3
+ exports.QUICK_SEARCH_STYLE_STATE_PROPERTY = exports.QUICK_SEARCH_TEXT_STATE_PROPERTY = exports.CURRENT_THEME_STATE_PROPERTY = exports.FLASHING_CELL_DEFAULT_DURATION_STATE_PROPERTY = exports.FLASHING_CELL_DEFAULT_DOWN_COLOR_STATE_PROPERTY = exports.FLASHING_CELL_DEFAULT_UP_COLOR_STATE_PROPERTY = exports.CURRENT_REPORT_STATE_PROPERTY = exports.CURRENT_LAYOUT_STATE_PROPERTY = exports.SUMMARY_OPERATION_STATE_PROPERTY = exports.ALERT_DEFAULT_SHOW_POPUP = exports.ALERT_DEFAULT_MESSAGE_TYPE = exports.PLUS_MINUS_DEFAULT_NUDGE_VALUE = exports.SERVER_VALIDATION_MESSAGE_TYPE = exports.SERVER_VALIDATION_HEADER = exports.DEFAULT_LIVE_REPORT_THROTTLE_TIME = exports.THEME_DEFAULT_CURRENT_THEME = exports.SYSTEM_DEFAULT_SYSTEM_STATUS_TYPE = exports.CELL_SUMMARY_DEFAULT_OPERATION = exports.QUICK_SEARCH_DEBOUNCE_TIME = exports.QUICK_SEARCH_DEFAULT_FORE_COLOR = exports.QUICK_SEARCH_DEFAULT_BACK_COLOR = exports.SYSTEM_STATUS_DEFAULT_MAX_MESSAGES_IN_STORE = exports.DEFAULT_DATE_FORMAT_PATTERN = exports.ADAPTABLE_ROW_ACTION_BUTTONS_FRIENDLY_NAME = exports.ADAPTABLE_ROW_ACTION_BUTTONS = exports.AG_GRID_CHART_WINDOW = exports.AG_GRID_PIVOT_COLUMN = exports.AG_GRID_GROUPED_COLUMN = exports.HALF_SECOND = exports.AB_SPECIAL_COLUMN = exports.EMPTY_ARRAY = exports.EMPTY_STRING = exports.FILTER_THROTTLE = exports.FILTER_NEVER = exports.FILTER_ALWAYS = exports.ALL_COLUMN_VALUES = exports.READ_ONLY_STYLE = exports.MENU_PREFIX = exports.AGGRID_TOOLPANEL_COLUMNS = exports.AGGRID_TOOLPANEL_FILTERS = exports.ADAPTABLE_TOOLPANEL_COMPONENT = exports.ADAPTABLE_TOOLPANEL_ID = exports.ADAPTABLE = exports.ADAPTABLE_ID = exports.USER_NAME = exports.DARK_THEME = exports.LIGHT_THEME = exports.DEFAULT_LAYOUT = exports.MISSING_COLUMN = exports.AUTOGENERATED_PK_COLUMN = void 0;
4
+ exports.THEME_STYLE = exports.SELECTED_ROWS_REPORT = exports.SELECTED_CELLS_REPORT = exports.CURRENT_DATA_REPORT = exports.ALL_DATA_REPORT = exports.VISUAL_DATA_REPORT = exports.SYSTEM_THEMES = exports.SMART_EDIT_MATH_OPERATION_STATE_PROPERTY = exports.SMART_EDIT_VALUE_STATE_PROPERTY = void 0;
5
5
  const Enums_1 = require("../../PredefinedConfig/Common/Enums");
6
6
  const UIHelper_1 = require("../../View/UIHelper");
7
7
  exports.AUTOGENERATED_PK_COLUMN = '__ADAPTABLE_PK__';
@@ -53,6 +53,8 @@ exports.SYSTEM_DEFAULT_SYSTEM_STATUS_TYPE = 'Info';
53
53
  exports.THEME_DEFAULT_CURRENT_THEME = exports.LIGHT_THEME;
54
54
  // Live Report Throttle Time (used in OpenFin, IPushPull, Glue42 etc.)
55
55
  exports.DEFAULT_LIVE_REPORT_THROTTLE_TIME = 2000;
56
+ exports.SERVER_VALIDATION_HEADER = 'Server Validation Message';
57
+ exports.SERVER_VALIDATION_MESSAGE_TYPE = 'Info';
56
58
  /**
57
59
  * Object Factory
58
60
  */
@@ -105,6 +105,7 @@ exports.DefaultAdaptableOptions = {
105
105
  position: 'pinnedLeft',
106
106
  autoHandle: true,
107
107
  setPrimaryKeyValue: undefined,
108
+ disableInlineEditing: false,
108
109
  actionRowFormOptions: {
109
110
  formTitle: undefined,
110
111
  formDescription: undefined,
@@ -31,6 +31,25 @@ const convertAdaptableStyleToCSS = (style) => {
31
31
  if (style.BorderColor !== undefined && style.BorderColor !== null) {
32
32
  result.borderColor = style.BorderColor;
33
33
  }
34
+ if (style.BorderRadius !== undefined && style.BorderRadius !== null) {
35
+ const preparedRadious = typeof style.BorderRadius === 'number' ? `${style.BorderRadius}px` : style.BorderRadius;
36
+ result.borderRadius = preparedRadious;
37
+ }
38
+ if (style.TextDecoration !== undefined && style.TextDecoration !== null) {
39
+ switch (style.TextDecoration) {
40
+ case 'None':
41
+ break;
42
+ case 'Underline':
43
+ result.textDecoration = 'underline';
44
+ break;
45
+ case 'Overline':
46
+ result.textDecoration = 'overline';
47
+ break;
48
+ case 'LineThrough':
49
+ result.textDecoration = 'line-through';
50
+ break;
51
+ }
52
+ }
34
53
  // assertion added to comply with the ag-Grid types
35
54
  return result;
36
55
  };
@@ -25,7 +25,7 @@ import { NotificationsOptions } from '../AdaptableOptions/NotificationsOptions';
25
25
  import { CellSummmary } from '../PredefinedConfig/Common/CellSummary';
26
26
  import { AdaptableTheme, ChartDefinition, ColumnFilter, CustomDisplayFormatterContext, FlashingCellDefinition, GridDataChangedInfo, SystemFilterPredicateId } from '../types';
27
27
  import { IRowNode } from '@ag-grid-community/core';
28
- import { AdaptableApi } from '../../types';
28
+ import { AdaptableApi, BadgeStyleDefinition } from '../../types';
29
29
  import { ToastOptions } from '../components/Toastify';
30
30
  import { StyledColumn } from '../PredefinedConfig/StyledColumnState';
31
31
  export declare function CreateEmptyCustomSort(): CustomSort;
@@ -64,6 +64,7 @@ export declare function CreateSystemStatusMessageInfo(message: string, type: Ada
64
64
  export declare function CreateEmptyCellSummmary(): CellSummmary;
65
65
  export declare function CreateColumnFilter(ColumnId: string, PredicateId: SystemFilterPredicateId, Inputs: any[]): ColumnFilter;
66
66
  export declare function CreateEmptyStyledColumn(): StyledColumn;
67
+ export declare function CreateDefaultStyledColumnBadge(): BadgeStyleDefinition;
67
68
  export declare function CreateEmptyChartDefinition(chartDefinition?: ChartDefinition): ChartDefinition;
68
69
  export declare function CreateCustomDisplayFormatterContext(value: any, node: IRowNode, abColumn: AdaptableColumn, api: AdaptableApi): CustomDisplayFormatterContext;
69
70
  export declare function CreateEmptyTheme(name?: string): AdaptableTheme;
@@ -110,6 +111,7 @@ export declare const ObjectFactory: {
110
111
  CreateToastOptions: typeof CreateToastOptions;
111
112
  CreateCustomDisplayFormatterContext: typeof CreateCustomDisplayFormatterContext;
112
113
  CreateEmptyStyledColumn: typeof CreateEmptyStyledColumn;
114
+ CreateDefaultStyledColumnBadge: typeof CreateDefaultStyledColumnBadge;
113
115
  CreateEmptyChartDefinition: typeof CreateEmptyChartDefinition;
114
116
  CreateEmptyTheme: typeof CreateEmptyTheme;
115
117
  };
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ObjectFactory = exports.CreateToastOptions = exports.CreateEmptyTheme = exports.CreateCustomDisplayFormatterContext = exports.CreateEmptyChartDefinition = exports.CreateEmptyStyledColumn = exports.CreateColumnFilter = exports.CreateEmptyCellSummmary = exports.CreateSystemStatusMessageInfo = exports.CreateEmptyStyle = exports.CreateEmptyLayout = exports.CreateEmptyFreeTextColumn = exports.CreateEmptyFormatColumn = exports.CreateEmptyShortcut = exports.CreateEmptySchedule = exports.CreateReportSchedule = exports.CreateGlue42Schedule = exports.CreateIPushPullSchedule = exports.CreateEmptyOpenFinSchedule = exports.CreateEmptyGlue42Schedule = exports.CreateEmptyIPushPullSchedule = exports.CreateEmptyOpenFinReport = exports.CreateEmptyGlue42Report = exports.CreateEmptyIPushPullReport = exports.CreateEmptyReportSchedule = exports.CreateEmptyReminderSchedule = exports.CreateEmptyBaseSchedule = exports.CreateServerReport = exports.CreateEmptyReport = exports.CreateInternalAlertDefinitionForMessages = exports.CreateEmptyFlashingCellDefinition = exports.CreateEmptyAlertDefinition = exports.CreateRowChangedAlert = exports.CreateCellChangedAlert = exports.CreateGenericAlert = exports.CreateEmptyPlusMinusNudge = exports.CreateEmptyNamedQuery = exports.CreateEmptyCalculatedColumn = exports.CreateEmptyCustomSort = void 0;
3
+ exports.ObjectFactory = exports.CreateToastOptions = exports.CreateEmptyTheme = exports.CreateCustomDisplayFormatterContext = exports.CreateEmptyChartDefinition = exports.CreateDefaultStyledColumnBadge = exports.CreateEmptyStyledColumn = exports.CreateColumnFilter = exports.CreateEmptyCellSummmary = exports.CreateSystemStatusMessageInfo = exports.CreateEmptyStyle = exports.CreateEmptyLayout = exports.CreateEmptyFreeTextColumn = exports.CreateEmptyFormatColumn = exports.CreateEmptyShortcut = exports.CreateEmptySchedule = exports.CreateReportSchedule = exports.CreateGlue42Schedule = exports.CreateIPushPullSchedule = exports.CreateEmptyOpenFinSchedule = exports.CreateEmptyGlue42Schedule = exports.CreateEmptyIPushPullSchedule = exports.CreateEmptyOpenFinReport = exports.CreateEmptyGlue42Report = exports.CreateEmptyIPushPullReport = exports.CreateEmptyReportSchedule = exports.CreateEmptyReminderSchedule = exports.CreateEmptyBaseSchedule = exports.CreateServerReport = exports.CreateEmptyReport = exports.CreateInternalAlertDefinitionForMessages = exports.CreateEmptyFlashingCellDefinition = exports.CreateEmptyAlertDefinition = exports.CreateRowChangedAlert = exports.CreateCellChangedAlert = exports.CreateGenericAlert = exports.CreateEmptyPlusMinusNudge = exports.CreateEmptyNamedQuery = exports.CreateEmptyCalculatedColumn = exports.CreateEmptyCustomSort = void 0;
4
4
  const Enums_1 = require("../PredefinedConfig/Common/Enums");
5
5
  const GeneralConstants_1 = require("./Constants/GeneralConstants");
6
6
  const Uuid_1 = require("../PredefinedConfig/Uuid");
7
7
  const Toastify_1 = require("../components/Toastify");
8
+ const UIHelper_1 = require("../View/UIHelper");
8
9
  function CreateEmptyCustomSort() {
9
10
  return { Uuid: (0, Uuid_1.createUuid)(), ColumnId: GeneralConstants_1.EMPTY_STRING, SortedValues: [] };
10
11
  }
@@ -363,9 +364,20 @@ function CreateEmptyStyledColumn() {
363
364
  return {
364
365
  Uuid: (0, Uuid_1.createUuid)(),
365
366
  ColumnId: GeneralConstants_1.EMPTY_STRING,
367
+ IncludeGroupedRows: false,
366
368
  };
367
369
  }
368
370
  exports.CreateEmptyStyledColumn = CreateEmptyStyledColumn;
371
+ function CreateDefaultStyledColumnBadge() {
372
+ return {
373
+ Style: {
374
+ BackColor: (0, UIHelper_1.getHexForName)(UIHelper_1.LIGHT_GRAY),
375
+ ForeColor: (0, UIHelper_1.getHexForName)(UIHelper_1.BLACK),
376
+ BorderRadius: 6,
377
+ },
378
+ };
379
+ }
380
+ exports.CreateDefaultStyledColumnBadge = CreateDefaultStyledColumnBadge;
369
381
  function CreateEmptyChartDefinition(chartDefinition) {
370
382
  return Object.assign({ Uuid: (0, Uuid_1.createUuid)() }, chartDefinition);
371
383
  }
@@ -478,6 +490,7 @@ exports.ObjectFactory = {
478
490
  CreateToastOptions,
479
491
  CreateCustomDisplayFormatterContext,
480
492
  CreateEmptyStyledColumn,
493
+ CreateDefaultStyledColumnBadge,
481
494
  CreateEmptyChartDefinition,
482
495
  CreateEmptyTheme,
483
496
  };
@@ -27,11 +27,13 @@ class EntitlementService {
27
27
  let adaptableOptions = this.adaptableApi.optionsApi.getAdaptableOptions();
28
28
  let entitlementOptions = adaptableOptions.entitlementOptions;
29
29
  if (entitlementOptions) {
30
+ const defaultAccessLevelContext = {
31
+ userName: adaptableOptions.userName,
32
+ adaptableId: adaptableOptions.adaptableId,
33
+ adaptableApi: this.adaptableApi
34
+ };
30
35
  const defaultAccessLevel = typeof entitlementOptions.defaultAccessLevel === 'function'
31
- ? entitlementOptions.defaultAccessLevel({
32
- userName: adaptableOptions.userName,
33
- adaptableId: adaptableOptions.adaptableId,
34
- })
36
+ ? entitlementOptions.defaultAccessLevel(defaultAccessLevelContext)
35
37
  : entitlementOptions.defaultAccessLevel;
36
38
  const moduleEntitlements = entitlementOptions.moduleEntitlements;
37
39
  if (moduleEntitlements) {
@@ -41,6 +43,7 @@ class EntitlementService {
41
43
  userName: adaptableOptions.userName,
42
44
  adaptableId: adaptableOptions.adaptableId,
43
45
  defaultAccessLevel,
46
+ adaptableApi: this.adaptableApi
44
47
  };
45
48
  const dynamicModuleEntitlement = moduleEntitlements(entitlementContext);
46
49
  return dynamicModuleEntitlement !== null && dynamicModuleEntitlement !== void 0 ? dynamicModuleEntitlement : defaultAccessLevel;
@@ -6,6 +6,7 @@ const ArrayExtensions_1 = require("../Extensions/ArrayExtensions");
6
6
  const StringExtensions_1 = tslib_1.__importDefault(require("../Extensions/StringExtensions"));
7
7
  const ModuleConstants_1 = require("../Constants/ModuleConstants");
8
8
  const ObjectFactory_1 = tslib_1.__importDefault(require("../ObjectFactory"));
9
+ const GeneralConstants_1 = require("../Constants/GeneralConstants");
9
10
  class ValidationService {
10
11
  constructor(adaptableApi) {
11
12
  this.adaptableApi = adaptableApi;
@@ -72,10 +73,14 @@ class ValidationService {
72
73
  }, false);
73
74
  }
74
75
  performServerValidation(cellDataChangedInfo, config) {
76
+ const serverValidationContext = {
77
+ cellDataChangedInfo: cellDataChangedInfo,
78
+ adaptableApi: this.adaptableApi,
79
+ };
75
80
  return () => {
76
81
  this.adaptableApi.optionsApi
77
82
  .getEditOptions()
78
- .validateOnServer(cellDataChangedInfo)
83
+ .validateOnServer(serverValidationContext)
79
84
  .then((validationResult) => {
80
85
  var _a, _b;
81
86
  if (validationResult.NewValue === undefined) {
@@ -94,7 +99,13 @@ class ValidationService {
94
99
  this.adaptableApi.gridApi.updateGridData([row]);
95
100
  if (StringExtensions_1.default.IsNotNullOrEmpty(validationResult.ValidationMessage) &&
96
101
  this.adaptableApi.optionsApi.getEditOptions().displayServerValidationMessages) {
97
- this.adaptableApi.alertApi.showAlertInfo('Server Validation Message', validationResult.ValidationMessage);
102
+ const validationHeader = validationResult.ValidationHeader
103
+ ? validationResult.ValidationHeader
104
+ : GeneralConstants_1.SERVER_VALIDATION_HEADER;
105
+ const messageType = validationResult.MessageType
106
+ ? validationResult.MessageType
107
+ : GeneralConstants_1.SERVER_VALIDATION_MESSAGE_TYPE;
108
+ this.adaptableApi.alertApi.showAlert(validationHeader, validationResult.ValidationMessage, messageType);
98
109
  }
99
110
  }
100
111
  config.onServerValidationCompleted();
@@ -146,7 +146,7 @@ const AlertButtonsEditor = (props) => {
146
146
  "Tone:",
147
147
  ' ',
148
148
  StringExtensions_1.default.CapitaliseFirstLetter((_b = buttonStyle === null || buttonStyle === void 0 ? void 0 : buttonStyle.tone) !== null && _b !== void 0 ? _b : 'Use alert tone'))),
149
- React.createElement(SimpleButton_1.default, { icon: "clear", tone: "error", disabled: AlertButtons.length <= 1, marginLeft: 1, variant: "text", tooltip: AlertButtons.length <= 1 ? 'Cannot remove last button' : 'Remove button', onClick: () => {
149
+ React.createElement(SimpleButton_1.default, { icon: "close", tone: "error", disabled: AlertButtons.length <= 1, marginLeft: 1, variant: "text", tooltip: AlertButtons.length <= 1 ? 'Cannot remove last button' : 'Remove button', onClick: () => {
150
150
  onChange(AlertButtons.filter((btn) => btn !== button));
151
151
  } }))),
152
152
  React.createElement(FormLayout_1.FormRow, { label: React.createElement(rebass_1.Text, { fontSize: 2 }, "Actions") },
@@ -18,7 +18,7 @@ const ShowChartButton = (props) => {
18
18
  return (React.createElement(SimpleButton_1.default, { "data-name": "close-chart-button", onClick: closeChart, variant: "text", tone: "error", icon: "visibility-off", tooltip: "Hide Chart" }));
19
19
  }
20
20
  if (!(chartContainers === null || chartContainers === void 0 ? void 0 : chartContainers.length)) {
21
- return (React.createElement(SimpleButton_1.default, { "data-name": "show-chart-button", onClick: () => showChart(), variant: "text", tone: "success", icon: "visibility", tooltip: "Show Chart" }));
21
+ return (React.createElement(SimpleButton_1.default, { "data-name": "show-chart-button", onClick: () => showChart(), variant: "text", tone: "success", icon: "visibility-on", tooltip: "Show Chart" }));
22
22
  }
23
23
  const containerOptions = [
24
24
  {
@@ -71,7 +71,7 @@ const AdaptableObjectListItemView = (props) => {
71
71
  React.createElement(rebass_1.Flex, { justifyContent: "end" },
72
72
  props.actions,
73
73
  props.teamSharingActivated && (React.createElement(ButtonShare_1.ButtonShare, { iconSize: ICON_SIZE, Header: `TeamSharing ${props.entityType}`, accessLevel: props.accessLevel, onShare: props.onShare })),
74
- props.onDelete && (React.createElement(SimpleButton_1.default, { "data-name": "delete", disabled: props.deleteDisabled, iconSize: ICON_SIZE, tooltip: props.deleteTooltip, icon: "trash", onClick: props.onDelete, variant: "text" })),
74
+ props.onDelete && (React.createElement(SimpleButton_1.default, { "data-name": "delete", disabled: props.deleteDisabled, iconSize: ICON_SIZE, tooltip: props.deleteTooltip, icon: "delete", onClick: props.onDelete, variant: "text" })),
75
75
  props.deleteAction && deleteActionButton,
76
76
  props.showEditButton && (React.createElement(ButtonEdit_1.ButtonEdit, { iconSize: ICON_SIZE, disabled: props.editDisabled, accessLevel: props.accessLevel, onClick: () => props.handleOnEdit() }))),
77
77
  React.createElement(rebass_1.Box, { flex: 1 }),
@@ -6,7 +6,7 @@ const React = tslib_1.__importStar(require("react"));
6
6
  const SimpleButton_1 = tslib_1.__importDefault(require("../../../components/SimpleButton"));
7
7
  class ButtonClear extends React.Component {
8
8
  render() {
9
- return (React.createElement(SimpleButton_1.default, Object.assign({ "data-name": "clear", tooltip: "Clear", iconSize: 20, icon: this.props.showIcon == false ? '' : 'clear' }, this.props, { variant: "text" }), this.props.showText ? 'Clear' : ''));
9
+ return (React.createElement(SimpleButton_1.default, Object.assign({ "data-name": "clear", tooltip: "Clear", iconSize: 20, icon: this.props.showIcon == false ? '' : 'close' }, this.props, { variant: "text" }), this.props.showText ? 'Clear' : ''));
10
10
  }
11
11
  }
12
12
  exports.ButtonClear = ButtonClear;
@@ -6,7 +6,7 @@ const React = tslib_1.__importStar(require("react"));
6
6
  const SimpleButton_1 = tslib_1.__importDefault(require("../../../components/SimpleButton"));
7
7
  class ButtonClose extends React.Component {
8
8
  render() {
9
- return (React.createElement(SimpleButton_1.default, Object.assign({ "data-name": "close", tooltip: "Close", iconSize: 20, icon: "clear" }, this.props, { variant: "text" })));
9
+ return (React.createElement(SimpleButton_1.default, Object.assign({ "data-name": "close", tooltip: "Close", iconSize: 20, icon: "close" }, this.props, { variant: "text" })));
10
10
  }
11
11
  }
12
12
  exports.ButtonClose = ButtonClose;
@@ -6,7 +6,7 @@ const React = tslib_1.__importStar(require("react"));
6
6
  const SimpleButton_1 = tslib_1.__importDefault(require("../../../components/SimpleButton"));
7
7
  class ButtonConfigure extends React.Component {
8
8
  render() {
9
- return (React.createElement(SimpleButton_1.default, Object.assign({ "data-name": "configure", tooltip: "Configure", iconSize: 18, icon: "build" }, this.props, { variant: "text" })));
9
+ return (React.createElement(SimpleButton_1.default, Object.assign({ "data-name": "configure", tooltip: "Configure", iconSize: 18, icon: "spanner" }, this.props, { variant: "text" })));
10
10
  }
11
11
  }
12
12
  exports.ButtonConfigure = ButtonConfigure;
@@ -10,7 +10,7 @@ class ButtonDeleteComponent extends React.Component {
10
10
  render() {
11
11
  var _a, _b;
12
12
  const _c = this.props, { onConfirmWarning, ConfirmAction, ConfirmationMsg, ConfirmationTitle, onClickAction } = _c, props = tslib_1.__rest(_c, ["onConfirmWarning", "ConfirmAction", "ConfirmationMsg", "ConfirmationTitle", "onClickAction"]);
13
- return (React.createElement(SimpleButton_1.default, Object.assign({ "data-name": "delete", tooltip: (_a = props.tooltip) !== null && _a !== void 0 ? _a : 'Delete', variant: "text", icon: "trash", iconSize: (_b = props.iconSize) !== null && _b !== void 0 ? _b : 24 }, props, { onClick: () => this.onClick() })));
13
+ return (React.createElement(SimpleButton_1.default, Object.assign({ "data-name": "delete", tooltip: (_a = props.tooltip) !== null && _a !== void 0 ? _a : 'Delete', variant: "text", icon: "delete", iconSize: (_b = props.iconSize) !== null && _b !== void 0 ? _b : 24 }, props, { onClick: () => this.onClick() })));
14
14
  }
15
15
  onClick() {
16
16
  if (this.props.ConfirmAction) {