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
@@ -5,6 +5,7 @@ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
5
  import React from 'react';
6
6
  import cn from 'astro-classname';
7
7
  import moment from 'moment';
8
+ import './index.css';
8
9
 
9
10
  var MTimeFormatter = /*#__PURE__*/function (_React$Component) {
10
11
  _inherits(MTimeFormatter, _React$Component);
@@ -0,0 +1 @@
1
+ @import url('../css/cell-formatter.css');
@@ -4,7 +4,8 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
4
4
  import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
5
  import React from 'react';
6
6
  import cn from 'astro-classname';
7
- import SelectItem from '../common/select-item';
7
+ import SelectItem from '../SelectItem';
8
+ import './index.css';
8
9
 
9
10
  var MultipleSelectFormatter = /*#__PURE__*/function (_React$PureComponent) {
10
11
  _inherits(MultipleSelectFormatter, _React$PureComponent);
@@ -0,0 +1 @@
1
+ @import url('../css/cell-formatter.css');
@@ -4,7 +4,8 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
4
4
  import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
5
  import React from 'react';
6
6
  import cn from 'astro-classname';
7
- import { getNumberDisplayString } from '../../utils/value-format-utils';
7
+ import { getNumberDisplayString } from '../utils/value-format-utils';
8
+ import './index.css';
8
9
 
9
10
  var NumberFormatter = /*#__PURE__*/function (_React$Component) {
10
11
  _inherits(NumberFormatter, _React$Component);
@@ -0,0 +1 @@
1
+ @import url('../css/cell-formatter.css');
@@ -4,6 +4,7 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
4
4
  import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
5
  import React from 'react';
6
6
  import cn from 'astro-classname';
7
+ import './index.css';
7
8
 
8
9
  var RateFormatter = /*#__PURE__*/function (_React$Component) {
9
10
  _inherits(RateFormatter, _React$Component);
@@ -0,0 +1 @@
1
+ @import url('../css/cell-formatter.css');
@@ -4,7 +4,8 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
4
4
  import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
5
  import React from 'react';
6
6
  import cn from 'astro-classname';
7
- import SelectItem from '../common/select-item';
7
+ import SelectItem from '../SelectItem';
8
+ import './index.css';
8
9
 
9
10
  var SingleSelectFormatter = /*#__PURE__*/function (_React$PureComponent) {
10
11
  _inherits(SingleSelectFormatter, _React$PureComponent);
@@ -0,0 +1 @@
1
+ @import url('../css/cell-formatter.css');
@@ -4,6 +4,7 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
4
4
  import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
5
  import React from 'react';
6
6
  import cn from 'astro-classname';
7
+ import './index.css';
7
8
 
8
9
  var TextFormatter = /*#__PURE__*/function (_React$Component) {
9
10
  _inherits(TextFormatter, _React$Component);
@@ -0,0 +1,5 @@
1
+ @import url('../css/cell-formatter.css');
2
+
3
+ .dtable-ui.url-formatter {
4
+ text-decoration: underline;
5
+ }
@@ -4,6 +4,7 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
4
4
  import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
5
  import React from 'react';
6
6
  import cn from 'astro-classname';
7
+ import './index.css';
7
8
 
8
9
  var UrlFormatter = /*#__PURE__*/function (_React$Component) {
9
10
  _inherits(UrlFormatter, _React$Component);
package/es/app.js CHANGED
@@ -3,7 +3,7 @@ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
3
  import _inherits from "@babel/runtime/helpers/esm/inherits";
4
4
  import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
5
  import React from 'react';
6
- import { CollaboratorFormatter, SingleSelectFormatter } from './components/cell-formatter';
6
+ import { CollaboratorFormatter, SingleSelectFormatter } from './index';
7
7
  import './app.css';
8
8
 
9
9
  var App = /*#__PURE__*/function (_React$Component) {
@@ -1,6 +1,6 @@
1
1
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
2
  import _createClass from "@babel/runtime/helpers/esm/createClass";
3
- import FormatterConfig from '../cell-formatter/formatter-config';
3
+ import formatterConfig from '../formatterConfig';
4
4
 
5
5
  var CellFormatterFactory = /*#__PURE__*/function () {
6
6
  function CellFormatterFactory() {
@@ -10,8 +10,8 @@ var CellFormatterFactory = /*#__PURE__*/function () {
10
10
  _createClass(CellFormatterFactory, [{
11
11
  key: "createFormatter",
12
12
  value: function createFormatter(formatterType) {
13
- if (FormatterConfig[formatterType]) {
14
- return FormatterConfig[formatterType];
13
+ if (formatterConfig[formatterType]) {
14
+ return formatterConfig[formatterType];
15
15
  }
16
16
 
17
17
  return null;
@@ -0,0 +1,104 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
4
+ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
+ import React from 'react';
6
+
7
+ var CheckboxEditor = /*#__PURE__*/function (_React$Component) {
8
+ _inherits(CheckboxEditor, _React$Component);
9
+
10
+ var _super = _createSuper(CheckboxEditor);
11
+
12
+ function CheckboxEditor(props) {
13
+ var _this;
14
+
15
+ _classCallCheck(this, CheckboxEditor);
16
+
17
+ _this = _super.call(this, props);
18
+
19
+ _this.getValue = function () {
20
+ var updated = {};
21
+ var column = _this.props.column;
22
+ updated[column.key] = _this.state.value;
23
+ return updated;
24
+ };
25
+
26
+ _this.onCommit = function () {
27
+ var updated = _this.getValue();
28
+
29
+ _this.props.onCommit(updated);
30
+ };
31
+
32
+ _this.onChange = function (event) {
33
+ if (_this.props.isReadOnly) {
34
+ return;
35
+ }
36
+
37
+ var value = event.target.checked;
38
+
39
+ if (value === _this.state.value) {
40
+ return;
41
+ }
42
+
43
+ _this.setState({
44
+ value: value
45
+ }, function () {
46
+ _this.onCommit();
47
+ });
48
+ };
49
+
50
+ _this.onKeyDown = function (event) {
51
+ event.stopPropagation();
52
+ };
53
+
54
+ _this.onBlur = function () {// this.onCommit();
55
+ };
56
+
57
+ _this.setInputRef = function (input) {
58
+ _this.input = input;
59
+ };
60
+
61
+ _this.getStyle = function () {
62
+ return {
63
+ marginLeft: 0,
64
+ transform: 'scale(1.1)'
65
+ };
66
+ };
67
+
68
+ _this.state = {
69
+ value: props.value ? props.value : false
70
+ };
71
+ return _this;
72
+ }
73
+
74
+ _createClass(CheckboxEditor, [{
75
+ key: "render",
76
+ value: function render() {
77
+ var style = this.getStyle();
78
+ return /*#__PURE__*/React.createElement("div", {
79
+ className: "cell-editor checkbox-editor"
80
+ }, /*#__PURE__*/React.createElement("div", {
81
+ className: "checkbox-editor-container"
82
+ }, /*#__PURE__*/React.createElement("input", {
83
+ ref: this.setInputRef,
84
+ type: "checkbox",
85
+ className: "checkbox",
86
+ checked: this.state.value,
87
+ onBlur: this.onBlur,
88
+ onPaste: this.onPaste,
89
+ onKeyDown: this.onKeyDown,
90
+ onChange: this.onChange,
91
+ style: style,
92
+ readOnly: this.props.isReadOnly
93
+ })));
94
+ }
95
+ }]);
96
+
97
+ return CheckboxEditor;
98
+ }(React.Component);
99
+
100
+ CheckboxEditor.defaultProps = {
101
+ isReadOnly: false,
102
+ value: false
103
+ };
104
+ export default CheckboxEditor;
@@ -0,0 +1,236 @@
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, { Fragment } from 'react';
6
+ import MediaQuery from 'react-responsive';
7
+ import { getLocale } from '../../lang';
8
+ import CollaboratorItem from '../common/collaborator-item';
9
+ import EditEditorButton from '../common/edit-editor-button';
10
+ import PCCollaboratorEditorPopover from '../cell-editor-popover/pc-collaborator-editor-popover';
11
+ import MBCollaboratorEditorPopover from '../cell-editor-popover/mb-collaborator-editor-popover';
12
+
13
+ var CollaboratorEditor = /*#__PURE__*/function (_React$Component) {
14
+ _inherits(CollaboratorEditor, _React$Component);
15
+
16
+ var _super = _createSuper(CollaboratorEditor);
17
+
18
+ function CollaboratorEditor(props) {
19
+ var _this;
20
+
21
+ _classCallCheck(this, CollaboratorEditor);
22
+
23
+ _this = _super.call(this, props);
24
+
25
+ _this.onDocumentToggle = function (e) {
26
+ if (_this.editorContainer !== e.target && !_this.editorContainer.contains(e.target)) {
27
+ _this.onClosePopover();
28
+ }
29
+ };
30
+
31
+ _this.getFormattedCollaborators = function () {
32
+ var newValue = _this.state.newValue;
33
+
34
+ if (Array.isArray(newValue) && newValue.length > 0) {
35
+ var collaborators = _this.props.collaborators;
36
+ return newValue.map(function (collaboratorEmail) {
37
+ return collaborators.find(function (collaborator) {
38
+ return collaborator.email === collaboratorEmail;
39
+ });
40
+ }).filter(function (collaborator) {
41
+ return !!collaborator;
42
+ });
43
+ }
44
+
45
+ return [];
46
+ };
47
+
48
+ _this.onAddOptionToggle = function (event) {
49
+ event.nativeEvent.stopImmediatePropagation();
50
+ event.stopPropagation();
51
+
52
+ if (_this.props.isReadOnly) {
53
+ return;
54
+ }
55
+
56
+ var isPopoverShow = !_this.state.isPopoverShow;
57
+
58
+ if (isPopoverShow) {
59
+ var popoverPosition = _this.caculatePopoverPosition();
60
+
61
+ _this.setState({
62
+ isPopoverShow: isPopoverShow,
63
+ popoverPosition: popoverPosition
64
+ });
65
+ } else {
66
+ _this.setState({
67
+ isPopoverShow: isPopoverShow
68
+ });
69
+ }
70
+ };
71
+
72
+ _this.onCommit = function (newValue) {
73
+ var updated = {};
74
+ var column = _this.props.column;
75
+ updated[column.key] = newValue;
76
+
77
+ _this.props.onCommit(updated);
78
+ };
79
+
80
+ _this.onCollaboratorItemToggle = function (collaborator) {
81
+ var newValue = _this.state.newValue.slice();
82
+
83
+ var collaboratorIndex = newValue.findIndex(function (collaboratorEmail) {
84
+ return collaboratorEmail === collaborator.email;
85
+ });
86
+
87
+ if (collaboratorIndex !== -1) {
88
+ newValue.splice(collaboratorIndex, 1);
89
+ } else {
90
+ newValue.push(collaborator.email);
91
+ }
92
+
93
+ _this.setState({
94
+ newValue: newValue
95
+ }, function () {
96
+ _this.onCommit(newValue);
97
+
98
+ _this.onClosePopover();
99
+ });
100
+ };
101
+
102
+ _this.onDeleteCollaborator = function (collaborator) {
103
+ var newValue = _this.state.newValue.slice();
104
+
105
+ var optionIndex = newValue.findIndex(function (collaboratorEmail) {
106
+ return collaboratorEmail === collaborator.email;
107
+ });
108
+
109
+ if (optionIndex > -1) {
110
+ newValue.splice(optionIndex, 1);
111
+
112
+ _this.setState({
113
+ newValue: newValue
114
+ }, function () {
115
+ _this.onCommit(newValue);
116
+ });
117
+ }
118
+ };
119
+
120
+ _this.caculatePopoverPosition = function () {
121
+ var POPOVER_MAX_HEIGHT = 200;
122
+ var innerHeight = window.innerHeight;
123
+
124
+ var _this$editor$getClien = _this.editor.getClientRects()[0],
125
+ top = _this$editor$getClien.top,
126
+ height = _this$editor$getClien.height;
127
+
128
+ var isBelow = innerHeight - (top + height) > POPOVER_MAX_HEIGHT;
129
+ var position = {
130
+ top: height + 1,
131
+ left: 0
132
+ };
133
+
134
+ if (!isBelow) {
135
+ var bottom = height + 1;
136
+ position = {
137
+ bottom: bottom,
138
+ left: 0
139
+ };
140
+ }
141
+
142
+ return position;
143
+ };
144
+
145
+ _this.onClosePopover = function () {
146
+ _this.setState({
147
+ isPopoverShow: false
148
+ });
149
+ };
150
+
151
+ _this.setEditorContainerRef = function (editorContainer) {
152
+ _this.editorContainer = editorContainer;
153
+ };
154
+
155
+ _this.setEditorRef = function (editor) {
156
+ _this.editor = editor;
157
+ };
158
+
159
+ _this.state = {
160
+ newValue: Array.isArray(props.value) ? props.value : [],
161
+ isPopoverShow: false,
162
+ popoverPosition: {}
163
+ };
164
+ return _this;
165
+ }
166
+
167
+ _createClass(CollaboratorEditor, [{
168
+ key: "componentDidMount",
169
+ value: function componentDidMount() {
170
+ document.addEventListener('click', this.onDocumentToggle);
171
+ }
172
+ }, {
173
+ key: "componentWillUnmount",
174
+ value: function componentWillUnmount() {
175
+ document.removeEventListener('click', this.onDocumentToggle);
176
+ }
177
+ }, {
178
+ key: "render",
179
+ value: function render() {
180
+ var _this2 = this;
181
+
182
+ var _this$props = this.props,
183
+ collaborators = _this$props.collaborators,
184
+ isReadOnly = _this$props.isReadOnly;
185
+ var _this$state = this.state,
186
+ isPopoverShow = _this$state.isPopoverShow,
187
+ popoverPosition = _this$state.popoverPosition;
188
+ var selectedCollaborators = this.getFormattedCollaborators();
189
+ var enableDeleteCollaborator = !isReadOnly;
190
+ return /*#__PURE__*/React.createElement("div", {
191
+ ref: this.setEditorContainerRef,
192
+ className: "cell-editor dtable-ui-collaborator-editor"
193
+ }, /*#__PURE__*/React.createElement("div", {
194
+ ref: this.setEditorRef,
195
+ className: "dtable-ui-collaborator-editor-container"
196
+ }, /*#__PURE__*/React.createElement(EditEditorButton, {
197
+ text: getLocale('Add_a_collaborator'),
198
+ onClick: this.onAddOptionToggle
199
+ }), /*#__PURE__*/React.createElement("div", {
200
+ className: "collaborators-container"
201
+ }, selectedCollaborators.length > 0 && selectedCollaborators.map(function (collaborator) {
202
+ return /*#__PURE__*/React.createElement(CollaboratorItem, {
203
+ key: collaborator.email,
204
+ collaborator: collaborator,
205
+ enableDeleteCollaborator: enableDeleteCollaborator,
206
+ onDeleteCollaborator: _this2.onDeleteCollaborator
207
+ });
208
+ }))), isPopoverShow && /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(MediaQuery, {
209
+ query: '(min-width: 768px)'
210
+ }, /*#__PURE__*/React.createElement(PCCollaboratorEditorPopover, {
211
+ popoverPosition: popoverPosition,
212
+ isReadOnly: this.props.isReadOnly,
213
+ selectedCollaborators: selectedCollaborators,
214
+ collaborators: collaborators,
215
+ onCollaboratorItemToggle: this.onCollaboratorItemToggle
216
+ })), /*#__PURE__*/React.createElement(MediaQuery, {
217
+ query: '(max-width: 767.8px)'
218
+ }, /*#__PURE__*/React.createElement(MBCollaboratorEditorPopover, {
219
+ isReadOnly: this.props.isReadOnly,
220
+ value: this.state.newValue,
221
+ column: this.props.column,
222
+ collaborators: this.props.collaborators,
223
+ onCollaboratorItemToggle: this.onCollaboratorItemToggle,
224
+ onClosePopover: this.onClosePopover
225
+ }))));
226
+ }
227
+ }]);
228
+
229
+ return CollaboratorEditor;
230
+ }(React.Component);
231
+
232
+ CollaboratorEditor.defaultProps = {
233
+ isReadOnly: false,
234
+ value: []
235
+ };
236
+ export default CollaboratorEditor;
@@ -0,0 +1,151 @@
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, { Fragment } from 'react';
6
+ import MediaQuery from 'react-responsive';
7
+ import moment from 'moment';
8
+ import { getDateDisplayString } from '../../utils/value-format-utils';
9
+ import PCDateEditorPopover from '../cell-editor-popover/pc-date-editor-popover';
10
+ import MBDateEditorPopover from '../cell-editor-popover/mb-date-editor-popover';
11
+
12
+ var DateEditor = /*#__PURE__*/function (_React$Component) {
13
+ _inherits(DateEditor, _React$Component);
14
+
15
+ var _super = _createSuper(DateEditor);
16
+
17
+ function DateEditor(props) {
18
+ var _this;
19
+
20
+ _classCallCheck(this, DateEditor);
21
+
22
+ _this = _super.call(this, props);
23
+
24
+ _this.getDateFormat = function () {
25
+ var column = _this.props.column;
26
+ var defaultDateFormat = 'YYYY-MM-DD';
27
+ var dateFormat = column.data && column.data.format;
28
+ return dateFormat || defaultDateFormat;
29
+ };
30
+
31
+ _this.onDateEditorToggle = function () {
32
+ var isReadOnly = _this.props.isReadOnly;
33
+
34
+ if (isReadOnly) {
35
+ return;
36
+ }
37
+
38
+ _this.setState({
39
+ isPopoverShow: !_this.state.isPopoverShow
40
+ });
41
+ };
42
+
43
+ _this.onValueChanged = function (value) {
44
+ if (value !== _this.state.newValue) {
45
+ _this.setState({
46
+ newValue: value
47
+ });
48
+
49
+ _this.onCommit(value);
50
+ }
51
+ };
52
+
53
+ _this.onCommit = function (newValue) {
54
+ var updated = {};
55
+ var column = _this.props.column;
56
+ updated[column.key] = newValue;
57
+
58
+ _this.props.onCommit(updated);
59
+ };
60
+
61
+ _this.onClosePopover = function () {
62
+ _this.setState({
63
+ isPopoverShow: false
64
+ });
65
+ };
66
+
67
+ _this.state = {
68
+ isDateInit: false,
69
+ newValue: '',
70
+ isPopoverShow: false,
71
+ showHourAndMinute: false,
72
+ defaultCalendarValue: null
73
+ };
74
+ return _this;
75
+ }
76
+
77
+ _createClass(DateEditor, [{
78
+ key: "componentDidMount",
79
+ value: function componentDidMount() {
80
+ var _this$props = this.props,
81
+ value = _this$props.value,
82
+ lang = _this$props.lang;
83
+ moment.locale(lang);
84
+ var dateFormat = this.getDateFormat();
85
+ this.setState({
86
+ isDateInit: true,
87
+ newValue: value,
88
+ dateFormat: dateFormat,
89
+ showHourAndMinute: dateFormat.indexOf('HH:mm') > -1
90
+ });
91
+ }
92
+ }, {
93
+ key: "render",
94
+ value: function render() {
95
+ if (!this.state.isDateInit) {
96
+ return /*#__PURE__*/React.createElement("div", {
97
+ className: "cell-editor date-editor"
98
+ }, /*#__PURE__*/React.createElement("div", {
99
+ className: "date-editor-conteinr"
100
+ }, /*#__PURE__*/React.createElement("div", {
101
+ className: "control-form"
102
+ })));
103
+ }
104
+
105
+ var _this$props2 = this.props,
106
+ lang = _this$props2.lang,
107
+ column = _this$props2.column;
108
+ var _this$state = this.state,
109
+ newValue = _this$state.newValue,
110
+ isPopoverShow = _this$state.isPopoverShow,
111
+ dateFormat = _this$state.dateFormat,
112
+ showHourAndMinute = _this$state.showHourAndMinute;
113
+ return /*#__PURE__*/React.createElement("div", {
114
+ className: "cell-editor dtable-ui-date-editor"
115
+ }, !isPopoverShow && /*#__PURE__*/React.createElement("div", {
116
+ className: "dtable-ui-date-editor-container"
117
+ }, /*#__PURE__*/React.createElement("div", {
118
+ className: "form-control",
119
+ onClick: this.onDateEditorToggle
120
+ }, getDateDisplayString(newValue, dateFormat))), isPopoverShow && /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(MediaQuery, {
121
+ query: '(min-width: 768px)'
122
+ }, /*#__PURE__*/React.createElement(PCDateEditorPopover, {
123
+ lang: lang,
124
+ value: newValue,
125
+ dateFormat: dateFormat,
126
+ showHourAndMinute: showHourAndMinute,
127
+ onValueChanged: this.onValueChanged
128
+ })), /*#__PURE__*/React.createElement(MediaQuery, {
129
+ query: '(max-width: 767.8px)'
130
+ }, /*#__PURE__*/React.createElement(MBDateEditorPopover, {
131
+ isReadOnly: this.props.isReadOnly,
132
+ lang: lang,
133
+ value: newValue,
134
+ dateFormat: dateFormat,
135
+ showHourAndMinute: showHourAndMinute,
136
+ column: column,
137
+ onValueChanged: this.onValueChanged,
138
+ onClosePopover: this.onClosePopover
139
+ }))));
140
+ }
141
+ }]);
142
+
143
+ return DateEditor;
144
+ }(React.Component);
145
+
146
+ DateEditor.defaultProps = {
147
+ isReadOnly: false,
148
+ value: '',
149
+ lang: 'en'
150
+ };
151
+ export default DateEditor;
@@ -0,0 +1,9 @@
1
+ import "../../css/cell-editor.css";
2
+ export { default as NumberEditor } from './number-editor';
3
+ export { default as TextEditor } from './text-editor';
4
+ export { default as CheckboxEditor } from './checkbox-editor';
5
+ export { default as SingleSelectEditor } from './single-select-editor';
6
+ export { default as MultipleSelectEditor } from './multiple-select-editor';
7
+ export { default as CollaboratorEditor } from './collaborator-editor';
8
+ export { default as LinkEditor } from './link-editor';
9
+ export { default as DateEditor } from './date-editor';