@power-xa/m-ui 0.0.1
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 +21 -0
- package/dist/ActionSheet/index.d.ts +16 -0
- package/dist/ActionSheet/index.js +79 -0
- package/dist/ActionSheet/index.less +39 -0
- package/dist/Breadcrumb/index.d.ts +14 -0
- package/dist/Breadcrumb/index.js +31 -0
- package/dist/Breadcrumb/index.less +28 -0
- package/dist/Button/index.d.ts +16 -0
- package/dist/Button/index.js +53 -0
- package/dist/Button/index.less +42 -0
- package/dist/ConfigProvider/index.d.ts +23 -0
- package/dist/ConfigProvider/index.js +41 -0
- package/dist/CreatorEdit/index.d.ts +12 -0
- package/dist/CreatorEdit/index.js +70 -0
- package/dist/CreatorEdit/index.less +41 -0
- package/dist/Drawer/index.d.ts +12 -0
- package/dist/Drawer/index.js +71 -0
- package/dist/Drawer/index.less +24 -0
- package/dist/Empty/index.d.ts +12 -0
- package/dist/Empty/index.js +18 -0
- package/dist/Empty/index.less +15 -0
- package/dist/FloatButton/index.d.ts +10 -0
- package/dist/FloatButton/index.js +60 -0
- package/dist/FloatButton/index.less +26 -0
- package/dist/Grid/index.d.ts +15 -0
- package/dist/Grid/index.js +26 -0
- package/dist/Grid/index.less +4 -0
- package/dist/PageContainer/index.d.ts +17 -0
- package/dist/PageContainer/index.js +50 -0
- package/dist/PageContainer/index.less +41 -0
- package/dist/Popup/index.d.ts +13 -0
- package/dist/Popup/index.js +65 -0
- package/dist/Popup/index.less +22 -0
- package/dist/ProForm/Field/index.d.ts +8 -0
- package/dist/ProForm/Field/index.js +33 -0
- package/dist/ProForm/Field/index.less +96 -0
- package/dist/ProForm/Form/index.d.ts +7 -0
- package/dist/ProForm/Form/index.js +145 -0
- package/dist/ProForm/Form/index.less +61 -0
- package/dist/ProForm/Group/index.d.ts +7 -0
- package/dist/ProForm/Group/index.js +73 -0
- package/dist/ProForm/Group/index.less +32 -0
- package/dist/ProForm/controls/Date/index.d.ts +3 -0
- package/dist/ProForm/controls/Date/index.js +141 -0
- package/dist/ProForm/controls/List/index.d.ts +23 -0
- package/dist/ProForm/controls/List/index.js +77 -0
- package/dist/ProForm/controls/List/index.less +53 -0
- package/dist/ProForm/controls/Select/index.d.ts +4 -0
- package/dist/ProForm/controls/Select/index.js +263 -0
- package/dist/ProForm/controls/Select/index.less +120 -0
- package/dist/ProForm/controls/Text/index.d.ts +4 -0
- package/dist/ProForm/controls/Text/index.js +29 -0
- package/dist/ProForm/controls/Text/index.less +7 -0
- package/dist/ProForm/controls/TextArea/index.d.ts +4 -0
- package/dist/ProForm/controls/TextArea/index.js +63 -0
- package/dist/ProForm/controls/TextArea/index.less +46 -0
- package/dist/ProForm/controls/Upload/index.d.ts +4 -0
- package/dist/ProForm/controls/Upload/index.js +383 -0
- package/dist/ProForm/controls/Upload/index.less +174 -0
- package/dist/ProForm/index.d.ts +9 -0
- package/dist/ProForm/index.js +5 -0
- package/dist/ProForm/typings.d.ts +164 -0
- package/dist/ProList/index.d.ts +78 -0
- package/dist/ProList/index.js +323 -0
- package/dist/ProList/index.less +318 -0
- package/dist/RefreshList/index.d.ts +17 -0
- package/dist/RefreshList/index.js +43 -0
- package/dist/RefreshList/index.less +19 -0
- package/dist/Skeleton/index.d.ts +5 -0
- package/dist/Skeleton/index.js +37 -0
- package/dist/Skeleton/index.less +7 -0
- package/dist/Tabbar/index.d.ts +13 -0
- package/dist/Tabbar/index.js +77 -0
- package/dist/Tabbar/index.less +44 -0
- package/dist/Tabs/index.d.ts +26 -0
- package/dist/Tabs/index.js +186 -0
- package/dist/Tabs/index.less +249 -0
- package/dist/assets/fonts/PingFangSC-Light.ttf +0 -0
- package/dist/assets/fonts/PingFangSC-Medium.ttf +0 -0
- package/dist/assets/fonts/PingFangSC-Regular.ttf +0 -0
- package/dist/assets/less/mixins.less +37 -0
- package/dist/global.less +0 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.js +27 -0
- package/dist/request/index.d.ts +8 -0
- package/dist/request/index.js +61 -0
- package/dist/services/FileController/index.d.ts +12 -0
- package/dist/services/FileController/index.js +39 -0
- package/dist/services/FileController/typings.d.ts +52 -0
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.js +2 -0
- package/dist/services/typings.d.ts +25 -0
- package/dist/utils/tools.d.ts +33 -0
- package/dist/utils/tools.js +231 -0
- package/package.json +88 -0
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
declare namespace ProFormAPI {
|
|
2
|
+
type ProFormProps = {
|
|
3
|
+
/* 表单禁用 */
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
/* 默认值 */
|
|
6
|
+
initialValues?: { [key: string]: any };
|
|
7
|
+
/* 类名 */
|
|
8
|
+
className?: string;
|
|
9
|
+
/* 保存方法 */
|
|
10
|
+
onOk?: (result: { [key: string]: any }) => void;
|
|
11
|
+
onDelete?: false | ((result: { [key: string]: any }) => void);
|
|
12
|
+
onSave?: false | ((result: { [key: string]: any }) => void);
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
type IOptionItem = {
|
|
16
|
+
value: string;
|
|
17
|
+
label: string;
|
|
18
|
+
color?: string;
|
|
19
|
+
background?: string;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
type ProFormGroupProps = {
|
|
23
|
+
onChange?: (key: string, value: any) => void;
|
|
24
|
+
className?: string;
|
|
25
|
+
disabled?: boolean;
|
|
26
|
+
initialValues?: { [key: string]: any };
|
|
27
|
+
hidden?: boolean;
|
|
28
|
+
tag?: {
|
|
29
|
+
dataIndex: string;
|
|
30
|
+
map: IOptionItem[];
|
|
31
|
+
className?: string;
|
|
32
|
+
position?: {
|
|
33
|
+
top?: number;
|
|
34
|
+
bottom?: number;
|
|
35
|
+
right?: number;
|
|
36
|
+
left?: number;
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
interface InputType {
|
|
42
|
+
/** 文本输入键盘
|
|
43
|
+
* @supported weapp, alipay, h5, rn, harmony_hybrid
|
|
44
|
+
*/
|
|
45
|
+
text
|
|
46
|
+
/** 数字输入键盘
|
|
47
|
+
* @supported weapp, alipay, h5, rn, harmony_hybrid
|
|
48
|
+
*/
|
|
49
|
+
number
|
|
50
|
+
/** 身份证输入键盘
|
|
51
|
+
*@supported weapp, alipay, rn
|
|
52
|
+
*/
|
|
53
|
+
idcard
|
|
54
|
+
/** 带小数点的数字键盘
|
|
55
|
+
* @supported weapp, alipay, h5, rn, harmony_hybrid
|
|
56
|
+
*/
|
|
57
|
+
digit
|
|
58
|
+
/** 密码安全输入键盘[指引](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/safe-password.html)
|
|
59
|
+
* @supported weapp, alipay
|
|
60
|
+
*/
|
|
61
|
+
'safe-password'
|
|
62
|
+
/** 昵称输入键盘
|
|
63
|
+
* @supported weapp, alipay
|
|
64
|
+
*/
|
|
65
|
+
nickname
|
|
66
|
+
/** 数字输入键盘
|
|
67
|
+
* @supported alipay
|
|
68
|
+
*/
|
|
69
|
+
numberpad
|
|
70
|
+
/** 带小数点的数字键盘
|
|
71
|
+
* @supported alipay
|
|
72
|
+
*/
|
|
73
|
+
digitpad
|
|
74
|
+
/** 身份证输入键盘
|
|
75
|
+
* @supported alipay
|
|
76
|
+
*/
|
|
77
|
+
idcardpad
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
type ProFormItemProps = {
|
|
81
|
+
/* 对齐方式 */
|
|
82
|
+
layout?: "horizontal" | "vertical";
|
|
83
|
+
/* 表单Key */
|
|
84
|
+
name?: string;
|
|
85
|
+
/* 表单文字 */
|
|
86
|
+
label?: string;
|
|
87
|
+
/* 依赖字段 */
|
|
88
|
+
dependencies?: string;
|
|
89
|
+
/* 是否隐藏字段 */
|
|
90
|
+
hidden?: boolean;
|
|
91
|
+
/* 默认值 */
|
|
92
|
+
initialValue?: any;
|
|
93
|
+
/* 是否必填 */
|
|
94
|
+
required?: boolean;
|
|
95
|
+
/* 校验规则 */
|
|
96
|
+
rules?: {
|
|
97
|
+
/* 消息提示 */
|
|
98
|
+
message?: string;
|
|
99
|
+
/* 校验正则 */
|
|
100
|
+
pattern?: RegExp;
|
|
101
|
+
/* 是否必填 */
|
|
102
|
+
required?: boolean;
|
|
103
|
+
}[];
|
|
104
|
+
/* 自定义字段更新 */
|
|
105
|
+
shouldUpdate?: boolean | ((prevValue: any, curValue: any) => boolean);
|
|
106
|
+
/* 类名 */
|
|
107
|
+
className?: string;
|
|
108
|
+
/* 提示文字 */
|
|
109
|
+
placeholder?: string;
|
|
110
|
+
/* 值 */
|
|
111
|
+
value?: any;
|
|
112
|
+
/* 更新 */
|
|
113
|
+
onChange?: (value: any) => void;
|
|
114
|
+
/* 是否禁用 */
|
|
115
|
+
disabled?: boolean;
|
|
116
|
+
/* 输入框最大长度 */
|
|
117
|
+
maxLength?: number;
|
|
118
|
+
/* 输入框类型 */
|
|
119
|
+
inputType?: keyof InputType;
|
|
120
|
+
/* 时间格式 */
|
|
121
|
+
format?: "YYYY" | "YYYY-MM" | "YYYY-MM-DD" | "YYYY-MM-DD HH:mm" | "HH:mm";
|
|
122
|
+
/* 上传类型 */
|
|
123
|
+
listType?: "card" | "list";
|
|
124
|
+
/* 选项 */
|
|
125
|
+
options?: { [key: string]: any }[];
|
|
126
|
+
/* 是否多选 */
|
|
127
|
+
multiple?: boolean;
|
|
128
|
+
/* 请求参数 */
|
|
129
|
+
params?: { [key: string]: any }
|
|
130
|
+
/* 请求选项 */
|
|
131
|
+
request?: (params?: { [key: string]: any }) => Promise<{ [key: string]: any }[]>;
|
|
132
|
+
/* 选项字段名 */
|
|
133
|
+
fieldNames?: { label: string, value: string };
|
|
134
|
+
/* 选项是否平铺 */
|
|
135
|
+
optionType?: boolean;
|
|
136
|
+
/* 项目ID */
|
|
137
|
+
projectId?: string;
|
|
138
|
+
/* 企业ID */
|
|
139
|
+
companyId?: string;
|
|
140
|
+
/* 选择范围 */
|
|
141
|
+
source?: {
|
|
142
|
+
/* 成员选择 ALL、IN、OUT公共,OTHER、SEAT、NO-SEAT仅支持企业 */
|
|
143
|
+
user?: "ALL" | "IN" | "OUT" | "OTHER" | "SEAT" | "NO-SEAT";
|
|
144
|
+
/* 仅支持项目 */
|
|
145
|
+
unit?: "ALL" | "USER" | "UNIT";
|
|
146
|
+
/* 仅支持企业 */
|
|
147
|
+
organization?: "ALL" | "USER" | "DEPT";
|
|
148
|
+
external?: "ALL" | "USER" | "EXTERNAL",
|
|
149
|
+
rule?: "ALL" | "USER" | "RULE";
|
|
150
|
+
};
|
|
151
|
+
/* 过滤 */
|
|
152
|
+
filter?: { [key: string]: any };
|
|
153
|
+
/* 监听Form其余值 */
|
|
154
|
+
getFormValue?: (key: string) => any;
|
|
155
|
+
/* 隐藏底部边框及内间距 */
|
|
156
|
+
hiddenBorder?: boolean;
|
|
157
|
+
/* 推荐内容 */
|
|
158
|
+
recommend?: string[];
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
type ProFormListProps = {
|
|
162
|
+
|
|
163
|
+
}
|
|
164
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
|
+
import "./index.less";
|
|
3
|
+
type MetaProps = {
|
|
4
|
+
dataIndex: string;
|
|
5
|
+
render?: (value: any, data: {
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
}, index: number) => string | ReactNode;
|
|
8
|
+
};
|
|
9
|
+
export type ProListProps = {
|
|
10
|
+
scrollable?: boolean;
|
|
11
|
+
dataSources?: {
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
}[];
|
|
14
|
+
className?: string;
|
|
15
|
+
rowClassName?: string;
|
|
16
|
+
params?: {
|
|
17
|
+
[key: string]: any;
|
|
18
|
+
};
|
|
19
|
+
request?: (params: {
|
|
20
|
+
[key: string]: any;
|
|
21
|
+
}) => Promise<{
|
|
22
|
+
list: {
|
|
23
|
+
[key: string]: any;
|
|
24
|
+
}[];
|
|
25
|
+
total: number;
|
|
26
|
+
}>;
|
|
27
|
+
size?: number;
|
|
28
|
+
rowKey?: string | ((data: {
|
|
29
|
+
[key: string]: any;
|
|
30
|
+
}) => string);
|
|
31
|
+
onItem?: (data: {
|
|
32
|
+
[key: string]: any;
|
|
33
|
+
}) => ({
|
|
34
|
+
onTap?: () => void;
|
|
35
|
+
});
|
|
36
|
+
grid?: {
|
|
37
|
+
gutter?: number | [number, number];
|
|
38
|
+
column?: number;
|
|
39
|
+
};
|
|
40
|
+
meta?: {
|
|
41
|
+
title?: MetaProps;
|
|
42
|
+
subTitle?: MetaProps;
|
|
43
|
+
description?: (MetaProps & {
|
|
44
|
+
label: string;
|
|
45
|
+
})[];
|
|
46
|
+
fileList?: MetaProps & {
|
|
47
|
+
type: "swiper" | "list";
|
|
48
|
+
};
|
|
49
|
+
footer?: {
|
|
50
|
+
creator?: {
|
|
51
|
+
id?: string;
|
|
52
|
+
memberId?: string;
|
|
53
|
+
name: string;
|
|
54
|
+
avatar?: string;
|
|
55
|
+
};
|
|
56
|
+
extra?: MetaProps;
|
|
57
|
+
} | false;
|
|
58
|
+
tag?: MetaProps & {
|
|
59
|
+
map?: {
|
|
60
|
+
label: string;
|
|
61
|
+
value: string;
|
|
62
|
+
color?: string;
|
|
63
|
+
background?: string;
|
|
64
|
+
}[];
|
|
65
|
+
position?: {
|
|
66
|
+
top?: number;
|
|
67
|
+
left?: number;
|
|
68
|
+
bottom?: number;
|
|
69
|
+
right?: number;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
renderItem?: (item: {
|
|
74
|
+
[key: string]: any;
|
|
75
|
+
}, index: number, dom: ReactNode) => ReactNode;
|
|
76
|
+
};
|
|
77
|
+
declare const _default: React.ForwardRefExoticComponent<ProListProps & React.RefAttributes<unknown>>;
|
|
78
|
+
export default _default;
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
8
|
+
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."); }
|
|
9
|
+
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); }
|
|
10
|
+
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; }
|
|
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
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13
|
+
import React, { forwardRef, Fragment, useCallback, useEffect, useImperativeHandle, useState } from "react";
|
|
14
|
+
import { Image, ScrollView, Swiper, SwiperItem, Text, View } from "@tarojs/components";
|
|
15
|
+
import { getListAssignField, getSimplifyDay, Skeleton } from "./..";
|
|
16
|
+
import { useConfig } from "../ConfigProvider";
|
|
17
|
+
import { FileController } from "../services";
|
|
18
|
+
import "./index.less";
|
|
19
|
+
var ProList = function ProList(_ref, ref) {
|
|
20
|
+
var _ref$scrollable = _ref.scrollable,
|
|
21
|
+
scrollable = _ref$scrollable === void 0 ? true : _ref$scrollable,
|
|
22
|
+
dataSources = _ref.dataSources,
|
|
23
|
+
className = _ref.className,
|
|
24
|
+
rowClassName = _ref.rowClassName,
|
|
25
|
+
params = _ref.params,
|
|
26
|
+
request = _ref.request,
|
|
27
|
+
_ref$size = _ref.size,
|
|
28
|
+
size = _ref$size === void 0 ? 15 : _ref$size,
|
|
29
|
+
_ref$rowKey = _ref.rowKey,
|
|
30
|
+
rowKey = _ref$rowKey === void 0 ? "id" : _ref$rowKey,
|
|
31
|
+
onItem = _ref.onItem,
|
|
32
|
+
_ref$grid = _ref.grid,
|
|
33
|
+
grid = _ref$grid === void 0 ? {
|
|
34
|
+
gutter: [24, 24],
|
|
35
|
+
column: 1
|
|
36
|
+
} : _ref$grid,
|
|
37
|
+
meta = _ref.meta,
|
|
38
|
+
renderItem = _ref.renderItem;
|
|
39
|
+
var _useConfig = useConfig(),
|
|
40
|
+
src = _useConfig.src;
|
|
41
|
+
/* 下拉刷新状态 */
|
|
42
|
+
var _useState = useState(false),
|
|
43
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
44
|
+
refreshing = _useState2[0],
|
|
45
|
+
setRefreshing = _useState2[1];
|
|
46
|
+
/* 加载状态 */
|
|
47
|
+
var _useState3 = useState(true),
|
|
48
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
49
|
+
loading = _useState4[0],
|
|
50
|
+
setLoading = _useState4[1];
|
|
51
|
+
/* 数据列表 */
|
|
52
|
+
var _useState5 = useState([]),
|
|
53
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
54
|
+
list = _useState6[0],
|
|
55
|
+
setList = _useState6[1];
|
|
56
|
+
/* 数据总量 */
|
|
57
|
+
var _useState7 = useState(0),
|
|
58
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
59
|
+
total = _useState8[0],
|
|
60
|
+
setTotal = _useState8[1];
|
|
61
|
+
useEffect(function () {
|
|
62
|
+
if (dataSources instanceof Array) {
|
|
63
|
+
setList(dataSources);
|
|
64
|
+
setLoading(false);
|
|
65
|
+
} else {
|
|
66
|
+
getList(1);
|
|
67
|
+
}
|
|
68
|
+
}, [dataSources]);
|
|
69
|
+
useEffect(function () {
|
|
70
|
+
if (refreshing) getList(1);
|
|
71
|
+
}, [refreshing]);
|
|
72
|
+
useImperativeHandle(ref, function () {
|
|
73
|
+
return {
|
|
74
|
+
onRefresh: function onRefresh() {
|
|
75
|
+
return setRefreshing(true);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
});
|
|
79
|
+
var getList = useCallback(function (current) {
|
|
80
|
+
request === null || request === void 0 || request(_objectSpread(_objectSpread({}, params), {}, {
|
|
81
|
+
current: current,
|
|
82
|
+
size: size
|
|
83
|
+
})).then(function (result) {
|
|
84
|
+
var _meta$footer, _meta$footer2, _meta$footer3;
|
|
85
|
+
var dataList = result.list,
|
|
86
|
+
total = result.total;
|
|
87
|
+
if (dataList.length && typeof (meta === null || meta === void 0 ? void 0 : meta.footer) !== "boolean" && !(meta !== null && meta !== void 0 && (_meta$footer = meta.footer) !== null && _meta$footer !== void 0 && (_meta$footer = _meta$footer.creator) !== null && _meta$footer !== void 0 && _meta$footer.avatar) && (meta !== null && meta !== void 0 && (_meta$footer2 = meta.footer) !== null && _meta$footer2 !== void 0 && (_meta$footer2 = _meta$footer2.creator) !== null && _meta$footer2 !== void 0 && _meta$footer2.id || meta !== null && meta !== void 0 && (_meta$footer3 = meta.footer) !== null && _meta$footer3 !== void 0 && (_meta$footer3 = _meta$footer3.creator) !== null && _meta$footer3 !== void 0 && _meta$footer3.memberId)) {
|
|
88
|
+
var _key = typeof meta.footer !== "boolean" && (meta.footer.creator.id || meta.footer.creator.memberId);
|
|
89
|
+
var ids = Array.from(new Set(dataList.map(function (item) {
|
|
90
|
+
return item[_key];
|
|
91
|
+
})));
|
|
92
|
+
FileController[meta.footer.creator.memberId ? "getProjectMemberAvatar" : "getUserAvatar"]({
|
|
93
|
+
ids: ids
|
|
94
|
+
}).then(function (result) {
|
|
95
|
+
if (result.code === 200) {
|
|
96
|
+
dataList.forEach(function (item) {
|
|
97
|
+
if (ids.includes(item[_key])) {
|
|
98
|
+
item.avatar = result.data[ids.indexOf(item[_key])] || (src === null || src === void 0 ? void 0 : src.resource) + "/images/default/avatar.svg";
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
setList(current === 1 ? dataList : list.concat(dataList));
|
|
102
|
+
setTotal(total);
|
|
103
|
+
if (loading) setLoading(false);
|
|
104
|
+
if (refreshing) setRefreshing(false);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
} else {
|
|
108
|
+
setList(current === 1 ? dataList : list.concat(dataList));
|
|
109
|
+
setTotal(total);
|
|
110
|
+
if (loading) setLoading(false);
|
|
111
|
+
if (refreshing) setRefreshing(false);
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}, [refreshing]);
|
|
115
|
+
var renderSkeleton = useCallback(function () {
|
|
116
|
+
return Array(size).fill(null).map(function (item, index) {
|
|
117
|
+
var _meta$tag, _meta$tag2, _meta$fileList, _meta$fileList2, _meta$title, _meta$title2, _meta$subTitle, _meta$subTitle2, _meta$fileList3, _meta$fileList4;
|
|
118
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
119
|
+
className: "p-pro-list-card-skeleton",
|
|
120
|
+
key: 'skeleton-' + index
|
|
121
|
+
}, /* 标签 */
|
|
122
|
+
((meta === null || meta === void 0 || (_meta$tag = meta.tag) === null || _meta$tag === void 0 ? void 0 : _meta$tag.render) || (meta === null || meta === void 0 || (_meta$tag2 = meta.tag) === null || _meta$tag2 === void 0 ? void 0 : _meta$tag2.dataIndex)) && /*#__PURE__*/React.createElement(Skeleton, {
|
|
123
|
+
className: "p-pro-list-card-tag",
|
|
124
|
+
style: _objectSpread({}, meta.tag.position)
|
|
125
|
+
}), /*#__PURE__*/React.createElement(View, {
|
|
126
|
+
className: "p-pro-list-card-title"
|
|
127
|
+
}, /* 图片Swiper */
|
|
128
|
+
(meta === null || meta === void 0 || (_meta$fileList = meta.fileList) === null || _meta$fileList === void 0 ? void 0 : _meta$fileList.type) == "swiper" && (meta.fileList.render || (meta === null || meta === void 0 || (_meta$fileList2 = meta.fileList) === null || _meta$fileList2 === void 0 ? void 0 : _meta$fileList2.dataIndex)) && /*#__PURE__*/React.createElement(Skeleton, {
|
|
129
|
+
className: "p-pro-list-card-title-swiper"
|
|
130
|
+
}), ((meta === null || meta === void 0 || (_meta$title = meta.title) === null || _meta$title === void 0 ? void 0 : _meta$title.render) || (meta === null || meta === void 0 || (_meta$title2 = meta.title) === null || _meta$title2 === void 0 ? void 0 : _meta$title2.dataIndex)) && /*#__PURE__*/React.createElement(View, {
|
|
131
|
+
className: "p-pro-list-card-title-text"
|
|
132
|
+
}, Array(3).fill(null).map(function (_, i) {
|
|
133
|
+
return /*#__PURE__*/React.createElement(Skeleton, {
|
|
134
|
+
className: "p-pro-list-card-title-text-skeleton",
|
|
135
|
+
key: 'text-skeleton-' + i
|
|
136
|
+
});
|
|
137
|
+
}))), ((meta === null || meta === void 0 || (_meta$subTitle = meta.subTitle) === null || _meta$subTitle === void 0 ? void 0 : _meta$subTitle.render) || (meta === null || meta === void 0 || (_meta$subTitle2 = meta.subTitle) === null || _meta$subTitle2 === void 0 ? void 0 : _meta$subTitle2.dataIndex)) && /*#__PURE__*/React.createElement(Skeleton, {
|
|
138
|
+
className: "p-pro-list-card-sub-title"
|
|
139
|
+
}), (meta === null || meta === void 0 ? void 0 : meta.description) && /*#__PURE__*/React.createElement(View, {
|
|
140
|
+
className: "p-pro-list-card-description"
|
|
141
|
+
}, meta.description.map(function (_, i) {
|
|
142
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
143
|
+
key: 'description-label-' + i,
|
|
144
|
+
className: "p-pro-list-card-description-row"
|
|
145
|
+
}, /*#__PURE__*/React.createElement(Skeleton, {
|
|
146
|
+
className: "p-pro-list-card-description-label"
|
|
147
|
+
}), /*#__PURE__*/React.createElement(Skeleton, {
|
|
148
|
+
className: "p-pro-list-card-description-value"
|
|
149
|
+
}));
|
|
150
|
+
})), /* 文件列表 */
|
|
151
|
+
(meta === null || meta === void 0 || (_meta$fileList3 = meta.fileList) === null || _meta$fileList3 === void 0 ? void 0 : _meta$fileList3.type) == "list" && (meta.fileList.render || (meta === null || meta === void 0 || (_meta$fileList4 = meta.fileList) === null || _meta$fileList4 === void 0 ? void 0 : _meta$fileList4.dataIndex)) && /*#__PURE__*/React.createElement(View, {
|
|
152
|
+
className: "p-pro-list-card-image-list"
|
|
153
|
+
}, Array(4).fill(null).map(function (item, i) {
|
|
154
|
+
return /*#__PURE__*/React.createElement(Skeleton, {
|
|
155
|
+
key: 'image-' + i,
|
|
156
|
+
className: "p-pro-list-card-image"
|
|
157
|
+
});
|
|
158
|
+
})), (meta === null || meta === void 0 ? void 0 : meta.footer) && /*#__PURE__*/React.createElement(View, {
|
|
159
|
+
className: "p-pro-list-card-footer"
|
|
160
|
+
}, meta.footer.creator && /*#__PURE__*/React.createElement(View, {
|
|
161
|
+
className: "p-pro-list-card-footer-creator"
|
|
162
|
+
}, /*#__PURE__*/React.createElement(Skeleton, {
|
|
163
|
+
className: "p-pro-list-card-footer-creator-avatar"
|
|
164
|
+
}), /*#__PURE__*/React.createElement(Skeleton, {
|
|
165
|
+
className: "p-pro-list-card-footer-creator-name"
|
|
166
|
+
})), meta.footer.extra && /*#__PURE__*/React.createElement(Skeleton, {
|
|
167
|
+
className: "p-pro-list-card-footer-extra-content"
|
|
168
|
+
})));
|
|
169
|
+
});
|
|
170
|
+
}, []);
|
|
171
|
+
var renderListContent = useCallback(function () {
|
|
172
|
+
return list.map(function (item, index) {
|
|
173
|
+
var _meta$tag3, _meta$tag4, _meta$tag5, _meta$fileList5, _meta$fileList$render, _meta$fileList6, _meta$fileList7, _item$meta$fileList$d, _meta$title3, _meta$fileList8, _meta$title4, _meta$fileList9, _meta$subTitle3, _meta$subTitle4, _meta$fileList10, _meta$fileList$render2, _meta$fileList11, _meta$fileList12, _meta$footer$creator, _meta$footer$creator2, _meta$footer$creator3, _meta$footer$extra$re, _meta$footer$extra, _meta$footer$extra2;
|
|
174
|
+
var dom = /*#__PURE__*/React.createElement(View, {
|
|
175
|
+
className: "p-pro-list-card-container ".concat(rowClassName),
|
|
176
|
+
onTap: onItem === null || onItem === void 0 ? void 0 : onItem(item).onTap
|
|
177
|
+
}, /* 标签 */
|
|
178
|
+
meta !== null && meta !== void 0 && (_meta$tag3 = meta.tag) !== null && _meta$tag3 !== void 0 && _meta$tag3.render ? meta.tag.render(item[meta.tag.dataIndex], item, index) : (meta === null || meta === void 0 || (_meta$tag4 = meta.tag) === null || _meta$tag4 === void 0 ? void 0 : _meta$tag4.dataIndex) && /*#__PURE__*/React.createElement(View, {
|
|
179
|
+
className: "p-pro-list-card-tag",
|
|
180
|
+
style: _objectSpread(_objectSpread({}, meta.tag.position), {}, {
|
|
181
|
+
backgroundColor: getListAssignField(item[meta.tag.dataIndex], meta.tag.map || [], {
|
|
182
|
+
value: "value",
|
|
183
|
+
label: "background"
|
|
184
|
+
})
|
|
185
|
+
})
|
|
186
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
187
|
+
className: "p-pro-list-card-tag-text",
|
|
188
|
+
style: {
|
|
189
|
+
color: getListAssignField(item[(_meta$tag5 = meta.tag) === null || _meta$tag5 === void 0 ? void 0 : _meta$tag5.dataIndex], meta.tag.map || [], {
|
|
190
|
+
value: "value",
|
|
191
|
+
label: "color"
|
|
192
|
+
})
|
|
193
|
+
}
|
|
194
|
+
}, getListAssignField(item[meta.tag.dataIndex], meta.tag.map || []))), /*#__PURE__*/React.createElement(View, {
|
|
195
|
+
className: "p-pro-list-card-title"
|
|
196
|
+
}, /* 图片Swiper */
|
|
197
|
+
(meta === null || meta === void 0 || (_meta$fileList5 = meta.fileList) === null || _meta$fileList5 === void 0 ? void 0 : _meta$fileList5.type) == "swiper" && (meta.fileList.render ? (_meta$fileList$render = (_meta$fileList6 = meta.fileList).render) === null || _meta$fileList$render === void 0 ? void 0 : _meta$fileList$render.call(_meta$fileList6, item[meta.fileList.dataIndex], item, index) : (meta === null || meta === void 0 || (_meta$fileList7 = meta.fileList) === null || _meta$fileList7 === void 0 ? void 0 : _meta$fileList7.dataIndex) && /*#__PURE__*/React.createElement(Swiper, {
|
|
198
|
+
autoplay: true,
|
|
199
|
+
className: "p-pro-list-card-title-swiper"
|
|
200
|
+
}, (_item$meta$fileList$d = item[meta.fileList.dataIndex]) === null || _item$meta$fileList$d === void 0 ? void 0 : _item$meta$fileList$d.filter(function (item) {
|
|
201
|
+
return item.fileType === "Pic";
|
|
202
|
+
}).map(function (file) {
|
|
203
|
+
return /*#__PURE__*/React.createElement(SwiperItem, {
|
|
204
|
+
className: "p-pro-list-card-title-swiper-content",
|
|
205
|
+
key: file.id
|
|
206
|
+
}, /*#__PURE__*/React.createElement(Image, {
|
|
207
|
+
src: file.fullUri,
|
|
208
|
+
className: "p-pro-list-card-title-swiper-image",
|
|
209
|
+
mode: "aspectFill"
|
|
210
|
+
}));
|
|
211
|
+
}))), meta !== null && meta !== void 0 && (_meta$title3 = meta.title) !== null && _meta$title3 !== void 0 && _meta$title3.render ? /*#__PURE__*/React.createElement(View, {
|
|
212
|
+
className: "p-pro-list-card-title-text ".concat(((_meta$fileList8 = meta.fileList) === null || _meta$fileList8 === void 0 ? void 0 : _meta$fileList8.type) === 'swiper' && item[meta.fileList.dataIndex] ? 'p-pro-list-card-title-swiper-text' : '')
|
|
213
|
+
}, meta.title.render(item[meta.title.dataIndex], item, index)) : (meta === null || meta === void 0 || (_meta$title4 = meta.title) === null || _meta$title4 === void 0 ? void 0 : _meta$title4.dataIndex) && /*#__PURE__*/React.createElement(Text, {
|
|
214
|
+
className: "p-pro-list-card-title-text ".concat(((_meta$fileList9 = meta.fileList) === null || _meta$fileList9 === void 0 ? void 0 : _meta$fileList9.type) === 'swiper' && item[meta.fileList.dataIndex] ? 'p-pro-list-card-title-swiper-text' : '')
|
|
215
|
+
}, item[meta.title.dataIndex])), meta !== null && meta !== void 0 && (_meta$subTitle3 = meta.subTitle) !== null && _meta$subTitle3 !== void 0 && _meta$subTitle3.render ? meta.subTitle.render(item[meta.subTitle.dataIndex], item, index) : (meta === null || meta === void 0 || (_meta$subTitle4 = meta.subTitle) === null || _meta$subTitle4 === void 0 ? void 0 : _meta$subTitle4.dataIndex) && /*#__PURE__*/React.createElement(Text, {
|
|
216
|
+
className: "p-pro-list-card-sub-title"
|
|
217
|
+
}, item[meta.subTitle.dataIndex]), (meta === null || meta === void 0 ? void 0 : meta.description) && /*#__PURE__*/React.createElement(View, {
|
|
218
|
+
className: "p-pro-list-card-description"
|
|
219
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
220
|
+
className: "label-column"
|
|
221
|
+
}, meta.description.map(function (d, i) {
|
|
222
|
+
return /*#__PURE__*/React.createElement(Text, {
|
|
223
|
+
className: "p-pro-list-card-description-label",
|
|
224
|
+
key: d.dataIndex + '-label-' + i
|
|
225
|
+
}, d.label);
|
|
226
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
227
|
+
className: "value-column"
|
|
228
|
+
}, meta.description.map(function (d, i) {
|
|
229
|
+
return d.render ? /*#__PURE__*/React.createElement(View, {
|
|
230
|
+
className: "p-pro-list-card-description-value",
|
|
231
|
+
key: d.dataIndex + '-value-' + i
|
|
232
|
+
}, d.render(item[d.dataIndex], item, index)) : d.dataIndex && /*#__PURE__*/React.createElement(Text, {
|
|
233
|
+
className: "p-pro-list-card-description-value",
|
|
234
|
+
key: d.dataIndex + '-value-' + i
|
|
235
|
+
}, item[d.dataIndex] || "-");
|
|
236
|
+
}))), /* 文件列表 */
|
|
237
|
+
(meta === null || meta === void 0 || (_meta$fileList10 = meta.fileList) === null || _meta$fileList10 === void 0 ? void 0 : _meta$fileList10.type) == "list" && (meta.fileList.render ? (_meta$fileList$render2 = (_meta$fileList11 = meta.fileList).render) === null || _meta$fileList$render2 === void 0 ? void 0 : _meta$fileList$render2.call(_meta$fileList11, item[meta.fileList.dataIndex], item, index) : (meta === null || meta === void 0 || (_meta$fileList12 = meta.fileList) === null || _meta$fileList12 === void 0 ? void 0 : _meta$fileList12.dataIndex) && item[meta.fileList.dataIndex] && /*#__PURE__*/React.createElement(Fragment, null, item[meta.fileList.dataIndex].filter(function (item) {
|
|
238
|
+
return item.fileType === "Pic";
|
|
239
|
+
}).length ? /*#__PURE__*/React.createElement(View, {
|
|
240
|
+
className: "p-pro-list-card-image-list"
|
|
241
|
+
}, item[meta.fileList.dataIndex].filter(function (item) {
|
|
242
|
+
return item.fileType === "Pic";
|
|
243
|
+
}).map(function (file) {
|
|
244
|
+
return /*#__PURE__*/React.createElement(Image, {
|
|
245
|
+
key: file.id,
|
|
246
|
+
src: file.fullUri,
|
|
247
|
+
className: "p-pro-list-card-image",
|
|
248
|
+
mode: "aspectFill"
|
|
249
|
+
});
|
|
250
|
+
})) : null, item[meta.fileList.dataIndex].filter(function (item) {
|
|
251
|
+
return item.fileType !== "Pic";
|
|
252
|
+
}).length ? /*#__PURE__*/React.createElement(View, {
|
|
253
|
+
className: "p-pro-list-card-file-list"
|
|
254
|
+
}, item[meta.fileList.dataIndex].filter(function (item) {
|
|
255
|
+
return item.fileType !== "Pic";
|
|
256
|
+
}).map(function (file) {
|
|
257
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
258
|
+
className: "p-pro-list-card-file",
|
|
259
|
+
key: file.id
|
|
260
|
+
}, /*#__PURE__*/React.createElement(Image, {
|
|
261
|
+
className: "p-pro-list-card-file-image",
|
|
262
|
+
src: "https://dev.p3china.com:7700/psp.web.dev/resources/images/document/icon/".concat(file.fileType.toLowerCase(), ".svg"),
|
|
263
|
+
mode: "heightFix"
|
|
264
|
+
}), /*#__PURE__*/React.createElement(Text, {
|
|
265
|
+
className: "p-pro-list-card-file-name"
|
|
266
|
+
}, file.fileName));
|
|
267
|
+
})) : null)), (meta === null || meta === void 0 ? void 0 : meta.footer) && /*#__PURE__*/React.createElement(View, {
|
|
268
|
+
className: "p-pro-list-card-footer"
|
|
269
|
+
}, meta.footer.creator && /*#__PURE__*/React.createElement(View, {
|
|
270
|
+
className: "p-pro-list-card-footer-creator"
|
|
271
|
+
}, (((_meta$footer$creator = meta.footer.creator) === null || _meta$footer$creator === void 0 ? void 0 : _meta$footer$creator.avatar) || item.avatar) && /*#__PURE__*/React.createElement(Image, {
|
|
272
|
+
className: "p-pro-list-card-footer-creator-avatar",
|
|
273
|
+
src: item[(_meta$footer$creator2 = meta.footer.creator) === null || _meta$footer$creator2 === void 0 ? void 0 : _meta$footer$creator2.avatar] || item.avatar
|
|
274
|
+
}), /*#__PURE__*/React.createElement(Text, {
|
|
275
|
+
className: "p-pro-list-card-footer-creator-name"
|
|
276
|
+
}, item[(_meta$footer$creator3 = meta.footer.creator) === null || _meta$footer$creator3 === void 0 ? void 0 : _meta$footer$creator3.name])), meta.footer.extra && /*#__PURE__*/React.createElement(View, {
|
|
277
|
+
className: "p-pro-list-card-footer-extra-content"
|
|
278
|
+
}, ((_meta$footer$extra$re = (_meta$footer$extra = meta.footer.extra).render) === null || _meta$footer$extra$re === void 0 ? void 0 : _meta$footer$extra$re.call(_meta$footer$extra, item[meta.footer.extra.dataIndex], item, index)) || /*#__PURE__*/React.createElement(Text, {
|
|
279
|
+
className: "p-pro-list-card-footer-extra-text"
|
|
280
|
+
}, getSimplifyDay(item[(_meta$footer$extra2 = meta.footer.extra) === null || _meta$footer$extra2 === void 0 ? void 0 : _meta$footer$extra2.dataIndex])))));
|
|
281
|
+
return /*#__PURE__*/React.createElement(Fragment, {
|
|
282
|
+
key: typeof rowKey === "string" ? item[rowKey] : rowKey === null || rowKey === void 0 ? void 0 : rowKey(item)
|
|
283
|
+
}, renderItem ? renderItem(item, index, dom) : dom);
|
|
284
|
+
});
|
|
285
|
+
}, [list]);
|
|
286
|
+
var renderContent = useCallback(function () {
|
|
287
|
+
var _grid$gutter, _grid$gutter2;
|
|
288
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
289
|
+
className: "p-pro-list-content",
|
|
290
|
+
style: {
|
|
291
|
+
rowGap: (typeof grid.gutter === "number" ? grid.gutter : (_grid$gutter = grid.gutter) === null || _grid$gutter === void 0 ? void 0 : _grid$gutter[1]) + "rpx",
|
|
292
|
+
columnGap: (typeof grid.gutter === "number" ? grid.gutter : (_grid$gutter2 = grid.gutter) === null || _grid$gutter2 === void 0 ? void 0 : _grid$gutter2[0]) + "rpx"
|
|
293
|
+
}
|
|
294
|
+
}, loading ? renderSkeleton() : list.length ? renderListContent() : /*#__PURE__*/React.createElement(View, {
|
|
295
|
+
className: "p-pro-list-error-view"
|
|
296
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
297
|
+
className: "text"
|
|
298
|
+
}, "\u6682\u65E0\u6570\u636E")));
|
|
299
|
+
}, [loading, list]);
|
|
300
|
+
if (!scrollable) return /*#__PURE__*/React.createElement(View, {
|
|
301
|
+
className: "p-pro-list-view-container"
|
|
302
|
+
}, renderContent());
|
|
303
|
+
return /*#__PURE__*/React.createElement(ScrollView, {
|
|
304
|
+
scrollY: true,
|
|
305
|
+
showScrollbar: false,
|
|
306
|
+
enableBackToTop: true,
|
|
307
|
+
enableFlex: true,
|
|
308
|
+
refresherEnabled: true,
|
|
309
|
+
refresherBackground: "#F6F7F9",
|
|
310
|
+
enhanced: true,
|
|
311
|
+
enablePassive: true,
|
|
312
|
+
type: "custom",
|
|
313
|
+
refresherTriggered: refreshing,
|
|
314
|
+
onRefresherRefresh: function onRefresherRefresh() {
|
|
315
|
+
return setRefreshing(true);
|
|
316
|
+
},
|
|
317
|
+
onScrollToLower: function onScrollToLower() {
|
|
318
|
+
return total && total > list.length && getList(list.length / size + 1);
|
|
319
|
+
},
|
|
320
|
+
className: "p-pro-list-container ".concat(className)
|
|
321
|
+
}, renderContent());
|
|
322
|
+
};
|
|
323
|
+
export default /*#__PURE__*/forwardRef(ProList);
|