dtable-utils 0.0.1 → 0.0.3-beta.1

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 (150) hide show
  1. package/README.md +30 -2
  2. package/dist/index.js +1 -1
  3. package/es/cell-value-get/cell-value.js +227 -19
  4. package/es/cell-value-get/collaborator.js +9 -3
  5. package/es/cell-value-get/digital-sign.js +1 -1
  6. package/es/cell-value-get/geolocation.js +41 -10
  7. package/es/cell-value-get/long-text.js +1 -1
  8. package/es/cell-value-get/number.js +42 -18
  9. package/es/cell-value-get/option.js +17 -7
  10. package/es/cell-value-get/rate.js +6 -0
  11. package/es/cell-value-set/date.js +20 -0
  12. package/es/cell-value-set/number.js +53 -1
  13. package/es/color/gradient-color.js +100 -0
  14. package/es/column/color.js +415 -0
  15. package/es/column/{common.js → core.js} +3 -15
  16. package/es/column/date.js +2 -3
  17. package/es/column/number.js +3 -5
  18. package/es/column/option.js +115 -0
  19. package/es/common.js +10 -1
  20. package/es/constants/color.js +16 -0
  21. package/es/constants/column-permission.js +7 -0
  22. package/es/constants/column.js +127 -2
  23. package/es/constants/filter/index.js +5 -1
  24. package/es/constants/grid-header.js +6 -0
  25. package/es/constants/group.js +23 -0
  26. package/es/constants/limit.js +3 -0
  27. package/es/constants/reg.js +4 -0
  28. package/es/constants/row-color.js +11 -0
  29. package/es/constants/sort.js +11 -0
  30. package/es/date.js +1 -1
  31. package/es/filter/core.js +287 -0
  32. package/es/filter/filter-column/array.js +82 -0
  33. package/es/filter/filter-column/checkbox.js +8 -0
  34. package/es/filter/filter-column/collaborator.js +67 -0
  35. package/es/filter/filter-column/creator.js +50 -0
  36. package/es/filter/filter-column/date.js +59 -0
  37. package/es/filter/filter-column/digital-sign.js +26 -0
  38. package/es/filter/filter-column/file.js +24 -0
  39. package/es/filter/filter-column/formula.js +49 -0
  40. package/es/filter/filter-column/geolocation.js +53 -0
  41. package/es/filter/filter-column/link.js +12 -0
  42. package/es/filter/filter-column/long-text.js +25 -0
  43. package/es/filter/filter-column/multiple-select.js +60 -0
  44. package/es/filter/filter-column/number.js +93 -0
  45. package/es/filter/filter-column/single-select.js +41 -0
  46. package/es/filter/filter-column/text.js +55 -0
  47. package/es/filter/filter-row.js +198 -0
  48. package/es/group/core.js +107 -0
  49. package/es/group/group-row.js +366 -0
  50. package/es/index.js +62 -10
  51. package/es/link/core.js +78 -0
  52. package/es/number.js +13 -0
  53. package/es/row/color.js +278 -0
  54. package/es/row/core.js +161 -0
  55. package/es/sort/core.js +32 -0
  56. package/es/sort/sort-column/array.js +63 -0
  57. package/es/sort/sort-column/checkbox.js +15 -0
  58. package/es/sort/sort-column/collaborator.js +9 -0
  59. package/es/sort/sort-column/date.js +25 -0
  60. package/es/sort/sort-column/formula.js +40 -0
  61. package/es/sort/sort-column/link.js +23 -0
  62. package/es/sort/sort-column/multiple-select.js +45 -0
  63. package/es/sort/sort-column/number.js +18 -0
  64. package/es/sort/sort-column/single-select.js +22 -0
  65. package/es/sort/sort-column/text.js +47 -0
  66. package/es/sort/sort-row.js +126 -0
  67. package/es/table/column.js +27 -0
  68. package/es/table/core.js +14 -0
  69. package/es/table/index.js +14 -0
  70. package/es/table/row.js +25 -0
  71. package/es/validate/filter.js +1 -1
  72. package/es/validate/geolocation.js +5 -0
  73. package/es/view/core.js +135 -0
  74. package/es/view/formula.js +143 -0
  75. package/es/view/group.js +32 -0
  76. package/es/view/summaries.js +179 -0
  77. package/lib/cell-value-get/cell-value.js +231 -18
  78. package/lib/cell-value-get/collaborator.js +9 -2
  79. package/lib/cell-value-get/digital-sign.js +1 -1
  80. package/lib/cell-value-get/geolocation.js +42 -10
  81. package/lib/cell-value-get/long-text.js +1 -1
  82. package/lib/cell-value-get/number.js +42 -17
  83. package/lib/cell-value-get/option.js +18 -6
  84. package/lib/cell-value-get/rate.js +10 -0
  85. package/lib/cell-value-set/date.js +24 -0
  86. package/lib/cell-value-set/number.js +53 -0
  87. package/lib/color/gradient-color.js +110 -0
  88. package/lib/column/color.js +424 -0
  89. package/lib/column/{common.js → core.js} +3 -16
  90. package/lib/column/date.js +2 -3
  91. package/lib/column/number.js +3 -5
  92. package/lib/column/option.js +123 -0
  93. package/lib/common.js +14 -0
  94. package/lib/constants/color.js +20 -0
  95. package/lib/constants/column-permission.js +11 -0
  96. package/lib/constants/column.js +134 -1
  97. package/lib/constants/filter/index.js +5 -0
  98. package/lib/constants/grid-header.js +10 -0
  99. package/lib/constants/group.js +36 -0
  100. package/lib/constants/limit.js +7 -0
  101. package/lib/constants/reg.js +9 -0
  102. package/lib/constants/row-color.js +17 -0
  103. package/lib/constants/sort.js +18 -0
  104. package/lib/filter/core.js +301 -0
  105. package/lib/filter/filter-column/array.js +86 -0
  106. package/lib/filter/filter-column/checkbox.js +12 -0
  107. package/lib/filter/filter-column/collaborator.js +75 -0
  108. package/lib/filter/filter-column/creator.js +54 -0
  109. package/lib/filter/filter-column/date.js +63 -0
  110. package/lib/filter/filter-column/digital-sign.js +30 -0
  111. package/lib/filter/filter-column/file.js +28 -0
  112. package/lib/filter/filter-column/formula.js +53 -0
  113. package/lib/filter/filter-column/geolocation.js +57 -0
  114. package/lib/filter/filter-column/link.js +16 -0
  115. package/lib/filter/filter-column/long-text.js +29 -0
  116. package/lib/filter/filter-column/multiple-select.js +68 -0
  117. package/lib/filter/filter-column/number.js +97 -0
  118. package/lib/filter/filter-column/single-select.js +45 -0
  119. package/lib/filter/filter-column/text.js +59 -0
  120. package/lib/filter/filter-row.js +204 -0
  121. package/lib/group/core.js +117 -0
  122. package/lib/group/group-row.js +377 -0
  123. package/lib/index.js +176 -6
  124. package/lib/link/core.js +90 -0
  125. package/lib/number.js +18 -0
  126. package/lib/row/color.js +286 -0
  127. package/lib/row/core.js +170 -0
  128. package/lib/sort/core.js +37 -0
  129. package/lib/sort/sort-column/array.js +67 -0
  130. package/lib/sort/sort-column/checkbox.js +19 -0
  131. package/lib/sort/sort-column/collaborator.js +13 -0
  132. package/lib/sort/sort-column/date.js +29 -0
  133. package/lib/sort/sort-column/formula.js +44 -0
  134. package/lib/sort/sort-column/link.js +27 -0
  135. package/lib/sort/sort-column/multiple-select.js +50 -0
  136. package/lib/sort/sort-column/number.js +22 -0
  137. package/lib/sort/sort-column/single-select.js +26 -0
  138. package/lib/sort/sort-column/text.js +52 -0
  139. package/lib/sort/sort-row.js +136 -0
  140. package/lib/table/column.js +32 -0
  141. package/lib/table/core.js +18 -0
  142. package/lib/table/index.js +18 -0
  143. package/lib/table/row.js +30 -0
  144. package/lib/validate/filter.js +3 -3
  145. package/lib/validate/geolocation.js +9 -0
  146. package/lib/view/core.js +144 -0
  147. package/lib/view/formula.js +150 -0
  148. package/lib/view/group.js +36 -0
  149. package/lib/view/summaries.js +185 -0
  150. package/package.json +4 -2
