dtable-ui-component 5.3.1-beta6 → 5.3.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 (247) hide show
  1. package/lib/CheckboxEditor/index.css +20 -3
  2. package/lib/CheckboxEditor/index.js +35 -98
  3. package/lib/CheckboxFormatter/index.js +9 -6
  4. package/lib/CollaboratorEditor/index.css +35 -12
  5. package/lib/CollaboratorEditor/index.js +212 -18
  6. package/lib/CollaboratorEditor/{mb-collaborator-editor → mb-collaborator-editor-popover}/index.js +29 -26
  7. package/lib/CollaboratorEditor/pc-collaborator-editor-popover/index.js +97 -0
  8. package/lib/CollaboratorItem/index.css +1 -1
  9. package/lib/CollaboratorItem/index.js +2 -6
  10. package/lib/DTableFiltersPopover/utils/index.js +7 -1
  11. package/lib/DTableFiltersPopover/widgets/filter-calendar.js +2 -2
  12. package/lib/DTableGroupSelect/select-option-group.css +17 -17
  13. package/lib/DTableGroupSelect/select-option-group.js +1 -1
  14. package/lib/DTableSelect/index.js +1 -3
  15. package/lib/DateEditor/index.js +51 -14
  16. package/lib/DateEditor/pc-date-editor-popover.js +12 -145
  17. package/lib/Department-editor/department-single-select.js +1 -1
  18. package/lib/Department-editor/index.js +4 -3
  19. package/lib/DepartmentSingleSelectFormatter/index.js +1 -2
  20. package/lib/FileEditor/index.js +11 -258
  21. package/lib/FileEditor/pc-files-addition/index.js +1 -0
  22. package/lib/FileEditor/pc-files-addition/pc-file-uploaded-item.js +1 -0
  23. package/lib/FileEditor/pc-files-preview/index.js +1 -0
  24. package/lib/FileEditor/pc-files-preview/pc-file-item-preview.js +1 -0
  25. package/lib/FileItemFormatter/assets/file/192/excel.png +0 -0
  26. package/lib/FileItemFormatter/assets/file/192/file.png +0 -0
  27. package/lib/FileItemFormatter/assets/file/192/music.png +0 -0
  28. package/lib/FileItemFormatter/assets/file/192/pdf.png +0 -0
  29. package/lib/FileItemFormatter/assets/file/192/pic.png +0 -0
  30. package/lib/FileItemFormatter/assets/file/192/ppt.png +0 -0
  31. package/lib/FileItemFormatter/assets/file/192/txt.png +0 -0
  32. package/lib/FileItemFormatter/assets/file/192/video.png +0 -0
  33. package/lib/FileItemFormatter/assets/file/192/word.png +0 -0
  34. package/lib/FileItemFormatter/assets/file/24/excel.png +0 -0
  35. package/lib/FileItemFormatter/assets/file/24/file.png +0 -0
  36. package/lib/FileItemFormatter/assets/file/24/music.png +0 -0
  37. package/lib/FileItemFormatter/assets/file/24/pdf.png +0 -0
  38. package/lib/FileItemFormatter/assets/file/24/pic.png +0 -0
  39. package/lib/FileItemFormatter/assets/file/24/ppt.png +0 -0
  40. package/lib/FileItemFormatter/assets/file/24/txt.png +0 -0
  41. package/lib/FileItemFormatter/assets/file/24/video.png +0 -0
  42. package/lib/FileItemFormatter/assets/file/24/word.png +0 -0
  43. package/lib/FileItemFormatter/assets/folder/folder-192.png +0 -0
  44. package/lib/FileItemFormatter/assets/folder/folder-24.png +0 -0
  45. package/lib/FileItemFormatter/index.js +20 -19
  46. package/lib/FileItemFormatter/utils.js +99 -0
  47. package/lib/FileUploader/index.js +14 -268
  48. package/lib/FormulaFormatter/index.js +1 -2
  49. package/lib/FormulaFormatter/utils.js +31 -0
  50. package/lib/LinkEditor/pc-link-editor-popover/index.js +1 -1
  51. package/lib/MultipleSelectEditor/index.css +9 -0
  52. package/lib/MultipleSelectEditor/index.js +177 -16
  53. package/lib/NumberEditor/index.js +77 -64
  54. package/lib/{RowExpandFormatter/RowExpandEmailFormatter → RowExpandEmailFormatter}/index.css +1 -1
  55. package/lib/{RowExpandFormatter/RowExpandEmailFormatter → RowExpandEmailFormatter}/index.js +1 -1
  56. package/lib/{RowExpandFormatter/RowExpandFileFormatter → RowExpandFileFormatter}/index.css +6 -6
  57. package/lib/{RowExpandFormatter/RowExpandFileFormatter → RowExpandFileFormatter}/index.js +1 -3
  58. package/lib/{RowExpandFormatter/RowExpandFileFormatter → RowExpandFileFormatter}/row-expand-file-item-formatter.js +11 -10
  59. package/lib/RowExpandFormatter/index.css +1 -27
  60. package/lib/RowExpandFormatter/index.js +100 -83
  61. package/lib/{RowExpandFormatter/RowExpandFormulaFormatter → RowExpandFormulaFormatter}/index.js +10 -11
  62. package/lib/{RowExpandFormatter/RowExpandImageFormatter → RowExpandImageFormatter}/index.css +6 -6
  63. package/lib/{RowExpandFormatter/RowExpandImageFormatter → RowExpandImageFormatter}/index.js +1 -1
  64. package/lib/{RowExpandFormatter/RowExpandImageFormatter → RowExpandImageFormatter}/row-expand-image-item-formatter.js +3 -3
  65. package/lib/{RowExpandFormatter/RowExpandLinkFormatter → RowExpandLinkFormatter}/collaborator-item-formatter.js +1 -1
  66. package/lib/{RowExpandFormatter/RowExpandLinkFormatter → RowExpandLinkFormatter}/index.js +6 -6
  67. package/lib/RowExpandLinkFormatter/utils.js +71 -0
  68. package/lib/{RowExpandFormatter/RowExpandRateFormatter → RowExpandRateFormatter}/index.css +1 -1
  69. package/lib/RowExpandUrlFormatter/index.css +1 -0
  70. package/lib/{RowExpandFormatter/RowExpandUrlFormatter → RowExpandUrlFormatter}/index.js +3 -4
  71. package/lib/SingleSelectEditor/index.css +14 -0
  72. package/lib/SingleSelectEditor/index.js +156 -16
  73. package/lib/TextEditor/index.js +42 -113
  74. package/lib/constants/index.js +2 -34
  75. package/lib/css/cell-editor.css +2 -18
  76. package/lib/index.js +46 -74
  77. package/lib/lang/index.js +16 -19
  78. package/lib/locals/de.js +103 -0
  79. package/lib/locals/en.js +104 -0
  80. package/lib/locals/es.js +103 -0
  81. package/lib/locals/fr.js +103 -0
  82. package/lib/locals/pt.js +103 -0
  83. package/lib/locals/ru.js +103 -0
  84. package/lib/locals/zh-CN.js +104 -0
  85. package/lib/select-editor/index.js +6 -6
  86. package/lib/select-editor/{mb-select-editor → mb-select-editor-popover}/index.js +3 -3
  87. package/lib/select-editor/pc-select-editor-popover/index.css +71 -0
  88. package/lib/select-editor/pc-select-editor-popover/index.js +122 -0
  89. package/lib/utils/editor-utils.js +6 -1
  90. package/lib/utils/url.js +8 -121
  91. package/lib/utils/utils.js +2 -145
  92. package/package.json +2 -3
  93. package/lib/CollaboratorEditor/pc-collaborator-editor/index.js +0 -257
  94. package/lib/Comment/body/comment.js +0 -190
  95. package/lib/Comment/body/index.css +0 -95
  96. package/lib/Comment/body/index.js +0 -32
  97. package/lib/Comment/footer/btns/index.css +0 -40
  98. package/lib/Comment/footer/btns/index.js +0 -113
  99. package/lib/Comment/footer/index.css +0 -157
  100. package/lib/Comment/footer/index.js +0 -170
  101. package/lib/Comment/footer/input/index.css +0 -52
  102. package/lib/Comment/footer/input/index.js +0 -448
  103. package/lib/Comment/footer/input/participant/index.css +0 -0
  104. package/lib/Comment/footer/input/participant/index.js +0 -53
  105. package/lib/Comment/footer/participants/index.css +0 -22
  106. package/lib/Comment/footer/participants/index.js +0 -68
  107. package/lib/Comment/footer/participants/participant/index.css +0 -5
  108. package/lib/Comment/footer/participants/participant/index.js +0 -32
  109. package/lib/Comment/footer/participants/participant-select/index.css +0 -104
  110. package/lib/Comment/footer/participants/participant-select/index.js +0 -182
  111. package/lib/Comment/index.css +0 -19
  112. package/lib/Comment/index.js +0 -305
  113. package/lib/Comment/model.js +0 -25
  114. package/lib/Comment/utils/common.js +0 -62
  115. package/lib/Comment/utils/index.js +0 -27
  116. package/lib/Comment/utils/utilities.js +0 -176
  117. package/lib/DeleteTip/index.js +0 -50
  118. package/lib/DigitalSignEditor/constants.js +0 -7
  119. package/lib/DigitalSignEditor/index.css +0 -69
  120. package/lib/DigitalSignEditor/index.js +0 -182
  121. package/lib/DigitalSignEditor/service.js +0 -38
  122. package/lib/DigitalSignEditor/signature-board/index.css +0 -35
  123. package/lib/DigitalSignEditor/signature-board/index.js +0 -135
  124. package/lib/DigitalSignEditor/signature-board/signature-tool.js +0 -396
  125. package/lib/DigitalSignEditor/utils.js +0 -29
  126. package/lib/DurationEditor/index.js +0 -111
  127. package/lib/EmailEditor/index.js +0 -59
  128. package/lib/FileEditor/addition-previewer/index.css +0 -1
  129. package/lib/FileEditor/addition-previewer/index.js +0 -52
  130. package/lib/FileEditor/addition-previewer/local-file-addition/index.css +0 -1
  131. package/lib/FileEditor/addition-previewer/local-file-addition/index.js +0 -252
  132. package/lib/FileEditor/constants.js +0 -7
  133. package/lib/FileEditor/files-previewer/file-previewer/dropdown-menu.js +0 -74
  134. package/lib/FileEditor/files-previewer/file-previewer/file-name-editor/index.css +0 -5
  135. package/lib/FileEditor/files-previewer/file-previewer/file-name-editor/index.js +0 -77
  136. package/lib/FileEditor/files-previewer/file-previewer/index.css +0 -88
  137. package/lib/FileEditor/files-previewer/file-previewer/index.js +0 -167
  138. package/lib/FileEditor/files-previewer/index.css +0 -56
  139. package/lib/FileEditor/files-previewer/index.js +0 -277
  140. package/lib/FileEditor/index.css +0 -6
  141. package/lib/FileEditor/utils.js +0 -22
  142. package/lib/FileUploader/index.css +0 -9
  143. package/lib/GeolocationEditor/country-editor.js +0 -319
  144. package/lib/GeolocationEditor/index.css +0 -641
  145. package/lib/GeolocationEditor/index.js +0 -241
  146. package/lib/GeolocationEditor/location-editor.js +0 -368
  147. package/lib/GeolocationEditor/map-editor/index.js +0 -456
  148. package/lib/GeolocationEditor/map-editor/large-editor/index.css +0 -137
  149. package/lib/GeolocationEditor/map-editor/large-editor/index.js +0 -461
  150. package/lib/GeolocationEditor/map-editor-utils.js +0 -153
  151. package/lib/GeolocationEditor/map-selection-editor/index.js +0 -455
  152. package/lib/GeolocationEditor/map-selection-editor/large-editor/index.css +0 -1
  153. package/lib/GeolocationEditor/map-selection-editor/large-editor/index.js +0 -447
  154. package/lib/GeolocationEditor/parse-geolocation.js +0 -282
  155. package/lib/GeolocationEditor/province-city-editor.js +0 -292
  156. package/lib/GeolocationEditor/province-editor.js +0 -226
  157. package/lib/GeolocationEditor/selector-header-item.js +0 -28
  158. package/lib/GeolocationEditor/selector-list.js +0 -33
  159. package/lib/GeolocationEditor/with-ref.js +0 -27
  160. package/lib/ImageEditor/addition-previewer/image-link/index.css +0 -45
  161. package/lib/ImageEditor/addition-previewer/image-link/index.js +0 -73
  162. package/lib/ImageEditor/addition-previewer/index.css +0 -106
  163. package/lib/ImageEditor/addition-previewer/index.js +0 -63
  164. package/lib/ImageEditor/addition-previewer/local-image-addition/index.css +0 -125
  165. package/lib/ImageEditor/addition-previewer/local-image-addition/index.js +0 -254
  166. package/lib/ImageEditor/constants.js +0 -7
  167. package/lib/ImageEditor/images-previewer/image-preview/index.css +0 -59
  168. package/lib/ImageEditor/images-previewer/image-preview/index.js +0 -155
  169. package/lib/ImageEditor/images-previewer/index.css +0 -18
  170. package/lib/ImageEditor/images-previewer/index.js +0 -140
  171. package/lib/ImageEditor/index.css +0 -24
  172. package/lib/ImageEditor/index.js +0 -194
  173. package/lib/ImageThumbnail/index.css +0 -20
  174. package/lib/ImageThumbnail/index.js +0 -136
  175. package/lib/RowExpandDialog/body/index.css +0 -21
  176. package/lib/RowExpandDialog/body/index.js +0 -262
  177. package/lib/RowExpandDialog/column-content/index.css +0 -44
  178. package/lib/RowExpandDialog/column-content/index.js +0 -50
  179. package/lib/RowExpandDialog/header/index.css +0 -31
  180. package/lib/RowExpandDialog/header/index.js +0 -55
  181. package/lib/RowExpandDialog/index.css +0 -24
  182. package/lib/RowExpandDialog/index.js +0 -252
  183. package/lib/RowExpandEditor/RowExpandAddBtn/index.css +0 -22
  184. package/lib/RowExpandEditor/RowExpandAddBtn/index.js +0 -24
  185. package/lib/RowExpandEditor/RowExpandCheckboxEditor/index.css +0 -18
  186. package/lib/RowExpandEditor/RowExpandCheckboxEditor/index.js +0 -43
  187. package/lib/RowExpandEditor/RowExpandCollaboratorEditor/index.css +0 -5
  188. package/lib/RowExpandEditor/RowExpandCollaboratorEditor/index.js +0 -232
  189. package/lib/RowExpandEditor/RowExpandDateEditor/index.js +0 -130
  190. package/lib/RowExpandEditor/RowExpandDepartmentEditor/index.js +0 -129
  191. package/lib/RowExpandEditor/RowExpandDigitalSignEditor/index.css +0 -13
  192. package/lib/RowExpandEditor/RowExpandDigitalSignEditor/index.js +0 -208
  193. package/lib/RowExpandEditor/RowExpandDurationEditor/index.js +0 -105
  194. package/lib/RowExpandEditor/RowExpandEmailEditor/index.css +0 -2
  195. package/lib/RowExpandEditor/RowExpandEmailEditor/index.js +0 -125
  196. package/lib/RowExpandEditor/RowExpandFileEditor/index.css +0 -1
  197. package/lib/RowExpandEditor/RowExpandFileEditor/index.js +0 -146
  198. package/lib/RowExpandEditor/RowExpandGeolocationEditor/index.css +0 -17
  199. package/lib/RowExpandEditor/RowExpandGeolocationEditor/index.js +0 -165
  200. package/lib/RowExpandEditor/RowExpandImageEditor/index.css +0 -6
  201. package/lib/RowExpandEditor/RowExpandImageEditor/index.js +0 -170
  202. package/lib/RowExpandEditor/RowExpandLongTextEditor/index.css +0 -6
  203. package/lib/RowExpandEditor/RowExpandLongTextEditor/index.js +0 -123
  204. package/lib/RowExpandEditor/RowExpandMultipleSelectEditor/index.css +0 -44
  205. package/lib/RowExpandEditor/RowExpandMultipleSelectEditor/index.js +0 -224
  206. package/lib/RowExpandEditor/RowExpandNumberEditor/index.js +0 -105
  207. package/lib/RowExpandEditor/RowExpandRateEditor/index.css +0 -13
  208. package/lib/RowExpandEditor/RowExpandRateEditor/index.js +0 -152
  209. package/lib/RowExpandEditor/RowExpandSingleSelectorEditor/index.css +0 -58
  210. package/lib/RowExpandEditor/RowExpandSingleSelectorEditor/index.js +0 -192
  211. package/lib/RowExpandEditor/RowExpandTextEditor/index.css +0 -4
  212. package/lib/RowExpandEditor/RowExpandTextEditor/index.js +0 -127
  213. package/lib/RowExpandEditor/RowExpandUrlEditor/index.css +0 -31
  214. package/lib/RowExpandEditor/RowExpandUrlEditor/index.js +0 -130
  215. package/lib/RowExpandEditor/constants.js +0 -44
  216. package/lib/RowExpandEditor/index.css +0 -0
  217. package/lib/RowExpandEditor/index.js +0 -32
  218. package/lib/RowExpandFormatter/RowExpandDepartmentFormatter/index.js +0 -27
  219. package/lib/RowExpandFormatter/RowExpandUrlFormatter/index.css +0 -1
  220. package/lib/RowExpandFormatter/constants.js +0 -60
  221. package/lib/UploadProgress/index.js +0 -38
  222. package/lib/UrlEditor/index.js +0 -62
  223. package/lib/common/editor-base.js +0 -53
  224. package/lib/constants/file.js +0 -96
  225. package/lib/constants/key-codes.js +0 -109
  226. package/lib/hooks/index.js +0 -16
  227. package/lib/locales/de.json +0 -167
  228. package/lib/locales/en.json +0 -167
  229. package/lib/locales/es.json +0 -167
  230. package/lib/locales/fr.json +0 -167
  231. package/lib/locales/pt.json +0 -167
  232. package/lib/locales/ru.json +0 -167
  233. package/lib/locales/zh-CN.json +0 -167
  234. package/lib/select-editor/pc-select-editor/index.css +0 -85
  235. package/lib/select-editor/pc-select-editor/index.js +0 -290
  236. package/lib/utils/cell-comparer.js +0 -35
  237. package/lib/utils/cell.js +0 -55
  238. package/lib/utils/column-utils.js +0 -25
  239. package/lib/utils/get-event-transfer.js +0 -75
  240. package/lib/utils/hotkey.js +0 -37
  241. package/lib/utils/object-utils.js +0 -61
  242. /package/lib/CollaboratorEditor/{mb-collaborator-editor → mb-collaborator-editor-popover}/index.css +0 -0
  243. /package/lib/CollaboratorEditor/{pc-collaborator-editor → pc-collaborator-editor-popover}/index.css +0 -0
  244. /package/lib/{RowExpandFormatter/RowExpandLinkFormatter → RowExpandLinkFormatter}/index.css +0 -0
  245. /package/lib/{RowExpandFormatter/RowExpandLinkFormatter → RowExpandLinkFormatter}/value-display-utils.js +0 -0
  246. /package/lib/{RowExpandFormatter/RowExpandRateFormatter → RowExpandRateFormatter}/index.js +0 -0
  247. /package/lib/select-editor/{mb-select-editor → mb-select-editor-popover}/index.css +0 -0
