sea-chart 2.0.37 → 2.0.38

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 (304) hide show
  1. package/dist/api/index.js +20 -69
  2. package/dist/assets/css/sea-chart-d3-tooltip.css +0 -1
  3. package/dist/components/cell-factory/FormatterConfig.js +55 -62
  4. package/dist/components/cell-factory/SimpleCellFormatter.js +5 -12
  5. package/dist/components/cell-factory/SingleSelectOption.js +11 -18
  6. package/dist/components/cell-factory/cell-editor-factory.js +5 -12
  7. package/dist/components/cell-factory/cell-formatter-factory.js +4 -11
  8. package/dist/components/cell-factory/link-content.js +30 -38
  9. package/dist/components/chart-color-selector/color-selector.js +11 -18
  10. package/dist/components/collaborator/index.js +7 -14
  11. package/dist/components/color-picker/index.js +12 -19
  12. package/dist/components/color-popover/color-rules/color-rule.js +26 -34
  13. package/dist/components/color-popover/color-rules/index.js +7 -15
  14. package/dist/components/color-popover/color-rules/rule-filters/filter.js +27 -34
  15. package/dist/components/color-popover/color-rules/rule-filters/index.js +17 -25
  16. package/dist/components/color-popover/color-rules/rule-filters/number-input.js +9 -17
  17. package/dist/components/color-popover/color-rules-popover.js +31 -37
  18. package/dist/components/color-popover/color-selector-popover.js +12 -20
  19. package/dist/components/color-setting/color-group-selector.js +13 -21
  20. package/dist/components/common-add-tool/index.js +8 -15
  21. package/dist/components/data-process-setter/data-setting-header.js +7 -14
  22. package/dist/components/data-process-setter/hide-column-setter.js +13 -20
  23. package/dist/components/data-process-setter/index.js +4 -27
  24. package/dist/components/data-process-setter/sort-setter.js +18 -26
  25. package/dist/components/draggable/Draggable.js +7 -13
  26. package/dist/components/drill-down-settings/drill-down-fields-popover/index.js +41 -48
  27. package/dist/components/drill-down-settings/drill-down-fields-settings/index.js +10 -18
  28. package/dist/components/drill-down-settings/index.js +11 -18
  29. package/dist/components/dtable-popover/index.js +13 -20
  30. package/dist/components/dtable-search-input/index.js +13 -21
  31. package/dist/components/font-settings/index.js +14 -22
  32. package/dist/components/goal-line-setting/goal-setting-item.js +6 -14
  33. package/dist/components/goal-line-setting/index.js +12 -19
  34. package/dist/components/highlighter/highlighter.js +7 -14
  35. package/dist/components/icon/index.js +12 -23
  36. package/dist/components/index.js +7 -48
  37. package/dist/components/loading/index.js +6 -13
  38. package/dist/components/number-input/index.js +11 -24
  39. package/dist/components/pixel-editor/index.js +15 -23
  40. package/dist/components/popover/hide-column-popover/hide-column-popover-widgets/hide-column-item.js +13 -16
  41. package/dist/components/popover/hide-column-popover/hide-column-popover.css +5 -1
  42. package/dist/components/popover/hide-column-popover/hide-column-popover.js +28 -38
  43. package/dist/components/popover/sort-popover/sort-popover-widgets/sort-utils.js +9 -18
  44. package/dist/components/popover/sort-popover/sort-popover.js +58 -69
  45. package/dist/components/resize-handle/ResizeHandle.js +6 -13
  46. package/dist/components/row-card/row-card-header-cell.js +17 -24
  47. package/dist/components/row-card/row-card-header.js +15 -22
  48. package/dist/components/row-card/row-card-item.js +35 -43
  49. package/dist/components/row-card/row-card.js +17 -25
  50. package/dist/components/statistic-record-dialog/index.js +61 -68
  51. package/dist/components/tooltip/index.js +39 -28
  52. package/dist/components/types-dialog/index.js +62 -70
  53. package/dist/components/types-dialog/use-force-update.js +4 -10
  54. package/dist/constants/color-rules.js +8 -14
  55. package/dist/constants/common-constants.js +8 -14
  56. package/dist/constants/error.js +2 -8
  57. package/dist/constants/geolocation.js +9 -15
  58. package/dist/constants/index.js +142 -271
  59. package/dist/constants/key-codes.js +0 -2
  60. package/dist/constants/model.js +3 -9
  61. package/dist/constants/regions.js +3 -8
  62. package/dist/constants/style.js +6 -12
  63. package/dist/constants/table.js +1 -7
  64. package/dist/constants/type-image.js +33 -39
  65. package/dist/constants/type.js +3 -9
  66. package/dist/context.js +13 -20
  67. package/dist/editor/index.js +13 -16
  68. package/dist/index.js +13 -104
  69. package/dist/intl.js +10 -17
  70. package/dist/locale/index.js +16 -23
  71. package/dist/locale/lang/de.js +2 -7
  72. package/dist/locale/lang/en.js +2 -7
  73. package/dist/locale/lang/es.js +2 -7
  74. package/dist/locale/lang/fr.js +2 -7
  75. package/dist/locale/lang/pt.js +2 -7
  76. package/dist/locale/lang/ru.js +2 -7
  77. package/dist/locale/lang/zh_CN.js +2 -7
  78. package/dist/model/area-group.js +12 -19
  79. package/dist/model/area.js +12 -19
  80. package/dist/model/bar-custom.js +11 -18
  81. package/dist/model/bar-group.js +12 -19
  82. package/dist/model/bar-stack.js +10 -17
  83. package/dist/model/bar.js +11 -18
  84. package/dist/model/base-model.js +4 -11
  85. package/dist/model/basic-number-card.js +13 -20
  86. package/dist/model/chart.js +7 -13
  87. package/dist/model/combination.js +15 -22
  88. package/dist/model/compare-bar.js +14 -21
  89. package/dist/model/completeness-group.js +11 -18
  90. package/dist/model/completeness.js +10 -17
  91. package/dist/model/dashboard.js +7 -14
  92. package/dist/model/funnel.js +14 -21
  93. package/dist/model/generic-model.js +135 -143
  94. package/dist/model/heat-map.js +9 -16
  95. package/dist/model/horizontal-bar.js +11 -18
  96. package/dist/model/horizontal-group-bar.js +10 -17
  97. package/dist/model/index.js +69 -93
  98. package/dist/model/line-group.js +13 -20
  99. package/dist/model/line.js +12 -19
  100. package/dist/model/map-bubble.js +14 -17
  101. package/dist/model/map.js +12 -19
  102. package/dist/model/mirror.js +13 -20
  103. package/dist/model/pie.js +12 -19
  104. package/dist/model/ring.js +12 -19
  105. package/dist/model/scatter.js +10 -17
  106. package/dist/model/stacked-horizontal-bar.js +11 -18
  107. package/dist/model/table-element.js +5 -12
  108. package/dist/model/table.js +7 -14
  109. package/dist/model/tree-map.js +7 -14
  110. package/dist/model/trend.js +11 -18
  111. package/dist/model/user.js +1 -7
  112. package/dist/model/world-map-bubble.js +12 -19
  113. package/dist/model/world-map.js +12 -19
  114. package/dist/services/map-json.js +14 -17
  115. package/dist/settings/advance-bar-settings/data-settings.js +36 -44
  116. package/dist/settings/advance-bar-settings/index.js +3 -20
  117. package/dist/settings/advance-bar-settings/style-settings.js +66 -73
  118. package/dist/settings/bar-settings/data-settings.js +39 -47
  119. package/dist/settings/bar-settings/index.js +3 -20
  120. package/dist/settings/bar-settings/style-settings.js +51 -59
  121. package/dist/settings/basic-number-card/data-settings.js +50 -57
  122. package/dist/settings/basic-number-card/index.js +3 -20
  123. package/dist/settings/basic-number-card/style-settings.js +19 -27
  124. package/dist/settings/combination-settings/data-settings.js +55 -64
  125. package/dist/settings/combination-settings/index.js +3 -20
  126. package/dist/settings/combination-settings/style-settings.js +67 -75
  127. package/dist/settings/completeness-settings/callbacks/callbacks.js +16 -27
  128. package/dist/settings/completeness-settings/data-settings/completion-settings.js +21 -28
  129. package/dist/settings/completeness-settings/data-settings/data-settings.js +25 -32
  130. package/dist/settings/completeness-settings/index.js +3 -20
  131. package/dist/settings/completeness-settings/style-settings.js +19 -26
  132. package/dist/settings/dashboard-settings/data-settings.js +44 -51
  133. package/dist/settings/dashboard-settings/index.js +2 -13
  134. package/dist/settings/data-settings.js +72 -79
  135. package/dist/settings/funnel-settings/components/dnd-item/dnd-item.js +12 -19
  136. package/dist/settings/funnel-settings/components/dnd-list.js +15 -23
  137. package/dist/settings/funnel-settings/components/funnel-label-setting.js +32 -40
  138. package/dist/settings/funnel-settings/components/funnel-layer-setting.js +22 -30
  139. package/dist/settings/funnel-settings/data-settings.js +23 -31
  140. package/dist/settings/funnel-settings/index.js +3 -20
  141. package/dist/settings/funnel-settings/style-settings.js +11 -19
  142. package/dist/settings/heat-map-settings/data-settings.js +18 -26
  143. package/dist/settings/heat-map-settings/index.js +3 -20
  144. package/dist/settings/heat-map-settings/style-settings.js +18 -26
  145. package/dist/settings/horizontal-bar-settings/data-settings.js +12 -19
  146. package/dist/settings/horizontal-bar-settings/index.js +3 -20
  147. package/dist/settings/horizontal-bar-settings/style-settings.js +12 -19
  148. package/dist/settings/index.js +57 -70
  149. package/dist/settings/map-settings/components/location-field-selector.js +10 -17
  150. package/dist/settings/map-settings/components/map-level-selector.js +11 -18
  151. package/dist/settings/map-settings/components/map-province-city-selector.js +19 -26
  152. package/dist/settings/map-settings/index.js +3 -20
  153. package/dist/settings/map-settings/map-data-settings.js +23 -30
  154. package/dist/settings/map-settings/map-style-settings.js +27 -35
  155. package/dist/settings/mirror-settings/data-settings.js +26 -34
  156. package/dist/settings/mirror-settings/index.js +2 -13
  157. package/dist/settings/pie-settings/data-settings.js +33 -41
  158. package/dist/settings/pie-settings/index.js +3 -20
  159. package/dist/settings/pie-settings/style-settings.js +47 -55
  160. package/dist/settings/scatter/data-settings.js +27 -34
  161. package/dist/settings/scatter/index.js +3 -12
  162. package/dist/settings/stacks-settings/index.js +19 -27
  163. package/dist/settings/stacks-settings/stack-item-settings.js +19 -27
  164. package/dist/settings/style-settings.js +65 -73
  165. package/dist/settings/table-element-settings/components/data-filter.js +49 -58
  166. package/dist/settings/table-element-settings/data-settings.js +21 -29
  167. package/dist/settings/table-element-settings/index.css +1 -31
  168. package/dist/settings/table-element-settings/index.js +2 -13
  169. package/dist/settings/table-settings/data-settings.js +113 -120
  170. package/dist/settings/table-settings/index.js +2 -13
  171. package/dist/settings/time-comparison-settings/data-settings.js +43 -51
  172. package/dist/settings/time-comparison-settings/index.js +3 -20
  173. package/dist/settings/time-comparison-settings/style-settings.js +44 -52
  174. package/dist/settings/trend-settings/data-settings.js +24 -32
  175. package/dist/settings/trend-settings/index.js +3 -20
  176. package/dist/settings/trend-settings/style-setting.js +19 -27
  177. package/dist/settings/widgets/basic-summary/index.js +59 -66
  178. package/dist/settings/widgets/chart-type/index.js +18 -26
  179. package/dist/settings/widgets/color-settings/index.js +72 -80
  180. package/dist/settings/widgets/common-data-settings.js +27 -34
  181. package/dist/settings/widgets/data-filter/index.js +59 -59
  182. package/dist/settings/widgets/data-sort.js +16 -24
  183. package/dist/settings/widgets/date-summary-item.js +26 -34
  184. package/dist/settings/widgets/display-values-settings/index.js +14 -22
  185. package/dist/settings/widgets/divider/index.js +8 -16
  186. package/dist/settings/widgets/font-settings/font-color-settings.js +11 -19
  187. package/dist/settings/widgets/font-settings/font-size-settings.js +14 -22
  188. package/dist/settings/widgets/font-settings/font-weight-settings.js +17 -25
  189. package/dist/settings/widgets/font-settings/index.js +4 -27
  190. package/dist/settings/widgets/group-by.js +52 -59
  191. package/dist/settings/widgets/min-max-setting.js +10 -18
  192. package/dist/settings/widgets/mininum-slice-percent.js +10 -18
  193. package/dist/settings/widgets/numeric-summary-item.js +25 -33
  194. package/dist/settings/widgets/select-line-type/index.js +10 -17
  195. package/dist/settings/widgets/select-table/index.js +9 -16
  196. package/dist/settings/widgets/select-view/index.js +20 -28
  197. package/dist/settings/widgets/stack.js +14 -22
  198. package/dist/settings/widgets/summary-method-setting.js +17 -25
  199. package/dist/settings/widgets/summary-settings.js +75 -82
  200. package/dist/settings/widgets/switch/index.js +9 -16
  201. package/dist/settings/widgets/text-horizontal-settings.js +15 -23
  202. package/dist/settings/widgets/time-picker.js +29 -37
  203. package/dist/settings/widgets/title-settings/index.js +29 -37
  204. package/dist/settings/widgets/title-settings/title-text.js +5 -12
  205. package/dist/settings/widgets/x-axios.js +0 -1
  206. package/dist/settings/widgets/y-axis-group-settings.js +65 -72
  207. package/dist/utils/cell-format-utils.js +25 -33
  208. package/dist/utils/cell-value-utils.js +4 -11
  209. package/dist/utils/chart-utils/base-utils.js +467 -367
  210. package/dist/utils/chart-utils/index.js +29 -40
  211. package/dist/utils/chart-utils/original-data-utils/basic-chart-calculator.js +78 -85
  212. package/dist/utils/chart-utils/original-data-utils/card-calculator.js +20 -21
  213. package/dist/utils/chart-utils/original-data-utils/combination-calculator.js +45 -52
  214. package/dist/utils/chart-utils/original-data-utils/compare-bar-chart-calculator.js +21 -28
  215. package/dist/utils/chart-utils/original-data-utils/completeness-calculator.js +33 -40
  216. package/dist/utils/chart-utils/original-data-utils/dashboard-calculator.js +28 -26
  217. package/dist/utils/chart-utils/original-data-utils/index.js +50 -57
  218. package/dist/utils/chart-utils/original-data-utils/mirror-calculator.js +19 -26
  219. package/dist/utils/chart-utils/original-data-utils/pivot-table-calculator.js +94 -97
  220. package/dist/utils/chart-utils/original-data-utils/scatter-calculator.js +19 -25
  221. package/dist/utils/chart-utils/original-data-utils/trend-calculator.js +50 -36
  222. package/dist/utils/chart-utils/sql-statistics-utils.js +385 -388
  223. package/dist/utils/chart.js +9 -17
  224. package/dist/utils/collaborator-manager.js +3 -9
  225. package/dist/utils/collaborator-utils.js +19 -31
  226. package/dist/utils/collaborator.js +6 -15
  227. package/dist/utils/color-utils.js +18 -29
  228. package/dist/utils/column-utils.js +88 -102
  229. package/dist/utils/common-utils.js +28 -53
  230. package/dist/utils/concurrency-manager.js +1 -7
  231. package/dist/utils/contexts.js +7 -11
  232. package/dist/utils/date-translate.js +12 -20
  233. package/dist/utils/digital-sign-utils.js +7 -14
  234. package/dist/utils/event-bus.js +1 -7
  235. package/dist/utils/hotkey.js +5 -11
  236. package/dist/utils/index.js +73 -219
  237. package/dist/utils/key-generator.js +2 -9
  238. package/dist/utils/map.js +22 -31
  239. package/dist/utils/object-utils.js +2 -8
  240. package/dist/utils/options-utils.js +10 -18
  241. package/dist/utils/row-record-utils.js +251 -183
  242. package/dist/utils/row-utils.js +27 -38
  243. package/dist/utils/search.js +24 -32
  244. package/dist/utils/sql/chart-data-sql.js +106 -112
  245. package/dist/utils/sql/column-2-sql-column.js +162 -172
  246. package/dist/utils/sql/index.js +3 -27
  247. package/dist/utils/trend-utils.js +50 -45
  248. package/dist/view/index.css +2 -8
  249. package/dist/view/index.js +102 -103
  250. package/dist/view/title/index.js +16 -24
  251. package/dist/view/wrapper/area-group.js +57 -57
  252. package/dist/view/wrapper/area.js +43 -51
  253. package/dist/view/wrapper/bar-compare.js +56 -48
  254. package/dist/view/wrapper/bar-custom-stack.js +73 -55
  255. package/dist/view/wrapper/bar-group.js +94 -73
  256. package/dist/view/wrapper/bar-stack.js +49 -57
  257. package/dist/view/wrapper/bar.js +40 -48
  258. package/dist/view/wrapper/basic-number-card.js +50 -34
  259. package/dist/view/wrapper/chart-component.js +164 -569
  260. package/dist/view/wrapper/combination.js +55 -63
  261. package/dist/view/wrapper/completeness-group.js +140 -93
  262. package/dist/view/wrapper/completeness.js +36 -44
  263. package/dist/view/wrapper/dashboard.js +104 -59
  264. package/dist/view/wrapper/funnel.js +40 -43
  265. package/dist/view/wrapper/heat-map.js +62 -70
  266. package/dist/view/wrapper/horizontal-bar-group.js +70 -58
  267. package/dist/view/wrapper/horizontal-bar-stack.js +48 -56
  268. package/dist/view/wrapper/horizontal-bar.js +41 -49
  269. package/dist/view/wrapper/index.js +107 -115
  270. package/dist/view/wrapper/line-group.js +49 -52
  271. package/dist/view/wrapper/line.js +42 -50
  272. package/dist/view/wrapper/map-bubble.js +40 -48
  273. package/dist/view/wrapper/map-world-bubble.js +40 -47
  274. package/dist/view/wrapper/map-world.js +42 -49
  275. package/dist/view/wrapper/map.js +42 -50
  276. package/dist/view/wrapper/mirror.js +41 -49
  277. package/dist/view/wrapper/pie.js +45 -53
  278. package/dist/view/wrapper/ring.js +50 -58
  279. package/dist/view/wrapper/scatter.js +50 -56
  280. package/dist/view/wrapper/table/index.js +14 -22
  281. package/dist/view/wrapper/table/one-dimension-table-no-numeric-columns.js +49 -57
  282. package/dist/view/wrapper/table/one-dimension-table-with-numeric-columns.js +53 -61
  283. package/dist/view/wrapper/table/pivot-table-display-name.js +82 -90
  284. package/dist/view/wrapper/table/two-dimension-table.js +85 -92
  285. package/dist/view/wrapper/table-element/components/dataset-utils.js +23 -36
  286. package/dist/view/wrapper/table-element/components/formatter.js +90 -99
  287. package/dist/view/wrapper/table-element/components/formatters/FileFormatter/index.js +23 -32
  288. package/dist/view/wrapper/table-element/components/formatters/formula-formatter.js +9 -16
  289. package/dist/view/wrapper/table-element/components/formatters/link-formatter.js +90 -97
  290. package/dist/view/wrapper/table-element/components/formula-formatter.js +9 -16
  291. package/dist/view/wrapper/table-element/components/link-formatter.js +90 -97
  292. package/dist/view/wrapper/table-element/components/record.js +13 -20
  293. package/dist/view/wrapper/table-element/components/records-body.js +9 -17
  294. package/dist/view/wrapper/table-element/components/records-header/index.js +7 -16
  295. package/dist/view/wrapper/table-element/components/records-header/records-header-cell.js +8 -16
  296. package/dist/view/wrapper/table-element/components/records.js +25 -33
  297. package/dist/view/wrapper/table-element/components/resize-column-handle/resize-column-handle.js +8 -13
  298. package/dist/view/wrapper/table-element/components/utils.js +6 -16
  299. package/dist/view/wrapper/table-element/components/value-display-utils.js +4 -11
  300. package/dist/view/wrapper/table-element/components/vertical-scrollbar/index.js +6 -13
  301. package/dist/view/wrapper/table-element/index.js +30 -43
  302. package/dist/view/wrapper/treemap.js +38 -46
  303. package/dist/view/wrapper/trend.js +80 -65
  304. package/package.json +15 -12