@@ -0,0 +1,123 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var selectOption = require('../constants/select-option.js');
6
+
7
+ /**
8
+ * Get options from single-select/multiple-select column.
9
+ * @param {object} column e.g. { type, data: { options: [] } }
10
+ * @returns options, array
11
+ */
12
+ var getColumnOptions = function getColumnOptions(column) {
13
+ if (!column || !column.data || !Array.isArray(column.data.options)) {
14
+ return [];
15
+ }
16
+ return column.data.options;
17
+ };
18
+ var generateOptionID = function generateOptionID(options) {
19
+ if (options.length === 1) return String(Math.floor(Math.random() * Math.pow(10, 6)));
20
+ var optionID;
21
+ var isIDUnique = false;
22
+ while (!isIDUnique) {
23
+ optionID = String(Math.floor(Math.random() * Math.pow(10, 6)));
24
+
25
+ // eslint-disable-next-line
26
+ isIDUnique = options.every(function (option) {
27
+ return option.id !== optionID;
28
+ });
29
+ if (isIDUnique) {
30
+ break;
31
+ }
32
+ }
33
+ return optionID;
34
+ };
35
+ var getRandomOptionColor = function getRandomOptionColor(options) {
36
+ var defaultOptions = selectOption.SELECT_OPTION_COLORS.slice(12, 24);
37
+ var colorIdx = Math.floor(Math.random() * defaultOptions.length);
38
+ if (!Array.isArray(options) || options.length === 0) {
39
+ return defaultOptions[colorIdx];
40
+ }
41
+
42
+ // Avoid using the same color for adjacent labels
43
+ var adjacentOptions = options.slice(-(defaultOptions.length - 1));
44
+ var adjacentOptionsColorIdxArr = [];
45
+ var selectOptionColorObj = {};
46
+ defaultOptions.forEach(function (colorItem, index) {
47
+ selectOptionColorObj[colorItem.COLOR] = index;
48
+ });
49
+ adjacentOptions.forEach(function (option) {
50
+ var optionColorIdx = selectOptionColorObj[option.color];
51
+ adjacentOptionsColorIdxArr.push(optionColorIdx);
52
+ });
53
+
54
+ // eslint-disable-next-line
55
+ while (adjacentOptionsColorIdxArr.indexOf(colorIdx) != -1) {
56
+ colorIdx = Math.floor(Math.random() * defaultOptions.length);
57
+ }
58
+ return defaultOptions[colorIdx] || defaultOptions[0];
59
+ };
60
+ var createOption = function createOption(options, optionName) {
61
+ var selectOptionColor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
62
+ var id = generateOptionID(options);
63
+ var optionColor = selectOptionColor && selectOption.SELECT_OPTION_COLORS.find(function (item) {
64
+ return item.COLOR === selectOptionColor;
65
+ });
66
+ if (!optionColor) {
67
+ optionColor = getRandomOptionColor(options);
68
+ }
69
+ return {
70
+ id: id,
71
+ name: optionName,
72
+ color: optionColor.COLOR,
73
+ textColor: optionColor.TEXT_COLOR
74
+ };
75
+ };
76
+ var generatorCellOption = function generatorCellOption(options, optionName) {
77
+ var existOption = options.find(function (option) {
78
+ return option.name === optionName;
79
+ });
80
+ if (existOption) {
81
+ return {
82
+ selectedOptionId: existOption.id
83
+ };
84
+ }
85
+ var newOption = createOption(options, optionName) || {};
86
+ return {
87
+ cellOption: newOption,
88
+ selectedOptionId: newOption.id
89
+ };
90
+ };
91
+ var generatorCellOptions = function generatorCellOptions(options, optionNames) {
92
+ var cellOptions = [];
93
+ var selectedOptionIds = [];
94
+ optionNames.forEach(function (optionName) {
95
+ var existingOption = options.find(function (option) {
96
+ return option.name === optionName;
97
+ });
98
+ if (existingOption) {
99
+ selectedOptionIds.push(existingOption.id);
100
+ } else {
101
+ var cellOption = createOption(options, optionName);
102
+ if (cellOption) {
103
+ cellOptions.push(cellOption);
104
+ selectedOptionIds.push(cellOption.id);
105
+ }
106
+ }
107
+ });
108
+ if (cellOptions.length === 0) {
109
+ return {
110
+ selectedOptionIds: selectedOptionIds
111
+ };
112
+ }
113
+ return {
114
+ cellOptions: cellOptions,
115
+ selectedOptionIds: selectedOptionIds
116
+ };
117
+ };
118
+
119
+ exports.createOption = createOption;
120
+ exports.generateOptionID = generateOptionID;
121
+ exports.generatorCellOption = generatorCellOption;
122
+ exports.generatorCellOptions = generatorCellOptions;
123
+ exports.getColumnOptions = getColumnOptions;
package/lib/common.js CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var _typeof = require('@babel/runtime/helpers/typeof');
6
+
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
+
9
+ var _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);
10
+
5
11
  /**
6
12
  * Generate a random string of specified length.
7
13
  * @param {number} keyLength
@@ -16,5 +22,13 @@ var generatorBase64Code = function generatorBase64Code() {
16
22
  }
17
23
  return key;
18
24
  };
25
+ var isEmpty = function isEmpty(val) {
26
+ if (val == null) return true;
27
+ if (val.length !== undefined) return val.length === 0;
28
+ if (val instanceof Date) return false;
29
+ if (_typeof__default["default"](val) === 'object') return Object.keys(val).length === 0;
30
+ return false;
31
+ };
19
32
 
20
33
  exports.generatorBase64Code = generatorBase64Code;
34
+ exports.isEmpty = isEmpty;
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var COLOR_GRADATION_OPTIONS = {
6
+ color_gradation_1: ['#FFFFFF', '#CAE9FF', '#9AC5FF', '#7DAAFF', '#5C90F9'],
7
+ color_gradation_2: ['#5C90F9', '#7DAAFF', '#9AC5FF', '#CAE9FF', '#FFFFFF'],
8
+ color_gradation_3: ['#FFFFFF', '#AAF7D2', '#74E6B6', '#42C090', '#17A675'],
9
+ color_gradation_4: ['#17A675', '#42C090', '#74E6B6', '#AAF7D2', '#FFFFFF'],
10
+ color_gradation_5: ['#FFFFFF', '#EBE2F1', '#D4C4E2', '#BFA8D4', '#A989C5'],
11
+ color_gradation_6: ['#A989C5', '#BFA8D4', '#D4C4E2', '#EBE2F1', '#FFFFFF'],
12
+ color_gradation_7: ['#FFFFFF', '#FBE2E1', '#F7C6C6', '#F3A9A9', '#F17F7E'],
13
+ color_gradation_8: ['#F17F7E', '#F3A9A9', '#F7C6C6', '#FBE2E1', '#FFFFFF'],
14
+ color_gradation_9: ['#FFFFFF', '#FFF2D4', '#FFE9B8', '#FFDD95', '#FFD470'],
15
+ color_gradation_10: ['#FFD470', '#FFDD95', '#FFE9B8', '#FFF2D4', '#FFFFFF'],
16
+ color_gradation_11: ['#FFFFFF', '#FEE6CE', '#FDD1A2', '#FDAD6B', '#FD8D3D'],
17
+ color_gradation_12: ['#FD8D3D', '#FDAD6B', '#FDD1A2', '#FEE6CE', '#FFFFFF']
18
+ };
19
+
20
+ exports.COLOR_GRADATION_OPTIONS = COLOR_GRADATION_OPTIONS;
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var COLUMN_PERMISSION_TYPE = {
6
+ NONE: 'none',
7
+ ADMINS: 'admins',
8
+ SPECIFIC_USERS: 'specific_users'
9
+ };
10
+
11
+ exports.COLUMN_PERMISSION_TYPE = COLUMN_PERMISSION_TYPE;
@@ -9,14 +9,124 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
9
9
 
10
10
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
11
11
 
12
- var _COLUMNS_ICON_CONFIG, _DURATION_DECIMAL_DIG, _DURATION_ZERO_DISPLA;
12
+ var _COLUMNS_ICON_CONFIG, _DURATION_DECIMAL_DIG, _DURATION_ZERO_DISPLA, _NOT_SUPPORT_EDIT_COL, _MULTIPLE_CELL_VALUE_, _SINGLE_CELL_VALUE_CO;
13
13
  var COLUMNS_ICON_CONFIG = (_COLUMNS_ICON_CONFIG = {}, _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.DEFAULT, 'dtable-font dtable-icon-single-line-text'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.TEXT, 'dtable-font dtable-icon-single-line-text'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.NUMBER, 'dtable-font dtable-icon-number'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.CHECKBOX, 'dtable-font dtable-icon-check-square-solid'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.DATE, 'dtable-font dtable-icon-calendar-alt-solid'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.SINGLE_SELECT, 'dtable-font dtable-icon-single-election'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.LONG_TEXT, 'dtable-font dtable-icon-long-text'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.IMAGE, 'dtable-font dtable-icon-picture'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.FILE, 'dtable-font dtable-icon-file-alt-solid'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.MULTIPLE_SELECT, 'dtable-font dtable-icon-multiple-selection'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.COLLABORATOR, 'dtable-font dtable-icon-collaborator'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.LINK, 'dtable-font dtable-icon-link-other-record'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.FORMULA, 'dtable-font dtable-icon-formula'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.LINK_FORMULA, 'dtable-font dtable-icon-link-formulas'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.CREATOR, 'dtable-font dtable-icon-creator'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.CTIME, 'dtable-font dtable-icon-creation-time'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.LAST_MODIFIER, 'dtable-font dtable-icon-creator'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.MTIME, 'dtable-font dtable-icon-creation-time'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.GEOLOCATION, 'dtable-font dtable-icon-location'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.AUTO_NUMBER, 'dtable-font dtable-icon-autonumber'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.URL, 'dtable-font dtable-icon-url'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.EMAIL, 'dtable-font dtable-icon-email'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.DURATION, 'dtable-font dtable-icon-duration'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.BUTTON, 'dtable-font dtable-icon-button'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.RATE, 'dtable-font dtable-icon-rate'), _defineProperty__default["default"](_COLUMNS_ICON_CONFIG, cellType.CellType.DIGITAL_SIGN, 'dtable-font dtable-icon-handwritten-signature'), _COLUMNS_ICON_CONFIG);
14
+ var COLUMN_OPTIONS = [{
15
+ iconName: 'Basic',
16
+ iconClass: '',
17
+ isDisabled: true
18
+ }, {
19
+ iconName: 'Text',
20
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.TEXT],
21
+ type: cellType.CellType.TEXT
22
+ }, {
23
+ iconName: 'Long_Text',
24
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.LONG_TEXT],
25
+ type: cellType.CellType.LONG_TEXT
26
+ }, {
27
+ iconName: 'Number',
28
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.NUMBER],
29
+ type: cellType.CellType.NUMBER
30
+ }, {
31
+ iconName: 'Collaborator',
32
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.COLLABORATOR],
33
+ type: cellType.CellType.COLLABORATOR
34
+ }, {
35
+ iconName: 'Date',
36
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.DATE],
37
+ type: cellType.CellType.DATE
38
+ }, {
39
+ iconName: 'Duration',
40
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.DURATION],
41
+ type: cellType.CellType.DURATION
42
+ }, {
43
+ iconName: 'Single_Select',
44
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.SINGLE_SELECT],
45
+ type: cellType.CellType.SINGLE_SELECT
46
+ }, {
47
+ iconName: 'Multiple_Select',
48
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.MULTIPLE_SELECT],
49
+ type: cellType.CellType.MULTIPLE_SELECT
50
+ }, {
51
+ iconName: 'Image',
52
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.IMAGE],
53
+ type: cellType.CellType.IMAGE
54
+ }, {
55
+ iconName: 'File',
56
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.FILE],
57
+ type: cellType.CellType.FILE
58
+ }, {
59
+ iconName: 'Email',
60
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.EMAIL],
61
+ type: cellType.CellType.EMAIL
62
+ }, {
63
+ iconName: 'URL',
64
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.URL],
65
+ type: cellType.CellType.URL
66
+ }, {
67
+ iconName: 'Checkbox',
68
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.CHECKBOX],
69
+ type: cellType.CellType.CHECKBOX
70
+ }, {
71
+ iconName: 'Rating',
72
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.RATE],
73
+ type: cellType.CellType.RATE
74
+ }, {
75
+ iconName: 'Advanced',
76
+ iconClass: '',
77
+ isDisabled: true
78
+ }, {
79
+ iconName: 'Formula',
80
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.FORMULA],
81
+ type: cellType.CellType.FORMULA
82
+ }, {
83
+ iconName: 'Link_formula',
84
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.LINK_FORMULA],
85
+ type: cellType.CellType.LINK_FORMULA
86
+ }, {
87
+ iconName: 'Geolocation',
88
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.GEOLOCATION],
89
+ type: cellType.CellType.GEOLOCATION
90
+ }, {
91
+ iconName: 'Link_to_other_records',
92
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.LINK],
93
+ type: cellType.CellType.LINK
94
+ }, {
95
+ iconName: 'Creator',
96
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.CREATOR],
97
+ type: cellType.CellType.CREATOR
98
+ }, {
99
+ iconName: 'CTime',
100
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.CTIME],
101
+ type: cellType.CellType.CTIME
102
+ }, {
103
+ iconName: 'Last_Modifier',
104
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.LAST_MODIFIER],
105
+ type: cellType.CellType.LAST_MODIFIER
106
+ }, {
107
+ iconName: 'Last_Modified_Time',
108
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.MTIME],
109
+ type: cellType.CellType.MTIME
110
+ }, {
111
+ iconName: 'Auto_number',
112
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.AUTO_NUMBER],
113
+ type: cellType.CellType.AUTO_NUMBER
114
+ }, {
115
+ iconName: 'Button',
116
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.BUTTON],
117
+ type: cellType.CellType.BUTTON
118
+ }, {
119
+ iconName: 'Digital_signature',
120
+ iconClass: COLUMNS_ICON_CONFIG[cellType.CellType.DIGITAL_SIGN],
121
+ type: cellType.CellType.DIGITAL_SIGN
122
+ }];
14
123
  var DATE_COLUMN_OPTIONS = [cellType.CellType.DATE, cellType.CellType.CTIME, cellType.CellType.MTIME];
15
124
  var NUMERIC_COLUMNS_TYPES = [cellType.CellType.NUMBER, cellType.CellType.DURATION, cellType.CellType.RATE];
16
125
  var COLLABORATOR_COLUMN_TYPES = [cellType.CellType.COLLABORATOR, cellType.CellType.CREATOR, cellType.CellType.LAST_MODIFIER];
17
126
 
18
127
  // date
19
128
  var DEFAULT_DATE_FORMAT = 'YYYY-MM-DD';
129
+ var UTC_FORMAT_DEFAULT = 'YYYY-MM-DDTHH:mm:ss.SSSZ';
20
130
  var DATE_UNIT = {
21
131
  YEAR: 'year',
22
132
  MONTH: 'month',
@@ -28,6 +138,11 @@ var DATE_UNIT = {
28
138
  MINUTES: 'minutes',
29
139
  SECOND: 'second'
30
140
  };
141
+ var DATE_FORMAT_MAP = {
142
+ YYYY_MM_DD: 'YYYY-MM-DD',
143
+ YYYY_MM_DD_HH_MM: 'YYYY-MM-DD HH:mm',
144
+ YYYY_MM_DD_HH_MM_SS: 'YYYY-MM-DD HH:mm:ss'
145
+ };
31
146
 
32
147
  // duration
33
148
  var DURATION_FORMATS_MAP = {
@@ -49,10 +164,23 @@ var DURATION_ZERO_DISPLAY = (_DURATION_ZERO_DISPLA = {}, _defineProperty__defaul
49
164
 
50
165
  // number
51
166
  var DEFAULT_NUMBER_FORMAT = 'number';
167
+ var DATE_DEFAULT_TYPES = {
168
+ SPECIFIC_DATE: 'specific_date',
169
+ CURRENT_DATE: 'current_date',
170
+ DAYS_BEFORE: 'days_before',
171
+ DAYS_AFTER: 'days_after'
172
+ };
173
+ var FILL_DEFAULT_VALUE_COLUMNS_TYPE = [cellType.CellType.TEXT, cellType.CellType.NUMBER, cellType.CellType.SINGLE_SELECT, cellType.CellType.RATE, cellType.CellType.CHECKBOX, cellType.CellType.LONG_TEXT, cellType.CellType.DATE, cellType.CellType.COLLABORATOR];
174
+ var NOT_SUPPORT_EDIT_COLUMN_TYPE_MAP = (_NOT_SUPPORT_EDIT_COL = {}, _defineProperty__default["default"](_NOT_SUPPORT_EDIT_COL, cellType.CellType.CTIME, true), _defineProperty__default["default"](_NOT_SUPPORT_EDIT_COL, cellType.CellType.MTIME, true), _defineProperty__default["default"](_NOT_SUPPORT_EDIT_COL, cellType.CellType.CREATOR, true), _defineProperty__default["default"](_NOT_SUPPORT_EDIT_COL, cellType.CellType.LAST_MODIFIER, true), _defineProperty__default["default"](_NOT_SUPPORT_EDIT_COL, cellType.CellType.FORMULA, true), _defineProperty__default["default"](_NOT_SUPPORT_EDIT_COL, cellType.CellType.AUTO_NUMBER, true), _defineProperty__default["default"](_NOT_SUPPORT_EDIT_COL, cellType.CellType.BUTTON, true), _defineProperty__default["default"](_NOT_SUPPORT_EDIT_COL, cellType.CellType.LINK_FORMULA, true), _NOT_SUPPORT_EDIT_COL);
175
+ var MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP = (_MULTIPLE_CELL_VALUE_ = {}, _defineProperty__default["default"](_MULTIPLE_CELL_VALUE_, cellType.CellType.MULTIPLE_SELECT, true), _defineProperty__default["default"](_MULTIPLE_CELL_VALUE_, cellType.CellType.COLLABORATOR, true), _defineProperty__default["default"](_MULTIPLE_CELL_VALUE_, cellType.CellType.LINK, true), _MULTIPLE_CELL_VALUE_);
176
+ var SINGLE_CELL_VALUE_COLUMN_TYPE_MAP = (_SINGLE_CELL_VALUE_CO = {}, _defineProperty__default["default"](_SINGLE_CELL_VALUE_CO, cellType.CellType.TEXT, true), _defineProperty__default["default"](_SINGLE_CELL_VALUE_CO, cellType.CellType.DATE, true), _defineProperty__default["default"](_SINGLE_CELL_VALUE_CO, cellType.CellType.CTIME, true), _defineProperty__default["default"](_SINGLE_CELL_VALUE_CO, cellType.CellType.MTIME, true), _defineProperty__default["default"](_SINGLE_CELL_VALUE_CO, cellType.CellType.NUMBER, true), _defineProperty__default["default"](_SINGLE_CELL_VALUE_CO, cellType.CellType.CHECKBOX, true), _defineProperty__default["default"](_SINGLE_CELL_VALUE_CO, cellType.CellType.SINGLE_SELECT, true), _defineProperty__default["default"](_SINGLE_CELL_VALUE_CO, cellType.CellType.CREATOR, true), _defineProperty__default["default"](_SINGLE_CELL_VALUE_CO, cellType.CellType.GEOLOCATION, true), _defineProperty__default["default"](_SINGLE_CELL_VALUE_CO, cellType.CellType.FORMULA, true), _defineProperty__default["default"](_SINGLE_CELL_VALUE_CO, cellType.CellType.LINK_FORMULA, true), _defineProperty__default["default"](_SINGLE_CELL_VALUE_CO, cellType.CellType.URL, true), _defineProperty__default["default"](_SINGLE_CELL_VALUE_CO, cellType.CellType.EMAIL, true), _defineProperty__default["default"](_SINGLE_CELL_VALUE_CO, cellType.CellType.DURATION, true), _defineProperty__default["default"](_SINGLE_CELL_VALUE_CO, cellType.CellType.RATE, true), _defineProperty__default["default"](_SINGLE_CELL_VALUE_CO, cellType.CellType.LAST_MODIFIER, true), _defineProperty__default["default"](_SINGLE_CELL_VALUE_CO, cellType.CellType.DIGITAL_SIGN, true), _SINGLE_CELL_VALUE_CO);
52
177
 
53
178
  exports.COLLABORATOR_COLUMN_TYPES = COLLABORATOR_COLUMN_TYPES;
54
179
  exports.COLUMNS_ICON_CONFIG = COLUMNS_ICON_CONFIG;
180
+ exports.COLUMN_OPTIONS = COLUMN_OPTIONS;
55
181
  exports.DATE_COLUMN_OPTIONS = DATE_COLUMN_OPTIONS;
182
+ exports.DATE_DEFAULT_TYPES = DATE_DEFAULT_TYPES;
183
+ exports.DATE_FORMAT_MAP = DATE_FORMAT_MAP;
56
184
  exports.DATE_UNIT = DATE_UNIT;
57
185
  exports.DEFAULT_DATE_FORMAT = DEFAULT_DATE_FORMAT;
58
186
  exports.DEFAULT_NUMBER_FORMAT = DEFAULT_NUMBER_FORMAT;
@@ -60,4 +188,9 @@ exports.DURATION_DECIMAL_DIGITS = DURATION_DECIMAL_DIGITS;
60
188
  exports.DURATION_FORMATS = DURATION_FORMATS;
61
189
  exports.DURATION_FORMATS_MAP = DURATION_FORMATS_MAP;
62
190
  exports.DURATION_ZERO_DISPLAY = DURATION_ZERO_DISPLAY;
191
+ exports.FILL_DEFAULT_VALUE_COLUMNS_TYPE = FILL_DEFAULT_VALUE_COLUMNS_TYPE;
192
+ exports.MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP = MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP;
193
+ exports.NOT_SUPPORT_EDIT_COLUMN_TYPE_MAP = NOT_SUPPORT_EDIT_COLUMN_TYPE_MAP;
63
194
  exports.NUMERIC_COLUMNS_TYPES = NUMERIC_COLUMNS_TYPES;
195
+ exports.SINGLE_CELL_VALUE_COLUMN_TYPE_MAP = SINGLE_CELL_VALUE_COLUMN_TYPE_MAP;
196
+ exports.UTC_FORMAT_DEFAULT = UTC_FORMAT_DEFAULT;
@@ -7,6 +7,10 @@ var filterModifier = require('./filter-modifier.js');
7
7
  var filterPredicate = require('./filter-predicate.js');
8
8
  var filterIsWithin = require('./filter-is-within.js');
9
9
 
10
+ var FILTER_CONJUNCTION_TYPE = {
11
+ AND: 'And',
12
+ OR: 'Or'
13
+ };
10
14
  var FILTER_ERR_MSG = {
11
15
  INVALID_FILTER: 'invalid filter',
12
16
  INCOMPLETE_FILTER: 'incomplete filter',
@@ -24,4 +28,5 @@ exports.FILTER_PREDICATE_SHOW = filterPredicate.FILTER_PREDICATE_SHOW;
24
28
  exports.FILTER_PREDICATE_TYPE = filterPredicate.FILTER_PREDICATE_TYPE;
25
29
  exports.filterTermModifierIsWithin = filterIsWithin.filterTermModifierIsWithin;
26
30
  exports.filterTermModifierNotWithin = filterIsWithin.filterTermModifierNotWithin;
31
+ exports.FILTER_CONJUNCTION_TYPE = FILTER_CONJUNCTION_TYPE;
27
32
  exports.FILTER_ERR_MSG = FILTER_ERR_MSG;
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var HEADER_HEIGHT_TYPE = {
6
+ DEFAULT: 'default',
7
+ DOUBLE: 'double'
8
+ };
9
+
10
+ exports.HEADER_HEIGHT_TYPE = HEADER_HEIGHT_TYPE;
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
+ var cellType = require('./cell-type.js');
7
+
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
+
10
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
11
+
12
+ var _DISPLAY_GROUP_DATE_G, _DISPLAY_GROUP_GEOLOC;
13
+ var MAX_GROUP_LEVEL = 3;
14
+ var GROUP_DATE_GRANULARITY = {
15
+ DAY: 'day',
16
+ WEEK: 'week',
17
+ MONTH: 'month',
18
+ QUARTAR: 'quartar',
19
+ YEAR: 'year'
20
+ };
21
+ var DISPLAY_GROUP_DATE_GRANULARITY = (_DISPLAY_GROUP_DATE_G = {}, _defineProperty__default["default"](_DISPLAY_GROUP_DATE_G, GROUP_DATE_GRANULARITY.DAY, 'By_day'), _defineProperty__default["default"](_DISPLAY_GROUP_DATE_G, GROUP_DATE_GRANULARITY.WEEK, 'By_week'), _defineProperty__default["default"](_DISPLAY_GROUP_DATE_G, GROUP_DATE_GRANULARITY.MONTH, 'By_month'), _defineProperty__default["default"](_DISPLAY_GROUP_DATE_G, GROUP_DATE_GRANULARITY.QUARTAR, 'By_quarter'), _defineProperty__default["default"](_DISPLAY_GROUP_DATE_G, GROUP_DATE_GRANULARITY.YEAR, 'By_year'), _DISPLAY_GROUP_DATE_G);
22
+ var GROUP_GEOLOCATION_GRANULARITY = {
23
+ PROVINCE: 'province',
24
+ CITY: 'city',
25
+ DISTRICT: 'district',
26
+ COUNTRY: 'country'
27
+ };
28
+ var DISPLAY_GROUP_GEOLOCATION_GRANULARITY = (_DISPLAY_GROUP_GEOLOC = {}, _defineProperty__default["default"](_DISPLAY_GROUP_GEOLOC, GROUP_GEOLOCATION_GRANULARITY.PROVINCE, 'By_province'), _defineProperty__default["default"](_DISPLAY_GROUP_GEOLOC, GROUP_GEOLOCATION_GRANULARITY.CITY, 'By_city'), _defineProperty__default["default"](_DISPLAY_GROUP_GEOLOC, GROUP_GEOLOCATION_GRANULARITY.DISTRICT, 'By_district'), _DISPLAY_GROUP_GEOLOC);
29
+ var SUPPORT_GROUP_COLUMN_TYPES = [cellType.CellType.TEXT, cellType.CellType.DATE, cellType.CellType.CTIME, cellType.CellType.MTIME, cellType.CellType.NUMBER, cellType.CellType.CHECKBOX, cellType.CellType.SINGLE_SELECT, cellType.CellType.MULTIPLE_SELECT, cellType.CellType.COLLABORATOR, cellType.CellType.CREATOR, cellType.CellType.GEOLOCATION, cellType.CellType.FORMULA, cellType.CellType.LINK_FORMULA, cellType.CellType.LINK, cellType.CellType.URL, cellType.CellType.EMAIL, cellType.CellType.DURATION, cellType.CellType.RATE, cellType.CellType.LAST_MODIFIER];
30
+
31
+ exports.DISPLAY_GROUP_DATE_GRANULARITY = DISPLAY_GROUP_DATE_GRANULARITY;
32
+ exports.DISPLAY_GROUP_GEOLOCATION_GRANULARITY = DISPLAY_GROUP_GEOLOCATION_GRANULARITY;
33
+ exports.GROUP_DATE_GRANULARITY = GROUP_DATE_GRANULARITY;
34
+ exports.GROUP_GEOLOCATION_GRANULARITY = GROUP_GEOLOCATION_GRANULARITY;
35
+ exports.MAX_GROUP_LEVEL = MAX_GROUP_LEVEL;
36
+ exports.SUPPORT_GROUP_COLUMN_TYPES = SUPPORT_GROUP_COLUMN_TYPES;
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var CONVERT_ROW_COLUMNS_LIMIT = 500;
6
+
7
+ exports.CONVERT_ROW_COLUMNS_LIMIT = CONVERT_ROW_COLUMNS_LIMIT;
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var REG_STRING_NUMBER_PARTS = /\d+|\D+/g;
6
+ var REG_NUMBER_DIGIT = /\d/;
7
+
8
+ exports.REG_NUMBER_DIGIT = REG_NUMBER_DIGIT;
9
+ exports.REG_STRING_NUMBER_PARTS = REG_STRING_NUMBER_PARTS;
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var cellType = require('./cell-type.js');
6
+
7
+ var ROW_COLOR_TYPE = {
8
+ BY_COLUMN: 'by_column',
9
+ BY_RULES: 'by_rules',
10
+ BY_DUPLICATE_VALUES: 'by_duplicate_values'
11
+ };
12
+ var SUPPORT_CHECKING_DUPLICATE_COLUMNS_TYPES = [cellType.CellType.TEXT, cellType.CellType.NUMBER, cellType.CellType.DATE, cellType.CellType.DURATION, cellType.CellType.EMAIL, cellType.CellType.URL, cellType.CellType.RATE, cellType.CellType.CHECKBOX, cellType.CellType.COLLABORATOR, cellType.CellType.SINGLE_SELECT, cellType.CellType.MULTIPLE_SELECT, cellType.CellType.GEOLOCATION, cellType.CellType.FORMULA, cellType.CellType.CREATOR, cellType.CellType.LAST_MODIFIER];
13
+ var ROW_COLOR_FOR_DUPLICATE_VALUES = '#F4667C';
14
+
15
+ exports.ROW_COLOR_FOR_DUPLICATE_VALUES = ROW_COLOR_FOR_DUPLICATE_VALUES;
16
+ exports.ROW_COLOR_TYPE = ROW_COLOR_TYPE;
17
+ exports.SUPPORT_CHECKING_DUPLICATE_COLUMNS_TYPES = SUPPORT_CHECKING_DUPLICATE_COLUMNS_TYPES;
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var cellType = require('./cell-type.js');
6
+
7
+ var SORT_TYPE = {
8
+ UP: 'up',
9
+ DOWN: 'down'
10
+ };
11
+ var SORT_COLUMN_OPTIONS = [cellType.CellType.DATE, cellType.CellType.CTIME, cellType.CellType.MTIME, cellType.CellType.SINGLE_SELECT, cellType.CellType.TEXT, cellType.CellType.NUMBER, cellType.CellType.FORMULA, cellType.CellType.LINK_FORMULA, cellType.CellType.AUTO_NUMBER, cellType.CellType.COLLABORATOR, cellType.CellType.DURATION, cellType.CellType.URL, cellType.CellType.EMAIL, cellType.CellType.CHECKBOX, cellType.CellType.MULTIPLE_SELECT, cellType.CellType.LINK, cellType.CellType.RATE];
12
+ var TEXT_SORTER_COLUMN_TYPES = [cellType.CellType.TEXT, cellType.CellType.URL, cellType.CellType.EMAIL];
13
+ var NUMBER_SORTER_COLUMN_TYPES = [cellType.CellType.NUMBER, cellType.CellType.DURATION, cellType.CellType.RATE];
14
+
15
+ exports.NUMBER_SORTER_COLUMN_TYPES = NUMBER_SORTER_COLUMN_TYPES;
16
+ exports.SORT_COLUMN_OPTIONS = SORT_COLUMN_OPTIONS;
17
+ exports.SORT_TYPE = SORT_TYPE;
18
+ exports.TEXT_SORTER_COLUMN_TYPES = TEXT_SORTER_COLUMN_TYPES;