dtable-ui-component 0.1.74 → 0.1.75-beta3

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 (238) hide show
  1. package/es/AutoNumberFormatter/index.css +1 -0
  2. package/es/{components/cell-formatter/auto-number-formatter.js → AutoNumberFormatter/index.js} +1 -0
  3. package/es/ButtonFormatter/index.css +13 -0
  4. package/es/{components/cell-formatter/button-formatter.js → ButtonFormatter/index.js} +1 -0
  5. package/es/CTimeFormatter/index.css +1 -0
  6. package/es/{components/cell-formatter/ctime-formatter.js → CTimeFormatter/index.js} +1 -0
  7. package/es/CheckboxFormatter/index.css +1 -0
  8. package/es/{components/cell-formatter/checkbox-formatter.js → CheckboxFormatter/index.js} +1 -0
  9. package/es/CollaboratorFormatter/index.css +1 -0
  10. package/es/{components/cell-formatter/collaborator-formatter.js → CollaboratorFormatter/index.js} +3 -2
  11. package/es/CollaboratorItem/index.css +49 -0
  12. package/es/CollaboratorItem/index.js +64 -0
  13. package/es/CreatorFormatter/index.css +1 -0
  14. package/es/{components/cell-formatter/creator-formatter.js → CreatorFormatter/index.js} +3 -2
  15. package/es/DateFormatter/index.css +1 -0
  16. package/es/{components/cell-formatter/date-formatter.js → DateFormatter/index.js} +2 -1
  17. package/es/DurationFormatter/index.css +1 -0
  18. package/es/{components/cell-formatter/duration-formatter.js → DurationFormatter/index.js} +2 -1
  19. package/es/EmailFormatter/index.css +5 -0
  20. package/es/{components/cell-formatter/email-formatter.js → EmailFormatter/index.js} +1 -0
  21. package/es/FileFormatter/index.css +29 -0
  22. package/es/{components/cell-formatter/file-formatter.js → FileFormatter/index.js} +2 -1
  23. package/es/{components/cell-formatter/widgets/file-item-formatter.js → FileItemFormatter/index.js} +2 -2
  24. package/es/{components/file-uploader → FileUploader}/index.js +0 -0
  25. package/es/FormulaFormatter/index.css +19 -0
  26. package/es/{components/cell-formatter/formula-formatter.js → FormulaFormatter/index.js} +8 -8
  27. package/es/GeolocationFormatter/index.css +1 -0
  28. package/es/{components/cell-formatter/geolocation-formatter.js → GeolocationFormatter/index.js} +2 -1
  29. package/es/{components/common → ImageFormatter}/images-lazy-load.js +2 -2
  30. package/es/ImageFormatter/index.css +34 -0
  31. package/es/{components/cell-formatter/image-formatter.js → ImageFormatter/index.js} +4 -3
  32. package/es/{css/image-previewer-ligntbox.css → ImagePreviewerLightbox/index.css} +0 -0
  33. package/es/{components/cell-formatter/widgets/image-previewer-lightbox.js → ImagePreviewerLightbox/index.js} +3 -3
  34. package/es/LastModifierFormatter/index.css +1 -0
  35. package/es/{components/cell-formatter/last-modifier-formatter.js → LastModifierFormatter/index.js} +5 -4
  36. package/es/LinkFormatter/index.css +27 -0
  37. package/es/{components/cell-formatter/link-formatter.js → LinkFormatter/index.js} +2 -2
  38. package/es/{css/loading.css → Loading/index.css} +0 -0
  39. package/es/{components/loading.js → Loading/index.js} +1 -1
  40. package/es/{components/cell-formatter/widgets/long-text-formatter → LongTextFormatter}/html-long-text-formatter.js +1 -1
  41. package/es/LongTextFormatter/index.css +63 -0
  42. package/es/{components/cell-formatter/long-text-formatter.js → LongTextFormatter/index.js} +3 -2
  43. package/es/{components/cell-formatter/widgets/long-text-formatter → LongTextFormatter}/simple-long-text-formatter.js +1 -1
  44. package/es/MTimeFormatter/index.css +1 -0
  45. package/es/{components/cell-formatter/mtime-formatter.js → MTimeFormatter/index.js} +1 -0
  46. package/es/{components/common/modal-portal.js → ModalPortal/index.js} +0 -0
  47. package/es/MultipleSelectFormatter/index.css +1 -0
  48. package/es/{components/cell-formatter/multiple-select-formatter.js → MultipleSelectFormatter/index.js} +2 -1
  49. package/es/NumberFormatter/index.css +1 -0
  50. package/es/{components/cell-formatter/number-formatter.js → NumberFormatter/index.js} +2 -1
  51. package/es/RateFormatter/index.css +1 -0
  52. package/es/{components/cell-formatter/rate-formatter.js → RateFormatter/index.js} +1 -0
  53. package/es/{components/common/select-item.js → SelectItem/index.js} +0 -0
  54. package/es/SingleSelectFormatter/index.css +1 -0
  55. package/es/{components/cell-formatter/single-select-formatter.js → SingleSelectFormatter/index.js} +2 -1
  56. package/es/TextFormatter/index.css +1 -0
  57. package/es/{components/cell-formatter/text-formatter.js → TextFormatter/index.js} +1 -0
  58. package/es/UrlFormatter/index.css +5 -0
  59. package/es/{components/cell-formatter/url-formatter.js → UrlFormatter/index.js} +1 -0
  60. package/es/app.js +1 -1
  61. package/es/{components/cell-factory/cell-formatter-factory.js → cellFormatterFactory/index.js} +3 -3
  62. package/es/components/cell-editor/checkbox-editor.js +104 -0
  63. package/es/components/cell-editor/collaborator-editor.js +236 -0
  64. package/es/components/cell-editor/date-editor.js +151 -0
  65. package/es/components/cell-editor/index.js +9 -0
  66. package/es/components/cell-editor/link-editor.js +303 -0
  67. package/es/components/cell-editor/multiple-select-editor.js +237 -0
  68. package/es/components/cell-editor/number-editor.js +154 -0
  69. package/es/components/cell-editor/single-select-editor.js +202 -0
  70. package/es/components/cell-editor/text-editor.js +122 -0
  71. package/es/components/cell-editor-dialog/pc-file-editor-dialog.js +46 -0
  72. package/es/components/cell-editor-dialog/pc-files-addition/index.js +0 -0
  73. package/es/components/cell-editor-dialog/pc-files-addition/pc-file-uploaded-item.js +0 -0
  74. package/es/components/cell-editor-dialog/pc-files-preview/index.js +0 -0
  75. package/es/components/cell-editor-dialog/pc-files-preview/pc-file-item-preview.js +0 -0
  76. package/es/components/cell-editor-popover/mb-collaborator-editor-popover.js +177 -0
  77. package/es/components/cell-editor-popover/mb-date-editor-popover.js +245 -0
  78. package/es/components/cell-editor-popover/mb-link-editor-popover.js +170 -0
  79. package/es/components/cell-editor-popover/mb-select-editor-popover.js +230 -0
  80. package/es/components/cell-editor-popover/pc-collaborator-editor-popover.js +109 -0
  81. package/es/components/cell-editor-popover/pc-date-editor-popover.js +142 -0
  82. package/es/components/cell-editor-popover/pc-link-editor-popover.js +114 -0
  83. package/es/components/cell-editor-popover/pc-select-editor-popover.js +143 -0
  84. package/es/constants/index.js +15 -14
  85. package/es/css/cell-formatter.css +0 -243
  86. package/es/formatterConfig/index.js +31 -0
  87. package/es/index.js +29 -3
  88. package/es/{components/toast → toaster}/alert.js +0 -0
  89. package/es/{components/toast → toaster}/index.js +0 -0
  90. package/es/{components/toast → toaster}/toast.js +0 -0
  91. package/es/{components/toast → toaster}/toastManager.js +0 -0
  92. package/es/{components/toast → toaster}/toaster.js +0 -0
  93. package/es/utils/cell-value-validator.js +1 -2
  94. package/es/utils/editor-utils.js +71 -0
  95. package/es/utils/normalize-long-text-value.js +2 -2
  96. package/es/utils/number-precision.js +1 -0
  97. package/es/utils/value-format-utils.js +2 -0
  98. package/lib/AutoNumberFormatter/index.css +1 -0
  99. package/lib/AutoNumberFormatter/index.js +47 -0
  100. package/lib/ButtonFormatter/index.css +13 -0
  101. package/lib/ButtonFormatter/index.js +68 -0
  102. package/lib/CTimeFormatter/index.css +1 -0
  103. package/lib/CTimeFormatter/index.js +72 -0
  104. package/lib/CheckboxFormatter/index.css +1 -0
  105. package/lib/CheckboxFormatter/index.js +58 -0
  106. package/lib/CollaboratorFormatter/index.css +1 -0
  107. package/lib/CollaboratorFormatter/index.js +113 -0
  108. package/lib/CollaboratorItem/index.css +49 -0
  109. package/lib/CollaboratorItem/index.js +81 -0
  110. package/lib/CreatorFormatter/index.css +1 -0
  111. package/lib/CreatorFormatter/index.js +107 -0
  112. package/lib/DateFormatter/index.css +1 -0
  113. package/lib/DateFormatter/index.js +75 -0
  114. package/lib/DurationFormatter/index.css +1 -0
  115. package/lib/DurationFormatter/index.js +51 -0
  116. package/lib/EmailFormatter/index.css +5 -0
  117. package/lib/EmailFormatter/index.js +47 -0
  118. package/lib/FileFormatter/index.css +29 -0
  119. package/lib/FileFormatter/index.js +79 -0
  120. package/lib/FileItemFormatter/index.js +63 -0
  121. package/lib/FileUploader/index.js +63 -0
  122. package/lib/FormulaFormatter/index.css +19 -0
  123. package/lib/FormulaFormatter/index.js +185 -0
  124. package/lib/GeolocationFormatter/index.css +1 -0
  125. package/lib/GeolocationFormatter/index.js +68 -0
  126. package/lib/ImageFormatter/images-lazy-load.js +158 -0
  127. package/lib/ImageFormatter/index.css +34 -0
  128. package/lib/ImageFormatter/index.js +173 -0
  129. package/lib/ImagePreviewerLightbox/index.css +87 -0
  130. package/lib/ImagePreviewerLightbox/index.js +152 -0
  131. package/lib/LastModifierFormatter/index.css +1 -0
  132. package/lib/LastModifierFormatter/index.js +107 -0
  133. package/lib/LinkFormatter/index.css +27 -0
  134. package/lib/LinkFormatter/index.js +165 -0
  135. package/lib/Loading/index.css +54 -0
  136. package/lib/Loading/index.js +16 -0
  137. package/lib/LongTextFormatter/html-long-text-formatter.js +107 -0
  138. package/lib/LongTextFormatter/index.css +63 -0
  139. package/lib/LongTextFormatter/index.js +48 -0
  140. package/lib/LongTextFormatter/simple-long-text-formatter.js +110 -0
  141. package/lib/MTimeFormatter/index.css +1 -0
  142. package/lib/MTimeFormatter/index.js +72 -0
  143. package/lib/ModalPortal/index.js +51 -0
  144. package/lib/MultipleSelectFormatter/index.css +1 -0
  145. package/lib/MultipleSelectFormatter/index.js +86 -0
  146. package/lib/NumberFormatter/index.css +1 -0
  147. package/lib/NumberFormatter/index.js +62 -0
  148. package/lib/RateFormatter/index.css +1 -0
  149. package/lib/RateFormatter/index.js +95 -0
  150. package/lib/SelectItem/index.js +73 -0
  151. package/lib/SingleSelectFormatter/index.css +1 -0
  152. package/lib/SingleSelectFormatter/index.js +86 -0
  153. package/lib/TextFormatter/index.css +1 -0
  154. package/lib/TextFormatter/index.js +69 -0
  155. package/lib/UrlFormatter/index.css +5 -0
  156. package/lib/UrlFormatter/index.js +47 -0
  157. package/lib/app.css +20 -0
  158. package/lib/app.js +96 -0
  159. package/lib/assets/images/avatar/default_avatar.png +0 -0
  160. package/lib/assets/images/file/192/excel.png +0 -0
  161. package/lib/assets/images/file/192/file.png +0 -0
  162. package/lib/assets/images/file/192/music.png +0 -0
  163. package/lib/assets/images/file/192/pdf.png +0 -0
  164. package/lib/assets/images/file/192/pic.png +0 -0
  165. package/lib/assets/images/file/192/ppt.png +0 -0
  166. package/lib/assets/images/file/192/txt.png +0 -0
  167. package/lib/assets/images/file/192/video.png +0 -0
  168. package/lib/assets/images/file/192/word.png +0 -0
  169. package/lib/assets/images/file/24/excel.png +0 -0
  170. package/lib/assets/images/file/24/file.png +0 -0
  171. package/lib/assets/images/file/24/music.png +0 -0
  172. package/lib/assets/images/file/24/pdf.png +0 -0
  173. package/lib/assets/images/file/24/pic.png +0 -0
  174. package/lib/assets/images/file/24/ppt.png +0 -0
  175. package/lib/assets/images/file/24/txt.png +0 -0
  176. package/lib/assets/images/file/24/video.png +0 -0
  177. package/lib/assets/images/file/24/word.png +0 -0
  178. package/lib/assets/images/folder/folder-192.png +0 -0
  179. package/lib/assets/images/folder/folder-24.png +0 -0
  180. package/lib/cellFormatterFactory/index.js +28 -0
  181. package/lib/components/cell-editor/checkbox-editor.js +111 -0
  182. package/lib/components/cell-editor/collaborator-editor.js +249 -0
  183. package/lib/components/cell-editor/date-editor.js +171 -0
  184. package/lib/components/cell-editor/index.js +40 -0
  185. package/lib/components/cell-editor/link-editor.js +321 -0
  186. package/lib/components/cell-editor/multiple-select-editor.js +250 -0
  187. package/lib/components/cell-editor/number-editor.js +162 -0
  188. package/lib/components/cell-editor/single-select-editor.js +216 -0
  189. package/lib/components/cell-editor/text-editor.js +129 -0
  190. package/lib/components/cell-editor-dialog/pc-file-editor-dialog.js +66 -0
  191. package/lib/components/cell-editor-dialog/pc-files-addition/index.js +1 -0
  192. package/lib/components/cell-editor-dialog/pc-files-addition/pc-file-uploaded-item.js +1 -0
  193. package/lib/components/cell-editor-dialog/pc-files-preview/index.js +1 -0
  194. package/lib/components/cell-editor-dialog/pc-files-preview/pc-file-item-preview.js +1 -0
  195. package/lib/components/cell-editor-popover/mb-collaborator-editor-popover.js +183 -0
  196. package/lib/components/cell-editor-popover/mb-date-editor-popover.js +262 -0
  197. package/lib/components/cell-editor-popover/mb-link-editor-popover.js +176 -0
  198. package/lib/components/cell-editor-popover/mb-select-editor-popover.js +243 -0
  199. package/lib/components/cell-editor-popover/pc-collaborator-editor-popover.js +124 -0
  200. package/lib/components/cell-editor-popover/pc-date-editor-popover.js +156 -0
  201. package/lib/components/cell-editor-popover/pc-link-editor-popover.js +128 -0
  202. package/lib/components/cell-editor-popover/pc-select-editor-popover.js +157 -0
  203. package/lib/components/common/collaborator-item.js +79 -0
  204. package/lib/components/common/edit-editor-button.js +67 -0
  205. package/lib/components/common/link-editor-option.js +121 -0
  206. package/lib/components/common/mobile/mb-editor-header.js +61 -0
  207. package/lib/components/common/select-editor-option.js +122 -0
  208. package/lib/constants/cell-types.js +54 -0
  209. package/lib/constants/index.js +72 -0
  210. package/lib/css/cell-editor.css +614 -0
  211. package/lib/css/cell-formatter.css +4 -0
  212. package/lib/css/custom-rc-calendar.css +118 -0
  213. package/lib/formatterConfig/index.js +62 -0
  214. package/lib/index.js +139 -0
  215. package/lib/lang/index.js +66 -0
  216. package/lib/locals/de.js +7 -0
  217. package/lib/locals/en.js +22 -0
  218. package/lib/locals/fr.js +7 -0
  219. package/lib/locals/zh-CN.js +22 -0
  220. package/lib/toaster/alert.js +164 -0
  221. package/lib/toaster/index.js +12 -0
  222. package/lib/toaster/toast.js +223 -0
  223. package/lib/toaster/toastManager.js +189 -0
  224. package/lib/toaster/toaster.js +92 -0
  225. package/lib/utils/cell-value-validator.js +35 -0
  226. package/lib/utils/column-utils.js +15 -0
  227. package/lib/utils/editor-utils.js +81 -0
  228. package/lib/utils/markdown2html.js +68 -0
  229. package/lib/utils/normalize-long-text-value.js +74 -0
  230. package/lib/utils/number-precision.js +182 -0
  231. package/lib/utils/unified/index.js +470 -0
  232. package/lib/utils/utils.js +141 -0
  233. package/lib/utils/value-format-utils.js +547 -0
  234. package/lib/utils/vfile/core.js +172 -0
  235. package/lib/utils/vfile/index.js +48 -0
  236. package/package.json +5 -3
  237. package/es/components/cell-formatter/formatter-config.js +0 -31
  238. package/es/components/cell-formatter/index.js +0 -27
