@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,6 +14,7 @@ const Tag_1 = require("../../../components/Tag");
14
14
  const ObjectExtensions_1 = require("../../../Utilities/Extensions/ObjectExtensions");
15
15
  const StringExtensions_1 = require("../../../Utilities/Extensions/StringExtensions");
16
16
  const AdaptableInput_1 = tslib_1.__importDefault(require("../../Components/AdaptableInput"));
17
+ const UIHelper_1 = require("../../UIHelper");
17
18
  const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
18
19
  const CommonProperties = (props) => {
19
20
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7;
@@ -54,7 +55,7 @@ const CommonProperties = (props) => {
54
55
  React.createElement(Tabs_1.Tabs.Content, null,
55
56
  React.createElement(FormLayout_1.default, null,
56
57
  React.createElement(FormLayout_1.FormRow, { label: "Axis Type" },
57
- React.createElement(DropdownButton_1.default, { columns: ['label'], items: axisTypeOptions }, (_k = (_j = axisTypeOptions.find((option) => { var _a, _b, _c; return option.value === ((_c = (_b = (_a = data === null || data === void 0 ? void 0 : data.SparkLineStyle) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.axis) === null || _c === void 0 ? void 0 : _c.type); })) === null || _j === void 0 ? void 0 : _j.label) !== null && _k !== void 0 ? _k : 'Select Type')),
58
+ React.createElement(DropdownButton_1.default, { columns: ['label'], items: axisTypeOptions }, (_k = (_j = axisTypeOptions.find((option) => { var _a, _b, _c; return option.value === ((_c = (_b = (_a = data === null || data === void 0 ? void 0 : data.SparkLineStyle) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.axis) === null || _c === void 0 ? void 0 : _c.type); })) === null || _j === void 0 ? void 0 : _j.label) !== null && _k !== void 0 ? _k : 'Select Axis Type')),
58
59
  React.createElement(FormLayout_1.FormRow, { label: "Stroke Color" },
59
60
  React.createElement(ColorPicker_1.ColorPicker, { api: api, value: (_p = (_o = (_m = (_l = data.SparkLineStyle) === null || _l === void 0 ? void 0 : _l.options) === null || _m === void 0 ? void 0 : _m.axis) === null || _o === void 0 ? void 0 : _o.stroke) !== null && _p !== void 0 ? _p : '#fff', onChange: (color) => props.onOptionChange(['axis', 'stroke'], color) })),
60
61
  React.createElement(FormLayout_1.FormRow, { label: "Stroke Width" },
@@ -64,9 +65,9 @@ const CommonProperties = (props) => {
64
65
  React.createElement(FormLayout_1.FormRow, { label: "Size" },
65
66
  React.createElement(AdaptableInput_1.default, { type: "number", value: (_w = (_v = (_u = data.SparkLineStyle) === null || _u === void 0 ? void 0 : _u.options) === null || _v === void 0 ? void 0 : _v.highlightStyle) === null || _w === void 0 ? void 0 : _w.size, onChange: (event) => props.onOptionChange(['highlightStyle', 'size'], parseFloat(event.target.value)) })),
66
67
  React.createElement(FormLayout_1.FormRow, { label: "Fill" },
67
- React.createElement(ColorPicker_1.ColorPicker, { api: api, value: (_0 = (_z = (_y = (_x = data.SparkLineStyle) === null || _x === void 0 ? void 0 : _x.options) === null || _y === void 0 ? void 0 : _y.highlightStyle) === null || _z === void 0 ? void 0 : _z.fill) !== null && _0 !== void 0 ? _0 : 'yellow', onChange: (color) => props.onOptionChange(['highlightStyle', 'fill'], color) })),
68
+ React.createElement(ColorPicker_1.ColorPicker, { api: api, value: (_0 = (_z = (_y = (_x = data.SparkLineStyle) === null || _x === void 0 ? void 0 : _x.options) === null || _y === void 0 ? void 0 : _y.highlightStyle) === null || _z === void 0 ? void 0 : _z.fill) !== null && _0 !== void 0 ? _0 : UIHelper_1.YELLOW, onChange: (color) => props.onOptionChange(['highlightStyle', 'fill'], color) })),
68
69
  React.createElement(FormLayout_1.FormRow, { label: "Stroke" },
69
- React.createElement(ColorPicker_1.ColorPicker, { api: api, value: (_4 = (_3 = (_2 = (_1 = data.SparkLineStyle) === null || _1 === void 0 ? void 0 : _1.options) === null || _2 === void 0 ? void 0 : _2.highlightStyle) === null || _3 === void 0 ? void 0 : _3.stroke) !== null && _4 !== void 0 ? _4 : 'silver', onChange: (color) => props.onOptionChange(['highlightStyle', 'stroke'], color) })),
70
+ React.createElement(ColorPicker_1.ColorPicker, { api: api, value: (_4 = (_3 = (_2 = (_1 = data.SparkLineStyle) === null || _1 === void 0 ? void 0 : _1.options) === null || _2 === void 0 ? void 0 : _2.highlightStyle) === null || _3 === void 0 ? void 0 : _3.stroke) !== null && _4 !== void 0 ? _4 : UIHelper_1.LIGHT_GRAY, onChange: (color) => props.onOptionChange(['highlightStyle', 'stroke'], color) })),
70
71
  React.createElement(FormLayout_1.FormRow, { label: "Stroke Width" },
71
72
  React.createElement(AdaptableInput_1.default, { type: "number", value: (_7 = (_6 = (_5 = data.SparkLineStyle) === null || _5 === void 0 ? void 0 : _5.options) === null || _6 === void 0 ? void 0 : _6.highlightStyle) === null || _7 === void 0 ? void 0 : _7.strokeWidth, onChange: (event) => props.onOptionChange(['highlightStyle', 'strokeWidth'], parseFloat(event.target.value)) }))))));
72
73
  };
