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,41 @@
1
+ import React from 'react';
2
+ import ReactDOM from 'react-dom';
3
+ import classnames from 'classnames';
4
+ import context from '../context';
5
+ import View from '../view';
6
+ import Settings from '../settings';
7
+ import './index.css';
8
+ class Editor extends React.PureComponent {
9
+ constructor(props) {
10
+ super(props);
11
+ context.init(props);
12
+ }
13
+ render() {
14
+ const {
15
+ settingsTarget
16
+ } = this.props;
17
+ let settingsTargetNode = '';
18
+ if (settingsTarget) {
19
+ settingsTargetNode = document.getElementById(settingsTarget);
20
+ if (settingsTargetNode) {
21
+ ReactDOM.render( /*#__PURE__*/React.createElement(Settings, this.props), settingsTargetNode);
22
+ }
23
+ }
24
+ return /*#__PURE__*/React.createElement("div", {
25
+ className: classnames('sea-chart-editor', {
26
+ 'd-flex': !settingsTargetNode
27
+ })
28
+ }, /*#__PURE__*/React.createElement(View, this.props), !settingsTargetNode && /*#__PURE__*/React.createElement(Settings, this.props));
29
+ }
30
+ }
31
+ Editor.defaultProps = {
32
+ isStatisticalData: true,
33
+ canvasStyle: {},
34
+ tables: [],
35
+ chart: {
36
+ id: '',
37
+ config: {},
38
+ style_config: {}
39
+ }
40
+ };
41
+ export default Editor;
package/dist/index.js ADDED
@@ -0,0 +1,9 @@
1
+ import SeaChartAPI from './api';
2
+ import { CHART_TYPES } from './constants/type';
3
+ import View from './view';
4
+ import Editor from './editor';
5
+ import Settings, { StyleSettings } from './settings';
6
+ import { ChartDataSQL } from './utils';
7
+ import Context from './context';
8
+ export default View;
9
+ export { SeaChartAPI, CHART_TYPES, View, Editor, Settings, StyleSettings, Context, ChartDataSQL };
package/dist/intl.js ADDED
@@ -0,0 +1,37 @@
1
+ import LOCALES from './locale';
2
+ class Intl {
3
+ constructor(_ref) {
4
+ var _this = this;
5
+ let {
6
+ lang: _lang = 'en'
7
+ } = _ref;
8
+ this.setLang = function () {
9
+ let lang = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'en';
10
+ const validLang = lang.toLowerCase();
11
+ if (validLang === _this.lang) return;
12
+ _this.lang = validLang;
13
+ _this.translation = LOCALES[_this.lang] || LOCALES['en'];
14
+ };
15
+ this.get = function (key) {
16
+ let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
17
+ if (typeof key !== 'string') return '';
18
+ const optionsKeys = Object.keys(options);
19
+ if (optionsKeys.length === 0) {
20
+ return _this.translation[key] || key;
21
+ }
22
+ if (key.indexOf('{') < 0) return key;
23
+ return key.replace(/\\?\{([^{}]+)\}/g, (match, name) => {
24
+ if (match.charAt(0) === '\\') {
25
+ return match.slice(1);
26
+ }
27
+ return options[name] === null || options[name] === undefined ? '' : options[name];
28
+ }) || key;
29
+ };
30
+ this.lang = _lang.toLowerCase();
31
+ this.translation = LOCALES[this.lang] || LOCALES['en'];
32
+ }
33
+ }
34
+ const intl = new Intl({
35
+ lang: 'zh_CN'
36
+ });
37
+ export default intl;
@@ -0,0 +1,18 @@
1
+ import de from './lang/de';
2
+ import en from './lang/en';
3
+ import es from './lang/es';
4
+ import fr from './lang/fr';
5
+ import pt from './lang/pt';
6
+ import ru from './lang/ru';
7
+ import zh_CN from './lang/zh_CN';
8
+ const LOCALES = {
9
+ 'de': de,
10
+ 'en': en,
11
+ 'es': es,
12
+ 'fr': fr,
13
+ 'pt': pt,
14
+ 'ru': ru,
15
+ 'zh-cn': zh_CN,
16
+ 'zh_cn': zh_CN
17
+ };
18
+ export default LOCALES;
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
- var de = {
2
+ const de = {
3
3
  'Empty': 'Empty',
4
4
  'Amount': 'Amount',
5
5
  'Counting': 'Count',
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
- var en = {
2
+ const en = {
3
3
  'Empty': 'Empty',
4
4
  'Amount': 'Amount',
5
5
  'Counting': 'Count',
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
- var es = {
2
+ const es = {
3
3
  'Empty': 'Empty',
4
4
  'Amount': 'Amount',
5
5
  'Counting': 'Count',
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
- var fr = {
2
+ const fr = {
3
3
  'Empty': 'Empty',
4
4
  'Amount': 'Amount',
5
5
  'Counting': 'Count',
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
- var pt = {
2
+ const pt = {
3
3
  'Empty': 'Empty',
4
4
  'Amount': 'Amount',
5
5
  'Counting': 'Count',
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
- var ru = {
2
+ const ru = {
3
3
  'Empty': 'Empty',
4
4
  'Amount': 'Amount',
5
5
  'Counting': 'Count',
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
- var zh_CN = {
2
+ const zh_CN = {
3
3
  'Empty': '空',
4
4
  'Amount': '数量',
5
5
  'Counting': '计数',
@@ -0,0 +1,41 @@
1
+ import BaseModel from './base-model';
2
+ import { isBoolean } from '../utils';
3
+ import { LABEL_COLORS, CHART_TYPE, CHART_SUMMARY_TYPE } from '../constants';
4
+ class AreaGroup extends BaseModel {
5
+ constructor(options) {
6
+ super({
7
+ ...options,
8
+ type: CHART_TYPE.AREA_GROUP
9
+ });
10
+
11
+ // x-axis
12
+ this.x_axis_column_key = options.x_axis_column_key;
13
+ this.x_axis_include_empty_cells = isBoolean(options.x_axis_include_empty_cells) ? options.x_axis_include_empty_cells : false;
14
+ this.x_axis_date_granularity = options.x_axis_date_granularity;
15
+ this.x_axis_geolocation_granularity = options.x_axis_geolocation_granularity;
16
+ this.x_axis_show_label = isBoolean(options.x_axis_show_label) ? options.x_axis_show_label : false;
17
+ this.x_axis_label_position = options.x_axis_label_position;
18
+
19
+ // y-axis
20
+ this.y_axis_summary_column_key = options.y_axis_summary_column_key;
21
+ this.y_axis_summary_type = options.y_axis_summary_type || CHART_SUMMARY_TYPE.COUNT;
22
+ this.y_axis_summary_method = options.y_axis_summary_method;
23
+ this.y_axis_show_value = isBoolean(options.y_axis_show_value) ? options.y_axis_show_value : false;
24
+ this.y_axis_show_label = isBoolean(options.y_axis_show_label) ? options.y_axis_show_value : false;
25
+ this.y_axis_label_position = options.y_axis_label_position;
26
+ this.y_axis_auto_range = options.y_axis_auto_range;
27
+ this.y_axis_min = options.y_axis_min;
28
+ this.y_axis_max = options.y_axis_max;
29
+ this.y_axis_label_color = options.y_axis_label_color || LABEL_COLORS[0];
30
+
31
+ // column-group
32
+ this.column_groupby_column_key = options.column_groupby_column_key;
33
+ this.column_groupby_date_granularity = options.column_groupby_date_granularity;
34
+ this.column_groupby_geolocation_granularity = options.column_groupby_geolocation_granularity;
35
+ this.column_groupby_multiple_numeric_column = options.column_groupby_multiple_numeric_column;
36
+ this.summary_columns = options.summary_columns;
37
+ this.y_axis_use_stack = options.y_axis_use_stack;
38
+ this.label_font_size = options.label_font_size;
39
+ }
40
+ }
41
+ export default AreaGroup;
@@ -0,0 +1,32 @@
1
+ import BaseModel from './base-model';
2
+ import { isBoolean } from '../utils';
3
+ import { LABEL_COLORS, CHART_TYPE, CHART_SUMMARY_TYPE } from '../constants';
4
+ class Area extends BaseModel {
5
+ constructor(options) {
6
+ super({
7
+ ...options,
8
+ type: CHART_TYPE.AREA
9
+ });
10
+
11
+ // x axis
12
+ this.x_axis_column_key = options.x_axis_column_key;
13
+ this.x_axis_include_empty_cells = isBoolean(options.x_axis_include_empty_cells) ? options.x_axis_include_empty_cells : false;
14
+ this.x_axis_show_label = isBoolean(options.x_axis_show_label) ? options.x_axis_show_label : false;
15
+ this.x_axis_label_position = options.x_axis_label_position;
16
+
17
+ // y axis
18
+ this.y_axis_summary_column_key = options.y_axis_summary_column_key;
19
+ this.y_axis_summary_type = options.y_axis_summary_type || CHART_SUMMARY_TYPE.COUNT;
20
+ this.y_axis_summary_method = options.y_axis_summary_method;
21
+ this.y_axis_show_value = isBoolean(options.y_axis_show_value) ? options.y_axis_show_value : false;
22
+ this.y_axis_show_label = isBoolean(options.y_axis_show_label) ? options.y_axis_show_label : false;
23
+ this.y_axis_label_position = options.y_axis_label_position;
24
+ this.y_axis_auto_range = options.y_axis_auto_range;
25
+ this.y_axis_min = options.y_axis_min;
26
+ this.y_axis_max = options.y_axis_max;
27
+ this.y_axis_label_color = options.y_axis_label_color || LABEL_COLORS[0];
28
+ this.sort_type = options.sort_type;
29
+ this.label_font_size = options.label_font_size;
30
+ }
31
+ }
32
+ export default Area;
@@ -0,0 +1,44 @@
1
+ import BaseModel from './base-model';
2
+ import { isBoolean } from '../utils';
3
+ import { LABEL_COLORS, CHART_TYPE, CHART_SUMMARY_TYPE } from '../constants';
4
+ class BarGroup extends BaseModel {
5
+ constructor(options) {
6
+ super({
7
+ ...options,
8
+ type: CHART_TYPE.BAR_GROUP
9
+ });
10
+
11
+ // x-axis
12
+ this.x_axis_column_key = options.x_axis_column_key;
13
+ this.x_axis_include_empty_cells = options.x_axis_include_empty_cells;
14
+ this.x_axis_date_granularity = options.x_axis_date_granularity;
15
+ this.x_axis_geolocation_granularity = options.x_axis_geolocation_granularity;
16
+
17
+ // x-axis style
18
+ this.x_axis_show_label = isBoolean(options.x_axis_show_label) ? options.x_axis_show_label : false;
19
+ this.x_axis_label_position = options.x_axis_label_position;
20
+
21
+ // y-axis
22
+ this.y_axis_summary_column_key = options.y_axis_summary_column_key;
23
+ this.y_axis_summary_type = options.y_axis_summary_type || CHART_SUMMARY_TYPE.COUNT;
24
+ this.y_axis_summary_method = options.y_axis_summary_method || CHART_SUMMARY_TYPE.SUM;
25
+
26
+ // y axis style
27
+ this.y_axis_show_value = isBoolean(options.y_axis_show_value) ? options.y_axis_show_value : false;
28
+ this.y_axis_show_label = isBoolean(options.y_axis_show_label) ? options.y_axis_show_label : false;
29
+ this.y_axis_label_position = options.y_axis_label_position;
30
+ this.y_axis_auto_range = options.y_axis_auto_range;
31
+ this.y_axis_min = options.y_axis_min;
32
+ this.y_axis_max = options.y_axis_max;
33
+ this.y_axis_label_color = options.y_axis_label_color || LABEL_COLORS[0];
34
+
35
+ // column group
36
+ this.column_groupby_column_key = options.column_groupby_column_key;
37
+ this.column_groupby_date_granularity = options.column_groupby_date_granularity;
38
+ this.column_groupby_geolocation_granularity = options.column_groupby_geolocation_granularity;
39
+ this.column_groupby_multiple_numeric_column = isBoolean(options.column_groupby_multiple_numeric_column) ? options.column_groupby_multiple_numeric_column : false;
40
+ this.summary_columns = options.summary_columns;
41
+ this.label_font_size = options.label_font_size;
42
+ }
43
+ }
44
+ export default BarGroup;
@@ -0,0 +1,41 @@
1
+ import BaseModel from './base-model';
2
+ import { isBoolean } from '../utils';
3
+ import { LABEL_COLORS, CHART_TYPE, CHART_SUMMARY_TYPE } from '../constants';
4
+ class BarStack extends BaseModel {
5
+ constructor(options) {
6
+ super({
7
+ ...options,
8
+ type: CHART_TYPE.BAR_STACK
9
+ });
10
+
11
+ // x axis
12
+ this.x_axis_column_key = options.x_axis_column_key;
13
+ this.x_axis_include_empty_cells = options.x_axis_include_empty_cells;
14
+ this.x_axis_date_granularity = options.x_axis_date_granularity;
15
+ this.x_axis_geolocation_granularity = options.x_axis_geolocation_granularity;
16
+ this.x_axis_show_label = isBoolean(options.x_axis_show_label) ? options.x_axis_show_label : false;
17
+ this.x_axis_label_position = options.x_axis_label_position;
18
+
19
+ // y axis
20
+ this.y_axis_summary_column_key = options.y_axis_summary_column_key;
21
+ this.y_axis_summary_type = options.y_axis_summary_type || CHART_SUMMARY_TYPE.COUNT;
22
+ this.y_axis_summary_method = options.y_axis_summary_method;
23
+ this.y_axis_show_value = isBoolean(options.y_axis_show_value) ? options.y_axis_show_value : false;
24
+ this.y_axis_show_label = isBoolean(options.y_axis_show_label) ? options.y_axis_show_label : false;
25
+ this.y_axis_label_position = options.y_axis_label_position;
26
+ this.y_axis_auto_range = options.y_axis_auto_range;
27
+ this.y_axis_min = options.y_axis_min;
28
+ this.y_axis_max = options.y_axis_max;
29
+ this.y_axis_label_color = options.y_axis_label_color || LABEL_COLORS[0];
30
+
31
+ // column-group
32
+ this.column_groupby_column_key = options.column_groupby_column_key;
33
+ this.column_groupby_date_granularity = options.column_groupby_date_granularity;
34
+ this.column_groupby_geolocation_granularity = options.column_groupby_geolocation_granularity;
35
+ this.column_groupby_multiple_numeric_column = options.column_groupby_multiple_numeric_column;
36
+ this.summary_columns = options.summary_columns;
37
+ this.y_axis_use_stack = true;
38
+ this.label_font_size = options.label_font_size;
39
+ }
40
+ }
41
+ export default BarStack;
@@ -0,0 +1,38 @@
1
+ import BaseModel from './base-model';
2
+ import { isBoolean } from '../utils';
3
+ import { LABEL_COLORS, CHART_TYPE, CHART_SUMMARY_TYPE } from '../constants';
4
+ class Bar extends BaseModel {
5
+ constructor(options) {
6
+ super({
7
+ ...options,
8
+ type: CHART_TYPE.BAR
9
+ });
10
+
11
+ // x-axis
12
+ this.x_axis_column_key = options.x_axis_column_key;
13
+ this.x_axis_include_empty_cells = options.x_axis_include_empty_cells;
14
+ this.x_axis_date_granularity = options.x_axis_date_granularity;
15
+ this.x_axis_geolocation_granularity = options.x_axis_geolocation_granularity;
16
+
17
+ // x-axis style
18
+ this.x_axis_show_label = isBoolean(options.x_axis_show_label) ? options.x_axis_show_label : false;
19
+ this.x_axis_label_position = options.x_axis_label_position;
20
+
21
+ // y-axis
22
+ this.y_axis_summary_column_key = options.y_axis_summary_column_key;
23
+ this.y_axis_summary_type = options.y_axis_summary_type || CHART_SUMMARY_TYPE.COUNT;
24
+ this.y_axis_summary_method = options.y_axis_summary_method || CHART_SUMMARY_TYPE.SUM;
25
+
26
+ // y-axis style
27
+ this.y_axis_show_value = isBoolean(options.y_axis_show_value) ? options.y_axis_show_value : false;
28
+ this.y_axis_show_label = isBoolean(options.y_axis_show_label) ? options.y_axis_show_label : false;
29
+ this.y_axis_label_position = options.y_axis_label_position;
30
+ this.y_axis_auto_range = options.y_axis_auto_range;
31
+ this.y_axis_min = options.y_axis_min;
32
+ this.y_axis_max = options.y_axis_max;
33
+ this.y_axis_label_color = options.y_axis_label_color || LABEL_COLORS[0];
34
+ this.sort_type = options.sort_type;
35
+ this.label_font_size = options.label_font_size;
36
+ }
37
+ }
38
+ export default Bar;
@@ -0,0 +1,9 @@
1
+ import { CHART_TYPE } from '../constants';
2
+ export default class BaseModel {
3
+ constructor(options) {
4
+ this.type = options.type || CHART_TYPE.BAR;
5
+ this.table_id = options.table_id || null;
6
+ this.filters = options.filters || [];
7
+ this.filter_conjunction = options.filter_conjunction || 'And';
8
+ }
9
+ }
@@ -0,0 +1,22 @@
1
+ import { isNumericColumn, getTableById, getTableColumnByKey } from 'dtable-utils';
2
+ import BaseModel from './base-model';
3
+ import { CHART_SUMMARY_TYPE, CHART_TYPE } from '../constants';
4
+ class BasicNumberCard extends BaseModel {
5
+ constructor(options, tables) {
6
+ super({
7
+ ...options,
8
+ type: CHART_TYPE.BASIC_NUMBER_CARD
9
+ });
10
+ this.name = '';
11
+ this.numeric_column_key = options.x_axis_column_key;
12
+ if (this.numeric_column_key && this.table_id && tables) {
13
+ const table = getTableById(tables, this.table_id);
14
+ const column = getTableColumnByKey(table, this.numeric_column_key);
15
+ if (!column || !isNumericColumn(column)) {
16
+ this.numeric_column_key = null;
17
+ }
18
+ }
19
+ this.summary_method = options.y_axis_summary_method || CHART_SUMMARY_TYPE.ROW_COUNT;
20
+ }
21
+ }
22
+ export default BasicNumberCard;
@@ -0,0 +1,23 @@
1
+ import { generateChartConfig } from '../utils';
2
+ import { HORIZONTAL_ALIGN, DEFAULT_CHART_FONT_WEIGHT, DEFAULT_CHART_TITLE_FONT_SIZE, SUPPORT_TITLE_CHART_TYPES } from '../constants';
3
+ class ChartModel {
4
+ constructor(options, tables) {
5
+ const {
6
+ id,
7
+ style_config
8
+ } = options;
9
+ this.id = id;
10
+ this.type = 'statistic';
11
+ this.config = generateChartConfig(options, tables);
12
+ this.style_config = style_config || {};
13
+ if (SUPPORT_TITLE_CHART_TYPES.includes(this.config.type)) {
14
+ this.style_config.title = {
15
+ text: '',
16
+ font_size: DEFAULT_CHART_TITLE_FONT_SIZE,
17
+ font_weight: DEFAULT_CHART_FONT_WEIGHT,
18
+ horizontal_align: HORIZONTAL_ALIGN.LEFT
19
+ };
20
+ }
21
+ }
22
+ }
23
+ export default ChartModel;
@@ -0,0 +1,38 @@
1
+ import BaseModel from './base-model';
2
+ import { isBoolean } from '../utils';
3
+ import { CHART_TYPE, CHART_SUMMARY_TYPE } from '../constants';
4
+ class Combination extends BaseModel {
5
+ constructor(options) {
6
+ super({
7
+ ...options,
8
+ type: CHART_TYPE.COMBINATION
9
+ });
10
+ this.x_axis_column_key = options.x_axis_column_key;
11
+ this.x_axis_include_empty_cells = options.x_axis_include_empty_cells;
12
+ this.x_axis_date_granularity = options.x_axis_date_granularity;
13
+ this.x_axis_geolocation_granularity = options.x_axis_geolocation_granularity;
14
+ this.y_axis_left_summary_type = options.y_axis_left_summary_type || CHART_SUMMARY_TYPE.COUNT;
15
+ this.y_axis_right_summary_type = options.y_axis_right_summary_type || CHART_SUMMARY_TYPE.COUNT;
16
+ this.y_axis_left_summary_method = options.y_axis_left_summary_method || CHART_SUMMARY_TYPE.SUM;
17
+ this.y_axis_right_summary_method = options.y_axis_right_summary_method || CHART_SUMMARY_TYPE.SUM;
18
+ this.y_axis_left_summary_column = options.y_axis_left_summary_column;
19
+ this.y_axis_right_summary_column = options.y_axis_right_summary_column;
20
+ this.y_axis_left_group_by_multiple_numeric_column = isBoolean(options.y_axis_left_group_by_multiple_numeric_column) ? options.y_axis_left_group_by_multiple_numeric_column : false;
21
+ this.y_axis_left_group_by_numeric_columns = options.y_axis_left_group_by_numeric_columns;
22
+ this.x_axis_show_label = isBoolean(options.x_axis_show_label) ? options.x_axis_show_label : false;
23
+ this.x_axis_label_position = options.x_axis_label_position;
24
+ this.show_y_axis_left_label = options.show_y_axis_left_label;
25
+ this.show_y_axis_right_label = options.show_y_axis_right_label;
26
+ this.y_axis_left_label_position = options.y_axis_left_label_position;
27
+ this.y_axis_right_label_position = options.y_axis_right_label_position;
28
+ this.y_axis_auto_range_left = options.y_axis_auto_range_left;
29
+ this.y_axis_min_left = options.y_axis_min_left;
30
+ this.y_axis_max_left = options.y_axis_max_left;
31
+ this.y_axis_auto_range_right = options.y_axis_auto_range_right;
32
+ this.y_axis_min_right = options.y_axis_min_right;
33
+ this.y_axis_max_right = options.y_axis_max_right;
34
+ this.display_data = isBoolean(options.y_axis_show_value) ? options.y_axis_show_value : false;
35
+ this.label_font_size = options.label_font_size;
36
+ }
37
+ }
38
+ export default Combination;
@@ -0,0 +1,39 @@
1
+ import { isDateColumn, getTableById, getTableColumnByKey } from 'dtable-utils';
2
+ import BaseModel from './base-model';
3
+ import { isBoolean } from '../utils';
4
+ import { CHART_TYPE } from '../constants';
5
+ class CompareBar extends BaseModel {
6
+ constructor(options, tables) {
7
+ super({
8
+ ...options,
9
+ type: CHART_TYPE.COMPARE_BAR
10
+ });
11
+ this.x_axis_column_key = options.x_axis_column_key;
12
+ if (this.x_axis_column_key && this.table_id && tables) {
13
+ const table = getTableById(tables, this.table_id);
14
+ const column = getTableColumnByKey(table, this.x_axis_column_key);
15
+ if (!column || !isDateColumn(column)) {
16
+ this.x_axis_column_key = null;
17
+ }
18
+ }
19
+ this.x_axis_date_granularity = options.x_axis_date_granularity;
20
+ this.x_axis_date_range_start = options.x_axis_date_range_start;
21
+ this.x_axis_date_range_end = options.x_axis_date_range_end;
22
+ this.x_axis_compared_date_range_start = options.x_axis_compared_date_range_start;
23
+ this.x_axis_compared_date_range_end = options.x_axis_compared_date_range_end;
24
+ this.x_axis_show_label = isBoolean(options.x_axis_show_label) ? options.x_axis_show_label : false;
25
+ this.y_axis_show_label = isBoolean(options.y_axis_show_label) ? options.y_axis_show_label : false;
26
+ this.x_axis_label_position = options.x_axis_label_position;
27
+ this.y_axis_label_position = options.y_axis_label_position;
28
+ this.y_axis_compare_label_color = options.y_axis_compare_label_color;
29
+ this.y_axis_compared_label_color = options.y_axis_compared_label_color;
30
+ this.y_axis_summary_column_key = options.y_axis_summary_column_key;
31
+ this.y_axis_summary_type = options.y_axis_summary_type;
32
+ this.y_axis_summary_method = options.y_axis_summary_method;
33
+ this.display_increase = isBoolean(options.display_increase) ? options.display_increase : false;
34
+ this.display_increase_percentage = isBoolean(options.display_increase_percentage) ? options.display_increase_percentage : false;
35
+ this.increase_display_color = options.increase_display_color;
36
+ this.label_font_size = options.label_font_size;
37
+ }
38
+ }
39
+ export default CompareBar;
@@ -0,0 +1,24 @@
1
+ import BaseModel from './base-model';
2
+ import { isBoolean } from '../utils';
3
+ import { CHART_TYPE, CHART_SUMMARY_TYPE } from '../constants';
4
+ class CompletenessGroup extends BaseModel {
5
+ constructor(options) {
6
+ super({
7
+ ...options,
8
+ type: CHART_TYPE.COMPLETENESS_GROUP
9
+ });
10
+ this.name_column_key = options.x_axis_column_key;
11
+ this.target_value_column_key = options.target_value_column_key;
12
+ this.target_value_column_summary_method = options.target_value_column_summary_method || CHART_SUMMARY_TYPE.ROW_COUNT;
13
+ this.total_value_column_key = options.total_value_column_key;
14
+ this.total_value_column_summary_method = options.total_value_column_summary_method || CHART_SUMMARY_TYPE.ROW_COUNT;
15
+ this.completed_column_key = options.completed_column_key;
16
+ this.target_column_key = options.target_column_key;
17
+ this.display_percentage = isBoolean(options.display_percentage) ? options.display_percentage : true;
18
+ this.group_column_key = options.column_groupby_column_key;
19
+ this.date_granularity = options.column_groupby_date_granularity;
20
+ this.geolocation_granularity = options.column_groupby_geolocation_granularity;
21
+ this.label_font_size = options.label_font_size;
22
+ }
23
+ }
24
+ export default CompletenessGroup;
@@ -0,0 +1,18 @@
1
+ import BaseModel from './base-model';
2
+ import { isBoolean } from '../utils';
3
+ import { LABEL_COLORS, CHART_TYPE } from '../constants';
4
+ class Completeness extends BaseModel {
5
+ constructor(options) {
6
+ super({
7
+ ...options,
8
+ type: CHART_TYPE.COMPLETENESS
9
+ });
10
+ this.name_column_key = options.x_axis_column_key;
11
+ this.completed_column_key = options.completed_column_key;
12
+ this.target_column_key = options.target_column_key;
13
+ this.completed_color = options.completed_color || LABEL_COLORS[0];
14
+ this.display_percentage = isBoolean(options.display_percentage) ? options.display_percentage : true;
15
+ this.label_font_size = options.label_font_size;
16
+ }
17
+ }
18
+ export default Completeness;
@@ -0,0 +1,16 @@
1
+ import BaseModel from './base-model';
2
+ import { CHART_SUMMARY_TYPE, CHART_TYPE } from '../constants';
3
+ class Dashboard extends BaseModel {
4
+ constructor(options) {
5
+ super({
6
+ ...options,
7
+ type: CHART_TYPE.DASHBOARD
8
+ });
9
+ this.name = '';
10
+ this.target_value_column_key = options.target_value_column_key;
11
+ this.target_value_column_summary_method = options.target_value_column_summary_method || CHART_SUMMARY_TYPE.ROW_COUNT;
12
+ this.total_value_column_key = options.total_value_column_key;
13
+ this.total_value_column_summary_method = options.total_value_column_summary_method || CHART_SUMMARY_TYPE.ROW_COUNT;
14
+ }
15
+ }
16
+ export default Dashboard;