sea-chart 0.0.1 → 0.0.2

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 (330) hide show
  1. package/README.md +117 -1
  2. package/dist/api/index.js +101 -0
  3. package/{lib → dist}/components/collaborator/index.js +8 -6
  4. package/{lib → dist}/components/icon/index.css +1 -1
  5. package/{lib → dist}/components/icon/index.js +7 -5
  6. package/dist/components/index.js +8 -0
  7. package/{lib → dist}/components/loading/index.js +4 -2
  8. package/dist/components/number-input/index.js +31 -0
  9. package/{lib → dist}/components/pixel-editor/index.css +4 -4
  10. package/{lib → dist}/components/pixel-editor/index.js +11 -15
  11. package/{lib → dist}/components/select-group/index.css +10 -10
  12. package/dist/components/select-group/index.js +52 -0
  13. package/dist/components/types-dialog/index.css +97 -0
  14. package/dist/components/types-dialog/index.js +117 -0
  15. package/{lib → dist}/constants/geolocation.js +3 -3
  16. package/dist/constants/index.js +184 -0
  17. package/{lib → dist}/constants/model.js +25 -5
  18. package/dist/constants/style.js +15 -0
  19. package/dist/constants/type-image.js +59 -0
  20. package/dist/constants/type.js +124 -0
  21. package/dist/context.js +83 -0
  22. package/dist/editor/index.js +41 -0
  23. package/dist/index.js +9 -0
  24. package/dist/intl.js +37 -0
  25. package/dist/locale/index.js +18 -0
  26. package/{lib → dist}/locale/lang/de.js +1 -1
  27. package/{lib → dist}/locale/lang/en.js +1 -1
  28. package/{lib → dist}/locale/lang/es.js +1 -1
  29. package/{lib → dist}/locale/lang/fr.js +1 -1
  30. package/{lib → dist}/locale/lang/pt.js +1 -1
  31. package/{lib → dist}/locale/lang/ru.js +1 -1
  32. package/{lib → dist}/locale/lang/zh_CN.js +1 -1
  33. package/dist/model/area-group.js +41 -0
  34. package/dist/model/area.js +32 -0
  35. package/dist/model/bar-group.js +44 -0
  36. package/dist/model/bar-stack.js +41 -0
  37. package/dist/model/bar.js +38 -0
  38. package/dist/model/base-model.js +9 -0
  39. package/dist/model/basic-number-card.js +22 -0
  40. package/dist/model/chart.js +23 -0
  41. package/dist/model/combination.js +38 -0
  42. package/dist/model/compare-bar.js +39 -0
  43. package/dist/model/completeness-group.js +24 -0
  44. package/dist/model/completeness.js +18 -0
  45. package/dist/model/dashboard.js +16 -0
  46. package/dist/model/generic-model.js +224 -0
  47. package/dist/model/heat-map.js +23 -0
  48. package/dist/model/horizontal-bar.js +38 -0
  49. package/dist/model/horizontal-group-bar.js +43 -0
  50. package/dist/model/index.js +63 -0
  51. package/dist/model/line-group.js +44 -0
  52. package/dist/model/line.js +38 -0
  53. package/dist/model/map-bubble.js +27 -0
  54. package/dist/model/map.js +27 -0
  55. package/dist/model/mirror.js +26 -0
  56. package/dist/model/pie.js +26 -0
  57. package/dist/model/ring.js +26 -0
  58. package/dist/model/scatter.js +19 -0
  59. package/dist/model/stacked-horizontal-bar.js +32 -0
  60. package/dist/model/table.js +23 -0
  61. package/dist/model/tree-map.js +20 -0
  62. package/dist/model/trend.js +24 -0
  63. package/dist/model/user.js +15 -0
  64. package/dist/model/world-map-bubble.js +26 -0
  65. package/dist/model/world-map.js +26 -0
  66. package/{lib/components → dist}/settings/advance-bar-settings/data-settings.js +68 -45
  67. package/dist/settings/advance-bar-settings/style-settings.js +161 -0
  68. package/{lib/components → dist}/settings/bar-settings/data-settings.js +76 -51
  69. package/dist/settings/bar-settings/style-settings.js +179 -0
  70. package/dist/settings/basic-number-card/data-settings.js +126 -0
  71. package/dist/settings/basic-number-card/style-settings.js +42 -0
  72. package/dist/settings/combination-settings/data-settings.js +279 -0
  73. package/dist/settings/combination-settings/style-settings.js +174 -0
  74. package/dist/settings/dashboard-settings/data-settings.js +179 -0
  75. package/{lib/components → dist}/settings/data-settings.js +28 -22
  76. package/dist/settings/horizontal-bar-settings/data-settings.js +55 -0
  77. package/dist/settings/horizontal-bar-settings/style-settings.js +46 -0
  78. package/dist/settings/index.css +85 -0
  79. package/dist/settings/index.js +76 -0
  80. package/{lib/components → dist}/settings/pie-settings/data-settings.js +67 -44
  81. package/{lib/components → dist}/settings/pie-settings/style-settings.js +67 -49
  82. package/dist/settings/style-settings.js +118 -0
  83. package/{lib/components → dist}/settings/table-settings/data-settings.js +269 -208
  84. package/{lib/components → dist}/settings/time-comparison-settings/data-settings.js +82 -67
  85. package/dist/settings/time-comparison-settings/style-settings.js +213 -0
  86. package/dist/settings/widgets/basic-summary/index.css +12 -0
  87. package/dist/settings/widgets/basic-summary/index.js +176 -0
  88. package/{lib/components/settings/widgets/statistic-type → dist/settings/widgets/chart-type}/index.css +5 -5
  89. package/dist/settings/widgets/chart-type/index.js +59 -0
  90. package/{lib/components → dist}/settings/widgets/common-data-settings.js +24 -18
  91. package/dist/settings/widgets/data-filter/index.css +17 -0
  92. package/{lib/components → dist}/settings/widgets/data-filter/index.js +51 -37
  93. package/dist/settings/widgets/data-sort.js +44 -0
  94. package/dist/settings/widgets/date-summary-item.js +111 -0
  95. package/dist/settings/widgets/display-values-settings/index.css +13 -0
  96. package/{lib/components → dist}/settings/widgets/display-values-settings/index.js +19 -14
  97. package/{lib/components → dist}/settings/widgets/divider/index.css +1 -1
  98. package/dist/settings/widgets/divider/index.js +12 -0
  99. package/{lib/components → dist}/settings/widgets/font-settings/font-size-settings.js +14 -12
  100. package/{lib/components → dist}/settings/widgets/font-settings/font-weight-settings.js +14 -16
  101. package/dist/settings/widgets/group-by.js +160 -0
  102. package/{lib/components → dist}/settings/widgets/label-color.js +10 -10
  103. package/dist/settings/widgets/min-max-setting.js +52 -0
  104. package/dist/settings/widgets/mininum-slice-percent.js +63 -0
  105. package/dist/settings/widgets/numeric-summary-item.js +90 -0
  106. package/dist/settings/widgets/select-table/index.js +38 -0
  107. package/dist/settings/widgets/stack.js +50 -0
  108. package/dist/settings/widgets/summary-method-setting.js +66 -0
  109. package/dist/settings/widgets/summary-settings.js +411 -0
  110. package/dist/settings/widgets/switch/index.css +37 -0
  111. package/{lib/components → dist}/settings/widgets/switch/index.js +11 -8
  112. package/{lib/components → dist}/settings/widgets/text-horizontal-settings.js +12 -10
  113. package/dist/settings/widgets/time-picker.js +174 -0
  114. package/{lib/components → dist}/settings/widgets/title-settings/index.js +15 -13
  115. package/dist/settings/widgets/title-settings/title-text.js +25 -0
  116. package/dist/settings/widgets/x-axios.js +0 -0
  117. package/dist/settings/widgets/y-axis-group-settings.js +438 -0
  118. package/dist/utils/cell-format-utils.js +42 -0
  119. package/dist/utils/chart-data-sql.js +606 -0
  120. package/dist/utils/chart-utils.js +1803 -0
  121. package/dist/utils/chart.js +6 -0
  122. package/dist/utils/collaborator-manager.js +24 -0
  123. package/dist/utils/collaborator-utils.js +40 -0
  124. package/dist/utils/column-2-sql-column.js +551 -0
  125. package/dist/utils/column-utils.js +208 -0
  126. package/{lib → dist}/utils/custom-g2.js +11 -11
  127. package/{lib → dist}/utils/date-translate.js +11 -11
  128. package/dist/utils/index.js +48 -0
  129. package/dist/utils/key-generator.js +13 -0
  130. package/dist/utils/object-utils.js +45 -0
  131. package/{lib → dist}/utils/options-utils.js +17 -18
  132. package/dist/view/index.css +53 -0
  133. package/dist/view/index.js +169 -0
  134. package/{lib/layout → dist/view}/title/index.css +1 -1
  135. package/dist/view/title/index.js +46 -0
  136. package/dist/view/wrapper/area.js +150 -0
  137. package/dist/view/wrapper/bar-group.js +148 -0
  138. package/dist/view/wrapper/bar.js +138 -0
  139. package/dist/view/wrapper/basic-number-card.js +127 -0
  140. package/dist/view/wrapper/chart-component.js +261 -0
  141. package/dist/view/wrapper/combination.js +399 -0
  142. package/dist/view/wrapper/dashboard.js +164 -0
  143. package/dist/view/wrapper/horizontal-bar-group.js +149 -0
  144. package/dist/view/wrapper/horizontal-bar.js +140 -0
  145. package/dist/view/wrapper/horizontal-component.js +78 -0
  146. package/{lib/components/formatter → dist/view/wrapper}/index.js +90 -71
  147. package/dist/view/wrapper/line-group.js +145 -0
  148. package/dist/view/wrapper/line.js +157 -0
  149. package/dist/view/wrapper/pie.js +185 -0
  150. package/dist/view/wrapper/ring.js +264 -0
  151. package/{lib/components/formatter → dist/view/wrapper}/table/index.css +18 -18
  152. package/dist/view/wrapper/table/index.js +31 -0
  153. package/dist/view/wrapper/table/one-dimension-table-no-numeric-columns.js +144 -0
  154. package/dist/view/wrapper/table/one-dimension-table-with-numeric-columns.js +198 -0
  155. package/dist/view/wrapper/table/pivot-table-display-name.js +248 -0
  156. package/dist/view/wrapper/table/two-dimension-table.js +249 -0
  157. package/dist/view/wrapper/treemap.js +186 -0
  158. package/package.json +91 -100
  159. package/lib/components/formatter/area.js +0 -162
  160. package/lib/components/formatter/bar-group.js +0 -160
  161. package/lib/components/formatter/bar.js +0 -150
  162. package/lib/components/formatter/basic-number-card.js +0 -138
  163. package/lib/components/formatter/chart-component.js +0 -266
  164. package/lib/components/formatter/combination.js +0 -407
  165. package/lib/components/formatter/dashboard.js +0 -182
  166. package/lib/components/formatter/horizontal-bar-group.js +0 -161
  167. package/lib/components/formatter/horizontal-bar.js +0 -152
  168. package/lib/components/formatter/horizontal-component.js +0 -91
  169. package/lib/components/formatter/line-group.js +0 -157
  170. package/lib/components/formatter/line.js +0 -170
  171. package/lib/components/formatter/pie.js +0 -201
  172. package/lib/components/formatter/ring.js +0 -277
  173. package/lib/components/formatter/table/index.js +0 -42
  174. package/lib/components/formatter/table/one-dimension-table-no-numeric-columns.js +0 -145
  175. package/lib/components/formatter/table/one-dimension-table-with-numeric-columns.js +0 -193
  176. package/lib/components/formatter/table/pivot-table-display-name.js +0 -249
  177. package/lib/components/formatter/table/two-dimension-table.js +0 -241
  178. package/lib/components/formatter/treemap.js +0 -213
  179. package/lib/components/index.js +0 -5
  180. package/lib/components/number-input/index.js +0 -31
  181. package/lib/components/select-group/index.js +0 -63
  182. package/lib/components/settings/advance-bar-settings/style-settings.js +0 -149
  183. package/lib/components/settings/bar-settings/style-settings.js +0 -163
  184. package/lib/components/settings/basic-number-card/data-settings.js +0 -121
  185. package/lib/components/settings/basic-number-card/style-settings.js +0 -42
  186. package/lib/components/settings/combination-settings/data-settings.js +0 -256
  187. package/lib/components/settings/combination-settings/style-settings.js +0 -183
  188. package/lib/components/settings/dashboard-settings/data-settings.js +0 -167
  189. package/lib/components/settings/horizontal-bar-settings/data-settings.js +0 -45
  190. package/lib/components/settings/horizontal-bar-settings/style-settings.js +0 -38
  191. package/lib/components/settings/index.css +0 -73
  192. package/lib/components/settings/index.js +0 -74
  193. package/lib/components/settings/style-settings.js +0 -100
  194. package/lib/components/settings/time-comparison-settings/style-settings.js +0 -191
  195. package/lib/components/settings/widgets/basic-summary/index.css +0 -12
  196. package/lib/components/settings/widgets/basic-summary/index.js +0 -173
  197. package/lib/components/settings/widgets/data-filter/index.css +0 -17
  198. package/lib/components/settings/widgets/data-sort.js +0 -38
  199. package/lib/components/settings/widgets/date-summary-item.js +0 -126
  200. package/lib/components/settings/widgets/display-values-settings/index.css +0 -13
  201. package/lib/components/settings/widgets/divider/index.js +0 -10
  202. package/lib/components/settings/widgets/group-by.js +0 -168
  203. package/lib/components/settings/widgets/min-max-setting.js +0 -64
  204. package/lib/components/settings/widgets/mininum-slice-percent.js +0 -72
  205. package/lib/components/settings/widgets/numeric-summary-item.js +0 -109
  206. package/lib/components/settings/widgets/select-table/index.js +0 -49
  207. package/lib/components/settings/widgets/stack.js +0 -58
  208. package/lib/components/settings/widgets/statistic-type/index.js +0 -54
  209. package/lib/components/settings/widgets/summary-method-setting.js +0 -80
  210. package/lib/components/settings/widgets/summary-settings.js +0 -394
  211. package/lib/components/settings/widgets/switch/index.css +0 -37
  212. package/lib/components/settings/widgets/time-picker.js +0 -182
  213. package/lib/components/settings/widgets/title-settings/title-text.js +0 -31
  214. package/lib/components/settings/widgets/y-axis-group-settings.js +0 -399
  215. package/lib/components/types-dialog/index.css +0 -97
  216. package/lib/components/types-dialog/index.js +0 -127
  217. package/lib/constants/index.js +0 -164
  218. package/lib/constants/style.js +0 -13
  219. package/lib/constants/type-image.js +0 -32
  220. package/lib/constants/type.js +0 -97
  221. package/lib/context.js +0 -49
  222. package/lib/index.js +0 -6
  223. package/lib/intl.js +0 -37
  224. package/lib/layout/index.js +0 -4
  225. package/lib/layout/statistic/index.css +0 -53
  226. package/lib/layout/statistic/index.js +0 -190
  227. package/lib/layout/title/index.js +0 -41
  228. package/lib/locale/index.js +0 -11
  229. package/lib/model/area-group.js +0 -51
  230. package/lib/model/area.js +0 -42
  231. package/lib/model/bar-group.js +0 -54
  232. package/lib/model/bar-stack.js +0 -51
  233. package/lib/model/bar.js +0 -48
  234. package/lib/model/base-model.js +0 -11
  235. package/lib/model/basic-number-card.js +0 -32
  236. package/lib/model/combination.js +0 -48
  237. package/lib/model/compare-bar.js +0 -49
  238. package/lib/model/completeness-group.js +0 -34
  239. package/lib/model/completeness.js +0 -28
  240. package/lib/model/dashboard.js +0 -26
  241. package/lib/model/generic-model.js +0 -235
  242. package/lib/model/heat-map.js +0 -33
  243. package/lib/model/horizontal-bar.js +0 -48
  244. package/lib/model/horizontal-group-bar.js +0 -53
  245. package/lib/model/index.js +0 -36
  246. package/lib/model/line-group.js +0 -54
  247. package/lib/model/line.js +0 -48
  248. package/lib/model/map-bubble.js +0 -37
  249. package/lib/model/map.js +0 -37
  250. package/lib/model/mirror.js +0 -36
  251. package/lib/model/pie.js +0 -36
  252. package/lib/model/ring.js +0 -36
  253. package/lib/model/scatter.js +0 -29
  254. package/lib/model/stacked-horizontal-bar.js +0 -42
  255. package/lib/model/statistic.js +0 -22
  256. package/lib/model/table.js +0 -33
  257. package/lib/model/tree-map.js +0 -30
  258. package/lib/model/trend.js +0 -34
  259. package/lib/model/user.js +0 -22
  260. package/lib/model/world-map-bubble.js +0 -36
  261. package/lib/model/world-map.js +0 -36
  262. package/lib/utils/cell-format-utils.js +0 -41
  263. package/lib/utils/chart.js +0 -6
  264. package/lib/utils/collaborator-utils.js +0 -40
  265. package/lib/utils/column-utils.js +0 -247
  266. package/lib/utils/data-filter/filter-item-utils.js +0 -80
  267. package/lib/utils/data-filter/filters-utils.js +0 -406
  268. package/lib/utils/data-filter/index.js +0 -3
  269. package/lib/utils/index.js +0 -50
  270. package/lib/utils/key-generator.js +0 -13
  271. package/lib/utils/object-utils.js +0 -61
  272. package/lib/utils/statistic-column-2-sql-column-utils.js +0 -499
  273. package/lib/utils/statistic-utils.js +0 -1685
  274. /package/{lib → dist}/assets/icons/area-chart.svg +0 -0
  275. /package/{lib → dist}/assets/icons/bar-chart.svg +0 -0
  276. /package/{lib → dist}/assets/icons/card.svg +0 -0
  277. /package/{lib → dist}/assets/icons/combination-chart.svg +0 -0
  278. /package/{lib → dist}/assets/icons/dtable-logo.svg +0 -0
  279. /package/{lib → dist}/assets/icons/facet-chart.svg +0 -0
  280. /package/{lib → dist}/assets/icons/gauge.svg +0 -0
  281. /package/{lib → dist}/assets/icons/heat-map.svg +0 -0
  282. /package/{lib → dist}/assets/icons/histogram.svg +0 -0
  283. /package/{lib → dist}/assets/icons/line-chart.svg +0 -0
  284. /package/{lib → dist}/assets/icons/map.svg +0 -0
  285. /package/{lib → dist}/assets/icons/pie-chart.svg +0 -0
  286. /package/{lib → dist}/assets/icons/rectangular-tree-diagram.svg +0 -0
  287. /package/{lib → dist}/assets/icons/scatter-chart.svg +0 -0
  288. /package/{lib → dist}/assets/icons/type-change.svg +0 -0
  289. /package/{lib → dist}/assets/img/area-chart.png +0 -0
  290. /package/{lib → dist}/assets/img/area-group-chart.png +0 -0
  291. /package/{lib → dist}/assets/img/bar-group.png +0 -0
  292. /package/{lib → dist}/assets/img/bar-stack.png +0 -0
  293. /package/{lib → dist}/assets/img/bar.png +0 -0
  294. /package/{lib → dist}/assets/img/combination-chart.png +0 -0
  295. /package/{lib → dist}/assets/img/compared-chart.png +0 -0
  296. /package/{lib → dist}/assets/img/completeness-chart.png +0 -0
  297. /package/{lib → dist}/assets/img/custom-bar.png +0 -0
  298. /package/{lib → dist}/assets/img/dashboard-chart.png +0 -0
  299. /package/{lib → dist}/assets/img/group-completeness-chart.png +0 -0
  300. /package/{lib → dist}/assets/img/group_line.png +0 -0
  301. /package/{lib → dist}/assets/img/heat-map.png +0 -0
  302. /package/{lib → dist}/assets/img/horizontal-bar.png +0 -0
  303. /package/{lib → dist}/assets/img/horizontal-group-bar.png +0 -0
  304. /package/{lib → dist}/assets/img/line.png +0 -0
  305. /package/{lib → dist}/assets/img/map-bubble.png +0 -0
  306. /package/{lib → dist}/assets/img/map.png +0 -0
  307. /package/{lib → dist}/assets/img/mirror.png +0 -0
  308. /package/{lib → dist}/assets/img/number-card.png +0 -0
  309. /package/{lib → dist}/assets/img/pie.png +0 -0
  310. /package/{lib → dist}/assets/img/pivot-table.png +0 -0
  311. /package/{lib → dist}/assets/img/ring.png +0 -0
  312. /package/{lib → dist}/assets/img/scatter.png +0 -0
  313. /package/{lib → dist}/assets/img/stacked-horizontal-bar.png +0 -0
  314. /package/{lib → dist}/assets/img/treemap.png +0 -0
  315. /package/{lib → dist}/assets/img/trend-chart.png +0 -0
  316. /package/{lib → dist}/assets/img/world-map-bubble.png +0 -0
  317. /package/{lib → dist}/assets/img/world-map.png +0 -0
  318. /package/{lib → dist}/components/loading/index.css +0 -0
  319. /package/{lib/components/settings/widgets/select-table → dist/editor}/index.css +0 -0
  320. /package/{lib/components → dist}/settings/advance-bar-settings/index.js +0 -0
  321. /package/{lib/components → dist}/settings/bar-settings/index.js +0 -0
  322. /package/{lib/components → dist}/settings/basic-number-card/index.js +0 -0
  323. /package/{lib/components → dist}/settings/combination-settings/index.js +0 -0
  324. /package/{lib/components → dist}/settings/dashboard-settings/index.js +0 -0
  325. /package/{lib/components → dist}/settings/horizontal-bar-settings/index.js +0 -0
  326. /package/{lib/components → dist}/settings/pie-settings/index.js +0 -0
  327. /package/{lib/components → dist}/settings/table-settings/index.js +0 -0
  328. /package/{lib/components → dist}/settings/time-comparison-settings/index.js +0 -0
  329. /package/{lib/components → dist}/settings/widgets/font-settings/index.js +0 -0
  330. /package/{lib/components/settings/widgets/x-axios.js → dist/settings/widgets/select-table/index.css} +0 -0