@@ -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;
@@ -3,7 +3,7 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
3
  var _DURATION_ZERO_DISPLA, _DURATION_DECIMAL_DIG;
4
4
 
5
5
  import * as CellType from './cell-types';
6
- export var NUMBER_TYPES = {
6
+ var NUMBER_TYPES = {
7
7
  'NUMBER': 'number',
8
8
  'NUMBER_WITH_COMMAS': 'number-with-commas',
9
9
  'PERCENT': 'percent',
@@ -11,7 +11,7 @@ export var NUMBER_TYPES = {
11
11
  'EURO': 'euro',
12
12
  'DOLLAR': 'dollar'
13
13
  };
14
- export var DATE_TYPES = {
14
+ var DATE_TYPES = {
15
15
  'D/M/YYYY': 'D/M/YYYY',
16
16
  'D/M/YYYY HH:mm': 'D/M/YYYY HH:mm',
17
17
  'M/D/YYYY': 'M/D/YY',
@@ -19,30 +19,31 @@ export var DATE_TYPES = {
19
19
  'YYYY-MM-DD': 'YYYY-MM-DD',
20
20
  'YYYY-MM-DD HH:mm': 'YYYY-MM-DD HH:mm'
21
21
  };
22
- export var FORMULA_RESULT_TYPE = {
22
+ var FORMULA_RESULT_TYPE = {
23
23
  NUMBER: 'number',
24
24
  STRING: 'string',
25
25
  DATE: 'date',
26
26
  BOOL: 'bool',
27
27
  ARRAY: 'array'
28
28
  };
29
- export var SIMPLE_CELL_COLUMNS = [CellType.TEXT, CellType.NUMBER, CellType.DATE, CellType.CTIME, CellType.MTIME, CellType.GEOLOCATION, CellType.AUTO_NUMBER, CellType.URL, CellType.EMAIL, CellType.DURATION, CellType.CHECKBOX, CellType.RATE];
30
- export var ARRAY_FORMAL_COLUMNS = [CellType.IMAGE, CellType.FILE, CellType.MULTIPLE_SELECT, CellType.COLLABORATOR];
31
- export var SIMPLE_CELL_FORMULA_RESULTS = [FORMULA_RESULT_TYPE.NUMBER, FORMULA_RESULT_TYPE.STRING, FORMULA_RESULT_TYPE.DATE, FORMULA_RESULT_TYPE.BOOL];
32
- export var COLLABORATOR_COLUMN_TYPES = [CellType.COLLABORATOR, CellType.CREATOR, CellType.LAST_MODIFIER];
33
- export var ARRAY_FORMAL_COLUMNS_TYPES = [CellType.IMAGE, CellType.FILE, CellType.MULTIPLE_SELECT, CellType.COLLABORATOR];
34
- export var DEFAULT_NUMBER_FORMAT = 'number';
35
- export var DEFAULT_DATE_FORMAT = 'YYYY-MM-DD';
36
- export var DURATION_FORMATS_MAP = {
29
+ var SIMPLE_CELL_COLUMNS = [CellType.TEXT, CellType.NUMBER, CellType.DATE, CellType.CTIME, CellType.MTIME, CellType.GEOLOCATION, CellType.AUTO_NUMBER, CellType.URL, CellType.EMAIL, CellType.DURATION, CellType.CHECKBOX, CellType.RATE];
30
+ var ARRAY_FORMAL_COLUMNS = [CellType.IMAGE, CellType.FILE, CellType.MULTIPLE_SELECT, CellType.COLLABORATOR];
31
+ var SIMPLE_CELL_FORMULA_RESULTS = [FORMULA_RESULT_TYPE.NUMBER, FORMULA_RESULT_TYPE.STRING, FORMULA_RESULT_TYPE.DATE, FORMULA_RESULT_TYPE.BOOL];
32
+ var COLLABORATOR_COLUMN_TYPES = [CellType.COLLABORATOR, CellType.CREATOR, CellType.LAST_MODIFIER];
33
+ var ARRAY_FORMAL_COLUMNS_TYPES = [CellType.IMAGE, CellType.FILE, CellType.MULTIPLE_SELECT, CellType.COLLABORATOR];
34
+ var DEFAULT_NUMBER_FORMAT = 'number';
35
+ var DEFAULT_DATE_FORMAT = 'YYYY-MM-DD';
36
+ var DURATION_FORMATS_MAP = {
37
37
  H_MM: 'h:mm',
38
38
  H_MM_SS: 'h:mm:ss'
39
39
  };
40
- export var DURATION_FORMATS = [{
40
+ var DURATION_FORMATS = [{
41
41
  name: DURATION_FORMATS_MAP.H_MM,
42
42
  type: DURATION_FORMATS_MAP.H_MM
43
43
  }, {
44
44
  name: DURATION_FORMATS_MAP.H_MM_SS,
45
45
  type: DURATION_FORMATS_MAP.H_MM_SS
46
46
  }];
47
- export var DURATION_ZERO_DISPLAY = (_DURATION_ZERO_DISPLA = {}, _defineProperty(_DURATION_ZERO_DISPLA, DURATION_FORMATS_MAP.H_MM, '0:00'), _defineProperty(_DURATION_ZERO_DISPLA, DURATION_FORMATS_MAP.H_MM_SS, '0:00'), _DURATION_ZERO_DISPLA);
48
- export var DURATION_DECIMAL_DIGITS = (_DURATION_DECIMAL_DIG = {}, _defineProperty(_DURATION_DECIMAL_DIG, DURATION_FORMATS_MAP.H_MM, 0), _defineProperty(_DURATION_DECIMAL_DIG, DURATION_FORMATS_MAP.H_MM_SS, 0), _DURATION_DECIMAL_DIG);
47
+ var DURATION_ZERO_DISPLAY = (_DURATION_ZERO_DISPLA = {}, _defineProperty(_DURATION_ZERO_DISPLA, DURATION_FORMATS_MAP.H_MM, '0:00'), _defineProperty(_DURATION_ZERO_DISPLA, DURATION_FORMATS_MAP.H_MM_SS, '0:00'), _DURATION_ZERO_DISPLA);
48
+ var DURATION_DECIMAL_DIGITS = (_DURATION_DECIMAL_DIG = {}, _defineProperty(_DURATION_DECIMAL_DIG, DURATION_FORMATS_MAP.H_MM, 0), _defineProperty(_DURATION_DECIMAL_DIG, DURATION_FORMATS_MAP.H_MM_SS, 0), _DURATION_DECIMAL_DIG);
49
+ export { CellType, NUMBER_TYPES, DATE_TYPES, FORMULA_RESULT_TYPE, SIMPLE_CELL_COLUMNS, ARRAY_FORMAL_COLUMNS, SIMPLE_CELL_FORMULA_RESULTS, COLLABORATOR_COLUMN_TYPES, ARRAY_FORMAL_COLUMNS_TYPES, DEFAULT_NUMBER_FORMAT, DEFAULT_DATE_FORMAT, DURATION_FORMATS_MAP, DURATION_FORMATS, DURATION_ZERO_DISPLAY, DURATION_DECIMAL_DIGITS };