@@ -80,9 +81,9 @@ const SparklineMarkerProperties = (props) => {
80
81
  React.createElement(FormLayout_1.FormRow, { label: "Size" },
81
82
  React.createElement(AdaptableInput_1.default, { type: "number", value: (_d = (_c = sparklineOptions === null || sparklineOptions === void 0 ? void 0 : sparklineOptions.marker) === null || _c === void 0 ? void 0 : _c.size) !== null && _d !== void 0 ? _d : 0, onChange: (event) => props.onOptionChange(['marker', 'size'], parseFloat(event.target.value)) })),
82
83
  React.createElement(FormLayout_1.FormRow, { label: "Fill" },
83
- React.createElement(ColorPicker_1.ColorPicker, { api: api, value: (_f = (_e = sparklineOptions === null || sparklineOptions === void 0 ? void 0 : sparklineOptions.marker) === null || _e === void 0 ? void 0 : _e.fill) !== null && _f !== void 0 ? _f : 'rgb(124, 181, 236)', onChange: (color) => props.onOptionChange(['marker', 'fill'], color) })),
84
+ React.createElement(ColorPicker_1.ColorPicker, { api: api, value: (_f = (_e = sparklineOptions === null || sparklineOptions === void 0 ? void 0 : sparklineOptions.marker) === null || _e === void 0 ? void 0 : _e.fill) !== null && _f !== void 0 ? _f : UIHelper_1.LIGHT_BLUE, onChange: (color) => props.onOptionChange(['marker', 'fill'], color) })),
84
85
  React.createElement(FormLayout_1.FormRow, { label: "Stroke" },
85
- React.createElement(ColorPicker_1.ColorPicker, { api: api, value: (_h = (_g = sparklineOptions === null || sparklineOptions === void 0 ? void 0 : sparklineOptions.marker) === null || _g === void 0 ? void 0 : _g.stroke) !== null && _h !== void 0 ? _h : 'rgb(124, 181, 236)', onChange: (color) => props.onOptionChange(['marker', 'stroke'], color) })),
86
+ React.createElement(ColorPicker_1.ColorPicker, { api: api, value: (_h = (_g = sparklineOptions === null || sparklineOptions === void 0 ? void 0 : sparklineOptions.marker) === null || _g === void 0 ? void 0 : _g.stroke) !== null && _h !== void 0 ? _h : UIHelper_1.LIGHT_BLUE, onChange: (color) => props.onOptionChange(['marker', 'stroke'], color) })),
86
87
  React.createElement(FormLayout_1.FormRow, { label: "Stroke Width" },
87
88
  React.createElement(AdaptableInput_1.default, { type: "number", value: (_k = (_j = sparklineOptions === null || sparklineOptions === void 0 ? void 0 : sparklineOptions.marker) === null || _j === void 0 ? void 0 : _j.strokeWidth) !== null && _k !== void 0 ? _k : 1, onChange: (event) => props.onOptionChange(['marker', 'strokeWidth'], parseFloat(event.target.value)) }))));
88
89
  };
@@ -92,7 +93,7 @@ const SparklineLineProperties = (props) => {
92
93
  const sparklineOptions = data.SparkLineStyle.options;
93
94
  return (React.createElement(FormLayout_1.default, null,
94
95
  React.createElement(FormLayout_1.FormRow, { label: "Stroke" },
95
- React.createElement(ColorPicker_1.ColorPicker, { api: api, value: (_b = (_a = sparklineOptions === null || sparklineOptions === void 0 ? void 0 : sparklineOptions.line) === null || _a === void 0 ? void 0 : _a.stroke) !== null && _b !== void 0 ? _b : 'rgb(124, 181, 236)', onChange: (color) => props.onOptionChange(['line', 'stroke'], color) })),
96
+ React.createElement(ColorPicker_1.ColorPicker, { api: api, value: (_b = (_a = sparklineOptions === null || sparklineOptions === void 0 ? void 0 : sparklineOptions.line) === null || _a === void 0 ? void 0 : _a.stroke) !== null && _b !== void 0 ? _b : UIHelper_1.LIGHT_BLUE, onChange: (color) => props.onOptionChange(['line', 'stroke'], color) })),
96
97
  React.createElement(FormLayout_1.FormRow, { label: "Stroke Width" },
97
98
  React.createElement(AdaptableInput_1.default, { type: "number", value: (_c = sparklineOptions === null || sparklineOptions === void 0 ? void 0 : sparklineOptions.line) === null || _c === void 0 ? void 0 : _c.strokeWidth, onChange: (event) => props.onOptionChange(['line', 'strokeWidth'], parseFloat(event.target.value)) }))));
98
99
  };
