dtable-ui-component 5.3.1-beta6 → 5.3.2-alpha1

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 (248) 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/DTableCustomizeSelect/index.css +1 -1
  11. package/lib/DTableFiltersPopover/utils/index.js +7 -1
  12. package/lib/DTableFiltersPopover/widgets/filter-calendar.js +2 -2
  13. package/lib/DTableGroupSelect/select-option-group.css +17 -17
  14. package/lib/DTableGroupSelect/select-option-group.js +1 -1
  15. package/lib/DTableSelect/index.js +1 -3
  16. package/lib/DateEditor/index.js +51 -14
  17. package/lib/DateEditor/pc-date-editor-popover.js +12 -145
  18. package/lib/Department-editor/department-single-select.js +1 -1
  19. package/lib/Department-editor/index.js +4 -3
  20. package/lib/DepartmentSingleSelectFormatter/index.js +1 -2
  21. package/lib/FileEditor/index.js +11 -258
  22. package/lib/FileEditor/pc-files-addition/index.js +1 -0
  23. package/lib/FileEditor/pc-files-addition/pc-file-uploaded-item.js +1 -0
  24. package/lib/FileEditor/pc-files-preview/index.js +1 -0
  25. package/lib/FileEditor/pc-files-preview/pc-file-item-preview.js +1 -0
  26. package/lib/FileItemFormatter/assets/file/192/excel.png +0 -0
  27. package/lib/FileItemFormatter/assets/file/192/file.png +0 -0
  28. package/lib/FileItemFormatter/assets/file/192/music.png +0 -0
  29. package/lib/FileItemFormatter/assets/file/192/pdf.png +0 -0
  30. package/lib/FileItemFormatter/assets/file/192/pic.png +0 -0
  31. package/lib/FileItemFormatter/assets/file/192/ppt.png +0 -0
  32. package/lib/FileItemFormatter/assets/file/192/txt.png +0 -0
  33. package/lib/FileItemFormatter/assets/file/192/video.png +0 -0
  34. package/lib/FileItemFormatter/assets/file/192/word.png +0 -0
  35. package/lib/FileItemFormatter/assets/file/24/excel.png +0 -0
  36. package/lib/FileItemFormatter/assets/file/24/file.png +0 -0
  37. package/lib/FileItemFormatter/assets/file/24/music.png +0 -0
  38. package/lib/FileItemFormatter/assets/file/24/pdf.png +0 -0
  39. package/lib/FileItemFormatter/assets/file/24/pic.png +0 -0
  40. package/lib/FileItemFormatter/assets/file/24/ppt.png +0 -0
  41. package/lib/FileItemFormatter/assets/file/24/txt.png +0 -0
  42. package/lib/FileItemFormatter/assets/file/24/video.png +0 -0
  43. package/lib/FileItemFormatter/assets/file/24/word.png +0 -0
  44. package/lib/FileItemFormatter/assets/folder/folder-192.png +0 -0
  45. package/lib/FileItemFormatter/assets/folder/folder-24.png +0 -0
  46. package/lib/FileItemFormatter/index.js +20 -19
  47. package/lib/FileItemFormatter/utils.js +99 -0
  48. package/lib/FileUploader/index.js +14 -268
  49. package/lib/FormulaFormatter/index.js +1 -2
  50. package/lib/FormulaFormatter/utils.js +31 -0
  51. package/lib/LinkEditor/pc-link-editor-popover/index.js +1 -1
  52. package/lib/MultipleSelectEditor/index.css +9 -0
  53. package/lib/MultipleSelectEditor/index.js +177 -16
  54. package/lib/NumberEditor/index.js +77 -64
  55. package/lib/{RowExpandFormatter/RowExpandEmailFormatter → RowExpandEmailFormatter}/index.css +1 -1
  56. package/lib/{RowExpandFormatter/RowExpandEmailFormatter → RowExpandEmailFormatter}/index.js +1 -1
  57. package/lib/{RowExpandFormatter/RowExpandFileFormatter → RowExpandFileFormatter}/index.css +6 -6
  58. package/lib/{RowExpandFormatter/RowExpandFileFormatter → RowExpandFileFormatter}/index.js +1 -3
  59. package/lib/{RowExpandFormatter/RowExpandFileFormatter → RowExpandFileFormatter}/row-expand-file-item-formatter.js +11 -10
  60. package/lib/RowExpandFormatter/index.css +1 -27
  61. package/lib/RowExpandFormatter/index.js +100 -83
  62. package/lib/{RowExpandFormatter/RowExpandFormulaFormatter → RowExpandFormulaFormatter}/index.js +10 -11
  63. package/lib/{RowExpandFormatter/RowExpandImageFormatter → RowExpandImageFormatter}/index.css +6 -6
  64. package/lib/{RowExpandFormatter/RowExpandImageFormatter → RowExpandImageFormatter}/index.js +1 -1
  65. package/lib/{RowExpandFormatter/RowExpandImageFormatter → RowExpandImageFormatter}/row-expand-image-item-formatter.js +3 -3
  66. package/lib/{RowExpandFormatter/RowExpandLinkFormatter → RowExpandLinkFormatter}/collaborator-item-formatter.js +1 -1
  67. package/lib/{RowExpandFormatter/RowExpandLinkFormatter → RowExpandLinkFormatter}/index.js +6 -6
  68. package/lib/RowExpandLinkFormatter/utils.js +71 -0
  69. package/lib/{RowExpandFormatter/RowExpandRateFormatter → RowExpandRateFormatter}/index.css +1 -1
  70. package/lib/RowExpandUrlFormatter/index.css +1 -0
  71. package/lib/{RowExpandFormatter/RowExpandUrlFormatter → RowExpandUrlFormatter}/index.js +3 -4
  72. package/lib/SingleSelectEditor/index.css +14 -0
  73. package/lib/SingleSelectEditor/index.js +156 -16
  74. package/lib/TextEditor/index.js +42 -113
  75. package/lib/constants/index.js +2 -34
  76. package/lib/css/cell-editor.css +2 -18
  77. package/lib/index.js +46 -74
  78. package/lib/lang/index.js +16 -19
  79. package/lib/locals/de.js +103 -0
  80. package/lib/locals/en.js +104 -0
  81. package/lib/locals/es.js +103 -0
  82. package/lib/locals/fr.js +103 -0
  83. package/lib/locals/pt.js +103 -0
  84. package/lib/locals/ru.js +103 -0
  85. package/lib/locals/zh-CN.js +104 -0
  86. package/lib/select-editor/index.js +6 -6
  87. package/lib/select-editor/{mb-select-editor → mb-select-editor-popover}/index.js +3 -3
  88. package/lib/select-editor/pc-select-editor-popover/index.css +71 -0
  89. package/lib/select-editor/pc-select-editor-popover/index.js +122 -0
  90. package/lib/utils/editor-utils.js +6 -1
  91. package/lib/utils/url.js +8 -121
  92. package/lib/utils/utils.js +2 -145
  93. package/package.json +2 -3
  94. package/lib/CollaboratorEditor/pc-collaborator-editor/index.js +0 -257
  95. package/lib/Comment/body/comment.js +0 -190
  96. package/lib/Comment/body/index.css +0 -95
  97. package/lib/Comment/body/index.js +0 -32
  98. package/lib/Comment/footer/btns/index.css +0 -40
  99. package/lib/Comment/footer/btns/index.js +0 -113
  100. package/lib/Comment/footer/index.css +0 -157
  101. package/lib/Comment/footer/index.js +0 -170
  102. package/lib/Comment/footer/input/index.css +0 -52
  103. package/lib/Comment/footer/input/index.js +0 -448
  104. package/lib/Comment/footer/input/participant/index.css +0 -0
  105. package/lib/Comment/footer/input/participant/index.js +0 -53
  106. package/lib/Comment/footer/participants/index.css +0 -22
  107. package/lib/Comment/footer/participants/index.js +0 -68
  108. package/lib/Comment/footer/participants/participant/index.css +0 -5
  109. package/lib/Comment/footer/participants/participant/index.js +0 -32
  110. package/lib/Comment/footer/participants/participant-select/index.css +0 -104
  111. package/lib/Comment/footer/participants/participant-select/index.js +0 -182
  112. package/lib/Comment/index.css +0 -19
  113. package/lib/Comment/index.js +0 -305
  114. package/lib/Comment/model.js +0 -25
  115. package/lib/Comment/utils/common.js +0 -62
  116. package/lib/Comment/utils/index.js +0 -27
  117. package/lib/Comment/utils/utilities.js +0 -176
  118. package/lib/DeleteTip/index.js +0 -50
  119. package/lib/DigitalSignEditor/constants.js +0 -7
  120. package/lib/DigitalSignEditor/index.css +0 -69
  121. package/lib/DigitalSignEditor/index.js +0 -182
  122. package/lib/DigitalSignEditor/service.js +0 -38
  123. package/lib/DigitalSignEditor/signature-board/index.css +0 -35
  124. package/lib/DigitalSignEditor/signature-board/index.js +0 -135
  125. package/lib/DigitalSignEditor/signature-board/signature-tool.js +0 -396
  126. package/lib/DigitalSignEditor/utils.js +0 -29
  127. package/lib/DurationEditor/index.js +0 -111
  128. package/lib/EmailEditor/index.js +0 -59
  129. package/lib/FileEditor/addition-previewer/index.css +0 -1
  130. package/lib/FileEditor/addition-previewer/index.js +0 -52
  131. package/lib/FileEditor/addition-previewer/local-file-addition/index.css +0 -1
  132. package/lib/FileEditor/addition-previewer/local-file-addition/index.js +0 -252
  133. package/lib/FileEditor/constants.js +0 -7
  134. package/lib/FileEditor/files-previewer/file-previewer/dropdown-menu.js +0 -74
  135. package/lib/FileEditor/files-previewer/file-previewer/file-name-editor/index.css +0 -5
  136. package/lib/FileEditor/files-previewer/file-previewer/file-name-editor/index.js +0 -77
  137. package/lib/FileEditor/files-previewer/file-previewer/index.css +0 -88
  138. package/lib/FileEditor/files-previewer/file-previewer/index.js +0 -167
  139. package/lib/FileEditor/files-previewer/index.css +0 -56
  140. package/lib/FileEditor/files-previewer/index.js +0 -277
  141. package/lib/FileEditor/index.css +0 -6
  142. package/lib/FileEditor/utils.js +0 -22
  143. package/lib/FileUploader/index.css +0 -9
  144. package/lib/GeolocationEditor/country-editor.js +0 -319
  145. package/lib/GeolocationEditor/index.css +0 -641
  146. package/lib/GeolocationEditor/index.js +0 -241
  147. package/lib/GeolocationEditor/location-editor.js +0 -368
  148. package/lib/GeolocationEditor/map-editor/index.js +0 -456
  149. package/lib/GeolocationEditor/map-editor/large-editor/index.css +0 -137
  150. package/lib/GeolocationEditor/map-editor/large-editor/index.js +0 -461
  151. package/lib/GeolocationEditor/map-editor-utils.js +0 -153
  152. package/lib/GeolocationEditor/map-selection-editor/index.js +0 -455
  153. package/lib/GeolocationEditor/map-selection-editor/large-editor/index.css +0 -1
  154. package/lib/GeolocationEditor/map-selection-editor/large-editor/index.js +0 -447
  155. package/lib/GeolocationEditor/parse-geolocation.js +0 -282
  156. package/lib/GeolocationEditor/province-city-editor.js +0 -292
  157. package/lib/GeolocationEditor/province-editor.js +0 -226
  158. package/lib/GeolocationEditor/selector-header-item.js +0 -28
  159. package/lib/GeolocationEditor/selector-list.js +0 -33
  160. package/lib/GeolocationEditor/with-ref.js +0 -27
  161. package/lib/ImageEditor/addition-previewer/image-link/index.css +0 -45
  162. package/lib/ImageEditor/addition-previewer/image-link/index.js +0 -73
  163. package/lib/ImageEditor/addition-previewer/index.css +0 -106
  164. package/lib/ImageEditor/addition-previewer/index.js +0 -63
  165. package/lib/ImageEditor/addition-previewer/local-image-addition/index.css +0 -125
  166. package/lib/ImageEditor/addition-previewer/local-image-addition/index.js +0 -254
  167. package/lib/ImageEditor/constants.js +0 -7
  168. package/lib/ImageEditor/images-previewer/image-preview/index.css +0 -59
  169. package/lib/ImageEditor/images-previewer/image-preview/index.js +0 -155
  170. package/lib/ImageEditor/images-previewer/index.css +0 -18
  171. package/lib/ImageEditor/images-previewer/index.js +0 -140
  172. package/lib/ImageEditor/index.css +0 -24
  173. package/lib/ImageEditor/index.js +0 -194
  174. package/lib/ImageThumbnail/index.css +0 -20
  175. package/lib/ImageThumbnail/index.js +0 -136
  176. package/lib/RowExpandDialog/body/index.css +0 -21
  177. package/lib/RowExpandDialog/body/index.js +0 -262
  178. package/lib/RowExpandDialog/column-content/index.css +0 -44
  179. package/lib/RowExpandDialog/column-content/index.js +0 -50
  180. package/lib/RowExpandDialog/header/index.css +0 -31
  181. package/lib/RowExpandDialog/header/index.js +0 -55
  182. package/lib/RowExpandDialog/index.css +0 -24
  183. package/lib/RowExpandDialog/index.js +0 -252
  184. package/lib/RowExpandEditor/RowExpandAddBtn/index.css +0 -22
  185. package/lib/RowExpandEditor/RowExpandAddBtn/index.js +0 -24
  186. package/lib/RowExpandEditor/RowExpandCheckboxEditor/index.css +0 -18
  187. package/lib/RowExpandEditor/RowExpandCheckboxEditor/index.js +0 -43
  188. package/lib/RowExpandEditor/RowExpandCollaboratorEditor/index.css +0 -5
  189. package/lib/RowExpandEditor/RowExpandCollaboratorEditor/index.js +0 -232
  190. package/lib/RowExpandEditor/RowExpandDateEditor/index.js +0 -130
  191. package/lib/RowExpandEditor/RowExpandDepartmentEditor/index.js +0 -129
  192. package/lib/RowExpandEditor/RowExpandDigitalSignEditor/index.css +0 -13
  193. package/lib/RowExpandEditor/RowExpandDigitalSignEditor/index.js +0 -208
  194. package/lib/RowExpandEditor/RowExpandDurationEditor/index.js +0 -105
  195. package/lib/RowExpandEditor/RowExpandEmailEditor/index.css +0 -2
  196. package/lib/RowExpandEditor/RowExpandEmailEditor/index.js +0 -125
  197. package/lib/RowExpandEditor/RowExpandFileEditor/index.css +0 -1
  198. package/lib/RowExpandEditor/RowExpandFileEditor/index.js +0 -146
  199. package/lib/RowExpandEditor/RowExpandGeolocationEditor/index.css +0 -17
  200. package/lib/RowExpandEditor/RowExpandGeolocationEditor/index.js +0 -165
  201. package/lib/RowExpandEditor/RowExpandImageEditor/index.css +0 -6
  202. package/lib/RowExpandEditor/RowExpandImageEditor/index.js +0 -170
  203. package/lib/RowExpandEditor/RowExpandLongTextEditor/index.css +0 -6
  204. package/lib/RowExpandEditor/RowExpandLongTextEditor/index.js +0 -123
  205. package/lib/RowExpandEditor/RowExpandMultipleSelectEditor/index.css +0 -44
  206. package/lib/RowExpandEditor/RowExpandMultipleSelectEditor/index.js +0 -224
  207. package/lib/RowExpandEditor/RowExpandNumberEditor/index.js +0 -105
  208. package/lib/RowExpandEditor/RowExpandRateEditor/index.css +0 -13
  209. package/lib/RowExpandEditor/RowExpandRateEditor/index.js +0 -152
  210. package/lib/RowExpandEditor/RowExpandSingleSelectorEditor/index.css +0 -58
  211. package/lib/RowExpandEditor/RowExpandSingleSelectorEditor/index.js +0 -192
  212. package/lib/RowExpandEditor/RowExpandTextEditor/index.css +0 -4
  213. package/lib/RowExpandEditor/RowExpandTextEditor/index.js +0 -127
  214. package/lib/RowExpandEditor/RowExpandUrlEditor/index.css +0 -31
  215. package/lib/RowExpandEditor/RowExpandUrlEditor/index.js +0 -130
  216. package/lib/RowExpandEditor/constants.js +0 -44
  217. package/lib/RowExpandEditor/index.css +0 -0
  218. package/lib/RowExpandEditor/index.js +0 -32
  219. package/lib/RowExpandFormatter/RowExpandDepartmentFormatter/index.js +0 -27
  220. package/lib/RowExpandFormatter/RowExpandUrlFormatter/index.css +0 -1
  221. package/lib/RowExpandFormatter/constants.js +0 -60
  222. package/lib/UploadProgress/index.js +0 -38
  223. package/lib/UrlEditor/index.js +0 -62
  224. package/lib/common/editor-base.js +0 -53
  225. package/lib/constants/file.js +0 -96
  226. package/lib/constants/key-codes.js +0 -109
  227. package/lib/hooks/index.js +0 -16
  228. package/lib/locales/de.json +0 -167
  229. package/lib/locales/en.json +0 -167
  230. package/lib/locales/es.json +0 -167
  231. package/lib/locales/fr.json +0 -167
  232. package/lib/locales/pt.json +0 -167
  233. package/lib/locales/ru.json +0 -167
  234. package/lib/locales/zh-CN.json +0 -167
  235. package/lib/select-editor/pc-select-editor/index.css +0 -85
  236. package/lib/select-editor/pc-select-editor/index.js +0 -290
  237. package/lib/utils/cell-comparer.js +0 -35
  238. package/lib/utils/cell.js +0 -55
  239. package/lib/utils/column-utils.js +0 -25
  240. package/lib/utils/get-event-transfer.js +0 -75
  241. package/lib/utils/hotkey.js +0 -37
  242. package/lib/utils/object-utils.js +0 -61
  243. /package/lib/CollaboratorEditor/{mb-collaborator-editor → mb-collaborator-editor-popover}/index.css +0 -0
  244. /package/lib/CollaboratorEditor/{pc-collaborator-editor → pc-collaborator-editor-popover}/index.css +0 -0
  245. /package/lib/{RowExpandFormatter/RowExpandLinkFormatter → RowExpandLinkFormatter}/index.css +0 -0
  246. /package/lib/{RowExpandFormatter/RowExpandLinkFormatter → RowExpandLinkFormatter}/value-display-utils.js +0 -0
  247. /package/lib/{RowExpandFormatter/RowExpandRateFormatter → RowExpandRateFormatter}/index.js +0 -0
  248. /package/lib/select-editor/{mb-select-editor → mb-select-editor-popover}/index.css +0 -0
