dtable-statistic 4.2.2 → 4.3.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 (219) hide show
  1. package/es/api/dtable-db-api.js +31 -37
  2. package/es/calculator/base-calculator.js +49 -99
  3. package/es/calculator/basic-chart-calculator.js +335 -559
  4. package/es/calculator/combination-calculator.js +231 -299
  5. package/es/calculator/compare-bar-calculator.js +184 -281
  6. package/es/calculator/completeness-calculator.js +203 -288
  7. package/es/calculator/copy-value.js +18 -18
  8. package/es/calculator/dashboard-calculator.js +68 -137
  9. package/es/calculator/heat-map-calculator.js +139 -220
  10. package/es/calculator/horizontal-bar-calculator.js +64 -93
  11. package/es/calculator/index.js +53 -69
  12. package/es/calculator/map-calculator.js +98 -174
  13. package/es/calculator/mirror-calculator.js +137 -216
  14. package/es/calculator/number-card-calculator.js +58 -126
  15. package/es/calculator/pivot-table-calculator.js +750 -792
  16. package/es/calculator/scatter-calculator.js +72 -140
  17. package/es/calculator/thread-manager.js +48 -67
  18. package/es/calculator/trend-calculator.js +107 -191
  19. package/es/calculator/workers/basic-chart-calculator-worker.js +194 -165
  20. package/es/calculator/workers/calculator.worker.js +22 -6
  21. package/es/calculator/workers/card-calculator-worker.js +16 -14
  22. package/es/calculator/workers/combination-calculator-worker.js +128 -135
  23. package/es/calculator/workers/compare-bar-chart-calculator-worker.js +80 -96
  24. package/es/calculator/workers/completeness-calculator-worker.js +56 -49
  25. package/es/calculator/workers/dashboard-calculator-worker.js +24 -22
  26. package/es/calculator/workers/mirror-calculator-worker.js +52 -52
  27. package/es/calculator/workers/pivot-table-calculator-worker.js +247 -230
  28. package/es/calculator/workers/scatter-calculator-worker.js +34 -32
  29. package/es/calculator/workers/trend-calculator-worker.js +33 -29
  30. package/es/calculator/world-map-calculator.js +120 -197
  31. package/es/components/common-add-tool.js +7 -5
  32. package/es/components/dialog/chart-addition-edit-dialog.js +67 -77
  33. package/es/components/dialog/chart-addition-widgets/chart-selector.js +57 -67
  34. package/es/components/dialog/color-theme-dialog.js +34 -47
  35. package/es/components/dialog/delete-confirmation-dialog.js +7 -5
  36. package/es/components/dialog/enlarged-chart-dialog.js +68 -81
  37. package/es/components/dialog/new-table-dialog.js +62 -80
  38. package/es/components/dialog/new-view-dialog.js +50 -62
  39. package/es/components/dialog/rename-view-dialog.js +49 -58
  40. package/es/components/dialog/statistic-record-dialog/index.js +233 -231
  41. package/es/components/dialog/statistic-types-dialog/index.js +40 -49
  42. package/es/components/dialog/table-select-dialog.js +61 -70
  43. package/es/components/dropdown-menu/statistic-dropdown-menu.js +129 -142
  44. package/es/components/dtable-popover.js +62 -81
  45. package/es/components/dtable-search-input.js +89 -99
  46. package/es/components/dtable-select.js +55 -74
  47. package/es/components/icon.js +5 -3
  48. package/es/components/loading.js +1 -1
  49. package/es/components/modal-portal.js +15 -32
  50. package/es/components/popover/color-rules/color-rule.js +137 -141
  51. package/es/components/popover/color-rules/index.js +58 -66
  52. package/es/components/popover/color-rules/rule-filters/filter.js +124 -124
  53. package/es/components/popover/color-rules/rule-filters/index.js +50 -58
  54. package/es/components/popover/color-rules/rule-filters/number-input.js +42 -57
  55. package/es/components/popover/color-rules-popover.js +117 -121
  56. package/es/components/popover/color-selector-popover.js +60 -70
  57. package/es/components/seatable-radio/index.js +2 -2
  58. package/es/components/select/option-group.js +139 -157
  59. package/es/components/select/option.js +26 -40
  60. package/es/components/select/select.js +97 -112
  61. package/es/components/toast/alert.js +65 -80
  62. package/es/components/toast/index.js +1 -1
  63. package/es/components/toast/toast.js +76 -103
  64. package/es/components/toast/toastManager.js +57 -93
  65. package/es/components/toast/toaster.js +58 -56
  66. package/es/constants/color-rules.js +8 -5
  67. package/es/constants/dtable-select-style.js +44 -48
  68. package/es/constants/event-types.js +4 -4
  69. package/es/constants/index.js +328 -242
  70. package/es/constants/map.js +2 -2
  71. package/es/constants/model.js +20 -20
  72. package/es/constants/regions.js +1 -1
  73. package/es/constants/zIndexes.js +1 -1
  74. package/es/custom-g2.js +11 -11
  75. package/es/dashboard.js +343 -333
  76. package/es/desktop-dashboard.js +217 -224
  77. package/es/index.js +45 -58
  78. package/es/locale/index.js +3 -3
  79. package/es/locale/lang/de.js +1 -1
  80. package/es/locale/lang/en.js +7 -7
  81. package/es/locale/lang/fr.js +1 -1
  82. package/es/locale/lang/zh_CN.js +1 -1
  83. package/es/mobile-dashboard.js +76 -89
  84. package/es/model/bar-group.js +34 -44
  85. package/es/model/bar.js +26 -36
  86. package/es/model/base-model.js +11 -12
  87. package/es/model/basic-number-card.js +10 -20
  88. package/es/model/collaborators.js +10 -11
  89. package/es/model/combination.js +32 -42
  90. package/es/model/compare-bar.js +30 -40
  91. package/es/model/completeness-group.js +19 -29
  92. package/es/model/completeness.js +14 -24
  93. package/es/model/custom-bar.js +14 -24
  94. package/es/model/dashboard.js +9 -19
  95. package/es/model/generic-model.js +187 -197
  96. package/es/model/heat-map.js +16 -26
  97. package/es/model/horizontal-bar-group.js +32 -42
  98. package/es/model/horizontal-bar.js +26 -36
  99. package/es/model/index.js +31 -3
  100. package/es/model/map.js +20 -30
  101. package/es/model/mirror.js +15 -25
  102. package/es/model/pie.js +21 -31
  103. package/es/model/ring.js +23 -33
  104. package/es/model/scatter.js +11 -21
  105. package/es/model/statistic-dashboard.js +7 -8
  106. package/es/model/table.js +19 -29
  107. package/es/model/trend.js +15 -25
  108. package/es/model/world-map.js +17 -27
  109. package/es/service/chart-service.js +69 -65
  110. package/es/service/dashboard-service.js +421 -419
  111. package/es/service/map-json.js +112 -132
  112. package/es/stat-editor/chart-name-editor.js +44 -58
  113. package/es/stat-editor/index.js +59 -70
  114. package/es/stat-editor/stat-settings/advance-chart-settings/basic-number-card-settings.js +93 -98
  115. package/es/stat-editor/stat-settings/advance-chart-settings/combination-settings.js +246 -248
  116. package/es/stat-editor/stat-settings/advance-chart-settings/dashboard-chart-settings.js +127 -126
  117. package/es/stat-editor/stat-settings/advance-chart-settings/geo-granularity-settings.js +5 -3
  118. package/es/stat-editor/stat-settings/advance-chart-settings/heat-map-settings.js +78 -90
  119. package/es/stat-editor/stat-settings/advance-chart-settings/index.js +146 -150
  120. package/es/stat-editor/stat-settings/advance-chart-settings/map-settings.js +88 -98
  121. package/es/stat-editor/stat-settings/advance-chart-settings/mirror-settings.js +100 -118
  122. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/combination-style-setting.js +161 -148
  123. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/heat-map-settings.js +58 -66
  124. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/map-setting.js +58 -60
  125. package/es/stat-editor/stat-settings/advance-chart-settings/summary-settings.js +152 -148
  126. package/es/stat-editor/stat-settings/advance-chart-settings/trend-chart-settings.js +101 -105
  127. package/es/stat-editor/stat-settings/advance-chart-settings/world-map-settings.js +81 -91
  128. package/es/stat-editor/stat-settings/basic-chart-settings/advance-bar-chart-settings.js +110 -122
  129. package/es/stat-editor/stat-settings/basic-chart-settings/bar-settings.js +101 -113
  130. package/es/stat-editor/stat-settings/basic-chart-settings/completeness-chart-settings.js +130 -120
  131. package/es/stat-editor/stat-settings/basic-chart-settings/custom-bar-settings.js +88 -102
  132. package/es/stat-editor/stat-settings/basic-chart-settings/groupby-settings.js +88 -102
  133. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-axis-group-settings.js +200 -194
  134. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-bar-settings.js +98 -110
  135. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-group-chart-settings.js +106 -118
  136. package/es/stat-editor/stat-settings/basic-chart-settings/index.js +212 -223
  137. package/es/stat-editor/stat-settings/basic-chart-settings/pie-settings.js +109 -119
  138. package/es/stat-editor/stat-settings/basic-chart-settings/pivot-table-settings.js +329 -319
  139. package/es/stat-editor/stat-settings/basic-chart-settings/scatter-settings.js +82 -90
  140. package/es/stat-editor/stat-settings/basic-chart-settings/stack-item-settings.js +58 -65
  141. package/es/stat-editor/stat-settings/basic-chart-settings/stacks-settings.js +126 -116
  142. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/bar-chart-style-setting.js +201 -182
  143. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/completeness-style.js +79 -79
  144. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/horizontal-bar-chart-style.js +196 -175
  145. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/label-font-size-editor.js +35 -50
  146. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/pie-chart-style-settings.js +180 -147
  147. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/time-compare-style.js +31 -40
  148. package/es/stat-editor/stat-settings/basic-chart-settings/summary-method-setting.js +56 -67
  149. package/es/stat-editor/stat-settings/basic-chart-settings/summary-settings.js +60 -69
  150. package/es/stat-editor/stat-settings/basic-chart-settings/time-comparison-settings.js +165 -158
  151. package/es/stat-editor/stat-settings/basic-chart-settings/timer-picker.js +61 -74
  152. package/es/stat-editor/stat-settings/basic-chart-settings/y-axis-group-settings.js +199 -193
  153. package/es/stat-editor/stat-settings/color-setting/color-group-selector.js +25 -38
  154. package/es/stat-editor/stat-settings/color-setting/color-picker.js +79 -86
  155. package/es/stat-editor/stat-settings/color-setting/color-use-type-selector.js +138 -120
  156. package/es/stat-editor/stat-settings/map/map-level.js +31 -43
  157. package/es/stat-editor/stat-settings/map/map-province-city.js +82 -83
  158. package/es/stat-editor/stat-settings/public-setting/axis-label-position-setting.js +48 -50
  159. package/es/stat-editor/stat-settings/public-setting/base-settings.js +96 -96
  160. package/es/stat-editor/stat-settings/public-setting/calender.js +69 -75
  161. package/es/stat-editor/stat-settings/public-setting/column-settings.js +5 -3
  162. package/es/stat-editor/stat-settings/public-setting/custom-title-setting.js +36 -41
  163. package/es/stat-editor/stat-settings/public-setting/data-sort-setting.js +37 -41
  164. package/es/stat-editor/stat-settings/public-setting/ind-toggle-setting.js +25 -38
  165. package/es/stat-editor/stat-settings/public-setting/min-max-setting.js +40 -52
  166. package/es/stat-editor/stat-settings/public-setting/numeric-summary-item.js +90 -93
  167. package/es/stat-editor/stat-settings/public-setting/toggle-setting.js +23 -36
  168. package/es/stat-editor/stat-settings/public-setting/type-settings/index.js +39 -44
  169. package/es/stat-list/chart-preview.js +85 -98
  170. package/es/stat-list/index.js +170 -178
  171. package/es/stat-view/area-chart.js +282 -274
  172. package/es/stat-view/bar-chart.js +300 -292
  173. package/es/stat-view/base-chart.js +58 -52
  174. package/es/stat-view/basic-number-card.js +115 -168
  175. package/es/stat-view/combination-chart.js +298 -334
  176. package/es/stat-view/compare-chart.js +256 -254
  177. package/es/stat-view/completeness-chart.js +194 -206
  178. package/es/stat-view/custom-bar.js +221 -223
  179. package/es/stat-view/dashboard-chart.js +122 -180
  180. package/es/stat-view/heat-map.js +268 -294
  181. package/es/stat-view/horizontal-bar-chart.js +291 -281
  182. package/es/stat-view/index.js +136 -152
  183. package/es/stat-view/line-chart.js +267 -265
  184. package/es/stat-view/map.js +246 -246
  185. package/es/stat-view/mirror.js +141 -152
  186. package/es/stat-view/pie-chart.js +143 -156
  187. package/es/stat-view/pivot-table/index.js +113 -118
  188. package/es/stat-view/pivot-table/one-dimension-table-no-numeric-columns.js +104 -102
  189. package/es/stat-view/pivot-table/one-dimension-table-with-numeric-columns.js +116 -118
  190. package/es/stat-view/pivot-table/pivot-table-display-name.js +96 -95
  191. package/es/stat-view/pivot-table/two-dimension-table.js +238 -229
  192. package/es/stat-view/ring-chart.js +189 -200
  193. package/es/stat-view/scatter-chart.js +162 -213
  194. package/es/stat-view/treemap-chart.js +136 -200
  195. package/es/stat-view/trend-chart.js +137 -183
  196. package/es/stat-view/world-map.js +233 -243
  197. package/es/tabs/index.js +164 -169
  198. package/es/tabs/tab.js +101 -116
  199. package/es/utils/basic-chart-utils.js +7 -9
  200. package/es/utils/cell-format.js +48 -51
  201. package/es/utils/cell-value.js +1 -1
  202. package/es/utils/collaborator.js +15 -14
  203. package/es/utils/color-utils.js +48 -37
  204. package/es/utils/column-utils.js +47 -33
  205. package/es/utils/column.js +1 -1
  206. package/es/utils/common-utils.js +111 -117
  207. package/es/utils/date-format.js +17 -17
  208. package/es/utils/export-table-utils.js +507 -396
  209. package/es/utils/index.js +6 -6
  210. package/es/utils/map.js +30 -34
  211. package/es/utils/model.js +3 -5
  212. package/es/utils/object.js +4 -4
  213. package/es/utils/pivot-table.js +20 -20
  214. package/es/utils/row-utils.js +41 -33
  215. package/es/utils/search.js +18 -20
  216. package/es/utils/sql-utils.js +132 -98
  217. package/es/utils/stat-utils.js +303 -320
  218. package/es/utils/trend-utils.js +57 -67
  219. package/package.json +2 -2