@@ -7,9 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
- var _toaster = _interopRequireDefault(require("../../toaster"));
11
- var _editorUtils = require("../../utils/editor-utils");
12
- var _utils = require("../../utils/utils");
10
+ var _toaster = _interopRequireDefault(require("../toaster"));
11
+ var _editorUtils = require("../utils/editor-utils");
13
12
  require("./index.css");
14
13
  class UrlFormatter extends _react.default.Component {
15
14
  constructor() {
@@ -19,7 +18,7 @@ class UrlFormatter extends _react.default.Component {
19
18
  value
20
19
  } = this.props;
21
20
  const url = (0, _editorUtils.getTrimmedString)(value);
22
- const validUrl = (0, _utils.isValidUrl)(url) ? url : "http://".concat(url);
21
+ const validUrl = (0, _editorUtils.isValidUrl)(url) ? url : "http://".concat(url);
23
22
  try {
24
23
  let a = document.createElement('a');
25
24
  document.body.appendChild(a);
@@ -0,0 +1,14 @@
1
+ .dtable-ui-single-select-editor {
2
+ position: relative;
3
+ }
4
+
5
+ .dtable-ui-single-select-option-container {
6
+ height: 40px;
7
+ padding: 10px 5px;
8
+ border-radius: 3px;
9
+ cursor: pointer;
10
+ }
11
+
12
+ .dtable-ui-single-select-option-container:hover {
13
+ background-color: #f5f5f5;
14
+ }
@@ -1,27 +1,167 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
+ var _react = _interopRequireWildcard(require("react"));
9
10
  var _reactResponsive = _interopRequireDefault(require("react-responsive"));
11
+ var _lang = require("../lang");
12
+ var _EditEditorButton = _interopRequireDefault(require("../EditEditorButton"));
10
13
  var _selectEditor = require("../select-editor");
11
- const SingleSelectEditor = _ref => {
12
- let {
13
- value: oldValue,
14
- ...props
15
- } = _ref;
16
- const value = oldValue ? [oldValue] : [];
17
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactResponsive.default, {
18
- query: "(min-width: 768px)"
19
- }, /*#__PURE__*/_react.default.createElement(_selectEditor.PCSelectEditor, Object.assign({}, props, {
20
- value: value
21
- }))), /*#__PURE__*/_react.default.createElement(_reactResponsive.default, {
22
- query: "(max-width: 767.8px)"
23
- }, /*#__PURE__*/_react.default.createElement(_selectEditor.MBSelectEditor, Object.assign({}, props, {
24
- value: value
25
- }))));
14
+ require("./index.css");
15
+ class SingleSelectEditor extends _react.default.Component {
16
+ constructor(props) {
17
+ super(props);
18
+ this.onMouseDown = e => {
19
+ if (this.editorContainer !== e.target && !this.editorContainer.contains(e.target)) {
20
+ this.onClosePopover();
21
+ }
22
+ };
23
+ this.formatOption = () => {
24
+ let {
25
+ newValue
26
+ } = this.state;
27
+ let option = this.options.find(option => option.name === newValue);
28
+ return option;
29
+ };
30
+ this.onAddOptionToggle = event => {
31
+ event.nativeEvent.stopImmediatePropagation();
32
+ event.stopPropagation();
33
+ if (this.props.isReadOnly) {
34
+ return;
35
+ }
36
+ let isPopoverShow = !this.state.isPopoverShow;
37
+ if (isPopoverShow) {
38
+ let popoverPosition = this.caculatePopoverPosition();
39
+ this.setState({
40
+ isPopoverShow,
41
+ popoverPosition
42
+ });
43
+ } else {
44
+ this.setState({
45
+ isPopoverShow
46
+ });
47
+ }
48
+ };
49
+ this.onCommit = newValue => {
50
+ let updated = {};
51
+ let {
52
+ column
53
+ } = this.props;
54
+ updated[column.name] = newValue;
55
+ this.props.onCommit(updated);
56
+ };
57
+ this.onOptionItemToggle = option => {
58
+ let newValue = this.state.newValue === option.name ? '' : option.name;
59
+ this.setState({
60
+ newValue
61
+ }, () => {
62
+ this.onCommit(newValue);
63
+ this.onClosePopover();
64
+ });
65
+ };
66
+ this.caculatePopoverPosition = () => {
67
+ const POPOVER_MAX_HEIGHT = 200;
68
+ let innerHeight = window.innerHeight;
69
+ let {
70
+ top,
71
+ height
72
+ } = this.editor.getClientRects()[0];
73
+ let isBelow = innerHeight - (top + height) > POPOVER_MAX_HEIGHT;
74
+ let position = {
75
+ top: height + 1,
76
+ left: 0
77
+ };
78
+ if (!isBelow) {
79
+ let bottom = height + 1;
80
+ position = {
81
+ bottom: bottom,
82
+ left: 0
83
+ };
84
+ }
85
+ return position;
86
+ };
87
+ this.onAddNewOption = optionName => {
88
+ this.props.onAddNewOption(optionName);
89
+ this.onClosePopover();
90
+ };
91
+ this.onClosePopover = () => {
92
+ this.setState({
93
+ isPopoverShow: false
94
+ });
95
+ };
96
+ this.setEditorContainerRef = editorContainer => {
97
+ this.editorContainer = editorContainer;
98
+ };
99
+ this.setEditorRef = editor => {
100
+ this.editor = editor;
101
+ };
102
+ this.state = {
103
+ newValue: props.value,
104
+ isPopoverShow: false,
105
+ popoverPosition: {}
106
+ };
107
+ let {
108
+ column: _column
109
+ } = this.props;
110
+ this.options = _column.data && (_column.data.options || []);
111
+ }
112
+ componentDidMount() {
113
+ document.addEventListener('mousedown', this.onMouseDown);
114
+ }
115
+ componentWillUnmount() {
116
+ document.removeEventListener('mousedown', this.onMouseDown);
117
+ }
118
+ render() {
119
+ let {
120
+ isPopoverShow,
121
+ popoverPosition
122
+ } = this.state;
123
+ let option = this.formatOption();
124
+ let options = this.options;
125
+ let selectedOptions = option ? [option] : [];
126
+ return /*#__PURE__*/_react.default.createElement("div", {
127
+ ref: this.setEditorContainerRef,
128
+ className: "dtable-ui-single-select-editor"
129
+ }, /*#__PURE__*/_react.default.createElement("div", {
130
+ ref: this.setEditorRef,
131
+ className: option ? '' : 'd-inline-block',
132
+ onClick: this.onAddOptionToggle
133
+ }, option ? /*#__PURE__*/_react.default.createElement("div", {
134
+ className: "dtable-ui-single-select-option-container"
135
+ }, /*#__PURE__*/_react.default.createElement(_selectEditor.SelectEditorOption, {
136
+ option: option
137
+ })) : /*#__PURE__*/_react.default.createElement(_EditEditorButton.default, {
138
+ text: (0, _lang.getLocale)('Add_an_option')
139
+ })), isPopoverShow && /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactResponsive.default, {
140
+ query: "(min-width: 768px)"
141
+ }, /*#__PURE__*/_react.default.createElement(_selectEditor.PCSelectEditorPopover, {
142
+ popoverPosition: popoverPosition,
143
+ options: options,
144
+ selectedOptions: selectedOptions,
145
+ onOptionItemToggle: this.onOptionItemToggle,
146
+ isSupportNewOption: this.props.isSupportNewOption,
147
+ onAddNewOption: this.onAddNewOption
148
+ })), /*#__PURE__*/_react.default.createElement(_reactResponsive.default, {
149
+ query: "(max-width: 767.8px)"
150
+ }, /*#__PURE__*/_react.default.createElement(_selectEditor.MBSelectEditorPopover, {
151
+ isReadOnly: this.props.isReadOnly,
152
+ value: [this.state.newValue],
153
+ column: this.props.column,
154
+ options: options,
155
+ onOptionItemToggle: this.onOptionItemToggle,
156
+ isShowRemoveIcon: true,
157
+ isSupportNewOption: this.props.isSupportNewOption,
158
+ onAddNewOption: this.onAddNewOption,
159
+ onClosePopover: this.onClosePopover
160
+ }))));
161
+ }
162
+ }
163
+ SingleSelectEditor.defaultProps = {
164
+ isReadOnly: false,
165
+ value: ''
26
166
  };
