dtable-ui-component 6.0.26 → 6.0.27

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 (73) hide show
  1. package/lib/DateEditor/mb-date-editor-popover/index.js +3 -3
  2. package/lib/FileFormatter/index.js +98 -38
  3. package/lib/FileItemFormatter/index.js +3 -1
  4. package/lib/index.js +1 -106
  5. package/package.json +3 -12
  6. package/lib/ActionSheet/index.js +0 -194
  7. package/lib/ActionSheet/style/index.css +0 -365
  8. package/lib/ActivityIndicator/index.css +0 -108
  9. package/lib/ActivityIndicator/index.js +0 -76
  10. package/lib/Badge/index.css +0 -96
  11. package/lib/Badge/index.js +0 -65
  12. package/lib/DatePicker/index.js +0 -120
  13. package/lib/DatePicker/locale/en_US.js +0 -14
  14. package/lib/DatePicker/locale/ru_RU.js +0 -14
  15. package/lib/DatePicker/locale/sv_SE.js +0 -14
  16. package/lib/DatePicker/locale/zh_CN.js +0 -14
  17. package/lib/DatePicker/style/index.css +0 -290
  18. package/lib/DatePicker/utils.js +0 -36
  19. package/lib/Drawer/index.css +0 -142
  20. package/lib/Drawer/index.js +0 -21
  21. package/lib/Icon/index.css +0 -50
  22. package/lib/Icon/index.js +0 -35
  23. package/lib/Icon/load-sprite.js +0 -56
  24. package/lib/InputItem/custom-input.js +0 -321
  25. package/lib/InputItem/custom-keyboard.js +0 -162
  26. package/lib/InputItem/index.js +0 -389
  27. package/lib/InputItem/input.js +0 -45
  28. package/lib/InputItem/locale/en_US.js +0 -12
  29. package/lib/InputItem/locale/ru_RU.js +0 -12
  30. package/lib/InputItem/locale/sv_SE.js +0 -12
  31. package/lib/InputItem/locale/zh_CN.js +0 -12
  32. package/lib/InputItem/portal.js +0 -23
  33. package/lib/InputItem/style/index.css +0 -512
  34. package/lib/List/index.css +0 -381
  35. package/lib/List/index.js +0 -41
  36. package/lib/List/list-item.js +0 -169
  37. package/lib/Modal/alert.js +0 -82
  38. package/lib/Modal/index.js +0 -16
  39. package/lib/Modal/modal.js +0 -118
  40. package/lib/Modal/operation.js +0 -77
  41. package/lib/Modal/prompt.js +0 -207
  42. package/lib/Modal/style/index.css +0 -580
  43. package/lib/Picker/AbstractPicker.js +0 -190
  44. package/lib/Picker/index.js +0 -28
  45. package/lib/Picker/locale/en_US.js +0 -12
  46. package/lib/Picker/locale/ru_RU.js +0 -12
  47. package/lib/Picker/locale/sv_SE.js +0 -12
  48. package/lib/Picker/locale/zh_CN.js +0 -12
  49. package/lib/Picker/popupProps.js +0 -12
  50. package/lib/Picker/style/index.css +0 -141
  51. package/lib/Popover/index.js +0 -63
  52. package/lib/Popover/item.js +0 -55
  53. package/lib/Popover/style/index.css +0 -229
  54. package/lib/Progress/index.css +0 -22
  55. package/lib/Progress/index.js +0 -66
  56. package/lib/Radio/Radio.js +0 -47
  57. package/lib/Radio/RadioItem.js +0 -57
  58. package/lib/Radio/index.css +0 -90
  59. package/lib/Radio/index.js +0 -12
  60. package/lib/TabBar/Tab.js +0 -76
  61. package/lib/TabBar/index.css +0 -138
  62. package/lib/TabBar/index.js +0 -129
  63. package/lib/Tabs/index.css +0 -443
  64. package/lib/Tabs/index.js +0 -39
  65. package/lib/TextareaItem/index.css +0 -231
  66. package/lib/TextareaItem/index.js +0 -231
  67. package/lib/Toast/index.css +0 -65
  68. package/lib/Toast/index.js +0 -131
  69. package/lib/_util/class.js +0 -34
  70. package/lib/_util/closest.js +0 -17
  71. package/lib/_util/exenv.js +0 -8
  72. package/lib/_util/getDataAttr.js +0 -15
  73. package/lib/_util/getLocale.js +0 -42
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
+ var _datePicker = _interopRequireDefault(require("antd-mobile/lib/date-picker"));
9
10
  var _react = _interopRequireDefault(require("react"));