@@ -0,0 +1,76 @@
1
+ import React, { useCallback, useState } from 'react';
2
+ import classnames from 'classnames';
3
+ import { eventStopPropagation } from '../utils';
4
+ import DataSettings from './data-settings';
5
+ import StyleSettings from './style-settings';
6
+ import { CHART_SETTINGS_TYPE } from '../constants';
7
+ import intl from '../intl';
8
+ import './index.css';
9
+ const Settings = _ref => {
10
+ let {
11
+ chart,
12
+ tables,
13
+ onChange,
14
+ CustomStyleSettings
15
+ } = _ref;
16
+ const [type, setType] = useState(CHART_SETTINGS_TYPE.DATA);
17
+ const onChartSettingsTypeChange = useCallback(event => {
18
+ eventStopPropagation(event);
19
+ const newType = event.target.getAttribute('data');
20
+ if (type === newType) return;
21
+ setType(newType);
22
+ }, [type]);
23
+ const modifyStatistic = useCallback(update => {
24
+ const newChart = {
25
+ ...chart,
26
+ config: {
27
+ ...chart.config,
28
+ ...update
29
+ }
30
+ };
31
+ onChange && onChange(newChart, CHART_SETTINGS_TYPE.DATA);
32
+ }, [chart, onChange]);
33
+ const modifyStyle = useCallback(update => {
34
+ const newChart = {
35
+ ...chart,
36
+ ...update
37
+ };
38
+ onChange && onChange(newChart, CHART_SETTINGS_TYPE.STYLE);
39
+ }, [chart, onChange]);
40
+ const renderStyleSettings = useCallback(() => {
41
+ if (CustomStyleSettings) return /*#__PURE__*/React.createElement(CustomStyleSettings, {
42
+ chart: chart,
43
+ onChange: modifyStyle
44
+ });
45
+ return /*#__PURE__*/React.createElement(StyleSettings, {
46
+ chart: chart,
47
+ onChange: modifyStyle
48
+ });
49
+ }, [CustomStyleSettings, chart, modifyStyle]);
50
+ return /*#__PURE__*/React.createElement("div", {
51
+ className: "sea-chart-settings"
52
+ }, /*#__PURE__*/React.createElement("div", {
53
+ className: "sea-chart-settings-type",
54
+ onClick: onChartSettingsTypeChange
55
+ }, /*#__PURE__*/React.createElement("div", {
56
+ className: classnames('sea-chart-settings-type-item', {
57
+ 'selected': type === CHART_SETTINGS_TYPE.DATA
58
+ }),
59
+ data: CHART_SETTINGS_TYPE.DATA
60
+ }, intl.get('Data_settings')), /*#__PURE__*/React.createElement("div", {
61
+ className: classnames('sea-chart-settings-type-item ml-4', {
62
+ 'selected': type === CHART_SETTINGS_TYPE.STYLE
63
+ }),
64
+ data: CHART_SETTINGS_TYPE.STYLE
65
+ }, intl.get('Style_settings'))), /*#__PURE__*/React.createElement("div", {
66
+ className: "chart-settings-container position-relative"
67
+ }, /*#__PURE__*/React.createElement("div", {
68
+ className: "chart-settings-content"
69
+ }, type === CHART_SETTINGS_TYPE.DATA && /*#__PURE__*/React.createElement(DataSettings, {
70
+ chart: chart,
71
+ tables: tables,
72
+ onChange: modifyStatistic
73
+ }), type === CHART_SETTINGS_TYPE.STYLE && renderStyleSettings())));
74
+ };
75
+ export default Settings;
76
+ export { StyleSettings };
@@ -6,23 +6,30 @@ import GroupBy from '../widgets/group-by';
6
6
  import Switch from '../widgets/switch';
