dtable-ui-component 0.1.75-beta2 → 0.1.75-beta3

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 (223) hide show
  1. package/es/AutoNumberFormatter/index.css +1 -0
  2. package/es/AutoNumberFormatter/index.js +36 -0
  3. package/es/ButtonFormatter/index.css +13 -0
  4. package/es/ButtonFormatter/index.js +56 -0
  5. package/es/CTimeFormatter/index.css +1 -0
  6. package/es/CTimeFormatter/index.js +58 -0
  7. package/es/CheckboxFormatter/index.css +1 -0
  8. package/es/CheckboxFormatter/index.js +45 -0
  9. package/es/CollaboratorFormatter/index.css +1 -0
  10. package/es/CollaboratorFormatter/index.js +91 -0
  11. package/es/CollaboratorItem/index.css +49 -0
  12. package/es/CollaboratorItem/index.js +64 -0
  13. package/es/CreatorFormatter/index.css +1 -0
  14. package/es/CreatorFormatter/index.js +87 -0
  15. package/es/DateFormatter/index.css +1 -0
  16. package/es/DateFormatter/index.js +60 -0
  17. package/es/DurationFormatter/index.css +1 -0
  18. package/es/DurationFormatter/index.js +38 -0
  19. package/es/EmailFormatter/index.css +5 -0
  20. package/es/EmailFormatter/index.js +36 -0
  21. package/es/FileFormatter/index.css +29 -0
  22. package/es/FileFormatter/index.js +64 -0
  23. package/es/FileItemFormatter/index.js +50 -0
  24. package/es/FileUploader/index.js +53 -0
  25. package/es/FormulaFormatter/index.css +19 -0
  26. package/es/FormulaFormatter/index.js +164 -0
  27. package/es/GeolocationFormatter/index.css +1 -0
  28. package/es/GeolocationFormatter/index.js +53 -0
  29. package/es/ImageFormatter/images-lazy-load.js +150 -0
  30. package/es/ImageFormatter/index.css +34 -0
  31. package/es/ImageFormatter/index.js +154 -0
  32. package/es/ImagePreviewerLightbox/index.css +87 -0
  33. package/es/ImagePreviewerLightbox/index.js +119 -0
  34. package/es/LastModifierFormatter/index.css +1 -0
  35. package/es/LastModifierFormatter/index.js +87 -0
  36. package/es/LinkFormatter/index.css +27 -0
  37. package/es/LinkFormatter/index.js +144 -0
  38. package/es/Loading/index.css +54 -0
  39. package/es/Loading/index.js +7 -0
  40. package/es/LongTextFormatter/html-long-text-formatter.js +96 -0
  41. package/es/LongTextFormatter/index.css +63 -0
  42. package/es/LongTextFormatter/index.js +29 -0
  43. package/es/LongTextFormatter/simple-long-text-formatter.js +104 -0
  44. package/es/MTimeFormatter/index.css +1 -0
  45. package/es/MTimeFormatter/index.js +58 -0
  46. package/es/ModalPortal/index.js +44 -0
  47. package/es/MultipleSelectFormatter/index.css +1 -0
  48. package/es/MultipleSelectFormatter/index.js +70 -0
  49. package/es/NumberFormatter/index.css +1 -0
  50. package/es/NumberFormatter/index.js +47 -0
  51. package/es/RateFormatter/index.css +1 -0
  52. package/es/RateFormatter/index.js +80 -0
  53. package/es/SelectItem/index.js +58 -0
  54. package/es/SingleSelectFormatter/index.css +1 -0
  55. package/es/SingleSelectFormatter/index.js +70 -0
  56. package/es/TextFormatter/index.css +1 -0
  57. package/es/TextFormatter/index.js +56 -0
  58. package/es/UrlFormatter/index.css +5 -0
  59. package/es/UrlFormatter/index.js +36 -0
  60. package/es/app.css +20 -0
  61. package/es/app.js +91 -0
  62. package/es/assets/images/avatar/default_avatar.png +0 -0
  63. package/es/assets/images/file/192/excel.png +0 -0
  64. package/es/assets/images/file/192/file.png +0 -0
  65. package/es/assets/images/file/192/music.png +0 -0
  66. package/es/assets/images/file/192/pdf.png +0 -0
  67. package/es/assets/images/file/192/pic.png +0 -0
  68. package/es/assets/images/file/192/ppt.png +0 -0
  69. package/es/assets/images/file/192/txt.png +0 -0
  70. package/es/assets/images/file/192/video.png +0 -0
  71. package/es/assets/images/file/192/word.png +0 -0
  72. package/es/assets/images/file/24/excel.png +0 -0
  73. package/es/assets/images/file/24/file.png +0 -0
  74. package/es/assets/images/file/24/music.png +0 -0
  75. package/es/assets/images/file/24/pdf.png +0 -0
  76. package/es/assets/images/file/24/pic.png +0 -0
  77. package/es/assets/images/file/24/ppt.png +0 -0
  78. package/es/assets/images/file/24/txt.png +0 -0
  79. package/es/assets/images/file/24/video.png +0 -0
  80. package/es/assets/images/file/24/word.png +0 -0
  81. package/es/assets/images/folder/folder-192.png +0 -0
  82. package/es/assets/images/folder/folder-24.png +0 -0
  83. package/es/cellFormatterFactory/index.js +25 -0
  84. package/es/components/cell-editor/checkbox-editor.js +104 -0
  85. package/es/components/cell-editor/collaborator-editor.js +236 -0
  86. package/es/components/cell-editor/date-editor.js +151 -0
  87. package/es/components/cell-editor/index.js +9 -0
  88. package/es/components/cell-editor/link-editor.js +303 -0
  89. package/es/components/cell-editor/multiple-select-editor.js +237 -0
  90. package/es/components/cell-editor/number-editor.js +154 -0
  91. package/es/components/cell-editor/single-select-editor.js +202 -0
  92. package/es/components/cell-editor/text-editor.js +122 -0
  93. package/es/components/cell-editor-dialog/pc-file-editor-dialog.js +46 -0
  94. package/es/components/cell-editor-dialog/pc-files-addition/index.js +0 -0
  95. package/es/components/cell-editor-dialog/pc-files-addition/pc-file-uploaded-item.js +0 -0
  96. package/es/components/cell-editor-dialog/pc-files-preview/index.js +0 -0
  97. package/es/components/cell-editor-dialog/pc-files-preview/pc-file-item-preview.js +0 -0
  98. package/es/components/cell-editor-popover/mb-collaborator-editor-popover.js +177 -0
  99. package/es/components/cell-editor-popover/mb-date-editor-popover.js +245 -0
  100. package/es/components/cell-editor-popover/mb-link-editor-popover.js +170 -0
  101. package/es/components/cell-editor-popover/mb-select-editor-popover.js +230 -0
  102. package/es/components/cell-editor-popover/pc-collaborator-editor-popover.js +109 -0
  103. package/es/components/cell-editor-popover/pc-date-editor-popover.js +142 -0
  104. package/es/components/cell-editor-popover/pc-link-editor-popover.js +114 -0
  105. package/es/components/cell-editor-popover/pc-select-editor-popover.js +143 -0
  106. package/es/components/common/collaborator-item.js +63 -0
  107. package/es/components/common/edit-editor-button.js +56 -0
  108. package/es/components/common/link-editor-option.js +113 -0
  109. package/es/components/common/mobile/mb-editor-header.js +48 -0
  110. package/es/components/common/select-editor-option.js +106 -0
  111. package/es/constants/cell-types.js +25 -0
  112. package/es/constants/index.js +49 -0
  113. package/es/css/cell-editor.css +614 -0
  114. package/es/css/cell-formatter.css +4 -0
  115. package/es/css/custom-rc-calendar.css +118 -0
  116. package/es/formatterConfig/index.js +31 -0
  117. package/es/index.js +31 -0
  118. package/es/lang/index.js +50 -0
  119. package/es/locals/de.js +2 -0
  120. package/es/locals/en.js +17 -0
  121. package/es/locals/fr.js +2 -0
  122. package/es/locals/zh-CN.js +17 -0
  123. package/{lib/toast → es/toaster}/alert.js +0 -0
  124. package/{lib/toast → es/toaster}/index.js +0 -0
  125. package/{lib/toast → es/toaster}/toast.js +0 -0
  126. package/{lib/toast → es/toaster}/toastManager.js +0 -0
  127. package/{lib/toast → es/toaster}/toaster.js +0 -0
  128. package/es/utils/cell-value-validator.js +31 -0
  129. package/es/utils/column-utils.js +7 -0
  130. package/es/utils/editor-utils.js +71 -0
  131. package/es/utils/markdown2html.js +62 -0
  132. package/es/utils/normalize-long-text-value.js +69 -0
  133. package/es/utils/number-precision.js +164 -0
  134. package/es/utils/unified/index.js +470 -0
  135. package/es/utils/utils.js +116 -0
  136. package/es/utils/value-format-utils.js +497 -0
  137. package/es/utils/vfile/core.js +172 -0
  138. package/es/utils/vfile/index.js +48 -0
  139. package/lib/AutoNumberFormatter/index.js +38 -27
  140. package/lib/ButtonFormatter/index.js +59 -47
  141. package/lib/CTimeFormatter/index.js +53 -39
  142. package/lib/CheckboxFormatter/index.js +48 -35
  143. package/lib/CollaboratorFormatter/index.js +64 -42
  144. package/lib/CollaboratorItem/index.js +61 -44
  145. package/lib/CreatorFormatter/index.js +62 -42
  146. package/lib/DateFormatter/index.js +55 -40
  147. package/lib/DurationFormatter/index.js +42 -29
  148. package/lib/EmailFormatter/index.js +38 -27
  149. package/lib/FileFormatter/index.js +65 -50
  150. package/lib/FileItemFormatter/index.js +44 -31
  151. package/lib/FileUploader/index.js +44 -34
  152. package/lib/FormulaFormatter/index.js +102 -81
  153. package/lib/GeolocationFormatter/index.js +50 -35
  154. package/lib/ImageFormatter/images-lazy-load.js +81 -73
  155. package/lib/ImageFormatter/index.js +109 -90
  156. package/lib/ImagePreviewerLightbox/index.js +60 -27
  157. package/lib/LastModifierFormatter/index.js +62 -42
  158. package/lib/LinkFormatter/index.js +80 -59
  159. package/lib/Loading/index.js +13 -4
  160. package/lib/LongTextFormatter/html-long-text-formatter.js +60 -49
  161. package/lib/LongTextFormatter/index.js +28 -9
  162. package/lib/LongTextFormatter/simple-long-text-formatter.js +58 -52
  163. package/lib/MTimeFormatter/index.js +53 -39
  164. package/lib/ModalPortal/index.js +37 -30
  165. package/lib/MultipleSelectFormatter/index.js +55 -39
  166. package/lib/NumberFormatter/index.js +50 -35
  167. package/lib/RateFormatter/index.js +52 -37
  168. package/lib/SelectItem/index.js +46 -31
  169. package/lib/SingleSelectFormatter/index.js +54 -38
  170. package/lib/TextFormatter/index.js +44 -31
  171. package/lib/UrlFormatter/index.js +38 -27
  172. package/lib/app.js +80 -75
  173. package/lib/cellFormatterFactory/index.js +20 -17
  174. package/lib/components/cell-editor/checkbox-editor.js +66 -59
  175. package/lib/components/cell-editor/collaborator-editor.js +126 -113
  176. package/lib/components/cell-editor/date-editor.js +119 -99
  177. package/lib/components/cell-editor/index.js +40 -9
  178. package/lib/components/cell-editor/link-editor.js +140 -122
  179. package/lib/components/cell-editor/multiple-select-editor.js +127 -114
  180. package/lib/components/cell-editor/number-editor.js +86 -78
  181. package/lib/components/cell-editor/single-select-editor.js +120 -106
  182. package/lib/components/cell-editor/text-editor.js +72 -65
  183. package/lib/components/cell-editor-dialog/pc-file-editor-dialog.js +51 -31
  184. package/lib/components/cell-editor-dialog/pc-files-addition/index.js +1 -0
  185. package/lib/components/cell-editor-dialog/pc-files-addition/pc-file-uploaded-item.js +1 -0
  186. package/lib/components/cell-editor-dialog/pc-files-preview/index.js +1 -0
  187. package/lib/components/cell-editor-dialog/pc-files-preview/pc-file-item-preview.js +1 -0
  188. package/lib/components/cell-editor-popover/mb-collaborator-editor-popover.js +111 -105
  189. package/lib/components/cell-editor-popover/mb-date-editor-popover.js +157 -140
  190. package/lib/components/cell-editor-popover/mb-link-editor-popover.js +109 -103
  191. package/lib/components/cell-editor-popover/mb-select-editor-popover.js +155 -142
  192. package/lib/components/cell-editor-popover/pc-collaborator-editor-popover.js +89 -74
  193. package/lib/components/cell-editor-popover/pc-date-editor-popover.js +102 -88
  194. package/lib/components/cell-editor-popover/pc-link-editor-popover.js +91 -77
  195. package/lib/components/cell-editor-popover/pc-select-editor-popover.js +105 -91
  196. package/lib/components/common/collaborator-item.js +59 -43
  197. package/lib/components/common/edit-editor-button.js +39 -28
  198. package/lib/components/common/link-editor-option.js +71 -63
  199. package/lib/components/common/mobile/mb-editor-header.js +52 -39
  200. package/lib/components/common/select-editor-option.js +74 -58
  201. package/lib/constants/cell-types.js +54 -25
  202. package/lib/constants/index.js +28 -5
  203. package/lib/formatterConfig/index.js +59 -28
  204. package/lib/index.js +139 -31
  205. package/lib/lang/index.js +27 -11
  206. package/lib/locals/de.js +6 -1
  207. package/lib/locals/en.js +6 -1
  208. package/lib/locals/fr.js +6 -1
  209. package/lib/locals/zh-CN.js +6 -1
  210. package/lib/toaster/alert.js +164 -0
  211. package/lib/toaster/index.js +12 -0
  212. package/lib/toaster/toast.js +223 -0
  213. package/lib/toaster/toastManager.js +189 -0
  214. package/lib/toaster/toaster.js +92 -0
  215. package/lib/utils/cell-value-validator.js +9 -5
  216. package/lib/utils/column-utils.js +13 -5
  217. package/lib/utils/editor-utils.js +13 -3
  218. package/lib/utils/markdown2html.js +7 -1
  219. package/lib/utils/normalize-long-text-value.js +6 -1
  220. package/lib/utils/number-precision.js +32 -13
  221. package/lib/utils/utils.js +33 -8
  222. package/lib/utils/value-format-utils.js +110 -58
  223. package/package.json +5 -5