10
11
  var _classnames = _interopRequireDefault(require("classnames"));
11
12
  var _dayjs = _interopRequireDefault(require("dayjs"));
12
13
  var _seafileCalendar = _interopRequireDefault(require("@seafile/seafile-calendar"));
13
14
  var SeaDatePicker = _interopRequireWildcard(require("@seafile/seafile-calendar/lib/Picker"));
14
- var _DatePicker = _interopRequireDefault(require("../../DatePicker"));
15
15
  var _lang = require("../../lang");
16
16
  var _editorUtils = require("../../utils/editor-utils");
17
17
  var _MBEditorHeader = _interopRequireDefault(require("../../MBEditorHeader"));
@@ -197,7 +197,7 @@ class DateEditorPopover extends _react.default.PureComponent {
197
197
  className: "mb-date-editor-input"
198
198
  }, /*#__PURE__*/_react.default.createElement("div", {
199
199
  className: "date-input"
200
- }, /*#__PURE__*/_react.default.createElement(_DatePicker.default, {
200
+ }, /*#__PURE__*/_react.default.createElement(_datePicker.default, {
201
201
  mode: "date",
202
202
  locale: (0, _editorUtils.initDateEditorLanguage)(lang),
203
203
  value: this.state.value,
@@ -206,7 +206,7 @@ class DateEditorPopover extends _react.default.PureComponent {
206
206
  className: "date-input-day"
207
207
  }, datePickerValue && datePickerValue.format(leftFormat)))), showHourAndMinute && /*#__PURE__*/_react.default.createElement("div", {
208
208
  className: "date-input"
209
- }, /*#__PURE__*/_react.default.createElement(_DatePicker.default, {
209
+ }, /*#__PURE__*/_react.default.createElement(_datePicker.default, {
210
210
  mode: "time",
211
211
  locale: (0, _editorUtils.initDateEditorLanguage)(lang),
212
212
  value: this.state.value,
@@ -9,47 +9,107 @@ exports.default = void 0;
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _classnames = _interopRequireDefault(require("classnames"));
11
11
  var _FileItemFormatter = _interopRequireDefault(require("../FileItemFormatter"));
12
+ var _ImagePreviewerLightbox = _interopRequireDefault(require("../ImagePreviewerLightbox"));
13
+ var _url = require("../utils/url");
12
14
  require("./index.css");
13
- class FileFormatter extends _react.default.PureComponent {
14
- render() {
15
- let {
16
- isSample,
17
- value,
18
- containerClassName,
19
- renderItem
20
- } = this.props;
21
- if (!Array.isArray(value) || value.length === 0) {
22
- return null;
15
+ const FileFormatter = _ref => {
16
+ let {
17
+ isSample = false,
18
+ value = [],
19
+ containerClassName = '',
20
+ renderItem,
21
+ isSupportOpenFile = false,
22
+ server,
23
+ workspaceID,
24
+ dtableUuid
25
+ } = _ref;
26
+ const [largeImageIndex, setLargeImageIndex] = (0, _react.useState)(-1);
27
+ const [fileImageUrlList, setFileImageUrlList] = (0, _react.useState)([]);
28
+ const getFileItemImageUrlList = (0, _react.useCallback)(value => {
29
+ let newFileImageUrlList = [];
30
+ value.forEach(fileItem => {
31
+ const {
32
+ url,
33
+ name
34
+ } = fileItem;
35
+ let assetFileIndex = typeof url === 'string' ? url.indexOf('/asset') : -1;
36
+ if (assetFileIndex > -1) {
37
+ const isImage = (0, _url.imageCheck)(name);
38
+ if (isImage) {
39
+ newFileImageUrlList.push(url);
40
+ }
41
+ }
42
+ });
43
+ setFileImageUrlList(newFileImageUrlList);
44
+ }, []);
45
+ (0, _react.useEffect)(() => {
46
+ if (!isSupportOpenFile) return;
47
+ getFileItemImageUrlList(value);
48
+ }, [value, getFileItemImageUrlList, isSupportOpenFile]);
49
+ const showLargeImage = (0, _react.useCallback)(imageIndex => {
50
+ setLargeImageIndex(imageIndex);
51
+ }, []);
52
+ const openFile = (0, _react.useCallback)(fileItem => {
53
+ if (!isSupportOpenFile) return;
54
+ let openFileUrl = fileItem.url;
55
+ const imageIndex = fileImageUrlList.indexOf(openFileUrl);
56
+ if (imageIndex > -1) {
57
+ showLargeImage(imageIndex);
58
+ return;
23
59
  }
24
- let className = (0, _classnames.default)('dtable-ui cell-formatter-container file-formatter', containerClassName);
25
- if (isSample) {
26
- let item = value[0];
27
- return /*#__PURE__*/_react.default.createElement("div", {
28
- className: className
29
- }, /*#__PURE__*/_react.default.createElement(_FileItemFormatter.default, {
30
- file: item
31
- }), value.length !== 1 && /*#__PURE__*/_react.default.createElement("span", {
32
- className: "file-item-count"
33
- }, "+".concat(value.length)));
60
+ let previewerUrl;
61
+ let assetFileIndex = openFileUrl.indexOf('/asset');
62
+ if (assetFileIndex > -1) {
63
+ previewerUrl = openFileUrl.replace('/asset', '/asset-preview');
64
+ window.open(previewerUrl, '_blank');
34
65
  }
66
+ }, [fileImageUrlList, isSupportOpenFile, showLargeImage]);
67
+ const moveNext = (0, _react.useCallback)(() => {
68
+ setLargeImageIndex(prevIndex => (prevIndex + 1) % fileImageUrlList.length);
69
+ }, [fileImageUrlList]);
70
+ const movePrev = (0, _react.useCallback)(() => {
71
+ setLargeImageIndex(prevIndex => (prevIndex + fileImageUrlList.length - 1) % fileImageUrlList.length);
72
+ }, [fileImageUrlList]);
73
+ const hideLargeImage = (0, _react.useCallback)(() => {
74
+ setLargeImageIndex(-1);
75
+ }, []);
76
+ const className = (0, _classnames.default)('dtable-ui cell-formatter-container file-formatter', containerClassName);
77
+ if (!Array.isArray(value) || value.length === 0) {
78
+ return null;
79
+ }
80
+ if (isSample) {
81
+ const item = value[0];
35
82
  return /*#__PURE__*/_react.default.createElement("div", {
36
83
  className: className
37
- }, value.map((item, index) => {
38
- const dom = /*#__PURE__*/_react.default.createElement(_FileItemFormatter.default, {
39
- file: item
40
- });
41
- if (renderItem) return /*#__PURE__*/_react.default.createElement(_react.Fragment, {
42
- key: index
43
- }, renderItem(dom));
44
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, {
45
- key: index
46
- }, dom);
47
- }));
84
+ }, /*#__PURE__*/_react.default.createElement(_FileItemFormatter.default, {
85
+ file: item
86
+ }), value.length !== 1 && /*#__PURE__*/_react.default.createElement("span", {
87
+ className: "file-item-count"
88
+ }, "+".concat(value.length)));
48
89
  }
49
- }
50
- exports.default = FileFormatter;
51
- FileFormatter.defaultProps = {
52
- isSample: false,
53
- value: [],
54
- containerClassName: ''
55
- };
90
+ return /*#__PURE__*/_react.default.createElement("div", {
91
+ className: className
92
+ }, value.map((item, index) => {
93
+ const dom = /*#__PURE__*/_react.default.createElement(_FileItemFormatter.default, {
94
+ openFile: openFile,
95
+ file: item
96
+ });
97
+ if (renderItem) return /*#__PURE__*/_react.default.createElement(_react.Fragment, {
98
+ key: index
99
+ }, renderItem(dom));
100
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, {
101
+ key: index
102
+ }, dom);
103
+ }), largeImageIndex > -1 && /*#__PURE__*/_react.default.createElement(_ImagePreviewerLightbox.default, {
104
+ server: server,
105
+ workspaceID: workspaceID,
106
+ dtableUuid: dtableUuid,
107
+ readOnly: true,
108
+ imageItems: fileImageUrlList,
109
+ imageIndex: largeImageIndex,
110
+ closeImagePopup: hideLargeImage,
111
+ moveToPrevImage: movePrev,
112
+ moveToNextImage: moveNext
113
+ }));
114
+ };
115
+ var _default = exports.default = FileFormatter;
@@ -10,13 +10,15 @@ var _url = require("../utils/url");
10
10
  const FileItemFormatter = _ref => {
11
11
  let {
12
12
  file,
13
- config
13
+ config,
14
+ openFile
14
15
  } = _ref;
15
16
  const {
16
17
  fileIconUrl,
17
18
  isImage
18
19
  } = (0, _url.getFileThumbnailInfo)(file, config);
19
20
  return /*#__PURE__*/_react.default.createElement("img", {
21
+ onClick: () => openFile && openFile(file),
20
22
  className: "file-item-icon ".concat(isImage ? 'img' : ''),
21
23
  src: fileIconUrl,
22
24
  alt: (file === null || file === void 0 ? void 0 : file.name) || ''
package/lib/index.js CHANGED
@@ -4,18 +4,6 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- Object.defineProperty(exports, "ActionSheet", {
8
- enumerable: true,
9
- get: function () {
10
- return _ActionSheet.default;
11
- }
12
- });
13
- Object.defineProperty(exports, "ActivityIndicator", {
14
- enumerable: true,
15
- get: function () {
16
- return _ActivityIndicator.default;
17
- }
18
- });
19
7
  Object.defineProperty(exports, "AutoNumberFormatter", {
20
8
  enumerable: true,
21
9
  get: function () {
@@ -190,12 +178,6 @@ Object.defineProperty(exports, "DateFormatter", {
190
178
  return _DateFormatter.default;
191
179
  }
192
180
  });
193
- Object.defineProperty(exports, "DatePicker", {
194
- enumerable: true,
195
- get: function () {
196
- return _DatePicker.default;
197
- }
198
- });
199
181
  Object.defineProperty(exports, "DepartmentEditor", {
200
182
  enumerable: true,
201
183
  get: function () {
@@ -226,12 +208,6 @@ Object.defineProperty(exports, "DigitalSignFormatter", {
226
208
  return _DigitalSignFormatter.default;
227
209
  }
228
210
  });
229
- Object.defineProperty(exports, "Drawer", {
230
- enumerable: true,
231
- get: function () {
232
- return _Drawer.default;
233
- }
234
- });
235
211
  Object.defineProperty(exports, "DurationEditor", {
236
212
  enumerable: true,
237
213
  get: function () {
@@ -298,12 +274,6 @@ Object.defineProperty(exports, "GeolocationFormatter", {
298
274
  return _GeolocationFormatter.default;
299
275
  }
300
276
  });
301
- Object.defineProperty(exports, "Icon", {
302
- enumerable: true,
303
- get: function () {
304
- return _Icon.default;
305
- }
306
- });
307
277
  Object.defineProperty(exports, "IconButton", {
308
278
  enumerable: true,
309
279
  get: function () {
@@ -328,12 +298,6 @@ Object.defineProperty(exports, "ImagePreviewerLightbox", {
328
298
  return _ImagePreviewerLightbox.default;
329
299
  }
330
300
  });
331
- Object.defineProperty(exports, "InputItem", {
332
- enumerable: true,
333
- get: function () {
334
- return _InputItem.default;
335
- }
336
- });
337
301
  Object.defineProperty(exports, "LastModifierFormatter", {
338
302
  enumerable: true,
339
303
  get: function () {
@@ -352,12 +316,6 @@ Object.defineProperty(exports, "LinkFormatter", {
352
316
  return _LinkFormatter.default;
353
317
  }
354
318
  });
355
- Object.defineProperty(exports, "List", {
356
- enumerable: true,
357
- get: function () {
358
- return _List.default;
359
- }
360
- });
361
319
  Object.defineProperty(exports, "Loading", {
362
320
  enumerable: true,
363
321
  get: function () {
@@ -376,12 +334,6 @@ Object.defineProperty(exports, "MTimeFormatter", {
376
334
  return _MTimeFormatter.default;
377
335
  }
378
336
  });
379
- Object.defineProperty(exports, "Modal", {
380
- enumerable: true,
381
- get: function () {
382
- return _Modal.default;
383
- }
384
- });
385
337
  Object.defineProperty(exports, "ModalPortal", {
386
338
  enumerable: true,
387
339
  get: function () {
@@ -418,30 +370,6 @@ Object.defineProperty(exports, "NumberFormatter", {
418
370
  return _NumberFormatter.default;
419
371
  }
420
372
  });
421
- Object.defineProperty(exports, "Picker", {
422
- enumerable: true,
423
- get: function () {
424
- return _Picker.default;
425
- }
426
- });
427
- Object.defineProperty(exports, "Popover", {
428
- enumerable: true,
429
- get: function () {
430
- return _Popover.default;
431
- }
432
- });
433
- Object.defineProperty(exports, "Progress", {
434
- enumerable: true,
435
- get: function () {
436
- return _Progress.default;
437
- }
438
- });
439
- Object.defineProperty(exports, "Radio", {
440
- enumerable: true,
441
- get: function () {
442
- return _Radio.default;
443
- }
444
- });
445
373
  Object.defineProperty(exports, "RateFormatter", {
446
374
  enumerable: true,
447
375
  get: function () {
@@ -502,12 +430,6 @@ Object.defineProperty(exports, "SvgIcon", {
502
430
  return _SvgIcon.default;
503
431
  }
504
432
  });
505
- Object.defineProperty(exports, "TabBar", {
506
- enumerable: true,
507
- get: function () {
508
- return _TabBar.default;
509
- }
510
- });
511
433
  Object.defineProperty(exports, "TextEditor", {
512
434
  enumerable: true,
513
435
  get: function () {
@@ -520,18 +442,6 @@ Object.defineProperty(exports, "TextFormatter", {
520
442
  return _TextFormatter.default;
521
443
  }
522
444
  });
523
- Object.defineProperty(exports, "TextareaItem", {
524
- enumerable: true,
525
- get: function () {
526
- return _TextareaItem.default;
527
- }
528
- });
529
- Object.defineProperty(exports, "Toast", {
530
- enumerable: true,
531
- get: function () {
532
- return _Toast.default;
533
- }
534
- });
535
445
  Object.defineProperty(exports, "UploadProgress", {
536
446
  enumerable: true,
537
447
  get: function () {
@@ -639,19 +549,4 @@ var _DTableRadioGroup = _interopRequireDefault(require("./DTableRadioGroup"));
639
549
  var _DTableEmptyTip = _interopRequireDefault(require("./DTableEmptyTip"));
640
550
  var _IconButton = _interopRequireDefault(require("./IconButton"));
641
551
  var _UploadProgress = _interopRequireDefault(require("./UploadProgress"));
642
- var _SvgIcon = _interopRequireDefault(require("./SvgIcon"));
643
- var _ActionSheet = _interopRequireDefault(require("./ActionSheet"));
644
- var _ActivityIndicator = _interopRequireDefault(require("./ActivityIndicator"));
645
- var _DatePicker = _interopRequireDefault(require("./DatePicker"));
646
- var _Drawer = _interopRequireDefault(require("./Drawer"));
647
- var _Icon = _interopRequireDefault(require("./Icon"));
648
- var _InputItem = _interopRequireDefault(require("./InputItem"));
649
- var _List = _interopRequireDefault(require("./List"));
650
- var _Modal = _interopRequireDefault(require("./Modal"));
651
- var _Picker = _interopRequireDefault(require("./Picker"));
652
- var _Popover = _interopRequireDefault(require("./Popover"));
653
- var _Progress = _interopRequireDefault(require("./Progress"));
654
- var _Radio = _interopRequireDefault(require("./Radio"));
655
- var _TabBar = _interopRequireDefault(require("./TabBar"));
656
- var _TextareaItem = _interopRequireDefault(require("./TextareaItem"));
657
- var _Toast = _interopRequireDefault(require("./Toast"));
552
+ var _SvgIcon = _interopRequireDefault(require("./SvgIcon"));
package/package.json CHANGED
@@ -1,31 +1,22 @@
1
1
  {
2
2
  "name": "dtable-ui-component",
3
- "version": "6.0.26",
3
+ "version": "6.0.27",
4
4
  "main": "./lib/index.js",
5
5
  "dependencies": {
6
6
  "@seafile/react-image-lightbox": "4.0.2",
7
7
  "@seafile/seafile-calendar": "0.0.24",
8
8
  "@seafile/seafile-editor": "~2.0.6",
9
+ "antd-mobile": "2.3.1",
9
10
  "classnames": "2.3.2",
10
11
  "dayjs": "1.10.7",
11
12
  "dtable-utils": "~5.0.19",
12
13
  "is-hotkey": "0.2.0",
13
- "rc-checkbox": "3.5.0",
14
14
  "react-color": "2.19.3",
15
15
  "react-responsive": "10.0.0",
16
16
  "react-select": "5.10.0",
17
17
  "react-sweet-progress": "^1.1.2",
18
18
  "react-transition-group": "4.4.5",
19
- "reactstrap": "9.2.3",
20
- "rmc-cascader": "5.0.3",
21
- "rmc-date-picker": "6.0.10",
22
- "rmc-dialog": "1.1.1",
23
- "rmc-drawer": "0.4.11",
24
- "rmc-feedback": "2.0.0",
25
- "rmc-notification": "1.0.0",
26
- "rmc-picker": "5.0.10",
27
- "rmc-tabs": "1.2.29",
28
- "rmc-tooltip": "1.0.1"
19
+ "reactstrap": "9.2.3"
29
20
  },
30
21
  "scripts": {
31
22
  "lint": "./node_modules/.bin/eslint ./src/ --fix",
@@ -1,194 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
- var _classnames = _interopRequireDefault(require("classnames"));
10
- var React = _interopRequireWildcard(require("react"));
11
- var ReactDOM = _interopRequireWildcard(require("react-dom"));
12
- var _rmcDialog = _interopRequireDefault(require("rmc-dialog"));
13
- var _rmcFeedback = _interopRequireDefault(require("rmc-feedback"));
14
- var _getDataAttr = _interopRequireDefault(require("../_util/getDataAttr"));
15
- var _Badge = _interopRequireDefault(require("../Badge"));
16
- require("./style/index.css");
17
- /* tslint:disable:jsx-no-multiline-js */
18
-
19
- const NORMAL = 'NORMAL';
20
- const SHARE = 'SHARE';
21
- // tslint:disable-next-line:no-empty
22
- function noop() {}
23
- const queue = [];
24
- function createActionSheet(flag, config, callback) {
25
- const props = {
26
- prefixCls: 'am-action-sheet',
27
- cancelButtonText: '取消',
28
- ...config
29
- };
30
- const {
31
- prefixCls,
32
- className,
33
- transitionName,
34
- maskTransitionName,
35
- maskClosable = true
36
- } = props;
37
- const div = document.createElement('div');
38
- document.body.appendChild(div);
39
- queue.push(close);
40
- function close() {
41
- if (div) {
42
- ReactDOM.unmountComponentAtNode(div);
43
- if (div.parentNode) {
44
- div.parentNode.removeChild(div);
45
- }
46
- const index = queue.indexOf(close);
47
- if (index !== -1) {
48
- queue.splice(index, 1);
49
- }
50
- }
51
- }
52
- function cb(index) {
53
- let rowIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
54
- const res = callback(index, rowIndex);
55
- if (res && res.then) {
56
- res.then(() => {
57
- close();
58
- });
59
- } else {
60
- close();
61
- }
62
- }
63
- const {
64
- title,
65
- message,
66
- options,
67
- destructiveButtonIndex,
68
- cancelButtonIndex,
69
- cancelButtonText,
70
- badges = []
71
- } = props;
72
- const titleMsg = [title ? /*#__PURE__*/React.createElement("h3", {
73
- key: "0",
74
- className: "".concat(prefixCls, "-title")
75
- }, title) : null, message ? /*#__PURE__*/React.createElement("div", {
76
- key: "1",
77
- className: "".concat(prefixCls, "-message")
78
- }, message) : null];
79
- let children = null;
80
- let mode = 'normal';
81
- switch (flag) {
82
- case NORMAL:
83
- mode = 'normal';
84
- const normalOptions = options;
85
- const badgesMap = {};
86
- if (badges && badges.length > 0) {
87
- badges.forEach(element => {
88
- if (element.index >= 0) {
89
- badgesMap[element.index] = /*#__PURE__*/React.createElement(_Badge.default, element);
90
- }
91
- });
92
- }
93
- children = /*#__PURE__*/React.createElement("div", (0, _getDataAttr.default)(props), titleMsg, /*#__PURE__*/React.createElement("div", {
94
- className: "".concat(prefixCls, "-button-list"),
95
- role: "group"
96
- }, normalOptions.map((item, index) => {
97
- const itemProps = {
98
- className: (0, _classnames.default)("".concat(prefixCls, "-button-list-item"), {
99
- ["".concat(prefixCls, "-destructive-button")]: destructiveButtonIndex === index,
100
- ["".concat(prefixCls, "-cancel-button")]: cancelButtonIndex === index
101
- }),
102
- onClick: () => cb(index),
103
- role: 'button'
104
- };
105
- let bContent = /*#__PURE__*/React.createElement("div", itemProps, item);
106
- // 仅在设置徽标的情况下修改dom结构
107
- if (badgesMap[index]) {
108
- bContent = /*#__PURE__*/React.createElement("div", Object.assign({}, itemProps, {
109
- className: "".concat(itemProps.className, " ").concat(prefixCls, "-button-list-badge")
110
- }), /*#__PURE__*/React.createElement("span", {
111
- className: "".concat(prefixCls, "-button-list-item-content")
112
- }, item), badgesMap[index]);
113
- }
114
- let bItem = /*#__PURE__*/React.createElement(_rmcFeedback.default, {
115
- key: index,
116
- activeClassName: "".concat(prefixCls, "-button-list-item-active")
117
- }, bContent);
118
- if (cancelButtonIndex === index || destructiveButtonIndex === index) {
119
- bItem = /*#__PURE__*/React.createElement(_rmcFeedback.default, {
120
- key: index,
121
- activeClassName: "".concat(prefixCls, "-button-list-item-active")
122
- }, /*#__PURE__*/React.createElement("div", itemProps, item, cancelButtonIndex === index ? /*#__PURE__*/React.createElement("span", {
123
- className: "".concat(prefixCls, "-cancel-button-mask")
124
- }) : null));
125
- }
126
- return bItem;
127
- })));
128
- break;
129
- case SHARE:
130
- mode = 'share';
131
- const multipleLine = options.length && Array.isArray(options[0]) || false;
132
- const createList = function (item, index) {
133
- let rowIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
134
- return /*#__PURE__*/React.createElement("div", {
135
- className: "".concat(prefixCls, "-share-list-item"),
136
- role: "button",
137
- key: index,
138
- onClick: () => cb(index, rowIndex)
139
- }, /*#__PURE__*/React.createElement("div", {
140
- className: "".concat(prefixCls, "-share-list-item-icon")
141
- }, item.icon), /*#__PURE__*/React.createElement("div", {
142
- className: "".concat(prefixCls, "-share-list-item-title")
143
- }, item.title));
144
- };
145
- children = /*#__PURE__*/React.createElement("div", (0, _getDataAttr.default)(props), titleMsg, /*#__PURE__*/React.createElement("div", {
146
- className: "".concat(prefixCls, "-share")
147
- }, multipleLine ? options.map((item, index) => /*#__PURE__*/React.createElement("div", {
148
- key: index,
149
- className: "".concat(prefixCls, "-share-list")
150
- }, item.map((ii, ind) => createList(ii, ind, index)))) : /*#__PURE__*/React.createElement("div", {
151
- className: "".concat(prefixCls, "-share-list")
152
- }, options.map((item, index) => createList(item, index))), /*#__PURE__*/React.createElement(_rmcFeedback.default, {
153
- activeClassName: "".concat(prefixCls, "-share-cancel-button-active")
154
- }, /*#__PURE__*/React.createElement("div", {
155
- className: "".concat(prefixCls, "-share-cancel-button"),
156
- role: "button",
157
- onClick: () => cb(-1)
158
- }, cancelButtonText))));
159
- break;
160
- default:
161
- break;
162
- }
163
- const rootCls = (0, _classnames.default)("".concat(prefixCls, "-").concat(mode), className);
164
- ReactDOM.render( /*#__PURE__*/React.createElement(_rmcDialog.default, {
165
- visible: true,
166
- title: "",
167
- footer: "",
168
- prefixCls: prefixCls,
169
- className: rootCls,
170
- transitionName: transitionName || 'am-slide-up',
171
- maskTransitionName: maskTransitionName || 'am-fade',
172
- onClose: () => cb(cancelButtonIndex || -1),
173
- maskClosable: maskClosable,
174
- wrapProps: props.wrapProps || {}
175
- }, children), div);
176
- return {
177
- close
178
- };
179
- }
180
-
181
- // eslint-disable-next-line import/no-anonymous-default-export
182
- var _default = exports.default = {
183
- showActionSheetWithOptions(config) {
184
- let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;
185
- createActionSheet(NORMAL, config, callback);
186
- },
187
- showShareActionSheetWithOptions(config) {
188
- let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;
189
- createActionSheet(SHARE, config, callback);
190
- },
191
- close() {
192
- queue.forEach(q => q());
193
- }
194
- };