7
7
  import BasicSummary from '../widgets/basic-summary';
8
8
  import DataSort from '../widgets/data-sort';
9
- import { eventStopPropagation } from '../../../utils';
10
- import { STATISTIC_SUMMARY_TYPE, GEOLOCATION_FORMAT_CITY, GEOLOCATION_FORMAT_MAP } from '../../../constants';
11
- import intl from '../../../intl';
12
- var DataSettings = function DataSettings(_ref) {
13
- var statistic = _ref.statistic,
14
- tables = _ref.tables,
15
- FilterSettings = _ref.FilterSettings,
16
- onChange = _ref.onChange;
17
- var onGroupByChange = useCallback(function (option) {
18
- var config = statistic.config;
19
- var groupby_column_key = config.groupby_column_key;
20
- var column = option.value;
21
- var newColumnKey = column.key,
22
- type = column.type;
23
- var validValue = newColumnKey === 'Groupby_null' ? null : newColumnKey;
9
+ import { eventStopPropagation } from '../../utils';
10
+ import { CHART_SUMMARY_TYPE, GEOLOCATION_FORMAT_CITY, GEOLOCATION_FORMAT_MAP } from '../../constants';
11
+ import intl from '../../intl';
12
+ const DataSettings = _ref => {
13
+ let {
14
+ chart,
15
+ tables,
16
+ onChange
17
+ } = _ref;
18
+ const onGroupByChange = useCallback(option => {
19
+ const {
20
+ config
21
+ } = chart;
22
+ const {
23
+ groupby_column_key
24
+ } = config;
25
+ const column = option.value;
26
+ const {
27
+ key: newColumnKey,
28
+ type
29
+ } = column;
30
+ const validValue = newColumnKey === 'Groupby_null' ? null : newColumnKey;
24
31
  if (groupby_column_key === validValue) return;
25
- var update = {
32
+ let update = {
26
33
  groupby_column_key: validValue
27
34
  };
28
35
  if (!validValue) {
@@ -30,11 +37,12 @@ var DataSettings = function DataSettings(_ref) {
30
37
  update['groupby_geolocation_granularity'] = null;
31
38
  } else {
32
39
  if (DATE_COLUMN_OPTIONS.includes(type)) {
33
- update['groupby_date_granularity'] = STATISTIC_SUMMARY_TYPE.MONTH;
40
+ update['groupby_date_granularity'] = CHART_SUMMARY_TYPE.MONTH;
34
41
  update['groupby_geolocation_granularity'] = null;
35
42
  } else if (type === CellType.GEOLOCATION) {
36
- var _ref2 = column.data || {},
37
- geo_format = _ref2.geo_format;
43
+ const {
44
+ geo_format
45
+ } = column.data || {};
38
46
  if (geo_format === GEOLOCATION_FORMAT_MAP.PROVINCE) {
39
47
  update['groupby_geolocation_granularity'] = GEOLOCATION_FORMAT_MAP.PROVINCE;
40
48
  } else if (geo_format === GEOLOCATION_FORMAT_MAP.PROVINCE_CITY) {
@@ -48,43 +56,58 @@ var DataSettings = function DataSettings(_ref) {
48
56
  }
49
57
  }
50
58
  onChange && onChange(update);
51
- }, [statistic, onChange]);
52
- var onGroupbyDateGranularityChange = useCallback(function (option) {
53
- var config = statistic.config;
54
- var groupby_date_granularity = config.groupby_date_granularity;
55
- var value = option.value;
59
+ }, [chart, onChange]);
60
+ const onGroupbyDateGranularityChange = useCallback(option => {
61
+ const {
62
+ config
63
+ } = chart;
64
+ const {
65
+ groupby_date_granularity
66
+ } = config;
67
+ const value = option.value;
56
68
  if (value === groupby_date_granularity) return;
57
69
  onChange && onChange({
58
70
  groupby_date_granularity: value
59
71
  });
60
- }, [statistic, onChange]);
61
- var onGroupbyGeolocationGranularityChange = useCallback(function (option) {
62
- var config = statistic.config;
63
- var groupby_geolocation_granularity = config.groupby_geolocation_granularity;
64
- var value = option.value;
72
+ }, [chart, onChange]);
73
+ const onGroupbyGeolocationGranularityChange = useCallback(option => {
74
+ const {
75
+ config
76
+ } = chart;
77
+ const {
78
+ groupby_geolocation_granularity
79
+ } = config;
80
+ const value = option.value;
65
81
  if (value === groupby_geolocation_granularity) return;
66
82
  onChange && onChange({
67
83
  groupby_geolocation_granularity: value
68
84
  });
69
- }, [statistic, onChange]);
70
- var onIncludeEmptyChange = useCallback(function (event) {
85
+ }, [chart, onChange]);
86
+ const onIncludeEmptyChange = useCallback(event => {
71
87
  eventStopPropagation(event);
72
- var config = statistic.config;
73
- var groupby_include_empty_cells = config.groupby_include_empty_cells;
88
+ const {
89
+ config
90
+ } = chart;
91
+ const {
92
+ groupby_include_empty_cells
93
+ } = config;
74
94
  onChange && onChange({
75
95
  groupby_include_empty_cells: !groupby_include_empty_cells
76
96
  });
77
- }, [statistic, onChange]);
78
- var config = statistic.config;
79
- var table_id = config.table_id,
80
- groupby_column_key = config.groupby_column_key,
81
- groupby_date_granularity = config.groupby_date_granularity,
82
- groupby_geolocation_granularity = config.groupby_geolocation_granularity,
83
- groupby_include_empty_cells = config.groupby_include_empty_cells;
97
+ }, [chart, onChange]);
98
+ const {
99
+ config
100
+ } = chart;
101
+ const {
102
+ table_id,
103
+ groupby_column_key,
104
+ groupby_date_granularity,
105
+ groupby_geolocation_granularity,
106
+ groupby_include_empty_cells
107
+ } = config;
84
108
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(CommonDataSettings, {
85
- statistic: statistic,
109
+ chart: chart,
86
110
  tables: tables,
87
- FilterSettings: FilterSettings,
88
111
  onChange: onChange
89
112
  }), /*#__PURE__*/React.createElement(GroupBy, {
90
113
  tables: tables,
@@ -107,7 +130,7 @@ var DataSettings = function DataSettings(_ref) {
107
130
  }), /*#__PURE__*/React.createElement(BasicSummary, {
108
131
  className: "selected-y-axis",
109
132
  label: intl.get('Summary_method'),
110
- statistic: statistic,
133
+ chart: chart,
111
134
  selectedTableId: table_id,
112
135
  tables: tables,
113
136
  summaryTypeKey: 'summary_type',
@@ -116,7 +139,7 @@ var DataSettings = function DataSettings(_ref) {
116
139
  supportColumnTypes: [CellType.NUMBER],
117
140
  onChange: onChange
118
141
  }), /*#__PURE__*/React.createElement(DataSort, {
119
- statistic: statistic,
142
+ chart: chart,
120
143
  onChange: onChange
121
144
  }));
122
145
  };
@@ -5,107 +5,125 @@ import Switch from '../widgets/switch';
5
5
  import Divider from '../widgets/divider';
6
6
  import MiniNumSlicePercent from '../widgets/mininum-slice-percent';
7
7
  import { FontSizeSettings } from '../widgets/font-settings';
8
- import { eventStopPropagation } from '../../../utils';
9
- import { STATISTIC_LABEL_POSITIONS, STATISTIC_LABEL_POSITION_SHOW, STATISTIC_LABEL_FORMATS, STATISTIC_LABEL_FORMAT_SHOW } from '../../../constants';
10
- import intl from '../../../intl';
11
- var StyleSettings = function StyleSettings(_ref) {
12
- var statistic = _ref.statistic,
13
- onChange = _ref.onChange;
14
- var labelPositionOptions = useMemo(function () {
15
- return STATISTIC_LABEL_POSITIONS.map(function (item) {
8
+ import { eventStopPropagation } from '../../utils';
9
+ import { CHART_LABEL_POSITIONS, CHART_LABEL_POSITION_SHOW, CHART_LABEL_FORMATS, CHART_LABEL_FORMAT_SHOW } from '../../constants';
10
+ import intl from '../../intl';
11
+ const StyleSettings = _ref => {
12
+ let {
13
+ chart,
14
+ onChange
15
+ } = _ref;
16
+ const labelPositionOptions = useMemo(() => {
17
+ return CHART_LABEL_POSITIONS.map(item => {
16
18
  return {
17
19
  value: item,
18
- label: intl.get(STATISTIC_LABEL_POSITION_SHOW[item])
20
+ label: intl.get(CHART_LABEL_POSITION_SHOW[item])
19
21
  };
20
22
  });
21
23
  }, []);
22
- var labelFormatOptions = useMemo(function () {
23
- return STATISTIC_LABEL_FORMATS.map(function (item) {
24
+ const labelFormatOptions = useMemo(() => {
25
+ return CHART_LABEL_FORMATS.map(item => {
24
26
  return {
25
27
  value: item,
26
- label: intl.get(STATISTIC_LABEL_FORMAT_SHOW[item])
28
+ label: intl.get(CHART_LABEL_FORMAT_SHOW[item])
27
29
  };
28
30
  });
29
31
  }, []);
30
- var onDisplayLegendChange = useCallback(function (event) {
32
+ const onDisplayLegendChange = useCallback(event => {
31
33
  eventStopPropagation(event);
32
- var config = statistic.config;
33
- var show_legend = config.show_legend;
34
+ const {
35
+ config
36
+ } = chart;
37
+ const {
38
+ show_legend
39
+ } = config;
34
40
  onChange && onChange({
35
41
  show_legend: !show_legend
36
42
  });
37
- }, [statistic, onChange]);
38
- var onDisplayLabelChange = useCallback(function (event) {
43
+ }, [chart, onChange]);
44
+ const onDisplayLabelChange = useCallback(event => {
39
45
  eventStopPropagation(event);
40
- var config = statistic.config;
41
- var display_label = config.display_label;
46
+ const {
47
+ config
48
+ } = chart;
49
+ const {
50
+ display_label
51
+ } = config;
42
52
  onChange && onChange({
43
53
  display_label: !display_label
44
54
  });
45
- }, [statistic, onChange]);
46
- var onLabelPositionChange = useCallback(function (option) {
47
- var value = option.value;
48
- var config = statistic.config;
49
- var label_position = config.label_position;
55
+ }, [chart, onChange]);
56
+ const onLabelPositionChange = useCallback(option => {
57
+ const value = option.value;
58
+ const {
59
+ config
60
+ } = chart;
61
+ const {
62
+ label_position
63
+ } = config;
50
64
  if (label_position === value) return;
51
65
  onChange && onChange({
52
66
  label_position: value
53
67
  });
54
- }, [statistic, onChange]);
55
- var onLabelFormatChange = useCallback(function (option) {
56
- var value = option.value;
57
- var config = statistic.config;
58
- var label_format = config.label_format;
68
+ }, [chart, onChange]);
69
+ const onLabelFormatChange = useCallback(option => {
70
+ const value = option.value;
71
+ const {
72
+ config
73
+ } = chart;
74
+ const {
75
+ label_format
76
+ } = config;
59
77
  if (label_format === value) return;
60
78
  onChange && onChange({
61
79
  label_format: value
62
80
  });
63
- }, [statistic, onChange]);
64
- var onLabelFontSizeChange = useCallback(function (updatedFontSize) {
81
+ }, [chart, onChange]);
82
+ const onLabelFontSizeChange = useCallback(updatedFontSize => {
65
83
  onChange && onChange({
66
84
  label_font_size: updatedFontSize
67
85
  });
68
86
  }, [onChange]);
69
- var onMinimumSlicePercentChange = useCallback(function (value) {
87
+ const onMinimumSlicePercentChange = useCallback(value => {
70
88
  onChange && onChange({
71
89
  minimum_slice_percent: value
72
90
  });
73
91
  }, [onChange]);
74
- var config = statistic.config;
75
- var show_legend = config.show_legend,
76
- display_label = config.display_label,
77
- label_position = config.label_position,
78
- label_format = config.label_format,
79
- label_font_size = config.label_font_size,
80
- minimum_slice_percent = config.minimum_slice_percent;
81
- var selectedLabelOption = labelPositionOptions.find(function (item) {
82
- return item.value === label_position;
83
- });
84
- var selectedLabelFormat = labelFormatOptions.find(function (item) {
85
- return item.value === label_format;
86
- }) || labelFormatOptions[0];
92
+ const {
93
+ config
94
+ } = chart;
95
+ const {
96
+ show_legend,
97
+ display_label,
98
+ label_position,
99
+ label_format,
100
+ label_font_size,
101
+ minimum_slice_percent
102
+ } = config;
103
+ const selectedLabelOption = labelPositionOptions.find(item => item.value === label_position);
104
+ const selectedLabelFormat = labelFormatOptions.find(item => item.value === label_format) || labelFormatOptions[0];
87
105
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormGroup, {
88
- className: "seastatistic-parameter-item"
106
+ className: "sea-chart-parameter-item"
89
107
  }, /*#__PURE__*/React.createElement(Switch, {
90
108
  key: "show_legend",
91
109
  checked: show_legend || false,
92
110
  placeholder: intl.get('Display_legend'),
93
111
  onChange: onDisplayLegendChange
94
112
  })), /*#__PURE__*/React.createElement(Divider, null), /*#__PURE__*/React.createElement(FormGroup, {
95
- className: "seastatistic-parameter-item"
113
+ className: "sea-chart-parameter-item"
96
114
  }, /*#__PURE__*/React.createElement(Switch, {
97
115
  key: "display_label",
98
116
  checked: display_label || false,
99
117
  placeholder: intl.get('Display_label'),
100
118
  onChange: onDisplayLabelChange
101
119
  })), display_label && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormGroup, {
102
- className: "seastatistic-parameter-item"
120
+ className: "sea-chart-parameter-item"
103
121
  }, /*#__PURE__*/React.createElement(Label, null, intl.get('Label_position')), /*#__PURE__*/React.createElement(DTableSelect, {
104
122
  value: selectedLabelOption,
105
123
  onChange: onLabelPositionChange,
106
124
  options: labelPositionOptions
107
125
  })), /*#__PURE__*/React.createElement(FormGroup, {
108
- className: "seastatistic-parameter-item"
126
+ className: "sea-chart-parameter-item"
109
127
  }, /*#__PURE__*/React.createElement(Label, null, intl.get('Label_format')), /*#__PURE__*/React.createElement(DTableSelect, {
110
128
  value: selectedLabelFormat,
111
129
  onChange: onLabelFormatChange,
@@ -0,0 +1,118 @@
1
+ import React, { useCallback } from 'react';
2
+ import { CHART_TYPE, SUPPORT_TITLE_CHART_TYPES } from '../constants';
3
+ import { BarStyleSettings } from './bar-settings';
4
+ import { AdvanceBarStyleSettings } from './advance-bar-settings';
5
+ import { TimeComparisonStyleSettings } from './time-comparison-settings';
6
+ import { PieStyleSettings } from './pie-settings';
7
+ import Divider from './widgets/divider';
8
+ import { HorizontalStyleSettings } from './horizontal-bar-settings';
9
+ import { BasicNumberCardStyleSettings } from './basic-number-card';
10
+ import { CombinationStyleSettings } from './combination-settings';
11
+ import StatisticTitleSetting from './widgets/title-settings';
12
+ const StyleSettings = _ref => {
13
+ let {
14
+ chart,
15
+ onChange
16
+ } = _ref;
17
+ const modifyStatisticSettings = useCallback(update => {
18
+ const newUpdate = {
19
+ ...chart.config,
20
+ ...update
21
+ };
22
+ onChange({
23
+ config: newUpdate
24
+ });
25
+ }, [chart, onChange]);
26
+ const modifyCommonSettings = useCallback(update => {
27
+ const newUpdate = {
28
+ ...chart.style_config,
29
+ ...update
30
+ };
31
+ onChange({
32
+ style_config: newUpdate
33
+ });
34
+ }, [chart, onChange]);
35
+ const modifyTitle = useCallback(title => {
36
+ const {
37
+ style_config
38
+ } = chart;
39
+ const update = style_config ? {
40
+ ...style_config,
41
+ title
42
+ } : {
43
+ title
44
+ };
45
+ onChange({
46
+ style_config: update
47
+ });
48
+ }, [chart, onChange]);
49
+ const renderTitleSettings = useCallback(() => {
50
+ const {
51
+ type
52
+ } = chart.config;
53
+ const {
54
+ style_config
55
+ } = chart;
56
+ return /*#__PURE__*/React.createElement(React.Fragment, null, SUPPORT_TITLE_CHART_TYPES.includes(type) && /*#__PURE__*/React.createElement(StatisticTitleSetting, {
57
+ key: "title-setting-".concat(chart.id),
58
+ title: style_config && style_config.title,
59
+ modifyTitle: modifyTitle
60
+ }), type !== CHART_TYPE.TREE_MAP && type !== CHART_TYPE.TABLE && /*#__PURE__*/React.createElement(Divider, null));
61
+ }, [chart, modifyTitle]);
62
+ const renderStatisticStyleSettings = useCallback(() => {
63
+ const {
64
+ config
65
+ } = chart;
66
+ const {
67
+ type
68
+ } = config;
69
+ const props = {
70
+ chart,
71
+ onChange: modifyStatisticSettings
72
+ };
73
+ switch (type) {
74
+ case CHART_TYPE.BAR:
75
+ case CHART_TYPE.LINE:
76
+ case CHART_TYPE.AREA:
77
+ {
78
+ return /*#__PURE__*/React.createElement(BarStyleSettings, props);
79
+ }
80
+ case CHART_TYPE.HORIZONTAL_BAR:
81
+ case CHART_TYPE.HORIZONTAL_GROUP_BAR:
82
+ {
83
+ return /*#__PURE__*/React.createElement(HorizontalStyleSettings, props);
84
+ }
85
+ case CHART_TYPE.BAR_GROUP:
86
+ case CHART_TYPE.BAR_STACK:
87
+ case CHART_TYPE.LINE_GROUP:
88
+ case CHART_TYPE.AREA_GROUP:
89
+ {
90
+ return /*#__PURE__*/React.createElement(AdvanceBarStyleSettings, props);
91
+ }
92
+ case CHART_TYPE.COMPARE_BAR:
93
+ {
94
+ return /*#__PURE__*/React.createElement(TimeComparisonStyleSettings, props);
95
+ }
96
+ case CHART_TYPE.COMBINATION:
97
+ {
98
+ return /*#__PURE__*/React.createElement(CombinationStyleSettings, props);
99
+ }
100
+ case CHART_TYPE.PIE:
101
+ case CHART_TYPE.RING:
102
+ {
103
+ return /*#__PURE__*/React.createElement(PieStyleSettings, props);
104
+ }
105
+ case CHART_TYPE.BASIC_NUMBER_CARD:
106
+ case CHART_TYPE.DASHBOARD:
107
+ {
108
+ return /*#__PURE__*/React.createElement(BasicNumberCardStyleSettings, props);
109
+ }
110
+ default:
111
+ {
112
+ return null;
113
+ }
114
+ }
115
+ }, [chart, modifyStatisticSettings]);
116
+ return /*#__PURE__*/React.createElement(React.Fragment, null, renderTitleSettings(), renderStatisticStyleSettings());
117
+ };
118
+ export default StyleSettings;