@power-xa/m-ui 0.0.2 → 0.0.4
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/README.md +6 -1
- package/dist/Filter/index.d.ts +1 -1
- package/dist/PageContainer/index.d.ts +1 -0
- package/dist/PageContainer/index.js +14 -3
- package/dist/PageContainer/index.less +8 -0
- package/dist/ProForm/Form/index.js +72 -49
- package/dist/ProForm/typings.d.ts +1 -3
- package/dist/Tabs/index.d.ts +2 -2
- package/dist/Tabs/index.js +21 -14
- package/package.json +1 -1
package/README.md
CHANGED
package/dist/Filter/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { Fragment } from "react";
|
|
2
|
-
import { getMenuButtonBoundingClientRect, navigateBack } from "@tarojs/taro";
|
|
2
|
+
import { getMenuButtonBoundingClientRect, navigateBack, getWindowInfo } from "@tarojs/taro";
|
|
3
3
|
import { ScrollView, Text, View } from "@tarojs/components";
|
|
4
4
|
import "./index.less";
|
|
5
5
|
var PageContainer = function PageContainer(_ref) {
|
|
@@ -8,11 +8,17 @@ var PageContainer = function PageContainer(_ref) {
|
|
|
8
8
|
header = _ref.header,
|
|
9
9
|
children = _ref.children,
|
|
10
10
|
className = _ref.className,
|
|
11
|
-
disabledScroll = _ref.disabledScroll
|
|
11
|
+
disabledScroll = _ref.disabledScroll,
|
|
12
|
+
footer = _ref.footer;
|
|
12
13
|
var _getMenuButtonBoundin = getMenuButtonBoundingClientRect(),
|
|
13
14
|
top = _getMenuButtonBoundin.top,
|
|
14
15
|
height = _getMenuButtonBoundin.height,
|
|
15
16
|
left = _getMenuButtonBoundin.left;
|
|
17
|
+
var _getWindowInfo = getWindowInfo(),
|
|
18
|
+
safeArea = _getWindowInfo.safeArea;
|
|
19
|
+
var _ref2 = safeArea,
|
|
20
|
+
safeAreaHeight = _ref2.height,
|
|
21
|
+
bottom = _ref2.bottom;
|
|
16
22
|
return /*#__PURE__*/React.createElement(View, {
|
|
17
23
|
className: "p-page-container ".concat(className),
|
|
18
24
|
style: !fixedHeader ? {
|
|
@@ -45,6 +51,11 @@ var PageContainer = function PageContainer(_ref) {
|
|
|
45
51
|
enhanced: true,
|
|
46
52
|
showScrollbar: false,
|
|
47
53
|
className: "p-page-content"
|
|
48
|
-
}, children)
|
|
54
|
+
}, children), footer && /*#__PURE__*/React.createElement(View, {
|
|
55
|
+
className: "p-page-footer",
|
|
56
|
+
style: {
|
|
57
|
+
paddingBottom: "".concat(bottom - safeAreaHeight > 24 ? bottom - safeAreaHeight : 24, "rpx")
|
|
58
|
+
}
|
|
59
|
+
}, footer));
|
|
49
60
|
};
|
|
50
61
|
export default PageContainer;
|
|
@@ -11,7 +11,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
11
11
|
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; } }
|
|
12
12
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13
13
|
import React, { cloneElement, forwardRef, Fragment, useCallback, useEffect, useImperativeHandle, useState } from "react";
|
|
14
|
-
import { getWindowInfo, showToast
|
|
14
|
+
import { getWindowInfo, showToast } from "@tarojs/taro";
|
|
15
15
|
import { ScrollView, Text, View } from "@tarojs/components";
|
|
16
16
|
import { Button, ActionSheet, getObjectPathValue, setObjectPathValue } from "../..";
|
|
17
17
|
import "./index.less";
|
|
@@ -90,61 +90,84 @@ var ProForm = function ProForm(_ref, ref) {
|
|
|
90
90
|
}));
|
|
91
91
|
}).flat();
|
|
92
92
|
}, [form]);
|
|
93
|
-
var
|
|
94
|
-
var controlList = getControlsList(children instanceof Array ? children : [children]);
|
|
93
|
+
var validFormRequired = useCallback(function (formList) {
|
|
95
94
|
/* 必填校验 */
|
|
96
|
-
|
|
97
|
-
var
|
|
98
|
-
|
|
99
|
-
return r
|
|
100
|
-
})));
|
|
101
|
-
});
|
|
102
|
-
var condition = function condition(e) {
|
|
103
|
-
return [undefined, null, ""].includes(e.props.value) || e.props.value instanceof Array && !e.props.value.length;
|
|
104
|
-
};
|
|
105
|
-
if (requiredList.some(condition)) {
|
|
106
|
-
var _e$props$rules;
|
|
107
|
-
var e = requiredList.find(condition);
|
|
108
|
-
return showToast({
|
|
109
|
-
title: (e === null || e === void 0 || (_e$props$rules = e.props.rules) === null || _e$props$rules === void 0 || (_e$props$rules = _e$props$rules.find(function (r) {
|
|
95
|
+
return new Promise(function (resolve, reject) {
|
|
96
|
+
var requiredList = formList.filter(function (item) {
|
|
97
|
+
var _item$rules;
|
|
98
|
+
return (((_item$rules = item.rules) === null || _item$rules === void 0 ? void 0 : _item$rules.some(function (r) {
|
|
110
99
|
return r.required;
|
|
111
|
-
}))
|
|
112
|
-
icon: "none"
|
|
100
|
+
})) || item.required) && !item.hidden && item.name;
|
|
113
101
|
});
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
102
|
+
var condition = function condition(item) {
|
|
103
|
+
return [undefined, null, ""].includes(item.value) || item.value instanceof Array && !item.value.length;
|
|
104
|
+
};
|
|
105
|
+
if (requiredList.some(condition)) {
|
|
106
|
+
var _form = requiredList.find(condition);
|
|
107
|
+
if (_form) {
|
|
108
|
+
var _form$rules;
|
|
109
|
+
var message = ((_form$rules = _form.rules) === null || _form$rules === void 0 || (_form$rules = _form$rules.find(function (r) {
|
|
110
|
+
return r.required;
|
|
111
|
+
})) === null || _form$rules === void 0 ? void 0 : _form$rules.message) || _form.label + "必填";
|
|
112
|
+
showToast({
|
|
113
|
+
title: message,
|
|
114
|
+
icon: "none"
|
|
115
|
+
});
|
|
116
|
+
reject(message);
|
|
117
|
+
}
|
|
118
|
+
} else {
|
|
119
|
+
resolve();
|
|
120
|
+
}
|
|
121
121
|
});
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
return !p.test(e.props.value);
|
|
130
|
-
})) return true;
|
|
131
|
-
return false;
|
|
132
|
-
};
|
|
133
|
-
if (patternControlList.some(patternCondition)) {
|
|
134
|
-
var _e$props$rules2;
|
|
135
|
-
var _e = patternControlList.find(patternCondition);
|
|
136
|
-
if (_e) return showToast({
|
|
137
|
-
title: (_e === null || _e === void 0 || (_e$props$rules2 = _e.props.rules) === null || _e$props$rules2 === void 0 || (_e$props$rules2 = _e$props$rules2.find(function (r) {
|
|
122
|
+
}, []);
|
|
123
|
+
var validFormRegExp = useCallback(function (formList) {
|
|
124
|
+
/* 正则校验 */
|
|
125
|
+
return new Promise(function (resolve, reject) {
|
|
126
|
+
var patternList = formList.filter(function (item) {
|
|
127
|
+
var _item$rules2;
|
|
128
|
+
return ((_item$rules2 = item.rules) === null || _item$rules2 === void 0 ? void 0 : _item$rules2.some(function (r) {
|
|
138
129
|
return r.pattern;
|
|
139
|
-
}))
|
|
140
|
-
icon: "none"
|
|
130
|
+
})) && item.name && !item.hidden && item.value;
|
|
141
131
|
});
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
132
|
+
var condition = function condition(item) {
|
|
133
|
+
var _item$rules3;
|
|
134
|
+
var list = (_item$rules3 = item.rules) === null || _item$rules3 === void 0 ? void 0 : _item$rules3.filter(function (r) {
|
|
135
|
+
return r.pattern;
|
|
136
|
+
}).map(function (r) {
|
|
137
|
+
r.pattern.lastIndex = 0;
|
|
138
|
+
return r.pattern;
|
|
139
|
+
});
|
|
140
|
+
return list === null || list === void 0 ? void 0 : list.some(function (p) {
|
|
141
|
+
return !(p !== null && p !== void 0 && p.test(item.value));
|
|
142
|
+
});
|
|
143
|
+
};
|
|
144
|
+
if (patternList.some(condition)) {
|
|
145
|
+
var _form2 = patternList.find(condition);
|
|
146
|
+
if (_form2) {
|
|
147
|
+
var _form2$rules;
|
|
148
|
+
var message = (_form2 === null || _form2 === void 0 || (_form2$rules = _form2.rules) === null || _form2$rules === void 0 || (_form2$rules = _form2$rules.find(function (r) {
|
|
149
|
+
return r.pattern;
|
|
150
|
+
})) === null || _form2$rules === void 0 ? void 0 : _form2$rules.message) || _form2.label + "格式有误";
|
|
151
|
+
showToast({
|
|
152
|
+
title: message,
|
|
153
|
+
icon: "none"
|
|
154
|
+
});
|
|
155
|
+
reject(message);
|
|
156
|
+
}
|
|
157
|
+
} else {
|
|
158
|
+
resolve();
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
}, []);
|
|
162
|
+
var saveForm = useCallback(function () {
|
|
163
|
+
var formList = getControlsList(children instanceof Array ? children : [children]).map(function (item) {
|
|
164
|
+
return item.props;
|
|
165
|
+
});
|
|
166
|
+
validFormRequired(formList);
|
|
167
|
+
validFormRegExp(formList);
|
|
168
|
+
Promise.all([validFormRequired(formList), validFormRegExp(formList)]).then(function () {
|
|
169
|
+
return onOk === null || onOk === void 0 ? void 0 : onOk(form);
|
|
146
170
|
});
|
|
147
|
-
onOk === null || onOk === void 0 || onOk(form);
|
|
148
171
|
}, [form]);
|
|
149
172
|
var renderContent = useCallback(function () {
|
|
150
173
|
var elementList = children instanceof Array ? children : [children];
|
|
@@ -89,8 +89,6 @@ declare namespace ProFormAPI {
|
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
type ProFormItemProps = {
|
|
92
|
-
/* flex占比 */
|
|
93
|
-
flex?: number;
|
|
94
92
|
/* 对齐方式 */
|
|
95
93
|
layout?: "horizontal" | "vertical";
|
|
96
94
|
/* 表单Key */
|
|
@@ -136,7 +134,7 @@ declare namespace ProFormAPI {
|
|
|
136
134
|
/* 请求选项 */
|
|
137
135
|
request?: (params?: { [key: string]: any }) => Promise<{ [key: string]: any }[]>;
|
|
138
136
|
/* 选项字段名 */
|
|
139
|
-
fieldNames?: { label: string, value: string };
|
|
137
|
+
fieldNames?: { label: string, value: string, children?: string };
|
|
140
138
|
/* 选项是否平铺 */
|
|
141
139
|
optionType?: boolean;
|
|
142
140
|
/* 项目ID */
|
package/dist/Tabs/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { FC, ReactNode
|
|
1
|
+
import { FC, ReactNode } from "react";
|
|
2
2
|
import "./index.less";
|
|
3
3
|
type TabItemProps = {
|
|
4
4
|
label: string;
|
|
5
5
|
icon?: string;
|
|
6
6
|
key: string;
|
|
7
|
-
children?:
|
|
7
|
+
children?: ReactNode;
|
|
8
8
|
init?: boolean;
|
|
9
9
|
};
|
|
10
10
|
type TabsProps = {
|
package/dist/Tabs/index.js
CHANGED
|
@@ -14,7 +14,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
14
14
|
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; }
|
|
15
15
|
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; } }
|
|
16
16
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
17
|
-
import React, { useCallback, useEffect, useState, cloneElement } from "react";
|
|
17
|
+
import React, { useCallback, useEffect, useState, cloneElement, isValidElement } from "react";
|
|
18
18
|
import { ScrollView, Swiper, SwiperItem, Text, View } from "@tarojs/components";
|
|
19
19
|
import { createSelectorQuery } from "@tarojs/taro";
|
|
20
20
|
import "./index.less";
|
|
@@ -54,7 +54,7 @@ var Tabs = function Tabs(_ref) {
|
|
|
54
54
|
height = _useState10[0],
|
|
55
55
|
setHeight = _useState10[1];
|
|
56
56
|
useEffect(function () {
|
|
57
|
-
if (items.length) {
|
|
57
|
+
if (items.length !== tabsList.length) {
|
|
58
58
|
setSelectKey(activeKey || items[0].key);
|
|
59
59
|
setTabsList(items.map(function (item, index) {
|
|
60
60
|
return _objectSpread(_objectSpread({}, item), {}, {
|
|
@@ -66,7 +66,7 @@ var Tabs = function Tabs(_ref) {
|
|
|
66
66
|
getSwiperHeight();
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
|
-
}, []);
|
|
69
|
+
}, [tabsList, items]);
|
|
70
70
|
useEffect(function () {
|
|
71
71
|
var _tabsList$find;
|
|
72
72
|
if (selectKey !== activeKey) onChange === null || onChange === void 0 || onChange(selectKey);
|
|
@@ -113,6 +113,23 @@ var Tabs = function Tabs(_ref) {
|
|
|
113
113
|
}).exec();
|
|
114
114
|
}
|
|
115
115
|
}, [tabsList, selectKey, parentLeft]);
|
|
116
|
+
var renderSwiperTabContent = useCallback(function (tab) {
|
|
117
|
+
var _items$find;
|
|
118
|
+
var children = (_items$find = items.find(function (item) {
|
|
119
|
+
return item.key == tab.key;
|
|
120
|
+
})) === null || _items$find === void 0 ? void 0 : _items$find.children;
|
|
121
|
+
if (tab.init && /*#__PURE__*/isValidElement(children)) return /*#__PURE__*/cloneElement(children, _objectSpread(_objectSpread({}, children.props), {}, {
|
|
122
|
+
onRefresh: function onRefresh(keys) {
|
|
123
|
+
keys.forEach(function (item) {
|
|
124
|
+
var tab = tabsList.find(function (tab) {
|
|
125
|
+
return tab.key === item;
|
|
126
|
+
});
|
|
127
|
+
if (tab !== null && tab !== void 0 && tab.init) tab.init = false;
|
|
128
|
+
});
|
|
129
|
+
setTabsList(_toConsumableArray(tabsList));
|
|
130
|
+
}
|
|
131
|
+
}));
|
|
132
|
+
}, [items]);
|
|
116
133
|
return /*#__PURE__*/React.createElement(View, {
|
|
117
134
|
className: "p-tabs-container ".concat(className, " ").concat(isCardList ? 'p-tabs-card-list-container' : '', " ").concat(centered ? 'p-tabs-centered-container' : '')
|
|
118
135
|
}, /*#__PURE__*/React.createElement(View, {
|
|
@@ -168,17 +185,7 @@ var Tabs = function Tabs(_ref) {
|
|
|
168
185
|
}, /*#__PURE__*/React.createElement(View, {
|
|
169
186
|
id: "swiper-tab-content",
|
|
170
187
|
className: "swiper-tab-content-view"
|
|
171
|
-
},
|
|
172
|
-
onRefresh: function onRefresh(keys) {
|
|
173
|
-
keys.forEach(function (item) {
|
|
174
|
-
var tab = tabsList.find(function (tab) {
|
|
175
|
-
return tab.key === item;
|
|
176
|
-
});
|
|
177
|
-
if (tab !== null && tab !== void 0 && tab.init) tab.init = false;
|
|
178
|
-
});
|
|
179
|
-
setTabsList(_toConsumableArray(tabsList));
|
|
180
|
-
}
|
|
181
|
-
}))));
|
|
188
|
+
}, renderSwiperTabContent(item)));
|
|
182
189
|
})) : (_tabsList$find2 = tabsList.find(function (item) {
|
|
183
190
|
return item.key === selectKey;
|
|
184
191
|
})) === null || _tabsList$find2 === void 0 ? void 0 : _tabsList$find2.children));
|