@aplus-frontend/ui 0.0.20 → 0.0.22
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/index.mjs +34 -32
- package/es/src/ap-form/hooks/use-watch.d.ts +2 -2
- package/es/src/ap-form/modal-form/index.vue.mjs +41 -39
- package/es/src/ap-list/hooks/use-offline-list.d.ts +21 -0
- package/es/src/ap-list/hooks/use-offline-list.mjs +32 -0
- package/es/src/ap-list/index.d.ts +4 -0
- package/es/src/ap-list/index.mjs +2 -0
- package/es/src/ap-list/index.vue.d.ts +153 -0
- package/es/src/ap-list/index.vue.mjs +137 -0
- package/es/src/ap-list/index.vue2.mjs +4 -0
- package/es/src/ap-list/interface.d.ts +100 -0
- package/es/src/ap-list/interface.mjs +1 -0
- package/es/src/ap-list/style/index.css +11 -0
- package/es/src/ap-table/ap-table.vue.mjs +123 -113
- package/es/src/ap-table/interface.d.ts +8 -6
- package/es/src/ap-table/style/ap-table.css +19 -0
- package/es/src/ap-table/utils.d.ts +826 -670
- package/es/src/editable-table/hooks/use-get-columns.d.ts +3 -25
- package/es/src/editable-table/hooks/use-get-columns.mjs +47 -45
- package/es/src/editable-table/interface.d.ts +6 -1
- package/es/src/editable-table/style/index.css +3 -0
- package/es/src/index.d.ts +1 -0
- package/es/src/index.mjs +230 -227
- package/es/src/theme/ap-list/index.css +11 -0
- package/es/src/theme/ap-table/ap-table.css +19 -0
- package/es/src/theme/editable-table/index.css +3 -0
- package/lib/index.js +1 -1
- package/lib/src/ap-form/hooks/use-watch.d.ts +2 -2
- package/lib/src/ap-form/modal-form/index.vue.js +1 -1
- package/lib/src/ap-list/hooks/use-offline-list.d.ts +21 -0
- package/lib/src/ap-list/hooks/use-offline-list.js +1 -0
- package/lib/src/ap-list/index.d.ts +4 -0
- package/lib/src/ap-list/index.js +1 -0
- package/lib/src/ap-list/index.vue.d.ts +153 -0
- package/lib/src/ap-list/index.vue.js +1 -0
- package/lib/src/ap-list/index.vue2.js +1 -0
- package/lib/src/ap-list/interface.d.ts +100 -0
- package/lib/src/ap-list/interface.js +1 -0
- package/lib/src/ap-list/style/index.css +11 -0
- package/lib/src/ap-table/ap-table.vue.js +1 -1
- package/lib/src/ap-table/interface.d.ts +8 -6
- package/lib/src/ap-table/style/ap-table.css +19 -0
- package/lib/src/ap-table/utils.d.ts +826 -670
- package/lib/src/editable-table/hooks/use-get-columns.d.ts +3 -25
- package/lib/src/editable-table/hooks/use-get-columns.js +1 -1
- package/lib/src/editable-table/interface.d.ts +6 -1
- package/lib/src/editable-table/style/index.css +3 -0
- package/lib/src/index.d.ts +1 -0
- package/lib/src/index.js +1 -1
- package/lib/src/theme/ap-list/index.css +11 -0
- package/lib/src/theme/ap-table/ap-table.css +19 -0
- package/lib/src/theme/editable-table/index.css +3 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),i=require("ant-design-vue");require("../ap-form.vue.js");require("../../hooks/index.js");const S=require("../../utils/slot.js");require("../../config-provider/index.js");const T=require("lodash-unified");require("../style/modal-form.css");const M=require("../../utils/index.js"),R=require("../../hooks/useControllableValue.js"),j=require("../../config-provider/hooks/use-locale.js"),O=require("../../config-provider/hooks/use-global-config.js"),D=require("../../config-provider/hooks/use-namespace.js"),U=require("../ap-form.vue2.js");function
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),i=require("ant-design-vue");require("../ap-form.vue.js");require("../../hooks/index.js");const S=require("../../utils/slot.js");require("../../config-provider/index.js");const T=require("lodash-unified");require("../style/modal-form.css");const M=require("../../utils/index.js"),R=require("../../hooks/useControllableValue.js"),j=require("../../config-provider/hooks/use-locale.js"),O=require("../../config-provider/hooks/use-global-config.js"),D=require("../../config-provider/hooks/use-namespace.js"),U=require("../ap-form.vue2.js");function y(d){return typeof d=="function"||Object.prototype.toString.call(d)==="[object Object]"&&!e.isVNode(d)}const z=e.defineComponent({__name:"index",props:{layout:{default:"horizontal"},labelCol:{},wrapperCol:{},colon:{type:Boolean,default:!0},labelAlign:{default:"right"},labelWrap:{type:Boolean},prefixCls:{},requiredMark:{},hideRequiredMark:{type:Boolean,default:!1},rules:{},validateMessages:{},validateOnRuleChange:{type:Boolean,default:!0},scrollToFirstError:{},onSubmit:{},name:{},validateTrigger:{default:"change"},size:{},disabled:{type:Boolean},onValuesChange:{},onFieldsChange:{},onFinishFailed:{},onValidate:{},initialValues:{},open:{type:Boolean,default:void 0},"onUpdate:open":{},modalProps:{default:()=>({})},title:{},width:{default:800},onFinish:{},submitter:{type:[Boolean,Object],default:()=>({resetButtonProps:!1})},showCancel:{type:Boolean,default:!0}},emits:["update:open"],setup(d,{expose:C,emit:B}){const o=d,m=e.useSlots(),k=B,n=e.ref(),c=e.ref(),u=e.ref(!1),{value:N,updateValue:f}=R.useControllableValue(o,k,{valuePropName:"open",defaultValue:!1}),{t:b}=j.useLocale(),v=O.useGlobalConfig("uiMode","aplus"),{b:q,e:g}=D.useNamespace("ap-form-modal-form");e.watch(()=>n.value,t=>{var l;t&&c.value&&((l=t.setFieldsValue)==null||l.call(t,c.value),c.value=void 0)});const V=S.getSingleVNode(m.trigger),h=V?e.cloneVNode(V,{onClick:()=>{f(!0)}}):null,_=e.computed(()=>{var l,a,r,p;const t=[];if(o.submitter===!1)return null;if(o.showCancel){let s;t.push(e.createVNode(i.Button,{onClick:F,disabled:u.value},y(s=b("ap.common.cancelText"))?s:{default:()=>[s]}))}return((l=o.submitter)==null?void 0:l.resetButtonProps)!==!1&&t.push(e.createVNode(i.Button,e.mergeProps(((a=o.submitter)==null?void 0:a.resetButtonProps)||{},{key:"submit",disabled:u.value,onClick:w}),{default:()=>{var s;return[((s=o.submitter)==null?void 0:s.resetText)||b("ap.common.resetText")]}})),((r=o.submitter)==null?void 0:r.submitButtonProps)!==!1&&t.push(e.createVNode(i.Button,e.mergeProps({type:"primary",key:"submit"},((p=o.submitter)==null?void 0:p.submitButtonProps)||{},{loading:u.value,onClick:x}),{default:()=>{var s;return[((s=o.submitter)==null?void 0:s.submitText)||b("ap.common.okText")]}})),e.createVNode(i.Flex,{justify:"flex-end",class:g(e.unref(v)==="admin"?"footer-admin":"footer")},{default:()=>[m.submitter?m.submitter(t):e.createVNode(i.Space,null,y(t)?t:{default:()=>[t]})]})});function w(){var t,l,a;o.submitter!==!1&&((t=n.value)==null||t.resetFields(),(a=(l=o.submitter)==null?void 0:l.onReset)==null||a.call(l))}async function x(){var t,l,a,r;if(o.submitter!==!1)try{const p=await((t=n.value)==null?void 0:t.validateFields());(a=(l=o.submitter)==null?void 0:l.onSubmit)==null||a.call(l),u.value=!0,await((r=o.onFinish)==null?void 0:r.call(o,M.convertReactiveToRaw(p)))&&f(!1)}finally{u.value=!1}}function F(){e.unref(u)||f(!1)}function P(t){!t&&e.unref(u)||f(t)}return C({resetFields:t=>{var l;(l=n.value)==null||l.resetFields(t)},clearValidate:t=>{var l;(l=n.value)==null||l.clearValidate(t)},validateFields:(t,l)=>{var a;return(a=n.value)==null?void 0:a.validateFields(t,l)},getFieldsValue:t=>{var l;return(l=n.value)==null?void 0:l.getFieldsValue(t)},validate:(t,l)=>{var a;return(a=n.value)==null?void 0:a.validate(t,l)},scrollToField:(t,l={})=>{var a;(a=n.value)==null||a.scrollToField(t,l)},setFieldValue:(t,l)=>{var a,r;(r=(a=n.value)==null?void 0:a.setFieldValue)==null||r.call(a,t,l)},setFieldsValue:t=>{var l,a;if(!n.value){c.value=t;return}(a=(l=n.value)==null?void 0:l.setFieldsValue)==null||a.call(l,t)}}),(t,l)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(i.Modal),e.mergeProps(t.modalProps,{open:e.unref(N),"onUpdate:open":P,onCancel:F,footer:null,width:t.width,class:e.unref(q)(),"body-style":{padding:e.unref(v)==="admin"?"0px !important":"20px !important"}}),{title:e.withCtx(()=>[e.renderSlot(t.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(o.title),1)])]),default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(g)(e.unref(v)==="admin"?"content-admin":"content"))},[e.createVNode(U.default,e.mergeProps({ref_key:"formRef",ref:n},e.unref(T.omit)(o,["modalProps","open","onUpdate:open","title","width","onFinish","submitter"])),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},16)],2),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(_.value)))]),_:3},16,["open","width","class","body-style"]),e.unref(h)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(h)),{key:0})):e.createCommentVNode("",!0)],64))}});exports.default=z;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Recordable } from '../../type';
|
|
2
|
+
import { ApListProps } from '../interface';
|
|
3
|
+
import { ComputedRef } from 'vue';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 处理离线数据分页的情况
|
|
7
|
+
* @param dataSource
|
|
8
|
+
* @param pagination
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
export declare const useOfflineList: <DataType = Recordable<any>>(params: ApListProps<DataType, Recordable<any>>) => {
|
|
12
|
+
pagination: ComputedRef<{
|
|
13
|
+
current: number;
|
|
14
|
+
pageSize: number;
|
|
15
|
+
total: number;
|
|
16
|
+
showSizeChanger: boolean;
|
|
17
|
+
showQuickJumper: boolean;
|
|
18
|
+
}>;
|
|
19
|
+
dataSource: ComputedRef<DataType[]>;
|
|
20
|
+
onChange: (page: number, size: number) => void;
|
|
21
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),c=n=>{const t=e.ref(n.pagination&&n.pagination.defaultCurrent||1),u=e.ref(n.pagination&&n.pagination.defaultPageSize||10);function i(r,a){t.value=r,u.value=a}const o=e.computed(()=>n.dataSource?n.pagination===!1?[...n.dataSource]:n.dataSource.slice((e.unref(t)-1)*e.unref(u),e.unref(t)*e.unref(u)):[]);return{pagination:e.computed(()=>{var r;return{current:e.unref(t),pageSize:e.unref(u),total:((r=n.dataSource)==null?void 0:r.length)||0,showSizeChanger:!0,showQuickJumper:!0}}),dataSource:o,onChange:i}};exports.useOfflineList=c;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";require("./index.vue2.js");require("./interface.js");
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { Recordable } from '../type';
|
|
2
|
+
import { RequestData } from '../ap-table';
|
|
3
|
+
import { CSSProperties, VNodeProps, AllowedComponentProps, ComponentCustomProps, Ref, ShallowUnwrapRef, VNode, RendererNode, RendererElement } from 'vue';
|
|
4
|
+
import { ApFormSearchFormExpose } from '..';
|
|
5
|
+
|
|
6
|
+
declare const _default: <RecordType extends Recordable<any>>(__VLS_props: {
|
|
7
|
+
loading?: boolean | undefined;
|
|
8
|
+
pagination?: false | {
|
|
9
|
+
defaultCurrent?: number | undefined;
|
|
10
|
+
defaultPageSize?: number | undefined;
|
|
11
|
+
hideOnSinglePage?: boolean | undefined;
|
|
12
|
+
} | undefined;
|
|
13
|
+
params?: Recordable<any> | undefined;
|
|
14
|
+
manual?: boolean | undefined;
|
|
15
|
+
dataSource?: RecordType[] | undefined;
|
|
16
|
+
request?: ((params: Partial<Recordable<any>> & {
|
|
17
|
+
pageSize: number;
|
|
18
|
+
current: number;
|
|
19
|
+
}) => Promise<Partial< RequestData<RecordType>>>) | undefined;
|
|
20
|
+
defaultData?: RecordType[] | undefined;
|
|
21
|
+
onLoadingChange?: ((loading: boolean) => void) | undefined;
|
|
22
|
+
beforeSearchSubmit?: ((params: Partial<Recordable<any>>) => any) | undefined;
|
|
23
|
+
onItem?: ((record: RecordType, index: number) => void) | undefined;
|
|
24
|
+
containerStyle?: CSSProperties | undefined;
|
|
25
|
+
footerWarpperStyle?: CSSProperties | undefined;
|
|
26
|
+
} & VNodeProps & AllowedComponentProps & ComponentCustomProps, __VLS_ctx?: {
|
|
27
|
+
attrs: any;
|
|
28
|
+
slots: {
|
|
29
|
+
header?(_: {
|
|
30
|
+
formIns: {
|
|
31
|
+
form: Ref< ApFormSearchFormExpose | undefined>;
|
|
32
|
+
};
|
|
33
|
+
submit: () => void;
|
|
34
|
+
reset: () => void;
|
|
35
|
+
}): any;
|
|
36
|
+
renderContent?(_: {
|
|
37
|
+
dataSource: RecordType[];
|
|
38
|
+
}): any;
|
|
39
|
+
renderItem?(_: {
|
|
40
|
+
item: RecordType;
|
|
41
|
+
index: number;
|
|
42
|
+
}): any;
|
|
43
|
+
};
|
|
44
|
+
emit: any;
|
|
45
|
+
} | undefined, __VLS_expose?: ((exposed: ShallowUnwrapRef<{
|
|
46
|
+
submit: () => void;
|
|
47
|
+
reset: () => void;
|
|
48
|
+
refresh: () => void;
|
|
49
|
+
refreshByDelete: (n: number) => void;
|
|
50
|
+
scrollToFirstRow: (selector?: string) => void;
|
|
51
|
+
}>) => void) | undefined, __VLS_setup?: Promise<{
|
|
52
|
+
props: {
|
|
53
|
+
loading?: boolean | undefined;
|
|
54
|
+
pagination?: false | {
|
|
55
|
+
defaultCurrent?: number | undefined;
|
|
56
|
+
defaultPageSize?: number | undefined;
|
|
57
|
+
hideOnSinglePage?: boolean | undefined;
|
|
58
|
+
} | undefined;
|
|
59
|
+
params?: Recordable<any> | undefined;
|
|
60
|
+
manual?: boolean | undefined;
|
|
61
|
+
dataSource?: RecordType[] | undefined;
|
|
62
|
+
request?: ((params: Partial<Recordable<any>> & {
|
|
63
|
+
pageSize: number;
|
|
64
|
+
current: number;
|
|
65
|
+
}) => Promise<Partial< RequestData<RecordType>>>) | undefined;
|
|
66
|
+
defaultData?: RecordType[] | undefined;
|
|
67
|
+
onLoadingChange?: ((loading: boolean) => void) | undefined;
|
|
68
|
+
beforeSearchSubmit?: ((params: Partial<Recordable<any>>) => any) | undefined;
|
|
69
|
+
onItem?: ((record: RecordType, index: number) => void) | undefined;
|
|
70
|
+
containerStyle?: CSSProperties | undefined;
|
|
71
|
+
footerWarpperStyle?: CSSProperties | undefined;
|
|
72
|
+
} & VNodeProps & AllowedComponentProps & ComponentCustomProps;
|
|
73
|
+
expose(exposed: ShallowUnwrapRef<{
|
|
74
|
+
submit: () => void;
|
|
75
|
+
reset: () => void;
|
|
76
|
+
refresh: () => void;
|
|
77
|
+
refreshByDelete: (n: number) => void;
|
|
78
|
+
scrollToFirstRow: (selector?: string) => void;
|
|
79
|
+
}>): void;
|
|
80
|
+
attrs: any;
|
|
81
|
+
slots: {
|
|
82
|
+
header?(_: {
|
|
83
|
+
formIns: {
|
|
84
|
+
form: Ref< ApFormSearchFormExpose | undefined>;
|
|
85
|
+
};
|
|
86
|
+
submit: () => void;
|
|
87
|
+
reset: () => void;
|
|
88
|
+
}): any;
|
|
89
|
+
renderContent?(_: {
|
|
90
|
+
dataSource: RecordType[];
|
|
91
|
+
}): any;
|
|
92
|
+
renderItem?(_: {
|
|
93
|
+
item: RecordType;
|
|
94
|
+
index: number;
|
|
95
|
+
}): any;
|
|
96
|
+
};
|
|
97
|
+
emit: any;
|
|
98
|
+
}>) => VNode<RendererNode, RendererElement, {
|
|
99
|
+
[key: string]: any;
|
|
100
|
+
}> & {
|
|
101
|
+
__ctx?: {
|
|
102
|
+
props: {
|
|
103
|
+
loading?: boolean | undefined;
|
|
104
|
+
pagination?: false | {
|
|
105
|
+
defaultCurrent?: number | undefined;
|
|
106
|
+
defaultPageSize?: number | undefined;
|
|
107
|
+
hideOnSinglePage?: boolean | undefined;
|
|
108
|
+
} | undefined;
|
|
109
|
+
params?: Recordable<any> | undefined;
|
|
110
|
+
manual?: boolean | undefined;
|
|
111
|
+
dataSource?: RecordType[] | undefined;
|
|
112
|
+
request?: ((params: Partial<Recordable<any>> & {
|
|
113
|
+
pageSize: number;
|
|
114
|
+
current: number;
|
|
115
|
+
}) => Promise<Partial< RequestData<RecordType>>>) | undefined;
|
|
116
|
+
defaultData?: RecordType[] | undefined;
|
|
117
|
+
onLoadingChange?: ((loading: boolean) => void) | undefined;
|
|
118
|
+
beforeSearchSubmit?: ((params: Partial<Recordable<any>>) => any) | undefined;
|
|
119
|
+
onItem?: ((record: RecordType, index: number) => void) | undefined;
|
|
120
|
+
containerStyle?: CSSProperties | undefined;
|
|
121
|
+
footerWarpperStyle?: CSSProperties | undefined;
|
|
122
|
+
} & VNodeProps & AllowedComponentProps & ComponentCustomProps;
|
|
123
|
+
expose(exposed: ShallowUnwrapRef<{
|
|
124
|
+
submit: () => void;
|
|
125
|
+
reset: () => void;
|
|
126
|
+
refresh: () => void;
|
|
127
|
+
refreshByDelete: (n: number) => void;
|
|
128
|
+
scrollToFirstRow: (selector?: string) => void;
|
|
129
|
+
}>): void;
|
|
130
|
+
attrs: any;
|
|
131
|
+
slots: {
|
|
132
|
+
header?(_: {
|
|
133
|
+
formIns: {
|
|
134
|
+
form: Ref< ApFormSearchFormExpose | undefined>;
|
|
135
|
+
};
|
|
136
|
+
submit: () => void;
|
|
137
|
+
reset: () => void;
|
|
138
|
+
}): any;
|
|
139
|
+
renderContent?(_: {
|
|
140
|
+
dataSource: RecordType[];
|
|
141
|
+
}): any;
|
|
142
|
+
renderItem?(_: {
|
|
143
|
+
item: RecordType;
|
|
144
|
+
index: number;
|
|
145
|
+
}): any;
|
|
146
|
+
};
|
|
147
|
+
emit: any;
|
|
148
|
+
} | undefined;
|
|
149
|
+
};
|
|
150
|
+
export default _default;
|
|
151
|
+
type __VLS_Prettify<T> = {
|
|
152
|
+
[K in keyof T]: T[K];
|
|
153
|
+
} & {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),i=require("ant-design-vue");require("../ap-table/index.js");require("../config-provider/index.js");const s=require("lodash-unified"),T=require("./hooks/use-offline-list.js");require("./style/index.css");const _=require("../config-provider/hooks/use-namespace.js"),N=require("../ap-table/hooks/use-table-paging.js"),O=e.defineComponent({__name:"index",props:{dataSource:{},loading:{type:Boolean,default:void 0},onItem:{},params:{},request:{},defaultData:{},onLoadingChange:{},beforeSearchSubmit:{},pagination:{type:[Boolean,Object],default:void 0},manual:{type:Boolean},containerStyle:{},footerWarpperStyle:{}},setup(y,{expose:v}){const b=i.Empty.PRESENTED_IMAGE_SIMPLE,n=y,{b:f,e:c}=_.useNamespace("ap-list"),d=e.ref(),{formRef:C,submit:g,reset:m,handleTableChange:k,data:u,refresh:B,refreshByDelete:P,tableProps:p}=N.useTablePaging({async request(t){var r;const a=await((r=n.request)==null?void 0:r.call(n,t));return{data:(a==null?void 0:a.data)||[],total:(a==null?void 0:a.total)||0}},defaultParams:n.params,defaultData:n.defaultData,manual:n.manual,defaultCurrent:n.pagination?n.pagination.defaultCurrent:void 0,defaultPageSize:n.pagination?n.pagination.defaultPageSize:void 0,formatParams:n.beforeSearchSubmit}),q={form:C},{pagination:S,dataSource:E,onChange:D}=T.useOfflineList(n);function z(t,a){if(e.unref(o)){D(t,a);return}k({current:t,pageSize:a},{},{},{currentDataSource:[],action:"paginate"})}const l=e.computed(()=>e.unref(o)?e.unref(E):e.unref(u).records),h=e.computed(()=>s.isUndefined(n.loading)?e.unref(u).loading:n.loading),w=e.computed(()=>{var t,a;return n.pagination===!1?!1:((t=n.pagination)==null?void 0:t.hideOnSinglePage)!==!0?!0:e.unref(o)?(((a=n.dataSource)==null?void 0:a.length)||0)>e.unref(S).pageSize:e.unref(u).total>e.unref(p).pagination.pageSize}),o=e.computed(()=>!s.isUndefined(n.dataSource));e.watch(()=>e.unref(h),t=>{var a;(a=n.onLoadingChange)==null||a.call(n,t)});function I(t){var a,r;(r=(a=d.value)==null?void 0:a.querySelector(t||":first-child"))==null||r.scrollIntoView({behavior:"smooth",block:"center"})}return v({submit:()=>g(),reset:()=>m(),refresh:()=>B(),refreshByDelete:t=>P(t),scrollToFirstRow:I}),(t,a)=>(e.openBlock(),e.createBlock(e.unref(i.Spin),{spinning:h.value,class:e.normalizeClass(e.unref(f)("spin"))},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(f)()),style:e.normalizeStyle(t.containerStyle)},[e.renderSlot(t.$slots,"header",{formIns:q,submit:e.unref(g),reset:e.unref(m)}),l.value.length===0?(e.openBlock(),e.createBlock(e.unref(i.Empty),{key:0,image:e.unref(b)},null,8,["image"])):(e.openBlock(),e.createElementBlock("div",{key:1,ref_key:"contentRef",ref:d,class:e.normalizeClass(e.unref(c)("content"))},[e.renderSlot(t.$slots,"renderContent",{dataSource:l.value},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(r,L)=>e.renderSlot(t.$slots,"renderItem",{item:r,index:L})),256))])],2)),w.value?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(e.unref(c)("footer")),style:e.normalizeStyle(t.footerWarpperStyle)},[e.createVNode(e.unref(i.Pagination),e.mergeProps(o.value?e.unref(S):e.unref(s.omit)(e.unref(p).pagination,["showTotal"]),{onChange:z}),null,16)],6)):e.createCommentVNode("",!0)],6)]),_:3},8,["spinning","class"]))}});exports.default=O;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./index.vue.js");exports.default=e.default;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { CSSProperties } from 'vue';
|
|
2
|
+
import { RequestData } from '../ap-table';
|
|
3
|
+
import { Recordable } from '../type';
|
|
4
|
+
|
|
5
|
+
export type ApListProps<RecordType = any, ParamsType = Recordable> = {
|
|
6
|
+
/**
|
|
7
|
+
* 列表数据源,传入后`request`和`defaultData`都将失效
|
|
8
|
+
*/
|
|
9
|
+
dataSource?: RecordType[];
|
|
10
|
+
/**
|
|
11
|
+
* 是否是加载中
|
|
12
|
+
*/
|
|
13
|
+
loading?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* 当点击列表项时触发
|
|
16
|
+
* @deprecated 暂未实现
|
|
17
|
+
*/
|
|
18
|
+
onItem?: (record: RecordType, index: number) => void;
|
|
19
|
+
/**
|
|
20
|
+
* 依赖的额外的参数(该参数变更不会触发网络请求)
|
|
21
|
+
*/
|
|
22
|
+
params?: ParamsType;
|
|
23
|
+
/**
|
|
24
|
+
* 请求数据
|
|
25
|
+
* @param params
|
|
26
|
+
* @returns
|
|
27
|
+
*/
|
|
28
|
+
request?: (params: Partial<ParamsType> & {
|
|
29
|
+
pageSize: number;
|
|
30
|
+
current: number;
|
|
31
|
+
}) => Promise<Partial<RequestData<RecordType>>>;
|
|
32
|
+
/**
|
|
33
|
+
* 表格的默认数据源,这些数据源将会在第一次请求后被替换
|
|
34
|
+
*/
|
|
35
|
+
defaultData?: RecordType[];
|
|
36
|
+
/**
|
|
37
|
+
* 表格loading状态变更后触发
|
|
38
|
+
* @param loading
|
|
39
|
+
* @returns
|
|
40
|
+
*/
|
|
41
|
+
onLoadingChange?: (loading: boolean) => void;
|
|
42
|
+
/**
|
|
43
|
+
* 查询表单提交之前,一般用于自定义对查询数据进行变更
|
|
44
|
+
* @param params
|
|
45
|
+
* @returns
|
|
46
|
+
*/
|
|
47
|
+
beforeSearchSubmit?: (params: Partial<ParamsType>) => any;
|
|
48
|
+
/**
|
|
49
|
+
* 是否显示分页器(特定的分页器)或者指定默认的当前页和pageSize
|
|
50
|
+
*/
|
|
51
|
+
pagination?: false | {
|
|
52
|
+
defaultCurrent?: number;
|
|
53
|
+
defaultPageSize?: number;
|
|
54
|
+
/**
|
|
55
|
+
* 只有一页时隐藏分页
|
|
56
|
+
*/
|
|
57
|
+
hideOnSinglePage?: boolean;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* 是否手动发起第一次网络请求
|
|
61
|
+
*/
|
|
62
|
+
manual?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* List容器的自定义样式
|
|
65
|
+
*/
|
|
66
|
+
containerStyle?: CSSProperties;
|
|
67
|
+
/**
|
|
68
|
+
* 底部分页器容器的样式
|
|
69
|
+
*/
|
|
70
|
+
footerWarpperStyle?: CSSProperties;
|
|
71
|
+
};
|
|
72
|
+
export type ApListExpose = {
|
|
73
|
+
/**
|
|
74
|
+
* 重置页码并发起网络请求
|
|
75
|
+
* @returns
|
|
76
|
+
*/
|
|
77
|
+
submit: () => void;
|
|
78
|
+
/**
|
|
79
|
+
* 重设查询表单(如果有的话)并发起网络请求
|
|
80
|
+
* @returns
|
|
81
|
+
*/
|
|
82
|
+
reset: () => void;
|
|
83
|
+
/**
|
|
84
|
+
* 刷新当前页
|
|
85
|
+
* @returns
|
|
86
|
+
*/
|
|
87
|
+
refresh: () => void;
|
|
88
|
+
/**
|
|
89
|
+
* 删除N条数据后刷新某一页(具体页面会计算)
|
|
90
|
+
* @param n 删除的n条数据
|
|
91
|
+
* @returns
|
|
92
|
+
*/
|
|
93
|
+
refreshByDelete: (n: number) => void;
|
|
94
|
+
/**
|
|
95
|
+
* 滚动到第一行(如果无效需要你传入相对于div.ap-list__content的查询参数)
|
|
96
|
+
* @param selector
|
|
97
|
+
* @returns
|
|
98
|
+
*/
|
|
99
|
+
scrollToFirstRow: (selector?: string) => void;
|
|
100
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),h=require("ant-design-vue"),W=require("ant-design-vue/es/theme/internal"),A=require("../ap-form/index.js"),c=require("./constants.js");require("../config-provider/index.js");const U=require("./hooks/use-table-paging.js"),u=require("lodash-unified");require("./style/ap-table.css");const H=require("@ant-design/icons-vue"),s=require("./utils.js"),K=require("./hooks/use-table-content-height.js"),$=require("../config-provider/hooks/use-locale.js"),G=require("../config-provider/hooks/use-namespace.js"),Q=require("../config-provider/hooks/use-global-config.js"),J={key:0},X=e.defineComponent({name:"ApTable",__name:"ap-table",props:{dropdownPrefixCls:{},loading:{type:[Boolean,Object],default:void 0},bordered:{type:Boolean,default:!1},locale:{},onChange:{},onResizeColumn:{},rowSelection:{},getPopupContainer:{},scroll:{},sortDirections:{default:()=>["ascend","descend"]},showSorterTooltip:{type:[Boolean,Object],default:!0},prefixCls:{},rowKey:{default:"key"},tableLayout:{},rowClassName:{},title:{},footer:{},id:{},showHeader:{type:Boolean,default:!0},components:{},customRow:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean],default:!1},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean,default:!1},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean,default:!1},indentSize:{default:15},expandIconColumnIndex:{},showExpandColumn:{type:Boolean,default:!0},expandedRowClassName:{},childrenColumnName:{default:"children"},rowExpandable:{},sticky:{type:[Boolean,Object]},transformCellText:{},columns:{},card:{type:Boolean,default:!1},params:{},searchFormRender:{},request:{},onLoad:{},defaultData:{},dataSource:{},onLoadingChange:{},searchForm:{type:[Boolean,Object],default:void 0},beforeSearchSubmit:{},pagination:{type:[Boolean,Object],default:void 0},searchFormWrapperStyle:{},tableWrapperStyle:{},manual:{type:Boolean,default:!1},size:{default:"middle"},adaptive:{type:Boolean,default:!1}},setup(R,{expose:T}){const n=R,C=e.useSlots(),[,B]=W.useToken(),{t:P}=$.useLocale(),{e:p,b:d}=G.useNamespace("ap-table"),k=Q.useGlobalConfig("uiMode","aplus"),{height:v,contentRef:I}=K.default(),f=e.computed(()=>{var r;let a=((r=n.columns)==null?void 0:r.filter(t=>!t.hideInTable))||[];return a=a.map(t=>({...u.omit(s.apColumnToColumn(t),["ellipsis"]),customRender({value:o,...l}){const y=s.getTableRenderType(t),w=c.apTableRenderItemMap[y],M=s.getTableRenderProps(t,{value:o,...l});let b=D(t,o,e.createVNode(w,e.mergeProps(M,{mode:"read"}),null));return t.customRender&&(b=t.customRender({value:o,...l,column:t,originalNode:b})),b}})),a}),S=e.computed(()=>{var a,r,t;return((t=(r=(a=n.columns)==null?void 0:a.filter(o=>!o.hideInSearch&&o.dataIndex&&(o.valueType||o.customRenderFormItem)&&!c.noRenderAsFormItemValueList.includes(o.valueType)))==null?void 0:r.sort((o,l)=>{let y=s.getColumnOrder(o.order);return s.getColumnOrder(l.order)-y}))==null?void 0:t.map(o=>{const l=s.updateFormProps(o,s.getFieldProps(o.fieldProps,{}));return{...o,fieldProps:{label:o.title,name:o.dataIndex,...l||{},placeholder:s.getPlaceholder(P,o.valueType,l==null?void 0:l.placeholder)}}}))||[]}),q=e.computed(()=>e.unref(f).filter(a=>a.sorter===!0).map(a=>a.dataIndex)),V=e.computed(()=>e.unref(f).filter(a=>a.filters&&!a.onFilter).map(a=>a.dataIndex)),{formRef:m,submit:F,reset:x,tableProps:i,handleTableChange:N,data:g}=U.useTablePaging({async request(a){var t,o;const r=await((t=n.request)==null?void 0:t.call(n,a));return(o=n.onLoad)==null||o.call(n,(r==null?void 0:r.data)||[]),{data:(r==null?void 0:r.data)||[],total:(r==null?void 0:r.total)||0}},filterFields:e.unref(V),sortFields:e.unref(q),defaultParams:n.params,defaultData:n.defaultData,manual:n.manual,defaultCurrent:n.pagination?n.pagination.defaultCurrent:void 0,defaultPageSize:n.pagination?n.pagination.defaultPageSize:void 0,formatParams:n.beforeSearchSubmit}),E=e.computed(()=>{var a;return n.scroll?n.scroll:n.adaptive&&(g.value.total>0||(a=n.dataSource)!=null&&a.length)?{y:e.unref(v),x:"100%"}:{x:!0}}),L=e.computed(()=>{var a;if(n.tableLayout)return n.tableLayout;if((a=n.columns)!=null&&a.some(r=>r.ellipsis))return"fixed"}),z=e.computed(()=>{const a=e.unref(i),r=u.isUndefined(n.dataSource)?a:{...a,dataSource:n.dataSource,onChange:n.onChange};return{...n,...r,loading:u.isUndefined(n.loading)?e.unref(i).loading:n.loading,pagination:n.pagination===!1?!1:e.unref(i).pagination,scroll:e.unref(E)}}),O=e.computed(()=>[d(),n.card?null:d("wrapper"),n.adaptive?d("adaptive"):null].filter(Boolean));function D(a,r,t){return c.noRenderAsFormItemValueList.includes(a.valueType)?t:a.copyable||a.ellipsis?e.createVNode(h.Typography.Paragraph,{copyable:a.copyable?{text:r,tooltip:!1}:!1,ellipsis:a.ellipsis?u.isBoolean(a.ellipsis)?{tooltip:r}:{...a.ellipsis,tooltip:r}:!1,content:a.ellipsis?r:t},null):t}e.watch(()=>e.unref(g).loading,a=>{var r;(r=n.onLoadingChange)==null||r.call(n,a)});function _(a){var r,t,o;(o=(t=(r=m.value)==null?void 0:r.apForm)==null?void 0:t.setFieldsValue)==null||o.call(t,a)}function j(){var a,r,t;return(t=(r=(a=m.value)==null?void 0:a.apForm)==null?void 0:r.getFieldsValue)==null?void 0:t.call(r,!0)}return T({submit:()=>F(),reset:()=>x(),setSearchFormValues:_,getSearchFormValues:j,dataSource:e.computed(()=>e.unref(g).records)}),(a,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(O.value)},[e.unref(u.isUndefined)(a.dataSource)&&a.searchForm!==!1&&S.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(a.card?e.unref(p)("search-wrapper"):null),style:e.normalizeStyle(a.searchFormWrapperStyle)},[e.createVNode(e.unref(A.ApForm).SearchForm,e.mergeProps(a.searchForm||{},{ref_key:"formRef",ref:m,"custom-reset":"",onSubmit:e.unref(F),onReset:e.unref(x),"submit-loading":e.unref(i).loading}),e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,t=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.customRenderFormItem?t.customRenderFormItem(t):e.unref(c.apTableFormItemMap)[t.valueType||"text"]),e.mergeProps({key:t.dataIndex,ref_for:!0},t.fieldProps||{},{span:t.span}),null,16,["span"]))),128))]),_:2},[C.searchFormExtra?{name:"extra",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"searchFormExtra")]),key:"0"}:void 0]),1040,["onSubmit","onReset","submit-loading"])],6)):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"contentRef",ref:I,class:e.normalizeClass([e.unref(p)("table-wrapper"),a.card?e.unref(p)("table-wrapper-card"):null]),style:e.normalizeStyle(a.tableWrapperStyle)},[e.renderSlot(a.$slots,"title"),e.createVNode(e.unref(h.Table),e.mergeProps({class:e.unref(k)==="admin"?e.unref(d)("table-admin"):e.unref(d)("table")},z.value,{"table-layout":L.value,onChange:e.unref(N),columns:f.value}),e.createSlots({headerCell:e.withCtx(({column:t,title:o})=>[t.tooltip?(e.openBlock(),e.createElementBlock("span",J,[e.createElementVNode("span",null,e.toDisplayString(o),1),e.createVNode(e.unref(h.Tooltip),{title:t.tooltip,placement:"bottom"},{default:e.withCtx(()=>[e.createVNode(e.unref(H.QuestionCircleOutlined),{style:e.normalizeStyle({paddingLeft:"4px",color:e.unref(B).colorPrimary})},null,8,["style"])]),_:2},1032,["title"])])):e.createCommentVNode("",!0)]),_:2},[e.renderList(e.unref(u.omit)(C,["title","searchFormExtra"]),(t,o)=>({name:o,fn:e.withCtx(l=>[e.renderSlot(a.$slots,o,e.normalizeProps(e.guardReactiveProps(l||{})))])}))]),1040,["class","table-layout","onChange","columns"])],6)],2))}});exports.default=X;
|
|
@@ -6,6 +6,7 @@ import { Recordable } from '../type';
|
|
|
6
6
|
import { ComputedRef, CSSProperties, VNode } from 'vue';
|
|
7
7
|
import { ApActionGroupProps } from '../ap-action';
|
|
8
8
|
import { ApTableIndexProps } from './components/interface';
|
|
9
|
+
import { EllipsisConfig } from 'ant-design-vue/es/typography/Base';
|
|
9
10
|
|
|
10
11
|
export type ValueEnumType = {
|
|
11
12
|
text: string;
|
|
@@ -56,7 +57,7 @@ export type ApTableValueFields = {
|
|
|
56
57
|
};
|
|
57
58
|
export type ApTableValueTypes = keyof ApTableValueFields;
|
|
58
59
|
export type ValueEnum = Record<string, ValueEnumType>;
|
|
59
|
-
export type ExtraProColumnType<T> = Omit<ColumnType<T>, 'children' | 'filters' | 'customRender'> & {
|
|
60
|
+
export type ExtraProColumnType<T> = Omit<ColumnType<T>, 'children' | 'filters' | 'customRender' | 'ellipsis'> & {
|
|
60
61
|
sorter?: string | boolean | CompareFn<T> | {
|
|
61
62
|
compare?: CompareFn<T>;
|
|
62
63
|
/** Config multiple sorter order priority */
|
|
@@ -77,6 +78,10 @@ export type ApColumnType<RecordType = any, ValueType extends ApTableValueTypes =
|
|
|
77
78
|
* 是否可以复制
|
|
78
79
|
*/
|
|
79
80
|
copyable?: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* 是否省略自动溢出,自动溢出省略,为对象时可设置省略行数、是否可展开、添加后缀等
|
|
83
|
+
*/
|
|
84
|
+
ellipsis?: boolean | EllipsisConfig;
|
|
80
85
|
/**
|
|
81
86
|
* 是否搜索表单中隐藏
|
|
82
87
|
*/
|
|
@@ -160,8 +165,8 @@ export type ApTableProps<RecordType = any, ParamsType = any> = Omit<TableProps<R
|
|
|
160
165
|
* @returns
|
|
161
166
|
*/
|
|
162
167
|
request?: (params: Partial<ParamsType> & {
|
|
163
|
-
pageSize
|
|
164
|
-
current
|
|
168
|
+
pageSize: number;
|
|
169
|
+
current: number;
|
|
165
170
|
sort?: Record<string, SortOrder>;
|
|
166
171
|
filter?: Recordable<any>;
|
|
167
172
|
}) => Promise<Partial<RequestData<RecordType>>>;
|
|
@@ -248,6 +253,3 @@ export type ApTableExpose<SearchParamsType = Recordable, RecordType = any> = {
|
|
|
248
253
|
*/
|
|
249
254
|
dataSource: ComputedRef<RecordType>;
|
|
250
255
|
};
|
|
251
|
-
export type FixedApColumnType<RecordType = any, ValueType extends ApTableValueTypes = ApTableValueTypes> = Omit<ApColumnType<RecordType, ValueType>, 'filters'> & {
|
|
252
|
-
filters?: ColumnType<RecordType>['filters'];
|
|
253
|
-
};
|
|
@@ -85,3 +85,22 @@
|
|
|
85
85
|
.aplus-ap-table .ant-table-small .ant-table-placeholder .ant-table-cell {
|
|
86
86
|
padding: 0 !important;
|
|
87
87
|
}
|
|
88
|
+
.aplus-ap-table .ant-table-column-sorters {
|
|
89
|
+
justify-content: unset;
|
|
90
|
+
}
|
|
91
|
+
.aplus-ap-table .ant-table-column-sorters .ant-table-column-title {
|
|
92
|
+
flex: unset;
|
|
93
|
+
}
|
|
94
|
+
.aplus-ap-table .ant-table-filter-column {
|
|
95
|
+
justify-content: unset;
|
|
96
|
+
}
|
|
97
|
+
.aplus-ap-table .ant-table-filter-column .ant-table-column-title {
|
|
98
|
+
flex: unset;
|
|
99
|
+
}
|
|
100
|
+
.aplus-ap-table .ant-table-filter-column .ant-table-filter-trigger {
|
|
101
|
+
margin-left: 2px;
|
|
102
|
+
padding-left: 2px;
|
|
103
|
+
}
|
|
104
|
+
.aplus-ap-table .ant-table-cell .ant-typography {
|
|
105
|
+
margin-bottom: 0;
|
|
106
|
+
}
|