@@ -134,7 +135,7 @@ const CrossHairsProperties = (props) => {
134
135
  React.createElement(FormLayout_1.FormRow, { label: "Show" },
135
136
  React.createElement(CheckBox_1.CheckBox, { checked: (_c = (_b = (_a = sparklineOptions === null || sparklineOptions === void 0 ? void 0 : sparklineOptions.crosshairs) === null || _a === void 0 ? void 0 : _a[key]) === null || _b === void 0 ? void 0 : _b.enabled) !== null && _c !== void 0 ? _c : true, onChange: (checked) => props.onOptionChange(['crosshairs', key, 'enabled'], checked) })),
136
137
  React.createElement(FormLayout_1.FormRow, { label: "Stroke" },
137
- React.createElement(ColorPicker_1.ColorPicker, { api: api, value: (_f = (_e = (_d = sparklineOptions === null || sparklineOptions === void 0 ? void 0 : sparklineOptions.crosshairs) === null || _d === void 0 ? void 0 : _d[key]) === null || _e === void 0 ? void 0 : _e.stroke) !== null && _f !== void 0 ? _f : 'rgba(0,0,0, 0.54)', onChange: (color) => props.onOptionChange(['crosshairs', key, 'stroke'], color) })),
138
+ React.createElement(ColorPicker_1.ColorPicker, { api: api, value: (_f = (_e = (_d = sparklineOptions === null || sparklineOptions === void 0 ? void 0 : sparklineOptions.crosshairs) === null || _d === void 0 ? void 0 : _d[key]) === null || _e === void 0 ? void 0 : _e.stroke) !== null && _f !== void 0 ? _f : UIHelper_1.BLACK, onChange: (color) => props.onOptionChange(['crosshairs', key, 'stroke'], color) })),
138
139
  React.createElement(FormLayout_1.FormRow, { label: "Stroke Width" },
139
140
  React.createElement(AdaptableInput_1.default, { type: "number", value: (_j = (_h = (_g = sparklineOptions === null || sparklineOptions === void 0 ? void 0 : sparklineOptions.crosshairs) === null || _g === void 0 ? void 0 : _g[key]) === null || _h === void 0 ? void 0 : _h.strokeWidth) !== null && _j !== void 0 ? _j : 1, onChange: (event) => props.onOptionChange(['crosshairs', key, 'strokeWidth'], event.target.value) })),
140
141
  React.createElement(FormLayout_1.FormRow, { label: "Line Dash" },
@@ -162,7 +163,7 @@ const TypeAreaProperties = (props) => {
162
163
  React.createElement(Tabs_1.Tabs.Content, null,
163
164
  React.createElement(FormLayout_1.default, null,
164
165
  React.createElement(FormLayout_1.FormRow, { label: "Stroke" },
165
- React.createElement(ColorPicker_1.ColorPicker, { api: api, value: (_a = sparklineOptions === null || sparklineOptions === void 0 ? void 0 : sparklineOptions.fill) !== null && _a !== void 0 ? _a : 'rgba(124, 181, 236, 0.25)', onChange: (color) => props.onOptionChange(['fill'], color) })))),
166
+ React.createElement(ColorPicker_1.ColorPicker, { api: api, value: (_a = sparklineOptions === null || sparklineOptions === void 0 ? void 0 : sparklineOptions.fill) !== null && _a !== void 0 ? _a : UIHelper_1.LIGHT_BLUE, onChange: (color) => props.onOptionChange(['fill'], color) })))),
166
167
  React.createElement(Tabs_1.Tabs.Content, null,
167
168
  React.createElement(SparklineLineProperties, { onOptionChange: props.onOptionChange })),
168
169
  React.createElement(Tabs_1.Tabs.Content, null,
@@ -191,9 +192,9 @@ const TypeColumnBarProperties = (props) => {
191
192
  React.createElement(Tabs_1.Tabs.Content, null,
192
193
  React.createElement(FormLayout_1.default, null,
193
194
  React.createElement(FormLayout_1.FormRow, { label: "Fill" },
194
- React.createElement(ColorPicker_1.ColorPicker, { api: api, value: (_a = sparklineOptions === null || sparklineOptions === void 0 ? void 0 : sparklineOptions.fill) !== null && _a !== void 0 ? _a : 'rgb(124, 181, 236)', onChange: (color) => props.onOptionChange(['fill'], color) })),
195
+ React.createElement(ColorPicker_1.ColorPicker, { api: api, value: (_a = sparklineOptions === null || sparklineOptions === void 0 ? void 0 : sparklineOptions.fill) !== null && _a !== void 0 ? _a : UIHelper_1.LIGHT_BLUE, onChange: (color) => props.onOptionChange(['fill'], color) })),
195
196
  React.createElement(FormLayout_1.FormRow, { label: "Stroke" },
196
- React.createElement(ColorPicker_1.ColorPicker, { api: api, value: (_b = sparklineOptions === null || sparklineOptions === void 0 ? void 0 : sparklineOptions.stroke) !== null && _b !== void 0 ? _b : 'silver', onChange: (color) => props.onOptionChange(['stroke'], color) })),
197
+ React.createElement(ColorPicker_1.ColorPicker, { api: api, value: (_b = sparklineOptions === null || sparklineOptions === void 0 ? void 0 : sparklineOptions.stroke) !== null && _b !== void 0 ? _b : UIHelper_1.LIGHT_GRAY, onChange: (color) => props.onOptionChange(['stroke'], color) })),
197
198
  React.createElement(FormLayout_1.FormRow, { label: "Stroke Width" },
198
199
  React.createElement(AdaptableInput_1.default, { type: "number", value: (_c = sparklineOptions === null || sparklineOptions === void 0 ? void 0 : sparklineOptions.strokeWidth) !== null && _c !== void 0 ? _c : 1, onChange: (event) => props.onOptionChange(['strokeWidth'], event.target.value) })),
199
200
  React.createElement(FormLayout_1.FormRow, { label: "Padding Inner" },
@@ -232,9 +233,9 @@ const SparklineObjectNumberArrayProperties = (props) => {
232
233
  }, [data]);
233
234
  return (React.createElement(React.Fragment, null,
234
235
  React.createElement(FormLayout_1.FormRow, { label: "X Key" },
235
- React.createElement(Input_1.default, { onChange: (event) => props.onOptionChange(['xKey'], event.target.value), value: (_a = sparkLineOptions.xKey) !== null && _a !== void 0 ? _a : 'x' })),
236
+ React.createElement(Input_1.default, { onChange: (event) => props.onOptionChange(['xKey'], event.target.value), value: (_a = sparkLineOptions === null || sparkLineOptions === void 0 ? void 0 : sparkLineOptions.xKey) !== null && _a !== void 0 ? _a : 'x' })),
236
237
  React.createElement(FormLayout_1.FormRow, { label: "Y Key" },
237
- React.createElement(Input_1.default, { onChange: (event) => props.onOptionChange(['yKey'], event.target.value), value: (_b = sparkLineOptions.yKey) !== null && _b !== void 0 ? _b : 'y' })),
238
+ React.createElement(Input_1.default, { onChange: (event) => props.onOptionChange(['yKey'], event.target.value), value: (_b = sparkLineOptions === null || sparkLineOptions === void 0 ? void 0 : sparkLineOptions.yKey) !== null && _b !== void 0 ? _b : 'y' })),
238
239
  sparklineDataItem && (React.createElement(FormLayout_1.FormRow, { label: "Preview" },
239
240
  React.createElement(Tag_1.Tag, null, sparklineDataItem)))));
