dtable-ui-component 0.1.75-beta → 0.1.75-beta1

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 (115) hide show
  1. package/lib/app.css +20 -0
  2. package/lib/app.js +96 -0
  3. package/lib/assets/images/avatar/default_avatar.png +0 -0
  4. package/lib/assets/images/file/192/excel.png +0 -0
  5. package/lib/assets/images/file/192/file.png +0 -0
  6. package/lib/assets/images/file/192/music.png +0 -0
  7. package/lib/assets/images/file/192/pdf.png +0 -0
  8. package/lib/assets/images/file/192/pic.png +0 -0
  9. package/lib/assets/images/file/192/ppt.png +0 -0
  10. package/lib/assets/images/file/192/txt.png +0 -0
  11. package/lib/assets/images/file/192/video.png +0 -0
  12. package/lib/assets/images/file/192/word.png +0 -0
  13. package/lib/assets/images/file/24/excel.png +0 -0
  14. package/lib/assets/images/file/24/file.png +0 -0
  15. package/lib/assets/images/file/24/music.png +0 -0
  16. package/lib/assets/images/file/24/pdf.png +0 -0
  17. package/lib/assets/images/file/24/pic.png +0 -0
  18. package/lib/assets/images/file/24/ppt.png +0 -0
  19. package/lib/assets/images/file/24/txt.png +0 -0
  20. package/lib/assets/images/file/24/video.png +0 -0
  21. package/lib/assets/images/file/24/word.png +0 -0
  22. package/lib/assets/images/folder/folder-192.png +0 -0
  23. package/lib/assets/images/folder/folder-24.png +0 -0
  24. package/lib/components/cell-editor/checkbox-editor.js +111 -0
  25. package/lib/components/cell-editor/collaborator-editor.js +249 -0
  26. package/lib/components/cell-editor/date-editor.js +171 -0
  27. package/lib/components/cell-editor/index.js +40 -0
  28. package/lib/components/cell-editor/link-editor.js +321 -0
  29. package/lib/components/cell-editor/multiple-select-editor.js +250 -0
  30. package/lib/components/cell-editor/number-editor.js +162 -0
  31. package/lib/components/cell-editor/single-select-editor.js +216 -0
  32. package/lib/components/cell-editor/text-editor.js +129 -0
  33. package/lib/components/cell-editor-dialog/pc-file-editor-dialog.js +66 -0
  34. package/lib/components/cell-editor-dialog/pc-files-addition/index.js +1 -0
  35. package/lib/components/cell-editor-dialog/pc-files-addition/pc-file-uploaded-item.js +1 -0
  36. package/lib/components/cell-editor-dialog/pc-files-preview/index.js +1 -0
  37. package/lib/components/cell-editor-dialog/pc-files-preview/pc-file-item-preview.js +1 -0
  38. package/lib/components/cell-editor-popover/mb-collaborator-editor-popover.js +183 -0
  39. package/lib/components/cell-editor-popover/mb-date-editor-popover.js +262 -0
  40. package/lib/components/cell-editor-popover/mb-link-editor-popover.js +176 -0
  41. package/lib/components/cell-editor-popover/mb-select-editor-popover.js +243 -0
  42. package/lib/components/cell-editor-popover/pc-collaborator-editor-popover.js +124 -0
  43. package/lib/components/cell-editor-popover/pc-date-editor-popover.js +156 -0
  44. package/lib/components/cell-editor-popover/pc-link-editor-popover.js +128 -0
  45. package/lib/components/cell-editor-popover/pc-select-editor-popover.js +157 -0
  46. package/lib/components/cell-factory/cell-formatter-factory.js +28 -0
  47. package/lib/components/cell-formatter/auto-number-formatter.js +45 -0
  48. package/lib/components/cell-formatter/button-formatter.js +66 -0
  49. package/lib/components/cell-formatter/checkbox-formatter.js +56 -0
  50. package/lib/components/cell-formatter/collaborator-formatter.js +111 -0
  51. package/lib/components/cell-formatter/creator-formatter.js +105 -0
  52. package/lib/components/cell-formatter/ctime-formatter.js +70 -0
  53. package/lib/components/cell-formatter/date-formatter.js +73 -0
  54. package/lib/components/cell-formatter/duration-formatter.js +49 -0
  55. package/lib/components/cell-formatter/email-formatter.js +45 -0
  56. package/lib/components/cell-formatter/file-formatter.js +77 -0
  57. package/lib/components/cell-formatter/formatter-config.js +66 -0
  58. package/lib/components/cell-formatter/formula-formatter.js +189 -0
  59. package/lib/components/cell-formatter/geolocation-formatter.js +66 -0
  60. package/lib/components/cell-formatter/image-formatter.js +171 -0
  61. package/lib/components/cell-formatter/index.js +112 -0
  62. package/lib/components/cell-formatter/last-modifier-formatter.js +105 -0
  63. package/lib/components/cell-formatter/link-formatter.js +165 -0
  64. package/lib/components/cell-formatter/long-text-formatter.js +46 -0
  65. package/lib/components/cell-formatter/mtime-formatter.js +70 -0
  66. package/lib/components/cell-formatter/multiple-select-formatter.js +84 -0
  67. package/lib/components/cell-formatter/number-formatter.js +60 -0
  68. package/lib/components/cell-formatter/rate-formatter.js +93 -0
  69. package/lib/components/cell-formatter/single-select-formatter.js +84 -0
  70. package/lib/components/cell-formatter/text-formatter.js +67 -0
  71. package/lib/components/cell-formatter/url-formatter.js +45 -0
  72. package/lib/components/cell-formatter/widgets/file-item-formatter.js +63 -0
  73. package/lib/components/cell-formatter/widgets/image-previewer-lightbox.js +152 -0
  74. package/lib/components/cell-formatter/widgets/long-text-formatter/html-long-text-formatter.js +107 -0
  75. package/lib/components/cell-formatter/widgets/long-text-formatter/simple-long-text-formatter.js +110 -0
  76. package/lib/components/common/collaborator-item.js +79 -0
  77. package/lib/components/common/edit-editor-button.js +67 -0
  78. package/lib/components/common/images-lazy-load.js +158 -0
  79. package/lib/components/common/link-editor-option.js +121 -0
  80. package/lib/components/common/mobile/mb-editor-header.js +61 -0
  81. package/lib/components/common/modal-portal.js +51 -0
  82. package/lib/components/common/select-editor-option.js +122 -0
  83. package/lib/components/common/select-item.js +73 -0
  84. package/lib/components/file-uploader/index.js +63 -0
  85. package/lib/components/loading.js +16 -0
  86. package/lib/components/toast/alert.js +164 -0
  87. package/lib/components/toast/index.js +12 -0
  88. package/lib/components/toast/toast.js +223 -0
  89. package/lib/components/toast/toastManager.js +189 -0
  90. package/lib/components/toast/toaster.js +92 -0
  91. package/lib/constants/cell-types.js +54 -0
  92. package/lib/constants/index.js +70 -0
  93. package/lib/css/cell-editor.css +614 -0
  94. package/lib/css/cell-formatter.css +247 -0
  95. package/lib/css/custom-rc-calendar.css +118 -0
  96. package/lib/css/image-previewer-ligntbox.css +87 -0
  97. package/lib/css/loading.css +54 -0
  98. package/lib/index.js +64 -0
  99. package/lib/lang/index.js +66 -0
  100. package/lib/locals/de.js +7 -0
  101. package/lib/locals/en.js +22 -0
  102. package/lib/locals/fr.js +7 -0
  103. package/lib/locals/zh-CN.js +22 -0
  104. package/lib/utils/cell-value-validator.js +41 -0
  105. package/lib/utils/column-utils.js +15 -0
  106. package/lib/utils/editor-utils.js +81 -0
  107. package/lib/utils/markdown2html.js +68 -0
  108. package/lib/utils/normalize-long-text-value.js +74 -0
  109. package/lib/utils/number-precision.js +181 -0
  110. package/lib/utils/unified/index.js +470 -0
  111. package/lib/utils/utils.js +141 -0
  112. package/lib/utils/value-format-utils.js +545 -0
  113. package/lib/utils/vfile/core.js +172 -0
  114. package/lib/utils/vfile/index.js +48 -0
  115. package/package.json +3 -3
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _astroClassname = _interopRequireDefault(require("astro-classname"));
15
+
16
+ var propTypes = {
17
+ value: _propTypes.default.string,
18
+ containerClassName: _propTypes.default.string
19
+ };
20
+
21
+ var UrlFormatter = /*#__PURE__*/function (_React$Component) {
22
+ (0, _inheritsLoose2.default)(UrlFormatter, _React$Component);
23
+
24
+ function UrlFormatter() {
25
+ return _React$Component.apply(this, arguments) || this;
26
+ }
27
+
28
+ var _proto = UrlFormatter.prototype;
29
+
30
+ _proto.render = function render() {
31
+ var _this$props = this.props,
32
+ containerClassName = _this$props.containerClassName,
33
+ value = _this$props.value;
34
+ var classname = (0, _astroClassname.default)('dtable-ui cell-formatter-container url-formatter', containerClassName);
35
+ return /*#__PURE__*/_react.default.createElement("div", {
36
+ className: classname
37
+ }, value);
38
+ };
39
+
40
+ return UrlFormatter;
41
+ }(_react.default.Component);
42
+
43
+ UrlFormatter.propTypes = propTypes;
44
+ var _default = UrlFormatter;
45
+ exports.default = _default;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
9
+
10
+ var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _utils = require("../../../utils/utils");
19
+
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
24
+ var FileItemFormatter = /*#__PURE__*/function (_Component) {
25
+ (0, _inheritsLoose2.default)(FileItemFormatter, _Component);
26
+
27
+ function FileItemFormatter() {
28
+ var _this;
29
+
30
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
31
+ args[_key] = arguments[_key];
32
+ }
33
+
34
+ _this = _Component.call.apply(_Component, [this].concat(args)) || this;
35
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getFileIconData", function (item) {
36
+ var fileIconUrl = (0, _utils.getFileIconUrl)(item.name, item.type);
37
+
38
+ var fileIconData = require('../../../' + fileIconUrl);
39
+
40
+ return fileIconData;
41
+ });
42
+ return _this;
43
+ }
44
+
45
+ var _proto = FileItemFormatter.prototype;
46
+
47
+ _proto.render = function render() {
48
+ var file = this.props.file;
49
+ return /*#__PURE__*/_react.default.createElement("img", {
50
+ className: "file-item-icon",
51
+ src: this.getFileIconData(file),
52
+ alt: file.name
53
+ });
54
+ };
55
+
56
+ return FileItemFormatter;
57
+ }(_react.Component);
58
+
59
+ FileItemFormatter.propTypes = {
60
+ file: _propTypes.default.string.isRequired
61
+ };
62
+ var _default = FileItemFormatter;
63
+ exports.default = _default;
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _reactResponsive = _interopRequireDefault(require("react-responsive"));
13
+
14
+ var _modalPortal = _interopRequireDefault(require("../../common/modal-portal"));
15
+
16
+ var _reactImageLightbox = _interopRequireDefault(require("@seafile/react-image-lightbox"));
17
+
18
+ var _utils = require("../../../utils/utils");
19
+
20
+ require("@seafile/react-image-lightbox/style.css");
21
+
22
+ require("../../../css/image-previewer-ligntbox.css");
23
+
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+
28
+ function ImagePreviewerLightbox(props) {
29
+ var imageItems = props.imageItems,
30
+ imageIndex = props.imageIndex,
31
+ deleteImage = props.deleteImage,
32
+ downloadImage = props.downloadImage,
33
+ onRotateImage = props.onRotateImage,
34
+ readOnly = props.readOnly;
35
+ var imageItemsLength = imageItems.length;
36
+ var URL = imageItems[imageIndex];
37
+ var imageTitle = URL ? decodeURI(URL.slice(URL.lastIndexOf('/') + 1)) : ''; // svg image is vectorgraph and can't rotate, external image can't rotate
38
+
39
+ var canRotateImage = onRotateImage && !readOnly && !(0, _utils.checkSVGImage)(URL) && (0, _utils.isInternalImg)(URL);
40
+
41
+ var imageTitleEl = /*#__PURE__*/_react.default.createElement("span", {
42
+ className: "d-flex"
43
+ }, /*#__PURE__*/_react.default.createElement("span", {
44
+ className: "text-truncate"
45
+ }, imageTitle), /*#__PURE__*/_react.default.createElement("span", {
46
+ className: "flex-shrink-0"
47
+ }, "(", imageIndex + 1, "/", imageItemsLength, ")"));
48
+
49
+ var toolbarButtons = [];
50
+
51
+ if (!readOnly && deleteImage) {
52
+ toolbarButtons.push( /*#__PURE__*/_react.default.createElement("button", {
53
+ className: "dtable-font dtable-icon-delete",
54
+ onClick: function onClick() {
55
+ deleteImage(imageIndex, 'previewer');
56
+ }
57
+ }));
58
+ }
59
+
60
+ if (downloadImage) {
61
+ toolbarButtons.push( /*#__PURE__*/_react.default.createElement("button", {
62
+ className: "dtable-font dtable-icon-download",
63
+ onClick: function onClick() {
64
+ downloadImage(URL);
65
+ }
66
+ }));
67
+ }
68
+
69
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactResponsive.default, {
70
+ query: "(min-width: 767.8px)"
71
+ }, /*#__PURE__*/_react.default.createElement(_reactImageLightbox.default, {
72
+ wrapperClassName: "PC-image-previewer",
73
+ imageTitle: imageTitleEl,
74
+ toolbarButtons: toolbarButtons,
75
+ mainSrc: imageItems[imageIndex],
76
+ nextSrc: imageItems[(imageIndex + 1) % imageItemsLength],
77
+ prevSrc: imageItems[(imageIndex + imageItemsLength - 1) % imageItemsLength],
78
+ onCloseRequest: props.closeImagePopup,
79
+ onMovePrevRequest: props.moveToPrevImage,
80
+ onMoveNextRequest: props.moveToNextImage,
81
+ onRotateImage: canRotateImage ? function (deg) {
82
+ onRotateImage(imageIndex, deg);
83
+ } : null,
84
+ imagePadding: 70,
85
+ reactModalStyle: {
86
+ overlay: {
87
+ zIndex: 1051
88
+ }
89
+ }
90
+ })), /*#__PURE__*/_react.default.createElement(_reactResponsive.default, {
91
+ query: "(max-width: 767.8px)"
92
+ }, /*#__PURE__*/_react.default.createElement(_reactImageLightbox.default, {
93
+ isDesktop: false,
94
+ wrapperClassName: "mobile-image-previewer dtable-ui-component",
95
+ mainSrc: imageItems[imageIndex],
96
+ nextSrc: imageItems[(imageIndex + 1) % imageItemsLength],
97
+ prevSrc: imageItems[(imageIndex + imageItemsLength - 1) % imageItemsLength],
98
+ onCloseRequest: props.closeImagePopup,
99
+ onMovePrevRequest: props.moveToPrevImage,
100
+ onMoveNextRequest: props.moveToNextImage,
101
+ imagePadding: 0,
102
+ animationDisabled: true,
103
+ imageTitle: imageTitleEl,
104
+ reactModalStyle: {
105
+ overlay: {
106
+ zIndex: 1051,
107
+ backgroundColor: '#000'
108
+ }
109
+ }
110
+ }), /*#__PURE__*/_react.default.createElement(_modalPortal.default, null, /*#__PURE__*/_react.default.createElement("div", {
111
+ className: "image-footer-choice mobile-image-footer-choice dtable-ui-component"
112
+ }, /*#__PURE__*/_react.default.createElement("div", {
113
+ className: "image-footer-icon"
114
+ }, /*#__PURE__*/_react.default.createElement("div", {
115
+ className: "d-flex"
116
+ }, canRotateImage && /*#__PURE__*/_react.default.createElement("span", {
117
+ className: "image-footer-choice-item mr-4",
118
+ onClick: function onClick() {
119
+ onRotateImage(imageIndex, 90);
120
+ }
121
+ }, /*#__PURE__*/_react.default.createElement("i", {
122
+ className: "dtable-font dtable-icon-rotate"
123
+ })), downloadImage && /*#__PURE__*/_react.default.createElement("span", {
124
+ className: "image-footer-choice-item",
125
+ onClick: function onClick() {
126
+ downloadImage(URL);
127
+ }
128
+ }, /*#__PURE__*/_react.default.createElement("i", {
129
+ className: "dtable-font dtable-icon-download"
130
+ }))), !readOnly && deleteImage && /*#__PURE__*/_react.default.createElement("span", {
131
+ className: "image-footer-choice-item",
132
+ onClick: function onClick() {
133
+ deleteImage(imageIndex, 'previewer');
134
+ }
135
+ }, /*#__PURE__*/_react.default.createElement("i", {
136
+ className: "dtable-font dtable-icon-delete"
137
+ })))))));
138
+ }
139
+
140
+ ImagePreviewerLightbox.propTypes = {
141
+ imageItems: _propTypes.default.array.isRequired,
142
+ imageIndex: _propTypes.default.number.isRequired,
143
+ closeImagePopup: _propTypes.default.func.isRequired,
144
+ moveToPrevImage: _propTypes.default.func.isRequired,
145
+ moveToNextImage: _propTypes.default.func.isRequired,
146
+ downloadImage: _propTypes.default.func,
147
+ deleteImage: _propTypes.default.func,
148
+ onRotateImage: _propTypes.default.func,
149
+ readOnly: _propTypes.default.bool
150
+ };
151
+ var _default = ImagePreviewerLightbox;
152
+ exports.default = _default;
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
9
+
10
+ var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _markdown2html = require("../../../../utils/markdown2html");
19
+
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
24
+ var HtmlLongTextFormatter = /*#__PURE__*/function (_Component) {
25
+ (0, _inheritsLoose2.default)(HtmlLongTextFormatter, _Component);
26
+
27
+ function HtmlLongTextFormatter(_props) {
28
+ var _this;
29
+
30
+ _this = _Component.call(this, _props) || this;
31
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "translateValue", function (props) {
32
+ var value = props.value;
33
+
34
+ if (!value) {
35
+ _this.setState({
36
+ innerHtml: null
37
+ });
38
+
39
+ return;
40
+ }
41
+
42
+ var valueType = Object.prototype.toString.call(value);
43
+
44
+ if (valueType === '[object String]') {
45
+ _this.convertMarkdown(value);
46
+
47
+ return;
48
+ }
49
+
50
+ if (valueType === '[object Object]') {
51
+ _this.convertMarkdown(value.text);
52
+
53
+ return;
54
+ }
55
+
56
+ return;
57
+ });
58
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "convertMarkdown", function (mdFile) {
59
+ _markdown2html.processor.process(mdFile).then(function (result) {
60
+ var innerHtml = String(result).replace(/<a /ig, '<a target="_blank" ');
61
+
62
+ _this.setState({
63
+ innerHtml: innerHtml
64
+ });
65
+ });
66
+ });
67
+ _this.state = {
68
+ innerHtml: null
69
+ };
70
+ return _this;
71
+ }
72
+
73
+ var _proto = HtmlLongTextFormatter.prototype;
74
+
75
+ _proto.componentDidMount = function componentDidMount() {
76
+ this.translateValue(this.props);
77
+ };
78
+
79
+ _proto.UNSAFE_componentWillReceiveProps = function UNSAFE_componentWillReceiveProps(nextProps) {
80
+ var value = this.props.value;
81
+
82
+ if (nextProps.value !== value) {
83
+ this.translateValue(nextProps);
84
+ }
85
+ };
86
+
87
+ _proto.render = function render() {
88
+ var innerHtml = this.state.innerHtml;
89
+ var className = this.props.className;
90
+ if (!innerHtml) return null;
91
+ return /*#__PURE__*/_react.default.createElement("div", {
92
+ className: className + " article",
93
+ dangerouslySetInnerHTML: {
94
+ __html: innerHtml
95
+ }
96
+ });
97
+ };
98
+
99
+ return HtmlLongTextFormatter;
100
+ }(_react.Component);
101
+
102
+ HtmlLongTextFormatter.propTypes = {
103
+ value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]),
104
+ className: _propTypes.default.string
105
+ };
106
+ var _default = HtmlLongTextFormatter;
107
+ exports.default = _default;
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
9
+
10
+ var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _normalizeLongTextValue = _interopRequireDefault(require("../../../../utils/normalize-long-text-value"));
19
+
20
+ var SimpleLongTextFormatter = /*#__PURE__*/function (_React$Component) {
21
+ (0, _inheritsLoose2.default)(SimpleLongTextFormatter, _React$Component);
22
+
23
+ function SimpleLongTextFormatter() {
24
+ var _this;
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 = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
31
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderLinks", function (value) {
32
+ var links = value.links;
33
+ if (!Array.isArray(links) || links.length === 0) return null;
34
+ return /*#__PURE__*/_react.default.createElement("span", {
35
+ className: "long-text-links"
36
+ }, /*#__PURE__*/_react.default.createElement("i", {
37
+ className: "dtable-font dtable-icon-url"
38
+ }), links.length);
39
+ });
40
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderCheckList", function (value) {
41
+ var checkList = value.checklist;
42
+ if (!checkList || checkList.total === 0) return null;
43
+ return /*#__PURE__*/_react.default.createElement("span", {
44
+ className: "long-text-check-list"
45
+ }, /*#__PURE__*/_react.default.createElement("i", {
46
+ className: "dtable-font dtable-icon-check-square-solid " + (checkList.completed === checkList.total ? 'long-text-check-list-completed' : '')
47
+ }), checkList.completed + "/" + checkList.total);
48
+ });
49
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderImages", function (value) {
50
+ var images = value.images;
51
+ if (!Array.isArray(images) || images.length === 0) return null;
52
+ return /*#__PURE__*/_react.default.createElement("span", {
53
+ className: "long-text-images"
54
+ }, /*#__PURE__*/_react.default.createElement("img", {
55
+ src: images[0],
56
+ alt: ""
57
+ }), /*#__PURE__*/_react.default.createElement("i", {
58
+ className: "image-number"
59
+ }, images.length > 1 ? '+' + images.length : null));
60
+ });
61
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderContent", function (value) {
62
+ return /*#__PURE__*/_react.default.createElement("span", {
63
+ className: "long-text-content"
64
+ }, value.preview);
65
+ });
66
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "translateValue", function () {
67
+ var value = _this.props.value;
68
+ if (!value) return {};
69
+ var valueType = Object.prototype.toString.call(value);
70
+
71
+ if (valueType === '[object String]') {
72
+ return (0, _normalizeLongTextValue.default)(value);
73
+ }
74
+
75
+ if (valueType === '[object Object]') {
76
+ return value;
77
+ }
78
+
79
+ return {};
80
+ });
81
+ return _this;
82
+ }
83
+
84
+ var _proto = SimpleLongTextFormatter.prototype;
85
+
86
+ _proto.render = function render() {
87
+ var className = this.props.className;
88
+ var value = this.translateValue();
89
+ return /*#__PURE__*/_react.default.createElement("div", {
90
+ className: className
91
+ }, this.renderLinks(value), this.renderCheckList(value), this.renderImages(value), this.renderContent(value));
92
+ };
93
+
94
+ return SimpleLongTextFormatter;
95
+ }(_react.default.Component);
96
+
97
+ (0, _defineProperty2.default)(SimpleLongTextFormatter, "defaultProps", {
98
+ value: {
99
+ text: '',
100
+ images: [],
101
+ links: [],
102
+ preview: ''
103
+ }
104
+ });
105
+ SimpleLongTextFormatter.propTypes = {
106
+ value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]),
107
+ className: _propTypes.default.string
108
+ };
109
+ var _default = SimpleLongTextFormatter;
110
+ exports.default = _default;
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
9
+
10
+ var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var propTypes = {
19
+ collaborator: _propTypes.default.shape({
20
+ name: _propTypes.default.string.isRequired,
21
+ avatar_url: _propTypes.default.string.isRequired,
22
+ email: _propTypes.default.string
23
+ }),
24
+ enableDeleteCollaborator: _propTypes.default.bool,
25
+ onDeleteCollaborator: _propTypes.default.func
26
+ };
27
+
28
+ var CollaboratorItem = /*#__PURE__*/function (_React$Component) {
29
+ (0, _inheritsLoose2.default)(CollaboratorItem, _React$Component);
30
+
31
+ function CollaboratorItem() {
32
+ var _this;
33
+
34
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
35
+ args[_key] = arguments[_key];
36
+ }
37
+
38
+ _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
39
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onDeleteCollaborator", function () {
40
+ var collaborator = _this.props.collaborator;
41
+
42
+ _this.props.onDeleteCollaborator(collaborator);
43
+ });
44
+ return _this;
45
+ }
46
+
47
+ var _proto = CollaboratorItem.prototype;
48
+
49
+ _proto.render = function render() {
50
+ var _this$props = this.props,
51
+ collaborator = _this$props.collaborator,
52
+ enableDeleteCollaborator = _this$props.enableDeleteCollaborator;
53
+ return /*#__PURE__*/_react.default.createElement("div", {
54
+ className: "dtable-ui collaborator-item"
55
+ }, /*#__PURE__*/_react.default.createElement("span", {
56
+ className: "collaborator-avatar"
57
+ }, /*#__PURE__*/_react.default.createElement("img", {
58
+ className: "collaborator-avatar-icon",
59
+ alt: collaborator.name,
60
+ src: collaborator.avatar_url
61
+ })), /*#__PURE__*/_react.default.createElement("span", {
62
+ className: "collaborator-name"
63
+ }, collaborator.name), enableDeleteCollaborator && /*#__PURE__*/_react.default.createElement("span", {
64
+ className: "collaborator-remove",
65
+ onClick: this.onDeleteCollaborator
66
+ }, /*#__PURE__*/_react.default.createElement("i", {
67
+ className: "dtable-font dtable-icon-fork-number"
68
+ })));
69
+ };
70
+
71
+ return CollaboratorItem;
72
+ }(_react.default.Component);
73
+
74
+ (0, _defineProperty2.default)(CollaboratorItem, "defaultProps", {
75
+ enableDelete: false
76
+ });
77
+ CollaboratorItem.propTypes = propTypes;
78
+ var _default = CollaboratorItem;
79
+ exports.default = _default;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
9
+
10
+ var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var propTypes = {
19
+ text: _propTypes.default.string.isRequired,
20
+ onClick: _propTypes.default.func
21
+ };
22
+
23
+ var EditEditorButton = /*#__PURE__*/function (_React$Component) {
24
+ (0, _inheritsLoose2.default)(EditEditorButton, _React$Component);
25
+
26
+ function EditEditorButton() {
27
+ var _this;
28
+
29
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
30
+ args[_key] = arguments[_key];
31
+ }
32
+
33
+ _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
34
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getStyle", function () {
35
+ return {
36
+ display: 'inline-block',
37
+ padding: '0 12px',
38
+ height: '28px',
39
+ lineHeight: '28px',
40
+ fontSize: '14px',
41
+ backgroundColor: '#f0f0f0',
42
+ color: '#8f8f8f',
43
+ borderRadius: '4px',
44
+ cursor: 'pointer',
45
+ userSelect: 'none'
46
+ };
47
+ });
48
+ return _this;
49
+ }
50
+
51
+ var _proto = EditEditorButton.prototype;
52
+
53
+ _proto.render = function render() {
54
+ var text = this.props.text;
55
+ var style = this.getStyle();
56
+ return /*#__PURE__*/_react.default.createElement("span", {
57
+ style: style,
58
+ onClick: this.props.onClick
59
+ }, text);
60
+ };
61
+
62
+ return EditEditorButton;
63
+ }(_react.default.Component);
64
+
65
+ EditEditorButton.propTypes = propTypes;
66
+ var _default = EditEditorButton;
67
+ exports.default = _default;