27
167
  var _default = exports.default = SingleSelectEditor;
@@ -1,152 +1,81 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
- var _react = _interopRequireWildcard(require("react"));
10
- var _reactDom = _interopRequireDefault(require("react-dom"));
11
- var _classnames = _interopRequireDefault(require("classnames"));
12
- var _utils = require("../utils/utils");
13
- var _constants = require("../constants");
14
- var _cellComparer = require("../utils/cell-comparer");
15
- class TextEditor extends _react.Component {
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _isHotkey = _interopRequireDefault(require("is-hotkey"));
10
+ var _reactstrap = require("reactstrap");
11
+ class TextEditor extends _react.default.Component {
16
12
  constructor(props) {
17
13
  super(props);
18
- this.getValue = () => {
19
- const {
20
- value
14
+ this.onCommit = () => {
15
+ let updated = {};
16
+ let {
17
+ column
18
+ } = this.props;
19
+ let {
20
+ newValue
21
21
  } = this.state;
22
- const text = (0, _utils.getTrimmedString)(value) || null;
23
- return text;
24
- };
25
- this.updateValue = (value, callback) => {
26
- if (value === this.state.value) {
27
- return;
28
- }
29
- this.setState({
30
- value
31
- }, () => {
32
- callback && callback();
33
- });
34
- };
35
- this.focusInput = () => {
36
- this.input && this.input.focus();
37
- };
38
- this.blurInput = () => {
39
- this.input && this.input.blur();
22
+ updated[column.name] = newValue ? newValue.trim() : '';
23
+ this.props.onCommit(updated);
40
24
  };
41
25
  this.onBlur = () => {
42
- this.props.onCommit();
43
- };
44
- this.onPaste = e => {
45
- e.stopPropagation();
46
- };
47
- this.onCut = e => {
48
- e.stopPropagation();
26
+ this.onCommit();
49
27
  };
50
28
  this.onChange = event => {
51
- event.persist();
52
- const value = event.target.value;
29
+ let value = event.target.value;
53
30
  this.setState({
54
- value
55
- }, () => {
56
- if (this.props.onChange) {
57
- this.props.onChange(event);
58
- }
31
+ newValue: value
59
32
  });
60
33
  };
61
- this.onInputKeyDown = e => {
62
- const {
34
+ this.onKeyDown = event => {
35
+ let {
63
36
  selectionStart,
64
37
  selectionEnd,
65
38
  value
66
- } = e.currentTarget;
67
- if (e.keyCode === _constants.keyCodes.Enter) {
68
- e.preventDefault();
69
- this.onBlur();
70
- if (this.props.selectDownCell) this.props.selectDownCell();
71
- } else if (e.keyCode === _constants.keyCodes.ChineseInputMethod || e.keyCode === _constants.keyCodes.LeftArrow && selectionStart === 0 || e.keyCode === _constants.keyCodes.RightArrow && selectionEnd === value.length) {
72
- e.stopPropagation();
73
- }
74
- if (this.props.onKeyDown) {
75
- this.props.onKeyDown(e);
76
- }
77
- };
78
- this.onClick = event => {
79
- if (this.props.onInputClick) {
80
- this.props.onInputClick(event);
39
+ } = event.currentTarget;
40
+ if ((0, _isHotkey.default)('enter', event)) {
41
+ event.preventDefault();
42
+ event.target.blur();
43
+ } else if (event.keyCode === 37 && selectionStart === 0 || event.keyCode === 39 && selectionEnd === value.length) {
44
+ event.stopPropagation();
81
45
  }
82
46
  };
83
- this.onCompositionStart = event => {
84
- if (this.props.onCompositionStart) {
85
- this.props.onCompositionStart(event);
86
- }
87
- };
88
- this.onCompositionEnd = event => {
89
- if (this.props.onCompositionEnd) {
90
- this.props.onCompositionEnd(event);
91
- }
92
- this.onChange(event);
47
+ this.onPaste = e => {
48
+ e.stopPropagation();
93
49
  };
94
- this.getInputNode = () => {
95
- const domNode = _reactDom.default.findDOMNode(this.input);
96
- if (domNode.tagName === 'INPUT') {
97
- return domNode;
98
- }
99
- return domNode.querySelector('input:not([type=hidden])');
50
+ this.onCut = e => {
51
+ e.stopPropagation();
100
52
  };
101
53
  this.setInputRef = input => {
102
54
  this.input = input;
103
- return this.input;
104
55
  };
105
56
  this.state = {
106
- value: props.value || ''
57
+ newValue: props.value
107
58
  };
108
59
  }
109
- UNSAFE_componentWillReceiveProps(nextProps) {
110
- const {
111
- value: oldValue,
112
- column
113
- } = this.props;
114
- const {
115
- value: newValue
116
- } = nextProps;
117
- if ((0, _cellComparer.isCellValueChanged)(oldValue, newValue, column.type)) {
118
- this.setState({
119
- value: newValue || ''
120
- });
121
- }
122
- }
123
60
  render() {
124
61
  const {
125
- column,
126
- className,
127
- placeholder
62
+ isReadOnly
128
63
  } = this.props;
129
- const {
130
- value
131
- } = this.state;
132
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("input", {
133
- type: "text",
134
- className: (0, _classnames.default)('form-control', className),
64
+ return /*#__PURE__*/_react.default.createElement(_reactstrap.Input, {
135
65
  ref: this.setInputRef,
136
- placeholder: placeholder || '',
66
+ type: "text",
67
+ value: this.state.newValue,
68
+ readOnly: isReadOnly,
69
+ onChange: this.onChange,
70
+ onKeyDown: this.onKeyDown,
137
71
  onBlur: this.onBlur,
138
72
  onCut: this.onCut,
139
- onPaste: this.onPaste,
140
- value: value,
141
- name: column.name,
142
- title: column.name,
143
- "aria-label": column.name,
144
- onChange: this.onChange,
145
- onKeyDown: this.onInputKeyDown,
146
- onClick: this.onClick,
147
- onCompositionStart: this.onCompositionStart,
148
- onCompositionEnd: this.onCompositionEnd
149
- }));
73
+ onPaste: this.onPaste
74
+ });
150
75
  }
151
76
  }
77
+ TextEditor.defaultProps = {
78
+ isReadOnly: false,
79
+ value: ''
80
+ };
152
81
  var _default = exports.default = TextEditor;
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -11,22 +10,15 @@ Object.defineProperty(exports, "CellType", {
11
10
  return _dtableUtils.CellType;
12
11
  }
13
12
  });
14
- exports.FORMAT_REG_EXP_LIST = exports.FILE_EDITOR_STATUS = exports.EVENT_BUS_TYPE = exports.DELETED_OPTION_TIPS = exports.DELETED_OPTION_BACKGROUND_COLOR = exports.DEFAULT_CHECKBOX_MARK_STYLE = exports.DATE_TYPES = void 0;
13
+ exports.EVENT_BUS_TYPE = exports.DATE_TYPES = void 0;
15
14
  Object.defineProperty(exports, "FORMULA_RESULT_TYPE", {
16
15
  enumerable: true,
17
16
  get: function () {
18
17
  return _dtableUtils.FORMULA_RESULT_TYPE;
19
18
  }
20
19
  });
21
- exports.SIMPLE_CELL_FORMULA_RESULTS = exports.SIMPLE_CELL_COLUMNS = exports.ROW_EXPAND_FOCUS_STYLE = exports.ROW_EXPAND_BTN_FOCUS_STYLE = exports.NUMBER_TYPES = exports.LONG_TEXT_LENGTH_LIMIT = exports.LONG_TEXT_EXCEED_LIMIT_SUGGEST = exports.LONG_TEXT_EXCEED_LIMIT_MESSAGE = exports.KeyCodes = void 0;
22
- Object.defineProperty(exports, "keyCodes", {
23
- enumerable: true,
24
- get: function () {
25
- return _keyCodes.default;
26
- }
27
- });
20
+ exports.SIMPLE_CELL_FORMULA_RESULTS = exports.SIMPLE_CELL_COLUMNS = exports.NUMBER_TYPES = void 0;
28
21
  var _dtableUtils = require("dtable-utils");
29
- var _keyCodes = _interopRequireDefault(require("./key-codes"));
30
22
  const NUMBER_TYPES = exports.NUMBER_TYPES = {
31
23
  'NUMBER': 'number',
32
24
  'NUMBER_WITH_COMMAS': 'number-with-commas',
@@ -49,28 +41,4 @@ const ARRAY_FORMAT_COLUMNS = exports.ARRAY_FORMAT_COLUMNS = [_dtableUtils.CellTy
49
41
  const SIMPLE_CELL_FORMULA_RESULTS = exports.SIMPLE_CELL_FORMULA_RESULTS = [_dtableUtils.FORMULA_RESULT_TYPE.NUMBER, _dtableUtils.FORMULA_RESULT_TYPE.STRING, _dtableUtils.FORMULA_RESULT_TYPE.DATE, _dtableUtils.FORMULA_RESULT_TYPE.BOOL];
50
42
  const EVENT_BUS_TYPE = exports.EVENT_BUS_TYPE = {
51
43
  OPEN_SELECT: 'open-select'
52
- };
53
- const DEFAULT_CHECKBOX_MARK_STYLE = exports.DEFAULT_CHECKBOX_MARK_STYLE = {
54
- type: 'check',
55
- color: '#1DDD1D'
56
- };
57
- const ROW_EXPAND_FOCUS_STYLE = exports.ROW_EXPAND_FOCUS_STYLE = {
58
- border: '2px solid #3B88FD'
59
- };
60
- const ROW_EXPAND_BTN_FOCUS_STYLE = exports.ROW_EXPAND_BTN_FOCUS_STYLE = {
61
- border: '2px solid #3B88FD'
62
- };
63
- const FORMAT_REG_EXP_LIST = exports.FORMAT_REG_EXP_LIST = {
64
- 'chinese_id_card': /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
65
- 'chinese_telephone_number': /^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/
66
- };
67
- const DELETED_OPTION_BACKGROUND_COLOR = exports.DELETED_OPTION_BACKGROUND_COLOR = '#eaeaea';
68
- const DELETED_OPTION_TIPS = exports.DELETED_OPTION_TIPS = 'Deleted_option';
69
- const KeyCodes = exports.KeyCodes = _keyCodes.default;
70
- const LONG_TEXT_EXCEED_LIMIT_MESSAGE = exports.LONG_TEXT_EXCEED_LIMIT_MESSAGE = 'Long_text_exceed_limit_message';
71
- const LONG_TEXT_EXCEED_LIMIT_SUGGEST = exports.LONG_TEXT_EXCEED_LIMIT_SUGGEST = 'Long_text_exceed_limit_suggest';
72
- const LONG_TEXT_LENGTH_LIMIT = exports.LONG_TEXT_LENGTH_LIMIT = 10 * 10000;
73
- const FILE_EDITOR_STATUS = exports.FILE_EDITOR_STATUS = {
74
- PREVIEWER: 'previewer',
75
- ADDITION: 'addition'
76
44
  };
@@ -1,23 +1,7 @@
1
- .dtable-ui-editor-container {
1
+ .dtable-ui-editor-popover {
2
2
  width: 300px;
3
+ max-width: 100%;
3
4
  box-shadow: 0 0 5px #ccc;
4
5
  background-color: #fff;
5
6
  z-index: 10;
6
7
  }
7
-
8
- .dtable-ui.collaborator-item.dtable-ui-unknown-collaborator .collaborator-avatar {
9
- display: none;
10
- }
11
-
12
- .dtable-ui.collaborator-item.dtable-ui-unknown-collaborator {
13
- padding-left: 8px;
14
- }
15
-
16
-
17
- .dtable-ui-editor-container .dtable-ui-editor-no-search-result {
18
- color: #666666;
19
- font-size: 14px;
20
- padding-left: 10px;
21
- padding: 10px;
22
- overflow: auto;
23
- }