@@ -1,56 +1,50 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.isLookupImages = exports.getRowRecord = exports.getFormattedCell = exports.getFilterConditions = exports.getCellRecordWidth = exports.UNSHOW_COLUMN_TYPE = void 0;
8
- var _ButtonFormatter2 = _interopRequireDefault(require("dtable-ui-component/lib/ButtonFormatter"));
9
- var _RateFormatter2 = _interopRequireDefault(require("dtable-ui-component/lib/RateFormatter"));
10
- var _react = _interopRequireDefault(require("react"));
11
- var _dtableUtils = require("dtable-utils");
12
- var _dayjs = _interopRequireDefault(require("dayjs"));
13
- var _lodashEs = require("lodash-es");
14
- var _cellFormatterFactory = _interopRequireDefault(require("../components/cell-factory/cell-formatter-factory"));
15
- var _SimpleCellFormatter = _interopRequireDefault(require("../components/cell-factory/SimpleCellFormatter"));
16
- var _SingleSelectOption = _interopRequireDefault(require("../components/cell-factory/SingleSelectOption"));
17
- var _commonUtils = require("../utils/common-utils");
18
- var _highlighter = _interopRequireDefault(require("../components/highlighter/highlighter"));
19
- var _digitalSignUtils = _interopRequireDefault(require("../utils/digital-sign-utils"));
20
- var _columnUtils = require("../utils/column-utils");
21
- var _context = _interopRequireDefault(require("../context"));
22
- var _constants = require("../constants");
23
- var _sql = require("./sql");
24
- var _chartUtils = require("./chart-utils");
25
- const UNSHOW_COLUMN_TYPE = exports.UNSHOW_COLUMN_TYPE = [_dtableUtils.CellType.LINK, _dtableUtils.CellType.LONG_TEXT, _dtableUtils.CellType.FORMULA, _dtableUtils.CellType.LINK_FORMULA];
26
- const getCellRecordWidth = column => {
1
+ import _ButtonFormatter from "dtable-ui-component/lib/ButtonFormatter";
2
+ import _RateFormatter from "dtable-ui-component/lib/RateFormatter";
3
+ import React from 'react';
4
+ import { CellType, FORMULA_RESULT_TYPE, COLLABORATOR_COLUMN_TYPES, getNumberDisplayString, getDateDisplayString, getCellValueStringResult, isNumber, isValidLink, getColumnOptions } from 'dtable-utils';
5
+ import dayjs from 'dayjs';
6
+ import { isEqual } from 'lodash-es';
7
+ import cellFormatterFactory from '../components/cell-factory/cell-formatter-factory';
8
+ import SimpleCellFormatter from '../components/cell-factory/SimpleCellFormatter';
9
+ import SingleSelectOption from '../components/cell-factory/SingleSelectOption';
10
+ import { isFunction, getFileIconUrl, getImageThumbnailUrl, isArchiveViewRowData } from '../utils/common-utils';
11
+ import Highlighter from '../components/highlighter/highlighter';
12
+ import DigitalSignUtils from '../utils/digital-sign-utils';
13
+ import { getColumnByKey } from '../utils/column-utils';
14
+ import context from '../context';
15
+ import { xAxisMap, groupAxisMap } from '../constants';
16
+ import { CHART_TYPE } from '../constants/type';
17
+ import { chartColumn2SqlColumn } from './sql';
18
+ import { BaseUtils } from './chart-utils';
19
+ export const UNSHOW_COLUMN_TYPE = [CellType.LINK, CellType.LONG_TEXT, CellType.FORMULA, CellType.LINK_FORMULA];
20
+ export const getCellRecordWidth = column => {
27
21
  let {
28
22
  type,
29
23
  data
30
24
  } = column;
31
25
  switch (type) {
32
- case _dtableUtils.CellType.DATE:
26
+ case CellType.DATE:
33
27
  {
34
28
  let isShowHourAndMinute = data && data.format && data.format.indexOf('HH:mm') > -1;
35
29
  return isShowHourAndMinute ? 160 : 100;
36
30
  }
37
- case _dtableUtils.CellType.CTIME:
38
- case _dtableUtils.CellType.MTIME:
39
- case _dtableUtils.CellType.LINK:
40
- case _dtableUtils.CellType.GEOLOCATION:
31
+ case CellType.CTIME:
32
+ case CellType.MTIME:
33
+ case CellType.LINK:
34
+ case CellType.GEOLOCATION:
41
35
  {
42
36
  return 160;
43
37
  }
44
- case _dtableUtils.CellType.COLLABORATOR:
38
+ case CellType.COLLABORATOR:
45
39
  {
46
40
  return 100;
47
41
  }
48
- case _dtableUtils.CellType.CHECKBOX:
42
+ case CellType.CHECKBOX:
49
43
  {
50
44
  return 40;
51
45
  }
52
- case _dtableUtils.CellType.NUMBER:
53
- case _dtableUtils.CellType.AUTO_NUMBER:
46
+ case CellType.NUMBER:
47
+ case CellType.AUTO_NUMBER:
54
48
  {
55
49
  return 120;
56
50
  }
@@ -60,8 +54,7 @@ const getCellRecordWidth = column => {
60
54
  }
61
55
  }
62
56
  };
63
- exports.getCellRecordWidth = getCellRecordWidth;
64
- const getRowRecord = function (currentTableId, row, columns, unShowColumnKeyList) {
57
+ export const getRowRecord = function (currentTableId, row, columns, unShowColumnKeyList) {
65
58
  let matchedResult = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
66
59
  if (!Array.isArray(unShowColumnKeyList)) {
67
60
  unShowColumnKeyList = [];
@@ -78,62 +71,60 @@ const getRowRecord = function (currentTableId, row, columns, unShowColumnKeyList
78
71
  }, column.width);
79
72
  });
80
73
  };