@@ -0,0 +1 @@
1
+ @import url('../css/cell-formatter.css');
@@ -0,0 +1,36 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
4
+ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
+ import React from 'react';
6
+ import cn from 'astro-classname';
7
+ import './index.css';
8
+
9
+ var AutoNumberFormatter = /*#__PURE__*/function (_React$Component) {
10
+ _inherits(AutoNumberFormatter, _React$Component);
11
+
12
+ var _super = _createSuper(AutoNumberFormatter);
13
+
14
+ function AutoNumberFormatter() {
15
+ _classCallCheck(this, AutoNumberFormatter);
16
+
17
+ return _super.apply(this, arguments);
18
+ }
19
+
20
+ _createClass(AutoNumberFormatter, [{
21
+ key: "render",
22
+ value: function render() {
23
+ var _this$props = this.props,
24
+ containerClassName = _this$props.containerClassName,
25
+ value = _this$props.value;
26
+ var classname = cn('dtable-ui cell-formatter-container auto-number-formatter', containerClassName);
27
+ return /*#__PURE__*/React.createElement("div", {
28
+ className: classname
29
+ }, value);
30
+ }
31
+ }]);
32
+
33
+ return AutoNumberFormatter;
34
+ }(React.Component);
35
+
36
+ export default AutoNumberFormatter;
@@ -0,0 +1,13 @@
1
+ @import url('../css/cell-formatter.css');
2
+
3
+ .dtable-ui.button-formatter {
4
+ height: 26px;
5
+ width: 80px;
6
+ padding: 5px 8px;
7
+ border-width: 1px;
8
+ border-style: solid;
9
+ border-radius: 3px;
10
+ overflow: hidden;
11
+ white-space: nowrap;
12
+ text-overflow: ellipsis;
13
+ }
@@ -0,0 +1,56 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
4
+ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
+ import React from 'react';
6
+ import cn from 'astro-classname';
7
+ import './index.css';
8
+
9
+ var ButtonFormatter = /*#__PURE__*/function (_React$Component) {
10
+ _inherits(ButtonFormatter, _React$Component);
11
+
12
+ var _super = _createSuper(ButtonFormatter);
13
+
14
+ function ButtonFormatter() {
15
+ _classCallCheck(this, ButtonFormatter);
16
+
17
+ return _super.apply(this, arguments);
18
+ }
19
+
20
+ _createClass(ButtonFormatter, [{
21
+ key: "render",
22
+ value: function render() {
23
+ var _this$props = this.props,
24
+ data = _this$props.data,
25
+ containerClassName = _this$props.containerClassName,
26
+ optionColors = _this$props.optionColors;
27
+
28
+ var _ref = data || {},
29
+ button_color = _ref.button_color,
30
+ button_type = _ref.button_type,
31
+ button_name = _ref.button_name;
32
+
33
+ if (!button_type) return null;
34
+ var colorOption = Array.isArray(optionColors) ? optionColors.find(function (item) {
35
+ return item.COLOR === button_color;
36
+ }) || optionColors[0] : {
37
+ COLOR: '#FFFCB5',
38
+ BORDER_COLOR: '#E8E79D',
39
+ TEXT_COLOR: '#202428'
40
+ };
41
+ var btnStyle = {
42
+ backgroundColor: colorOption.COLOR,
43
+ borderColor: colorOption.BORDER_COLOR,
44
+ color: colorOption.TEXT_COLOR
45
+ };
46
+ return /*#__PURE__*/React.createElement("div", {
47
+ className: cn('dtable-ui cell-formatter-container button-formatter', containerClassName),
48
+ style: btnStyle
49
+ }, button_name);
50
+ }
51
+ }]);
52
+
53
+ return ButtonFormatter;
54
+ }(React.Component);
55
+
56
+ export default ButtonFormatter;
@@ -0,0 +1 @@
1
+ @import url('../css/cell-formatter.css');
@@ -0,0 +1,58 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
4
+ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
+ import React from 'react';
6
+ import cn from 'astro-classname';
7
+ import moment from 'moment';
8
+ import './index.css';
9
+
10
+ var CTimeFormatter = /*#__PURE__*/function (_React$Component) {
11
+ _inherits(CTimeFormatter, _React$Component);
12
+
13
+ var _super = _createSuper(CTimeFormatter);
14
+
15
+ function CTimeFormatter() {
16
+ var _this;
17
+
18
+ _classCallCheck(this, CTimeFormatter);
19
+
20
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
21
+ args[_key] = arguments[_key];
22
+ }
23
+
24
+ _this = _super.call.apply(_super, [this].concat(args));
25
+
26
+ _this.formatDate = function (date) {
27
+ return moment(date).format('YYYY-MM-DD HH:mm:ss');
28
+ };
29
+
30
+ return _this;
31
+ }
32
+
33
+ _createClass(CTimeFormatter, [{
34
+ key: "render",
35
+ value: function render() {
36
+ var _this$props = this.props,
37
+ date = _this$props.value,
38
+ containerClassName = _this$props.containerClassName;
39
+ var classname = cn('dtable-ui cell-formatter-container ctime-formatter', containerClassName);
40
+
41
+ if (date !== '') {
42
+ date = this.formatDate(date);
43
+ }
44
+
45
+ return /*#__PURE__*/React.createElement("div", {
46
+ className: classname
47
+ }, date);
48
+ }
49
+ }]);
50
+
51
+ return CTimeFormatter;
52
+ }(React.Component);
53
+
54
+ CTimeFormatter.defaultProps = {
55
+ value: '',
56
+ containerClassName: ''
57
+ };
58
+ export default CTimeFormatter;
@@ -0,0 +1 @@
1
+ @import url('../css/cell-formatter.css');
@@ -0,0 +1,45 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
4
+ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
+ import React from 'react';
6
+ import cn from 'astro-classname';
7
+ import './index.css';
8
+
9
+ var CheckboxFormatter = /*#__PURE__*/function (_React$PureComponent) {
10
+ _inherits(CheckboxFormatter, _React$PureComponent);
11
+
12
+ var _super = _createSuper(CheckboxFormatter);
13
+
14
+ function CheckboxFormatter() {
15
+ _classCallCheck(this, CheckboxFormatter);
16
+
17
+ return _super.apply(this, arguments);
18
+ }
19
+
20
+ _createClass(CheckboxFormatter, [{
21
+ key: "render",
22
+ value: function render() {
23
+ var _this$props = this.props,
24
+ value = _this$props.value,
25
+ containerClassName = _this$props.containerClassName;
26
+ value = value === true ? true : false;
27
+ var classname = cn('dtable-ui cell-formatter-container checkbox-formatter', containerClassName);
28
+ return /*#__PURE__*/React.createElement("div", {
29
+ className: classname
30
+ }, /*#__PURE__*/React.createElement("input", {
31
+ className: "checkbox",
32
+ type: "checkbox",
33
+ readOnly: true,
34
+ checked: value
35
+ }));
36
+ }
37
+ }]);
38
+
39
+ return CheckboxFormatter;
40
+ }(React.PureComponent);
41
+
42
+ CheckboxFormatter.defaultProps = {
43
+ value: false
44
+ };
45
+ export default CheckboxFormatter;
@@ -0,0 +1 @@
1
+ @import url('../css/cell-formatter.css');
@@ -0,0 +1,91 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
4
+ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
+ import React from 'react';
6
+ import cn from 'astro-classname';
7
+ import CollaboratorItem from '../CollaboratorItem';
8
+ import DefaultAvatar from '../assets/images/avatar/default_avatar.png';
9
+ import './index.css';
10
+
11
+ // there will be there conditions
12
+ // 1 value is not exist, typeof value is array, but it's length is 0
13
+ // 2 value is exist, but can't find in collaborators
14
+ // 3 value is exist, typeof value is a string
15
+ // 4 value is exist, typeof value is array
16
+ var CollaboratorFormatter = /*#__PURE__*/function (_React$PureComponent) {
17
+ _inherits(CollaboratorFormatter, _React$PureComponent);
18
+
19
+ var _super = _createSuper(CollaboratorFormatter);
20
+
21
+ function CollaboratorFormatter() {
22
+ var _this;
23
+
24
+ _classCallCheck(this, CollaboratorFormatter);
25
+
26
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
27
+ args[_key] = arguments[_key];
28
+ }
29
+
30
+ _this = _super.call.apply(_super, [this].concat(args));
31
+
32
+ _this.getCollaborators = function () {
33
+ var _this$props = _this.props,
34
+ value = _this$props.value,
35
+ collaborators = _this$props.collaborators,
36
+ enableDeleteCollaborator = _this$props.enableDeleteCollaborator,
37
+ onDeleteCollaborator = _this$props.onDeleteCollaborator;
38
+
39
+ if (!Array.isArray(value)) {
40
+ value = [value];
41
+ }
42
+
43
+ return value.map(function (item, index) {
44
+ var collaborator = collaborators.find(function (collaborator) {
45
+ return collaborator.email === item;
46
+ });
47
+
48
+ if (!collaborator) {
49
+ collaborator = {
50
+ name: item,
51
+ avatar_url: DefaultAvatar
52
+ };
53
+ }
54
+
55
+ return /*#__PURE__*/React.createElement(CollaboratorItem, {
56
+ key: index,
57
+ collaborator: collaborator,
58
+ enableDeleteCollaborator: enableDeleteCollaborator,
59
+ onDeleteCollaborator: onDeleteCollaborator
60
+ });
61
+ });
62
+ };
63
+
64
+ return _this;
65
+ }
66
+
67
+ _createClass(CollaboratorFormatter, [{
68
+ key: "render",
69
+ value: function render() {
70
+ var _this$props2 = this.props,
71
+ containerClassName = _this$props2.containerClassName,
72
+ value = _this$props2.value;
73
+ var classname = cn('dtable-ui cell-formatter-container collaborator-formatter', containerClassName);
74
+
75
+ if (!value || Array.isArray(value) && value.length === 0) {
76
+ return /*#__PURE__*/React.createElement("div", {
77
+ className: classname
78
+ });
79
+ }
80
+
81
+ var collaborators = this.getCollaborators();
82
+ return /*#__PURE__*/React.createElement("div", {
83
+ className: classname
84
+ }, collaborators);
85
+ }
86
+ }]);
87
+
88
+ return CollaboratorFormatter;
89
+ }(React.PureComponent);
90
+
91
+ export default CollaboratorFormatter;
@@ -0,0 +1,49 @@
1
+ .dtable-ui.collaborator-item {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ margin-right: 10px;
5
+ padding: 0 8px 0 2px;
6
+ height: 20px;
7
+ font-size: 13px;
8
+ border-radius: 10px;
9
+ background: #eaeaea;
10
+ }
11
+
12
+ .dtable-ui.collaborator-item .collaborator-avatar,
13
+ .dtable-ui.collaborator-item .collaborator-name,
14
+ .dtable-ui.collaborator-item .collaborator-remove {
15
+ height: 20px;
16
+ line-height: 20px;
17
+ }
18
+
19
+ .dtable-ui.collaborator-item .collaborator-avatar {
20
+ display: flex;
21
+ align-items: center;
22
+ justify-content: center;
23
+ margin: 0 4px 0 2px;
24
+ }
25
+
26
+ .dtable-ui.collaborator-item .collaborator-avatar img {
27
+ width: 16px;
28
+ height: 16px;
29
+ border-radius: 50%;
30
+ }
31
+
32
+ .dtable-ui.collaborator-item .collaborator-remove {
33
+ display: inline-block;
34
+ width: 14px;
35
+ margin: 0 -2px 0 2px;
36
+ }
37
+
38
+ .dtable-ui.collaborator-item .collaborator-remove .dtable-font {
39
+ display: inline-block;
40
+ font-size: 12px;
41
+ color: #909090;
42
+ transform: scale(.8);
43
+ cursor: pointer;
44
+ }
45
+
46
+ .dtable-ui.collaborator-item .collaborator-remove .dtable-font:hover {
47
+ color: #666666;
48
+ cursor: pointer;
49
+ }
@@ -0,0 +1,64 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
4
+ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
+ import React from 'react';
6
+ import './index.css';
7
+
8
+ var CollaboratorItem = /*#__PURE__*/function (_React$Component) {
9
+ _inherits(CollaboratorItem, _React$Component);
10
+
11
+ var _super = _createSuper(CollaboratorItem);
12
+
13
+ function CollaboratorItem() {
14
+ var _this;
15
+
16
+ _classCallCheck(this, CollaboratorItem);
17
+
18
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
19
+ args[_key] = arguments[_key];
20
+ }
21
+
22
+ _this = _super.call.apply(_super, [this].concat(args));
23
+
24
+ _this.onDeleteCollaborator = function () {
25
+ var collaborator = _this.props.collaborator;
26
+
27
+ _this.props.onDeleteCollaborator(collaborator);
28
+ };
29
+
30
+ return _this;
31
+ }
32
+
33
+ _createClass(CollaboratorItem, [{
34
+ key: "render",
35
+ value: function render() {
36
+ var _this$props = this.props,
37
+ collaborator = _this$props.collaborator,
38
+ enableDeleteCollaborator = _this$props.enableDeleteCollaborator;
39
+ return /*#__PURE__*/React.createElement("div", {
40
+ className: "dtable-ui collaborator-item"
41
+ }, /*#__PURE__*/React.createElement("span", {
42
+ className: "collaborator-avatar"
43
+ }, /*#__PURE__*/React.createElement("img", {
44
+ className: "collaborator-avatar-icon",
45
+ alt: collaborator.name,
46
+ src: collaborator.avatar_url
47
+ })), /*#__PURE__*/React.createElement("span", {
48
+ className: "collaborator-name"
49
+ }, collaborator.name), enableDeleteCollaborator && /*#__PURE__*/React.createElement("span", {
50
+ className: "collaborator-remove",
51
+ onClick: this.onDeleteCollaborator
52
+ }, /*#__PURE__*/React.createElement("i", {
53
+ className: "dtable-font dtable-icon-fork-number"
54
+ })));
55
+ }
56
+ }]);
57
+
58
+ return CollaboratorItem;
59
+ }(React.Component);
60
+
61
+ CollaboratorItem.defaultProps = {
62
+ enableDelete: false
63
+ };
64
+ export default CollaboratorItem;
@@ -0,0 +1 @@
1
+ @import url('../css/cell-formatter.css');
@@ -0,0 +1,87 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
4
+ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
+ import React from 'react';
6
+ import cn from 'astro-classname';
7
+ import CollaboratorItem from '../CollaboratorItem';
8
+ import DefaultAvatar from '../assets/images/avatar/default_avatar.png';
9
+ import './index.css';
10
+
11
+ // there will be there conditions
12
+ // 1 value is not exist, typeof value is array, but it's length is 0
13
+ // 2 value is exist, but can't find in collaborators
14
+ // 3 value is exist, typeof value is a string
15
+ // 4 value is exist, typeof value is array
16
+ var CreatorFormatter = /*#__PURE__*/function (_React$PureComponent) {
17
+ _inherits(CreatorFormatter, _React$PureComponent);
18
+
19
+ var _super = _createSuper(CreatorFormatter);
20
+
21
+ function CreatorFormatter() {
22
+ var _this;
23
+
24
+ _classCallCheck(this, CreatorFormatter);
25
+
26
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
27
+ args[_key] = arguments[_key];
28
+ }
29
+
30
+ _this = _super.call.apply(_super, [this].concat(args));
31
+
32
+ _this.getCollaborators = function () {
33
+ var _this$props = _this.props,
34
+ value = _this$props.value,
35
+ collaborators = _this$props.collaborators;
36
+
37
+ if (!Array.isArray(value)) {
38
+ value = [value];
39
+ }
40
+
41
+ return value.map(function (item, index) {
42
+ var collaborator = collaborators.find(function (collaborator) {
43
+ return collaborator.email === item;
44
+ }); // the collaborator can be not exist, because the row created by third app
45
+
46
+ if (!collaborator) {
47
+ collaborator = {
48
+ name: item,
49
+ avatar_url: DefaultAvatar
50
+ };
51
+ }
52
+
53
+ return /*#__PURE__*/React.createElement(CollaboratorItem, {
54
+ key: index,
55
+ collaborator: collaborator
56
+ });
57
+ });
58
+ };
59
+
60
+ return _this;
61
+ }
62
+
63
+ _createClass(CreatorFormatter, [{
64
+ key: "render",
65
+ value: function render() {
66
+ var _this$props2 = this.props,
67
+ containerClassName = _this$props2.containerClassName,
68
+ value = _this$props2.value;
69
+ var classname = cn('dtable-ui cell-formatter-container creator-formatter', containerClassName);
70
+
71
+ if (!value || Array.isArray(value) && value.length === 0) {
72
+ return /*#__PURE__*/React.createElement("div", {
73
+ className: classname
74
+ });
75
+ }
76
+
77
+ var collaborators = this.getCollaborators();
78
+ return /*#__PURE__*/React.createElement("div", {
79
+ className: classname
80
+ }, collaborators);
81
+ }
82
+ }]);
83
+
84
+ return CreatorFormatter;
85
+ }(React.PureComponent);
86
+
87
+ export default CreatorFormatter;
@@ -0,0 +1 @@
1
+ @import url('../css/cell-formatter.css');
@@ -0,0 +1,60 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
4
+ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
+ import React from 'react';
6
+ import cn from 'astro-classname';
7
+ import { getDateDisplayString } from '../utils/value-format-utils';
8
+ import './index.css';
9
+
10
+ var DateFormatter = /*#__PURE__*/function (_React$Component) {
11
+ _inherits(DateFormatter, _React$Component);
12
+
13
+ var _super = _createSuper(DateFormatter);
14
+
15
+ function DateFormatter() {
16
+ var _this;
17
+
18
+ _classCallCheck(this, DateFormatter);
19
+
20
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
21
+ args[_key] = arguments[_key];
22
+ }
23
+
24
+ _this = _super.call.apply(_super, [this].concat(args));
25
+
26
+ _this.formatDate = function (date, format) {
27
+ return getDateDisplayString(date, format);
28
+ };
29
+
30
+ return _this;
31
+ }
32
+
33
+ _createClass(DateFormatter, [{
34
+ key: "render",
35
+ value: function render() {
36
+ var _this$props = this.props,
37
+ date = _this$props.value,
38
+ format = _this$props.format,
39
+ containerClassName = _this$props.containerClassName;
40
+ var classname = cn('dtable-ui cell-formatter-container date-formatter', containerClassName);
41
+
42
+ if (date !== '') {
43
+ date = this.formatDate(date, format);
44
+ }
45
+
46
+ return /*#__PURE__*/React.createElement("div", {
47
+ className: classname
48
+ }, date);
49
+ }
50
+ }]);
51
+
52
+ return DateFormatter;
53
+ }(React.Component);
54
+
55
+ DateFormatter.defaultProps = {
56
+ value: '',
57
+ format: 'YYYY-MM-DD',
58
+ containerClassName: ''
59
+ };
60
+ export default DateFormatter;
@@ -0,0 +1 @@
1
+ @import url('../css/cell-formatter.css');
@@ -0,0 +1,38 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
4
+ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
+ import React from 'react';
6
+ import cn from 'astro-classname';
7
+ import { getDurationDisplayString } from '../utils/value-format-utils';
8
+ import './index.css';
9
+
10
+ var DurationFormatter = /*#__PURE__*/function (_React$Component) {
11
+ _inherits(DurationFormatter, _React$Component);
12
+
13
+ var _super = _createSuper(DurationFormatter);
14
+
15
+ function DurationFormatter() {
16
+ _classCallCheck(this, DurationFormatter);
17
+
18
+ return _super.apply(this, arguments);
19
+ }
20
+
21
+ _createClass(DurationFormatter, [{
22
+ key: "render",
23
+ value: function render() {
24
+ var _this$props = this.props,
25
+ value = _this$props.value,
26
+ containerClassName = _this$props.containerClassName,
27
+ format = _this$props.format;
28
+ var classname = cn('dtable-ui cell-formatter-container duration-formatter', containerClassName);
29
+ return /*#__PURE__*/React.createElement("div", {
30
+ className: classname
31
+ }, getDurationDisplayString(value, format));
32
+ }
33
+ }]);
34
+
35
+ return DurationFormatter;
36
+ }(React.Component);
37
+
38
+ export default DurationFormatter;
@@ -0,0 +1,5 @@
1
+ @import url('../css/cell-formatter.css');
2
+
3
+ .dtable-ui.email-formatter {
4
+ text-decoration: underline;
5
+ }
@@ -0,0 +1,36 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
4
+ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
+ import React from 'react';
6
+ import cn from 'astro-classname';
7
+ import './index.css';
8
+
9
+ var EmailFormatter = /*#__PURE__*/function (_React$Component) {
10
+ _inherits(EmailFormatter, _React$Component);
11
+
12
+ var _super = _createSuper(EmailFormatter);
13
+
14
+ function EmailFormatter() {
15
+ _classCallCheck(this, EmailFormatter);
16
+
17
+ return _super.apply(this, arguments);
18
+ }
19
+
20
+ _createClass(EmailFormatter, [{
21
+ key: "render",
22
+ value: function render() {
23
+ var _this$props = this.props,
24
+ containerClassName = _this$props.containerClassName,
25
+ value = _this$props.value;
26
+ var classname = cn('dtable-ui cell-formatter-container email-formatter', containerClassName);
27
+ return /*#__PURE__*/React.createElement("div", {
28
+ className: classname
29
+ }, value);
30
+ }
31
+ }]);
32
+
33
+ return EmailFormatter;
34
+ }(React.Component);
35
+
36
+ export default EmailFormatter;