@aplus-frontend/ui 7.9.1 → 7.10.0

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.
@@ -1,146 +1,170 @@
1
- import { ref as le, reactive as q, unref as g, nextTick as ue, onMounted as fe, watch as ge, computed as x, createVNode as T } from "vue";
2
- import { useTableSortedAndFiltered as de } from "./use-sorted-filtered.mjs";
1
+ import { ref as de, reactive as k, unref as g, nextTick as pe, onMounted as he, watch as me, computed as O, createVNode as C } from "vue";
2
+ import { useTableSortedAndFiltered as Se } from "./use-sorted-filtered.mjs";
3
3
  import "../../config-provider/index.mjs";
4
- import { parseFieldValue as pe, dataIndexToStr as me, isEqualCustom as he } from "../utils.mjs";
5
- import { isArray as N, isEqualWith as Se, isUndefined as ze } from "lodash-unified";
4
+ import { parseFieldValue as ze, dataIndexToStr as Pe, isEqualCustom as Te } from "../utils.mjs";
5
+ import { isArray as B, isEqualWith as be, isUndefined as Ce } from "lodash-unified";
6
6
  import "../../utils/index.mjs";
7
- import { useLocale as Pe } from "../../config-provider/hooks/use-locale.mjs";
8
- import { useNamespace as Te } from "../../config-provider/hooks/use-namespace.mjs";
9
- import { isDef as k } from "../../utils/is.mjs";
10
- const d = 1, E = 20, B = {
7
+ import { useLocale as xe } from "../../config-provider/hooks/use-locale.mjs";
8
+ import { useNamespace as Fe } from "../../config-provider/hooks/use-namespace.mjs";
9
+ import { isDef as J } from "../../utils/is.mjs";
10
+ const d = 1, L = 20, K = {
11
11
  defaultCurrent: d,
12
- defaultPageSize: E,
12
+ defaultPageSize: L,
13
13
  showLessItems: !1,
14
14
  showTotal: !0
15
15
  };
16
- function be(c) {
17
- return c === !1 ? {} : c == null || c === !0 ? B : {
18
- ...B,
19
- ...c
16
+ function we(i) {
17
+ return i === !1 ? {} : i == null || i === !0 ? K : {
18
+ ...K,
19
+ ...i
20
20
  };
21
21
  }
22
- function Ce(c) {
23
- const u = {};
24
- return c === !1 || (c === !0 || c == null ? (u.current = d, u.pageSize = E) : (u.current = c.defaultCurrent || d, u.pageSize = c.defaultPageSize || E)), u;
22
+ function Ee(i) {
23
+ const f = {};
24
+ return i === !1 || (i === !0 || i == null ? (f.current = d, f.pageSize = L) : (f.current = i.defaultCurrent || d, f.pageSize = i.defaultPageSize || L)), f;
25
25
  }
26
- const ye = ({
27
- manual: c = !1,
28
- request: u,
29
- params: v = {},
30
- defaultData: D = [],
31
- formatParams: O,
32
- paramsValueTypeMap: A,
33
- resetFieldsIgnores: L,
34
- filterFields: J,
35
- sortFields: K,
36
- namespace: M = "ap-table",
26
+ const Ne = ({
27
+ manual: i = !1,
28
+ request: f,
29
+ params: y = {},
30
+ defaultData: R = [],
31
+ formatParams: I,
32
+ paramsValueTypeMap: M,
33
+ resetFieldsIgnores: N,
34
+ filterFields: Q,
35
+ sortFields: W,
36
+ namespace: $ = "ap-table",
37
37
  pagination: p,
38
- onClickReset: Q,
39
- onAfterRequest: W
38
+ onClickReset: G,
39
+ onAfterRequest: Z
40
40
  }) => {
41
- let b = 0, o = {};
42
- const $ = be(p), G = (e) => O ? O(e) : e, m = le(), s = q(Ce(p)), {
43
- getColumnSFConfig: Z,
44
- setSF: H,
45
- clearAll: X,
46
- sortedInfo: y,
47
- filteredInfo: R
48
- } = de(), {
49
- t: h
50
- } = Pe(), {
41
+ let x = 0, s = {};
42
+ const H = we(p), X = (e) => I ? I(e) : e, h = de(), c = k(Ee(p)), {
43
+ getColumnSFConfig: Y,
44
+ setSF: ee,
45
+ clearAll: te,
46
+ sortedInfo: V,
47
+ filteredInfo: j
48
+ } = Se(), {
49
+ t: m
50
+ } = xe(), {
51
51
  b: S
52
- } = Te(M), a = q({
53
- total: D.length,
54
- records: D,
52
+ } = Fe($), a = k({
53
+ total: R.length,
54
+ records: R,
55
55
  loading: !1
56
- }), z = () => m.value?.apForm?.getFieldsValueTransformed(!0) || {}, I = async (e) => {
57
- const t = G(e), n = Date.now();
58
- b = n, a.loading = !0;
56
+ }), z = () => h.value?.apForm?.getFieldsValueTransformed(!0) || {}, F = async (e, t) => {
57
+ const n = X(e), r = Date.now(), o = t?.cache;
58
+ x = r, a.loading = !0;
59
59
  try {
60
- const r = await u({
61
- ...g(v),
62
- ...t
60
+ const u = await f({
61
+ ...g(y),
62
+ ...n
63
63
  });
64
- b === n && (a.total = r.total || r.data?.length || 0, a.records = [...r.data || []], a.loading = !1);
64
+ if (x === r) {
65
+ a.total = u.total || u.data?.length || 0, o ? a.records.push(...u.data || []) : a.records = [...u.data || []];
66
+ const b = a.records.length < a.total;
67
+ t?.onSuccess?.(e, b), a.loading = !1;
68
+ }
65
69
  } catch {
66
- b === n && (a.records = [], a.total = 0, a.loading = !1);
70
+ x === r && !o && (a.records = [], a.total = 0), a.loading = !1;
67
71
  } finally {
68
- W?.(a.records);
72
+ Z?.(a.records);
69
73
  }
70
- }, V = (e) => {
74
+ }, w = (e) => {
71
75
  const t = {};
72
76
  return Object.entries(e).forEach(([n, r]) => {
73
- if (t[n] = r, A && r) {
74
- const i = A[n];
75
- i && (t[n] = pe(i, r));
77
+ if (t[n] = r, M && r) {
78
+ const o = M[n];
79
+ o && (t[n] = ze(o, r));
76
80
  }
77
81
  }), t;
78
- }, Y = async (e) => {
82
+ }, ne = async (e) => {
79
83
  const t = z(), n = {};
80
- Object.entries(t).forEach(([r, i]) => {
81
- L && L.indexOf(r) > -1 && (n[r] = i);
82
- }), await m.value?.apForm?.resetFields(), m.value?.apForm?.setFieldsValue?.(n), ue(() => {
84
+ Object.entries(t).forEach(([r, o]) => {
85
+ N && N.indexOf(r) > -1 && (n[r] = o);
86
+ }), await h.value?.apForm?.resetFields(), h.value?.apForm?.setFieldsValue?.(n), pe(() => {
83
87
  e?.();
84
88
  });
85
89
  }, P = (e) => {
86
- o = e;
87
- const t = V(e);
88
- I(t);
89
- }, ee = (e) => {
90
+ s = e;
91
+ const t = w(e);
92
+ F(t);
93
+ }, re = (e) => {
90
94
  P({
91
- ...o,
95
+ ...s,
92
96
  ...e
93
97
  });
94
- }, C = () => {
95
- j(!0);
96
- }, j = (e = !1) => {
98
+ };
99
+ let T, E = !0;
100
+ function U() {
101
+ T = void 0, E = !0;
102
+ }
103
+ const ae = () => {
104
+ if (!E)
105
+ return;
106
+ const e = T ? T + 1 : 2, t = {
107
+ ...s,
108
+ current: e
109
+ };
110
+ s = t;
111
+ const n = w(t);
112
+ F(n, {
113
+ cache: !0,
114
+ onSuccess(r, o) {
115
+ T = r.current, E = o;
116
+ }
117
+ });
118
+ }, v = () => {
119
+ q(!0), U();
120
+ }, q = (e = !1) => {
97
121
  const t = z(), n = p !== !1;
98
- n && e && (s.current = d), P({
122
+ n && e && (c.current = d), P({
99
123
  ...t,
100
- filter: o.filter,
101
- sort: o.sort,
102
- current: n ? e ? d : o.current || s.current : void 0,
103
- pageSize: n ? o.pageSize || s.pageSize : void 0
124
+ filter: s.filter,
125
+ sort: s.sort,
126
+ current: n ? e ? d : s.current || c.current : void 0,
127
+ pageSize: n ? s.pageSize || c.pageSize : void 0
104
128
  });
105
- }, te = () => {
106
- X(), o.sort = {}, o.filter = {}, Q?.(), Y(C);
107
- }, w = () => {
108
- P(o);
109
- }, ne = (e) => {
129
+ }, oe = () => {
130
+ te(), s.sort = {}, s.filter = {}, G?.(), ne(v), U();
131
+ }, A = () => {
132
+ P(s);
133
+ }, se = (e) => {
110
134
  if (p === !1)
111
- w();
135
+ A();
112
136
  else {
113
137
  const {
114
138
  current: t,
115
139
  pageSize: n
116
- } = s, r = a.total - e, i = Math.ceil(r / n), f = t > i ? i : t;
117
- ee({
118
- current: f > 0 ? f : 1
140
+ } = c, r = a.total - e, o = Math.ceil(r / n), u = t > o ? o : t;
141
+ re({
142
+ current: u > 0 ? u : 1
119
143
  });
120
144
  }
121
- }, F = (e, t, n) => {
145
+ }, D = (e, t, n) => {
122
146
  const r = z();
123
- s.current = e.current, s.pageSize = e.pageSize, H(t, n);
124
- const i = N(n) ? [...n] : [n], f = {};
125
- for (const l of i)
126
- g(K)?.includes(l.columnKey || l.field) && l.order && (f[me(l.columnKey || l.field)] = l.order);
127
- const U = {};
147
+ c.current = e.current, c.pageSize = e.pageSize, ee(t, n);
148
+ const o = B(n) ? [...n] : [n], u = {};
149
+ for (const l of o)
150
+ g(W)?.includes(l.columnKey || l.field) && l.order && (u[Pe(l.columnKey || l.field)] = l.order);
151
+ const b = {};
128
152
  for (const l of Object.keys(t))
129
- g(J)?.includes(l) && t[l] && (U[l] = t[l]);
153
+ g(Q)?.includes(l) && t[l] && (b[l] = t[l]);
130
154
  const _ = {
131
155
  ...r,
132
- filter: U,
133
- sort: f,
156
+ filter: b,
157
+ sort: u,
134
158
  current: e.current,
135
159
  pageSize: e.pageSize
136
160
  };
137
- Se(o, _, he) || P(_);
138
- }, re = (e, t = R.value || {}, n = y.value || {}) => {
139
- const r = e?.current ?? s.current, i = e?.pageSize ?? s.pageSize;
140
- F(
161
+ be(s, _, Te) || P(_);
162
+ }, ce = (e, t = j.value || {}, n = V.value || {}) => {
163
+ const r = e?.current ?? c.current, o = e?.pageSize ?? c.pageSize;
164
+ D(
141
165
  {
142
166
  current: r,
143
- pageSize: i
167
+ pageSize: o
144
168
  },
145
169
  t,
146
170
  n,
@@ -151,101 +175,102 @@ const ye = ({
151
175
  }
152
176
  );
153
177
  };
154
- fe(() => {
178
+ he(() => {
155
179
  const e = z(), {
156
180
  current: t,
157
181
  pageSize: n
158
- } = s;
159
- if (o = {
182
+ } = c;
183
+ if (s = {
160
184
  current: t,
161
185
  pageSize: n,
162
186
  filter: {},
163
187
  sort: {},
164
188
  ...e
165
- }, !c) {
166
- const r = V(o);
167
- I(r);
189
+ }, !i) {
190
+ const r = w(s);
191
+ F(r);
168
192
  }
169
- }), ge(() => g(v), () => {
170
- C();
193
+ }), me(() => g(y), () => {
194
+ v();
171
195
  }, {
172
196
  deep: !0
173
197
  });
174
- const ae = x(() => {
198
+ const ie = O(() => {
175
199
  if (a.total === 0)
176
200
  return "-";
177
201
  const {
178
202
  current: e,
179
203
  pageSize: t
180
- } = s;
204
+ } = c;
181
205
  return `${e}/${Math.ceil(a.total / t)}`;
182
206
  });
183
- function oe(e) {
184
- N(e) && (a.records = e, a.total = e.length);
207
+ function ue(e) {
208
+ B(e) && (a.records = e, a.total = e.length);
185
209
  }
186
- const se = x(() => {
210
+ const le = O(() => {
187
211
  const {
188
212
  showLessItems: e,
189
213
  showTotal: t,
190
214
  showQuickJumper: n,
191
215
  showSizeChanger: r,
192
- pageSizeOptions: i
193
- } = $;
216
+ pageSizeOptions: o
217
+ } = H;
194
218
  return {
195
219
  loading: a.loading,
196
220
  pagination: {
197
- current: s.current,
198
- pageSize: s.pageSize,
221
+ current: c.current,
222
+ pageSize: c.pageSize,
199
223
  total: a.total,
200
- showSizeChanger: k(r) ? r : !e,
201
- showQuickJumper: k(n) ? n : !e,
224
+ showSizeChanger: J(r) ? r : !e,
225
+ showQuickJumper: J(n) ? n : !e,
202
226
  showLessItems: e,
203
227
  size: "default",
204
- pageSizeOptions: ze(i) ? ["10", "20", "50", "100"] : i,
205
- showTotal: t ? (f) => T("span", {
228
+ pageSizeOptions: Ce(o) ? ["10", "20", "50", "100"] : o,
229
+ showTotal: t ? (u) => C("span", {
206
230
  class: S("pagination-total-wrapper")
207
- }, [h("ap.apTable.pagination.totalLeftPrefix"), " ", T("span", {
231
+ }, [m("ap.apTable.pagination.totalLeftPrefix"), " ", C("span", {
208
232
  class: S("pagination-count-text")
209
- }, [f]), " ", h("ap.apTable.pagination.totalLeftSuffix"), T("span", {
233
+ }, [u]), " ", m("ap.apTable.pagination.totalLeftSuffix"), C("span", {
210
234
  class: S("pagination--total-right")
211
- }, [h("ap.apTable.pagination.totalRightPrefix"), " ", T("span", {
235
+ }, [m("ap.apTable.pagination.totalRightPrefix"), " ", C("span", {
212
236
  class: S("pagination-count-text")
213
- }, [g(ae)]), " ", h("ap.apTable.pagination.totalRightSuffix")])]) : void 0
237
+ }, [g(ie)]), " ", m("ap.apTable.pagination.totalRightSuffix")])]) : void 0
214
238
  },
215
- onChange: F,
239
+ onChange: D,
216
240
  dataSource: a.records
217
241
  };
218
242
  });
219
- function ie(e, t = !0) {
220
- Object.assign(s, e), o.current = e.current, o.pageSize = e.pageSize, t && w();
243
+ function fe(e, t = !0) {
244
+ Object.assign(c, e), s.current = e.current, s.pageSize = e.pageSize, t && A();
221
245
  }
222
- function ce() {
246
+ function ge() {
223
247
  return {
224
- ...s
248
+ ...c
225
249
  };
226
250
  }
227
251
  return {
228
- formRef: m,
229
- submit: C,
230
- reset: te,
231
- refresh: w,
232
- refreshByDelete: ne,
252
+ formRef: h,
253
+ submit: v,
254
+ reset: oe,
255
+ refresh: A,
256
+ refreshByDelete: se,
233
257
  data: a,
234
- handleTableChange: F,
235
- handleTableChangeOptional: re,
236
- tableProps: se,
237
- dataSource: x(() => a.records),
238
- setDataSource: oe,
239
- getColumnSFConfig: Z,
240
- sortedInfo: y,
241
- filteredInfo: R,
242
- getPaging: ce,
243
- setPaging: ie,
244
- submitWith: j
258
+ handleTableChange: D,
259
+ handleTableChangeOptional: ce,
260
+ tableProps: le,
261
+ dataSource: O(() => a.records),
262
+ setDataSource: ue,
263
+ getColumnSFConfig: Y,
264
+ sortedInfo: V,
265
+ filteredInfo: j,
266
+ getPaging: ge,
267
+ setPaging: fe,
268
+ submitWith: q,
269
+ fetchNextPageAndCache: ae
245
270
  };
246
271
  };
247
272
  export {
248
273
  d as DEFAULT_CURRENT,
249
- E as DEFAULT_PAGE_SIZE,
250
- ye as useTablePaging
274
+ L as DEFAULT_PAGE_SIZE,
275
+ Ne as useTablePaging
251
276
  };
@@ -1,2 +1,2 @@
1
- declare const _default: "7.9.1";
1
+ declare const _default: "7.10.0";
2
2
  export default _default;
@@ -1,4 +1,4 @@
1
- const e = "7.9.1";
1
+ const e = "7.10.0";
2
2
  export {
3
3
  e as default
4
4
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),g=require("../../ap-form/index.js"),s=require("lodash-unified");require("../../config-provider/index.js");const M=require("../hooks/use-editable-columns.js");require("../index.vue2.js");const P=require("../hooks/use-editable-form-item-api.js"),k=require("../../ap-form/context.js"),H=require("../../ap-form/utils/get.js"),L=require("../utils.js"),O=require("../../ap-form/hooks/use-watch.js"),z=require("./utils.js"),G=require("../style/editable.js"),K=require("../../config-provider/hooks/use-namespace.js"),W=require("../../config-provider/hooks/use-global-config.js"),U=require("../index.vue.js"),$=e.defineComponent({name:"EditableGrid",__name:"form-item",props:{dropdownPrefixCls:{},bordered:{type:Boolean},locale:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{},showSorterTooltip:{type:[Boolean,Object]},prefixCls:{},rowKey:{type:[String,Function],default:"key"},tableLayout:{},title:{},id:{},showHeader:{type:Boolean},components:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean]},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean},indentSize:{},expandIconColumnIndex:{},showExpandColumn:{type:Boolean},expandedRowClassName:{},childrenColumnName:{},rowExpandable:{},transformCellText:{},rowHoverable:{type:Boolean},rowSelection:{type:[Boolean,Object]},onLoadingChange:{},onShownColumnsChange:{},pagination:{type:[Boolean,Object],default:!1},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},tableStyle:{},adaptive:{type:Boolean},columnResizable:{type:Boolean,default:!1},loading:{type:Boolean,default:void 0},summary:{},rowHeight:{default:66},getRowHeight:{},advanceRenderer:{type:Boolean},browserTooltips:{type:Boolean},virtual:{type:[Boolean,Object],default:void 0},onRowClicked:{},onScrollEnd:{},rowClassName:{},rowClassRules:{},autoHeight:{type:Boolean},onUpdate:{},customRow:{},theme:{},columns:{},defaultValue:{},onChange:{},maxLength:{},onFieldChange:{},label:{},name:{},formItem:{}},setup(w,{expose:h}){const y=e.useSlots(),t=w,{b}=K.useNamespace("editable-aggrid"),C=G.default("editable-aggrid"),r=e.ref(),{internalInstance:u,model:R}=k.useInjectForm(),i=L.getShadowName(t.name);let c;e.onMounted(()=>{const o=t.formItem?.initialValue??H.getModelValue(e.unref(R),t.name);c=s.cloneDeep(o),S(o,"suffix",!0)});const l=e.ref([]),v=O.useWatch(t.name);e.watch(()=>v.value,o=>{s.isEqual(o,l.value)||m(o??c)},{deep:!0});const x=W.useGlobalConfig("valueTypeMap"),B=M.useGetEditableColumns(t,x,i),{add:_,addMultiple:q,__addMultiple:S,remove:I,removeByKey:E,getRowData:F,getRowsData:N,setRowData:T,clear:V,refreshRowIds:d}=P.useEditableFormItemApi(t,u,l,i);function j(){const o=r.value?._internalGridApi;if(!d.value?.length||!o)return;const a=d.value.map(n=>o.getRowNode(n)).filter(n=>!!n);o.refreshCells({rowNodes:a,force:!0}),d.value=[]}function m(o){l.value=[...o];const a=z.arrayToObject(o,t.rowKey);u?.setFieldValue(t.name,[...o]),u?.setFieldValue(i,a)}function p(o,a){const n=o==="end"?l.value.length-1:o;r.value?.scrollToRow(n,a)}function A(o,a){r.value?.scrollToColumn(o,a)}return h({add:_,addMultiple:q,remove:I,removeByKey:E,getRowData:F,getRowsData:N,setRowData:T,clear:V,setTableData:m,scrollTo:p,scrollToRow:p,scrollToColumn:A}),(o,a)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(g.ApForm).FormItem,{hidden:"",name:o.name},null,8,["name"]),e.createVNode(e.unref(g.ApForm).FormItem,e.mergeProps(e.unref(s.omit)(o.formItem,"initialValue"),{label:o.label}),{default:e.withCtx(()=>[e.createVNode(U.default,e.mergeProps(e.unref(s.omit)(t,["name","maxLength","onChange","defaultValue","formItem"]),{ref_key:"tableRef",ref:r,class:[e.unref(b)(),e.unref(C)],size:"mini",columns:e.unref(B),"data-source":l.value,"search-form":!1,onUpdate:j}),e.createSlots({_:2},[e.renderList(y,(n,f)=>({name:f,fn:e.withCtx(D=>[e.renderSlot(o.$slots,f,e.normalizeProps(e.guardReactiveProps(D||{})))])}))]),1040,["class","columns","data-source"])]),_:3},16,["label"])],64))}});exports.default=$;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("vue"),g=require("../../ap-form/index.js"),l=require("lodash-unified");require("../../config-provider/index.js");const A=require("../hooks/use-editable-columns.js");require("../index.vue2.js");const O=require("../hooks/use-editable-form-item-api.js"),k=require("../../ap-form/context.js"),H=require("../../ap-form/utils/get.js"),K=require("../utils.js"),P=require("../../ap-form/hooks/use-watch.js"),w=require("./utils.js"),z=require("../style/editable.js"),G=require("../../config-provider/hooks/use-namespace.js"),L=require("../../config-provider/hooks/use-global-config.js"),W=require("../index.vue.js"),U=o.defineComponent({name:"EditableGrid",__name:"form-item",props:{dropdownPrefixCls:{},bordered:{type:Boolean},locale:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{},showSorterTooltip:{type:[Boolean,Object]},prefixCls:{},rowKey:{type:[String,Function],default:"key"},tableLayout:{},title:{},id:{},showHeader:{type:Boolean},components:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean]},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean},indentSize:{},expandIconColumnIndex:{},showExpandColumn:{type:Boolean},expandedRowClassName:{},childrenColumnName:{},rowExpandable:{},transformCellText:{},rowHoverable:{type:Boolean},rowSelection:{type:[Boolean,Object]},onLoadingChange:{},onShownColumnsChange:{},pagination:{type:[Boolean,Object],default:!1},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},tableStyle:{},adaptive:{type:Boolean},columnResizable:{type:Boolean,default:!1},loading:{type:Boolean,default:void 0},summary:{},rowHeight:{default:66},getRowHeight:{},advanceRenderer:{type:Boolean},browserTooltips:{type:Boolean},virtual:{type:[Boolean,Object],default:void 0},onRowClicked:{},onScrollEnd:{},rowClassName:{},rowClassRules:{},autoHeight:{type:Boolean},onUpdate:{},customRow:{},theme:{},columns:{},defaultValue:{},onChange:{},maxLength:{},onFieldChange:{},label:{},name:{},formItem:{}},setup(y,{expose:h}){const b=o.useSlots(),t=y,{b:C}=G.useNamespace("editable-aggrid"),R=z.default("editable-aggrid"),u=o.ref(),{internalInstance:r}=k.useInjectForm(),i=K.getShadowName(t.name);let c=[];o.onMounted(()=>{const e=t.formItem?.initialValue??H.getModelValue(r?.getInitialValues()??{},t.name);e&&(r?.updateInitialModel(i,w.arrayToObject(l.cloneDeep(e),t.rowKey)),c=l.cloneDeep(e),I(l.cloneDeep(e),"suffix",!0))});const s=o.ref([]),v=P.useWatch(t.name);o.watch(()=>v.value,e=>{l.isEqual(e,s.value)||p(e??l.cloneDeep(c))},{deep:!0,flush:"post"});const x=L.useGlobalConfig("valueTypeMap"),B=A.useGetEditableColumns(t,x,i),{add:_,addMultiple:q,__addMultiple:I,remove:S,removeByKey:E,getRowData:F,getRowsData:N,setRowData:T,clear:V,refreshRowIds:d}=O.useEditableFormItemApi(t,r,s,i);function D(){const e=u.value?._internalGridApi;if(!d.value?.length||!e)return;const a=d.value.map(n=>e.getRowNode(n)).filter(n=>!!n);e.refreshCells({rowNodes:a,force:!0}),d.value=[]}function p(e){s.value=[...e];const a=w.arrayToObject(e,t.rowKey);r?.setFieldValue(t.name,[...e]),r?.setFieldValue(i,a)}function m(e,a){const n=e==="end"?s.value.length-1:e;u.value?.scrollToRow(n,a)}function j(e,a){u.value?.scrollToColumn(e,a)}return h({add:_,addMultiple:q,remove:S,removeByKey:E,getRowData:F,getRowsData:N,setRowData:T,clear:V,setTableData:p,scrollTo:m,scrollToRow:m,scrollToColumn:j}),(e,a)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[o.createVNode(o.unref(g.ApForm).FormItem,{hidden:"",name:e.name,"initial-value":e.formItem?.initialValue},null,8,["name","initial-value"]),o.createVNode(o.unref(g.ApForm).FormItem,{label:e.label},{default:o.withCtx(()=>[o.createVNode(W.default,o.mergeProps(o.unref(l.omit)(t,["name","maxLength","onChange","defaultValue","formItem"]),{ref_key:"tableRef",ref:u,class:[o.unref(C)(),o.unref(R)],size:"mini",columns:o.unref(B),"data-source":s.value,"search-form":!1,onUpdate:D}),o.createSlots({_:2},[o.renderList(b,(n,f)=>({name:f,fn:o.withCtx(M=>[o.renderSlot(e.$slots,f,o.normalizeProps(o.guardReactiveProps(M||{})))])}))]),1040,["class","columns","data-source"])]),_:3},8,["label"])],64))}});exports.default=U;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("vue"),X=require("@aplus-frontend/antdv"),Y=require("./context.js"),l=require("lodash-unified"),Z=require("@vueuse/core"),b=require("./constant.js"),z=require("../utils/index.js"),ee=require("./utils/set.js"),p=require("./utils/params.js"),te=require("./provider/context.js"),w=require("./utils/get.js"),re=require("../utils/warning.js"),V=require("../utils/is.js"),ne=i.defineComponent({name:"ApForm",__name:"ap-form",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},onFieldsChange:{},onFinish:{},onFinishFailed:{},onValidate:{},variant:{},initialValues:{},onValuesChange:{},syncToUrl:{type:[Boolean,Function],default:!1},syncToUrlPriority:{type:Boolean}},setup(O,{expose:j}){const s=O;function v(e,t,r=!0,n){if(l.isArray(e)){let o=a;for(let f=0;f<e.length-1;f++)e[f]in o||(o[e[f]]={}),o=o[e[f]];n?n(o,e[e.length-1]):o[e[e.length-1]]=t}else n?n(a,e):a[e]=t;let c=l.isArray(e)?e[0]:e;if(r){const o={[c]:a[c]};T.triggerFormChange(s.name,o),s.onValuesChange?.(o,a,e)}m()}const u=i.shallowRef(),C=Z.useUrlSearchParams(z.getRouteType()),T=te.useInjectFormProvider(),B=re.useDevWarning("ApForm"),P=i.ref(s.syncToUrl?p.genParams(s.syncToUrl,C,"get"):{});let g=l.cloneDeep(R()),F={};const a=i.reactive(R());let h=[];function R(){const e=s.initialValues||{};return s.syncToUrlPriority?{...e,...i.unref(P)}:{...i.unref(P),...e}}function E(e){const t=y(e,F);T.triggerFormFinish(s.name,e),s.syncToUrl&&p.setToParams(C,p.genParams(s.syncToUrl,t,"set")),s.onFinish?.(t)}const N=async()=>{u.value?.resetFields(),await i.nextTick(()=>{Object.keys(a).forEach(e=>delete a[e]),Object.assign(a,g),m(),s.syncToUrl&&p.setToParams(C,p.genParams(s.syncToUrl,y(g,F),"set"))})},x=e=>{u.value?.clearValidate(e)},S=(e,t)=>u.value?.validateFields(e,t),D=async(e,t)=>{const r=await u.value?.validateFields(e,t);return y(r,F)},I=e=>e===!0?i.toRaw(a):u.value?.getFieldsValue(e),W=e=>{const t=I(e);return y(t,F)},$=(e,t)=>u.value?.validate(e,t),K=(e,t={})=>{u.value?.scrollToField(e,t)},L=e=>{Object.assign(a,e),m()},q=(e,t,r=!0,n)=>{v(e,t,r,n),m()};function A(e){return e(i.toRaw(a)),h.push(e),()=>{h=h.filter(t=>t!==e)}}function k(e,t){if(l.isArray(e)){let r=g;for(let n=0;n<e.length-1;n++)V.isDef(r[e[n]])||(r[e[n]]={}),r=r[e[n]];r[e[e.length-1]]=t}else g[e]=t}function G(e,t){if(!V.isDef(e)||!V.isDef(t))return;const r=w.getModelValue(g,t);if(l.isEqual(r,e))return;const n=w.getModelValue(i.unref(P),t);V.isDef(n)&&s.syncToUrlPriority||(v(t,e,!1),k(t,e))}function H(e,t){t&&(F=ee.default(F,[e].flat(1),t,!0))}function M({initialValue:e,name:t,transform:r}){G(e,t),H(t,r)}function U(){return g}function J(e){if(B(e===b.INTERNAL_FORM_INSTANCE_MARK,"usage","getInternalInstance should only used at internal"),e===b.INTERNAL_FORM_INSTANCE_MARK)return{registerField:M,registerWatch:A,setFieldValue:q,getInitialValues:U}}function m(){if(h.length){const e=i.toRaw(a);h.forEach(t=>{t(e)})}}function y(e,t){if(e==null)return;let r=l.isArray(e)?[]:{};return Object.keys(e).forEach(n=>{const c=e[n],o=t?.[n],f=l.isFunction(o)?o:o?.transformer,Q=l.isFunction(o)?!0:o?.flat;if(l.isFunction(f)){const d=f(c,{getFieldsValue:I});Q?l.isArray(d)&&l.isArray(r)?r=[...r,...d]:l.isPlainObject(d)&&l.isPlainObject(r)?r={...r,...d}:r[n]=d:r[n]=d}else if(l.isPlainObject(c)||l.isArray(c)){const d=y(c,o);r[n]=d}else r[n]=c}),r}const _={resetFields:N,clearValidate:x,validateFields:S,getFieldsValue:I,validate:$,scrollToField:K,setFieldsValue:L,setFieldValue:q,registerWatch:A,validateFieldsReturnTransformed:D,getFieldsValueTransformed:W,getInternalInstance:J};return i.watch(()=>s.name,e=>{e&&(T.registerForm(e,_),i.onWatcherCleanup(()=>{T.unregisterForm(s.name)}))},{immediate:!0}),Y.useProvideForm({model:i.computed(()=>a),updateModel:v,internalInstance:{registerWatch:A,registerField:M,setFieldValue:q,getInitialValues:U}}),j(_),(e,t)=>(i.openBlock(),i.createBlock(i.unref(X.Form),i.mergeProps({ref_key:"formRef",ref:u},i.unref(l.omit)(s,["initialValues","onValuesChange","onFinish","syncToUrl","syncToUrlPriority"]),{model:a,"data-form-name":e.name,onFinish:E}),{default:i.withCtx(()=>[i.renderSlot(e.$slots,"default")]),_:3},16,["model","data-form-name"]))}});exports.default=ne;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("vue"),X=require("@aplus-frontend/antdv"),Y=require("./context.js"),s=require("lodash-unified"),Z=require("@vueuse/core"),w=require("./constant.js"),z=require("../utils/index.js"),ee=require("./utils/set.js"),y=require("./utils/params.js"),te=require("./provider/context.js"),O=require("./utils/get.js"),re=require("../utils/warning.js"),V=require("../utils/is.js"),ne=i.defineComponent({name:"ApForm",__name:"ap-form",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},onFieldsChange:{},onFinish:{},onFinishFailed:{},onValidate:{},variant:{},initialValues:{},onValuesChange:{},syncToUrl:{type:[Boolean,Function],default:!1},syncToUrlPriority:{type:Boolean}},setup(j,{expose:B}){const o=j;function v(e,t,r=!0,n){if(s.isArray(e)){let l=a;for(let f=0;f<e.length-1;f++)e[f]in l||(l[e[f]]={}),l=l[e[f]];n?n(l,e[e.length-1]):l[e[e.length-1]]=t}else n?n(a,e):a[e]=t;let c=s.isArray(e)?e[0]:e;if(r){const l={[c]:a[c]};T.triggerFormChange(o.name,l),o.onValuesChange?.(l,a,e)}m()}const u=i.shallowRef(),C=Z.useUrlSearchParams(z.getRouteType()),T=te.useInjectFormProvider(),E=re.useDevWarning("ApForm"),P=i.ref(o.syncToUrl?y.genParams(o.syncToUrl,C,"get"):{});let g=s.cloneDeep(M()),F={};const a=i.reactive(M());let h=[];function M(){const e=o.initialValues||{};return o.syncToUrlPriority?{...e,...i.unref(P)}:{...i.unref(P),...e}}function N(e){const t=p(e,F);T.triggerFormFinish(o.name,e),o.syncToUrl&&y.setToParams(C,y.genParams(o.syncToUrl,t,"set")),o.onFinish?.(t)}const x=async()=>{u.value?.resetFields(),await i.nextTick(()=>{Object.keys(a).forEach(e=>delete a[e]),Object.assign(a,s.cloneDeep(g)),m(),o.syncToUrl&&y.setToParams(C,y.genParams(o.syncToUrl,p(g,F),"set"))})},D=e=>{u.value?.clearValidate(e)},S=(e,t)=>u.value?.validateFields(e,t),W=async(e,t)=>{const r=await u.value?.validateFields(e,t);return p(r,F)},I=e=>e===!0?i.toRaw(a):u.value?.getFieldsValue(e),$=e=>{const t=I(e);return p(t,F)},K=(e,t)=>u.value?.validate(e,t),L=(e,t={})=>{u.value?.scrollToField(e,t)},k=e=>{Object.assign(a,e),m()},q=(e,t,r=!0,n)=>{v(e,t,r,n),m()};function A(e){return e(i.toRaw(a)),h.push(e),()=>{h=h.filter(t=>t!==e)}}function R(e,t){if(s.isArray(e)){let r=g;for(let n=0;n<e.length-1;n++)V.isDef(r[e[n]])||(r[e[n]]={}),r=r[e[n]];r[e[e.length-1]]=t}else g[e]=t}function G(e,t){if(!V.isDef(e)||!V.isDef(t))return;const r=O.getModelValue(g,t);if(s.isEqual(r,e))return;const n=O.getModelValue(i.unref(P),t);V.isDef(n)&&o.syncToUrlPriority||(v(t,e,!1),R(t,e))}function H(e,t){t&&(F=ee.default(F,[e].flat(1),t,!0))}function U({initialValue:e,name:t,transform:r}){G(e,t),H(t,r)}function _(){return g}function J(e){if(E(e===w.INTERNAL_FORM_INSTANCE_MARK,"usage","getInternalInstance should only used at internal"),e===w.INTERNAL_FORM_INSTANCE_MARK)return{registerField:U,registerWatch:A,setFieldValue:q,getInitialValues:_,updateInitialModel:R}}function m(){if(h.length){const e=i.toRaw(a);h.forEach(t=>{t(e)})}}function p(e,t){if(e==null)return;let r=s.isArray(e)?[]:{};return Object.keys(e).forEach(n=>{const c=e[n],l=t?.[n],f=s.isFunction(l)?l:l?.transformer,Q=s.isFunction(l)?!0:l?.flat;if(s.isFunction(f)){const d=f(c,{getFieldsValue:I});Q?s.isArray(d)&&s.isArray(r)?r=[...r,...d]:s.isPlainObject(d)&&s.isPlainObject(r)?r={...r,...d}:r[n]=d:r[n]=d}else if(s.isPlainObject(c)||s.isArray(c)){const d=p(c,l);r[n]=d}else r[n]=c}),r}const b={resetFields:x,clearValidate:D,validateFields:S,getFieldsValue:I,validate:K,scrollToField:L,setFieldsValue:k,setFieldValue:q,registerWatch:A,validateFieldsReturnTransformed:W,getFieldsValueTransformed:$,getInternalInstance:J};return i.watch(()=>o.name,e=>{e&&(T.registerForm(e,b),i.onWatcherCleanup(()=>{T.unregisterForm(o.name)}))},{immediate:!0}),Y.useProvideForm({model:i.computed(()=>a),updateModel:v,internalInstance:{registerWatch:A,registerField:U,setFieldValue:q,getInitialValues:_,updateInitialModel:R}}),B(b),(e,t)=>(i.openBlock(),i.createBlock(i.unref(X.Form),i.mergeProps({ref_key:"formRef",ref:u},i.unref(s.omit)(o,["initialValues","onValuesChange","onFinish","syncToUrl","syncToUrlPriority"]),{model:a,"data-form-name":e.name,onFinish:N}),{default:i.withCtx(()=>[i.renderSlot(e.$slots,"default")]),_:3},16,["model","data-form-name"]))}});exports.default=ne;
@@ -140,6 +140,10 @@ export type ApFormInternalInstance = {
140
140
  * @returns
141
141
  */
142
142
  getInitialValues: () => Recordable;
143
+ /**
144
+ * 更新表单的初始值(仅用于某些组件内部调用的情况)
145
+ */
146
+ updateInitialModel: (name: FormItemProps['name'], val: any) => void;
143
147
  };
144
148
  export type ApFormItemExpose = FormItemExpose & {
145
149
  /**
@@ -13,6 +13,7 @@ declare const _default: <RecordType extends Recordable>(__VLS_props: NonNullable
13
13
  };
14
14
  submit: () => void;
15
15
  reset: () => void;
16
+ loading: boolean;
16
17
  }): any;
17
18
  empty?(_: {
18
19
  loading: boolean;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),c=require("@aplus-frontend/antdv"),M=require("../ap-table/hooks/use-table-paging-ng.js");require("../config-provider/index.js");const f=require("lodash-unified"),U=require("./hooks/use-offline-list.js");require("vue-virtual-scroller/dist/vue-virtual-scroller.css");const g=require("vue-virtual-scroller"),K=require("./style/index.js"),W=require("../config-provider/hooks/use-namespace.js"),G=e.defineComponent({name:"ApList",__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:{type:[Boolean,null,String,Object,Array]},contentStyle:{type:[Boolean,null,String,Object,Array]},footerWarpperStyle:{type:[Boolean,null,String,Object,Array]},virtual:{default:void 0},rowKey:{},adaptive:{type:Boolean,default:!1}},setup(B,{expose:b}){const C=c.Empty.PRESENTED_IMAGE_SIMPLE,t=B,{b:s,e:d,bm:z,m:w}=W.useNamespace("ap-list"),I=K.default("ap-list"),S=e.shallowRef(),{formRef:m,submit:y,reset:v,handleTableChange:q,data:p,refresh:E,refreshByDelete:P,tableProps:h,getPaging:V,setPaging:D}=M.useTablePaging({async request(n){const r=await t.request?.(n);return{data:r?.data||[],total:r?.total||0}},params:e.toRef(t,"params"),defaultData:t.defaultData,manual:t.manual,pagination:t.pagination,formatParams:t.beforeSearchSubmit}),N={form:m},{pagination:k,dataSource:F,onChange:O}=U.useOfflineList(t);function L(n,r){if(e.unref(u)){O(n,r);return}q({current:n,pageSize:r},{},{},{currentDataSource:[],action:"paginate"})}const l=e.computed(()=>e.unref(u)?e.unref(F):e.unref(p).records),i=e.computed(()=>f.isUndefined(t.loading)?e.unref(p).loading:t.loading),R=e.computed(()=>t.pagination===!1||t.virtual?!1:t.pagination?.hideOnSinglePage!==!0?!0:e.unref(u)?(t.dataSource?.length||0)>e.unref(k).pageSize:e.unref(p).total>e.unref(h).pagination.pageSize),u=e.computed(()=>!f.isUndefined(t.dataSource));e.watch(()=>e.unref(i),n=>{t.onLoadingChange?.(n)});function T(n){S.value?.querySelector(n||":first-child")?.scrollIntoView({behavior:"smooth",block:"center"})}function $(n=!1){const r=m.value?.apForm;return(n?r?.getFieldsValueTransformed:r?.getFieldsValue)?.()||{}}function j(n){m.value?.apForm?.setFieldsValue?.(n)}return b({submit:()=>y(),reset:()=>v(),refresh:()=>E(),refreshByDelete:n=>P(n),scrollToFirstRow:T,getSearchFormValuesIfSetted:$,setPaging:D,getPaging:V,setSearchFormValuesIfSetted:j}),(n,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(s)(),{[e.unref(w)("adaptive")]:n.adaptive},e.unref(I)]),style:e.normalizeStyle(n.containerStyle)},[e.renderSlot(n.$slots,"header",{formIns:N,submit:e.unref(y),reset:e.unref(v)}),e.createElementVNode("div",{class:e.normalizeClass([e.unref(s)("content-container"),{[e.unref(z)("content-container","spinning")]:i.value}])},[i.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(d)("spin-wrapper"))},[e.createVNode(e.unref(c.Spin),{spinning:i.value},null,8,["spinning"])],2)):e.createCommentVNode("",!0),l.value.length===0?e.renderSlot(n.$slots,"empty",{key:1,loading:i.value},()=>[e.createVNode(e.unref(c.Empty),{image:e.unref(C)},null,8,["image"])]):(e.openBlock(),e.createElementBlock("div",{key:2,ref_key:"contentRef",ref:S,style:e.normalizeStyle(n.contentStyle),class:e.normalizeClass(e.unref(d)("content"))},[n.virtual?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.unref(f.isNumber)(n.virtual)?(e.openBlock(),e.createBlock(e.unref(g.RecycleScroller),{key:0,class:e.normalizeClass(e.unref(s)("scroll-wrapper")),items:l.value,"item-size":n.virtual,"key-field":t.rowKey||"id"},{default:e.withCtx(({item:a,index:o})=>[e.renderSlot(n.$slots,"renderItem",{item:a,index:o})]),_:3},8,["class","items","item-size","key-field"])):(e.openBlock(),e.createBlock(e.unref(g.DynamicScroller),{key:1,items:l.value,"min-item-size":n.virtual.minItemSize,class:e.normalizeClass(e.unref(s)("scroll-wrapper"))},{default:e.withCtx(({item:a,index:o,active:A})=>[e.createVNode(e.unref(g.DynamicScrollerItem),{item:a,active:A,"data-index":o,"size-dependencies":n.virtual.sizeDependencies?.(a)},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"renderItem",{item:a,index:o})]),_:2},1032,["item","active","data-index","size-dependencies"])]),_:3},8,["items","min-item-size","class"]))],64)):e.renderSlot(n.$slots,"renderContent",{key:1,dataSource:l.value},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(a,o)=>e.renderSlot(n.$slots,"renderItem",{item:a,index:o})),256))])],6))],2),R.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(d)("footer")),style:e.normalizeStyle(n.footerWarpperStyle)},[e.createVNode(e.unref(c.Pagination),e.mergeProps(u.value?e.unref(k):e.unref(f.omit)(e.unref(h).pagination,["showTotal"]),{onChange:L}),null,16)],6)):e.createCommentVNode("",!0)],6))}});exports.default=G;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),g=require("@aplus-frontend/antdv"),Z=require("../ap-table/hooks/use-table-paging-ng.js");require("../config-provider/index.js");const u=require("lodash-unified"),_=require("./hooks/use-offline-list.js");require("vue-virtual-scroller/dist/vue-virtual-scroller.css");const B=require("vue-virtual-scroller"),x=require("./style/index.js"),ee=require("../config-provider/hooks/use-namespace.js"),ne=e.defineComponent({name:"ApList",__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:{type:[Boolean,null,String,Object,Array]},contentStyle:{type:[Boolean,null,String,Object,Array]},footerWarpperStyle:{type:[Boolean,null,String,Object,Array]},virtual:{default:void 0},rowKey:{},adaptive:{type:Boolean,default:!1},fetchMode:{default:"paging"}},setup(I,{expose:q}){const V=g.Empty.PRESENTED_IMAGE_SIMPLE,t=I,{b:c,e:S,bm:D,m:N}=ee.useNamespace("ap-list"),T=x.default("ap-list"),o=e.shallowRef(),f=e.shallowRef(),d=e.computed(()=>t.fetchMode==="paging"),{formRef:y,submit:F,reset:R,handleTableChange:L,fetchNextPageAndCache:b,data:v,refresh:O,refreshByDelete:M,tableProps:h,getPaging:A,setPaging:$}=Z.useTablePaging({async request(n){const r=await t.request?.(n);return{data:r?.data||[],total:r?.total||0}},params:e.toRef(t,"params"),defaultData:t.defaultData,manual:t.manual,pagination:t.pagination,formatParams:t.beforeSearchSubmit});let m=0;function j(){const n=o.value;if(d.value||!n)return;const r=n.scrollTop,a=n.scrollHeight-n.clientHeight;m>=a&&(m=0),!(m>r)&&a-r<=1&&(m=r,b())}function C(){!d.value&&b()}const z=u.throttle(j,300),K={form:y},{pagination:w,dataSource:U,onChange:H}=_.useOfflineList(t);function W(n,r){if(e.unref(p)){H(n,r);return}L({current:n,pageSize:r},{},{},{currentDataSource:[],action:"paginate"})}const i=e.computed(()=>e.unref(p)?e.unref(U):[...e.unref(v).records||[]]),s=e.computed(()=>u.isUndefined(t.loading)?e.unref(v).loading:t.loading),G=e.computed(()=>t.pagination===!1||t.virtual?!1:t.pagination?.hideOnSinglePage!==!0?!0:e.unref(p)?(t.dataSource?.length||0)>e.unref(w).pageSize:e.unref(v).total>e.unref(h).pagination.pageSize),p=e.computed(()=>!u.isUndefined(t.dataSource));e.watch(()=>e.unref(s),n=>{t.onLoadingChange?.(n)}),e.watch(()=>t.params,()=>{k()},{deep:!0});function J(n){o.value?.querySelector(n||":first-child")?.scrollIntoView({behavior:"smooth",block:"center"})}function Q(n=!1){const r=y.value?.apForm;return(n?r?.getFieldsValueTransformed:r?.getFieldsValue)?.()||{}}function X(n){y.value?.apForm?.setFieldsValue?.(n)}function k(){d.value||(o.value&&(o.value.scrollTop=0),f.value&&f.value.scrollToPosition?.(0))}function E(){k(),F()}function P(){k(),R()}return q({submit:E,reset:P,refresh:()=>O(),refreshByDelete:n=>M(n),scrollToFirstRow:J,getSearchFormValuesIfSetted:Q,setPaging:$,getPaging:A,setSearchFormValuesIfSetted:X}),(n,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(c)(),{[e.unref(N)("adaptive")]:n.adaptive},e.unref(T)]),style:e.normalizeStyle(n.containerStyle)},[e.renderSlot(n.$slots,"header",{formIns:K,submit:E,reset:P,loading:e.unref(h).loading}),e.createElementVNode("div",{class:e.normalizeClass([e.unref(c)("content-container"),{[e.unref(D)("content-container","spinning")]:s.value}])},[s.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(S)("spin-wrapper"))},[e.createVNode(e.unref(g.Spin),{spinning:s.value},null,8,["spinning"])],2)):e.createCommentVNode("",!0),i.value.length===0?e.renderSlot(n.$slots,"empty",{key:1,loading:s.value},()=>[e.createVNode(e.unref(g.Empty),{image:e.unref(V)},null,8,["image"])]):(e.openBlock(),e.createElementBlock("div",{key:2,ref_key:"contentRef",ref:o,style:e.normalizeStyle(n.contentStyle),class:e.normalizeClass(e.unref(S)("content")),onScroll:r[0]||(r[0]=(...a)=>e.unref(z)&&e.unref(z)(...a))},[n.virtual?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.unref(u.isNumber)(n.virtual)?(e.openBlock(),e.createBlock(e.unref(B.RecycleScroller),{key:0,ref_key:"scroller",ref:f,class:e.normalizeClass(e.unref(c)("scroll-wrapper")),items:i.value,"item-size":n.virtual,"key-field":t.rowKey||"id",onScrollEnd:C},{default:e.withCtx(({item:a,index:l})=>[e.renderSlot(n.$slots,"renderItem",{item:a,index:l})]),_:3},8,["class","items","item-size","key-field"])):(e.openBlock(),e.createBlock(e.unref(B.DynamicScroller),{key:1,ref_key:"scroller",ref:f,items:i.value,"min-item-size":n.virtual.minItemSize,class:e.normalizeClass(e.unref(c)("scroll-wrapper")),"key-field":t.rowKey||"id",onScrollEnd:C},{default:e.withCtx(({item:a,index:l,active:Y})=>[e.createVNode(e.unref(B.DynamicScrollerItem),{item:a,active:Y,"data-index":l,"size-dependencies":n.virtual.sizeDependencies?.(a)},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"renderItem",{item:a,index:l})]),_:2},1032,["item","active","data-index","size-dependencies"])]),_:3},8,["items","min-item-size","class","key-field"]))],64)):e.renderSlot(n.$slots,"renderContent",{key:1,dataSource:i.value},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(a,l)=>e.renderSlot(n.$slots,"renderItem",{item:a,index:l})),256))])],38))],2),d.value&&G.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(S)("footer")),style:e.normalizeStyle(n.footerWarpperStyle)},[e.createVNode(e.unref(g.Pagination),e.mergeProps(p.value?e.unref(w):e.unref(u.omit)(e.unref(h).pagination,["showTotal"]),{onChange:W}),null,16)],6)):e.createCommentVNode("",!0)],6))}});exports.default=ne;
@@ -90,6 +90,11 @@ export type ApListProps<RecordType = any, ParamsType = Recordable> = {
90
90
  * 是否自适应外部容器高度(无数据时充满容器、数据超出时内部滚动)
91
91
  */
92
92
  adaptive?: boolean;
93
+ /**
94
+ * 请求网络请求模式: `paging`分页、`infinite-scroll`无限滚动
95
+ * @default "paging"
96
+ */
97
+ fetchMode?: 'paging' | 'infinite-scroll';
93
98
  };
94
99
  export type ApListExpose = {
95
100
  /**
@@ -1,5 +1,6 @@
1
1
  import { ApProCardStatisticProps, ApProCardStatisticSolts } from '../../interface';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, VNode, RendererNode, RendererElement, VNodeArrayChildren, ComponentProvideOptions } from 'vue';
3
+ import { Formatter } from '@aplus-frontend/antdv/es/statistic/utils';
3
4
  declare function __VLS_template(): {
4
5
  attrs: Partial<{}>;
5
6
  slots: Readonly<ApProCardStatisticSolts> & ApProCardStatisticSolts;
@@ -35,6 +36,7 @@ declare const __VLS_component: DefineComponent<ApProCardStatisticProps, {}, {},
35
36
  }> | null | undefined)[] | VNode<RendererNode, RendererElement, {
36
37
  [key: string]: any;
37
38
  }> | null;
39
+ formatter: Formatter;
38
40
  description: string | number | boolean | void | VNodeArrayChildren | VNode<RendererNode, RendererElement, {
39
41
  [key: string]: any;
40
42
  }> | null;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),b=require("@ant-design/icons-vue"),l=require("@aplus-frontend/antdv"),V=require("lodash-unified");require("../../../config-provider/index.js");const $=require("../../style/statistic.js"),i=require("../../../editable-table/utils.js"),M=require("../../../config-provider/hooks/use-namespace.js"),q=e.defineComponent({name:"ApProCardStatistic",__name:"index",props:{prefixCls:{},decimalSeparator:{},groupSeparator:{},format:{},value:{},valueStyle:{},valueRender:{},formatter:{type:[Boolean,String,Function]},precision:{},prefix:{type:[Object,String,Number,Boolean,null,Array],default:void 0},suffix:{type:[Object,String,Number,Boolean,null,Array],default:void 0},title:{type:[Object,String,Number,Boolean,null,Array],default:void 0},loading:{type:Boolean},description:{type:[Object,String,Number,Boolean,null,Array],default:void 0},tip:{type:[Object,String,Number,Boolean,null,Array],default:void 0},status:{default:void 0},icon:{type:[Object,String,Number,Boolean,null,Array],default:void 0},layout:{default:"inline"},trend:{default:void 0},size:{default:"default"}},setup(p){const n=e.useSlots(),t=p,{b:r}=M.useNamespace("pro-card-statistic"),f=$.default("pro-card-statistic"),m=e.computed(()=>{const o=r();return i.mergeClass(`${o}`,[t.size?`${o}-size-${t.size}`:void 0,f.value].filter(Boolean))}),v=e.computed(()=>r("tip")),y=e.computed(()=>{const o=r();return i.mergeClass(`${o}-trend-icon`,[t.trend?`${o}-trend-icon-${t.trend}`:void 0].filter(Boolean))}),C=e.computed(()=>r("status")),B=e.computed(()=>r("icon")),x=e.computed(()=>r("wrapper")),k=e.computed(()=>r("content")),g=e.computed(()=>{const o=r();return i.mergeClass(`${o}-layout`,[t.layout?`${o}-layout-${t.layout}`:void 0,t.trend?`${o}-trend-${t.trend}`:void 0].filter(Boolean))}),N=e.computed(()=>r("description")),a=e.computed(()=>t.tip||n.tip?e.createVNode(l.Tooltip,{title:t.tip??n.tip?.()},{default:()=>[e.createVNode(b.QuestionCircleOutlined,{class:v.value},null)]}):void 0),u=e.computed(()=>t.trend?e.createVNode("div",{class:y.value},null):void 0),D=e.computed(()=>t.status?e.createVNode(l.Badge,{class:C.value,status:t.status},null):void 0),O=e.computed(()=>t.icon||n.icon?e.createVNode("div",{class:B.value},[t.icon??n.icon?.()]):void 0),c=e.computed(()=>t.title||n.title?e.createVNode(e.Fragment,null,[t.title||n.title?.()]):void 0),s=e.computed(()=>t.prefix||n.prefix?e.createVNode(e.Fragment,null,[t.prefix||n.prefix?.()]):void 0),d=e.computed(()=>t.suffix||n.suffix?e.createVNode(e.Fragment,null,[t.suffix||n.suffix?.()]):void 0),S=e.computed(()=>t.description||n.description?e.createVNode("div",{class:N.value},[t.description||n.description?.()]):void 0);return(o,_)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({...o.$attrs},{class:m.value}),[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(O.value))),e.createElementVNode("div",{class:e.normalizeClass(x.value)},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(D.value))),e.createElementVNode("div",{class:e.normalizeClass(k.value)},[e.createVNode(e.unref(l.Statistic),e.mergeProps({class:g.value},{...e.unref(V.omit)(t,["title","prefix"])}),e.createSlots({_:2},[c.value||a.value?{name:"title",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.value))),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value)))]),key:"0"}:void 0,u.value||s.value?{name:"prefix",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u.value))),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value)))]),key:"1"}:void 0,d.value?{name:"suffix",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.value)))]),key:"2"}:void 0]),1040,["class"]),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S.value)))],2)],2)],16))}});exports.default=q;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),V=require("@ant-design/icons-vue"),l=require("@aplus-frontend/antdv"),$=require("lodash-unified");require("../../../config-provider/index.js");const M=require("../../style/statistic.js"),i=require("../../../editable-table/utils.js"),q=require("../../../config-provider/hooks/use-namespace.js"),_=e.defineComponent({name:"ApProCardStatistic",__name:"index",props:{prefixCls:{},decimalSeparator:{},groupSeparator:{},format:{},value:{},valueStyle:{},valueRender:{},formatter:{type:[Boolean,String,Function],default:void 0},precision:{},prefix:{type:[Object,String,Number,Boolean,null,Array],default:void 0},suffix:{type:[Object,String,Number,Boolean,null,Array],default:void 0},title:{type:[Object,String,Number,Boolean,null,Array],default:void 0},loading:{type:Boolean},description:{type:[Object,String,Number,Boolean,null,Array],default:void 0},tip:{type:[Object,String,Number,Boolean,null,Array],default:void 0},status:{default:void 0},icon:{type:[Object,String,Number,Boolean,null,Array],default:void 0},layout:{default:"inline"},trend:{default:void 0},size:{default:"default"}},setup(p){const n=e.useSlots(),t=p,{b:r}=q.useNamespace("pro-card-statistic"),f=M.default("pro-card-statistic"),m=e.computed(()=>{const o=r();return i.mergeClass(`${o}`,[t.size?`${o}-size-${t.size}`:void 0,f.value].filter(Boolean))}),v=e.computed(()=>r("tip")),y=e.computed(()=>{const o=r();return i.mergeClass(`${o}-trend-icon`,[t.trend?`${o}-trend-icon-${t.trend}`:void 0].filter(Boolean))}),C=e.computed(()=>r("status")),B=e.computed(()=>r("icon")),x=e.computed(()=>r("wrapper")),k=e.computed(()=>r("content")),g=e.computed(()=>{const o=r();return i.mergeClass(`${o}-layout`,[t.layout?`${o}-layout-${t.layout}`:void 0,t.trend?`${o}-trend-${t.trend}`:void 0].filter(Boolean))}),N=e.computed(()=>r("description")),a=e.computed(()=>t.tip||n.tip?e.createVNode(l.Tooltip,{title:t.tip??n.tip?.()},{default:()=>[e.createVNode(V.QuestionCircleOutlined,{class:v.value},null)]}):void 0),u=e.computed(()=>t.trend?e.createVNode("div",{class:y.value},null):void 0),D=e.computed(()=>t.status?e.createVNode(l.Badge,{class:C.value,status:t.status},null):void 0),O=e.computed(()=>t.icon||n.icon?e.createVNode("div",{class:B.value},[t.icon??n.icon?.()]):void 0),c=e.computed(()=>t.title||n.title?e.createVNode(e.Fragment,null,[t.title||n.title?.()]):void 0),s=e.computed(()=>t.prefix||n.prefix?e.createVNode(e.Fragment,null,[t.prefix||n.prefix?.()]):void 0),d=e.computed(()=>t.suffix||n.suffix?e.createVNode(e.Fragment,null,[t.suffix||n.suffix?.()]):void 0),S=e.computed(()=>t.description||n.description?e.createVNode("div",{class:N.value},[t.description||n.description?.()]):void 0);return(o,h)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({...o.$attrs},{class:m.value}),[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(O.value))),e.createElementVNode("div",{class:e.normalizeClass(x.value)},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(D.value))),e.createElementVNode("div",{class:e.normalizeClass(k.value)},[e.createVNode(e.unref(l.Statistic),e.mergeProps({class:g.value},{...e.unref($.omit)(t,["title","prefix"]),formatter:t.formatter??(({value:b})=>b??"--")}),e.createSlots({_:2},[c.value||a.value?{name:"title",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.value))),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value)))]),key:"0"}:void 0,u.value||s.value?{name:"prefix",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u.value))),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value)))]),key:"1"}:void 0,d.value?{name:"suffix",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.value)))]),key:"2"}:void 0]),1040,["class"]),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S.value)))],2)],2)],16))}});exports.default=_;
@@ -64,6 +64,16 @@ export type UseTablePagingParams<DataType, ParamsType> = {
64
64
  */
65
65
  onAfterRequest?: (records: DataType[]) => void;
66
66
  };
67
+ export type TablePagingRequestOptions = {
68
+ /**
69
+ * 是否缓存数据(无限滚动下适用)
70
+ */
71
+ cache?: boolean;
72
+ /**
73
+ * 单次网络请求成功后触发
74
+ */
75
+ onSuccess?: (rawParams: Recordable, hasMore: boolean) => void;
76
+ };
67
77
  export type InternalPagingType = Partial<{
68
78
  current: number;
69
79
  pageSize: number;
@@ -112,5 +122,6 @@ export declare const useTablePaging: <DataType = any, ParamsType = Record<string
112
122
  };
113
123
  setPaging: (nextPaging: InternalPagingType, refreshImmediately?: boolean) => void;
114
124
  submitWith: (resetCurrent?: boolean) => void;
125
+ fetchNextPageAndCache: () => void;
115
126
  };
116
127
  export {};