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,189 @@
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 _constants = require("../../constants");
19
+
20
+ var _cellFormatterFactory = _interopRequireDefault(require("../cell-factory/cell-formatter-factory"));
21
+
22
+ var CellType = _interopRequireWildcard(require("../../constants/cell-types"));
23
+
24
+ var _utils = require("../../utils/utils");
25
+
26
+ var _textFormatter = _interopRequireDefault(require("./text-formatter"));
27
+
28
+ var _columnUtils = require("../../utils/column-utils");
29
+
30
+ var _cellValueValidator = _interopRequireDefault(require("../../utils/cell-value-validator"));
31
+
32
+ var _valueFormatUtils = require("../../utils/value-format-utils");
33
+
34
+ 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); }
35
+
36
+ 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; }
37
+
38
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
39
+
40
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
41
+
42
+ var propTypes = {
43
+ value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.object, _propTypes.default.bool]),
44
+ column: _propTypes.default.Object,
45
+ containerClassName: _propTypes.default.string,
46
+ collaborators: _propTypes.default.array
47
+ };
48
+
49
+ var FormulaFormatter = /*#__PURE__*/function (_React$Component) {
50
+ (0, _inheritsLoose2.default)(FormulaFormatter, _React$Component);
51
+
52
+ function FormulaFormatter() {
53
+ var _this;
54
+
55
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
56
+ args[_key] = arguments[_key];
57
+ }
58
+
59
+ _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
60
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getGridCellClassName", function (resultType) {
61
+ switch (resultType) {
62
+ case _constants.FORMULA_RESULT_TYPE.NUMBER:
63
+ {
64
+ return 'text-right';
65
+ }
66
+
67
+ default:
68
+ {
69
+ return '';
70
+ }
71
+ }
72
+ });
73
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderOtherColumnFormatter", function () {
74
+ var _this$props = _this.props,
75
+ value = _this$props.value,
76
+ column = _this$props.column,
77
+ collaborators = _this$props.collaborators;
78
+ var columnData = column.data;
79
+ var array_type = columnData.array_type,
80
+ array_data = columnData.array_data;
81
+
82
+ if (!array_type || array_type === CellType.LINK) {
83
+ return null;
84
+ }
85
+
86
+ var Formatter = _cellFormatterFactory.default.createFormatter(array_type);
87
+
88
+ var formatterProps = _this.getFormatterProps(array_type, array_data, collaborators);
89
+
90
+ if ((0, _columnUtils.isArrayFormalColumn)(array_type)) {
91
+ formatterProps.value = value;
92
+ return _this.createColumnFormatter(Formatter, formatterProps);
93
+ }
94
+
95
+ var _isSimpleCellFormatterColumn = (0, _columnUtils.isSimpleCellFormatter)(array_type);
96
+
97
+ var cellValue = value;
98
+
99
+ if (!Array.isArray(value)) {
100
+ cellValue = (0, _cellValueValidator.default)(value, array_type) ? [value] : [];
101
+ }
102
+
103
+ var contentItemClassName = "formula-formatter-content-item " + (_isSimpleCellFormatterColumn ? 'simple-cell-formatter' : '');
104
+ return /*#__PURE__*/_react.default.createElement("div", {
105
+ className: "dtable-ui formula-formatter multiple"
106
+ }, cellValue.map(function (v, index) {
107
+ formatterProps.value = v;
108
+ return /*#__PURE__*/_react.default.createElement("div", {
109
+ className: contentItemClassName,
110
+ key: "formula-formatter-content-item-" + index
111
+ }, _this.createColumnFormatter(Formatter, formatterProps));
112
+ }));
113
+ });
114
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getFormatterProps", function (array_type, array_data, collaborators) {
115
+ switch (array_type) {
116
+ case CellType.DURATION:
117
+ {
118
+ var duration_format = array_data.duration_format;
119
+ return {
120
+ format: duration_format
121
+ };
122
+ }
123
+
124
+ case CellType.NUMBER:
125
+ case CellType.RATE:
126
+ case CellType.GEOLOCATION:
127
+ {
128
+ return {
129
+ data: array_data
130
+ };
131
+ }
132
+
133
+ default:
134
+ {
135
+ return _objectSpread(_objectSpread({}, array_data), {}, {
136
+ collaborators: collaborators
137
+ });
138
+ }
139
+ }
140
+ });
141
+ return _this;
142
+ }
143
+
144
+ var _proto = FormulaFormatter.prototype;
145
+
146
+ _proto.createColumnFormatter = function createColumnFormatter(Formatter, formatterProps) {
147
+ if ( /*#__PURE__*/_react.default.isValidElement(Formatter)) {
148
+ return /*#__PURE__*/_react.default.cloneElement(Formatter, _objectSpread({}, formatterProps));
149
+ } else if ((0, _utils.isFunction)(Formatter)) {
150
+ return /*#__PURE__*/_react.default.createElement(Formatter, formatterProps);
151
+ }
152
+
153
+ return /*#__PURE__*/_react.default.createElement(_textFormatter.default, formatterProps);
154
+ };
155
+
156
+ _proto.render = function render() {
157
+ var _this$props2 = this.props,
158
+ value = _this$props2.value,
159
+ containerClassName = _this$props2.containerClassName,
160
+ column = _this$props2.column,
161
+ collaborators = _this$props2.collaborators;
162
+ var columnData = column.data;
163
+ var resultType = columnData.result_type;
164
+
165
+ if (resultType === _constants.FORMULA_RESULT_TYPE.ARRAY) {
166
+ return this.renderOtherColumnFormatter();
167
+ }
168
+
169
+ if (typeof value === 'object') {
170
+ return null;
171
+ }
172
+
173
+ var gridCellClassName = this.getGridCellClassName(resultType);
174
+ var formattedValue = (0, _valueFormatUtils.getFormulaDisplayString)(value, columnData, {
175
+ collaborators: collaborators
176
+ });
177
+ return /*#__PURE__*/_react.default.createElement("div", {
178
+ className: "dtable-ui cell-formatter-container formula-formatter " + containerClassName + " " + gridCellClassName,
179
+ title: formattedValue,
180
+ "aria-label": formattedValue
181
+ }, formattedValue);
182
+ };
183
+
184
+ return FormulaFormatter;
185
+ }(_react.default.Component);
186
+
187
+ FormulaFormatter.propTypes = propTypes;
188
+ var _default = FormulaFormatter;
189
+ exports.default = _default;
@@ -0,0 +1,66 @@
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var _astroClassname = _interopRequireDefault(require("astro-classname"));
17
+
18
+ var _valueFormatUtils = require("../../utils/value-format-utils");
19
+
20
+ var propTypes = {
21
+ value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]),
22
+ data: _propTypes.default.object,
23
+ containerClassName: _propTypes.default.string
24
+ };
25
+
26
+ var GeolocationFormatter = /*#__PURE__*/function (_React$Component) {
27
+ (0, _inheritsLoose2.default)(GeolocationFormatter, _React$Component);
28
+
29
+ function GeolocationFormatter() {
30
+ return _React$Component.apply(this, arguments) || this;
31
+ }
32
+
33
+ var _proto = GeolocationFormatter.prototype;
34
+
35
+ _proto.render = function render() {
36
+ var _this$props = this.props,
37
+ value = _this$props.value,
38
+ data = _this$props.data,
39
+ containerClassName = _this$props.containerClassName;
40
+ var className = (0, _astroClassname.default)('dtable-ui cell-formatter-container geolocation-formatter', containerClassName);
41
+
42
+ if (typeof value !== 'object') {
43
+ return null;
44
+ }
45
+
46
+ return /*#__PURE__*/_react.default.createElement("div", {
47
+ className: className
48
+ }, (0, _valueFormatUtils.getGeolocationDisplayString)(value, data));
49
+ };
50
+
51
+ return GeolocationFormatter;
52
+ }(_react.default.Component);
53
+
54
+ (0, _defineProperty2.default)(GeolocationFormatter, "defaultProps", {
55
+ value: {
56
+ province: '',
57
+ city: '',
58
+ district: '',
59
+ detail: ''
60
+ },
61
+ data: {},
62
+ containerClassName: ''
63
+ });
64
+ GeolocationFormatter.propTypes = propTypes;
65
+ var _default = GeolocationFormatter;
66
+ exports.default = _default;
@@ -0,0 +1,171 @@
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 _astroClassname = _interopRequireDefault(require("astro-classname"));
19
+
20
+ var _imagesLazyLoad = _interopRequireDefault(require("../common/images-lazy-load"));
21
+
22
+ var _utils = require("../../utils/utils");
23
+
24
+ var _imagePreviewerLightbox = _interopRequireDefault(require("./widgets/image-previewer-lightbox"));
25
+
26
+ 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); }
27
+
28
+ 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; }
29
+
30
+ var ImageFormatter = /*#__PURE__*/function (_React$Component) {
31
+ (0, _inheritsLoose2.default)(ImageFormatter, _React$Component);
32
+
33
+ function ImageFormatter(props) {
34
+ var _this;
35
+
36
+ _this = _React$Component.call(this, props) || this;
37
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onImageClick", function (index) {
38
+ if (!_this.props.isSupportPreview) return;
39
+
40
+ _this.setState({
41
+ isPreviewImage: true,
42
+ previewImageIndex: index
43
+ });
44
+ });
45
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "closeImagePopup", function () {
46
+ if (!_this.props.isSupportPreview) return;
47
+
48
+ _this.setState({
49
+ isPreviewImage: false,
50
+ previewImageIndex: -1
51
+ });
52
+ });
53
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "movePrev", function () {
54
+ var images = _this.props.value;
55
+
56
+ _this.setState(function (prevState) {
57
+ return {
58
+ previewImageIndex: (prevState.previewImageIndex + images.length - 1) % images.length
59
+ };
60
+ });
61
+ });
62
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "moveNext", function () {
63
+ var images = _this.props.value;
64
+
65
+ _this.setState(function (prevState) {
66
+ return {
67
+ previewImageIndex: (prevState.previewImageIndex + 1) % images.length
68
+ };
69
+ });
70
+ });
71
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "downloadImage", function (imageItemUrl) {
72
+ if (!_this.props.downloadImage) return;
73
+
74
+ _this.props.downloadImage(imageItemUrl);
75
+ });
76
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "deleteImage", function (index) {
77
+ var readOnly = _this.props.readOnly;
78
+ if (readOnly) return;
79
+ if (!_this.props.deleteImage) return;
80
+
81
+ _this.props.deleteImage(index);
82
+ });
83
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onRotateImage", function (index, degree) {
84
+ var readOnly = _this.props.readOnly;
85
+ if (readOnly) return;
86
+ if (!_this.props.rotateImage) return;
87
+
88
+ _this.props.rotateImage(index, degree);
89
+ });
90
+ _this.state = {
91
+ isPreviewImage: false,
92
+ previewImageIndex: -1
93
+ };
94
+ return _this;
95
+ }
96
+
97
+ var _proto = ImageFormatter.prototype;
98
+
99
+ _proto.render = function render() {
100
+ var _this$props = this.props,
101
+ isSample = _this$props.isSample,
102
+ value = _this$props.value,
103
+ server = _this$props.server,
104
+ containerClassName = _this$props.containerClassName,
105
+ readOnly = _this$props.readOnly;
106
+ var className = (0, _astroClassname.default)('dtable-ui cell-formatter-container image-formatter', containerClassName);
107
+ var _this$state = this.state,
108
+ isPreviewImage = _this$state.isPreviewImage,
109
+ previewImageIndex = _this$state.previewImageIndex;
110
+
111
+ if (!Array.isArray(value) || value.length === 0) {
112
+ return null;
113
+ }
114
+
115
+ if (isSample) {
116
+ var item = value[0];
117
+ var url = (0, _utils.getImageThumbnailUrl)(item, server);
118
+ return /*#__PURE__*/_react.default.createElement("div", {
119
+ className: className
120
+ }, /*#__PURE__*/_react.default.createElement("img", {
121
+ className: "image-item",
122
+ src: url,
123
+ alt: ""
124
+ }), value.length !== 1 && /*#__PURE__*/_react.default.createElement("span", {
125
+ className: "image-item-count"
126
+ }, "+" + value.length));
127
+ }
128
+
129
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
130
+ className: className
131
+ }, /*#__PURE__*/_react.default.createElement(_imagesLazyLoad.default, {
132
+ images: value,
133
+ server: server,
134
+ onImageClick: this.onImageClick
135
+ })), isPreviewImage && /*#__PURE__*/_react.default.createElement(_imagePreviewerLightbox.default, {
136
+ imageItems: value,
137
+ imageIndex: previewImageIndex,
138
+ closeImagePopup: this.closeImagePopup,
139
+ moveToPrevImage: this.movePrev,
140
+ moveToNextImage: this.moveNext,
141
+ deleteImage: readOnly ? null : this.deleteImage,
142
+ downloadImage: this.downloadImage,
143
+ onRotateImage: readOnly ? null : this.onRotateImage,
144
+ readOnly: readOnly
145
+ }));
146
+ };
147
+
148
+ return ImageFormatter;
149
+ }(_react.default.Component);
150
+
151
+ (0, _defineProperty2.default)(ImageFormatter, "defaultProps", {
152
+ isSample: false,
153
+ isSupportPreview: false,
154
+ readOnly: true,
155
+ value: [],
156
+ server: '',
157
+ containerClassName: ''
158
+ });
159
+ ImageFormatter.propTypes = {
160
+ isSample: _propTypes.default.bool,
161
+ readOnly: _propTypes.default.bool,
162
+ isSupportPreview: _propTypes.default.bool,
163
+ value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.array]),
164
+ server: _propTypes.default.string,
165
+ containerClassName: _propTypes.default.string,
166
+ deleteImage: _propTypes.default.func,
167
+ downloadImage: _propTypes.default.func,
168
+ rotateImage: _propTypes.default.func
169
+ };
170
+ var _default = ImageFormatter;
171
+ exports.default = _default;
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.UrlFormatter = exports.TextFormatter = exports.SingleSelectFormatter = exports.RateFormatter = exports.NumberFormatter = exports.MultipleSelectFormatter = exports.MTimeFormatter = exports.LongTextFormatter = exports.LinkFormatter = exports.LastModifierFormatter = exports.ImagePreviewerLightbox = exports.ImageFormatter = exports.GeolocationFormatter = exports.FormulaFormatter = exports.FileItemFormatter = exports.FileFormatter = exports.EmailFormatter = exports.DurationFormatter = exports.DateFormatter = exports.CreatorFormatter = exports.CollaboratorItem = exports.CollaboratorFormatter = exports.CheckboxFormatter = exports.CTimeFormatter = exports.ButtonFormatter = exports.AutoNumberFormatter = void 0;
7
+
8
+ require("../../css/cell-formatter.css");
9
+
10
+ var _textFormatter = _interopRequireDefault(require("./text-formatter"));
11
+
12
+ exports.TextFormatter = _textFormatter.default;
13
+
14
+ var _numberFormatter = _interopRequireDefault(require("./number-formatter"));
15
+
16
+ exports.NumberFormatter = _numberFormatter.default;
17
+
18
+ var _dateFormatter = _interopRequireDefault(require("./date-formatter"));
19
+
20
+ exports.DateFormatter = _dateFormatter.default;
21
+
22
+ var _checkboxFormatter = _interopRequireDefault(require("./checkbox-formatter"));
23
+
24
+ exports.CheckboxFormatter = _checkboxFormatter.default;
25
+
26
+ var _collaboratorFormatter = _interopRequireDefault(require("./collaborator-formatter"));
27
+
28
+ exports.CollaboratorFormatter = _collaboratorFormatter.default;
29
+
30
+ var _singleSelectFormatter = _interopRequireDefault(require("./single-select-formatter"));
31
+
32
+ exports.SingleSelectFormatter = _singleSelectFormatter.default;
33
+
34
+ var _multipleSelectFormatter = _interopRequireDefault(require("./multiple-select-formatter"));
35
+
36
+ exports.MultipleSelectFormatter = _multipleSelectFormatter.default;
37
+
38
+ var _longTextFormatter = _interopRequireDefault(require("./long-text-formatter"));
39
+
40
+ exports.LongTextFormatter = _longTextFormatter.default;
41
+
42
+ var _fileFormatter = _interopRequireDefault(require("./file-formatter"));
43
+
44
+ exports.FileFormatter = _fileFormatter.default;
45
+
46
+ var _imageFormatter = _interopRequireDefault(require("./image-formatter"));
47
+
48
+ exports.ImageFormatter = _imageFormatter.default;
49
+
50
+ var _geolocationFormatter = _interopRequireDefault(require("./geolocation-formatter"));
51
+
52
+ exports.GeolocationFormatter = _geolocationFormatter.default;
53
+
54
+ var _ctimeFormatter = _interopRequireDefault(require("./ctime-formatter"));
55
+
56
+ exports.CTimeFormatter = _ctimeFormatter.default;
57
+
58
+ var _creatorFormatter = _interopRequireDefault(require("./creator-formatter"));
59
+
60
+ exports.CreatorFormatter = _creatorFormatter.default;
61
+
62
+ var _lastModifierFormatter = _interopRequireDefault(require("./last-modifier-formatter"));
63
+
64
+ exports.LastModifierFormatter = _lastModifierFormatter.default;
65
+
66
+ var _mtimeFormatter = _interopRequireDefault(require("./mtime-formatter"));
67
+
68
+ exports.MTimeFormatter = _mtimeFormatter.default;
69
+
70
+ var _formulaFormatter = _interopRequireDefault(require("./formula-formatter"));
71
+
72
+ exports.FormulaFormatter = _formulaFormatter.default;
73
+
74
+ var _linkFormatter = _interopRequireDefault(require("./link-formatter"));
75
+
76
+ exports.LinkFormatter = _linkFormatter.default;
77
+
78
+ var _autoNumberFormatter = _interopRequireDefault(require("./auto-number-formatter"));
79
+
80
+ exports.AutoNumberFormatter = _autoNumberFormatter.default;
81
+
82
+ var _urlFormatter = _interopRequireDefault(require("./url-formatter"));
83
+
84
+ exports.UrlFormatter = _urlFormatter.default;
85
+
86
+ var _emailFormatter = _interopRequireDefault(require("./email-formatter"));
87
+
88
+ exports.EmailFormatter = _emailFormatter.default;
89
+
90
+ var _durationFormatter = _interopRequireDefault(require("./duration-formatter"));
91
+
92
+ exports.DurationFormatter = _durationFormatter.default;
93
+
94
+ var _rateFormatter = _interopRequireDefault(require("./rate-formatter"));
95
+
96
+ exports.RateFormatter = _rateFormatter.default;
97
+
98
+ var _buttonFormatter = _interopRequireDefault(require("./button-formatter"));
99
+
100
+ exports.ButtonFormatter = _buttonFormatter.default;
101
+
102
+ var _fileItemFormatter = _interopRequireDefault(require("./widgets/file-item-formatter"));
103
+
104
+ exports.FileItemFormatter = _fileItemFormatter.default;
105
+
106
+ var _imagePreviewerLightbox = _interopRequireDefault(require("./widgets/image-previewer-lightbox"));
107
+
108
+ exports.ImagePreviewerLightbox = _imagePreviewerLightbox.default;
109
+
110
+ var _collaboratorItem = _interopRequireDefault(require("../common/collaborator-item"));
111
+
112
+ exports.CollaboratorItem = _collaboratorItem.default;
@@ -0,0 +1,105 @@
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 _astroClassname = _interopRequireDefault(require("astro-classname"));
19
+
20
+ var _collaboratorItem = _interopRequireDefault(require("../common/collaborator-item"));
21
+
22
+ var _default_avatar = _interopRequireDefault(require("../../assets/images/avatar/default_avatar.png"));
23
+
24
+ var propTypes = {
25
+ containerClassName: _propTypes.default.string,
26
+ value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.array]).isRequired,
27
+ collaborators: _propTypes.default.arrayOf(_propTypes.default.exact({
28
+ email: _propTypes.default.string.isRequired,
29
+ name: _propTypes.default.string.isRequired,
30
+ contact_email: _propTypes.default.string.isRequired,
31
+ avatar_url: _propTypes.default.string.isRequired
32
+ }))
33
+ }; // there will be there conditions
34
+ // 1 value is not exist, typeof value is array, but it's length is 0
35
+ // 2 value is exist, but can't find in collaborators
36
+ // 3 value is exist, typeof value is a string
37
+ // 4 vlaue is exist, typeof value is array
38
+
39
+ var LastModifierFormatter = /*#__PURE__*/function (_React$PureComponent) {
40
+ (0, _inheritsLoose2.default)(LastModifierFormatter, _React$PureComponent);
41
+
42
+ function LastModifierFormatter() {
43
+ var _this;
44
+
45
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
46
+ args[_key] = arguments[_key];
47
+ }
48
+
49
+ _this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;
50
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getCollaborators", function () {
51
+ var _this$props = _this.props,
52
+ value = _this$props.value,
53
+ collaborators = _this$props.collaborators;
54
+
55
+ if (!Array.isArray(value)) {
56
+ value = [value];
57
+ }
58
+
59
+ return value.map(function (item, index) {
60
+ var collaborator = collaborators.find(function (collaborator) {
61
+ return collaborator.email === item;
62
+ }); // the collaborator can be not exist, because the row modified by third app
63
+
64
+ if (!collaborator) {
65
+ collaborator = {
66
+ name: item,
67
+ avatar_url: _default_avatar.default
68
+ };
69
+ }
70
+
71
+ return /*#__PURE__*/_react.default.createElement(_collaboratorItem.default, {
72
+ key: index,
73
+ collaborator: collaborator
74
+ });
75
+ });
76
+ });
77
+ return _this;
78
+ }
79
+
80
+ var _proto = LastModifierFormatter.prototype;
81
+
82
+ _proto.render = function render() {
83
+ var _this$props2 = this.props,
84
+ containerClassName = _this$props2.containerClassName,
85
+ value = _this$props2.value;
86
+ var classname = (0, _astroClassname.default)('dtable-ui cell-formatter-container last-modified-formatter', containerClassName);
87
+
88
+ if (!value || Array.isArray(value) && value.length === 0) {
89
+ return /*#__PURE__*/_react.default.createElement("div", {
90
+ className: classname
91
+ });
92
+ }
93
+
94
+ var collaborators = this.getCollaborators();
95
+ return /*#__PURE__*/_react.default.createElement("div", {
96
+ className: classname
97
+ }, collaborators);
98
+ };
99
+
100
+ return LastModifierFormatter;
101
+ }(_react.default.PureComponent);
102
+
103
+ LastModifierFormatter.propTypes = propTypes;
104
+ var _default = LastModifierFormatter;
105
+ exports.default = _default;