dtable-ui-component 0.1.75-beta3 → 0.1.75-beta7

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/lib/AutoNumberFormatter/index.js +27 -38
  2. package/lib/ButtonFormatter/index.js +47 -59
  3. package/lib/CTimeFormatter/index.js +39 -53
  4. package/lib/CheckboxFormatter/index.js +35 -48
  5. package/lib/CollaboratorFormatter/index.js +42 -64
  6. package/lib/CollaboratorItem/index.js +44 -61
  7. package/lib/CreatorFormatter/index.js +42 -62
  8. package/lib/DateFormatter/index.js +40 -55
  9. package/lib/DurationFormatter/index.js +29 -42
  10. package/lib/EmailFormatter/index.js +27 -38
  11. package/lib/FileFormatter/index.js +50 -65
  12. package/lib/FileItemFormatter/index.js +31 -44
  13. package/lib/FileUploader/index.js +34 -44
  14. package/lib/FormulaFormatter/index.js +81 -102
  15. package/lib/GeolocationFormatter/index.js +35 -50
  16. package/lib/ImageFormatter/images-lazy-load.js +73 -81
  17. package/lib/ImageFormatter/index.js +90 -109
  18. package/lib/ImagePreviewerLightbox/index.js +27 -60
  19. package/lib/LastModifierFormatter/index.js +42 -62
  20. package/lib/LinkFormatter/index.js +59 -80
  21. package/lib/Loading/index.js +4 -13
  22. package/lib/LongTextFormatter/html-long-text-formatter.js +49 -60
  23. package/lib/LongTextFormatter/index.js +9 -28
  24. package/lib/LongTextFormatter/simple-long-text-formatter.js +52 -58
  25. package/lib/MTimeFormatter/index.js +39 -53
  26. package/lib/ModalPortal/index.js +30 -37
  27. package/lib/MultipleSelectFormatter/index.js +39 -55
  28. package/lib/NumberFormatter/index.js +35 -50
  29. package/lib/RateFormatter/index.js +37 -52
  30. package/lib/SelectItem/index.js +31 -46
  31. package/lib/SingleSelectFormatter/index.js +38 -54
  32. package/lib/TextFormatter/index.js +31 -44
  33. package/lib/UrlFormatter/index.js +27 -38
  34. package/lib/app.js +75 -80
  35. package/lib/cellFormatterFactory/index.js +17 -20
  36. package/lib/components/cell-editor/checkbox-editor.js +59 -66
  37. package/lib/components/cell-editor/collaborator-editor.js +113 -126
  38. package/lib/components/cell-editor/date-editor.js +99 -119
  39. package/lib/components/cell-editor/index.js +9 -40
  40. package/lib/components/cell-editor/link-editor.js +122 -140
  41. package/lib/components/cell-editor/multiple-select-editor.js +114 -127
  42. package/lib/components/cell-editor/number-editor.js +78 -86
  43. package/lib/components/cell-editor/single-select-editor.js +106 -120
  44. package/lib/components/cell-editor/text-editor.js +65 -72
  45. package/lib/components/cell-editor-dialog/pc-file-editor-dialog.js +31 -51
  46. package/lib/components/cell-editor-dialog/pc-files-addition/index.js +0 -1
  47. package/lib/components/cell-editor-dialog/pc-files-addition/pc-file-uploaded-item.js +0 -1
  48. package/lib/components/cell-editor-dialog/pc-files-preview/index.js +0 -1
  49. package/lib/components/cell-editor-dialog/pc-files-preview/pc-file-item-preview.js +0 -1
  50. package/lib/components/cell-editor-popover/mb-collaborator-editor-popover.js +105 -111
  51. package/lib/components/cell-editor-popover/mb-date-editor-popover.js +140 -157
  52. package/lib/components/cell-editor-popover/mb-link-editor-popover.js +103 -109
  53. package/lib/components/cell-editor-popover/mb-select-editor-popover.js +142 -155
  54. package/lib/components/cell-editor-popover/pc-collaborator-editor-popover.js +74 -89
  55. package/lib/components/cell-editor-popover/pc-date-editor-popover.js +88 -102
  56. package/lib/components/cell-editor-popover/pc-link-editor-popover.js +77 -91
  57. package/lib/components/cell-editor-popover/pc-select-editor-popover.js +91 -105
  58. package/lib/components/common/collaborator-item.js +43 -59
  59. package/lib/components/common/edit-editor-button.js +28 -39
  60. package/lib/components/common/link-editor-option.js +63 -71
  61. package/lib/components/common/mobile/mb-editor-header.js +39 -52
  62. package/lib/components/common/select-editor-option.js +58 -74
  63. package/lib/constants/cell-types.js +25 -54
  64. package/lib/constants/index.js +5 -28
  65. package/lib/formatterConfig/index.js +28 -59
  66. package/lib/index.js +31 -139
  67. package/lib/lang/index.js +11 -27
  68. package/lib/locals/de.js +1 -6
  69. package/lib/locals/en.js +1 -6
  70. package/lib/locals/fr.js +1 -6
  71. package/lib/locals/zh-CN.js +1 -6
  72. package/lib/toaster/alert.js +92 -106
  73. package/lib/toaster/index.js +3 -12
  74. package/lib/toaster/toast.js +103 -147
  75. package/lib/toaster/toastManager.js +78 -97
  76. package/lib/toaster/toaster.js +36 -52
  77. package/lib/utils/cell-value-validator.js +5 -9
  78. package/lib/utils/column-utils.js +5 -13
  79. package/lib/utils/editor-utils.js +3 -13
  80. package/lib/utils/markdown2html.js +1 -7
  81. package/lib/utils/normalize-long-text-value.js +3 -8
  82. package/lib/utils/number-precision.js +13 -31
  83. package/lib/utils/utils.js +8 -33
  84. package/lib/utils/value-format-utils.js +58 -108
  85. package/package.json +5 -5
  86. package/es/AutoNumberFormatter/index.css +0 -1
  87. package/es/AutoNumberFormatter/index.js +0 -36
  88. package/es/ButtonFormatter/index.css +0 -13
  89. package/es/ButtonFormatter/index.js +0 -56
  90. package/es/CTimeFormatter/index.css +0 -1
  91. package/es/CTimeFormatter/index.js +0 -58
  92. package/es/CheckboxFormatter/index.css +0 -1
  93. package/es/CheckboxFormatter/index.js +0 -45
  94. package/es/CollaboratorFormatter/index.css +0 -1
  95. package/es/CollaboratorFormatter/index.js +0 -91
  96. package/es/CollaboratorItem/index.css +0 -49
  97. package/es/CollaboratorItem/index.js +0 -64
  98. package/es/CreatorFormatter/index.css +0 -1
  99. package/es/CreatorFormatter/index.js +0 -87
  100. package/es/DateFormatter/index.css +0 -1
  101. package/es/DateFormatter/index.js +0 -60
  102. package/es/DurationFormatter/index.css +0 -1
  103. package/es/DurationFormatter/index.js +0 -38
  104. package/es/EmailFormatter/index.css +0 -5
  105. package/es/EmailFormatter/index.js +0 -36
  106. package/es/FileFormatter/index.css +0 -29
  107. package/es/FileFormatter/index.js +0 -64
  108. package/es/FileItemFormatter/index.js +0 -50
  109. package/es/FileUploader/index.js +0 -53
  110. package/es/FormulaFormatter/index.css +0 -19
  111. package/es/FormulaFormatter/index.js +0 -164
  112. package/es/GeolocationFormatter/index.css +0 -1
  113. package/es/GeolocationFormatter/index.js +0 -53
  114. package/es/ImageFormatter/images-lazy-load.js +0 -150
  115. package/es/ImageFormatter/index.css +0 -34
  116. package/es/ImageFormatter/index.js +0 -154
  117. package/es/ImagePreviewerLightbox/index.css +0 -87
  118. package/es/ImagePreviewerLightbox/index.js +0 -119
  119. package/es/LastModifierFormatter/index.css +0 -1
  120. package/es/LastModifierFormatter/index.js +0 -87
  121. package/es/LinkFormatter/index.css +0 -27
  122. package/es/LinkFormatter/index.js +0 -144
  123. package/es/Loading/index.css +0 -54
  124. package/es/Loading/index.js +0 -7
  125. package/es/LongTextFormatter/html-long-text-formatter.js +0 -96
  126. package/es/LongTextFormatter/index.css +0 -63
  127. package/es/LongTextFormatter/index.js +0 -29
  128. package/es/LongTextFormatter/simple-long-text-formatter.js +0 -104
  129. package/es/MTimeFormatter/index.css +0 -1
  130. package/es/MTimeFormatter/index.js +0 -58
  131. package/es/ModalPortal/index.js +0 -44
  132. package/es/MultipleSelectFormatter/index.css +0 -1
  133. package/es/MultipleSelectFormatter/index.js +0 -70
  134. package/es/NumberFormatter/index.css +0 -1
  135. package/es/NumberFormatter/index.js +0 -47
  136. package/es/RateFormatter/index.css +0 -1
  137. package/es/RateFormatter/index.js +0 -80
  138. package/es/SelectItem/index.js +0 -58
  139. package/es/SingleSelectFormatter/index.css +0 -1
  140. package/es/SingleSelectFormatter/index.js +0 -70
  141. package/es/TextFormatter/index.css +0 -1
  142. package/es/TextFormatter/index.js +0 -56
  143. package/es/UrlFormatter/index.css +0 -5
  144. package/es/UrlFormatter/index.js +0 -36
  145. package/es/app.css +0 -20
  146. package/es/app.js +0 -91
  147. package/es/assets/images/avatar/default_avatar.png +0 -0
  148. package/es/assets/images/file/192/excel.png +0 -0
  149. package/es/assets/images/file/192/file.png +0 -0
  150. package/es/assets/images/file/192/music.png +0 -0
  151. package/es/assets/images/file/192/pdf.png +0 -0
  152. package/es/assets/images/file/192/pic.png +0 -0
  153. package/es/assets/images/file/192/ppt.png +0 -0
  154. package/es/assets/images/file/192/txt.png +0 -0
  155. package/es/assets/images/file/192/video.png +0 -0
  156. package/es/assets/images/file/192/word.png +0 -0
  157. package/es/assets/images/file/24/excel.png +0 -0
  158. package/es/assets/images/file/24/file.png +0 -0
  159. package/es/assets/images/file/24/music.png +0 -0
  160. package/es/assets/images/file/24/pdf.png +0 -0
  161. package/es/assets/images/file/24/pic.png +0 -0
  162. package/es/assets/images/file/24/ppt.png +0 -0
  163. package/es/assets/images/file/24/txt.png +0 -0
  164. package/es/assets/images/file/24/video.png +0 -0
  165. package/es/assets/images/file/24/word.png +0 -0
  166. package/es/assets/images/folder/folder-192.png +0 -0
  167. package/es/assets/images/folder/folder-24.png +0 -0
  168. package/es/cellFormatterFactory/index.js +0 -25
  169. package/es/components/cell-editor/checkbox-editor.js +0 -104
  170. package/es/components/cell-editor/collaborator-editor.js +0 -236
  171. package/es/components/cell-editor/date-editor.js +0 -151
  172. package/es/components/cell-editor/index.js +0 -9
  173. package/es/components/cell-editor/link-editor.js +0 -303
  174. package/es/components/cell-editor/multiple-select-editor.js +0 -237
  175. package/es/components/cell-editor/number-editor.js +0 -154
  176. package/es/components/cell-editor/single-select-editor.js +0 -202
  177. package/es/components/cell-editor/text-editor.js +0 -122
  178. package/es/components/cell-editor-dialog/pc-file-editor-dialog.js +0 -46
  179. package/es/components/cell-editor-dialog/pc-files-addition/index.js +0 -0
  180. package/es/components/cell-editor-dialog/pc-files-addition/pc-file-uploaded-item.js +0 -0
  181. package/es/components/cell-editor-dialog/pc-files-preview/index.js +0 -0
  182. package/es/components/cell-editor-dialog/pc-files-preview/pc-file-item-preview.js +0 -0
  183. package/es/components/cell-editor-popover/mb-collaborator-editor-popover.js +0 -177
  184. package/es/components/cell-editor-popover/mb-date-editor-popover.js +0 -245
  185. package/es/components/cell-editor-popover/mb-link-editor-popover.js +0 -170
  186. package/es/components/cell-editor-popover/mb-select-editor-popover.js +0 -230
  187. package/es/components/cell-editor-popover/pc-collaborator-editor-popover.js +0 -109
  188. package/es/components/cell-editor-popover/pc-date-editor-popover.js +0 -142
  189. package/es/components/cell-editor-popover/pc-link-editor-popover.js +0 -114
  190. package/es/components/cell-editor-popover/pc-select-editor-popover.js +0 -143
  191. package/es/components/common/collaborator-item.js +0 -63
  192. package/es/components/common/edit-editor-button.js +0 -56
  193. package/es/components/common/link-editor-option.js +0 -113
  194. package/es/components/common/mobile/mb-editor-header.js +0 -48
  195. package/es/components/common/select-editor-option.js +0 -106
  196. package/es/constants/cell-types.js +0 -25
  197. package/es/constants/index.js +0 -49
  198. package/es/css/cell-editor.css +0 -614
  199. package/es/css/cell-formatter.css +0 -4
  200. package/es/css/custom-rc-calendar.css +0 -118
  201. package/es/formatterConfig/index.js +0 -31
  202. package/es/index.js +0 -31
  203. package/es/lang/index.js +0 -50
  204. package/es/locals/de.js +0 -2
  205. package/es/locals/en.js +0 -17
  206. package/es/locals/fr.js +0 -2
  207. package/es/locals/zh-CN.js +0 -17
  208. package/es/toaster/alert.js +0 -150
  209. package/es/toaster/index.js +0 -3
  210. package/es/toaster/toast.js +0 -179
  211. package/es/toaster/toastManager.js +0 -170
  212. package/es/toaster/toaster.js +0 -76
  213. package/es/utils/cell-value-validator.js +0 -31
  214. package/es/utils/column-utils.js +0 -7
  215. package/es/utils/editor-utils.js +0 -71
  216. package/es/utils/markdown2html.js +0 -62
  217. package/es/utils/normalize-long-text-value.js +0 -69
  218. package/es/utils/number-precision.js +0 -164
  219. package/es/utils/unified/index.js +0 -470
  220. package/es/utils/utils.js +0 -116
  221. package/es/utils/value-format-utils.js +0 -497
  222. package/es/utils/vfile/core.js +0 -172
  223. package/es/utils/vfile/index.js +0 -48
