@pisell/materials 2.2.75 → 2.2.76
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.
- package/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/index.js +1 -1
- package/build/lowcode/meta.js +1 -1
- package/build/lowcode/preview.js +8 -8
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +14 -14
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +15 -15
- package/es/components/cardMetricItem/index.less +0 -1
- package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableQuery.js +1 -1
- package/es/components/dataSourceComponents/fields/DatePicker/ReadPretty.js +12 -4
- package/es/components/dataSourceComponents/fields/utils.js +5 -0
- package/es/components/pisellAnchor/index.less +1 -2
- package/es/components/pisellGoodPassCard/index.d.ts +2 -0
- package/es/components/pisellGoodPassCard/index.js +14 -7
- package/es/components/pisellGoodPassCard/index.less +11 -6
- package/es/components/pisellQrcode/index.less +0 -2
- package/es/components/productCard/components/Header/index.js +18 -2
- package/es/components/productCard/components/Packages/components/collapsibleList/index.less +0 -1
- package/es/components/productCard/components/Time/components/SelectHolder/index.d.ts +1 -1
- package/es/components/productCard/components/Time/components/SelectHolder/index.js +31 -12
- package/es/components/productCard/components/Time/components/SelectHolder/index.less +27 -0
- package/es/components/productCard/components/Time/components/SelectHolderModal/index.d.ts +13 -0
- package/es/components/productCard/components/Time/components/SelectHolderModal/index.js +157 -0
- package/es/components/productCard/components/Time/components/SelectHolderModal/index.less +39 -0
- package/es/components/productCard/components/Time/components/SelectHolderMultiple/index.d.ts +2 -0
- package/es/components/productCard/components/Time/components/SelectHolderMultiple/index.js +144 -0
- package/es/components/productCard/components/Time/index.js +9 -4
- package/es/components/productCard/index.js +2 -1
- package/es/components/productCard/locales.d.ts +18 -0
- package/es/components/productCard/locales.js +27 -3
- package/es/components/profileMenu/index.less +2 -5
- package/es/components/record-view/index.less +0 -2
- package/es/components/walletCard/index.js +2 -2
- package/es/components/walletCard/index.less +1 -3
- package/es/locales/en-US.d.ts +1 -0
- package/es/locales/en-US.js +2 -1
- package/es/locales/zh-CN.d.ts +1 -0
- package/es/locales/zh-CN.js +2 -1
- package/es/locales/zh-TW.d.ts +1 -0
- package/es/locales/zh-TW.js +2 -1
- package/lib/components/cardMetricItem/index.less +0 -1
- package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableQuery.js +1 -1
- package/lib/components/dataSourceComponents/fields/DatePicker/ReadPretty.js +15 -7
- package/lib/components/dataSourceComponents/fields/utils.js +5 -0
- package/lib/components/pisellAnchor/index.less +1 -2
- package/lib/components/pisellGoodPassCard/index.d.ts +2 -0
- package/lib/components/pisellGoodPassCard/index.js +8 -6
- package/lib/components/pisellGoodPassCard/index.less +11 -6
- package/lib/components/pisellQrcode/index.less +0 -2
- package/lib/components/productCard/components/Header/index.js +5 -2
- package/lib/components/productCard/components/Packages/components/collapsibleList/index.less +0 -1
- package/lib/components/productCard/components/Time/components/SelectHolder/index.d.ts +1 -1
- package/lib/components/productCard/components/Time/components/SelectHolder/index.js +24 -7
- package/lib/components/productCard/components/Time/components/SelectHolder/index.less +27 -0
- package/lib/components/productCard/components/Time/components/SelectHolderModal/index.d.ts +13 -0
- package/lib/components/productCard/components/Time/components/SelectHolderModal/index.js +177 -0
- package/lib/components/productCard/components/Time/components/SelectHolderModal/index.less +39 -0
- package/lib/components/productCard/components/Time/components/SelectHolderMultiple/index.d.ts +2 -0
- package/lib/components/productCard/components/Time/components/SelectHolderMultiple/index.js +152 -0
- package/lib/components/productCard/components/Time/index.js +11 -4
- package/lib/components/productCard/index.js +2 -1
- package/lib/components/productCard/locales.d.ts +18 -0
- package/lib/components/productCard/locales.js +21 -3
- package/lib/components/profileMenu/index.less +2 -5
- package/lib/components/record-view/index.less +0 -2
- package/lib/components/walletCard/index.less +1 -3
- package/lib/locales/en-US.d.ts +1 -0
- package/lib/locales/en-US.js +2 -1
- package/lib/locales/zh-CN.d.ts +1 -0
- package/lib/locales/zh-CN.js +2 -1
- package/lib/locales/zh-TW.d.ts +1 -0
- package/lib/locales/zh-TW.js +2 -1
- package/package.json +3 -3
|
@@ -21,7 +21,7 @@ var useTableQuery = function useTableQuery(props) {
|
|
|
21
21
|
// 分页配置
|
|
22
22
|
var _useState = useState({
|
|
23
23
|
page: 1,
|
|
24
|
-
pageSize:
|
|
24
|
+
pageSize: 20,
|
|
25
25
|
filter: (tabs === null || tabs === void 0 || (_tabs$items = tabs.items) === null || _tabs$items === void 0 || (_tabs$items = _tabs$items[0]) === null || _tabs$items === void 0 ? void 0 : _tabs$items.filterBy) || filterBy || {},
|
|
26
26
|
sort: (tabs === null || tabs === void 0 || (_tabs$items2 = tabs.items) === null || _tabs$items2 === void 0 || (_tabs$items2 = _tabs$items2[0]) === null || _tabs$items2 === void 0 ? void 0 : _tabs$items2.sortBy) || sortBy
|
|
27
27
|
}),
|
|
@@ -3,15 +3,23 @@ import classNames from 'classnames';
|
|
|
3
3
|
import dayjs from 'dayjs';
|
|
4
4
|
import usePisellConfig from "../../../pisell-config-provider/hooks/usePisellConfig";
|
|
5
5
|
import "./ReadPretty.less";
|
|
6
|
-
var DEFAULT_FORMAT = 'YYYY
|
|
6
|
+
var DEFAULT_FORMAT = 'DD/MM/YYYY HH:mm';
|
|
7
7
|
var DATE_FORMATS = {
|
|
8
8
|
'zh-CN': {
|
|
9
|
-
withTime: 'YYYY-MM-DD HH:mm
|
|
9
|
+
withTime: 'YYYY-MM-DD HH:mm',
|
|
10
10
|
withoutTime: 'YYYY-MM-DD'
|
|
11
11
|
},
|
|
12
12
|
'en-US': {
|
|
13
|
-
withTime: 'HH:mm
|
|
14
|
-
withoutTime: '
|
|
13
|
+
withTime: 'MM/DD/YYYY HH:mm',
|
|
14
|
+
withoutTime: 'MM/DD/YYYY'
|
|
15
|
+
},
|
|
16
|
+
'en-AU': {
|
|
17
|
+
withTime: 'DD/MM/YYYY HH:mm',
|
|
18
|
+
withoutTime: 'DD/MM/YYYY'
|
|
19
|
+
},
|
|
20
|
+
en: {
|
|
21
|
+
withTime: 'DD/MM/YYYY HH:mm',
|
|
22
|
+
withoutTime: 'DD/MM/YYYY'
|
|
15
23
|
}
|
|
16
24
|
};
|
|
17
25
|
var DatePickerReadPretty = function DatePickerReadPretty(_ref) {
|
|
@@ -25,7 +25,6 @@
|
|
|
25
25
|
|
|
26
26
|
&-title {
|
|
27
27
|
color: var(--Gray-900, #101828);
|
|
28
|
-
font-family: Inter;
|
|
29
28
|
font-size: 16px;
|
|
30
29
|
font-weight: 600;
|
|
31
30
|
line-height: 40px;
|
|
@@ -114,7 +113,7 @@
|
|
|
114
113
|
display: flex;
|
|
115
114
|
align-items: center;
|
|
116
115
|
justify-content: center;
|
|
117
|
-
background:none;
|
|
116
|
+
background: none;
|
|
118
117
|
cursor: pointer;
|
|
119
118
|
transition: width 300ms ease;
|
|
120
119
|
user-select: none;
|
|
@@ -42,6 +42,8 @@ export interface PisellGoodPassCardProps {
|
|
|
42
42
|
}) => void;
|
|
43
43
|
/**样式 */
|
|
44
44
|
style: React.CSSProperties;
|
|
45
|
+
/**快捷展示排序 */
|
|
46
|
+
mixedSort?: (val: Discount[]) => Discount[];
|
|
45
47
|
}
|
|
46
48
|
declare const index: (props: PisellGoodPassCardProps) => JSX.Element;
|
|
47
49
|
export default index;
|
|
@@ -26,7 +26,8 @@ var index = function index(props) {
|
|
|
26
26
|
dataSource = _props$dataSource === void 0 ? [] : _props$dataSource,
|
|
27
27
|
onChange = props.onChange,
|
|
28
28
|
_props$style = props.style,
|
|
29
|
-
style = _props$style === void 0 ? {} : _props$style
|
|
29
|
+
style = _props$style === void 0 ? {} : _props$style,
|
|
30
|
+
mixedSort = props.mixedSort;
|
|
30
31
|
var _useState = useState(false),
|
|
31
32
|
_useState2 = _slicedToArray(_useState, 2),
|
|
32
33
|
showModal = _useState2[0],
|
|
@@ -44,7 +45,9 @@ var index = function index(props) {
|
|
|
44
45
|
});
|
|
45
46
|
};
|
|
46
47
|
var renderVoucherContent = function renderVoucherContent(item) {
|
|
47
|
-
return /*#__PURE__*/React.createElement("span",
|
|
48
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
49
|
+
className: "voucher-item-content-save"
|
|
50
|
+
}, getText('pisell2.text.goodpass.save'), " ", /*#__PURE__*/React.createElement(PisellText.Amount, {
|
|
48
51
|
value: item.savedAmount
|
|
49
52
|
}));
|
|
50
53
|
};
|
|
@@ -59,7 +62,7 @@ var index = function index(props) {
|
|
|
59
62
|
onChange: function onChange(e) {
|
|
60
63
|
return handleItemChange(item, e.target.checked);
|
|
61
64
|
}
|
|
62
|
-
});
|
|
65
|
+
}, renderVoucherContent(item));
|
|
63
66
|
};
|
|
64
67
|
var renderVoucherItem = function renderVoucherItem(item) {
|
|
65
68
|
return /*#__PURE__*/React.createElement("div", {
|
|
@@ -67,9 +70,9 @@ var index = function index(props) {
|
|
|
67
70
|
className: "".concat(clsPrefix, "-voucher-item")
|
|
68
71
|
}, /*#__PURE__*/React.createElement("div", {
|
|
69
72
|
className: "item-title"
|
|
70
|
-
}, translation(item.format_title)), /*#__PURE__*/React.createElement("div", {
|
|
73
|
+
}, translation(item.format_title), item.isEditMode && getText('pisell2.text.goodpass.last-settlement')), /*#__PURE__*/React.createElement("div", {
|
|
71
74
|
className: "item-content"
|
|
72
|
-
},
|
|
75
|
+
}, renderActionElement(item)));
|
|
73
76
|
};
|
|
74
77
|
var renderModal = function renderModal() {
|
|
75
78
|
return /*#__PURE__*/React.createElement(PisellModal, {
|
|
@@ -82,12 +85,16 @@ var index = function index(props) {
|
|
|
82
85
|
className: "".concat(clsPrefix, "-all-items-modal")
|
|
83
86
|
}, /*#__PURE__*/React.createElement("div", {
|
|
84
87
|
style: {
|
|
85
|
-
padding: '10px 0'
|
|
88
|
+
padding: '10px 0',
|
|
89
|
+
display: "flex",
|
|
90
|
+
flexDirection: "column",
|
|
91
|
+
gap: 12
|
|
86
92
|
}
|
|
87
93
|
}, dataSource.map(renderVoucherItem)));
|
|
88
94
|
};
|
|
89
95
|
var renderMixedMode = function renderMixedMode() {
|
|
90
|
-
var
|
|
96
|
+
var sortList = (mixedSort === null || mixedSort === void 0 ? void 0 : mixedSort(dataSource)) || dataSource;
|
|
97
|
+
var list = sortList.length > 3 ? sortList.slice(0, 3) : sortList;
|
|
91
98
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
92
99
|
className: "".concat(clsPrefix, "-header")
|
|
93
100
|
}, /*#__PURE__*/React.createElement("div", null, getText('pisell2.text.goodpass.product-vouchers')), /*#__PURE__*/React.createElement(Typography.Text, {
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
align-items: center;
|
|
8
8
|
color: var(--Gray-900, #101828);
|
|
9
9
|
text-align: center;
|
|
10
|
-
font-family: Inter;
|
|
11
10
|
font-size: 14px;
|
|
12
11
|
font-style: normal;
|
|
13
12
|
font-weight: 600;
|
|
@@ -23,8 +22,7 @@
|
|
|
23
22
|
.item-title {
|
|
24
23
|
color: var(--Gray-500, #667085);
|
|
25
24
|
// text-align: center;
|
|
26
|
-
font-
|
|
27
|
-
font-size: 14px;
|
|
25
|
+
font-size: 16px;
|
|
28
26
|
font-style: normal;
|
|
29
27
|
font-weight: 600;
|
|
30
28
|
line-height: 20px;
|
|
@@ -32,17 +30,24 @@
|
|
|
32
30
|
|
|
33
31
|
.item-content {
|
|
34
32
|
color: var(--, #8157d5);
|
|
35
|
-
font-
|
|
36
|
-
font-size: 14px;
|
|
33
|
+
font-size: 16px;
|
|
37
34
|
font-style: normal;
|
|
38
35
|
font-weight: 400;
|
|
39
36
|
line-height: 20px;
|
|
40
37
|
white-space: nowrap;
|
|
41
38
|
|
|
39
|
+
.voucher-item-content-save {
|
|
40
|
+
color: var(--, #8157d5);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.pisell-lowcode-checkbox-wrapper {
|
|
44
|
+
display: flex;
|
|
45
|
+
flex-direction: row-reverse;
|
|
46
|
+
}
|
|
47
|
+
|
|
42
48
|
.add-btn {
|
|
43
49
|
color: var(--, #8157d5);
|
|
44
50
|
text-align: center;
|
|
45
|
-
font-family: Inter;
|
|
46
51
|
font-size: 14px;
|
|
47
52
|
font-style: normal;
|
|
48
53
|
font-weight: 600;
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
flex-direction: column;
|
|
12
12
|
.pisell-qrcode-modal-value {
|
|
13
13
|
color: var(--Gray-500, #667085);
|
|
14
|
-
font-family: Inter;
|
|
15
14
|
font-size: 14px;
|
|
16
15
|
font-style: normal;
|
|
17
16
|
font-weight: 400;
|
|
@@ -26,7 +25,6 @@
|
|
|
26
25
|
|
|
27
26
|
color: var(--Base-White, #fff);
|
|
28
27
|
|
|
29
|
-
font-family: Inter;
|
|
30
28
|
font-size: 16px;
|
|
31
29
|
font-style: normal;
|
|
32
30
|
font-weight: 600;
|
|
@@ -53,9 +53,21 @@ var Header = function Header(props) {
|
|
|
53
53
|
var headerCenterStyle = useMemo(function () {
|
|
54
54
|
return (options === null || options === void 0 ? void 0 : options.length) > 0 || product_option_string;
|
|
55
55
|
}, [options, product_option_string]);
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* @title: 是否显示删除按钮
|
|
59
|
+
* @description:
|
|
60
|
+
* @param {*} useMemo
|
|
61
|
+
* @return {*}
|
|
62
|
+
* @Author: WangHan
|
|
63
|
+
* @Date: 2025-06-11 15:14
|
|
64
|
+
*/
|
|
65
|
+
var showDelete = useMemo(function () {
|
|
66
|
+
return isShowDelete && !disabledEdit && !disabled;
|
|
67
|
+
}, [isShowDelete, disabledEdit, disabled]);
|
|
56
68
|
return /*#__PURE__*/React.createElement("div", {
|
|
57
69
|
className: classNames("".concat(prefix, "product-header"), headerCenterStyle && "".concat(prefix, "product-options-header"))
|
|
58
|
-
},
|
|
70
|
+
}, showDelete ? /*#__PURE__*/React.createElement(DeleteButton, {
|
|
59
71
|
onDelete: onDelete
|
|
60
72
|
}) : null, showImage ? /*#__PURE__*/React.createElement("img", {
|
|
61
73
|
src: imageAli.ali(image, 64),
|
|
@@ -64,7 +76,11 @@ var Header = function Header(props) {
|
|
|
64
76
|
className: classNames("".concat(prefix, "product-right-wrap"), _defineProperty({}, "".concat(prefix, "product-right-wrap-stretch"), isShowEditProduct))
|
|
65
77
|
}, /*#__PURE__*/React.createElement("div", {
|
|
66
78
|
className: "".concat(prefix, "product-title")
|
|
67
|
-
}, /*#__PURE__*/React.createElement("span",
|
|
79
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
80
|
+
style: {
|
|
81
|
+
paddingRight: showDelete ? '18px' : '0'
|
|
82
|
+
}
|
|
83
|
+
}, name), showPrice ? /*#__PURE__*/React.createElement("span", {
|
|
68
84
|
className: "".concat(prefix, "product-title-price")
|
|
69
85
|
}, formatAmount(price, 2, symbol)) : null), product_option_string ? /*#__PURE__*/React.createElement("span", {
|
|
70
86
|
className: "".concat(prefix, "product-title-variant")
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import './index.less';
|
|
2
|
-
declare const SelectHolder: ({ lists, value, onChange, holderMode, isShowAddHolderButton, onAddHolder, addHolderButtonText, onClearHolder, isErrorHolder, allowClear, }: any) => JSX.Element;
|
|
2
|
+
declare const SelectHolder: ({ lists, value, onChange, holderMode, isShowAddHolderButton, onAddHolder, addHolderButtonText, onClearHolder, isErrorHolder, allowClear, holderMaxCount, }: any) => JSX.Element;
|
|
3
3
|
export default SelectHolder;
|
|
@@ -6,13 +6,13 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
|
6
6
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
7
|
import React, { useEffect, useMemo, useState } from 'react';
|
|
8
8
|
import { Select, Divider } from 'antd';
|
|
9
|
-
import { locales } from '@pisell/utils';
|
|
9
|
+
import { isArr, locales } from '@pisell/utils';
|
|
10
10
|
import Iconfont from "../../../../../iconfont";
|
|
11
11
|
import "./index.less";
|
|
12
12
|
var SelectHolder = function SelectHolder(_ref) {
|
|
13
13
|
var lists = _ref.lists,
|
|
14
14
|
value = _ref.value,
|
|
15
|
-
|
|
15
|
+
onChange = _ref.onChange,
|
|
16
16
|
holderMode = _ref.holderMode,
|
|
17
17
|
isShowAddHolderButton = _ref.isShowAddHolderButton,
|
|
18
18
|
onAddHolder = _ref.onAddHolder,
|
|
@@ -20,7 +20,8 @@ var SelectHolder = function SelectHolder(_ref) {
|
|
|
20
20
|
onClearHolder = _ref.onClearHolder,
|
|
21
21
|
isErrorHolder = _ref.isErrorHolder,
|
|
22
22
|
_ref$allowClear = _ref.allowClear,
|
|
23
|
-
allowClear = _ref$allowClear === void 0 ? false : _ref$allowClear
|
|
23
|
+
allowClear = _ref$allowClear === void 0 ? false : _ref$allowClear,
|
|
24
|
+
holderMaxCount = _ref.holderMaxCount;
|
|
24
25
|
var _useState = useState(),
|
|
25
26
|
_useState2 = _slicedToArray(_useState, 2),
|
|
26
27
|
selectedValue = _useState2[0],
|
|
@@ -48,8 +49,32 @@ var SelectHolder = function SelectHolder(_ref) {
|
|
|
48
49
|
setOpen(false);
|
|
49
50
|
};
|
|
50
51
|
var isError = useMemo(function () {
|
|
51
|
-
if (!
|
|
52
|
+
if (!isErrorHolder) {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
if (!selectedValue) {
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
if (isArr(selectedValue) && (selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.length) !== holderMaxCount) {
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
return false;
|
|
52
62
|
}, [selectedValue, isErrorHolder]);
|
|
63
|
+
var handleChange = function handleChange(val) {
|
|
64
|
+
var item;
|
|
65
|
+
if (isArr(val)) {
|
|
66
|
+
if (val.length > holderMaxCount) return;
|
|
67
|
+
item = lists.filter(function (d) {
|
|
68
|
+
return val.includes(d.id);
|
|
69
|
+
});
|
|
70
|
+
} else {
|
|
71
|
+
item = lists.find(function (d) {
|
|
72
|
+
return d.id === val;
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
setSelectedValue(val);
|
|
76
|
+
onChange(item);
|
|
77
|
+
};
|
|
53
78
|
return /*#__PURE__*/React.createElement("div", {
|
|
54
79
|
className: "pisell-lowcode-product-card-select-holder ".concat(isError ? 'pisell-lowcode-product-card-select-holder-error' : '')
|
|
55
80
|
}, /*#__PURE__*/React.createElement(Select, {
|
|
@@ -63,17 +88,11 @@ var SelectHolder = function SelectHolder(_ref) {
|
|
|
63
88
|
showSearch: true,
|
|
64
89
|
allowClear: allowClear,
|
|
65
90
|
onClear: function onClear() {
|
|
66
|
-
return
|
|
91
|
+
return onChange('');
|
|
67
92
|
},
|
|
68
93
|
value: selectedValue,
|
|
69
94
|
placeholder: locales.getText('pisell2.product.card.add.holder.placeholder')(addHolderButtonText),
|
|
70
|
-
onChange:
|
|
71
|
-
setSelectedValue(val);
|
|
72
|
-
var item = lists.find(function (d) {
|
|
73
|
-
return d.id === val;
|
|
74
|
-
});
|
|
75
|
-
_onChange(item);
|
|
76
|
-
},
|
|
95
|
+
onChange: handleChange,
|
|
77
96
|
options: lists.map(function (item) {
|
|
78
97
|
return {
|
|
79
98
|
label: item === null || item === void 0 ? void 0 : item.label,
|
|
@@ -33,3 +33,30 @@
|
|
|
33
33
|
border: 1px solid var(--Error-600, #d92d20) !important;
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
+
|
|
37
|
+
.select-holder-multiple-tag {
|
|
38
|
+
padding: 6px 12px;
|
|
39
|
+
border-radius: 12px;
|
|
40
|
+
display: inline-flex;
|
|
41
|
+
align-items: center;
|
|
42
|
+
font-size: 16px;
|
|
43
|
+
.pisell-lowcode-tag-close-icon {
|
|
44
|
+
font-size: 16px;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.select-holder-multiple-edit-button {
|
|
49
|
+
font-weight: 600;
|
|
50
|
+
line-height: 22px;
|
|
51
|
+
color: var(--Blue-600, #1570EF);
|
|
52
|
+
display: inline-block;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.select-holder-multiple-wrap {
|
|
56
|
+
display: flex;
|
|
57
|
+
align-items: center;
|
|
58
|
+
flex-wrap: wrap;
|
|
59
|
+
row-gap: 8px;
|
|
60
|
+
align-items: center;
|
|
61
|
+
flex-wrap: wrap;
|
|
62
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import './index.less';
|
|
2
|
+
interface SelectHolderModalProps {
|
|
3
|
+
visible: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
onConfirm: (value: any) => void;
|
|
6
|
+
lists: any[];
|
|
7
|
+
value: any[];
|
|
8
|
+
holderMaxCount: number;
|
|
9
|
+
addHolderButtonText: string;
|
|
10
|
+
onAdd: () => void;
|
|
11
|
+
}
|
|
12
|
+
declare const SelectHolderModal: (props: SelectHolderModalProps) => JSX.Element;
|
|
13
|
+
export default SelectHolderModal;
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
2
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
4
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
5
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
6
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
7
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
8
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
9
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
10
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
11
|
+
import React, { useEffect, useMemo, useState } from 'react';
|
|
12
|
+
import { locales } from '@pisell/utils';
|
|
13
|
+
import PisellModal from "../../../../../pisellModal";
|
|
14
|
+
import PisellCustomCheckboxGroup from "../../../../../pisellCustomCheckboxGroup";
|
|
15
|
+
import PisellCard from "../../../../../pisellCard";
|
|
16
|
+
import PisellAvatar from "../../../../../pisellAvatar";
|
|
17
|
+
import { Button, Checkbox } from 'antd';
|
|
18
|
+
import Iconfont from "../../../../../iconfont";
|
|
19
|
+
import "./index.less";
|
|
20
|
+
var SelectHolderModal = function SelectHolderModal(props) {
|
|
21
|
+
var lists = props.lists,
|
|
22
|
+
value = props.value,
|
|
23
|
+
visible = props.visible,
|
|
24
|
+
holderMaxCount = props.holderMaxCount,
|
|
25
|
+
addHolderButtonText = props.addHolderButtonText,
|
|
26
|
+
onClose = props.onClose,
|
|
27
|
+
onAdd = props.onAdd,
|
|
28
|
+
onConfirm = props.onConfirm;
|
|
29
|
+
var _useState = useState([]),
|
|
30
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
31
|
+
selectedValue = _useState2[0],
|
|
32
|
+
setSelectedValue = _useState2[1];
|
|
33
|
+
var renderItem = function renderItem(item) {
|
|
34
|
+
return /*#__PURE__*/React.createElement(PisellCard, {
|
|
35
|
+
key: item.id,
|
|
36
|
+
padding: 12,
|
|
37
|
+
selected: selectedValue.includes(item.id)
|
|
38
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
39
|
+
className: "select-holder-modal-card"
|
|
40
|
+
}, /*#__PURE__*/React.createElement(Checkbox, {
|
|
41
|
+
checked: selectedValue.includes(item.id)
|
|
42
|
+
}), /*#__PURE__*/React.createElement(PisellAvatar, {
|
|
43
|
+
src: item.avatar,
|
|
44
|
+
size: "lg",
|
|
45
|
+
useTextAvatar: true,
|
|
46
|
+
className: "select-holder-modal-add-item-avatar"
|
|
47
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
48
|
+
className: "select-holder-name"
|
|
49
|
+
}, item.label)), /*#__PURE__*/React.createElement("span", {
|
|
50
|
+
className: "select-holder-name"
|
|
51
|
+
}, item.label)));
|
|
52
|
+
};
|
|
53
|
+
var handleConfirm = function handleConfirm() {
|
|
54
|
+
onConfirm(selectedValue);
|
|
55
|
+
onClose();
|
|
56
|
+
};
|
|
57
|
+
useEffect(function () {
|
|
58
|
+
setSelectedValue(value || []);
|
|
59
|
+
}, [value, visible]);
|
|
60
|
+
var handleClick = function handleClick(value) {
|
|
61
|
+
if (value.id === 0) {
|
|
62
|
+
onAdd();
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
setSelectedValue(function (v) {
|
|
66
|
+
if (v.some(function (v) {
|
|
67
|
+
return v === value.id;
|
|
68
|
+
})) {
|
|
69
|
+
return v.filter(function (v) {
|
|
70
|
+
return v !== value.id;
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
if (v.length >= holderMaxCount) {
|
|
74
|
+
return v;
|
|
75
|
+
}
|
|
76
|
+
return [].concat(_toConsumableArray(v), [value.id]);
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
var handleClear = function handleClear() {
|
|
80
|
+
setSelectedValue([]);
|
|
81
|
+
};
|
|
82
|
+
var handleApply = function handleApply() {
|
|
83
|
+
onConfirm(selectedValue);
|
|
84
|
+
onClose();
|
|
85
|
+
};
|
|
86
|
+
var title = useMemo(function () {
|
|
87
|
+
return /*#__PURE__*/React.createElement("span", null, "".concat(locales.getText('pisell2.product.card.add.holder.modal.title.1'), " "), /*#__PURE__*/React.createElement("span", {
|
|
88
|
+
className: "select-holder-modal-title-count"
|
|
89
|
+
}, (selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.length) || 0, "/", holderMaxCount), " ".concat(addHolderButtonText));
|
|
90
|
+
}, [selectedValue, holderMaxCount, addHolderButtonText]);
|
|
91
|
+
var renderAddItem = function renderAddItem(item) {
|
|
92
|
+
return /*#__PURE__*/React.createElement(PisellCard, {
|
|
93
|
+
key: item.id,
|
|
94
|
+
padding: 12
|
|
95
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
96
|
+
className: "select-holder-modal-card"
|
|
97
|
+
}, /*#__PURE__*/React.createElement(PisellAvatar, {
|
|
98
|
+
src: item.avatar,
|
|
99
|
+
size: "lg",
|
|
100
|
+
useTextAvatar: true,
|
|
101
|
+
className: "select-holder-modal-add-item-avatar",
|
|
102
|
+
style: {
|
|
103
|
+
backgroundColor: 'var(--Pisell-, #EEE5FF)'
|
|
104
|
+
}
|
|
105
|
+
}, /*#__PURE__*/React.createElement(Iconfont, {
|
|
106
|
+
type: "pisell2-plus",
|
|
107
|
+
style: {
|
|
108
|
+
fontSize: '24px'
|
|
109
|
+
}
|
|
110
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
111
|
+
className: "select-holder-name"
|
|
112
|
+
}, locales.getText('pisell2.product.card.add.holder.modal.add'))));
|
|
113
|
+
};
|
|
114
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
115
|
+
onClick: function onClick(e) {
|
|
116
|
+
return e.stopPropagation();
|
|
117
|
+
}
|
|
118
|
+
}, /*#__PURE__*/React.createElement(PisellModal, {
|
|
119
|
+
open: visible,
|
|
120
|
+
onCancel: onClose,
|
|
121
|
+
onOk: handleConfirm,
|
|
122
|
+
width: 780,
|
|
123
|
+
footer: null,
|
|
124
|
+
title: title,
|
|
125
|
+
headerDivider: false
|
|
126
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
127
|
+
className: "select-holder-modal-content"
|
|
128
|
+
}, /*#__PURE__*/React.createElement(PisellCustomCheckboxGroup, {
|
|
129
|
+
className: "select-holder-modal-checkbox-group",
|
|
130
|
+
allowAdd: true,
|
|
131
|
+
dataSource: lists,
|
|
132
|
+
renderItem: renderItem,
|
|
133
|
+
renderAddItem: renderAddItem,
|
|
134
|
+
value: selectedValue,
|
|
135
|
+
isMultiple: true,
|
|
136
|
+
columns: 3,
|
|
137
|
+
horizontalGap: 16,
|
|
138
|
+
verticalGap: 16,
|
|
139
|
+
onClick: handleClick
|
|
140
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
141
|
+
className: "select-holder-modal-footer"
|
|
142
|
+
}, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, {
|
|
143
|
+
size: "large",
|
|
144
|
+
onClick: onClose,
|
|
145
|
+
className: "select-holder-modal-cancel-button"
|
|
146
|
+
}, locales.getText('pisell2.product.card.add.holder.modal.cancel'))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, {
|
|
147
|
+
size: "large",
|
|
148
|
+
onClick: handleClear,
|
|
149
|
+
className: "select-holder-modal-clear-button"
|
|
150
|
+
}, locales.getText('pisell2.product.card.add.holder.modal.clear')), /*#__PURE__*/React.createElement(Button, {
|
|
151
|
+
size: "large",
|
|
152
|
+
type: "primary",
|
|
153
|
+
onClick: handleApply,
|
|
154
|
+
className: "select-holder-modal-apply-button"
|
|
155
|
+
}, locales.getText('pisell2.product.card.add.holder.modal.apply')))))));
|
|
156
|
+
};
|
|
157
|
+
export default SelectHolderModal;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
.select-holder-modal-title-count {
|
|
2
|
+
color: var(--theme-color, #7f56da);
|
|
3
|
+
}
|
|
4
|
+
.select-holder-modal-content {
|
|
5
|
+
.select-holder-modal-checkbox-group {
|
|
6
|
+
margin-bottom: 16px;
|
|
7
|
+
max-height: 60vh;
|
|
8
|
+
overflow: auto !important;
|
|
9
|
+
}
|
|
10
|
+
.select-holder-modal-card {
|
|
11
|
+
display: flex;
|
|
12
|
+
align-items: center;
|
|
13
|
+
gap: 10px;
|
|
14
|
+
color: var(--Text-Text_1, #1b1b1b);
|
|
15
|
+
font-size: 16px;
|
|
16
|
+
font-weight: 600;
|
|
17
|
+
line-height: 22px;
|
|
18
|
+
}
|
|
19
|
+
.select-holder-modal-add-item-avatar {
|
|
20
|
+
flex-shrink: 0;
|
|
21
|
+
.anticon {
|
|
22
|
+
color: var(--Pisell-, #5d3f9f);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
.select-holder-modal-footer {
|
|
26
|
+
display: flex;
|
|
27
|
+
justify-content: space-between;
|
|
28
|
+
align-items: center;
|
|
29
|
+
padding: 16px 0 36px;
|
|
30
|
+
.select-holder-modal-apply-button {
|
|
31
|
+
width: 352px;
|
|
32
|
+
margin-left: 8px;
|
|
33
|
+
}
|
|
34
|
+
.select-holder-modal-cancel-button,
|
|
35
|
+
.select-holder-modal-clear-button {
|
|
36
|
+
width: 132px;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|