81
- exports.getRowRecord = getRowRecord;
82
- const isLookupImages = column => {
74
+ export const isLookupImages = column => {
83
75
  const {
84
76
  type,
85
77
  data
86
78
  } = column;
87
- if (type !== _dtableUtils.CellType.LINK_FORMULA) return false;
79
+ if (type !== CellType.LINK_FORMULA) return false;
88
80
  const {
89
81
  result_type,
90
82
  array_type
91
83
  } = data || {};
92
- if (result_type !== _dtableUtils.FORMULA_RESULT_TYPE.ARRAY) return false;
93
- return array_type === _dtableUtils.CellType.IMAGE || array_type === _dtableUtils.CellType.DIGITAL_SIGN;
84
+ if (result_type !== FORMULA_RESULT_TYPE.ARRAY) return false;
85
+ return array_type === CellType.IMAGE || array_type === CellType.DIGITAL_SIGN;
94
86
  };
95
- exports.isLookupImages = isLookupImages;
96
87
  function _getCellRecord(displayValue, rowId, column, columnWidth) {
97
88
  let {
98
89
  key
99
90
  } = column;
100
- return /*#__PURE__*/_react.default.createElement("div", {
91
+ return /*#__PURE__*/React.createElement("div", {
101
92
  className: "row-cell-value text-truncate",
102
93
  key: rowId + '_' + key,
103
94
  style: {
104
95
  width: columnWidth
105
96
  }
106
- }, displayValue ? displayValue : /*#__PURE__*/_react.default.createElement("span", {
97
+ }, displayValue ? displayValue : /*#__PURE__*/React.createElement("span", {
107
98
  className: "row-cell-value-empty"
108
99
  }));
109
100
  }
110
101
  function _renderSearch(value, searchValue) {
111
- return /*#__PURE__*/_react.default.createElement("span", {
102
+ return /*#__PURE__*/React.createElement("span", {
112
103
  className: "cell-value-ellipsis text-truncate",
113
104
  title: value
114
- }, /*#__PURE__*/_react.default.createElement(_highlighter.default, {
105
+ }, /*#__PURE__*/React.createElement(Highlighter, {
115
106
  highlight: searchValue
116
107
  }, value));
117
108
  }
118
109
  function getLookupImagesDOMs(value, arrayType) {
119
110
  if (!value) return null;
120
111
  let images = Array.isArray(value) ? value : [value];
121
- if (arrayType === _dtableUtils.CellType.DIGITAL_SIGN) {
122
- images = value.map(sign => _digitalSignUtils.default.getSignImageUrl(sign)).filter(Boolean);
112
+ if (arrayType === CellType.DIGITAL_SIGN) {
113
+ images = value.map(sign => DigitalSignUtils.getSignImageUrl(sign)).filter(Boolean);
123
114
  }
124
115
  const amount = images.length;
125
116
  if (amount === 0) return null;
126
- const imgSrc = (0, _commonUtils.getImageThumbnailUrl)(images[0]);
127
- return /*#__PURE__*/_react.default.createElement("div", {
117
+ const imgSrc = getImageThumbnailUrl(images[0]);
118
+ return /*#__PURE__*/React.createElement("div", {
128
119
  className: "image-cell-value"
129
- }, /*#__PURE__*/_react.default.createElement("img", {
120
+ }, /*#__PURE__*/React.createElement("img", {
130
121
  alt: "",
131
122
  src: imgSrc
132
- }), amount > 1 && /*#__PURE__*/_react.default.createElement("span", {
123
+ }), amount > 1 && /*#__PURE__*/React.createElement("span", {
133
124
  className: "cell-value-size"
134
125
  }, '+' + amount));
135
126
  }
136
- const getFormattedCell = function (column, row) {
127
+ export const getFormattedCell = function (column, row) {
137
128
  let {
138
129
  formulaRow = {},
139
130
  searchValue = null,
@@ -150,15 +141,15 @@ const getFormattedCell = function (column, row) {
150
141
  let value = row[key];
151
142
  let displayValue;
152
143
  let isNonEmptyArray = Array.isArray(value) && value.length > 0;
153
- const departments = _context.default.getDepartments();
144
+ const departments = context.getDepartments();
154
145
  switch (type) {
155
- case _dtableUtils.CellType.TEXT:
146
+ case CellType.TEXT:
156
147
  {
157
148
  if (value && typeof value === 'string') {
158
149
  if (searchValue) {
159
150
  displayValue = _renderSearch(value, searchValue);
160
151
  } else {
161
- displayValue = /*#__PURE__*/_react.default.createElement("span", {
152
+ displayValue = /*#__PURE__*/React.createElement("span", {
162
153
  className: "cell-value-ellipsis text-truncate",
163
154
  title: value
164
155
  }, value);
@@ -166,59 +157,59 @@ const getFormattedCell = function (column, row) {
166
157
  }
167
158
  break;
168
159
  }
169
- case _dtableUtils.CellType.DATE:
160
+ case CellType.DATE:
170
161
  {
171
162
  if (value && typeof value === 'string') {
172
163
  const format = column.data && column.data.format ? column.data.format : 'YYYY-MM-DD';
173
- const formatValue = (0, _dtableUtils.getDateDisplayString)(value, format);
164
+ const formatValue = getDateDisplayString(value, format);
174
165
  displayValue = searchValue ? _renderSearch(formatValue, searchValue) : formatValue;
175
166
  }
176
167
  break;
177
168
  }
178
- case _dtableUtils.CellType.CTIME:
179
- case _dtableUtils.CellType.MTIME:
169
+ case CellType.CTIME:
170
+ case CellType.MTIME:
180
171
  {
181
172
  if (value && typeof value === 'string') {
182
173
  if (searchValue) {
183
- displayValue = /*#__PURE__*/_react.default.createElement(_highlighter.default, {
174
+ displayValue = /*#__PURE__*/React.createElement(Highlighter, {
184
175
  highlight: searchValue
185
- }, (0, _dayjs.default)(value).format('YYYY-MM-DD HH:mm:ss'));
176
+ }, dayjs(value).format('YYYY-MM-DD HH:mm:ss'));
186
177
  } else {
187
- displayValue = (0, _dayjs.default)(value).format('YYYY-MM-DD HH:mm:ss');
178
+ displayValue = dayjs(value).format('YYYY-MM-DD HH:mm:ss');
188
179
  }
189
180
  }
190
181
  break;
191
182
  }
192
- case _dtableUtils.CellType.NUMBER:
183
+ case CellType.NUMBER:
193
184
  {
194
- if ((0, _dtableUtils.isNumber)(value)) {
185
+ if (isNumber(value)) {
195
186
  const {
196
187
  data = {}
197
188
  } = column;
198
- const formatedValue = (0, _dtableUtils.getNumberDisplayString)(value, data);
189
+ const formatedValue = getNumberDisplayString(value, data);
199
190
  if (searchValue) {
200
191
  displayValue = _renderSearch(formatedValue, searchValue);
201
192
  } else {
202
- displayValue = /*#__PURE__*/_react.default.createElement("div", {
193
+ displayValue = /*#__PURE__*/React.createElement("div", {
203
194
  className: "number-formatter"
204
195
  }, formatedValue);
205
196
  }
206
197
  }
207
198
  break;
208
199
  }
209
- case _dtableUtils.CellType.LINK:
200
+ case CellType.LINK:
210
201
  {
211
202
  displayValue = null;
212
203
  const {
213
204
  data
214
205
  } = column;
215
- if (!(0, _dtableUtils.isValidLink)(data)) break;
206
+ if (!isValidLink(data)) break;
216
207
 
217
208
  // is default view: row data can get from formula row
218
209
  // is archive view: row data can get form rowdata
219
- value = (0, _commonUtils.isArchiveViewRowData)(row, column) ? value : formulaRow[key];
210
+ value = isArchiveViewRowData(row, column) ? value : formulaRow[key];
220
211
  if (!value || !Array.isArray(value) || value.length === 0) break;
221
- const collaborators = _context.default.getCollaboratorsFromCache();
212
+ const collaborators = context.getCollaboratorsFromCache();
222
213
  const {
223
214
  display_column_key,
224
215
  array_type,
@@ -230,9 +221,9 @@ const getFormattedCell = function (column, row) {
230
221
  type: array_type,
231
222
  data: array_data
232
223
  };
233
- displayValue = /*#__PURE__*/_react.default.createElement("div", {
224
+ displayValue = /*#__PURE__*/React.createElement("div", {
234
225
  className: "links-formatter"
235
- }, /*#__PURE__*/_react.default.createElement("div", {
226
+ }, /*#__PURE__*/React.createElement("div", {
236
227
  className: "formatter-show"
237
228
  }, value.map(item => {
238
229
  const {
@@ -246,24 +237,24 @@ const getFormattedCell = function (column, row) {
246
237
  const formulaRows = {
247
238
  [rowId]: linkedRow
248
239
  };
249
- const displayResult = (0, _dtableUtils.getCellValueStringResult)(linkedRow, linkedColumn, {
240
+ const displayResult = getCellValueStringResult(linkedRow, linkedColumn, {
250
241
  formulaRows,
251
242
  collaborators,
252
243
  departments
253
244
  });
254
- return /*#__PURE__*/_react.default.createElement("div", {
255
- key: "".concat(rowId, "_").concat(display_column_key),
245
+ return /*#__PURE__*/React.createElement("div", {
246
+ key: `${rowId}_${display_column_key}`,
256
247
  className: "link"
257
- }, /*#__PURE__*/_react.default.createElement("span", {
248
+ }, /*#__PURE__*/React.createElement("span", {
258
249
  className: "link-name"
259
250
  }, displayResult));
260
251
  })));
261
252
  break;
262
253
  }
263
- case _dtableUtils.CellType.COLLABORATOR:
254
+ case CellType.COLLABORATOR:
264
255
  {
265
256
  if (value && isNonEmptyArray) {
266
- const allCollaborators = _context.default.getCollaboratorsFromCache();
257
+ const allCollaborators = context.getCollaboratorsFromCache();
267
258
  let validValue = value.filter(item => {
268
259
  return allCollaborators.find(collaborator => collaborator.email === item);
269
260
  });
@@ -275,81 +266,81 @@ const getFormattedCell = function (column, row) {
275
266
  }
276
267
  break;
277
268
  }
278
- case _dtableUtils.CellType.SINGLE_SELECT:
269
+ case CellType.SINGLE_SELECT:
279
270
  {
280
271
  if (value && typeof value === 'string') {
281
- displayValue = /*#__PURE__*/_react.default.createElement(_SingleSelectOption.default, {
272
+ displayValue = /*#__PURE__*/React.createElement(SingleSelectOption, {
282
273
  column: column,
283
274
  value: value
284
275
  });
285
276
  }
286
277
  break;
287
278
  }
288
- case _dtableUtils.CellType.MULTIPLE_SELECT:
279
+ case CellType.MULTIPLE_SELECT:
289
280
  {
290
281
  if (value && isNonEmptyArray) {
291
- displayValue = /*#__PURE__*/_react.default.createElement("span", {
282
+ displayValue = /*#__PURE__*/React.createElement("span", {
292
283
  className: "multiple-select-formatter"
293
284
  }, value.map((item, index) => {
294
- return /*#__PURE__*/_react.default.createElement(_SingleSelectOption.default, {
285
+ return /*#__PURE__*/React.createElement(SingleSelectOption, {
295
286
  column: column,
296
287
  value: item,
297
- key: "row-operation-multiple-select-".concat(index)
288
+ key: `row-operation-multiple-select-${index}`
298
289
  });
299
290
  }));
300
291
  }
301
292
  break;
302
293
  }
303
- case _dtableUtils.CellType.FILE:
294
+ case CellType.FILE:
304
295
  {
305
296
  if (value && isNonEmptyArray) {
306
297
  let {
307
298
  name,
308
299
  type
309
300
  } = value[0];
310
- let fileIconUrl = (0, _commonUtils.getFileIconUrl)(name, type);
301
+ let fileIconUrl = getFileIconUrl(name, type);
311
302
  let amount = value.length;
312
- displayValue = /*#__PURE__*/_react.default.createElement("div", {
303
+ displayValue = /*#__PURE__*/React.createElement("div", {
313
304
  className: "image-cell-value"
314
- }, /*#__PURE__*/_react.default.createElement("img", {
305
+ }, /*#__PURE__*/React.createElement("img", {
315
306
  alt: "",
316
307
  src: fileIconUrl
317
- }), amount > 1 && /*#__PURE__*/_react.default.createElement("span", {
308
+ }), amount > 1 && /*#__PURE__*/React.createElement("span", {
318
309
  className: "cell-value-size"
319
310
  }, '+' + amount));
320
311
  }
321
312
  break;
322
313
  }
323
- case _dtableUtils.CellType.IMAGE:
314
+ case CellType.IMAGE:
324
315
  {
325
316
  if (value && isNonEmptyArray) {
326
- const imgSrc = (0, _commonUtils.getImageThumbnailUrl)(value[0]);
317
+ const imgSrc = getImageThumbnailUrl(value[0]);
327
318
  const amount = value.length;
328
- displayValue = /*#__PURE__*/_react.default.createElement("div", {
319
+ displayValue = /*#__PURE__*/React.createElement("div", {
329
320
  className: "image-cell-value"
330
- }, /*#__PURE__*/_react.default.createElement("img", {
321
+ }, /*#__PURE__*/React.createElement("img", {
331
322
  alt: "",
332
323
  src: imgSrc
333
- }), amount > 1 && /*#__PURE__*/_react.default.createElement("span", {
324
+ }), amount > 1 && /*#__PURE__*/React.createElement("span", {
334
325
  className: "cell-value-size"
335
326
  }, '+' + amount));
336
327
  }
337
328
  break;
338
329
  }
339
- case _dtableUtils.CellType.DIGITAL_SIGN:
330
+ case CellType.DIGITAL_SIGN:
340
331
  {
341
- const signImageUrl = (0, _commonUtils.getImageThumbnailUrl)(_digitalSignUtils.default.getSignImageUrl(value));
332
+ const signImageUrl = getImageThumbnailUrl(DigitalSignUtils.getSignImageUrl(value));
342
333
  if (signImageUrl) {
343
- displayValue = /*#__PURE__*/_react.default.createElement("div", {
334
+ displayValue = /*#__PURE__*/React.createElement("div", {
344
335
  className: "image-cell-value"
345
- }, /*#__PURE__*/_react.default.createElement("img", {
336
+ }, /*#__PURE__*/React.createElement("img", {
346
337
  src: signImageUrl,
347
338
  alt: ""
348
339
  }));
349
340
  }
350
341
  break;
351
342
  }
352
- case _dtableUtils.CellType.DEPARTMENT_SINGLE_SELECT:
343
+ case CellType.DEPARTMENT_SINGLE_SELECT:
353
344
  {
354
345
  if (value) {
355
346
  displayValue = createColumnFormatter(type, {
@@ -359,10 +350,10 @@ const getFormattedCell = function (column, row) {
359
350
  }
360
351
  break;
361
352
  }
362
- case _dtableUtils.CellType.CHECKBOX:
353
+ case CellType.CHECKBOX:
363
354
  {
364
355
  if (value) {
365
- displayValue = /*#__PURE__*/_react.default.createElement("span", {
356
+ displayValue = /*#__PURE__*/React.createElement("span", {
366
357
  className: "dtable-font dtable-icon-check-mark",
367
358
  style: {
368
359
  color: '#20c933'
@@ -371,10 +362,10 @@ const getFormattedCell = function (column, row) {
371
362
  }
372
363
  break;
373
364
  }
374
- case _dtableUtils.CellType.GEOLOCATION:
365
+ case CellType.GEOLOCATION:
375
366
  {
376
367
  if (value && typeof value === 'object') {
377
- displayValue = /*#__PURE__*/_react.default.createElement("div", {
368
+ displayValue = /*#__PURE__*/React.createElement("div", {
378
369
  className: "geolocation-formatter"
379
370
  }, createColumnFormatter(type, {
380
371
  value,
@@ -385,10 +376,10 @@ const getFormattedCell = function (column, row) {
385
376
  }
386
377
  break;
387
378
  }
388
- case _dtableUtils.CellType.CREATOR:
389
- case _dtableUtils.CellType.LAST_MODIFIER:
379
+ case CellType.CREATOR:
380
+ case CellType.LAST_MODIFIER:
390
381
  {
391
- const collaborators = _context.default.getCollaboratorsFromCache();
382
+ const collaborators = context.getCollaboratorsFromCache();
392
383
  if (value) {
393
384
  displayValue = createColumnFormatter(type, {
394
385
  value,
@@ -397,7 +388,7 @@ const getFormattedCell = function (column, row) {
397
388
  }
398
389
  break;
399
390
  }
400
- case _dtableUtils.CellType.LONG_TEXT:
391
+ case CellType.LONG_TEXT:
401
392
  {
402
393
  if (value) {
403
394
  displayValue = createColumnFormatter(type, {
@@ -407,8 +398,8 @@ const getFormattedCell = function (column, row) {
407
398
  }
408
399
  break;
409
400
  }
410
- case _dtableUtils.CellType.FORMULA:
411
- case _dtableUtils.CellType.LINK_FORMULA:
401
+ case CellType.FORMULA:
402
+ case CellType.LINK_FORMULA:
412
403
  {
413
404
  if (!formulaRow) {
414
405
  break;
@@ -419,7 +410,7 @@ const getFormattedCell = function (column, row) {
419
410
  displayValue = getLookupImagesDOMs(newValue, column.data.array_type);
420
411
  break;
421
412
  }
422
- const collaborators = _context.default.getCollaboratorsFromCache();
413
+ const collaborators = context.getCollaboratorsFromCache();
423
414
  let formatterProps = {
424
415
  value: newValue,
425
416
  column,
@@ -432,9 +423,9 @@ const getFormattedCell = function (column, row) {
432
423
  break;
433
424
  }
434
425
  // email, url, audo_number are same
435
- case _dtableUtils.CellType.EMAIL:
436
- case _dtableUtils.CellType.URL:
437
- case _dtableUtils.CellType.AUTO_NUMBER:
426
+ case CellType.EMAIL:
427
+ case CellType.URL:
428
+ case CellType.AUTO_NUMBER:
438
429
  {
439
430
  if (value) {
440
431
  displayValue = searchValue ? _renderSearch(value, searchValue) : createColumnFormatter(type, {
@@ -443,7 +434,7 @@ const getFormattedCell = function (column, row) {
443
434
  }
444
435
  break;
445
436
  }
446
- case _dtableUtils.CellType.DURATION:
437
+ case CellType.DURATION:
447
438
  {
448
439
  if (value) {
449
440
  displayValue = createColumnFormatter(type, {
@@ -453,10 +444,10 @@ const getFormattedCell = function (column, row) {
453
444
  }
454
445
  break;
455
446
  }
456
- case _dtableUtils.CellType.RATE:
447
+ case CellType.RATE:
457
448
  {
458
449
  if (value) {
459
- displayValue = /*#__PURE__*/_react.default.createElement(_RateFormatter2.default, {
450
+ displayValue = /*#__PURE__*/React.createElement(_RateFormatter, {
460
451
  value: value,
461
452
  column: column,
462
453
  editable: false
@@ -464,9 +455,9 @@ const getFormattedCell = function (column, row) {
464
455
  }
465
456
  break;
466
457
  }
467
- case _dtableUtils.CellType.BUTTON:
458
+ case CellType.BUTTON:
468
459
  {
469
- displayValue = /*#__PURE__*/_react.default.createElement(_ButtonFormatter2.default, {
460
+ displayValue = /*#__PURE__*/React.createElement(_ButtonFormatter, {
470
461
  row: row,
471
462
  column: column,
472
463
  preventClickEvent: true,
@@ -482,76 +473,108 @@ const getFormattedCell = function (column, row) {
482
473
  }
483
474
  return _getCellRecord(displayValue, rowId, column, columnWidth);
484
475
  };
485
- exports.getFormattedCell = getFormattedCell;
486
476
  const createColumnFormatter = (columnType, formatterProps) => {
487
- const Formatter = _cellFormatterFactory.default.createFormatter(columnType);
488
- if (/*#__PURE__*/_react.default.isValidElement(Formatter)) {
489
- return /*#__PURE__*/_react.default.cloneElement(Formatter, {
477
+ const Formatter = cellFormatterFactory.createFormatter(columnType);
478
+ if (React.isValidElement(Formatter)) {
479
+ return React.cloneElement(Formatter, {
490
480
  ...formatterProps
491
481
  });
492
- } else if ((0, _commonUtils.isFunction)(Formatter)) {
493
- return /*#__PURE__*/_react.default.createElement(Formatter, formatterProps);
482
+ } else if (isFunction(Formatter)) {
483
+ return /*#__PURE__*/React.createElement(Formatter, formatterProps);
494
484
  }
495
- return /*#__PURE__*/_react.default.createElement(_SimpleCellFormatter.default, formatterProps);
485
+ return /*#__PURE__*/React.createElement(SimpleCellFormatter, formatterProps);
496
486
  };
497
487
  const filterPredicateMap = {
498
- [_dtableUtils.CellType.TEXT]: 'is',
499
- [_dtableUtils.CellType.NUMBER]: 'equal',
500
- [_dtableUtils.CellType.CHECKBOX]: 'is',
501
- [_dtableUtils.CellType.DATE]: 'is',
502
- [_dtableUtils.CellType.CTIME]: 'is',
503
- [_dtableUtils.CellType.MTIME]: 'is',
504
- [_dtableUtils.CellType.SINGLE_SELECT]: 'is',
505
- [_dtableUtils.CellType.MULTIPLE_SELECT]: 'has_all_of',
506
- [_dtableUtils.CellType.DEPARTMENT_SINGLE_SELECT]: 'is',
507
- [_dtableUtils.CellType.COLLABORATOR]: 'has_all_of',
508
- [_dtableUtils.CellType.CREATOR]: 'is',
509
- [_dtableUtils.CellType.LAST_MODIFIER]: 'is',
510
- [_dtableUtils.CellType.AUTO_NUMBER]: 'is',
511
- [_dtableUtils.CellType.EMAIL]: 'is',
512
- [_dtableUtils.CellType.URL]: 'is',
513
- [_dtableUtils.CellType.STRING]: 'is',
514
- [_dtableUtils.CellType.BOOL]: 'is',
515
- [_dtableUtils.CellType.LINK_FORMULA]: 'has_any_of'
488
+ [CellType.TEXT]: 'is',
489
+ [CellType.NUMBER]: 'equal',
490
+ [CellType.CHECKBOX]: 'is',
491
+ [CellType.DATE]: 'is',
492
+ [CellType.CTIME]: 'is',
493
+ [CellType.MTIME]: 'is',
494
+ [CellType.SINGLE_SELECT]: 'is',
495
+ [CellType.MULTIPLE_SELECT]: 'has_all_of',
496
+ [CellType.DEPARTMENT_SINGLE_SELECT]: 'is',
497
+ [CellType.COLLABORATOR]: 'has_all_of',
498
+ [CellType.CREATOR]: 'is',
499
+ [CellType.LAST_MODIFIER]: 'is',
500
+ [CellType.AUTO_NUMBER]: 'is',
501
+ [CellType.EMAIL]: 'is',
502
+ [CellType.URL]: 'is',
503
+ [CellType.STRING]: 'is',
504
+ [CellType.BOOL]: 'is',
505
+ [CellType.LINK_FORMULA]: 'is',
506
+ [CellType.LINK]: 'is'
516
507
  };
517
- const USE_OPTION_ID_CELL_TYPES = [_dtableUtils.CellType.SINGLE_SELECT, _dtableUtils.CellType.MULTIPLE_SELECT];
508
+ const USE_OPTION_ID_CELL_TYPES = [CellType.SINGLE_SELECT, CellType.MULTIPLE_SELECT];
518
509
  const getFilterByColumnTypeForPivot = (columnKey, columns, value, rows) => {
519
510
  if (!rows) rows = [];
520
511
  const filter = {
521
512
  column_key: columnKey || ''
522
513
  };
523
- const column = (0, _columnUtils.getColumnByKey)(columnKey, columns);
514
+ const column = getColumnByKey(columnKey, columns);
524
515
  if (!column) {
525
516
  return filter;
526
517
  }
527
518
  let type = column.type;
528
519
  const columnType = column.type;
529
- if (type === _dtableUtils.CellType.FORMULA) {
530
- type = column.data.result_type;
520
+ const {
521
+ result_type,
522
+ array_type
523
+ } = column.data || {};
524
+
525
+ // get the actual type for formula columns
526
+ if (type === CellType.FORMULA) {
527
+ if (result_type === FORMULA_RESULT_TYPE.ARRAY && array_type) {
528
+ type = array_type;
529
+ } else {
530
+ type = result_type;
531
+ }
532
+ }
533
+ if (type === CellType.LINK_FORMULA) {
534
+ type = array_type;
535
+ // extract display_value from link formula column value
536
+ if (Array.isArray(value) && value.length > 0) {
537
+ value = value[0];
538
+ }
531
539
  }
532
- if (type === _dtableUtils.CellType.LINK_FORMULA) {
533
- type = column.data.array_type;
540
+
541
+ // handle link column based on array_type
542
+ if (columnType === CellType.LINK) {
543
+ var _column$data, _value$;
544
+ const linkArrayType = (_column$data = column.data) === null || _column$data === void 0 ? void 0 : _column$data.array_type;
545
+ if (linkArrayType) {
546
+ type = linkArrayType;
547
+ }
548
+ // extract display_value from link column value
549
+ if (Array.isArray(value) && value.length > 0 && ((_value$ = value[0]) === null || _value$ === void 0 ? void 0 : _value$.display_value) !== undefined) {
550
+ value = value[0].display_value;
551
+ }
534
552
  }
535
- if (column && [_dtableUtils.CellType.GEOLOCATION, _dtableUtils.CellType.DATE, _dtableUtils.CellType.MTIME, _dtableUtils.CellType.CTIME].includes(type)) {
553
+ if (column && [CellType.GEOLOCATION, CellType.DATE, CellType.MTIME, CellType.CTIME].includes(type)) {
536
554
  filter['value'] = value;
537
555
  return filter;
538
556
  }
539
557
  if (typeof value === 'string') {
540
558
  value = value.trim();
541
559
  }
560
+
561
+ // handle collaborator type for formula/link_formula columns
562
+ const isFormulaCollaborator = (columnType === CellType.FORMULA || columnType === CellType.LINK_FORMULA) && result_type === FORMULA_RESULT_TYPE.ARRAY && COLLABORATOR_COLUMN_TYPES.includes(array_type);
542
563
  if (USE_OPTION_ID_CELL_TYPES.includes(column.type)) {
543
- const options = (0, _dtableUtils.getColumnOptions)(column);
564
+ const options = getColumnOptions(column);
544
565
  // name may contains spaces
545
566
  // value maybe id or name, find option by name or id
546
567
  const selectedOption = options.find(o => o.name.trim() === value || o.id === value);
547
568
  filter['filter_term'] = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.id;
569
+ } else if (isFormulaCollaborator) {
570
+ filter['filter_term'] = Array.isArray(value) ? value : [value];
548
571
  } else {
549
572
  // value may contains spaces
550
573
  filter['filter_term'] = value;
551
574
  }
552
-
553
- // link_formula use has_any_of
554
- if (columnType === _dtableUtils.CellType.LINK_FORMULA) {
575
+ if (isFormulaCollaborator) {
576
+ filter['filter_predicate'] = filterPredicateMap[CellType.COLLABORATOR];
577
+ } else if ([CellType.LINK_FORMULA, CellType.LINK].includes(columnType)) {
555
578
  filter['filter_predicate'] = filterPredicateMap[columnType];
556
579
  } else {
557
580
  filter['filter_predicate'] = filterPredicateMap[type];
@@ -565,7 +588,7 @@ const getFilterByColumnType = (columnKey, columns, rows, sqlColumnKey) => {
565
588
  };
566
589
 
567
590
  // need column to get type
568
- const column = (0, _columnUtils.getColumnByKey)(columnKey, columns);
591
+ const column = getColumnByKey(columnKey, columns);
569
592
  if (!column) {
570
593
  return filter;
571
594
  }
@@ -574,36 +597,70 @@ const getFilterByColumnType = (columnKey, columns, rows, sqlColumnKey) => {
574
597
  let value;
575
598
  let type = column.type;
576
599
  let columnType = column.type;
600
+ const {
601
+ result_type,
602
+ array_type
603
+ } = column.data || {};
577
604
  const correctRow = rows.find(r => sqlColumnKey in r);
578
605
  value = correctRow && correctRow[sqlColumnKey];
579
- if (type === _dtableUtils.CellType.FORMULA) {
580
- type = column.data.result_type;
606
+
607
+ // get the actual type for formula columns
608
+ if (type === CellType.FORMULA) {
609
+ if (result_type === FORMULA_RESULT_TYPE.ARRAY && array_type) {
610
+ type = array_type;
611
+ } else {
612
+ type = result_type;
613
+ }
581
614
  }
582
- if (type === _dtableUtils.CellType.LINK_FORMULA) {
583
- type = column.data.array_type;
615
+ if (type === CellType.LINK_FORMULA) {
616
+ type = array_type;
617
+ // extract display_value from link formula column value
618
+ if (Array.isArray(value) && value.length > 0) {
619
+ value = value[0];
620
+ }
584
621
  }
585
- if (column && [_dtableUtils.CellType.GEOLOCATION, _dtableUtils.CellType.DATE, _dtableUtils.CellType.MTIME, _dtableUtils.CellType.CTIME].includes(type)) {
622
+
623
+ // handle link column based on array_type
624
+ if (columnType === CellType.LINK) {
625
+ var _column$data2, _value$2;
626
+ const linkArrayType = (_column$data2 = column.data) === null || _column$data2 === void 0 ? void 0 : _column$data2.array_type;
627
+ if (linkArrayType) {
628
+ type = linkArrayType;
629
+ }
630
+ // extract display_value from link column value
631
+ if (Array.isArray(value) && value.length > 0 && ((_value$2 = value[0]) === null || _value$2 === void 0 ? void 0 : _value$2.display_value) !== undefined) {
632
+ value = value[0].display_value;
633
+ }
634
+ }
635
+ if (column && [CellType.GEOLOCATION, CellType.DATE, CellType.MTIME, CellType.CTIME].includes(type)) {
586
636
  // link_formula result is an array, but can't pass the value directly as an array here
587
637
  if (Array.isArray(value)) value = value[0];
588
638
  filter['value'] = value;
589
639
  return filter;
590
640
  }
591
641
 
642
+ // handle collaborator type for formula/link_formula columns
643
+ const isFormulaCollaborator = (columnType === CellType.FORMULA || columnType === CellType.LINK_FORMULA) && result_type === FORMULA_RESULT_TYPE.ARRAY && COLLABORATOR_COLUMN_TYPES.includes(array_type);
644
+
592
645
  // value may contains spaces
593
646
  if (typeof value === 'string') {
594
647
  value = value.trim();
595
648
  }
596
- filter['filter_term'] = value;
597
-
598
- // link_formula use has_any_of
599
- if (columnType === _dtableUtils.CellType.LINK_FORMULA) {
649
+ if (isFormulaCollaborator) {
650
+ filter['filter_term'] = Array.isArray(value) ? value : [value];
651
+ } else {
652
+ filter['filter_term'] = value;
653
+ }
654
+ if (isFormulaCollaborator) {
655
+ filter['filter_predicate'] = filterPredicateMap[CellType.COLLABORATOR];
656
+ } else if ([CellType.LINK_FORMULA, CellType.LINK].includes(columnType)) {
600
657
  filter['filter_predicate'] = filterPredicateMap[columnType];
601
658
  } else {
602
659
  filter['filter_predicate'] = filterPredicateMap[type];
603
660
  }
604
661
  return filter;
605
662
  };
606
- const getFilterConditions = (statisticRecord, chart, table) => {
663
+ export const getFilterConditions = (statisticRecord, chart, table) => {
607
664
  const columns = table.columns || [];
608
665
  const {
609
666
  name = '',
@@ -617,24 +674,32 @@ const getFilterConditions = (statisticRecord, chart, table) => {
617
674
  type
618
675
  } = config;
619
676
  const filters = [];
620
- const columnKey = _constants.xAxisMap[type];
621
- const groupColumnKey = _constants.groupAxisMap[type];
622
- chart.config = _chartUtils.BaseUtils.convertConfig(config);
623
- const chartSQLMap = (0, _sql.chartColumn2SqlColumn)(chart, table);
624
- const {
677
+ const columnKey = xAxisMap[type];
678
+ const groupColumnKey = groupAxisMap[type];
679
+ chart.config = BaseUtils.convertConfig(config);
680
+ const chartSQLMap = chartColumn2SqlColumn(chart, table);
681
+ let {
625
682
  sqlColumnGroupbyColumnKey,
626
- sqlGroupbyColumnKey
683
+ sqlGroupbyColumnKey,
684
+ sqlXColumnKey,
685
+ sqlYColumnKey
627
686
  } = chartSQLMap;
687
+ if (type === CHART_TYPE.COMPLETENESS_GROUP || type === CHART_TYPE.COMPLETENESS) {
688
+ const {
689
+ sqlColumns
690
+ } = chartSQLMap;
691
+ sqlGroupbyColumnKey = sqlColumns.name_column.key;
692
+ }
628
693
  if (isPivot && rows.length) {
629
694
  const xValueList = [];
630
695
  const yValueList = [];
631
696
  rows.forEach(r => {
632
697
  const xValue = r[sqlGroupbyColumnKey];
633
698
  const yValue = r[sqlColumnGroupbyColumnKey];
634
- if (!xValueList.some(v => (0, _lodashEs.isEqual)(v, xValue))) {
699
+ if (!xValueList.some(v => isEqual(v, xValue))) {
635
700
  xValueList.push(xValue);
636
701
  }
637
- if (!yValueList.some(v => (0, _lodashEs.isEqual)(v, yValue))) {
702
+ if (!yValueList.some(v => isEqual(v, yValue))) {
638
703
  yValueList.push(yValue);
639
704
  }
640
705
  });
@@ -648,19 +713,23 @@ const getFilterConditions = (statisticRecord, chart, table) => {
648
713
  });
649
714
  } else {
650
715
  if (name === '_Others') {
651
- const columnFilters = rows.map(row => getFilterByColumnType(config[columnKey], columns, [row], sqlGroupbyColumnKey));
652
- filters.push(...columnFilters);
716
+ const flters = rows.map(row => getFilterByColumnType(config[columnKey], columns, [row], sqlGroupbyColumnKey));
717
+ filters.push(...flters);
653
718
  } else {
654
- let columnFilter;
655
719
  if (['map', 'map_bubble'].includes(type)) {
656
- columnFilter = {
720
+ const filter = {
657
721
  column_key: config[columnKey],
658
722
  value: name
659
723
  };
724
+ filters.push(filter);
725
+ } else if (type === CHART_TYPE.SCATTER) {
726
+ const filterX = getFilterByColumnType(config['x_axis_column_key'], columns, rows, sqlXColumnKey);
727
+ const filterY = getFilterByColumnType(config['y_axis_column_key'], columns, rows, sqlYColumnKey);
728
+ filters.push(filterX, filterY);
660
729
  } else {
661
- columnFilter = getFilterByColumnType(config[columnKey], columns, rows, sqlGroupbyColumnKey);
730
+ const filter = getFilterByColumnType(config[columnKey], columns, rows, sqlGroupbyColumnKey);
731
+ filters.push(filter);
662
732
  }
663
- filters.push(columnFilter);
664
733
  }
665
734
  if (sqlColumnGroupbyColumnKey) {
666
735
  const groupColumnFilter = getFilterByColumnType(config[groupColumnKey], columns, rows, sqlColumnGroupbyColumnKey);
@@ -668,5 +737,4 @@ const getFilterConditions = (statisticRecord, chart, table) => {
668
737
  }
669
738
  }
670
739
  return filters;
671
- };
672
- exports.getFilterConditions = getFilterConditions;
740
+ };