@@ -1,58 +0,0 @@
1
- .dtable-ui-row-expand-select-editor {
2
- display: flex;
3
- padding: 0 10px;
4
- border-radius: 3px;
5
- align-items: center;
6
- justify-content: space-between;
7
- user-select: none;
8
- text-align: left;
9
- position: relative;
10
- cursor: pointer;
11
- height: fit-content;
12
- min-height: 2.375rem;
13
- }
14
-
15
- .dtable-ui-row-expand-select-editor.focus {
16
- border-color: #1991eb !important;
17
- box-shadow: 0 0 0 2px rgba(70, 127, 207, 0.25);
18
- }
19
-
20
- .dtable-ui-row-expand-select-editor .dtable-ui-row-expand-select-editor-inner {
21
- display: flex;
22
- flex: 1 1;
23
- overflow: hidden;
24
- flex-wrap: nowrap;
25
- align-items: center;
26
- justify-content: space-between;
27
- }
28
-
29
- .dtable-ui-row-expand-select-editor .dtable-ui-row-expand-select-editor-inner .dtable-icon-down3 {
30
- display: inline-block;
31
- font-size: 12px;
32
- color: #999;
33
- transform: scale(0.8) translateY(2px);
34
- transition: all 0.1s;
35
- }
36
-
37
- .dtable-ui-row-expand-select-editor .dtable-ui-row-expand-select-editor-inner .dtable-ui-select-option {
38
- border-radius: 10px;
39
- font-size: 13px;
40
- line-height: 20px;
41
- margin: 6px 0;
42
- max-width: 250px;
43
- overflow: hidden;
44
- padding: 0 10px;
45
- text-align: center;
46
- text-overflow: ellipsis;
47
- white-space: nowrap;
48
- width: -webkit-min-content;
49
- width: min-content;
50
- }
51
-
52
- .dtable-ui-row-expand-select-editor-popover .dtable-ui-editor-container {
53
- height: fit-content;
54
- overflow: hidden;
55
- position: absolute;
56
- z-index: 1000;
57
- width: 320px;
58
- }
@@ -1,192 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _dtableUtils = require("dtable-utils");
10
- var _constants = require("../../constants");
11
- var _classnames = _interopRequireDefault(require("classnames"));
12
- var _SingleSelectEditor = _interopRequireDefault(require("../../SingleSelectEditor"));
13
- var _lang = require("../../lang");
14
- require("./index.css");
15
- class RowExpandSingleSelectEditor extends _react.default.Component {
16
- constructor(_props) {
17
- super(_props);
18
- this.getOptions = props => {
19
- const {
20
- column,
21
- row,
22
- columns
23
- } = props;
24
- const options = (0, _dtableUtils.getColumnOptions)(column);
25
- const {
26
- data
27
- } = column;
28
- const {
29
- cascade_column_key,
30
- cascade_settings
31
- } = data || {};
32
- if (cascade_column_key && Array.isArray(columns)) {
33
- const cascadeColumn = columns.find(c => c.key === cascade_column_key);
34
- if (cascadeColumn) {
35
- const cascadeColumnValue = row[cascade_column_key];
36
- if (!cascadeColumnValue) return [];
37
- const cascadeSetting = cascade_settings[cascadeColumnValue];
38
- if (!cascadeSetting || !Array.isArray(cascadeSetting) || cascadeSetting.length === 0) return [];
39
- return options.filter(option => cascadeSetting.includes(option.id));
40
- }
41
- }
42
- return options;
43
- };
44
- this.onKeyDown = e => {
45
- if (e.keyCode === _constants.KeyCodes.Enter && this.props.isEditorFocus && !this.state.showSelectPopover) {
46
- this.setState({
47
- showSelectPopover: true
48
- });
49
- }
50
- };
51
- this.toggleSingleSelect = value => {
52
- this.setState({
53
- showSelectPopover: value
54
- }, () => {
55
- var _this$selectRef;
56
- if (value) return;
57
- // eslint-disable-next-line no-unused-expressions
58
- (_this$selectRef = this.selectRef) === null || _this$selectRef === void 0 ? void 0 : _this$selectRef.focus();
59
- });
60
- };
61
- this.closeEditor = () => {
62
- this.toggleSingleSelect(false);
63
- };
64
- this.hideDropDownMenu = event => {
65
- if (!event.target || event.target.tagName.toUpperCase() === 'INPUT') return;
66
- if (!this.singleSelectContainer.contains(event.target) && this.state.showSelectPopover) {
67
- const singleSelectEditor = document.getElementsByClassName('dtable-ui-select-editor-container')[0];
68
- if (singleSelectEditor && singleSelectEditor.contains(event.target)) return;
69
- this.toggleSingleSelect(false);
70
- }
71
- };
72
- this.onToggleSelect = e => {
73
- e.preventDefault();
74
- e.stopPropagation();
75
- this.props.updateTabIndex(this.props.columnIndex);
76
- if (this.props.readOnly) return;
77
- this.toggleSingleSelect(true);
78
- };
79
- this.onFocus = () => {
80
- this.props.updateTabIndex(this.props.columnIndex);
81
- };
82
- this.onChange = option => {
83
- let newValue = option[this.key];
84
- if (this.state.value === newValue) newValue = null;
85
- this.setState({
86
- value: newValue
87
- });
88
- this.props.onCommit(newValue);
89
- };
90
- this.renderOption = () => {
91
- const {
92
- isEditorFocus
93
- } = this.props;
94
- const {
95
- value
96
- } = this.state;
97
- const option = this.options.find(o => o[this.key] === value);
98
- const optionStyle = option ? {
99
- backgroundColor: option.color,
100
- color: option.textColor || null
101
- } : {
102
- backgroundColor: _constants.DELETED_OPTION_BACKGROUND_COLOR
103
- };
104
- const optionName = option ? option.name : (0, _lang.getLocale)(_constants.DELETED_OPTION_TIPS);
105
- return /*#__PURE__*/_react.default.createElement("div", {
106
- tabIndex: 0,
107
- onFocus: this.onFocus,
108
- onClick: this.onToggleSelect,
109
- ref: ref => this.selectRef = ref,
110
- className: (0, _classnames.default)('dtable-ui-row-expand-select-editor custom-select', {
111
- 'focus': isEditorFocus
112
- })
113
- }, /*#__PURE__*/_react.default.createElement("div", {
114
- className: "dtable-ui-row-expand-select-editor-inner"
115
- }, /*#__PURE__*/_react.default.createElement("div", null, value && /*#__PURE__*/_react.default.createElement("div", {
116
- className: "dtable-ui-select-option",
117
- style: optionStyle,
118
- title: optionName
119
- }, optionName)), /*#__PURE__*/_react.default.createElement("i", {
120
- "aria-hidden": "true",
121
- className: "dtable-font dtable-icon-down3"
122
- })));
123
- };
124
- this.state = {
125
- value: _props.value,
126
- showSelectPopover: false
127
- };
128
- this.key = _props.valueKey === 'name' ? 'name' : 'id';
129
- this.options = this.getOptions(_props);
130
- this.selectRef = null;
131
- this.outerRef = null;
132
- }
133
- componentDidMount() {
134
- document.addEventListener('mousedown', this.hideDropDownMenu);
135
- document.addEventListener('keydown', this.onKeyDown);
136
- }
137
- UNSAFE_componentWillReceiveProps(nextProps) {
138
- const {
139
- value
140
- } = nextProps;
141
- if (value !== this.props.value) {
142
- this.options = this.getOptions(nextProps);
143
- this.setState({
144
- value,
145
- showSelectPopover: false
146
- });
147
- }
148
- }
149
- componentDidUpdate(prevProps, prevState) {
150
- if (this.state.showSelectPopover !== prevState.showSelectPopover) {
151
- if (this.state.showSelectPopover === true && this.props.onEditorOpen) {
152
- this.props.onEditorOpen();
153
- }
154
- if (this.state.showSelectPopover === false && this.props.onEditorClose) {
155
- this.props.onEditorClose();
156
- }
157
- }
158
- }
159
- componentWillUnmount() {
160
- document.removeEventListener('mousedown', this.hideDropDownMenu);
161
- document.removeEventListener('keydown', this.onKeyDown);
162
- }
163
- render() {
164
- const {
165
- isSupportNewOption,
166
- onAddNewOption,
167
- column
168
- } = this.props;
169
- const {
170
- showSelectPopover,
171
- value
172
- } = this.state;
173
- return /*#__PURE__*/_react.default.createElement("div", {
174
- className: "position-relative w-100",
175
- ref: ref => this.singleSelectContainer = ref
176
- }, this.renderOption(), /*#__PURE__*/_react.default.createElement("span", {
177
- ref: ref => this.targetRef = ref
178
- }), showSelectPopover && /*#__PURE__*/_react.default.createElement(_SingleSelectEditor.default, {
179
- isInModal: true,
180
- options: this.options,
181
- column: column,
182
- value: value,
183
- valueKey: this.key,
184
- target: this.targetRef,
185
- onCommit: this.onChange,
186
- isSupportNewOption: isSupportNewOption,
187
- onAddNewOption: onAddNewOption,
188
- onClose: this.closeEditor
189
- }));
190
- }
191
- }
192
- var _default = exports.default = RowExpandSingleSelectEditor;
@@ -1,4 +0,0 @@
1
- .dtable-ui-row-expand-simple-text-editor-container {
2
- width: 100%;
3
- }
4
-
@@ -1,127 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _reactstrap = require("reactstrap");
10
- var _TextEditor = _interopRequireDefault(require("../../TextEditor"));
11
- var _columnUtils = require("../../utils/column-utils");
12
- var _cell = require("../../utils/cell");
13
- var _constants = require("../../constants");
14
- var _lang = require("../../lang");
15
- require("./index.css");
16
- class RowExpandSimpleText extends _react.default.Component {
17
- constructor(props) {
18
- super(props);
19
- this.setEditorRef = ref => {
20
- // 'checkingField' is required if want to check current field
21
- if (this.props.isRequired && (0, _columnUtils.isEnableCheckFormat)(this.props.column)) {
22
- this.checkingField = ref;
23
- }
24
- };
25
- this.focusInput = () => {
26
- // use setTimeout to make sure real DOM is rendered, avoiding flush updates when React is already rendering
27
- setTimeout(() => {
28
- this.editor && this.editor.focusInput();
29
- }, 1);
30
- };
31
- this.blurInput = () => {
32
- setTimeout(() => {
33
- this.editor && this.editor.blurInput();
34
- }, 1);
35
- };
36
- this.onCommit = () => {
37
- const {
38
- isRequired,
39
- column
40
- } = this.props;
41
- const value = this.editor.getValue();
42
- if (isRequired && (0, _columnUtils.isEnableCheckFormat)(column)) {
43
- this.checked = true;
44
- this.checkField();
45
- }
46
- this.props.onCommit(value);
47
- };
48
- this.checkField = () => {
49
- const {
50
- column
51
- } = this.props;
52
- const text = this.editor.getValue();
53
- this.validValue = (0, _cell.checkValueConformityFormat)(column.data, text);
54
- this.setState({
55
- inconformityFormat: !this.validValue
56
- });
57
- return this.validValue;
58
- };
59
- this.onKeyDown = event => {
60
- if (event.keyCode === _constants.keyCodes.Esc) {
61
- event.preventDefault();
62
- this.blurInput();
63
- }
64
- };
65
- this.isChecked = () => {
66
- return this.checked;
67
- };
68
- this.isValidValue = () => {
69
- return this.validValue;
70
- };
71
- this.onInputClick = () => {
72
- if (this.props.updateTabIndex) {
73
- this.props.updateTabIndex(this.props.columnIndex);
74
- }
75
- };
76
- this.state = {
77
- inconformityFormat: false
78
- };
79
-
80
- // for format check
81
- this.checked = false;
82
- this.validValue = true;
83
- this.checkingField = null;
84
- }
85
- componentDidMount() {
86
- const {
87
- isEditorFocus
88
- } = this.props;
89
- if (isEditorFocus) {
90
- this.focusInput();
91
- }
92
- }
93
- UNSAFE_componentWillReceiveProps(nextProps) {
94
- const {
95
- isEditorFocus
96
- } = nextProps;
97
- if (isEditorFocus && !this.props.isEditorFocus) {
98
- this.focusInput();
99
- } else if (!isEditorFocus && this.props.isEditorFocus) {
100
- this.blurInput();
101
- }
102
- }
103
- render() {
104
- const {
105
- readOnly,
106
- column,
107
- value
108
- } = this.props;
109
- const {
110
- inconformityFormat
111
- } = this.state;
112
- return /*#__PURE__*/_react.default.createElement("div", {
113
- className: "dtable-ui-row-expand-simple-text-editor-container",
114
- ref: this.setEditorRef
115
- }, /*#__PURE__*/_react.default.createElement(_TextEditor.default, {
116
- ref: ref => this.editor = ref,
117
- className: inconformityFormat ? 'is-invalid' : '',
118
- readOnly: readOnly,
119
- column: column,
120
- value: value,
121
- onKeyDown: this.onKeyDown,
122
- onInputClick: this.onInputClick,
123
- onCommit: this.onCommit
124
- }), inconformityFormat && /*#__PURE__*/_react.default.createElement(_reactstrap.FormFeedback, null, _lang.getLocale.get('Input_does_not_meet_specifications')));
125
- }
126
- }
127
- var _default = exports.default = RowExpandSimpleText;
@@ -1,31 +0,0 @@
1
- .dtable-ui-row-expand-url-editor {
2
- position: relative;
3
- width: inherit;
4
- }
5
-
6
- .dtable-ui-row-expand-url-editor .dtable-ui-row-expand-url-input {
7
- text-decoration: underline;
8
- text-decoration-color: #999;
9
- padding-right: 40px;
10
- }
11
-
12
- .dtable-ui-row-expand-jump-link {
13
- display: inline-block;
14
- font-size: 14px;
15
- height: 22px;
16
- position: absolute;
17
- top: 8px;
18
- right: 9px;
19
- border: 1px solid #eee;
20
- padding: 0 4px;
21
- color: #999;
22
- border-radius: 2px;
23
- background: #fff;
24
- cursor: pointer;
25
- box-shadow: 0 0 1px;
26
- }
27
-
28
- .dtable-ui-row-expand-jump-link:hover {
29
- background: #f5f5f5;
30
- border: 1px solid #c9c9c9;
31
- }
@@ -1,130 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _toaster = _interopRequireDefault(require("../../toaster"));
10
- var _utils = require("../../utils/utils");
11
- var _constants = require("../../constants");
12
- var _lang = require("../../lang");
13
- require("./index.css");
14
- class RowExpandUrlEditor extends _react.default.Component {
15
- constructor(props) {
16
- super(props);
17
- this.focusInput = () => {
18
- // use setTimeout to make sure real DOM is rendered
19
- setTimeout(() => {
20
- this.urlInputRef && this.urlInputRef.focus();
21
- }, 1);
22
- };
23
- this.blurInput = () => {
24
- setTimeout(() => {
25
- this.urlInputRef && this.urlInputRef.blur();
26
- }, 1);
27
- };
28
- this.onBlur = () => {
29
- const {
30
- onCommit
31
- } = this.props;
32
- onCommit(this.state.value.trim());
33
- };
34
- this.onFocus = e => {
35
- this.props.updateTabIndex(this.props.columnIndex);
36
- };
37
- this.onChange = e => {
38
- let value = e.target.value;
39
- if (value === this.state.value) return;
40
- this.setState({
41
- value
42
- });
43
- };
44
- this.onCut = e => {
45
- e.stopPropagation();
46
- };
47
- this.onPaste = e => {
48
- e.stopPropagation();
49
- };
50
- this.onKeyDown = e => {
51
- if (e.keyCode === _constants.KeyCodes.Esc) {
52
- e.stopPropagation();
53
- this.blurInput();
54
- return;
55
- }
56
- let {
57
- selectionStart,
58
- selectionEnd,
59
- value
60
- } = e.currentTarget;
61
- if (e.keyCode === _constants.KeyCodes.ChineseInputMethod || e.keyCode === _constants.KeyCodes.LeftArrow && selectionStart === 0 || e.keyCode === _constants.KeyCodes.RightArrow && selectionEnd === value.length) {
62
- e.stopPropagation();
63
- }
64
- };
65
- this.onOpenUrlLink = () => {
66
- const {
67
- value
68
- } = this.state;
69
- let newValue = value.trim();
70
- if (!(0, _utils.isValidUrl)(newValue)) {
71
- newValue = "http://".concat(newValue);
72
- }
73
- try {
74
- (0, _utils.openUrlLink)(newValue);
75
- } catch {
76
- _toaster.default.danger((0, _lang.getLocale)('URL_is_invalid'));
77
- }
78
- };
79
- this.state = {
80
- value: props.value
81
- };
82
- this.inputRef = /*#__PURE__*/_react.default.createRef();
83
- }
84
- componentDidMount() {
85
- if (this.props.isEditorFocus) {
86
- this.focusInput();
87
- }
88
- }
89
- UNSAFE_componentWillReceiveProps(nextProps) {
90
- const {
91
- column,
92
- row
93
- } = nextProps;
94
- if (row._id !== this.props.row._id) {
95
- this.setState({
96
- value: row[column[this.props.valueKey]] || ''
97
- });
98
- }
99
- if (nextProps.isEditorFocus === true && this.props.isEditorFocus === false) {
100
- this.focusInput();
101
- }
102
- if (nextProps.isEditorFocus === false && this.props.isEditorFocus === true) {
103
- this.blurInput();
104
- }
105
- }
106
- render() {
107
- let {
108
- value
109
- } = this.state;
110
- return /*#__PURE__*/_react.default.createElement("div", {
111
- className: "dtable-ui-row-expand-url-editor"
112
- }, /*#__PURE__*/_react.default.createElement("input", {
113
- ref: ref => this.urlInputRef = ref,
114
- type: "text",
115
- onFocus: this.onFocus,
116
- onBlur: this.onBlur,
117
- onCut: this.onCut,
118
- onPaste: this.onPaste,
119
- onChange: this.onChange,
120
- className: "form-control dtable-ui-row-expand-url-input",
121
- value: value || '',
122
- onKeyDown: this.onKeyDown
123
- }), value && value.trim() && /*#__PURE__*/_react.default.createElement("span", {
124
- "aria-hidden": "true",
125
- className: "dtable-font dtable-icon-url dtable-ui-row-expand-jump-link",
126
- onClick: this.onOpenUrlLink
127
- }));
128
- }
129
- }
130
- var _default = exports.default = RowExpandUrlEditor;
@@ -1,44 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.CELL_EDITOR_MAP = void 0;
8
- var _dtableUtils = require("dtable-utils");
9
- var _RowExpandTextEditor = _interopRequireDefault(require("./RowExpandTextEditor"));
10
- var _RowExpandSingleSelectorEditor = _interopRequireDefault(require("./RowExpandSingleSelectorEditor"));
11
- var _RowExpandMultipleSelectEditor = _interopRequireDefault(require("./RowExpandMultipleSelectEditor"));
12
- var _RowExpandUrlEditor = _interopRequireDefault(require("./RowExpandUrlEditor"));
13
- var _RowExpandNumberEditor = _interopRequireDefault(require("./RowExpandNumberEditor"));
14
- var _RowExpandDateEditor = _interopRequireDefault(require("./RowExpandDateEditor"));
15
- var _RowExpandLongTextEditor = _interopRequireDefault(require("./RowExpandLongTextEditor"));
16
- var _RowExpandCheckboxEditor = _interopRequireDefault(require("./RowExpandCheckboxEditor"));
17
- var _RowExpandEmailEditor = _interopRequireDefault(require("./RowExpandEmailEditor"));
18
- var _RowExpandDurationEditor = _interopRequireDefault(require("./RowExpandDurationEditor"));
19
- var _RowExpandRateEditor = _interopRequireDefault(require("./RowExpandRateEditor"));
20
- var _RowExpandCollaboratorEditor = _interopRequireDefault(require("./RowExpandCollaboratorEditor"));
21
- var _RowExpandDepartmentEditor = _interopRequireDefault(require("./RowExpandDepartmentEditor"));
22
- var _RowExpandImageEditor = _interopRequireDefault(require("./RowExpandImageEditor"));
23
- var _RowExpandFileEditor = _interopRequireDefault(require("./RowExpandFileEditor"));
24
- var _RowExpandDigitalSignEditor = _interopRequireDefault(require("./RowExpandDigitalSignEditor"));
25
- var _RowExpandGeolocationEditor = _interopRequireDefault(require("./RowExpandGeolocationEditor"));
26
- const CELL_EDITOR_MAP = exports.CELL_EDITOR_MAP = {
27
- [_dtableUtils.CellType.TEXT]: _RowExpandTextEditor.default,
28
- [_dtableUtils.CellType.SINGLE_SELECT]: _RowExpandSingleSelectorEditor.default,
29
- [_dtableUtils.CellType.MULTIPLE_SELECT]: _RowExpandMultipleSelectEditor.default,
30
- [_dtableUtils.CellType.NUMBER]: _RowExpandNumberEditor.default,
31
- [_dtableUtils.CellType.DATE]: _RowExpandDateEditor.default,
32
- [_dtableUtils.CellType.URL]: _RowExpandUrlEditor.default,
33
- [_dtableUtils.CellType.LONG_TEXT]: _RowExpandLongTextEditor.default,
34
- [_dtableUtils.CellType.CHECKBOX]: _RowExpandCheckboxEditor.default,
35
- [_dtableUtils.CellType.EMAIL]: _RowExpandEmailEditor.default,
36
- [_dtableUtils.CellType.DURATION]: _RowExpandDurationEditor.default,
37
- [_dtableUtils.CellType.RATE]: _RowExpandRateEditor.default,
38
- [_dtableUtils.CellType.COLLABORATOR]: _RowExpandCollaboratorEditor.default,
39
- [_dtableUtils.CellType.DEPARTMENT_SINGLE_SELECT]: _RowExpandDepartmentEditor.default,
40
- [_dtableUtils.CellType.IMAGE]: _RowExpandImageEditor.default,
41
- [_dtableUtils.CellType.FILE]: _RowExpandFileEditor.default,
42
- [_dtableUtils.CellType.DIGITAL_SIGN]: _RowExpandDigitalSignEditor.default,
43
- [_dtableUtils.CellType.GEOLOCATION]: _RowExpandGeolocationEditor.default
44
- };
File without changes
@@ -1,32 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _constants = require("./constants");
10
- const RowExpandEditor = _ref => {
11
- let {
12
- column,
13
- component,
14
- ...props
15
- } = _ref;
16
- const components = {
17
- ..._constants.CELL_EDITOR_MAP,
18
- ...component
19
- };
20
- const Editor = components[column.type];
21
- if (!Editor) return null;
22
- const {
23
- row,
24
- valueKey
25
- } = props;
26
- const value = row[column[valueKey]];
27
- return /*#__PURE__*/_react.default.createElement(Editor, Object.assign({}, props, {
28
- value: value,
29
- column: column
30
- }));
31
- };
32
- var _default = exports.default = RowExpandEditor;
@@ -1,27 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _DepartmentSingleSelectFormatter = _interopRequireDefault(require("../../DepartmentSingleSelectFormatter"));
10
- function RowExpandDepartmentFormatter(_ref) {
11
- let {
12
- value,
13
- departments
14
- } = _ref;
15
- return /*#__PURE__*/_react.default.createElement("div", {
16
- className: "position-relative w-100"
17
- }, /*#__PURE__*/_react.default.createElement("div", {
18
- tabIndex: 0,
19
- className: "dtable-ui-row-expand-select-formatter custom-select"
20
- }, /*#__PURE__*/_react.default.createElement("div", {
21
- className: "dtable-ui-row-expand-select-formatter-inner"
22
- }, /*#__PURE__*/_react.default.createElement(_DepartmentSingleSelectFormatter.default, {
23
- value: value,
24
- departments: departments
25
- }))));
26
- }
27
- var _default = exports.default = RowExpandDepartmentFormatter;
@@ -1 +0,0 @@
1
- @import url('../../css/cell-formatter.css');