@fonixtree/magic-design 2.0.191 → 2.0.192
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/es/common/SelectStoreModal/SortableImageList/index.js +118 -0
- package/es/common/SelectStoreModal/SortableImageList/index.less +3 -0
- package/es/common/SelectStoreModal/index.js +756 -0
- package/es/common/SelectStoreModal/index.less +152 -0
- package/es/composite-comp/public/components/Stores/mobile/StoreItem/img/defaultImg.png +0 -0
- package/es/composite-comp/public/components/Stores/mobile/StoreItem/index.js +16 -6
- package/es/composite-comp/public/components/Stores/mobile/StoreItem/index.less +15 -1
- package/es/composite-comp/public/components/Stores/mobile/index.js +3 -5
- package/es/composite-comp/public/config-panels/StoresConfig/ConfigContent/index.js +1 -1
- package/es/locale/ar/ar.json +3 -0
- package/es/locale/en/en.json +3 -0
- package/es/locale/es/es.json +3 -0
- package/es/locale/mn/mn.json +3 -0
- package/lib/common/SelectStoreModal/SortableImageList/index.js +118 -0
- package/lib/common/SelectStoreModal/SortableImageList/index.less +3 -0
- package/lib/common/SelectStoreModal/index.js +756 -0
- package/lib/common/SelectStoreModal/index.less +152 -0
- package/lib/composite-comp/public/components/Stores/mobile/StoreItem/img/defaultImg.png +0 -0
- package/lib/composite-comp/public/components/Stores/mobile/StoreItem/index.js +16 -6
- package/lib/composite-comp/public/components/Stores/mobile/StoreItem/index.less +15 -1
- package/lib/composite-comp/public/components/Stores/mobile/index.js +3 -5
- package/lib/composite-comp/public/config-panels/StoresConfig/ConfigContent/index.js +1 -1
- package/lib/locale/ar/ar.json +3 -0
- package/lib/locale/en/en.json +3 -0
- package/lib/locale/es/es.json +3 -0
- package/lib/locale/mn/mn.json +3 -0
- package/package.json +1 -1
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
.modalCot {
|
|
2
|
+
width: 1200px;
|
|
3
|
+
right: unset !important;
|
|
4
|
+
left: unset !important;
|
|
5
|
+
|
|
6
|
+
.proModalWrap {
|
|
7
|
+
thead .cylon-checkbox {
|
|
8
|
+
visibility: hidden;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.content {
|
|
12
|
+
display: flex;
|
|
13
|
+
margin-bottom: 8px;
|
|
14
|
+
|
|
15
|
+
.rightCot {
|
|
16
|
+
width: calc(100% - 260px);
|
|
17
|
+
margin-left: 16px;
|
|
18
|
+
display: flex;
|
|
19
|
+
flex-direction: column;
|
|
20
|
+
justify-content: flex-start;
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
.btn-select-type {
|
|
24
|
+
text-align: right;
|
|
25
|
+
margin-bottom: 15px;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.prodImg {
|
|
29
|
+
display: inline-block;
|
|
30
|
+
width: 36px;
|
|
31
|
+
height: 36px;
|
|
32
|
+
background-size: cover;
|
|
33
|
+
background-position: 50% 50%;
|
|
34
|
+
background-repeat: no-repeat;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.selectedCot {
|
|
38
|
+
padding-right: 18px;
|
|
39
|
+
margin-left: 4px;
|
|
40
|
+
height: 78px;
|
|
41
|
+
background: #f8f8f8;
|
|
42
|
+
border: 1px solid #e0e0e0;
|
|
43
|
+
border-radius: 2px;
|
|
44
|
+
display: flex;
|
|
45
|
+
flex-direction: row;
|
|
46
|
+
// flex-wrap: wrap;
|
|
47
|
+
overflow-x: auto;
|
|
48
|
+
|
|
49
|
+
.selectedItem {
|
|
50
|
+
box-sizing: border-box;
|
|
51
|
+
margin-top: 12px;
|
|
52
|
+
margin-left: 18px;
|
|
53
|
+
height: 52px;
|
|
54
|
+
position: relative;
|
|
55
|
+
|
|
56
|
+
&:hover {
|
|
57
|
+
.selectedItemImg {
|
|
58
|
+
width: 52px;
|
|
59
|
+
height: 52px;
|
|
60
|
+
border: 1px solid #4477ee !important;
|
|
61
|
+
box-shadow: 0 0 0 2px rgba(68, 119, 238, 0.15);
|
|
62
|
+
border-radius: 2px;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.selectedItemClose {
|
|
66
|
+
display: flex;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.selectedItemClose {
|
|
71
|
+
display: none;
|
|
72
|
+
border: 1px solid #000;
|
|
73
|
+
width: 16px;
|
|
74
|
+
height: 16px;
|
|
75
|
+
border-radius: 50%;
|
|
76
|
+
padding: 2px;
|
|
77
|
+
position: absolute;
|
|
78
|
+
top: -9px;
|
|
79
|
+
right: -8px;
|
|
80
|
+
z-index: 400;
|
|
81
|
+
cursor: pointer;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// &:nth-child(n + 11) {
|
|
85
|
+
// margin-top: 5px !important;
|
|
86
|
+
// }
|
|
87
|
+
|
|
88
|
+
.selectedItemImg {
|
|
89
|
+
height: 52px;
|
|
90
|
+
width: 52px;
|
|
91
|
+
border: 1px solid #e0e0e0;
|
|
92
|
+
border-radius: 2px;
|
|
93
|
+
|
|
94
|
+
&.invalid {
|
|
95
|
+
border: 1px solid red;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.leftCot {
|
|
103
|
+
width: 260px;
|
|
104
|
+
padding-right: 14px;
|
|
105
|
+
box-sizing: border-box;
|
|
106
|
+
border-right: 1px solid #e0e0e0;
|
|
107
|
+
|
|
108
|
+
.divider {
|
|
109
|
+
width: 10%;
|
|
110
|
+
display: inline-block;
|
|
111
|
+
text-align: center;
|
|
112
|
+
height: 32px;
|
|
113
|
+
line-height: 32px;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.buttonStyle {
|
|
117
|
+
margin-top: 10px;
|
|
118
|
+
display: flex;
|
|
119
|
+
flex-direction: row-reverse;
|
|
120
|
+
align-items: center;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.footer {
|
|
126
|
+
padding-top: 12px;
|
|
127
|
+
display: flex;
|
|
128
|
+
align-items: center;
|
|
129
|
+
justify-content: space-between;
|
|
130
|
+
border-top: 1px solid #e0e0e0;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.total {
|
|
134
|
+
font-size: 16px;
|
|
135
|
+
color: #2d3040;
|
|
136
|
+
letter-spacing: 0;
|
|
137
|
+
|
|
138
|
+
.totalNum {
|
|
139
|
+
color: #4477ee;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.cylon-modal-root {
|
|
146
|
+
display: flex;
|
|
147
|
+
justify-content: center;
|
|
148
|
+
position: absolute;
|
|
149
|
+
left: 0;
|
|
150
|
+
right: 0;
|
|
151
|
+
z-index: 1001;
|
|
152
|
+
}
|
|
Binary file
|
|
@@ -9,6 +9,8 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
9
9
|
|
|
10
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
11
|
|
|
12
|
+
var _defaultImg = _interopRequireDefault(require("./img/defaultImg.png"));
|
|
13
|
+
|
|
12
14
|
var _commonUtil = require("../../../../../../utils/commonUtil");
|
|
13
15
|
|
|
14
16
|
var _currencyUtil = require("../../../../../../utils/currencyUtil");
|
|
@@ -121,19 +123,23 @@ function (_super) {
|
|
|
121
123
|
}, /*#__PURE__*/_react["default"].createElement(_common.NewImg, {
|
|
122
124
|
className: "product-img",
|
|
123
125
|
lazy: true,
|
|
124
|
-
src: data.storePosterUrl ||
|
|
126
|
+
src: data.storePosterUrl || _defaultImg["default"]
|
|
125
127
|
}), freeDeliveryLabel.open && data.freeShipping === 'Y' && /*#__PURE__*/_react["default"].createElement(_components.MetaButton, {
|
|
126
128
|
className: "flag",
|
|
127
129
|
data: freeDeliveryLabel
|
|
128
130
|
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
129
131
|
className: "content-wrap"
|
|
130
|
-
}, storeName.open && /*#__PURE__*/_react["default"].createElement(
|
|
132
|
+
}, storeName.open && /*#__PURE__*/_react["default"].createElement("div", {
|
|
133
|
+
className: "name-row"
|
|
134
|
+
}, /*#__PURE__*/_react["default"].createElement(_components.MetaText, {
|
|
131
135
|
className: "name",
|
|
132
136
|
data: __assign(__assign({}, storeName), {
|
|
133
137
|
text: data.storeName
|
|
134
138
|
}),
|
|
135
139
|
readonly: true
|
|
136
|
-
}),
|
|
140
|
+
}), data.newFlag === 'Y' && /*#__PURE__*/_react["default"].createElement("span", {
|
|
141
|
+
className: "new"
|
|
142
|
+
}, "New")), minOrder.open && /*#__PURE__*/_react["default"].createElement(_components.MetaText, {
|
|
137
143
|
className: "minOrder no-reversed",
|
|
138
144
|
data: __assign(__assign({}, minOrder), {
|
|
139
145
|
text: (0, _commonUtil.reverseStrArr)([(0, _locale.i18n)('MIN_ORDER'), ':', (data.minOrderAmount || 0) + " IQD"])
|
|
@@ -177,19 +183,23 @@ function (_super) {
|
|
|
177
183
|
}, /*#__PURE__*/_react["default"].createElement(_common.NewImg, {
|
|
178
184
|
className: "product-img",
|
|
179
185
|
lazy: true,
|
|
180
|
-
src: data.
|
|
186
|
+
src: data.storeLogoUrl || _defaultImg["default"]
|
|
181
187
|
}), freeDeliveryLabel.open && data.freeShipping === 'Y' && /*#__PURE__*/_react["default"].createElement(_components.MetaButton, {
|
|
182
188
|
className: "flag",
|
|
183
189
|
data: freeDeliveryLabel
|
|
184
190
|
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
185
191
|
className: "content-wrap"
|
|
186
|
-
}, storeName.open && /*#__PURE__*/_react["default"].createElement(
|
|
192
|
+
}, storeName.open && /*#__PURE__*/_react["default"].createElement("div", {
|
|
193
|
+
className: "name-row"
|
|
194
|
+
}, /*#__PURE__*/_react["default"].createElement(_components.MetaText, {
|
|
187
195
|
className: "name",
|
|
188
196
|
data: __assign(__assign({}, storeName), {
|
|
189
197
|
text: data.storeName
|
|
190
198
|
}),
|
|
191
199
|
readonly: true
|
|
192
|
-
}),
|
|
200
|
+
}), data.newFlag === 'Y' && /*#__PURE__*/_react["default"].createElement("span", {
|
|
201
|
+
className: "new"
|
|
202
|
+
}, "New")), storeDesc.open && /*#__PURE__*/_react["default"].createElement(_components.MetaText, {
|
|
193
203
|
className: "desc",
|
|
194
204
|
data: __assign(__assign({}, storeDesc), {
|
|
195
205
|
text: data.comments
|
|
@@ -24,10 +24,24 @@
|
|
|
24
24
|
padding: 0.12rem 0.2rem;
|
|
25
25
|
width: 4.4rem;
|
|
26
26
|
}
|
|
27
|
-
.m-store-item-wrap .content-wrap .name {
|
|
27
|
+
.m-store-item-wrap .content-wrap .name-row {
|
|
28
|
+
display: flex;
|
|
29
|
+
align-items: center;
|
|
30
|
+
}
|
|
31
|
+
.m-store-item-wrap .content-wrap .name-row .name {
|
|
28
32
|
overflow: hidden;
|
|
29
33
|
white-space: nowrap;
|
|
30
34
|
text-overflow: ellipsis;
|
|
35
|
+
width: fit-content !important;
|
|
36
|
+
}
|
|
37
|
+
.m-store-item-wrap .content-wrap .name-row .new {
|
|
38
|
+
background: rgba(110, 157, 40, 0.25);
|
|
39
|
+
color: #395212;
|
|
40
|
+
font-size: 0.24rem;
|
|
41
|
+
border-radius: 0.08rem;
|
|
42
|
+
padding: 0.1rem 0.12rem;
|
|
43
|
+
margin-left: 0.16rem;
|
|
44
|
+
line-height: 1;
|
|
31
45
|
}
|
|
32
46
|
.m-store-item-wrap .content-wrap .desc {
|
|
33
47
|
overflow: hidden;
|
|
@@ -19,6 +19,8 @@ var _commonUtil = require("../../../../../utils/commonUtil");
|
|
|
19
19
|
|
|
20
20
|
var _coreUtil = require("../../../../../utils/coreUtil");
|
|
21
21
|
|
|
22
|
+
var _storeUtil = require("../../../../../utils/storeUtil");
|
|
23
|
+
|
|
22
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
23
25
|
|
|
24
26
|
var __extends = void 0 && (void 0).__extends || function () {
|
|
@@ -210,8 +212,6 @@ var defaultData = [{
|
|
|
210
212
|
storeId: 1,
|
|
211
213
|
storeName: '落落彩虹的大超市',
|
|
212
214
|
comments: '没有比我面积更大、性价比更高的商品了。',
|
|
213
|
-
storeLogoUrl: '/get/resource/store6/conf/20240905/picture/3331831612826257207296_600.jpg',
|
|
214
|
-
storePosterUrl: '/get/resource/store6/conf/20240905/picture/11111831612121177927680_600.png',
|
|
215
215
|
freeShipping: null,
|
|
216
216
|
distance: '0',
|
|
217
217
|
deliveryTime: null,
|
|
@@ -222,8 +222,6 @@ var defaultData = [{
|
|
|
222
222
|
storeId: 2,
|
|
223
223
|
storeName: '落落彩虹的大超市',
|
|
224
224
|
comments: '没有比我面积更大、性价比更高的商品了。',
|
|
225
|
-
storeLogoUrl: '/get/resource/store6/conf/20240905/picture/3331831612826257207296_600.jpg',
|
|
226
|
-
storePosterUrl: '/get/resource/store6/conf/20240905/picture/11111831612121177927680_600.png',
|
|
227
225
|
freeShipping: 'Y',
|
|
228
226
|
distance: '18',
|
|
229
227
|
deliveryTime: null,
|
|
@@ -271,7 +269,7 @@ function (_super) {
|
|
|
271
269
|
}
|
|
272
270
|
|
|
273
271
|
if ((0, _commonUtil.isLogin)()) {
|
|
274
|
-
info = getStore('USER_ADDRESS_INFO') || {};
|
|
272
|
+
info = (0, _storeUtil.getStore)('USER_ADDRESS_INFO') || {};
|
|
275
273
|
|
|
276
274
|
if (info.longitude && info.latitude) {
|
|
277
275
|
params.longitude = info.longitude;
|
|
@@ -127,7 +127,7 @@ function (_super) {
|
|
|
127
127
|
}, {
|
|
128
128
|
key: '8',
|
|
129
129
|
name: (0, _locale.i18n)('DISTANCE'),
|
|
130
|
-
value: /*#__PURE__*/_react["default"].createElement(
|
|
130
|
+
value: /*#__PURE__*/_react["default"].createElement(_ButtonConfig["default"], {
|
|
131
131
|
data: panelProps.distance
|
|
132
132
|
}),
|
|
133
133
|
metaOption: panelProps.distance
|
package/es/locale/ar/ar.json
CHANGED
package/es/locale/en/en.json
CHANGED
package/es/locale/es/es.json
CHANGED
package/es/locale/mn/mn.json
CHANGED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = SortableImageList;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
var _immutabilityHelper = _interopRequireDefault(require("immutability-helper"));
|
|
13
|
+
|
|
14
|
+
var _Iconfont = _interopRequireDefault(require("../../Iconfont"));
|
|
15
|
+
|
|
16
|
+
require("./index.less");
|
|
17
|
+
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
19
|
+
|
|
20
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
|
+
|
|
22
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
+
|
|
24
|
+
function SortableImageList(_a) {
|
|
25
|
+
var selectedList = _a.selectedList,
|
|
26
|
+
setSelectedList = _a.setSelectedList;
|
|
27
|
+
|
|
28
|
+
var _b = (0, _react.useState)(''),
|
|
29
|
+
dragId = _b[0],
|
|
30
|
+
setDragId = _b[1];
|
|
31
|
+
|
|
32
|
+
var _c = (0, _react.useState)(selectedList || []),
|
|
33
|
+
list = _c[0],
|
|
34
|
+
setList = _c[1];
|
|
35
|
+
|
|
36
|
+
var ref = (0, _react.useRef)();
|
|
37
|
+
|
|
38
|
+
var onDragEnd = function onDragEnd() {
|
|
39
|
+
console.log('onDragEnd');
|
|
40
|
+
setDragId('');
|
|
41
|
+
|
|
42
|
+
if (ref.current) {
|
|
43
|
+
setSelectedList(ref.current);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
(0, _react.useEffect)(function () {
|
|
48
|
+
setList(selectedList || []);
|
|
49
|
+
}, [selectedList]);
|
|
50
|
+
|
|
51
|
+
var delSelectedItem = function delSelectedItem(index) {
|
|
52
|
+
var rows = JSON.parse(JSON.stringify(selectedList));
|
|
53
|
+
rows.splice(index, 1);
|
|
54
|
+
setSelectedList(rows);
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
var moveCard = (0, _react.useCallback)(function (dragNodeId, hoverNodeId) {
|
|
58
|
+
var dragIndex = list.findIndex(function (comp) {
|
|
59
|
+
return comp.productId === Number(dragNodeId);
|
|
60
|
+
});
|
|
61
|
+
var hoverIndex = list.findIndex(function (comp) {
|
|
62
|
+
return comp.productId === Number(hoverNodeId);
|
|
63
|
+
});
|
|
64
|
+
setList(function (prevCards) {
|
|
65
|
+
var newList = (0, _immutabilityHelper["default"])(prevCards, {
|
|
66
|
+
$splice: [[dragIndex, 1], [hoverIndex, 0, prevCards[dragIndex]]]
|
|
67
|
+
});
|
|
68
|
+
ref.current = newList;
|
|
69
|
+
return newList;
|
|
70
|
+
});
|
|
71
|
+
}, [list]);
|
|
72
|
+
|
|
73
|
+
var onDragEnter = function onDragEnter(e) {
|
|
74
|
+
console.log('onDragEnter');
|
|
75
|
+
var hoverNodeId = e.currentTarget.dataset.nodeid;
|
|
76
|
+
|
|
77
|
+
if (dragId === hoverNodeId) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
moveCard(dragId, hoverNodeId);
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
var onDragStart = function onDragStart(e) {
|
|
85
|
+
setDragId(e.currentTarget.dataset.nodeid);
|
|
86
|
+
console.log('onDragStart');
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
90
|
+
className: "imgListWrap"
|
|
91
|
+
}, list.map(function (item, index) {
|
|
92
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
93
|
+
key: index,
|
|
94
|
+
className: "selectedItem"
|
|
95
|
+
}, /*#__PURE__*/_react["default"].createElement("img", {
|
|
96
|
+
alt: "",
|
|
97
|
+
className: "selectedItemImg " + (item.state !== 'A' ? 'invalid' : ''),
|
|
98
|
+
"data-nodeid": item.productId,
|
|
99
|
+
draggable: "true",
|
|
100
|
+
onDragEnd: onDragEnd,
|
|
101
|
+
onDragEnter: onDragEnter,
|
|
102
|
+
onDragOver: function onDragOver(e) {
|
|
103
|
+
e.preventDefault();
|
|
104
|
+
},
|
|
105
|
+
onDragStart: onDragStart,
|
|
106
|
+
src: item.productImageUrl,
|
|
107
|
+
title: item.productName
|
|
108
|
+
}), /*#__PURE__*/_react["default"].createElement(_Iconfont["default"], {
|
|
109
|
+
className: "selectedItemClose",
|
|
110
|
+
color: "#000",
|
|
111
|
+
onClick: function onClick() {
|
|
112
|
+
return delSelectedItem(index);
|
|
113
|
+
},
|
|
114
|
+
size: 12,
|
|
115
|
+
type: "icon-close"
|
|
116
|
+
}));
|
|
117
|
+
}));
|
|
118
|
+
}
|