dtable-ui-component 0.2.1 → 0.2.3
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.
- package/es/app.css +20 -0
- package/es/app.js +91 -0
- package/es/assets/images/avatar/default_avatar.png +0 -0
- package/es/assets/images/file/192/excel.png +0 -0
- package/es/assets/images/file/192/file.png +0 -0
- package/es/assets/images/file/192/music.png +0 -0
- package/es/assets/images/file/192/pdf.png +0 -0
- package/es/assets/images/file/192/pic.png +0 -0
- package/es/assets/images/file/192/ppt.png +0 -0
- package/es/assets/images/file/192/txt.png +0 -0
- package/es/assets/images/file/192/video.png +0 -0
- package/es/assets/images/file/192/word.png +0 -0
- package/es/assets/images/file/24/excel.png +0 -0
- package/es/assets/images/file/24/file.png +0 -0
- package/es/assets/images/file/24/music.png +0 -0
- package/es/assets/images/file/24/pdf.png +0 -0
- package/es/assets/images/file/24/pic.png +0 -0
- package/es/assets/images/file/24/ppt.png +0 -0
- package/es/assets/images/file/24/txt.png +0 -0
- package/es/assets/images/file/24/video.png +0 -0
- package/es/assets/images/file/24/word.png +0 -0
- package/es/assets/images/folder/folder-192.png +0 -0
- package/es/assets/images/folder/folder-24.png +0 -0
- package/es/components/cell-editor/checkbox-editor.js +104 -0
- package/es/components/cell-editor/collaborator-editor.js +236 -0
- package/es/components/cell-editor/date-editor.js +151 -0
- package/es/components/cell-editor/index.js +9 -0
- package/es/components/cell-editor/link-editor.js +303 -0
- package/es/components/cell-editor/multiple-select-editor.js +237 -0
- package/es/components/cell-editor/number-editor.js +154 -0
- package/es/components/cell-editor/single-select-editor.js +202 -0
- package/es/components/cell-editor/text-editor.js +122 -0
- package/es/components/cell-editor-dialog/pc-file-editor-dialog.js +46 -0
- package/es/components/cell-editor-dialog/pc-files-addition/index.js +0 -0
- package/es/components/cell-editor-dialog/pc-files-addition/pc-file-uploaded-item.js +0 -0
- package/es/components/cell-editor-dialog/pc-files-preview/index.js +0 -0
- package/es/components/cell-editor-dialog/pc-files-preview/pc-file-item-preview.js +0 -0
- package/es/components/cell-editor-popover/mb-collaborator-editor-popover.js +177 -0
- package/es/components/cell-editor-popover/mb-date-editor-popover.js +245 -0
- package/es/components/cell-editor-popover/mb-link-editor-popover.js +170 -0
- package/es/components/cell-editor-popover/mb-select-editor-popover.js +230 -0
- package/es/components/cell-editor-popover/pc-collaborator-editor-popover.js +109 -0
- package/es/components/cell-editor-popover/pc-date-editor-popover.js +142 -0
- package/es/components/cell-editor-popover/pc-link-editor-popover.js +114 -0
- package/es/components/cell-editor-popover/pc-select-editor-popover.js +143 -0
- package/es/components/cell-factory/cell-formatter-factory.js +25 -0
- package/es/components/cell-formatter/auto-number-formatter.js +35 -0
- package/es/components/cell-formatter/button-formatter.js +55 -0
- package/es/components/cell-formatter/checkbox-formatter.js +44 -0
- package/es/components/cell-formatter/collaborator-formatter.js +91 -0
- package/es/components/cell-formatter/creator-formatter.js +87 -0
- package/es/components/cell-formatter/ctime-formatter.js +57 -0
- package/es/components/cell-formatter/date-formatter.js +59 -0
- package/es/components/cell-formatter/duration-formatter.js +37 -0
- package/es/components/cell-formatter/email-formatter.js +35 -0
- package/es/components/cell-formatter/file-formatter.js +63 -0
- package/es/components/cell-formatter/formatter-config.js +31 -0
- package/es/components/cell-formatter/formula-formatter.js +173 -0
- package/es/components/cell-formatter/geolocation-formatter.js +49 -0
- package/es/components/cell-formatter/image-formatter.js +153 -0
- package/es/components/cell-formatter/index.js +26 -0
- package/es/components/cell-formatter/last-modifier-formatter.js +87 -0
- package/es/components/cell-formatter/link-formatter.js +144 -0
- package/es/components/cell-formatter/long-text-formatter.js +106 -0
- package/es/components/cell-formatter/mtime-formatter.js +57 -0
- package/es/components/cell-formatter/multiple-select-formatter.js +70 -0
- package/es/components/cell-formatter/number-formatter.js +46 -0
- package/es/components/cell-formatter/rate-formatter.js +74 -0
- package/es/components/cell-formatter/single-select-formatter.js +69 -0
- package/es/components/cell-formatter/text-formatter.js +35 -0
- package/es/components/cell-formatter/url-formatter.js +35 -0
- package/es/components/cell-formatter/widgets/file-item-formatter.js +50 -0
- package/es/components/cell-formatter/widgets/image-previewer-lightbox.js +119 -0
- package/es/components/common/collaborator-item.js +63 -0
- package/es/components/common/edit-editor-button.js +56 -0
- package/es/components/common/images-lazy-load.js +148 -0
- package/es/components/common/link-editor-option.js +113 -0
- package/es/components/common/mobile/mb-editor-header.js +48 -0
- package/es/components/common/modal-portal.js +44 -0
- package/es/components/common/select-editor-option.js +106 -0
- package/es/components/common/select-item.js +58 -0
- package/es/components/file-uploader/index.js +53 -0
- package/es/components/loading.js +7 -0
- package/es/components/toast/alert.js +150 -0
- package/es/components/toast/index.js +3 -0
- package/es/components/toast/toast.js +179 -0
- package/es/components/toast/toastManager.js +170 -0
- package/es/components/toast/toaster.js +76 -0
- package/es/css/cell-editor.css +614 -0
- package/es/css/cell-formatter.css +241 -0
- package/es/css/custom-rc-calendar.css +118 -0
- package/es/css/image-previewer-ligntbox.css +87 -0
- package/es/css/loading.css +54 -0
- package/es/index.js +5 -0
- package/es/lang/index.js +50 -0
- package/es/locals/de.js +2 -0
- package/es/locals/en.js +17 -0
- package/es/locals/fr.js +2 -0
- package/es/locals/zh-CN.js +17 -0
- package/es/utils/cell-types.js +25 -0
- package/es/utils/constants.js +41 -0
- package/es/utils/editor-utils.js +71 -0
- package/es/utils/normalize-long-text-value.js +68 -0
- package/es/utils/number-precision.js +163 -0
- package/es/utils/utils.js +116 -0
- package/es/utils/value-format-utils.js +281 -0
- package/lib/ImageFormatter/index.js +4 -1
- package/lib/ImagePreviewerLightbox/index.js +23 -2
- package/lib/ImagePreviewerLightbox/utils.js +3 -2
- package/package.json +1 -1
|
@@ -0,0 +1,46 @@
|
|
|
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 { formatNumberToString } from '../../utils/value-format-utils';
|
|
8
|
+
|
|
9
|
+
var NumberFormatter = /*#__PURE__*/function (_React$Component) {
|
|
10
|
+
_inherits(NumberFormatter, _React$Component);
|
|
11
|
+
|
|
12
|
+
var _super = _createSuper(NumberFormatter);
|
|
13
|
+
|
|
14
|
+
function NumberFormatter() {
|
|
15
|
+
_classCallCheck(this, NumberFormatter);
|
|
16
|
+
|
|
17
|
+
return _super.apply(this, arguments);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
_createClass(NumberFormatter, [{
|
|
21
|
+
key: "render",
|
|
22
|
+
value: function render() {
|
|
23
|
+
var _this$props = this.props,
|
|
24
|
+
number = _this$props.value,
|
|
25
|
+
data = _this$props.data,
|
|
26
|
+
containerClassName = _this$props.containerClassName;
|
|
27
|
+
var classname = cn('dtable-ui cell-formatter-container number-formatter', containerClassName);
|
|
28
|
+
|
|
29
|
+
if (number || number === 0) {
|
|
30
|
+
number = formatNumberToString(number, data);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
34
|
+
className: classname
|
|
35
|
+
}, number);
|
|
36
|
+
}
|
|
37
|
+
}]);
|
|
38
|
+
|
|
39
|
+
return NumberFormatter;
|
|
40
|
+
}(React.Component);
|
|
41
|
+
|
|
42
|
+
NumberFormatter.defaultProps = {
|
|
43
|
+
value: '',
|
|
44
|
+
containerClassName: ''
|
|
45
|
+
};
|
|
46
|
+
export default NumberFormatter;
|
|
@@ -0,0 +1,74 @@
|
|
|
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
|
+
|
|
8
|
+
var RateFormatter = /*#__PURE__*/function (_React$Component) {
|
|
9
|
+
_inherits(RateFormatter, _React$Component);
|
|
10
|
+
|
|
11
|
+
var _super = _createSuper(RateFormatter);
|
|
12
|
+
|
|
13
|
+
function RateFormatter() {
|
|
14
|
+
var _this;
|
|
15
|
+
|
|
16
|
+
_classCallCheck(this, RateFormatter);
|
|
17
|
+
|
|
18
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
19
|
+
args[_key] = arguments[_key];
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
23
|
+
|
|
24
|
+
_this.getRateList = function () {
|
|
25
|
+
var _this$props = _this.props,
|
|
26
|
+
data = _this$props.data,
|
|
27
|
+
value = _this$props.value;
|
|
28
|
+
var rate_max_number = data.rate_max_number,
|
|
29
|
+
rate_style_color = data.rate_style_color;
|
|
30
|
+
var validValue = Math.min(rate_max_number, value);
|
|
31
|
+
var rateList = [];
|
|
32
|
+
|
|
33
|
+
for (var i = 0; i < validValue; i++) {
|
|
34
|
+
rateList.push( /*#__PURE__*/React.createElement("i", {
|
|
35
|
+
key: "dtable-ui-component-rate-".concat(i),
|
|
36
|
+
className: "dtable-font dtable-icon-star",
|
|
37
|
+
style: {
|
|
38
|
+
color: rate_style_color || '#e5e5e5'
|
|
39
|
+
}
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return rateList;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
return _this;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
_createClass(RateFormatter, [{
|
|
50
|
+
key: "render",
|
|
51
|
+
value: function render() {
|
|
52
|
+
var _this$props2 = this.props,
|
|
53
|
+
number = _this$props2.value,
|
|
54
|
+
containerClassName = _this$props2.containerClassName;
|
|
55
|
+
var className = cn('dtable-ui cell-formatter-container rate-formatter', containerClassName);
|
|
56
|
+
if (!number) return null;
|
|
57
|
+
var rateList = this.getRateList();
|
|
58
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
59
|
+
className: className
|
|
60
|
+
}, rateList);
|
|
61
|
+
}
|
|
62
|
+
}]);
|
|
63
|
+
|
|
64
|
+
return RateFormatter;
|
|
65
|
+
}(React.Component);
|
|
66
|
+
|
|
67
|
+
RateFormatter.defaultProps = {
|
|
68
|
+
value: '',
|
|
69
|
+
containerClassName: ''
|
|
70
|
+
};
|
|
71
|
+
RateFormatter.defaultProps = {
|
|
72
|
+
editable: true
|
|
73
|
+
};
|
|
74
|
+
export default RateFormatter;
|
|
@@ -0,0 +1,69 @@
|
|
|
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 SelectItem from '../common/select-item';
|
|
8
|
+
|
|
9
|
+
var SingleSelectFormatter = /*#__PURE__*/function (_React$PureComponent) {
|
|
10
|
+
_inherits(SingleSelectFormatter, _React$PureComponent);
|
|
11
|
+
|
|
12
|
+
var _super = _createSuper(SingleSelectFormatter);
|
|
13
|
+
|
|
14
|
+
function SingleSelectFormatter() {
|
|
15
|
+
var _this;
|
|
16
|
+
|
|
17
|
+
_classCallCheck(this, SingleSelectFormatter);
|
|
18
|
+
|
|
19
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
20
|
+
args[_key] = arguments[_key];
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
24
|
+
|
|
25
|
+
_this.getOption = function () {
|
|
26
|
+
var _this$props = _this.props,
|
|
27
|
+
value = _this$props.value,
|
|
28
|
+
options = _this$props.options,
|
|
29
|
+
fontSize = _this$props.fontSize;
|
|
30
|
+
var option = options.find(function (item) {
|
|
31
|
+
return item.id === value || item.name === value;
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
if (option) {
|
|
35
|
+
return /*#__PURE__*/React.createElement(SelectItem, {
|
|
36
|
+
option: option,
|
|
37
|
+
fontSize: fontSize
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
return _this;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
_createClass(SingleSelectFormatter, [{
|
|
46
|
+
key: "render",
|
|
47
|
+
value: function render() {
|
|
48
|
+
var _this$props2 = this.props,
|
|
49
|
+
containerClassName = _this$props2.containerClassName,
|
|
50
|
+
value = _this$props2.value;
|
|
51
|
+
var classname = cn('dtable-ui cell-formatter-container single-select-formatter', containerClassName);
|
|
52
|
+
|
|
53
|
+
if (!value) {
|
|
54
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
55
|
+
className: classname
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
var option = this.getOption();
|
|
60
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
61
|
+
className: classname
|
|
62
|
+
}, option);
|
|
63
|
+
}
|
|
64
|
+
}]);
|
|
65
|
+
|
|
66
|
+
return SingleSelectFormatter;
|
|
67
|
+
}(React.PureComponent);
|
|
68
|
+
|
|
69
|
+
export default SingleSelectFormatter;
|
|
@@ -0,0 +1,35 @@
|
|
|
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
|
+
|
|
8
|
+
var TextFormatter = /*#__PURE__*/function (_React$Component) {
|
|
9
|
+
_inherits(TextFormatter, _React$Component);
|
|
10
|
+
|
|
11
|
+
var _super = _createSuper(TextFormatter);
|
|
12
|
+
|
|
13
|
+
function TextFormatter() {
|
|
14
|
+
_classCallCheck(this, TextFormatter);
|
|
15
|
+
|
|
16
|
+
return _super.apply(this, arguments);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
_createClass(TextFormatter, [{
|
|
20
|
+
key: "render",
|
|
21
|
+
value: function render() {
|
|
22
|
+
var _this$props = this.props,
|
|
23
|
+
containerClassName = _this$props.containerClassName,
|
|
24
|
+
value = _this$props.value;
|
|
25
|
+
var classname = cn('dtable-ui cell-formatter-container text-formatter', containerClassName);
|
|
26
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
27
|
+
className: classname
|
|
28
|
+
}, value);
|
|
29
|
+
}
|
|
30
|
+
}]);
|
|
31
|
+
|
|
32
|
+
return TextFormatter;
|
|
33
|
+
}(React.Component);
|
|
34
|
+
|
|
35
|
+
export default TextFormatter;
|
|
@@ -0,0 +1,35 @@
|
|
|
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
|
+
|
|
8
|
+
var UrlFormatter = /*#__PURE__*/function (_React$Component) {
|
|
9
|
+
_inherits(UrlFormatter, _React$Component);
|
|
10
|
+
|
|
11
|
+
var _super = _createSuper(UrlFormatter);
|
|
12
|
+
|
|
13
|
+
function UrlFormatter() {
|
|
14
|
+
_classCallCheck(this, UrlFormatter);
|
|
15
|
+
|
|
16
|
+
return _super.apply(this, arguments);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
_createClass(UrlFormatter, [{
|
|
20
|
+
key: "render",
|
|
21
|
+
value: function render() {
|
|
22
|
+
var _this$props = this.props,
|
|
23
|
+
containerClassName = _this$props.containerClassName,
|
|
24
|
+
value = _this$props.value;
|
|
25
|
+
var classname = cn('dtable-ui cell-formatter-container url-formatter', containerClassName);
|
|
26
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
27
|
+
className: classname
|
|
28
|
+
}, value);
|
|
29
|
+
}
|
|
30
|
+
}]);
|
|
31
|
+
|
|
32
|
+
return UrlFormatter;
|
|
33
|
+
}(React.Component);
|
|
34
|
+
|
|
35
|
+
export default UrlFormatter;
|
|
@@ -0,0 +1,50 @@
|
|
|
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 { getFileIconUrl } from '../../../utils/utils';
|
|
7
|
+
|
|
8
|
+
var FileItemFormatter = /*#__PURE__*/function (_Component) {
|
|
9
|
+
_inherits(FileItemFormatter, _Component);
|
|
10
|
+
|
|
11
|
+
var _super = _createSuper(FileItemFormatter);
|
|
12
|
+
|
|
13
|
+
function FileItemFormatter() {
|
|
14
|
+
var _this;
|
|
15
|
+
|
|
16
|
+
_classCallCheck(this, FileItemFormatter);
|
|
17
|
+
|
|
18
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
19
|
+
args[_key] = arguments[_key];
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
23
|
+
|
|
24
|
+
_this.getFileIconData = function (item) {
|
|
25
|
+
var fileIconUrl = getFileIconUrl(item.name, item.type);
|
|
26
|
+
|
|
27
|
+
var fileIconData = require('../../../' + fileIconUrl);
|
|
28
|
+
|
|
29
|
+
return fileIconData;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
return _this;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
_createClass(FileItemFormatter, [{
|
|
36
|
+
key: "render",
|
|
37
|
+
value: function render() {
|
|
38
|
+
var file = this.props.file;
|
|
39
|
+
return /*#__PURE__*/React.createElement("img", {
|
|
40
|
+
className: "file-item-icon",
|
|
41
|
+
src: this.getFileIconData(file),
|
|
42
|
+
alt: file.name
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}]);
|
|
46
|
+
|
|
47
|
+
return FileItemFormatter;
|
|
48
|
+
}(Component);
|
|
49
|
+
|
|
50
|
+
export default FileItemFormatter;
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import React, { Fragment } from 'react';
|
|
2
|
+
import MediaQuery from 'react-responsive';
|
|
3
|
+
import ModalPortal from '../../common/modal-portal';
|
|
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 '../../../css/image-previewer-ligntbox.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;
|
|
@@ -0,0 +1,63 @@
|
|
|
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
|
+
|
|
7
|
+
var CollaboratorItem = /*#__PURE__*/function (_React$Component) {
|
|
8
|
+
_inherits(CollaboratorItem, _React$Component);
|
|
9
|
+
|
|
10
|
+
var _super = _createSuper(CollaboratorItem);
|
|
11
|
+
|
|
12
|
+
function CollaboratorItem() {
|
|
13
|
+
var _this;
|
|
14
|
+
|
|
15
|
+
_classCallCheck(this, CollaboratorItem);
|
|
16
|
+
|
|
17
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
18
|
+
args[_key] = arguments[_key];
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
22
|
+
|
|
23
|
+
_this.onDeleteCollaborator = function () {
|
|
24
|
+
var collaborator = _this.props.collaborator;
|
|
25
|
+
|
|
26
|
+
_this.props.onDeleteCollaborator(collaborator);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
return _this;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
_createClass(CollaboratorItem, [{
|
|
33
|
+
key: "render",
|
|
34
|
+
value: function render() {
|
|
35
|
+
var _this$props = this.props,
|
|
36
|
+
collaborator = _this$props.collaborator,
|
|
37
|
+
enableDeleteCollaborator = _this$props.enableDeleteCollaborator;
|
|
38
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
39
|
+
className: "dtable-ui collaborator-item"
|
|
40
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
41
|
+
className: "collaborator-avatar"
|
|
42
|
+
}, /*#__PURE__*/React.createElement("img", {
|
|
43
|
+
className: "collaborator-avatar-icon",
|
|
44
|
+
alt: collaborator.name,
|
|
45
|
+
src: collaborator.avatar_url
|
|
46
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
47
|
+
className: "collaborator-name"
|
|
48
|
+
}, collaborator.name), enableDeleteCollaborator && /*#__PURE__*/React.createElement("span", {
|
|
49
|
+
className: "collaborator-remove",
|
|
50
|
+
onClick: this.onDeleteCollaborator
|
|
51
|
+
}, /*#__PURE__*/React.createElement("i", {
|
|
52
|
+
className: "dtable-font dtable-icon-fork-number"
|
|
53
|
+
})));
|
|
54
|
+
}
|
|
55
|
+
}]);
|
|
56
|
+
|
|
57
|
+
return CollaboratorItem;
|
|
58
|
+
}(React.Component);
|
|
59
|
+
|
|
60
|
+
CollaboratorItem.defaultProps = {
|
|
61
|
+
enableDelete: false
|
|
62
|
+
};
|
|
63
|
+
export default CollaboratorItem;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
2
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
3
|
+
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
4
|
+
import _createSuper from "@babel/runtime/helpers/esm/createSuper";
|
|
5
|
+
import React from 'react';
|
|
6
|
+
|
|
7
|
+
var EditEditorButton = /*#__PURE__*/function (_React$Component) {
|
|
8
|
+
_inherits(EditEditorButton, _React$Component);
|
|
9
|
+
|
|
10
|
+
var _super = _createSuper(EditEditorButton);
|
|
11
|
+
|
|
12
|
+
function EditEditorButton() {
|
|
13
|
+
var _this;
|
|
14
|
+
|
|
15
|
+
_classCallCheck(this, EditEditorButton);
|
|
16
|
+
|
|
17
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
18
|
+
args[_key] = arguments[_key];
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
22
|
+
|
|
23
|
+
_this.getStyle = function () {
|
|
24
|
+
return {
|
|
25
|
+
display: 'inline-block',
|
|
26
|
+
padding: '0 12px',
|
|
27
|
+
height: '28px',
|
|
28
|
+
lineHeight: '28px',
|
|
29
|
+
fontSize: '14px',
|
|
30
|
+
backgroundColor: '#f0f0f0',
|
|
31
|
+
color: '#8f8f8f',
|
|
32
|
+
borderRadius: '4px',
|
|
33
|
+
cursor: 'pointer',
|
|
34
|
+
userSelect: 'none'
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
return _this;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
_createClass(EditEditorButton, [{
|
|
42
|
+
key: "render",
|
|
43
|
+
value: function render() {
|
|
44
|
+
var text = this.props.text;
|
|
45
|
+
var style = this.getStyle();
|
|
46
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
47
|
+
style: style,
|
|
48
|
+
onClick: this.props.onClick
|
|
49
|
+
}, text);
|
|
50
|
+
}
|
|
51
|
+
}]);
|
|
52
|
+
|
|
53
|
+
return EditEditorButton;
|
|
54
|
+
}(React.Component);
|
|
55
|
+
|
|
56
|
+
export default EditEditorButton;
|