@@ -1,119 +0,0 @@
1
- import React, { Fragment } from 'react';
2
- import MediaQuery from 'react-responsive';
3
- import ModalPortal from '../ModalPortal';
4
- import Lightbox from '@seafile/react-image-lightbox';
5
- import { checkSVGImage, isInternalImg } from '../utils/utils';
6
- import '@seafile/react-image-lightbox/style.css';
7
- import './index.css';
8
-
9
- function ImagePreviewerLightbox(props) {
10
- var imageItems = props.imageItems,
11
- imageIndex = props.imageIndex,
12
- deleteImage = props.deleteImage,
13
- downloadImage = props.downloadImage,
14
- onRotateImage = props.onRotateImage,
15
- readOnly = props.readOnly;
16
- var imageItemsLength = imageItems.length;
17
- var URL = imageItems[imageIndex];
18
- var imageTitle = URL ? decodeURI(URL.slice(URL.lastIndexOf('/') + 1)) : ''; // svg image is vectorgraph and can't rotate, external image can't rotate
19
-
20
- var canRotateImage = onRotateImage && !readOnly && !checkSVGImage(URL) && isInternalImg(URL);
21
- var imageTitleEl = /*#__PURE__*/React.createElement("span", {
22
- className: "d-flex"
23
- }, /*#__PURE__*/React.createElement("span", {
24
- className: "text-truncate"
25
- }, imageTitle), /*#__PURE__*/React.createElement("span", {
26
- className: "flex-shrink-0"
27
- }, "(", imageIndex + 1, "/", imageItemsLength, ")"));
28
- var toolbarButtons = [];
29
-
30
- if (!readOnly && deleteImage) {
31
- toolbarButtons.push( /*#__PURE__*/React.createElement("button", {
32
- className: "dtable-font dtable-icon-delete",
33
- onClick: function onClick() {
34
- deleteImage(imageIndex, 'previewer');
35
- }
36
- }));
37
- }
38
-
39
- if (downloadImage) {
40
- toolbarButtons.push( /*#__PURE__*/React.createElement("button", {
41
- className: "dtable-font dtable-icon-download",
42
- onClick: function onClick() {
43
- downloadImage(URL);
44
- }
45
- }));
46
- }
47
-
48
- return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(MediaQuery, {
49
- query: "(min-width: 767.8px)"
50
- }, /*#__PURE__*/React.createElement(Lightbox, {
51
- wrapperClassName: "PC-image-previewer",
52
- imageTitle: imageTitleEl,
53
- toolbarButtons: toolbarButtons,
54
- mainSrc: imageItems[imageIndex],
55
- nextSrc: imageItems[(imageIndex + 1) % imageItemsLength],
56
- prevSrc: imageItems[(imageIndex + imageItemsLength - 1) % imageItemsLength],
57
- onCloseRequest: props.closeImagePopup,
58
- onMovePrevRequest: props.moveToPrevImage,
59
- onMoveNextRequest: props.moveToNextImage,
60
- onRotateImage: canRotateImage ? function (deg) {
61
- onRotateImage(imageIndex, deg);
62
- } : null,
63
- imagePadding: 70,
64
- reactModalStyle: {
65
- overlay: {
66
- zIndex: 1051
67
- }
68
- }
69
- })), /*#__PURE__*/React.createElement(MediaQuery, {
70
- query: "(max-width: 767.8px)"
71
- }, /*#__PURE__*/React.createElement(Lightbox, {
72
- isDesktop: false,
73
- wrapperClassName: "mobile-image-previewer dtable-ui-component",
74
- mainSrc: imageItems[imageIndex],
75
- nextSrc: imageItems[(imageIndex + 1) % imageItemsLength],
76
- prevSrc: imageItems[(imageIndex + imageItemsLength - 1) % imageItemsLength],
77
- onCloseRequest: props.closeImagePopup,
78
- onMovePrevRequest: props.moveToPrevImage,
79
- onMoveNextRequest: props.moveToNextImage,
80
- imagePadding: 0,
81
- animationDisabled: true,
82
- imageTitle: imageTitleEl,
83
- reactModalStyle: {
84
- overlay: {
85
- zIndex: 1051,
86
- backgroundColor: '#000'
87
- }
88
- }
89
- }), /*#__PURE__*/React.createElement(ModalPortal, null, /*#__PURE__*/React.createElement("div", {
90
- className: "image-footer-choice mobile-image-footer-choice dtable-ui-component"
91
- }, /*#__PURE__*/React.createElement("div", {
92
- className: "image-footer-icon"
93
- }, /*#__PURE__*/React.createElement("div", {
94
- className: "d-flex"
95
- }, canRotateImage && /*#__PURE__*/React.createElement("span", {
96
- className: "image-footer-choice-item mr-4",
97
- onClick: function onClick() {
98
- onRotateImage(imageIndex, 90);
99
- }
100
- }, /*#__PURE__*/React.createElement("i", {
101
- className: "dtable-font dtable-icon-rotate"
102
- })), downloadImage && /*#__PURE__*/React.createElement("span", {
103
- className: "image-footer-choice-item",
104
- onClick: function onClick() {
105
- downloadImage(URL);
106
- }
107
- }, /*#__PURE__*/React.createElement("i", {
108
- className: "dtable-font dtable-icon-download"
109
- }))), !readOnly && deleteImage && /*#__PURE__*/React.createElement("span", {
110
- className: "image-footer-choice-item",
111
- onClick: function onClick() {
112
- deleteImage(imageIndex, 'previewer');
113
- }
114
- }, /*#__PURE__*/React.createElement("i", {
115
- className: "dtable-font dtable-icon-delete"
116
- })))))));
117
- }
118
-
119
- export default ImagePreviewerLightbox;
@@ -1 +0,0 @@
1
- @import url('../css/cell-formatter.css');
@@ -1,87 +0,0 @@
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 LastModifierFormatter = /*#__PURE__*/function (_React$PureComponent) {
17
- _inherits(LastModifierFormatter, _React$PureComponent);
18
-
19
- var _super = _createSuper(LastModifierFormatter);
20
-
21
- function LastModifierFormatter() {
22
- var _this;
23
-
24
- _classCallCheck(this, LastModifierFormatter);
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 modified 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(LastModifierFormatter, [{
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 last-modified-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 LastModifierFormatter;
85
- }(React.PureComponent);
86
-
87
- export default LastModifierFormatter;
@@ -1,27 +0,0 @@
1
- @import url('../css/cell-formatter.css');
2
-
3
- .dtable-ui.link-formmatter {
4
- display: inline-flex;
5
- align-items: center;
6
- overflow: hidden;
7
- flex-wrap: nowrap;
8
- }
9
-
10
- .dtable-ui.link-formatter .link-item {
11
- display: inline-flex;
12
- height: 20px;
13
- max-width: 230px;
14
- padding: 0 8px 0 2px;
15
- align-items: center;
16
- font-size: 13px;
17
- margin-right: 10px;
18
- border-radius: 3px;
19
- background: #eceff4;
20
- cursor: pointer;
21
- }
22
-
23
- .dtable-ui.link-formatter .link-item .link-name {
24
- overflow: hidden;
25
- white-space: nowrap;
26
- text-overflow: ellipsis;
27
- }
@@ -1,144 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/esm/createClass";
3
- import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
4
- import _inherits from "@babel/runtime/helpers/esm/inherits";
5
- import _createSuper from "@babel/runtime/helpers/esm/createSuper";
6
- import React from 'react';
7
- import cn from 'astro-classname';
8
- import * as CellTypes from '../constants/cell-types';
9
- import { getNumberDisplayString, getDateDisplayString } from '../utils/value-format-utils';
10
-
11
- // link value is get form parant's interface
12
- var LinkFormatter = /*#__PURE__*/function (_React$Component) {
13
- _inherits(LinkFormatter, _React$Component);
14
-
15
- var _super = _createSuper(LinkFormatter);
16
-
17
- function LinkFormatter(props) {
18
- var _this;
19
-
20
- _classCallCheck(this, LinkFormatter);
21
-
22
- _this = _super.call(this, props);
23
-
24
- _this.getLinkedCellValue = function (row) {
25
- if (!row) return [];
26
- var _this$props = _this.props,
27
- column = _this$props.column,
28
- currentTableId = _this$props.currentTableId,
29
- linkMetaData = _this$props.linkMetaData;
30
-
31
- var _ref = column.data || {},
32
- link_id = _ref.link_id,
33
- table_id = _ref.table_id,
34
- other_table_id = _ref.other_table_id;
35
-
36
- _this.linkID = link_id;
37
- _this.tableID = currentTableId === table_id ? table_id : other_table_id;
38
- _this.otherTableID = _this.tableID === table_id ? other_table_id : table_id;
39
- return linkMetaData.getLinkedCellValue(_this.linkID, _this.tableID, _this.otherTableID, row._id);
40
- };
41
-
42
- _this.expandLinkedTableRow = function (row) {
43
- var _this$props2 = _this.props,
44
- enableOpenLinkedRow = _this$props2.enableOpenLinkedRow,
45
- linkMetaData = _this$props2.linkMetaData;
46
-
47
- if (enableOpenLinkedRow) {
48
- linkMetaData.expandLinkedTableRow(row, _this.otherTableID);
49
- }
50
- };
51
-
52
- _this.getDisplayValues = function () {
53
- var _this$props3 = _this.props,
54
- column = _this$props3.column,
55
- linkMetaData = _this$props3.linkMetaData;
56
- var rowIds = _this.state.value;
57
-
58
- if (rowIds && Array.isArray(rowIds) && rowIds.length > 0) {
59
- var linkedTable = linkMetaData.getLinkedTable(_this.otherTableID);
60
- var linkedRows = linkMetaData.getLinkedRows(_this.otherTableID, rowIds);
61
- var result = linkedRows.map(function (row, index) {
62
- var displayColumnKey = column.data.display_column_key;
63
-
64
- var displayValue = _this.getDisplayValue(linkedTable, row, displayColumnKey);
65
-
66
- return /*#__PURE__*/React.createElement("div", {
67
- key: index,
68
- className: "link-item",
69
- onClick: _this.expandLinkedTableRow.bind(_assertThisInitialized(_this), row)
70
- }, /*#__PURE__*/React.createElement("div", {
71
- className: "link-name"
72
- }, displayValue));
73
- });
74
- return result;
75
- }
76
-
77
- return null;
78
- };
79
-
80
- _this.getDisplayValue = function (linkedTable, row, displayColumnKey) {
81
- var value = row[displayColumnKey];
82
- var linkedColumn = linkedTable.columns.find(function (column) {
83
- return column.key === displayColumnKey;
84
- });
85
- var type = linkedColumn.type,
86
- data = linkedColumn.data; // todo: improve
87
-
88
- switch (type) {
89
- case CellTypes.NUMBER:
90
- {
91
- return getNumberDisplayString(value, data);
92
- }
93
-
94
- case CellTypes.DATE:
95
- {
96
- var format = data.format;
97
- return getDateDisplayString(value, format);
98
- }
99
-
100
- default:
101
- return value;
102
- }
103
- };
104
-
105
- _this.linkID = '';
106
- _this.tableID = '';
107
- _this.otherTableID = '';
108
- _this.state = {
109
- value: _this.getLinkedCellValue(props.row)
110
- };
111
- return _this;
112
- }
113
-
114
- _createClass(LinkFormatter, [{
115
- key: "componentWillReceiveProps",
116
- value: function componentWillReceiveProps(nextProps) {
117
- var nextRow = nextProps.row;
118
-
119
- if (nextRow._id !== this.props.row._id) {
120
- this.setState({
121
- value: this.getLinkedCellValue(nextRow)
122
- });
123
- }
124
- }
125
- }, {
126
- key: "render",
127
- value: function render() {
128
- var containerClassName = this.props.containerClassName;
129
- var classname = cn('dtable-ui cell-formatter-container link-formatter', containerClassName);
130
- var displayValues = this.getDisplayValues();
131
- return /*#__PURE__*/React.createElement("div", {
132
- className: classname
133
- }, displayValues);
134
- }
135
- }]);
136
-
137
- return LinkFormatter;
138
- }(React.Component);
139
-
140
- LinkFormatter.defaultProps = {
141
- enableOpenLinkedRow: false,
142
- value: []
143
- };
144
- export default LinkFormatter;
@@ -1,54 +0,0 @@
1
- /** loading **/
2
- @-moz-keyframes loading {
3
- 0% {
4
- -moz-transform: rotate(0deg);
5
- transform: rotate(0deg);
6
- }
7
- 100% {
8
- -moz-transform: rotate(360deg);
9
- transform: rotate(360deg);
10
- }
11
- }
12
-
13
- @-webkit-keyframes loading {
14
- 0% {
15
- -webkit-transform: rotate(0deg);
16
- transform: rotate(0deg);
17
- }
18
- 100% {
19
- -webkit-transform: rotate(360deg);
20
- transform: rotate(360deg);
21
- }
22
- }
23
-
24
- @keyframes loading {
25
- 0% {
26
- -moz-transform: rotate(0deg);
27
- -ms-transform: rotate(0deg);
28
- -webkit-transform: rotate(0deg);
29
- transform: rotate(0deg);
30
- }
31
- 100% {
32
- -moz-transform: rotate(360deg);
33
- -ms-transform: rotate(360deg);
34
- -webkit-transform: rotate(360deg);
35
- transform: rotate(360deg);
36
- }
37
- }
38
-
39
- .loading-icon {
40
- display: inline-block;
41
- width: 20px;
42
- height: 20px;
43
- border: 2px solid #eee;
44
- border-left-color: #aaa;
45
- border-radius: 50%;
46
- -moz-animation: loading 0.9s infinite linear;
47
- -webkit-animation: loading 0.9s infinite linear;
48
- animation: loading 0.9s infinite linear;
49
- }
50
-
51
- .loading-tip {
52
- display: block;
53
- margin: 0 auto;
54
- }
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- import './index.css';
3
- export default function Loading() {
4
- return /*#__PURE__*/React.createElement("span", {
5
- className: "loading-icon loading-tip"
6
- });
7
- }
@@ -1,96 +0,0 @@
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, { Component } from 'react';
6
- import { processor } from '../utils/markdown2html';
7
-
8
- var HtmlLongTextFormatter = /*#__PURE__*/function (_Component) {
9
- _inherits(HtmlLongTextFormatter, _Component);
10
-
11
- var _super = _createSuper(HtmlLongTextFormatter);
12
-
13
- function HtmlLongTextFormatter(_props) {
14
- var _this;
15
-
16
- _classCallCheck(this, HtmlLongTextFormatter);
17
-
18
- _this = _super.call(this, _props);
19
-
20
- _this.translateValue = function (props) {
21
- var value = props.value;
22
-
23
- if (!value) {
24
- _this.setState({
25
- innerHtml: null
26
- });
27
-
28
- return;
29
- }
30
-
31
- var valueType = Object.prototype.toString.call(value);
32
-
33
- if (valueType === '[object String]') {
34
- _this.convertMarkdown(value);
35
-
36
- return;
37
- }
38
-
39
- if (valueType === '[object Object]') {
40
- _this.convertMarkdown(value.text);
41
-
42
- return;
43
- }
44
-
45
- return;
46
- };
47
-
48
- _this.convertMarkdown = function (mdFile) {
49
- processor.process(mdFile).then(function (result) {
50
- var innerHtml = String(result).replace(/<a /ig, '<a target="_blank" ');
51
-
52
- _this.setState({
53
- innerHtml: innerHtml
54
- });
55
- });
56
- };
57
-
58
- _this.state = {
59
- innerHtml: null
60
- };
61
- return _this;
62
- }
63
-
64
- _createClass(HtmlLongTextFormatter, [{
65
- key: "componentDidMount",
66
- value: function componentDidMount() {
67
- this.translateValue(this.props);
68
- }
69
- }, {
70
- key: "UNSAFE_componentWillReceiveProps",
71
- value: function UNSAFE_componentWillReceiveProps(nextProps) {
72
- var value = this.props.value;
73
-
74
- if (nextProps.value !== value) {
75
- this.translateValue(nextProps);
76
- }
77
- }
78
- }, {
79
- key: "render",
80
- value: function render() {
81
- var innerHtml = this.state.innerHtml;
82
- var className = this.props.className;
83
- if (!innerHtml) return null;
84
- return /*#__PURE__*/React.createElement("div", {
85
- className: "".concat(className, " article"),
86
- dangerouslySetInnerHTML: {
87
- __html: innerHtml
88
- }
89
- });
90
- }
91
- }]);
92
-
93
- return HtmlLongTextFormatter;
94
- }(Component);
95
-
96
- export default HtmlLongTextFormatter;
@@ -1,63 +0,0 @@
1
- @import url('../css/cell-formatter.css');
2
-
3
- .dtable-ui.long-text-formatter {
4
- display: flex;
5
- align-items: center;
6
- height: 28px;
7
- overflow: hidden;
8
- text-overflow: ellipsis;
9
- white-space: nowrap;
10
- }
11
-
12
- .dtable-ui.long-text-formatter.article {
13
- display: block;
14
- height: auto;
15
- overflow: auto;
16
- }
17
-
18
- .dtable-ui.long-text-formatter .long-text-links,
19
- .dtable-ui.long-text-formatter .long-text-check-list {
20
- display: inline-block;
21
- height: 20px;
22
- padding: 2px;
23
- margin: 4px;
24
- color: #9c9c9c;
25
- background-color: #f0f0f0;
26
- border-radius: 3px;
27
- line-height: 16px;
28
- }
29
-
30
- .dtable-ui.long-text-formatter .long-text-check-list .dtable-font,
31
- .dtable-ui.long-text-formatter .long-text-links .dtable-font {
32
- margin-right: 4px;
33
- font-size: 12px;
34
- }
35
-
36
- .dtable-ui.long-text-formatter .long-text-check-list .long-text-check-list-completed {
37
- color: #61BD4F;
38
- }
39
-
40
- .dtable-ui.long-text-formatter .long-text-images {
41
- margin-right: -10px;
42
- }
43
-
44
- .dtable-ui.long-text-formatter .long-text-images img {
45
- max-width: 28px;
46
- max-height: 28px;
47
- border: 1px solid #f0f0f0;
48
- box-sizing: border-box;
49
- border-radius: 3px;
50
- }
51
-
52
- .dtable-ui.long-text-formatter .long-text-images .image-number {
53
- display: inline-block;
54
- min-width: 14px;
55
- padding: 0 3px;
56
- line-height: 14px;
57
- font-style: normal;
58
- font-size: 12px;
59
- border-radius: 6px;
60
- background-color: #999;
61
- color: #fff;
62
- transform: translate(-50%, 9px) scale(0.8);
63
- }
@@ -1,29 +0,0 @@
1
- import React from 'react';
2
- import cn from 'astro-classname';
3
- import HtmlLongTextFormatter from './html-long-text-formatter';
4
- import SimpleLongTextFormatter from './simple-long-text-formatter';
5
- import './index.css';
6
-
7
- function LongTextFormatter(props) {
8
- var isSample = props.isSample,
9
- value = props.value,
10
- containerClassName = props.containerClassName;
11
- var className = cn('dtable-ui cell-formatter-container long-text-formatter', containerClassName);
12
-
13
- if (isSample) {
14
- return /*#__PURE__*/React.createElement(SimpleLongTextFormatter, {
15
- value: value,
16
- className: className
17
- });
18
- }
19
-
20
- return /*#__PURE__*/React.createElement(HtmlLongTextFormatter, {
21
- value: value,
22
- className: className
23
- });
24
- }
25
-
26
- LongTextFormatter.defaultProps = {
27
- isSample: true
28
- };
29
- export default LongTextFormatter;