240
241
  };
@@ -262,8 +263,8 @@ const StyledColumnSparklineSettingsSection = (props) => {
262
263
  React.createElement(Tabs_1.Tabs.Tab, null, "Settings"),
263
264
  React.createElement(Tabs_1.Tabs.Content, null,
264
265
  React.createElement(FormLayout_1.default, null,
265
- React.createElement(FormLayout_1.FormRow, { label: "Type" },
266
- React.createElement(DropdownButton_1.default, { columns: ['label'], items: sparklineTypeOptions }, (_c = (_b = sparklineTypeOptions.find((option) => { var _a; return option.value === ((_a = data.SparkLineStyle.options) === null || _a === void 0 ? void 0 : _a.type); })) === null || _b === void 0 ? void 0 : _b.label) !== null && _c !== void 0 ? _c : 'Select Type')),
266
+ React.createElement(FormLayout_1.FormRow, { label: "Sparkline Type" },
267
+ React.createElement(DropdownButton_1.default, { columns: ['label'], items: sparklineTypeOptions }, (_c = (_b = sparklineTypeOptions.find((option) => { var _a; return option.value === ((_a = data.SparkLineStyle.options) === null || _a === void 0 ? void 0 : _a.type); })) === null || _b === void 0 ? void 0 : _b.label) !== null && _c !== void 0 ? _c : 'Select Sparkline Type')),
267
268
  isObjectNumberArray && (React.createElement(SparklineObjectNumberArrayProperties, { onOptionChange: handleOptionChange }))))),
268
269
  React.createElement(CommonProperties, { onOptionChange: handleOptionChange }),
