dtable-ui-component 0.2.0 → 0.2.2

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 (127) hide show
  1. package/es/app.css +20 -0
  2. package/es/app.js +91 -0
  3. package/es/assets/images/avatar/default_avatar.png +0 -0
  4. package/es/assets/images/file/192/excel.png +0 -0
  5. package/es/assets/images/file/192/file.png +0 -0
  6. package/es/assets/images/file/192/music.png +0 -0
  7. package/es/assets/images/file/192/pdf.png +0 -0
  8. package/es/assets/images/file/192/pic.png +0 -0
  9. package/es/assets/images/file/192/ppt.png +0 -0
  10. package/es/assets/images/file/192/txt.png +0 -0
  11. package/es/assets/images/file/192/video.png +0 -0
  12. package/es/assets/images/file/192/word.png +0 -0
  13. package/es/assets/images/file/24/excel.png +0 -0
  14. package/es/assets/images/file/24/file.png +0 -0
  15. package/es/assets/images/file/24/music.png +0 -0
  16. package/es/assets/images/file/24/pdf.png +0 -0
  17. package/es/assets/images/file/24/pic.png +0 -0
  18. package/es/assets/images/file/24/ppt.png +0 -0
  19. package/es/assets/images/file/24/txt.png +0 -0
  20. package/es/assets/images/file/24/video.png +0 -0
  21. package/es/assets/images/file/24/word.png +0 -0
  22. package/es/assets/images/folder/folder-192.png +0 -0
  23. package/es/assets/images/folder/folder-24.png +0 -0
  24. package/es/components/cell-editor/checkbox-editor.js +104 -0
  25. package/es/components/cell-editor/collaborator-editor.js +236 -0
  26. package/es/components/cell-editor/date-editor.js +151 -0
  27. package/es/components/cell-editor/index.js +9 -0
  28. package/es/components/cell-editor/link-editor.js +303 -0
  29. package/es/components/cell-editor/multiple-select-editor.js +237 -0
  30. package/es/components/cell-editor/number-editor.js +154 -0
  31. package/es/components/cell-editor/single-select-editor.js +202 -0
  32. package/es/components/cell-editor/text-editor.js +122 -0
  33. package/es/components/cell-editor-dialog/pc-file-editor-dialog.js +46 -0
  34. package/es/components/cell-editor-dialog/pc-files-addition/index.js +0 -0
  35. package/es/components/cell-editor-dialog/pc-files-addition/pc-file-uploaded-item.js +0 -0
  36. package/es/components/cell-editor-dialog/pc-files-preview/index.js +0 -0
  37. package/es/components/cell-editor-dialog/pc-files-preview/pc-file-item-preview.js +0 -0
  38. package/es/components/cell-editor-popover/mb-collaborator-editor-popover.js +177 -0
  39. package/es/components/cell-editor-popover/mb-date-editor-popover.js +245 -0
  40. package/es/components/cell-editor-popover/mb-link-editor-popover.js +170 -0
  41. package/es/components/cell-editor-popover/mb-select-editor-popover.js +230 -0
  42. package/es/components/cell-editor-popover/pc-collaborator-editor-popover.js +109 -0
  43. package/es/components/cell-editor-popover/pc-date-editor-popover.js +142 -0
  44. package/es/components/cell-editor-popover/pc-link-editor-popover.js +114 -0
  45. package/es/components/cell-editor-popover/pc-select-editor-popover.js +143 -0
  46. package/es/components/cell-factory/cell-formatter-factory.js +25 -0
  47. package/es/components/cell-formatter/auto-number-formatter.js +35 -0
  48. package/es/components/cell-formatter/button-formatter.js +55 -0
  49. package/es/components/cell-formatter/checkbox-formatter.js +44 -0
  50. package/es/components/cell-formatter/collaborator-formatter.js +91 -0
  51. package/es/components/cell-formatter/creator-formatter.js +87 -0
  52. package/es/components/cell-formatter/ctime-formatter.js +57 -0
  53. package/es/components/cell-formatter/date-formatter.js +59 -0
  54. package/es/components/cell-formatter/duration-formatter.js +37 -0
  55. package/es/components/cell-formatter/email-formatter.js +35 -0
  56. package/es/components/cell-formatter/file-formatter.js +63 -0
  57. package/es/components/cell-formatter/formatter-config.js +31 -0
  58. package/es/components/cell-formatter/formula-formatter.js +173 -0
  59. package/es/components/cell-formatter/geolocation-formatter.js +49 -0
  60. package/es/components/cell-formatter/image-formatter.js +153 -0
  61. package/es/components/cell-formatter/index.js +26 -0
  62. package/es/components/cell-formatter/last-modifier-formatter.js +87 -0
  63. package/es/components/cell-formatter/link-formatter.js +144 -0
  64. package/es/components/cell-formatter/long-text-formatter.js +106 -0
  65. package/es/components/cell-formatter/mtime-formatter.js +57 -0
  66. package/es/components/cell-formatter/multiple-select-formatter.js +70 -0
  67. package/es/components/cell-formatter/number-formatter.js +46 -0
  68. package/es/components/cell-formatter/rate-formatter.js +74 -0
  69. package/es/components/cell-formatter/single-select-formatter.js +69 -0
  70. package/es/components/cell-formatter/text-formatter.js +35 -0
  71. package/es/components/cell-formatter/url-formatter.js +35 -0
  72. package/es/components/cell-formatter/widgets/file-item-formatter.js +50 -0
  73. package/es/components/cell-formatter/widgets/image-previewer-lightbox.js +119 -0
  74. package/es/components/common/collaborator-item.js +63 -0
  75. package/es/components/common/edit-editor-button.js +56 -0
  76. package/es/components/common/images-lazy-load.js +148 -0
  77. package/es/components/common/link-editor-option.js +113 -0
  78. package/es/components/common/mobile/mb-editor-header.js +48 -0
  79. package/es/components/common/modal-portal.js +44 -0
  80. package/es/components/common/select-editor-option.js +106 -0
  81. package/es/components/common/select-item.js +58 -0
  82. package/es/components/file-uploader/index.js +53 -0
  83. package/es/components/loading.js +7 -0
  84. package/es/components/toast/alert.js +150 -0
  85. package/es/components/toast/index.js +3 -0
  86. package/es/components/toast/toast.js +179 -0
  87. package/es/components/toast/toastManager.js +170 -0
  88. package/es/components/toast/toaster.js +76 -0
  89. package/es/css/cell-editor.css +614 -0
  90. package/es/css/cell-formatter.css +241 -0
  91. package/es/css/custom-rc-calendar.css +118 -0
  92. package/es/css/image-previewer-ligntbox.css +87 -0
  93. package/es/css/loading.css +54 -0
  94. package/es/index.js +5 -0
  95. package/es/lang/index.js +50 -0
  96. package/es/locals/de.js +2 -0
  97. package/es/locals/en.js +17 -0
  98. package/es/locals/fr.js +2 -0
  99. package/es/locals/zh-CN.js +17 -0
  100. package/es/utils/cell-types.js +25 -0
  101. package/es/utils/constants.js +41 -0
  102. package/es/utils/editor-utils.js +71 -0
  103. package/es/utils/normalize-long-text-value.js +68 -0
  104. package/es/utils/number-precision.js +163 -0
  105. package/es/utils/utils.js +116 -0
  106. package/es/utils/value-format-utils.js +281 -0
  107. package/lib/AutoNumberFormatter/index.js +3 -0
  108. package/lib/ButtonFormatter/index.js +1 -1
  109. package/lib/CollaboratorFormatter/index.js +3 -0
  110. package/lib/CreatorFormatter/index.js +3 -0
  111. package/lib/DTableCustomizeCollaboratorSelect/index.js +1 -1
  112. package/lib/DTableCustomizeSelect/index.js +1 -1
  113. package/lib/DTableSelect/index.js +1 -1
  114. package/lib/FormulaFormatter/index.js +2 -2
  115. package/lib/HtmlLongTextFormatter/vfile/index.js +0 -2
  116. package/lib/ImageFormatter/index.js +2 -1
  117. package/lib/ImagePreviewerLightbox/index.js +3 -2
  118. package/lib/ImagePreviewerLightbox/utils.js +3 -2
  119. package/lib/LastModifierFormatter/index.js +3 -0
  120. package/lib/LinkFormatter/index.js +4 -1
  121. package/lib/MultipleSelectFormatter/index.js +3 -0
  122. package/lib/SelectOptionGroup/KeyCodes.js +1 -1
  123. package/lib/SingleSelectFormatter/index.js +3 -0
  124. package/lib/cellFormatterFactory/index.js +3 -3
  125. package/lib/formatterConfig/base-formatter-config.js +28 -0
  126. package/lib/formatterConfig/index.js +6 -23
  127. 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;