@@ -1,179 +1,175 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/esm/createClass";
4
- import _inherits from "@babel/runtime/helpers/esm/inherits";
5
- import _createSuper from "@babel/runtime/helpers/esm/createSuper";
6
1
  import React, { Component } from 'react';
7
2
  import classnames from 'classnames';
8
3
  import intl from 'react-intl-universal';
9
4
  import RuleFilters from './rule-filters';
10
5
  import ColorSelectorPopover from '../color-selector-popover';
11
6
  import { CommonAddTool } from '../../index';
12
- var ColorRule = /*#__PURE__*/function (_Component) {
13
- _inherits(ColorRule, _Component);
14
- var _super = _createSuper(ColorRule);
15
- function ColorRule(props) {
16
- var _this;
17
- _classCallCheck(this, ColorRule);
18
- _this = _super.call(this, props);
19
- _this.onColorPopoverToggle = function (event) {
7
+ class ColorRule extends Component {
8
+ constructor(props) {
9
+ super(props);
10
+ this.onColorPopoverToggle = event => {
20
11
  event.stopPropagation();
21
12
  event.nativeEvent.stopImmediatePropagation();
22
- _this.setState({
23
- isColorPopoverShow: !_this.state.isColorPopoverShow
13
+ this.setState({
14
+ isColorPopoverShow: !this.state.isColorPopoverShow
24
15
  });
25
16
  };
26
- _this.hideColorPopover = function () {
27
- _this.setState({
17
+ this.hideColorPopover = () => {
18
+ this.setState({
28
19
  isColorPopoverShow: false
29
20
  });
30
21
  };
31
- _this.onSelectColor = function (color) {
32
- var _this$props = _this.props,
33
- rule = _this$props.rule,
34
- ruleIndex = _this$props.ruleIndex;
35
- var updatedRule = Object.assign({}, rule, {
36
- color: color
22
+ this.onSelectColor = color => {
23
+ const {
24
+ rule,
25
+ ruleIndex
26
+ } = this.props;
27
+ const updatedRule = Object.assign({}, rule, {
28
+ color
37
29
  });
38
- _this.props.updateRule(ruleIndex, updatedRule);
30
+ this.props.updateRule(ruleIndex, updatedRule);
39
31
  };
40
- _this.deleteRule = function (e) {
32
+ this.deleteRule = e => {
41
33
  e.nativeEvent.stopImmediatePropagation();
42
34
  e.stopPropagation();
43
- var ruleIndex = _this.props.ruleIndex;
44
- _this.props.deleteRule(ruleIndex);
35
+ const {
36
+ ruleIndex
37
+ } = this.props;
38
+ this.props.deleteRule(ruleIndex);
45
39
  };
46
- _this.addFilter = function () {
47
- var _this$props2 = _this.props,
48
- colorRuleTypes = _this$props2.colorRuleTypes,
49
- rule = _this$props2.rule;
50
- var filters = rule.filters;
51
- var defaultFilter = _this.props.generateDefaultFilter(colorRuleTypes[0]);
40
+ this.addFilter = () => {
41
+ const {
42
+ colorRuleTypes,
43
+ rule
44
+ } = this.props;
45
+ const {
46
+ filters
47
+ } = rule;
48
+ const defaultFilter = this.props.generateDefaultFilter(colorRuleTypes[0]);
52
49
  if (!defaultFilter || filters.length >= 8) return;
53
- var updatedFilters = _toConsumableArray(filters);
50
+ let updatedFilters = [...filters];
54
51
  updatedFilters.push(defaultFilter);
55
- _this.updateFilters(updatedFilters);
52
+ this.updateFilters(updatedFilters);
56
53
  };
57
- _this.updateFilter = function (filterIndex, updatedFilter) {
58
- var rule = _this.props.rule;
59
- var filters = rule.filters;
60
- var updatedFilters = _toConsumableArray(filters);
54
+ this.updateFilter = (filterIndex, updatedFilter) => {
55
+ const {
56
+ rule
57
+ } = this.props;
58
+ const {
59
+ filters
60
+ } = rule;
61
+ let updatedFilters = [...filters];
61
62
  updatedFilters[filterIndex] = updatedFilter;
62
- _this.updateFilters(updatedFilters);
63
+ this.updateFilters(updatedFilters);
63
64
  };
64
- _this.modifyFilterConjunction = function (filterConjunction) {
65
- var _this$props3 = _this.props,
66
- rule = _this$props3.rule,
67
- ruleIndex = _this$props3.ruleIndex;
68
- var updatedRule = Object.assign({}, rule, {
65
+ this.modifyFilterConjunction = filterConjunction => {
66
+ const {
67
+ rule,
68
+ ruleIndex
69
+ } = this.props;
70
+ const updatedRule = Object.assign({}, rule, {
69
71
  filter_conjunction: filterConjunction
70
72
  });
71
- _this.props.updateRule(ruleIndex, updatedRule);
73
+ this.props.updateRule(ruleIndex, updatedRule);
72
74
  };
73
- _this.updateFilters = function (filters) {
74
- var _this$props4 = _this.props,
75
- rule = _this$props4.rule,
76
- ruleIndex = _this$props4.ruleIndex;
75
+ this.updateFilters = filters => {
76
+ const {
77
+ rule,
78
+ ruleIndex
79
+ } = this.props;
77
80
  if (filters.length === 0) {
78
- _this.props.deleteRule(ruleIndex);
81
+ this.props.deleteRule(ruleIndex);
79
82
  } else {
80
- var updatedRule = Object.assign({}, rule, {
81
- filters: filters
83
+ const updatedRule = Object.assign({}, rule, {
84
+ filters
82
85
  });
83
- _this.props.updateRule(ruleIndex, updatedRule);
86
+ this.props.updateRule(ruleIndex, updatedRule);
84
87
  }
85
88
  };
86
- _this.onMouseDown = function (e) {
89
+ this.onMouseDown = e => {
87
90
  e.stopPropagation();
88
91
  e.nativeEvent.stopImmediatePropagation();
89
92
  };
90
- _this.state = {
93
+ this.state = {
91
94
  isColorPopoverShow: false
92
95
  };
93
- return _this;
94
96
  }
95
- _createClass(ColorRule, [{
96
- key: "render",
97
- value: function render() {
98
- var _this2 = this;
99
- var _this$props5 = this.props,
100
- labelColorConfigs = _this$props5.labelColorConfigs,
101
- colorRuleTypes = _this$props5.colorRuleTypes,
102
- rule = _this$props5.rule,
103
- isEditing = _this$props5.isEditing,
104
- ruleIndex = _this$props5.ruleIndex,
105
- ruleName = _this$props5.ruleName;
106
- var color = rule.color,
107
- filter_conjunction = rule.filter_conjunction,
108
- filters = rule.filters;
109
- var target = "row-color-rule-".concat(ruleIndex);
110
- var selectedColorConfig = this.props.getColorConfigByColor(color);
111
- var ruleTitle = ruleName || intl.get('Define_rule');
112
- var canAddFilter = filters.length < 8;
113
- return /*#__PURE__*/React.createElement("div", {
114
- className: classnames('statistic-color-rule-item', {
115
- 'editing': isEditing
116
- })
117
- }, /*#__PURE__*/React.createElement("div", {
118
- className: "d-flex justify-content-between pr-4"
119
- }, /*#__PURE__*/React.createElement("div", {
120
- className: "statistic-color-rule-title",
121
- onClick: function onClick() {
122
- return _this2.props.setEditingRuleIndex(ruleIndex);
123
- }
124
- }, /*#__PURE__*/React.createElement("span", {
125
- ref: function ref(_ref) {
126
- return _this2.rowColorRule = _ref;
127
- },
128
- className: "statistic-color-rule-dropdown",
129
- style: {
130
- backgroundColor: color
131
- },
132
- onMouseDown: this.onMouseDown,
133
- onClick: this.onColorPopoverToggle,
134
- id: target
135
- }, /*#__PURE__*/React.createElement("i", {
136
- className: "dtable-font dtable-icon-drop-down",
137
- style: {
138
- color: selectedColorConfig.text_color
139
- }
140
- }), this.state.isColorPopoverShow && /*#__PURE__*/React.createElement(ColorSelectorPopover, {
141
- placement: "bottom-start",
142
- hideArrow: false,
143
- target: target,
144
- selectedColor: color,
145
- colorConfigs: labelColorConfigs,
146
- toggle: this.hideColorPopover,
147
- onSelectColor: this.onSelectColor
148
- })), /*#__PURE__*/React.createElement("div", {
149
- className: classnames('statistic-color-rule-name text-truncate', {
150
- 'invalid': !!ruleName
151
- }),
152
- title: ruleTitle
153
- }, ruleTitle)), /*#__PURE__*/React.createElement("span", {
154
- className: "statistic-delete-color-rule"
155
- }, /*#__PURE__*/React.createElement("i", {
156
- className: "dtable-font dtable-icon-delete",
157
- onClick: this.deleteRule
158
- }))), isEditing && /*#__PURE__*/React.createElement("div", {
159
- className: "statistic-color-rule-filters-wrapper"
160
- }, /*#__PURE__*/React.createElement(RuleFilters, {
161
- filterTypes: colorRuleTypes,
162
- filters: rule.filters,
163
- filterConjunction: filter_conjunction,
164
- getFilterConfigByType: this.props.getFilterConfigByType,
165
- modifyConjunction: this.modifyFilterConjunction,
166
- updateFilters: this.updateFilters
167
- }), /*#__PURE__*/React.createElement(CommonAddTool, {
168
- className: classnames('statistic-btn-add-color-rule-filter', {
169
- 'disabled': !canAddFilter
170
- }),
171
- callBack: this.addFilter,
172
- footerName: intl.get('Add_condition'),
173
- addIconClassName: "popover-add-icon"
174
- })));
175
- }
176
- }]);
177
- return ColorRule;
178
- }(Component);
97
+ render() {
98
+ const {
99
+ labelColorConfigs,
100
+ colorRuleTypes,
101
+ rule,
102
+ isEditing,
103
+ ruleIndex,
104
+ ruleName
105
+ } = this.props;
106
+ const {
107
+ color,
108
+ filter_conjunction,
109
+ filters
110
+ } = rule;
111
+ const target = "row-color-rule-".concat(ruleIndex);
112
+ const selectedColorConfig = this.props.getColorConfigByColor(color);
113
+ const ruleTitle = ruleName || intl.get('Define_rule');
114
+ const canAddFilter = filters.length < 8;
115
+ return /*#__PURE__*/React.createElement("div", {
116
+ className: classnames('statistic-color-rule-item', {
117
+ 'editing': isEditing
118
+ })
119
+ }, /*#__PURE__*/React.createElement("div", {
120
+ className: "d-flex justify-content-between pr-4"
121
+ }, /*#__PURE__*/React.createElement("div", {
122
+ className: "statistic-color-rule-title",
123
+ onClick: () => this.props.setEditingRuleIndex(ruleIndex)
124
+ }, /*#__PURE__*/React.createElement("span", {
125
+ ref: ref => this.rowColorRule = ref,
126
+ className: "statistic-color-rule-dropdown",
127
+ style: {
128
+ backgroundColor: color
129
+ },
130
+ onMouseDown: this.onMouseDown,
131
+ onClick: this.onColorPopoverToggle,
132
+ id: target
133
+ }, /*#__PURE__*/React.createElement("i", {
134
+ className: "dtable-font dtable-icon-drop-down",
135
+ style: {
136
+ color: selectedColorConfig.text_color
137
+ }
138
+ }), this.state.isColorPopoverShow && /*#__PURE__*/React.createElement(ColorSelectorPopover, {
139
+ placement: "bottom-start",
140
+ hideArrow: false,
141
+ target: target,
142
+ selectedColor: color,
143
+ colorConfigs: labelColorConfigs,
144
+ toggle: this.hideColorPopover,
145
+ onSelectColor: this.onSelectColor
146
+ })), /*#__PURE__*/React.createElement("div", {
147
+ className: classnames('statistic-color-rule-name text-truncate', {
148
+ 'invalid': !!ruleName
149
+ }),
150
+ title: ruleTitle
151
+ }, ruleTitle)), /*#__PURE__*/React.createElement("span", {
152
+ className: "statistic-delete-color-rule"
153
+ }, /*#__PURE__*/React.createElement("i", {
154
+ className: "dtable-font dtable-icon-delete",
155
+ onClick: this.deleteRule
156
+ }))), isEditing && /*#__PURE__*/React.createElement("div", {
157
+ className: "statistic-color-rule-filters-wrapper"
158
+ }, /*#__PURE__*/React.createElement(RuleFilters, {
159
+ filterTypes: colorRuleTypes,
160
+ filters: rule.filters,
161
+ filterConjunction: filter_conjunction,
162
+ getFilterConfigByType: this.props.getFilterConfigByType,
163
+ modifyConjunction: this.modifyFilterConjunction,
164
+ updateFilters: this.updateFilters
165
+ }), /*#__PURE__*/React.createElement(CommonAddTool, {
166
+ className: classnames('statistic-btn-add-color-rule-filter', {
167
+ 'disabled': !canAddFilter
168
+ }),
169
+ callBack: this.addFilter,
170
+ footerName: intl.get('Add_condition'),
171
+ addIconClassName: "popover-add-icon"
172
+ })));
173
+ }
174
+ }
179
175
  export default ColorRule;
@@ -1,87 +1,79 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/esm/createClass";
4
- import _inherits from "@babel/runtime/helpers/esm/inherits";
5
- import _createSuper from "@babel/runtime/helpers/esm/createSuper";
6
1
  import React, { Component } from 'react';
7
2
  import ColorRule from './color-rule';
8
- var ColorRules = /*#__PURE__*/function (_Component) {
9
- _inherits(ColorRules, _Component);
10
- var _super = _createSuper(ColorRules);
11
- function ColorRules(props) {
12
- var _this;
13
- _classCallCheck(this, ColorRules);
14
- _this = _super.call(this, props);
15
- _this.setEditingRuleIndex = function (editingRuleIndex) {
16
- if (_this.state.editingRuleIndex === editingRuleIndex) {
17
- _this.setState({
3
+ class ColorRules extends Component {
4
+ constructor(props) {
5
+ super(props);
6
+ this.setEditingRuleIndex = editingRuleIndex => {
7
+ if (this.state.editingRuleIndex === editingRuleIndex) {
8
+ this.setState({
18
9
  editingRuleIndex: -1
19
10
  });
20
11
  return;
21
12
  }
22
- _this.setState({
23
- editingRuleIndex: editingRuleIndex
24
- }, function () {
25
- _this.props.resetPopoverPosition();
13
+ this.setState({
14
+ editingRuleIndex
15
+ }, () => {
16
+ this.props.resetPopoverPosition();
26
17
  });
27
18
  };
28
- _this.updateRule = function (ruleIndex, updatedRule) {
29
- var rules = _this.props.rules;
30
- var isAddingFilter = updatedRule.filters.length > rules[ruleIndex].filters.length;
31
- var updatedRules = _toConsumableArray(rules);
19
+ this.updateRule = (ruleIndex, updatedRule) => {
20
+ const {
21
+ rules
22
+ } = this.props;
23
+ const isAddingFilter = updatedRule.filters.length > rules[ruleIndex].filters.length;
24
+ let updatedRules = [...rules];
32
25
  updatedRules[ruleIndex] = updatedRule;
33
- _this.props.updateRules({
26
+ this.props.updateRules({
34
27
  colorRules: updatedRules,
35
- callback: function callback() {
36
- isAddingFilter && _this.props.resetPopoverPosition();
28
+ callback: () => {
29
+ isAddingFilter && this.props.resetPopoverPosition();
37
30
  }
38
31
  });
39
32
  };
40
- _this.deleteRule = function (ruleIndex) {
41
- var rules = _this.props.rules;
42
- var updatedRules = _toConsumableArray(rules);
33
+ this.deleteRule = ruleIndex => {
34
+ const {
35
+ rules
36
+ } = this.props;
37
+ let updatedRules = [...rules];
43
38
  updatedRules.splice(ruleIndex, 1);
44
- _this.props.updateRules({
39
+ this.props.updateRules({
45
40
  colorRules: updatedRules
46
41
  });
47
42
  };
48
- _this.state = {
43
+ this.state = {
49
44
  editingRuleIndex: -1
50
45
  };
51
- return _this;
52
46
  }
53
- _createClass(ColorRules, [{
54
- key: "render",
55
- value: function render() {
56
- var _this2 = this;
57
- var _this$props = this.props,
58
- rules = _this$props.rules,
59
- labelColorConfigs = _this$props.labelColorConfigs,
60
- colorRuleTypes = _this$props.colorRuleTypes,
61
- rulesName = _this$props.rulesName;
62
- var editingRuleIndex = this.state.editingRuleIndex;
63
- return /*#__PURE__*/React.createElement("div", {
64
- className: "statistic-color-rules"
65
- }, rules.map(function (rule, ruleIndex) {
66
- var isEditing = editingRuleIndex === ruleIndex;
67
- return /*#__PURE__*/React.createElement(ColorRule, {
68
- key: "statistic-color-rule-".concat(ruleIndex),
69
- ruleIndex: ruleIndex,
70
- rule: rule,
71
- labelColorConfigs: labelColorConfigs,
72
- colorRuleTypes: colorRuleTypes,
73
- isEditing: isEditing,
74
- ruleName: rulesName[ruleIndex],
75
- setEditingRuleIndex: _this2.setEditingRuleIndex,
76
- getColorConfigByColor: _this2.props.getColorConfigByColor,
77
- getFilterConfigByType: _this2.props.getFilterConfigByType,
78
- generateDefaultFilter: _this2.props.generateDefaultFilter,
79
- updateRule: _this2.updateRule,
80
- deleteRule: _this2.deleteRule
81
- });
82
- }));
83
- }
84
- }]);
85
- return ColorRules;
86
- }(Component);
47
+ render() {
48
+ const {
49
+ rules,
50
+ labelColorConfigs,
51
+ colorRuleTypes,
52
+ rulesName
53
+ } = this.props;
54
+ const {
55
+ editingRuleIndex
56
+ } = this.state;
57
+ return /*#__PURE__*/React.createElement("div", {
58
+ className: "statistic-color-rules"
59
+ }, rules.map((rule, ruleIndex) => {
60
+ const isEditing = editingRuleIndex === ruleIndex;
61
+ return /*#__PURE__*/React.createElement(ColorRule, {
62
+ key: "statistic-color-rule-".concat(ruleIndex),
63
+ ruleIndex: ruleIndex,
64
+ rule: rule,
65
+ labelColorConfigs: labelColorConfigs,
66
+ colorRuleTypes: colorRuleTypes,
67
+ isEditing: isEditing,
68
+ ruleName: rulesName[ruleIndex],
69
+ setEditingRuleIndex: this.setEditingRuleIndex,
70
+ getColorConfigByColor: this.props.getColorConfigByColor,
71
+ getFilterConfigByType: this.props.getFilterConfigByType,
72
+ generateDefaultFilter: this.props.generateDefaultFilter,
73
+ updateRule: this.updateRule,
74
+ deleteRule: this.deleteRule
75
+ });
76
+ }));
77
+ }
78
+ }
87
79
  export default ColorRules;