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,109 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
3
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
4
|
+
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
5
|
+
import _createSuper from "@babel/runtime/helpers/esm/createSuper";
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import { getLocale } from '../../lang';
|
|
8
|
+
import CollaboratorItem from '../common/collaborator-item';
|
|
9
|
+
|
|
10
|
+
var PCCollaboratorEditorPopover = /*#__PURE__*/function (_React$Component) {
|
|
11
|
+
_inherits(PCCollaboratorEditorPopover, _React$Component);
|
|
12
|
+
|
|
13
|
+
var _super = _createSuper(PCCollaboratorEditorPopover);
|
|
14
|
+
|
|
15
|
+
function PCCollaboratorEditorPopover(props) {
|
|
16
|
+
var _this;
|
|
17
|
+
|
|
18
|
+
_classCallCheck(this, PCCollaboratorEditorPopover);
|
|
19
|
+
|
|
20
|
+
_this = _super.call(this, props);
|
|
21
|
+
|
|
22
|
+
_this.onValueChanged = function (event) {
|
|
23
|
+
var value = event.target.value;
|
|
24
|
+
|
|
25
|
+
_this.setState({
|
|
26
|
+
searchValue: value
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
_this.onInputClick = function (event) {
|
|
31
|
+
event.nativeEvent.stopImmediatePropagation();
|
|
32
|
+
event.stopPropagation();
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
_this.onCollaboratorItemToggle = function (item) {
|
|
36
|
+
_this.props.onCollaboratorItemToggle(item);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
_this.getFilterCollaborator = function () {
|
|
40
|
+
var collaborators = _this.props.collaborators;
|
|
41
|
+
|
|
42
|
+
var filter = _this.state.searchValue.toLowerCase();
|
|
43
|
+
|
|
44
|
+
if (!filter) {
|
|
45
|
+
return collaborators;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return collaborators.filter(function (collaborator) {
|
|
49
|
+
return collaborator.name.toString().toLowerCase().indexOf(filter) > -1;
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
_this.state = {
|
|
54
|
+
searchValue: ''
|
|
55
|
+
};
|
|
56
|
+
return _this;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
_createClass(PCCollaboratorEditorPopover, [{
|
|
60
|
+
key: "render",
|
|
61
|
+
value: function render() {
|
|
62
|
+
var _this2 = this;
|
|
63
|
+
|
|
64
|
+
var searchValue = this.state.searchValue;
|
|
65
|
+
var _this$props = this.props,
|
|
66
|
+
selectedCollaborators = _this$props.selectedCollaborators,
|
|
67
|
+
popoverPosition = _this$props.popoverPosition;
|
|
68
|
+
var collaborators = this.getFilterCollaborator();
|
|
69
|
+
var popoverStyle = Object.assign({}, _objectSpread({}, popoverPosition), {
|
|
70
|
+
position: 'absolute'
|
|
71
|
+
});
|
|
72
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
73
|
+
className: "dtable-ui-editor-popover dtable-ui-collaborator-editor-popover",
|
|
74
|
+
style: popoverStyle
|
|
75
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
76
|
+
className: "collaborator-search-container"
|
|
77
|
+
}, /*#__PURE__*/React.createElement("input", {
|
|
78
|
+
className: "form-control",
|
|
79
|
+
value: searchValue,
|
|
80
|
+
onChange: this.onValueChanged,
|
|
81
|
+
onClick: this.onInputClick,
|
|
82
|
+
placeholder: getLocale('Find_a_collaborator')
|
|
83
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
84
|
+
className: "collaborator-list-container"
|
|
85
|
+
}, collaborators.length > 0 && collaborators.map(function (collaborator, index) {
|
|
86
|
+
var isSelect = selectedCollaborators.some(function (selectedCollaborator) {
|
|
87
|
+
return selectedCollaborator.email === collaborator.email;
|
|
88
|
+
});
|
|
89
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
90
|
+
key: index,
|
|
91
|
+
className: "collaborator-item-container",
|
|
92
|
+
onClick: _this2.onCollaboratorItemToggle.bind(_this2, collaborator)
|
|
93
|
+
}, /*#__PURE__*/React.createElement(CollaboratorItem, {
|
|
94
|
+
collaborator: collaborator
|
|
95
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
96
|
+
className: "collaborator-checked"
|
|
97
|
+
}, isSelect && /*#__PURE__*/React.createElement("i", {
|
|
98
|
+
className: "dtable-font dtable-icon-check-mark"
|
|
99
|
+
})));
|
|
100
|
+
}), collaborators.length === 0 && /*#__PURE__*/React.createElement("div", {
|
|
101
|
+
className: "search-option-null"
|
|
102
|
+
}, getLocale('No_collaborators_available'))));
|
|
103
|
+
}
|
|
104
|
+
}]);
|
|
105
|
+
|
|
106
|
+
return PCCollaboratorEditorPopover;
|
|
107
|
+
}(React.Component);
|
|
108
|
+
|
|
109
|
+
export default PCCollaboratorEditorPopover;
|
|
@@ -0,0 +1,142 @@
|
|
|
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 moment from 'moment';
|
|
7
|
+
import DatePicker from '@seafile/seafile-calendar/lib/Picker';
|
|
8
|
+
import Calendar from '@seafile/seafile-calendar';
|
|
9
|
+
import { initDateEditorLanguage } from '../../utils/editor-utils';
|
|
10
|
+
import '@seafile/seafile-calendar/assets/index.css';
|
|
11
|
+
import { getLocale } from '../../lang';
|
|
12
|
+
|
|
13
|
+
var PCDateEditorPopover = /*#__PURE__*/function (_React$Component) {
|
|
14
|
+
_inherits(PCDateEditorPopover, _React$Component);
|
|
15
|
+
|
|
16
|
+
var _super = _createSuper(PCDateEditorPopover);
|
|
17
|
+
|
|
18
|
+
function PCDateEditorPopover(props) {
|
|
19
|
+
var _this;
|
|
20
|
+
|
|
21
|
+
_classCallCheck(this, PCDateEditorPopover);
|
|
22
|
+
|
|
23
|
+
_this = _super.call(this, props);
|
|
24
|
+
|
|
25
|
+
_this.onChange = function (value) {
|
|
26
|
+
if (!value) return;
|
|
27
|
+
var dateFormat = _this.props.dateFormat;
|
|
28
|
+
|
|
29
|
+
_this.setState({
|
|
30
|
+
datePickerValue: value,
|
|
31
|
+
open: true // if value changed, don't close datePicker
|
|
32
|
+
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
_this.props.onValueChanged(value.format(dateFormat));
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
_this.onOpenChange = function (open) {
|
|
39
|
+
_this.setState({
|
|
40
|
+
open: open
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
return;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
_this.onClear = function () {
|
|
47
|
+
_this.setState({
|
|
48
|
+
datePickerValue: null
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
_this.onFocusDatePicker = function () {
|
|
53
|
+
_this.setState({
|
|
54
|
+
open: true
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
_this.handleMouseDown = function (event) {
|
|
59
|
+
event.preventDefault();
|
|
60
|
+
event.stopPropagation();
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
_this.getCalendarContainer = function () {
|
|
64
|
+
return _this.calendarContainerRef.current;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
_this.getCalender = function () {
|
|
68
|
+
var _this$props = _this.props,
|
|
69
|
+
dateFormat = _this$props.dateFormat,
|
|
70
|
+
showHourAndMinute = _this$props.showHourAndMinute,
|
|
71
|
+
lang = _this$props.lang;
|
|
72
|
+
var defaultValue = moment().clone();
|
|
73
|
+
return /*#__PURE__*/React.createElement(Calendar, {
|
|
74
|
+
locale: initDateEditorLanguage(lang),
|
|
75
|
+
style: {
|
|
76
|
+
zIndex: 1001
|
|
77
|
+
},
|
|
78
|
+
format: dateFormat,
|
|
79
|
+
defaultValue: defaultValue,
|
|
80
|
+
showHourAndMinute: showHourAndMinute,
|
|
81
|
+
dateInputPlaceholder: getLocale('Please_input'),
|
|
82
|
+
showDateInput: true,
|
|
83
|
+
focusablePanel: false,
|
|
84
|
+
onClear: _this.onClear
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
_this.state = {
|
|
89
|
+
open: true,
|
|
90
|
+
datePickerValue: props.value ? moment(props.value) : null
|
|
91
|
+
};
|
|
92
|
+
_this.calendarContainerRef = React.createRef();
|
|
93
|
+
return _this;
|
|
94
|
+
} // event trigger sequence: onOpenChange --> onChange
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
_createClass(PCDateEditorPopover, [{
|
|
98
|
+
key: "render",
|
|
99
|
+
value: function render() {
|
|
100
|
+
var _this2 = this;
|
|
101
|
+
|
|
102
|
+
var dateFormat = this.props.dateFormat;
|
|
103
|
+
var _this$state = this.state,
|
|
104
|
+
open = _this$state.open,
|
|
105
|
+
datePickerValue = _this$state.datePickerValue;
|
|
106
|
+
var calendar = this.getCalender();
|
|
107
|
+
return /*#__PURE__*/React.createElement(DatePicker, {
|
|
108
|
+
open: open,
|
|
109
|
+
value: datePickerValue,
|
|
110
|
+
animation: "slide-up",
|
|
111
|
+
style: {
|
|
112
|
+
zIndex: 1001
|
|
113
|
+
},
|
|
114
|
+
calendar: calendar,
|
|
115
|
+
getCalendarContainer: this.getCalendarContainer,
|
|
116
|
+
onChange: this.onChange,
|
|
117
|
+
onOpenChange: this.onOpenChange
|
|
118
|
+
}, function (_ref) {
|
|
119
|
+
var value = _ref.value;
|
|
120
|
+
value = value && value.format(dateFormat);
|
|
121
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
122
|
+
className: "dtable-ui-date-editor-container",
|
|
123
|
+
tabIndex: "0",
|
|
124
|
+
onFocus: _this2.onFocusDatePicker
|
|
125
|
+
}, /*#__PURE__*/React.createElement("input", {
|
|
126
|
+
readOnly: true,
|
|
127
|
+
tabIndex: "-1",
|
|
128
|
+
className: "form-control",
|
|
129
|
+
placeholder: getLocale('Please_select'),
|
|
130
|
+
value: value || '',
|
|
131
|
+
onMouseDown: _this2.handleMouseDown
|
|
132
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
133
|
+
ref: _this2.calendarContainerRef
|
|
134
|
+
}));
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}]);
|
|
138
|
+
|
|
139
|
+
return PCDateEditorPopover;
|
|
140
|
+
}(React.Component);
|
|
141
|
+
|
|
142
|
+
export default PCDateEditorPopover;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
3
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
4
|
+
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
5
|
+
import _createSuper from "@babel/runtime/helpers/esm/createSuper";
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import { getLocale } from '../../lang';
|
|
8
|
+
|
|
9
|
+
var PCLinkEditorPopover = /*#__PURE__*/function (_React$Component) {
|
|
10
|
+
_inherits(PCLinkEditorPopover, _React$Component);
|
|
11
|
+
|
|
12
|
+
var _super = _createSuper(PCLinkEditorPopover);
|
|
13
|
+
|
|
14
|
+
function PCLinkEditorPopover(props) {
|
|
15
|
+
var _this;
|
|
16
|
+
|
|
17
|
+
_classCallCheck(this, PCLinkEditorPopover);
|
|
18
|
+
|
|
19
|
+
_this = _super.call(this, props);
|
|
20
|
+
|
|
21
|
+
_this.onValueChanged = function (event) {
|
|
22
|
+
var value = event.target.value;
|
|
23
|
+
|
|
24
|
+
_this.setState({
|
|
25
|
+
searchValue: value
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
_this.onInputClick = function (event) {
|
|
30
|
+
event.nativeEvent.stopImmediatePropagation();
|
|
31
|
+
event.stopPropagation();
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
_this.onOptionItemToggle = function (item) {
|
|
35
|
+
_this.props.onOptionItemToggle(item);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
_this.getFilterOptions = function () {
|
|
39
|
+
var options = _this.props.options;
|
|
40
|
+
|
|
41
|
+
var filter = _this.state.searchValue.toLowerCase();
|
|
42
|
+
|
|
43
|
+
if (!filter) {
|
|
44
|
+
return options;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return options.filter(function (option) {
|
|
48
|
+
return option.name.toString().toLowerCase().indexOf(filter) > -1;
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
_this.state = {
|
|
53
|
+
searchValue: ''
|
|
54
|
+
};
|
|
55
|
+
return _this;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
_createClass(PCLinkEditorPopover, [{
|
|
59
|
+
key: "render",
|
|
60
|
+
value: function render() {
|
|
61
|
+
var _this2 = this;
|
|
62
|
+
|
|
63
|
+
var options = this.getFilterOptions();
|
|
64
|
+
var _this$props = this.props,
|
|
65
|
+
popoverPosition = _this$props.popoverPosition,
|
|
66
|
+
selectedOptions = _this$props.selectedOptions;
|
|
67
|
+
var searchValue = this.state.searchValue;
|
|
68
|
+
var popoverStyle = Object.assign({}, _objectSpread({}, popoverPosition), {
|
|
69
|
+
position: 'absolute'
|
|
70
|
+
});
|
|
71
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
72
|
+
className: "dtable-ui-editor-popover dtable-ui-link-editor-popover",
|
|
73
|
+
style: popoverStyle
|
|
74
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
75
|
+
className: "link-options-search"
|
|
76
|
+
}, /*#__PURE__*/React.createElement("input", {
|
|
77
|
+
className: "form-control",
|
|
78
|
+
value: searchValue,
|
|
79
|
+
onChange: this.onValueChanged,
|
|
80
|
+
onClick: this.onInputClick,
|
|
81
|
+
placeholder: getLocale('Find_an_option')
|
|
82
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
83
|
+
className: "link-options-container"
|
|
84
|
+
}, options.length > 0 && options.map(function (option, index) {
|
|
85
|
+
var isSelect = selectedOptions.some(function (selectedOption) {
|
|
86
|
+
return selectedOption.id === option.id;
|
|
87
|
+
});
|
|
88
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
89
|
+
key: index,
|
|
90
|
+
className: "link-option-item",
|
|
91
|
+
onClick: _this2.onOptionItemToggle.bind(_this2, option)
|
|
92
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
93
|
+
className: "option-info"
|
|
94
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
95
|
+
className: "option-name"
|
|
96
|
+
}, option.name)), /*#__PURE__*/React.createElement("div", {
|
|
97
|
+
className: "option-checked"
|
|
98
|
+
}, isSelect && /*#__PURE__*/React.createElement("i", {
|
|
99
|
+
className: "dtable-font dtable-icon-check-mark"
|
|
100
|
+
})));
|
|
101
|
+
}), options.length === 0 && /*#__PURE__*/React.createElement("div", {
|
|
102
|
+
className: "link-option-null"
|
|
103
|
+
}, getLocale('No_options_available'))));
|
|
104
|
+
}
|
|
105
|
+
}]);
|
|
106
|
+
|
|
107
|
+
return PCLinkEditorPopover;
|
|
108
|
+
}(React.Component);
|
|
109
|
+
|
|
110
|
+
PCLinkEditorPopover.defaultProps = {
|
|
111
|
+
popoverPosition: {},
|
|
112
|
+
options: []
|
|
113
|
+
};
|
|
114
|
+
export default PCLinkEditorPopover;
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
3
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
4
|
+
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
5
|
+
import _createSuper from "@babel/runtime/helpers/esm/createSuper";
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import { getLocale } from '../../lang';
|
|
8
|
+
|
|
9
|
+
var PCSelectEditorPopover = /*#__PURE__*/function (_React$Component) {
|
|
10
|
+
_inherits(PCSelectEditorPopover, _React$Component);
|
|
11
|
+
|
|
12
|
+
var _super = _createSuper(PCSelectEditorPopover);
|
|
13
|
+
|
|
14
|
+
function PCSelectEditorPopover(props) {
|
|
15
|
+
var _this;
|
|
16
|
+
|
|
17
|
+
_classCallCheck(this, PCSelectEditorPopover);
|
|
18
|
+
|
|
19
|
+
_this = _super.call(this, props);
|
|
20
|
+
|
|
21
|
+
_this.onValueChanged = function (event) {
|
|
22
|
+
var value = event.target.value;
|
|
23
|
+
|
|
24
|
+
_this.setState({
|
|
25
|
+
searchValue: value
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
_this.onInputClick = function (event) {
|
|
30
|
+
event.nativeEvent.stopImmediatePropagation();
|
|
31
|
+
event.stopPropagation();
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
_this.onAddNewOption = function () {
|
|
35
|
+
var name = _this.state.searchValue.trim();
|
|
36
|
+
|
|
37
|
+
_this.props.onAddNewOption(name);
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
_this.onOptionItemToggle = function (item) {
|
|
41
|
+
_this.props.onOptionItemToggle(item);
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
_this.getFilterOptions = function () {
|
|
45
|
+
var options = _this.props.options;
|
|
46
|
+
|
|
47
|
+
var filter = _this.state.searchValue.toLowerCase();
|
|
48
|
+
|
|
49
|
+
if (!filter) {
|
|
50
|
+
return options;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return options.filter(function (option) {
|
|
54
|
+
return option.name.toString().toLowerCase().indexOf(filter) > -1;
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
_this.getOptionStyle = function (option) {
|
|
59
|
+
var textColor = option.textColor || null;
|
|
60
|
+
return {
|
|
61
|
+
display: 'inline-block',
|
|
62
|
+
padding: '0px 10px',
|
|
63
|
+
height: '20px',
|
|
64
|
+
lineHeight: '20px',
|
|
65
|
+
borderRadius: '10px',
|
|
66
|
+
fontSize: '13px',
|
|
67
|
+
backgroundColor: option.color,
|
|
68
|
+
color: textColor
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
_this.state = {
|
|
73
|
+
searchValue: ''
|
|
74
|
+
};
|
|
75
|
+
return _this;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
_createClass(PCSelectEditorPopover, [{
|
|
79
|
+
key: "render",
|
|
80
|
+
value: function render() {
|
|
81
|
+
var _this2 = this;
|
|
82
|
+
|
|
83
|
+
var options = this.getFilterOptions();
|
|
84
|
+
var _this$props = this.props,
|
|
85
|
+
popoverPosition = _this$props.popoverPosition,
|
|
86
|
+
selectedOptions = _this$props.selectedOptions,
|
|
87
|
+
isSupportNewOption = _this$props.isSupportNewOption;
|
|
88
|
+
var searchValue = this.state.searchValue;
|
|
89
|
+
var popoverStyle = Object.assign({}, _objectSpread({}, popoverPosition), {
|
|
90
|
+
position: 'absolute'
|
|
91
|
+
});
|
|
92
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
93
|
+
className: "dtable-ui-editor-popover dtable-ui-select-editor-popover",
|
|
94
|
+
style: popoverStyle
|
|
95
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
96
|
+
className: "select-options-search"
|
|
97
|
+
}, /*#__PURE__*/React.createElement("input", {
|
|
98
|
+
className: "form-control",
|
|
99
|
+
onChange: this.onValueChanged,
|
|
100
|
+
onClick: this.onInputClick,
|
|
101
|
+
placeholder: getLocale('Find_an_option')
|
|
102
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
103
|
+
className: "select-options-container"
|
|
104
|
+
}, options.length > 0 && options.map(function (option, index) {
|
|
105
|
+
var optionStyle = _this2.getOptionStyle(option);
|
|
106
|
+
|
|
107
|
+
var isSelect = selectedOptions.some(function (selectedOption) {
|
|
108
|
+
return selectedOption.id === option.id;
|
|
109
|
+
});
|
|
110
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
111
|
+
key: index,
|
|
112
|
+
className: "select-option-item",
|
|
113
|
+
onClick: _this2.onOptionItemToggle.bind(_this2, option)
|
|
114
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
115
|
+
className: "option-info"
|
|
116
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
117
|
+
className: "option-name",
|
|
118
|
+
style: optionStyle
|
|
119
|
+
}, option.name)), /*#__PURE__*/React.createElement("div", {
|
|
120
|
+
className: "option-checked"
|
|
121
|
+
}, isSelect && /*#__PURE__*/React.createElement("i", {
|
|
122
|
+
className: "dtable-font dtable-icon-check-mark"
|
|
123
|
+
})));
|
|
124
|
+
}), options.length === 0 && /*#__PURE__*/React.createElement("div", {
|
|
125
|
+
className: "search-option-null"
|
|
126
|
+
}, getLocale('No_options_available'))), isSupportNewOption && !!searchValue && /*#__PURE__*/React.createElement("div", {
|
|
127
|
+
className: "select-options-add",
|
|
128
|
+
onClick: this.onAddNewOption
|
|
129
|
+
}, /*#__PURE__*/React.createElement("i", {
|
|
130
|
+
className: "dtable-font dtable-icon-add-table"
|
|
131
|
+
}), /*#__PURE__*/React.createElement("span", null, getLocale('Add_an_option'), ' ', searchValue)));
|
|
132
|
+
}
|
|
133
|
+
}]);
|
|
134
|
+
|
|
135
|
+
return PCSelectEditorPopover;
|
|
136
|
+
}(React.Component);
|
|
137
|
+
|
|
138
|
+
PCSelectEditorPopover.defaultProps = {
|
|
139
|
+
popoverPosition: {},
|
|
140
|
+
options: [],
|
|
141
|
+
isShowAddBtn: false
|
|
142
|
+
};
|
|
143
|
+
export default PCSelectEditorPopover;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
2
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
3
|
+
import FormatterConfig from '../cell-formatter/formatter-config';
|
|
4
|
+
|
|
5
|
+
var CellFormatterFactory = /*#__PURE__*/function () {
|
|
6
|
+
function CellFormatterFactory() {
|
|
7
|
+
_classCallCheck(this, CellFormatterFactory);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
_createClass(CellFormatterFactory, [{
|
|
11
|
+
key: "createFormatter",
|
|
12
|
+
value: function createFormatter(formatterType) {
|
|
13
|
+
if (FormatterConfig[formatterType]) {
|
|
14
|
+
return FormatterConfig[formatterType];
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
}]);
|
|
20
|
+
|
|
21
|
+
return CellFormatterFactory;
|
|
22
|
+
}();
|
|
23
|
+
|
|
24
|
+
var cellFormatterFactory = new CellFormatterFactory();
|
|
25
|
+
export default cellFormatterFactory;
|
|
@@ -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 AutoNumberFormatter = /*#__PURE__*/function (_React$Component) {
|
|
9
|
+
_inherits(AutoNumberFormatter, _React$Component);
|
|
10
|
+
|
|
11
|
+
var _super = _createSuper(AutoNumberFormatter);
|
|
12
|
+
|
|
13
|
+
function AutoNumberFormatter() {
|
|
14
|
+
_classCallCheck(this, AutoNumberFormatter);
|
|
15
|
+
|
|
16
|
+
return _super.apply(this, arguments);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
_createClass(AutoNumberFormatter, [{
|
|
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 auto-number-formatter', containerClassName);
|
|
26
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
27
|
+
className: classname
|
|
28
|
+
}, value);
|
|
29
|
+
}
|
|
30
|
+
}]);
|
|
31
|
+
|
|
32
|
+
return AutoNumberFormatter;
|
|
33
|
+
}(React.Component);
|
|
34
|
+
|
|
35
|
+
export default AutoNumberFormatter;
|
|
@@ -0,0 +1,55 @@
|
|
|
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 ButtonFormatter = /*#__PURE__*/function (_React$Component) {
|
|
9
|
+
_inherits(ButtonFormatter, _React$Component);
|
|
10
|
+
|
|
11
|
+
var _super = _createSuper(ButtonFormatter);
|
|
12
|
+
|
|
13
|
+
function ButtonFormatter() {
|
|
14
|
+
_classCallCheck(this, ButtonFormatter);
|
|
15
|
+
|
|
16
|
+
return _super.apply(this, arguments);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
_createClass(ButtonFormatter, [{
|
|
20
|
+
key: "render",
|
|
21
|
+
value: function render() {
|
|
22
|
+
var _this$props = this.props,
|
|
23
|
+
data = _this$props.data,
|
|
24
|
+
containerClassName = _this$props.containerClassName,
|
|
25
|
+
optionColors = _this$props.optionColors;
|
|
26
|
+
|
|
27
|
+
var _ref = data || {},
|
|
28
|
+
button_color = _ref.button_color,
|
|
29
|
+
button_type = _ref.button_type,
|
|
30
|
+
button_name = _ref.button_name;
|
|
31
|
+
|
|
32
|
+
if (!button_type) return null;
|
|
33
|
+
var colorOption = Array.isArray(optionColors) ? optionColors.find(function (item) {
|
|
34
|
+
return item.COLOR === button_color;
|
|
35
|
+
}) || optionColors[0] : {
|
|
36
|
+
COLOR: '#FFFCB5',
|
|
37
|
+
BORDER_COLOR: '#E8E79D',
|
|
38
|
+
TEXT_COLOR: '#202428'
|
|
39
|
+
};
|
|
40
|
+
var btnStyle = {
|
|
41
|
+
backgroundColor: colorOption.COLOR,
|
|
42
|
+
borderColor: colorOption.BORDER_COLOR,
|
|
43
|
+
color: colorOption.TEXT_COLOR
|
|
44
|
+
};
|
|
45
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
46
|
+
className: cn('dtable-ui cell-formatter-container button-formatter', containerClassName),
|
|
47
|
+
style: btnStyle
|
|
48
|
+
}, button_name);
|
|
49
|
+
}
|
|
50
|
+
}]);
|
|
51
|
+
|
|
52
|
+
return ButtonFormatter;
|
|
53
|
+
}(React.Component);
|
|
54
|
+
|
|
55
|
+
export default ButtonFormatter;
|
|
@@ -0,0 +1,44 @@
|
|
|
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 CheckboxFormatter = /*#__PURE__*/function (_React$PureComponent) {
|
|
9
|
+
_inherits(CheckboxFormatter, _React$PureComponent);
|
|
10
|
+
|
|
11
|
+
var _super = _createSuper(CheckboxFormatter);
|
|
12
|
+
|
|
13
|
+
function CheckboxFormatter() {
|
|
14
|
+
_classCallCheck(this, CheckboxFormatter);
|
|
15
|
+
|
|
16
|
+
return _super.apply(this, arguments);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
_createClass(CheckboxFormatter, [{
|
|
20
|
+
key: "render",
|
|
21
|
+
value: function render() {
|
|
22
|
+
var _this$props = this.props,
|
|
23
|
+
value = _this$props.value,
|
|
24
|
+
containerClassName = _this$props.containerClassName;
|
|
25
|
+
value = value === true ? true : false;
|
|
26
|
+
var classname = cn('dtable-ui cell-formatter-container checkbox-formatter', containerClassName);
|
|
27
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
28
|
+
className: classname
|
|
29
|
+
}, /*#__PURE__*/React.createElement("input", {
|
|
30
|
+
className: "checkbox",
|
|
31
|
+
type: "checkbox",
|
|
32
|
+
readOnly: true,
|
|
33
|
+
checked: value
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
}]);
|
|
37
|
+
|
|
38
|
+
return CheckboxFormatter;
|
|
39
|
+
}(React.PureComponent);
|
|
40
|
+
|
|
41
|
+
CheckboxFormatter.defaultProps = {
|
|
42
|
+
value: false
|
|
43
|
+
};
|
|
44
|
+
export default CheckboxFormatter;
|