269
270
  (() => {
@@ -16,6 +16,7 @@ const Helper_1 = require("../../../Utilities/Helpers/Helper");
16
16
  const StyledColumnWizardSettingsSection_1 = require("./StyledColumnWizardSettingsSection");
17
17
  const StyledColumnSparklineSettingsSection_1 = require("./StyledColumnSparklineSettingsSection");
18
18
  const ObjectTagsWizardSection_1 = require("../../Wizard/ObjectTagsWizardSection");
19
+ const StyledColumnBadgeSection_1 = require("./StyledColumnBadgeSection");
19
20
  const StyledColumnWizard = (props) => {
20
21
  var _a, _b, _c, _d, _e, _f;
21
22
  const data = (_a = props.data) !== null && _a !== void 0 ? _a : (_b = props.popupParams) === null || _b === void 0 ? void 0 : _b.value;
@@ -40,8 +41,27 @@ const StyledColumnWizard = (props) => {
40
41
  }
41
42
  props.onFinishWizard(styledColumn);
42
43
  };
43
- const checkboxGrandientPercentSteps = [
44
- {
44
+ const AdditionalSettingSection = {
45
+ details: 'Apply Additional Settings',
46
+ renderSummary: StyledColumnWizardSettingsSection_1.renderStyledColumnWizardSettingsSummary,
47
+ render: () => {
48
+ return (React.createElement(rebass_1.Box, { padding: 2 },
49
+ React.createElement(StyledColumnWizardSettingsSection_1.StyledColumnWizardSettingsSection, { onChange: setStyledColumn })));
50
+ },
51
+ title: 'Settings',
52
+ };
53
+ const specificSteps = [];
54
+ if (styledColumn.SparkLineStyle) {
55
+ specificSteps.push({
56
+ title: 'Settings',
57
+ render: () => (React.createElement(rebass_1.Box, { p: 2 },
58
+ React.createElement(StyledColumnSparklineSettingsSection_1.StyledColumnSparklineSettingsSection, { onChange: setStyledColumn }))),
59
+ });
60
+ }
61
+ else if (styledColumn.CheckBoxStyle ||
62
+ styledColumn.GradientStyle ||
63
+ styledColumn.PercentBarStyle) {
64
+ specificSteps.push({
45
65
  details: 'Create the Style to apply',
46
66
  renderSummary: StyledColumnWizardStyleSection_1.renderStyledColumnStyleSummary,
47
67
  render: () => {
@@ -49,31 +69,34 @@ const StyledColumnWizard = (props) => {
49
69
  React.createElement(StyledColumnWizardStyleSection_1.StyledColumnWizardStyleSection, { onChange: setStyledColumn })));
50
70
  },
51
71
  title: 'Style',
52
- },
53
- {
54
- details: 'Apply additional Settings',
55
- renderSummary: StyledColumnWizardSettingsSection_1.renderStyledColumnWizardSettingsSummary,
56
- render: () => {
57
- return (React.createElement(rebass_1.Box, { padding: 2 },
58
- React.createElement(StyledColumnWizardSettingsSection_1.StyledColumnWizardSettingsSection, { onChange: setStyledColumn })));
72
+ }, AdditionalSettingSection);
73
+ }
74
+ else if (styledColumn.BadgeStyle) {
75
+ specificSteps.push({
76
+ title: 'Badges',
77
+ details: 'Create Badge Styles',
78
+ isValid: () => {
79
+ var _a;
80
+ if (((_a = styledColumn.BadgeStyle.Badges) === null || _a === void 0 ? void 0 : _a.length) === 0) {
81
+ return 'Define at least one Badge';
82
+ }
83
+ if (styledColumn.BadgeStyle.Badges.filter((badge) => !badge.Predicate).length > 1) {
84
+ return 'Only one Badge can have no Predicate';
85
+ }
86
+ return true;
59
87
  },
60
- title: 'Settings',
61
- },
62
- ];
63
- const sparklineSteps = [
64
- {
65
- title: 'Settings',
88
+ renderSummary: () => (0, StyledColumnBadgeSection_1.renderBadgeSummary)(styledColumn),
66
89
  render: () => (React.createElement(rebass_1.Box, { p: 2 },
67
- React.createElement(StyledColumnSparklineSettingsSection_1.StyledColumnSparklineSettingsSection, { onChange: setStyledColumn }))),
68
- },
69
- ];
90
+ React.createElement(StyledColumnBadgeSection_1.StyledColumnBadgeSection, { onChange: setStyledColumn }))),
91
+ });
92
+ specificSteps.push(AdditionalSettingSection);
93
+ }
70
94
  return (React.createElement(OnePageAdaptableWizard_1.OnePageAdaptableWizard, { defaultCurrentSectionName: defaultCurrentSectionName, moduleInfo: props.moduleInfo, data: styledColumn, onFinish: handleFinish, onHide: props.onCloseWizard, sections: [
71
95
  {
72
96
  details: 'Select a Styled Column type',
73
97
  renderSummary: StyledColumnWizardTypeSection_1.renderStyledColumnTypeSummary,
74
98
  render: () => {
75
- return (React.createElement(rebass_1.Box, { padding: 2 },
76
- React.createElement(StyledColumnWizardTypeSection_1.StyledColumnWizardTypeSection, { onChange: setStyledColumn })));
99
+ return React.createElement(StyledColumnWizardTypeSection_1.StyledColumnWizardTypeSection, { onChange: setStyledColumn });
77
100
  },
78
101
  title: 'Type',
79
102
  },
@@ -87,7 +110,7 @@ const StyledColumnWizard = (props) => {
87
110
  },
88
111
  title: 'Column',
89
112
  },
90
- ...(styledColumn.SparkLineStyle ? sparklineSteps : checkboxGrandientPercentSteps),
113
+ ...specificSteps,
91
114
  {
92
115
  details: 'Select Format Column Tags',
93
116
  title: 'Tags',
@@ -28,15 +28,23 @@ exports.isValidStyledColumnColumn = isValidStyledColumnColumn;
28
28
  const StyledColumnWizardColumnSection = (props) => {
29
29
  const { data, api } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
30
30
  const sortableCols = React.useMemo(() => {
31
- const sortableColumns = data.CheckBoxStyle
32
- ? api.columnApi.getBooleanColumns()
33
- : data.SparkLineStyle
34
- ? [
35
- ...api.columnApi.getNumberArrayColumns(),
36
- ...api.columnApi.getTupleNumberArrayColumns(),
37
- ...api.columnApi.getObjectNumberArrayColumns(),
38
- ]
39
- : api.columnApi.getNumericColumns();
31
+ let sortableColumns = [];
32
+ if (data.CheckBoxStyle) {
33
+ sortableColumns = api.columnApi.getBooleanColumns();
34
+ }
35
+ else if (data.SparkLineStyle) {
36
+ sortableColumns = [
37
+ ...api.columnApi.getNumberArrayColumns(),
38
+ ...api.columnApi.getTupleNumberArrayColumns(),
39
+ ...api.columnApi.getObjectNumberArrayColumns(),
40
+ ];
41
+ }
42
+ else if (data.BadgeStyle) {
43
+ sortableColumns = [...api.columnApi.getNumericColumns(), ...api.columnApi.getStringColumns()];
44
+ }
45
+ else {
46
+ sortableColumns = api.columnApi.getNumericColumns();
47
+ }
40
48
  const styledColumns = api.styledColumnApi.getStyledColumns();
41
49
  const usedColumnIds = styledColumns
42
50
  .map((styledColumn) => {
@@ -27,7 +27,7 @@ const StyledColumnWizardSettingsSection = (props) => {
27
27
  props.onChange(Object.assign(Object.assign({}, data), { IncludeGroupedRows }));
28
28
  };
29
29
  return (React.createElement(Tabs_1.Tabs, null,
30
- React.createElement(Tabs_1.Tabs.Tab, null, "Format"),
30
+ React.createElement(Tabs_1.Tabs.Tab, null, "Settings"),
31
31
  React.createElement(Tabs_1.Tabs.Content, null,
32
32
  React.createElement(rebass_1.Flex, { flexDirection: "row" },
33
33
  React.createElement(FormLayout_1.default, null,
@@ -0,0 +1,5 @@
1
+ import * as React from 'react';
2
+ import { StyledColumn } from '../../../../../types';
3
+ export declare const StyledColumnBadgePreview: React.FunctionComponent<React.PropsWithChildren<{
4
+ data: StyledColumn;
5
+ }>>;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StyledColumnBadgePreview = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const React = tslib_1.__importStar(require("react"));
6
+ const rebass_1 = require("rebass");
7
+ const Badge_1 = require("../../../../../components/Badge");
8
+ const Tag_1 = require("../../../../../components/Tag");
9
+ const AdaptableContext_1 = require("../../../../AdaptableContext");
10
+ const StyledColumnBadgePreview = ({ data }) => {
11
+ const adaptable = (0, AdaptableContext_1.useAdaptable)();
12
+ const badgeStyle = data.BadgeStyle;
13
+ if (!badgeStyle || badgeStyle.Badges.length === 0) {
14
+ return React.createElement("div", null, "No Badges Defined");
15
+ }
16
+ let value = 'Hello world';
17
+ if (adaptable.api.columnApi.getColumnDataTypeForColumnId(data.ColumnId) === 'Number') {
18
+ value = '12345';
19
+ }
20
+ return (React.createElement(rebass_1.Flex, { flexDirection: "column" }, badgeStyle.Badges.map((badge, index) => {
21
+ const predicateStr = badge.Predicate
22
+ ? adaptable.api.predicateApi.predicateToString(badge.Predicate)
23
+ : 'No Predicate';
24
+ return (React.createElement(rebass_1.Box, { mb: 1, key: index },
25
+ React.createElement(Badge_1.Badge, { icon: badge.Icon, adaptableStyle: badge.Style, iconPosition: badge.IconPosition }, value),
26
+ React.createElement(Tag_1.Tag, { ml: 2 }, predicateStr)));
27
+ })));
28
+ };
29
+ exports.StyledColumnBadgePreview = StyledColumnBadgePreview;
@@ -16,6 +16,8 @@ const UIHelper_1 = require("../../../UIHelper");
16
16
  const OnePageAdaptableWizard_1 = require("../../../Wizard/OnePageAdaptableWizard");
17
17
  const PercentBarColumnComparisonPreview_1 = require("./Components/PercentBarColumnComparisonPreview");
18
18
  const PercentBarRangesPreview_1 = require("./Components/PercentBarRangesPreview");
19
+ const DropdownButton_1 = tslib_1.__importDefault(require("../../../../components/DropdownButton"));
20
+ const ArrayExtensions_1 = tslib_1.__importDefault(require("../../../../Utilities/Extensions/ArrayExtensions"));
19
21
  const renderFormatColumnStyleWizardSummary = (data) => {
20
22
  const { api } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
21
23
  return (0, exports.renderStyledColumnStyleSummary)(data, api);
@@ -83,7 +85,7 @@ const renderStyledColumnStyleSummary = (data, api) => {
83
85
  };
84
86
  exports.renderStyledColumnStyleSummary = renderStyledColumnStyleSummary;
85
87
  const StyledColumnWizardStyleSection = (props) => {
86
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
88
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
87
89
  const { data, api } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
88
90
  const minMaxRangeValues = React.useMemo(() => {
89
91
  const columnId = data.ColumnId;
@@ -157,6 +159,9 @@ const StyledColumnWizardStyleSection = (props) => {
157
159
  }
158
160
  props.onChange(Object.assign(Object.assign({}, data), { PercentBarStyle: percentBarStyle }));
159
161
  };
162
+ const handlePercentBarCellTextPositionChange = (percentBarPosition) => {
163
+ props.onChange(Object.assign(Object.assign({}, data), { PercentBarStyle: Object.assign(Object.assign({}, data.PercentBarStyle), { CellTextPosition: percentBarPosition }) }));
164
+ };
160
165
  const onPercentBarToolTipTextCellValueChanged = (checked) => {
161
166
  let percentBarStyle = data === null || data === void 0 ? void 0 : data.PercentBarStyle;
162
167
  if (checked) {
@@ -247,17 +252,32 @@ const StyledColumnWizardStyleSection = (props) => {
247
252
  "Percent Value",
248
253
  ' '),
249
254
  ' '),
255
+ React.createElement(FormLayout_1.FormRow, { label: "Cell Display Position:" },
256
+ React.createElement(DropdownButton_1.default, { disabled: ArrayExtensions_1.default.IsNullOrEmpty(data.PercentBarStyle.CellText) || disabled, columns: ['label'], items: [
257
+ {
258
+ label: 'Above Bar',
259
+ onClick: () => handlePercentBarCellTextPositionChange('Above'),
260
+ },
261
+ {
262
+ label: 'Below Bar',
263
+ onClick: () => handlePercentBarCellTextPositionChange('Below'),
264
+ },
265
+ {
266
+ label: 'Merged',
267
+ onClick: () => handlePercentBarCellTextPositionChange('Merged'),
268
+ },
269
+ ] }, (_m = (_l = data.PercentBarStyle) === null || _l === void 0 ? void 0 : _l.CellTextPosition) !== null && _m !== void 0 ? _m : 'Below')),
250
270
  React.createElement(FormLayout_1.FormRow, { label: "ToolTip Display:" },
251
- React.createElement(CheckBox_1.CheckBox, { disabled: disabled, marginLeft: 2, checked: (_m = (_l = data === null || data === void 0 ? void 0 : data.PercentBarStyle) === null || _l === void 0 ? void 0 : _l.ToolTipText) === null || _m === void 0 ? void 0 : _m.includes('CellValue'), onChange: (checked) => onPercentBarToolTipTextCellValueChanged(checked) }, "Cell Value"),
271
+ React.createElement(CheckBox_1.CheckBox, { disabled: disabled, marginLeft: 2, checked: (_p = (_o = data === null || data === void 0 ? void 0 : data.PercentBarStyle) === null || _o === void 0 ? void 0 : _o.ToolTipText) === null || _p === void 0 ? void 0 : _p.includes('CellValue'), onChange: (checked) => onPercentBarToolTipTextCellValueChanged(checked) }, "Cell Value"),
252
272
  ' ',
253
- React.createElement(CheckBox_1.CheckBox, { disabled: disabled, marginLeft: 3, checked: (_p = (_o = data === null || data === void 0 ? void 0 : data.PercentBarStyle) === null || _o === void 0 ? void 0 : _o.ToolTipText) === null || _p === void 0 ? void 0 : _p.includes('PercentageValue'), onChange: (checked) => onPercentBarToolTipTextPercentValueChanged(checked) },
273
+ React.createElement(CheckBox_1.CheckBox, { disabled: disabled, marginLeft: 3, checked: (_r = (_q = data === null || data === void 0 ? void 0 : data.PercentBarStyle) === null || _q === void 0 ? void 0 : _q.ToolTipText) === null || _r === void 0 ? void 0 : _r.includes('PercentageValue'), onChange: (checked) => onPercentBarToolTipTextPercentValueChanged(checked) },
254
274
  "Percent Value",
255
275
  ' '),
256
276
  ' '),
257
277
  React.createElement(FormLayout_1.FormRow, { label: `Back ${api.internalApi.getCorrectEnglishVariant('Colour')}` },
258
278
  React.createElement(rebass_1.Flex, { alignItems: "center", marginLeft: 2 },
259
- React.createElement(CheckBox_1.CheckBox, { disabled: disabled, checked: !!((_q = data.PercentBarStyle) === null || _q === void 0 ? void 0 : _q.BackColor), onChange: (checked) => onUsePercentStyleColorCheckChanged(checked), mr: 2 }),
260
- ((_r = data.PercentBarStyle) === null || _r === void 0 ? void 0 : _r.BackColor) !== undefined && (React.createElement(ColorPicker_1.ColorPicker, { disabled: disabled, api: api, value: (_s = data.PercentBarStyle) === null || _s === void 0 ? void 0 : _s.BackColor, onChange: (x) => onForeColorSelectChange(x) }))))))),
279
+ React.createElement(CheckBox_1.CheckBox, { disabled: disabled, checked: !!((_s = data.PercentBarStyle) === null || _s === void 0 ? void 0 : _s.BackColor), onChange: (checked) => onUsePercentStyleColorCheckChanged(checked), mr: 2 }),
280
+ ((_t = data.PercentBarStyle) === null || _t === void 0 ? void 0 : _t.BackColor) !== undefined && (React.createElement(ColorPicker_1.ColorPicker, { disabled: disabled, api: api, value: (_u = data.PercentBarStyle) === null || _u === void 0 ? void 0 : _u.BackColor, onChange: (x) => onForeColorSelectChange(x) }))))))),
261
281
  !data.ColumnId && React.createElement(ErrorBox_1.default, { mt: 2 }, "You need to select a column before styling.")));
262
282
  };
263
283
  exports.StyledColumnWizardStyleSection = StyledColumnWizardStyleSection;
@@ -6,6 +6,7 @@ const React = tslib_1.__importStar(require("react"));
6
6
  const rebass_1 = require("rebass");
7
7
  const Tabs_1 = require("../../../components/Tabs");
8
8
  const Tag_1 = require("../../../components/Tag");
9
+ const ObjectFactory_1 = tslib_1.__importDefault(require("../../../Utilities/ObjectFactory"));
9
10
  const AdaptableContext_1 = require("../../AdaptableContext");
10
11
  const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
11
12
  const TypeRadio_1 = require("../../Wizard/TypeRadio");
@@ -23,6 +24,9 @@ const renderStyledColumnTypeSummary = (data) => {
23
24
  else if (data.SparkLineStyle) {
24
25
  type = 'Spark Line';
25
26
  }
27
+ else if (data.BadgeStyle) {
28
+ type = 'Badge';
29
+ }
26
30
  return (React.createElement(rebass_1.Text, { pr: 2, py: 2 },
27
31
  "Type ",
28
32
  React.createElement(Tag_1.Tag, null, type)));
@@ -37,6 +41,7 @@ const StyledColumnWizardTypeSection = (props) => {
37
41
  delete newStyledColumn.PercentBarStyle;
38
42
  delete newStyledColumn.CheckBoxStyle;
39
43
  delete newStyledColumn.SparkLineStyle;
44
+ delete newStyledColumn.BadgeStyle;
40
45
  switch (type) {
41
46
  case 'gradient':
42
47
  newStyledColumn.GradientStyle = {};
@@ -54,6 +59,11 @@ const StyledColumnWizardTypeSection = (props) => {
54
59
  },
55
60
  };
56
61
  break;
62
+ case 'badge':
63
+ newStyledColumn.BadgeStyle = {
64
+ Badges: [ObjectFactory_1.default.CreateDefaultStyledColumnBadge()],
65
+ };
66
+ break;
57
67
  }
58
68
  newStyledColumn.ColumnId = null;
59
69
  props.onChange(newStyledColumn);
@@ -62,9 +72,10 @@ const StyledColumnWizardTypeSection = (props) => {
62
72
  React.createElement(Tabs_1.Tabs, { autoFocus: false, padding: 2 },
63
73
  React.createElement(Tabs_1.Tabs.Tab, null, "Type"),
64
74
  React.createElement(Tabs_1.Tabs.Content, null,
65
- React.createElement(TypeRadio_1.TypeRadio, { text: "Gradient Column", description: "Colour each cell in a numeric column using a gradient value", checked: Boolean(data.GradientStyle), onClick: () => handleTypeChange('gradient') }),
66
- React.createElement(TypeRadio_1.TypeRadio, { text: "Percent Bar", description: "Display a coloured bar where the width is based on the cell", checked: Boolean(data.PercentBarStyle), onClick: () => handleTypeChange('percent') }),
67
- React.createElement(TypeRadio_1.TypeRadio, { text: "Check Box", description: "Display a checkbox (in a Boolean column)", checked: Boolean(data.CheckBoxStyle), onClick: () => handleTypeChange('checkbox') }),
68
- adaptable.api.styledColumnApi.canDisplaySparklines() && (React.createElement(TypeRadio_1.TypeRadio, { text: "Sparkline", description: "Render the column as a Sparkline", checked: Boolean(data.SparkLineStyle), onClick: () => handleTypeChange('sparkline') }))))));
75
+ React.createElement(TypeRadio_1.TypeRadio, { text: "Gradient", description: "Colour each cell in the column using a gradient value (Numeric Columns)", checked: Boolean(data.GradientStyle), onClick: () => handleTypeChange('gradient') }),
76
+ React.createElement(TypeRadio_1.TypeRadio, { text: "Percent Bar", description: "Display a coloured bar where the width is based on the cell (Numeric Columns)", checked: Boolean(data.PercentBarStyle), onClick: () => handleTypeChange('percent') }),
77
+ React.createElement(TypeRadio_1.TypeRadio, { text: "Check Box", description: "Display a checkbox (Boolean Columns)", checked: Boolean(data.CheckBoxStyle), onClick: () => handleTypeChange('checkbox') }),
78
+ adaptable.api.styledColumnApi.canDisplaySparklines() && (React.createElement(TypeRadio_1.TypeRadio, { text: "Sparkline", description: "Render the column as a Sparkline (Numeric Array Columns)", checked: Boolean(data.SparkLineStyle), onClick: () => handleTypeChange('sparkline') })),
79
+ React.createElement(TypeRadio_1.TypeRadio, { text: "Badge", description: "Display the column's values as Badges (All Columns)", checked: Boolean(data.BadgeStyle), onClick: () => handleTypeChange('badge') })))));
69
80
  };
70
81
  exports.StyledColumnWizardTypeSection = StyledColumnWizardTypeSection;
@@ -142,7 +142,7 @@ const ThemeEditor = (props) => {
142
142
  const saveNameDisabled = !nameHasChanged || nameIsNotUnique || currentThemeObject.Name === '';
143
143
  return (React.createElement(Panel_1.default, { header: React.createElement(rebass_1.Flex, { alignItems: "center", width: "100%" },
144
144
  React.createElement(rebass_1.Box, { flex: 1 }, " Edit Custom Theme"),
145
- React.createElement(SimpleButton_1.default, { "data-name": "delete", disabled: props.accessLevel !== 'Full', icon: "trash", onClick: handleDeleteTheme, variant: "text" })) },
145
+ React.createElement(SimpleButton_1.default, { "data-name": "delete", disabled: props.accessLevel !== 'Full', icon: "delete", onClick: handleDeleteTheme, variant: "text" })) },
146
146
  React.createElement(FormLayout_1.default, null,
147
147
  React.createElement(FormLayout_1.FormRow, { label: "Theme Name" },
148
148
  React.createElement(AdaptableInput_1.default, { mr: 2, onChange: (event) => setCurrentThemeObject(Object.assign(Object.assign({}, currentThemeObject), { Name: event.target.value.replace(/ /g, '-') })), value: (_a = currentThemeObject.Name) !== null && _a !== void 0 ? _a : '' }),
@@ -101,6 +101,7 @@ export declare class Adaptable implements IAdaptable {
101
101
  private listenerPivotModeChanged;
102
102
  private listenerPivotChanged;
103
103
  private listenerColumnRowGroupChanged;
104
+ private listenerCellEditingStarted;
104
105
  private listenerColumnResized;
105
106
  private listenerRangeSelectionChanged;
106
107
  private listenerSortChanged;
@@ -162,6 +163,11 @@ export declare class Adaptable implements IAdaptable {
162
163
  updateColumnsIntoStore(): void;
163
164
  private createAdaptableColumn;
164
165
  private safeSetColDefs;
166
+ /**
167
+ * The combination of styled column and format cells
168
+ * This functiond decides when the two can be merged.
169
+ */
170
+ private getFormatColumnAndStyledColumnCellStyle;
165
171
  private getStyledColumnStyle;
166
172
  private getFormatColumnAdaptableStyle;
167
173
  private getFormatColumnCellStyle;
@@ -188,7 +194,7 @@ export declare class Adaptable implements IAdaptable {
188
194
  setColumnOrder(VisibleColumnList: string[]): void;
189
195
  private persistLayout;
190
196
  setLayout(layout?: Layout): void;
191
- private updateRowGroupsExpandedState;
197
+ updateRowGroupsExpandedState(layout?: Layout): void;
192
198
  private updateLayoutFromGrid;
193
199
  setSelectedCells(): SelectedCellInfo | undefined;
194
200
  setSelectedRows(): SelectedRowInfo | undefined;
@@ -235,6 +241,9 @@ export declare class Adaptable implements IAdaptable {
235
241
  includeGroupRows?: boolean;
236
242
  filterFn?: (rowNode: IRowNode) => boolean;
237
243
  }): IRowNode[];
244
+ getGroupRowNodes(config?: {
245
+ filterFn?: (rowNode: IRowNode) => boolean;
246
+ }): IRowNode[];
238
247
  getRowsInViewport(): IRowNode[];
239
248
  selectNodes(rowNodes: IRowNode[], clearSelection: boolean): void;
240
249
  deSelectNodes(rowNodes: IRowNode[], clearSelection: boolean): void;