@aplus-frontend/ui 0.5.35 → 0.5.37

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,132 +1,134 @@
1
- import { isVNode as I, createVNode as s, mergeProps as S, createTextVNode as F, Fragment as w } from "vue";
2
- import { isFunction as T, isArray as h, isBoolean as P, omit as V, isString as q } from "lodash-unified";
1
+ import { isVNode as I, createVNode as s, mergeProps as S, createTextVNode as F, Fragment as q } from "vue";
2
+ import { isFunction as T, isArray as h, isBoolean as w, omit as P, isString as V } from "lodash-unified";
3
3
  import { apTableFormItemMap as C, noRenderAsFormItemValueList as N, apTableRenderItemMap as j } from "../ap-table/constants.mjs";
4
4
  import { isDef as v } from "../utils/index.mjs";
5
5
  import { getValueStr as A } from "../ap-field/number/helper.mjs";
6
- import O from "scroll-into-view-if-needed";
7
- import { Typography as R, Tooltip as W } from "@aplus-frontend/antdv";
6
+ import R from "scroll-into-view-if-needed";
7
+ import { Typography as O, Tooltip as W } from "@aplus-frontend/antdv";
8
8
  import "../ap-form/index.mjs";
9
- import { objectToString as _, getTableRenderType as D } from "../ap-table/utils.mjs";
10
- import { QuestionCircleOutlined as E } from "@ant-design/icons-vue";
9
+ import { objectToString as _, getTableRenderType as k } from "../ap-table/utils.mjs";
10
+ import { QuestionCircleOutlined as D } from "@ant-design/icons-vue";
11
11
  import b from "../ap-form/item/index.vue.mjs";
12
12
  function g(t) {
13
13
  return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !I(t);
14
14
  }
15
- function k(t) {
15
+ function E(t) {
16
16
  return C[t];
17
17
  }
18
18
  function B(t) {
19
+ if (t.markRequired)
20
+ return !0;
19
21
  if (!t.fieldProps)
20
22
  return !1;
21
23
  const e = T(t.fieldProps) ? t.fieldProps({}) : t.fieldProps;
22
- return v(e.required) ? e.required : (h(e.rules) ? e.rules : e.rules ? [e.rules] : []).some((i) => i.required);
24
+ return v(e.required) ? e.required : (h(e.rules) ? e.rules : e.rules ? [e.rules] : []).some((o) => o.required);
23
25
  }
24
26
  function L(t, e) {
25
27
  if (t.valueType === "text" || t.valueType === "textArea")
26
28
  return e || "--";
27
29
  if (t.valueType === "number") {
28
- const o = t.fieldProps ? T(t.fieldProps) ? t.fieldProps({}) : t.fieldProps : {};
29
- return A(e, o) || "--";
30
+ const i = t.fieldProps ? T(t.fieldProps) ? t.fieldProps({}) : t.fieldProps : {};
31
+ return A(e, i) || "--";
30
32
  }
31
33
  return _(e);
32
34
  }
33
35
  function M(t, e) {
34
- const o = [t];
36
+ const i = [t];
35
37
  if (e) {
36
- const i = h(e) ? e : [e];
37
- o.unshift(...i);
38
+ const o = h(e) ? e : [e];
39
+ i.unshift(...o);
38
40
  }
39
- return o.join(" ");
41
+ return i.join(" ");
40
42
  }
41
- function tt(t, e = document.body, o = {}) {
42
- const i = e.querySelectorAll("tr.ant-table-row")[t];
43
- i && O(i, {
43
+ function tt(t, e = document.body, i = {}) {
44
+ const o = e.querySelectorAll("tr.ant-table-row")[t];
45
+ o && R(o, {
44
46
  scrollMode: "if-needed",
45
47
  block: "nearest",
46
48
  behavior: "smooth",
47
- ...o
49
+ ...i
48
50
  });
49
51
  }
50
- function Q(t, e, o) {
51
- return N.includes(t.valueType) ? o : t.copyable || t.ellipsis ? s(R.Paragraph, {
52
+ function Q(t, e, i) {
53
+ return N.includes(t.valueType) ? i : t.copyable || t.ellipsis ? s(O.Paragraph, {
52
54
  copyable: t.copyable ? {
53
55
  text: e,
54
56
  tooltip: !1
55
57
  } : !1,
56
- ellipsis: t.ellipsis ? P(t.ellipsis) ? {
58
+ ellipsis: t.ellipsis ? w(t.ellipsis) ? {
57
59
  tooltip: e
58
60
  } : {
59
61
  ...t.ellipsis,
60
62
  tooltip: e
61
63
  } : !1,
62
- content: t.ellipsis ? L(t, e) : o
63
- }, null) : o;
64
+ content: t.ellipsis ? L(t, e) : i
65
+ }, null) : i;
64
66
  }
65
- function et(t, e, o, i, u, l) {
67
+ function et(t, e, i, o, u, r) {
66
68
  var m, c;
67
69
  if (e) {
68
70
  if (t.customRenderFormItem) {
69
- const d = t.customRenderFormItem(t, o.field, e, u);
70
- return s(b, V(o, ["field"]), g(d) ? d : {
71
+ const d = t.customRenderFormItem(t, i.field, e, u);
72
+ return s(b, P(i, ["field"]), g(d) ? d : {
71
73
  default: () => [d]
72
74
  });
73
75
  }
74
- const r = k(t.valueType);
75
- if (r)
76
- return s(r, o, null);
77
- const n = l == null ? void 0 : l[t.valueType], f = (m = n == null ? void 0 : n.renderFormItem) == null ? void 0 : m.call(n, o.field);
78
- return f ? s(b, o, g(f) ? f : {
79
- default: () => [f]
76
+ const l = E(t.valueType);
77
+ if (l)
78
+ return s(l, i, null);
79
+ const n = r == null ? void 0 : r[t.valueType], p = (m = n == null ? void 0 : n.renderFormItem) == null ? void 0 : m.call(n, i.field);
80
+ return p ? s(b, i, g(p) ? p : {
81
+ default: () => [p]
80
82
  }) : null;
81
83
  }
82
- let p;
83
- const y = D(t), a = j[y];
84
+ let f;
85
+ const y = k(t), a = j[y];
84
86
  if (a)
85
- p = s(a, S(o.field, {
87
+ f = s(a, S(i.field, {
86
88
  mode: "read"
87
89
  }), null);
88
90
  else {
89
- const r = l == null ? void 0 : l[y];
90
- p = (c = r == null ? void 0 : r.render) == null ? void 0 : c.call(r, i, u, o.field);
91
+ const l = r == null ? void 0 : r[y];
92
+ f = (c = l == null ? void 0 : l.render) == null ? void 0 : c.call(l, o, u, i.field);
91
93
  }
92
- return p ? Q(t, i, p) : null;
94
+ return f ? Q(t, o, f) : null;
93
95
  }
94
- function ot(t, e, o, i, u) {
95
- const l = i == null ? void 0 : i({
96
+ function it(t, e, i, o, u) {
97
+ const r = o == null ? void 0 : o({
96
98
  title: t.title,
97
99
  column: t
98
- }), p = (l == null ? void 0 : l.filter((d) => d.type !== Symbol.for("v-cmt"))) || [];
99
- if (l && p.length > 0)
100
- return l;
101
- const a = B(t), c = q(t.title) ? {
100
+ }), f = (r == null ? void 0 : r.filter((d) => d.type !== Symbol.for("v-cmt"))) || [];
101
+ if (r && f.length > 0)
102
+ return r;
103
+ const a = B(t), c = V(t.title) ? {
102
104
  class: e,
103
105
  title: t.title
104
- } : {}, r = s("div", c, [a ? s("span", {
105
- class: o
106
- }, [F("*")]) : null, t.title]), n = t.tooltip ? T(t.tooltip) ? t.tooltip(t) : s(w, null, [t.tooltip]) : null;
106
+ } : {}, l = s("div", c, [a ? s("span", {
107
+ class: i
108
+ }, [F("*")]) : null, t.title]), n = t.tooltip ? T(t.tooltip) ? t.tooltip(t) : s(q, null, [t.tooltip]) : null;
107
109
  return n ? s("span", {
108
110
  style: {
109
111
  display: "inline-flex",
110
112
  alignItems: "center",
111
113
  maxWidth: "100%"
112
114
  }
113
- }, [r, s(W, {
115
+ }, [l, s(W, {
114
116
  title: n,
115
117
  placement: "bottom"
116
118
  }, {
117
- default: () => [s(E, {
119
+ default: () => [s(D, {
118
120
  style: {
119
121
  padding: "4px",
120
122
  color: u,
121
123
  verticalAlign: "middle"
122
124
  }
123
125
  }, null)]
124
- })]) : r;
126
+ })]) : l;
125
127
  }
126
128
  export {
127
129
  B as getColumnIsRequired,
128
- k as getEditableComponent,
129
- ot as getEditableTableTitle,
130
+ E as getEditableComponent,
131
+ it as getEditableTableTitle,
130
132
  et as getFinalNode,
131
133
  L as getRawDisplayValue,
132
134
  M as mergeClass,
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("vue"),g=require("../../ap-form/index.js"),i=require("lodash-unified");require("../../config-provider/index.js");const h=require("../../utils/index.js"),j=require("../hooks/use-editable-columns.js");require("../index.vue2.js");const k=require("../../ap-form/context.js"),P=require("../../config-provider/hooks/use-namespace.js"),O=require("../../config-provider/hooks/use-global-config.js"),z=require("../index.vue.js"),A=o.defineComponent({name:"EditableGrid",__name:"form-item",props:{dropdownPrefixCls:{},bordered:{type:Boolean,default:!1},locale:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{default:()=>["ascend","descend"]},showSorterTooltip:{type:[Boolean,Object],default:!0},prefixCls:{},tableLayout:{default:"fixed"},title:{},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],default:!1},transformCellText:{},rowClassName:{},stripe:{type:Boolean},headerRowClassName:{},footerRowClassName:{},cellClassName:{},headerCellClassName:{},footerCellClassName:{},rowStyle:{},headerRowStyle:{},footerRowStyle:{},cellStyle:{},headerCellStyle:{},footerCellStyle:{},height:{},minHeight:{},maxHeight:{},mergeCells:{},mergeFooterItems:{},cellConfig:{},loading:{type:Boolean,default:void 0},loadingConfig:{},headerCellConfig:{},footerCellConfig:{},rowSelection:{type:Boolean,default:void 0},onLoadingChange:{},onShownColumnsChange:{},pagination:{type:[Boolean,Object],default:!1},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},size:{default:"medium"},adaptive:{type:Boolean,default:!1},columnResizable:{type:[Boolean,Object],default:!1},rowKey:{default:"key"},footer:{},virtual:{type:[Boolean,Object],default:void 0},expandable:{},value:{},columns:{},defaultValue:{},"onUpdate:value":{},onChange:{},maxLength:{},onFieldChange:{},label:{},name:{},formItem:{default:()=>({})}},setup(C,{expose:y}){const w=o.useSlots(),n=C,{b}=P.useNamespace("editable-grid");function x(e,t){return i.isArray(t)?t.reduce((u,l)=>u==null?void 0:u[l],e):e==null?void 0:e[t]}const{internalInstance:a,model:R}=k.useInjectForm(),p=o.toRef(n.name),d=o.ref(x(o.unref(R),p.value)||[]),S=g.ApForm.useWatch(p);o.watch(()=>S.value,async e=>{var t;await o.nextTick(),d.value=e,(t=n.onChange)==null||t.call(n,e)},{deep:!0});const m=o.ref(),B=O.useGlobalConfig("valueTypeMap"),v=j.useGetEditableColumns(n,B);function N(e,t){var r;const u=((r=o.unref(d))==null?void 0:r.length)||0;if(h.isDef(n.maxLength)&&u>=n.maxLength)return;const l={...e||{}};a==null||a.setFieldValue(n.name,l,!0,(s,f)=>{if(!s[f]){s[f]=[l];return}i.isUndefined(t)?s[f].push(l):s[f].splice(t,0,l)})}function _(e,t="suffix"){var s;const u=((s=o.unref(d))==null?void 0:s.length)||0,l=i.isNumber(e)?e:e.length;if(h.isDef(n.maxLength)&&u+l>n.maxLength)return;const r=i.isNumber(e)?new Array(e).fill(0).map(()=>({})):i.cloneDeep(e);a==null||a.setFieldValue(n.name,r,!0,(f,c)=>{if(!f[c]){f[c]=[...r];return}t==="suffix"?f[c].push(...r):f[c].unshift(...r)})}function F(e){const t=new Set(i.isNumber(e)?[e]:e);a==null||a.setFieldValue(n.name,void 0,!0,(u,l)=>{u[l]=u[l].filter((r,s)=>!t.has(s))})}function q(){return o.unref(d)}function D(e){var t;return(t=o.unref(d))==null?void 0:t[e]}function L(e,t,u=!0){a==null||a.setFieldValue(n.name,void 0,!0,(l,r)=>{!l[r]||!l[r][e]||(l[r][e]={...u?l[r][e]:{},...t})})}function T(e){a==null||a.setFieldValue(n.name,e)}function V(e){var u;const t=e==="end"?d.value.length-1:e;(u=m.value)==null||u.scrollToRow(t)}function E(){var e;(e=a==null?void 0:a.setFieldValue)==null||e.call(a,n.name,[])}return y({add:N,remove:F,getRowData:D,getRowsData:q,setRowData:L,addMultiple:_,scrollTo:V,setTableData:T,clear:E}),(e,t)=>(o.openBlock(),o.createBlock(o.unref(g.ApForm).FormItem,o.mergeProps(e.formItem,{name:e.name,label:e.label}),{default:o.withCtx(()=>[o.createVNode(z.default,o.mergeProps(o.unref(i.omit)(n,["name","value","onUpdate:value","maxLength","onChange","defaultValue","formItem"]),{ref_key:"tableRef",ref:m,class:o.unref(b)(),columns:o.unref(v),"data-source":d.value,"search-form":!1}),o.createSlots({_:2},[o.renderList(w,(u,l)=>({name:l,fn:o.withCtx(r=>[o.renderSlot(e.$slots,l,o.normalizeProps(o.guardReactiveProps(r||{})))])}))]),1040,["class","columns","data-source"])]),_:3},16,["name","label"]))}});exports.default=A;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("vue"),g=require("../../ap-form/index.js"),i=require("lodash-unified");require("../../config-provider/index.js");const h=require("../../utils/index.js"),j=require("../hooks/use-editable-columns.js");require("../index.vue2.js");const E=require("../../ap-form/context.js"),O=require("../../config-provider/hooks/use-namespace.js"),P=require("../../config-provider/hooks/use-global-config.js"),z=require("../index.vue.js"),A=o.defineComponent({name:"EditableGrid",__name:"form-item",props:{dropdownPrefixCls:{},bordered:{type:Boolean,default:!1},locale:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{default:()=>["ascend","descend"]},showSorterTooltip:{type:[Boolean,Object],default:!0},prefixCls:{},tableLayout:{default:"fixed"},title:{},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],default:!1},transformCellText:{},rowClassName:{},stripe:{type:Boolean},headerRowClassName:{},footerRowClassName:{},cellClassName:{},headerCellClassName:{},footerCellClassName:{},rowStyle:{},headerRowStyle:{},footerRowStyle:{},cellStyle:{},headerCellStyle:{},footerCellStyle:{},height:{},minHeight:{},maxHeight:{},mergeCells:{},mergeFooterItems:{},cellConfig:{},loading:{type:Boolean,default:void 0},loadingConfig:{},headerCellConfig:{},footerCellConfig:{},rowSelection:{type:Boolean,default:void 0},onLoadingChange:{},onShownColumnsChange:{},pagination:{type:[Boolean,Object],default:!1},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},size:{default:"medium"},adaptive:{type:Boolean,default:!1},columnResizable:{type:[Boolean,Object],default:!1},rowKey:{default:"key"},footer:{},virtual:{type:[Boolean,Object],default:void 0},expandable:{},value:{},columns:{},defaultValue:{},"onUpdate:value":{},onChange:{},maxLength:{},onFieldChange:{},label:{},name:{},formItem:{default:()=>({})}},setup(C,{expose:y}){const b=o.useSlots(),n=C,{b:w}=O.useNamespace("editable-grid");function x(e,t){return i.isArray(t)?t.reduce((u,l)=>u==null?void 0:u[l],e):e==null?void 0:e[t]}const{internalInstance:a,model:R}=E.useInjectForm(),p=o.toRef(n.name),d=o.ref(x(o.unref(R),p.value)||[]),S=g.ApForm.useWatch(p);o.watch(()=>S.value,async e=>{var t;await o.nextTick(),d.value=e,(t=n.onChange)==null||t.call(n,e)},{deep:!0});const m=o.ref(),B=P.useGlobalConfig("valueTypeMap"),v=j.useGetEditableColumns(n,B);function N(e,t){var s;const u=((s=o.unref(d))==null?void 0:s.length)||0;if(h.isDef(n.maxLength)&&u>=n.maxLength)return;const l={...e||{}};a==null||a.setFieldValue(n.name,l,!0,(f,r)=>{if(!f[r]){f[r]=[l];return}i.isUndefined(t)?f[r].push(l):f[r].splice(t,0,l)})}function _(e,t="suffix"){var f;const u=((f=o.unref(d))==null?void 0:f.length)||0,l=i.isNumber(e)?e:e.length;if(h.isDef(n.maxLength)&&u+l>n.maxLength)return;const s=i.isNumber(e)?new Array(e).fill(0).map(()=>({})):i.cloneDeep(e);a==null||a.setFieldValue(n.name,s,!0,(r,c)=>{if(!r[c]){r[c]=[...s];return}t==="suffix"?r[c].push(...s):r[c].unshift(...s)})}function F(e){const t=new Set(i.isNumber(e)?[e]:e);a==null||a.setFieldValue(n.name,void 0,!0,(u,l)=>{u[l]=u[l].filter((s,f)=>!t.has(f))})}function q(){return o.unref(d)}function D(e){var t;return(t=o.unref(d))==null?void 0:t[e]}function k(e,t,u=!0){a==null||a.setFieldValue(n.name,void 0,!0,(l,s)=>{if(!(!l[s]||!l[s][e])){if(!u){const f=Object.keys(l[s][e]);for(const r of f)r!==n.rowKey&&delete l[s][e][r]}Object.assign(l[s][e],{...t})}})}function L(e){a==null||a.setFieldValue(n.name,e)}function T(e){var u;const t=e==="end"?d.value.length-1:e;(u=m.value)==null||u.scrollToRow(t)}function V(){var e;(e=a==null?void 0:a.setFieldValue)==null||e.call(a,n.name,[])}return y({add:N,remove:F,getRowData:D,getRowsData:q,setRowData:k,addMultiple:_,scrollTo:T,setTableData:L,clear:V}),(e,t)=>(o.openBlock(),o.createBlock(o.unref(g.ApForm).FormItem,o.mergeProps(e.formItem,{name:e.name,label:e.label}),{default:o.withCtx(()=>[o.createVNode(z.default,o.mergeProps(o.unref(i.omit)(n,["name","value","onUpdate:value","maxLength","onChange","defaultValue","formItem"]),{ref_key:"tableRef",ref:m,class:o.unref(w)(),columns:o.unref(v),"data-source":d.value,"search-form":!1}),o.createSlots({_:2},[o.renderList(b,(u,l)=>({name:l,fn:o.withCtx(s=>[o.renderSlot(e.$slots,l,o.normalizeProps(o.guardReactiveProps(s||{})))])}))]),1040,["class","columns","data-source"])]),_:3},16,["name","label"]))}});exports.default=A;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("vue"),C=require("../../ap-form/index.js"),c=require("lodash-unified");require("../../config-provider/index.js");require("../../hooks/index.js");const y=require("../../utils/index.js"),z=require("../hooks/use-editable-columns.js");require("../index.vue2.js");const I=require("../../config-provider/hooks/use-namespace.js"),G=require("../../hooks/useControllableValue.js"),H=require("../../config-provider/hooks/use-global-config.js"),U=require("../index.vue.js"),W=a.defineComponent({name:"EditableGrid",__name:"index",props:{dropdownPrefixCls:{},bordered:{type:Boolean,default:!1},locale:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{default:()=>["ascend","descend"]},showSorterTooltip:{type:[Boolean,Object],default:!0},prefixCls:{},tableLayout:{default:"fixed"},title:{},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],default:!1},transformCellText:{},rowClassName:{},stripe:{type:Boolean},headerRowClassName:{},footerRowClassName:{},cellClassName:{},headerCellClassName:{},footerCellClassName:{},rowStyle:{},headerRowStyle:{},footerRowStyle:{},cellStyle:{},headerCellStyle:{},footerCellStyle:{},height:{},minHeight:{},maxHeight:{},mergeCells:{},mergeFooterItems:{},cellConfig:{},loading:{type:Boolean,default:void 0},loadingConfig:{},headerCellConfig:{},footerCellConfig:{},rowSelection:{type:Boolean,default:void 0},onLoadingChange:{},onShownColumnsChange:{},pagination:{type:[Boolean,Object],default:!1},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},size:{default:"medium"},adaptive:{type:Boolean,default:!1},columnResizable:{type:[Boolean,Object],default:!1},rowKey:{default:"key"},footer:{},virtual:{type:[Boolean,Object],default:void 0},expandable:{},value:{},columns:{},defaultValue:{},"onUpdate:value":{},onChange:{},maxLength:{},name:{default:"ap-editable-table-inner-name"},onFieldChange:{}},emits:["update:value"],setup(w,{expose:x,emit:v}){const b=a.useSlots(),n=w,{b:R}=I.useNamespace("editable-grid"),S=v,g=a.ref(),{value:p,updateValue:F}=G.useControllableValue(n,S),i=a.ref(),B=H.useGlobalConfig("valueTypeMap"),h=C.ApForm.useWatch(n.name,i);a.watch(()=>h.value,e=>{var t;F(e),(t=n.onChange)==null||t.call(n,e)},{deep:!0,flush:"post"}),a.watch(p,e=>{var t;e!==a.unref(h)&&(c.isEqual(e,a.unref(h))||(t=i.value)==null||t.setFieldValue(n.name,e))},{deep:!0});const _=z.useGetEditableColumns(n,B);function N(){var e;(e=i.value)==null||e.resetFields()}function V(e){return e?(c.isArray(e)?e:[e]).map(l=>c.isArray(l)?[n.name,...l]:[n.name,l]):void 0}async function q(e,t){var o;const l=await((o=i.value)==null?void 0:o.validateFields(V(e),t));return l==null?void 0:l[n.name]}function E(e,t){var u,r,s;const l=((u=a.unref(p))==null?void 0:u.length)||0;if(y.isDef(n.maxLength)&&l>=n.maxLength)return;const o={...e||{}};(s=(r=i.value)==null?void 0:r.setFieldValue)==null||s.call(r,n.name,o,!0,(d,f)=>{if(!d[f]){d[f]=[o];return}c.isUndefined(t)?d[f].push(o):d[f].splice(t,0,o)})}function L(e,t="suffix"){var r,s,d;const l=((r=a.unref(p))==null?void 0:r.length)||0,o=c.isNumber(e)?e:e.length;if(y.isDef(n.maxLength)&&l+o>n.maxLength)return;const u=c.isNumber(e)?new Array(e).fill(0).map(()=>({})):c.cloneDeep(e);(d=(s=i.value)==null?void 0:s.setFieldValue)==null||d.call(s,n.name,u,!0,(f,m)=>{if(!f[m]){f[m]=[...u];return}t==="suffix"?f[m].push(...u):f[m].unshift(...u)})}function A(e){var l,o;const t=new Set(c.isNumber(e)?[e]:e);(o=(l=i.value)==null?void 0:l.setFieldValue)==null||o.call(l,n.name,void 0,!0,(u,r)=>{u[r]=u[r].filter((s,d)=>!t.has(d))})}function D(){return a.unref(p)}function T(e){var t;(t=i.value)==null||t.setFieldValue(n.name,e)}function k(e){var t;return(t=a.unref(p))==null?void 0:t[e]}function j(e,t,l=!0){var o,u;(u=(o=i.value)==null?void 0:o.setFieldValue)==null||u.call(o,n.name,void 0,!0,(r,s)=>{!r[s]||!r[s][e]||(r[s][e]={...l?r[s][e]:{},...t})})}function O(e){var l;const t=e==="end"?p.value.length-1:e;(l=g.value)==null||l.scrollToRow(t)}function P(){var e,t;(t=(e=i.value)==null?void 0:e.setFieldValue)==null||t.call(e,n.name,[])}return x({resetFields:N,validateFields:q,add:E,remove:A,getRowData:k,getRowsData:D,setRowData:j,addMultiple:L,scrollTo:O,clear:P,setTableData:T}),(e,t)=>(a.openBlock(),a.createBlock(a.unref(C.ApForm),{ref_key:"formRef",ref:i,"initial-values":{[n.name]:a.unref(p)},style:{height:"100%"}},{default:a.withCtx(()=>[a.createVNode(a.unref(C.ApForm).FormItem,{name:e.name,"no-style":""},{default:a.withCtx(()=>[a.createVNode(U.default,a.mergeProps(a.unref(c.omit)(n,["name","value","onUpdate:value","maxLength","onChange","defaultValue"]),{ref_key:"tableRef",ref:g,class:a.unref(R)(),columns:a.unref(_),"data-source":a.unref(p),"search-form":!1}),a.createSlots({_:2},[a.renderList(b,(l,o)=>({name:o,fn:a.withCtx(u=>[a.renderSlot(e.$slots,o,a.normalizeProps(a.guardReactiveProps(u||{})))])}))]),1040,["class","columns","data-source"])]),_:3},8,["name"])]),_:3},8,["initial-values"]))}});exports.default=W;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),g=require("../../ap-form/index.js"),c=require("lodash-unified");require("../../config-provider/index.js");require("../../hooks/index.js");const C=require("../../utils/index.js"),z=require("../hooks/use-editable-columns.js");require("../index.vue2.js");const I=require("../../config-provider/hooks/use-namespace.js"),G=require("../../hooks/useControllableValue.js"),H=require("../../config-provider/hooks/use-global-config.js"),K=require("../index.vue.js"),U=t.defineComponent({name:"EditableGrid",__name:"index",props:{dropdownPrefixCls:{},bordered:{type:Boolean,default:!1},locale:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{default:()=>["ascend","descend"]},showSorterTooltip:{type:[Boolean,Object],default:!0},prefixCls:{},tableLayout:{default:"fixed"},title:{},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],default:!1},transformCellText:{},rowClassName:{},stripe:{type:Boolean},headerRowClassName:{},footerRowClassName:{},cellClassName:{},headerCellClassName:{},footerCellClassName:{},rowStyle:{},headerRowStyle:{},footerRowStyle:{},cellStyle:{},headerCellStyle:{},footerCellStyle:{},height:{},minHeight:{},maxHeight:{},mergeCells:{},mergeFooterItems:{},cellConfig:{},loading:{type:Boolean,default:void 0},loadingConfig:{},headerCellConfig:{},footerCellConfig:{},rowSelection:{type:Boolean,default:void 0},onLoadingChange:{},onShownColumnsChange:{},pagination:{type:[Boolean,Object],default:!1},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},size:{default:"medium"},adaptive:{type:Boolean,default:!1},columnResizable:{type:[Boolean,Object],default:!1},rowKey:{default:"key"},footer:{},virtual:{type:[Boolean,Object],default:void 0},expandable:{},value:{},columns:{},defaultValue:{},"onUpdate:value":{},onChange:{},maxLength:{},name:{default:"ap-editable-table-inner-name"},onFieldChange:{}},emits:["update:value"],setup(w,{expose:v,emit:x}){const b=t.useSlots(),n=w,{b:R}=I.useNamespace("editable-grid"),S=x,y=t.ref(),{value:p,updateValue:F}=G.useControllableValue(n,S),f=t.ref(),B=H.useGlobalConfig("valueTypeMap"),h=g.ApForm.useWatch(n.name,f);t.watch(()=>h.value,e=>{var a;F(e),(a=n.onChange)==null||a.call(n,e)},{deep:!0,flush:"post"}),t.watch(p,e=>{var a;e!==t.unref(h)&&(c.isEqual(e,t.unref(h))||(a=f.value)==null||a.setFieldValue(n.name,e))},{deep:!0});const _=z.useGetEditableColumns(n,B);function N(){var e;(e=f.value)==null||e.resetFields()}function V(e){return e?(c.isArray(e)?e:[e]).map(l=>c.isArray(l)?[n.name,...l]:[n.name,l]):void 0}async function q(e,a){var o;const l=await((o=f.value)==null?void 0:o.validateFields(V(e),a));return l==null?void 0:l[n.name]}function k(e,a){var r,u,s;const l=((r=t.unref(p))==null?void 0:r.length)||0;if(C.isDef(n.maxLength)&&l>=n.maxLength)return;const o={...e||{}};(s=(u=f.value)==null?void 0:u.setFieldValue)==null||s.call(u,n.name,o,!0,(d,i)=>{if(!d[i]){d[i]=[o];return}c.isUndefined(a)?d[i].push(o):d[i].splice(a,0,o)})}function E(e,a="suffix"){var u,s,d;const l=((u=t.unref(p))==null?void 0:u.length)||0,o=c.isNumber(e)?e:e.length;if(C.isDef(n.maxLength)&&l+o>n.maxLength)return;const r=c.isNumber(e)?new Array(e).fill(0).map(()=>({})):c.cloneDeep(e);(d=(s=f.value)==null?void 0:s.setFieldValue)==null||d.call(s,n.name,r,!0,(i,m)=>{if(!i[m]){i[m]=[...r];return}a==="suffix"?i[m].push(...r):i[m].unshift(...r)})}function L(e){var l,o;const a=new Set(c.isNumber(e)?[e]:e);(o=(l=f.value)==null?void 0:l.setFieldValue)==null||o.call(l,n.name,void 0,!0,(r,u)=>{r[u]=r[u].filter((s,d)=>!a.has(d))})}function A(){return t.unref(p)}function D(e){var a;(a=f.value)==null||a.setFieldValue(n.name,e)}function T(e){var a;return(a=t.unref(p))==null?void 0:a[e]}function j(e,a,l=!0){var o,r;(r=(o=f.value)==null?void 0:o.setFieldValue)==null||r.call(o,n.name,void 0,!0,(u,s)=>{if(!(!u[s]||!u[s][e])){if(!l){const d=Object.keys(u[s][e]);for(const i of d)i!==n.rowKey&&delete u[s][e][i]}Object.assign(u[s][e],{...a})}})}function O(e){var l;const a=e==="end"?p.value.length-1:e;(l=y.value)==null||l.scrollToRow(a)}function P(){var e,a;(a=(e=f.value)==null?void 0:e.setFieldValue)==null||a.call(e,n.name,[])}return v({resetFields:N,validateFields:q,add:k,remove:L,getRowData:T,getRowsData:A,setRowData:j,addMultiple:E,scrollTo:O,clear:P,setTableData:D}),(e,a)=>(t.openBlock(),t.createBlock(t.unref(g.ApForm),{ref_key:"formRef",ref:f,"initial-values":{[n.name]:t.unref(p)},style:{height:"100%"}},{default:t.withCtx(()=>[t.createVNode(t.unref(g.ApForm).FormItem,{name:e.name,"no-style":""},{default:t.withCtx(()=>[t.createVNode(K.default,t.mergeProps(t.unref(c.omit)(n,["name","value","onUpdate:value","maxLength","onChange","defaultValue"]),{ref_key:"tableRef",ref:y,class:t.unref(R)(),columns:t.unref(_),"data-source":t.unref(p),"search-form":!1}),t.createSlots({_:2},[t.renderList(b,(l,o)=>({name:o,fn:t.withCtx(r=>[t.renderSlot(e.$slots,o,t.normalizeProps(t.guardReactiveProps(r||{})))])}))]),1040,["class","columns","data-source"])]),_:3},8,["name"])]),_:3},8,["initial-values"]))}});exports.default=U;
@@ -43,6 +43,10 @@ export type EditableGridColumnType<RecordType = any, ExtraValueType = 'text', Va
43
43
  editable?: boolean;
44
44
  originalNode?: VNode;
45
45
  }) => any;
46
+ /**
47
+ * 是否渲染必填标记(只渲染标记不生成校验规则)
48
+ */
49
+ markRequired?: boolean;
46
50
  } : never;
47
51
  export type EditableGridProps<RecordType = any> = Omit<ApGridProps<RecordType>, 'columns' | 'dataSource' | 'onChange' | 'card' | 'request' | 'params' | 'defaultData' | 'searchForm' | 'beforeSearchSubmit' | 'manual'> & {
48
52
  /**
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),x=require("vxe-table");require("vxe-table/es/style.css");require("vxe-pc-ui/es/style.css");const A=require("vxe-pc-ui"),p=require("lodash-unified"),ue=require("../ap-form/index.js");require("../config-provider/index.js");const ce=require("../ap-table/constants.js"),i=require("../ap-table/utils.js"),de=require("../ap-table/hooks/use-table-paging-ng.js"),k=require("@aplus-frontend/antdv"),ie=require("./hooks/use-inner-params.js"),R=require("./utils/table.js"),fe=require("../ap-table/hooks/use-table-row-selection.js"),pe=require("../ap-table/context.js"),B=require("./constants.js"),me=require("./hooks/use-render-columns.js"),ge=require("@aplus-frontend/antdv/es/theme/internal");require("../scroll-bar/index.js");const Ce=require("../config-provider/hooks/use-namespace.js"),he=require("../config-provider/hooks/use-global-config.js"),ve=require("../config-provider/hooks/use-locale.js"),ye=require("../scroll-bar/index.vue.js"),Se=e.defineComponent({name:"ApGrid",__name:"index",props:{dropdownPrefixCls:{},bordered:{type:Boolean,default:!1},locale:{},onChange:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{default:()=>["ascend","descend"]},showSorterTooltip:{type:[Boolean,Object],default:!1},prefixCls:{},tableLayout:{},title:{},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],default:!1},transformCellText:{},rowClassName:{},stripe:{type:Boolean},headerRowClassName:{},footerRowClassName:{},cellClassName:{},headerCellClassName:{},footerCellClassName:{},rowStyle:{},headerRowStyle:{},footerRowStyle:{},cellStyle:{},headerCellStyle:{},footerCellStyle:{},height:{},minHeight:{},maxHeight:{},mergeCells:{},mergeFooterItems:{},cellConfig:{},loading:{type:Boolean,default:void 0},loadingConfig:{},headerCellConfig:{},footerCellConfig:{},columns:{},rowSelection:{type:Boolean},card:{type:Boolean,default:!1},params:{},request:{},defaultData:{},dataSource:{},onLoadingChange:{},onShownColumnsChange:{},searchForm:{type:[Boolean,Object],default:void 0},beforeSearchSubmit:{},pagination:{type:[Boolean,Object],default:void 0},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},manual:{type:Boolean,default:!1},size:{default:void 0},adaptive:{type:Boolean,default:!1},columnResizable:{type:[Boolean,Object],default:!1},rowKey:{default:"key"},footer:{},virtual:{type:[Boolean,Object],default:void 0},expandable:{},value:{}},setup(L,{expose:O}){var T;const F=e.useSlots(),r=L,C=(T=e.getCurrentInstance())==null?void 0:T.appContext.app;C&&!C.__VXE_PC_UI_INSTALLED__&&(C.use(A.VxeUI),C.__VXE_PC_UI_INSTALLED__=!0);const{e:y,b:s,be:D}=Ce.useNamespace("ap-grid"),U=he.useGlobalConfig("valueTypeMap"),l=e.ref([]),E=e.ref([]),d=e.ref(),m=e.ref(r.size),[,u]=ge.useToken(),{t:K}=ve.useLocale();A.VxeUI.setConfig({i18n:(o,a)=>K(`ap.${o}`,a)});const{renderConfig:$,updateSignal:j}=me.useRenderColumns(l);let P=0;const H=e.computed(()=>{if(d.value)return d.value.$el.querySelector(".vxe-table--header-inner-wrapper")}),I=e.computed(()=>{var o,a,n;return P++,((n=(a=(o=r.columns)==null?void 0:o.filter(t=>!t.hideInSearch&&t.dataIndex&&(t.valueType||t.customRenderFormItem)&&!ce.noRenderAsFormItemValueList.includes(t.valueType)))==null?void 0:a.sort((t,c)=>{let g=i.getColumnOrder(t.order);return i.getColumnOrder(c.order)-g}))==null?void 0:n.map(t=>{const c=i.updateFormProps(t,i.getFieldProps(t.fieldProps,{})),g={...t,fieldProps:{label:t.title,name:t.dataIndex,...c||{},_signal:P},renderNode:void 0};return g.renderNode=i.getSearchFormItemRenderNode(g,e.unref(U)),g}))||[]}),M=e.computed(()=>[s(),r.card?null:s("wrapper"),r.adaptive?s("adaptive"):null,r.sticky?s("sticky"):null].filter(Boolean)),N=e.computed(()=>i.recursionApColumns(e.unref(l),o=>{if(o.sorter===!0)return o.key||o.dataIndex}).filter(Boolean)),q=e.computed(()=>i.recursionApColumns(e.unref(l),o=>{if(o.filters&&!o.onFilter)return o.key||o.dataIndex}).filter(Boolean)),{formRef:S,submit:z,reset:_,refresh:W,data:f,tableProps:V,setDataSource:G,handleTableChange:X}=de.useTablePaging({async request(o){var n;if(!v.value.preserveSelectedRowKeys&&p.isUndefined(r.dataSource)&&b(),!p.isUndefined(r.dataSource)){const t=o.pageSize*(o.current-1);return{data:(r.pagination===!1?r.dataSource:r.dataSource.slice(t,t+o.pageSize))||[],total:r.dataSource.length||0}}const a=await((n=r.request)==null?void 0:n.call(r,o));return{data:(a==null?void 0:a.data)||[],total:(a==null?void 0:a.total)||0}},namespace:"ap-grid",filterFields:q,sortFields:N,defaultParams:r.params,defaultData:r.defaultData,manual:r.manual,formatParams:r.beforeSearchSubmit,pagination:r.pagination}),{sortChangeEvent:J,filterChangeEvent:Q,paginationChangeEvent:Y}=ie.useInnerParams(X);pe.useProvideApTable({columns:e.computed(()=>l.value),columnsBackup:e.computed(()=>E.value),size:e.computed(()=>m.value?B.sizeMap[m.value]:"middle"),updateColumns(o){var a;l.value=o,(a=r.onShownColumnsChange)==null||a.call(r,o)},updateSize(o){m.value=B.sizeReverseMap[o]},renderConfig:e.computed(()=>({className:D("table-header","title"),color:u.value.colorPrimary})),dataSource:e.computed(()=>e.unref(f).records)});const Z=e.computed(()=>l.value.some(o=>o.fixed==="left"||o.fixed===!0)?"left":void 0),ee=e.computed(()=>p.isUndefined(r.loading)?f.loading:r.loading),oe=e.computed(()=>p.isUndefined(r.dataSource)?f.records:r.dataSource),{selectedRows:h,rowSelection:v,...re}=fe.default({...r.rowSelection===!0?{}:r.rowSelection,dataSource:oe,rowKey:r.rowKey}),w=()=>{const o=d.value;o&&(h.value=[...o.getCheckboxReserveRecords(),...o.getCheckboxRecords()])},ae=()=>{const o=d.value;o&&(h.value=[o.getRadioRecord()])};function te(){var o;return((o=r.columns)==null?void 0:o.filter(a=>!a.hideInTable))||[]}function ne(o){var a,n,t;(t=(n=(a=S.value)==null?void 0:a.apForm)==null?void 0:n.setFieldsValue)==null||t.call(n,o)}function le(o=!1){var n,t,c;const a=o?"getFieldsValueTransformed":"getFieldsValue";return(c=(t=(n=S.value)==null?void 0:n.apForm)==null?void 0:t[a])==null?void 0:c.call(t,!0)}function b(){re.clearAll();const o=d.value;o&&(v.value.type==="radio"?(o.clearRadioRow(),o.clearRadioReserve()):(o.clearCheckboxRow(),o.clearCheckboxReserve()))}async function se(o,a){var t;const n=f.records[o];if(n)return(t=d.value)==null?void 0:t.scrollToRow(n,a)}return e.watch(()=>[r.columnResizable,r.columns],()=>{var a;const o=te();l.value=o,(a=r.onShownColumnsChange)==null||a.call(r,o),E.value=o},{deep:!0,immediate:!0}),e.watch(()=>r.dataSource,o=>{G(o)},{immediate:!0,deep:!0}),e.watch(()=>e.unref(f).loading,o=>{var a;(a=r.onLoadingChange)==null||a.call(r,o)}),e.watch(()=>r.size,o=>{m.value=o}),O({submit:z,reset:_,refresh:W,setSearchFormValues:ne,getSearchFormValues:le,getShowColumns:()=>e.unref(l),rowSelection:{selectedRows:e.computed(()=>h.value),clearAll:b},scrollToRow:se}),(o,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(M.value),style:e.normalizeStyle(o.wrapperStyle)},[e.unref(p.isUndefined)(o.dataSource)&&o.searchForm!==!1&&I.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.card?e.unref(y)("search-wrapper"):null),style:e.normalizeStyle(o.searchFormWrapperStyle)},[e.createVNode(e.unref(ue.ApForm).SearchForm,e.mergeProps(o.searchForm||{},{ref_key:"formRef",ref:S,"custom-reset":"","submit-loading":e.unref(V).loading,onSubmit:e.unref(z),onReset:e.unref(_)}),e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(I.value,n=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.renderNode.Comp),e.mergeProps({key:n.dataIndex,item:n,ref_for:!0},n.fieldProps||{},{span:n.span,"custom-render":n.renderNode.render}),null,16,["item","span","custom-render"]))),128))]),_:2},[F.searchFormExtra?{name:"extra",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"searchFormExtra")]),key:"0"}:void 0]),1040,["submit-loading","onSubmit","onReset"])],6)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass([e.unref(y)("table-wrapper"),o.card?e.unref(y)("table-wrapper-card"):null]),style:e.normalizeStyle(o.tableWrapperStyle)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(s)("header-wrapper"))},[e.renderSlot(o.$slots,"title",{selectedRows:e.unref(h),selectedRowKeys:e.unref(v).selectedRowKeys,shownColumns:l.value,clearAll:b})],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(s)("vxe-wrapper"))},[(e.openBlock(),e.createBlock(e.unref(x.VxeTable),e.mergeProps(e.unref(R.toVxeProps)(r),{ref_key:"tableRef",ref:d,key:e.unref(j),data:e.unref(f).records,"sort-config":{remote:N.value.length>0},"filter-config":{remote:q.value.length>0},loading:ee.value,"row-config":{isHover:!0,keyField:r.rowKey},style:{"--vxe-ui-table-row-checkbox-checked-background-color":e.unref(u).controlItemBgActive,"--vxe-ui-table-row-hover-checkbox-checked-background-color":e.unref(u).controlItemBgActiveHover,"--vxe-ui-font-primary-color":e.unref(u).colorPrimary,"--vxe-ui-table-header-background-color":"var(--ap-table-header-bg)","--vxe-ui-table-cell-padding-default":"12px","--vxe-ui-table-cell-padding-medium":"9px","--vxe-ui-table-row-radio-checked-background-color":e.unref(u).controlItemBgActive,"--vxe-ui-table-row-hover-radio-checked-background-color":e.unref(u).controlItemBgActiveHover,"--vxe-ui-font-color":e.unref(u).colorTextBase,"--vxe-ui-table-border-color":e.unref(u).colorBorderSecondary},size:m.value,onSortChange:e.unref(J),onFilterChange:e.unref(Q),onCheckboxChange:w,onCheckboxRangeChange:w,onCheckboxAll:w,onRadioChange:ae}),e.createSlots({empty:e.withCtx(()=>[e.createVNode(e.unref(k.Empty),{image:e.unref(k.Empty).PRESENTED_IMAGE_SIMPLE},null,8,["image"])]),default:e.withCtx(()=>[r.expandable?(e.openBlock(),e.createBlock(e.unref(x.VxeColumn),e.mergeProps({key:0},e.unref(R.getRowExpandProps)(o.expandable),{fixed:Z.value}),{content:e.withCtx(n=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.expandable.renderContent(n))))]),_:1},16,["fixed"])):e.createCommentVNode("",!0),r.rowSelection?(e.openBlock(),e.createBlock(e.unref(x.VxeColumn),e.mergeProps({key:1},e.unref(R.getRowSelectionProps)(e.unref(v),l.value),{field:e.unref(B.ROW_SELECTION_FIELD)}),null,16,["field"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref($),n=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n),{key:n.props.colId}))),128))]),_:2},[e.renderList(e.unref(p.omit)(F,["searchFormExtra"]),(n,t)=>({name:t,fn:e.withCtx(c=>[e.renderSlot(o.$slots,t,e.normalizeProps(e.guardReactiveProps(c||{})))])}))]),1040,["data","sort-config","filter-config","loading","row-config","style","size","onSortChange","onFilterChange"]))],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(s)("pagination-wrapper"))},[o.sticky?(e.openBlock(),e.createBlock(e.unref(ye.default),{key:0,direction:"horizontal","scroll-container":H.value,"extra-size":-4.2},null,8,["scroll-container"])):e.createCommentVNode("",!0),o.pagination!==!1?(e.openBlock(),e.createBlock(e.unref(k.Pagination),e.mergeProps({key:1,class:e.unref(s)("pagination")},e.unref(V).pagination,{onChange:e.unref(Y)}),null,16,["class","onChange"])):e.createCommentVNode("",!0)],2)],6)],6))}});exports.default=Se;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),x=require("vxe-table");require("vxe-table/es/style.css");require("vxe-pc-ui/es/style.css");const A=require("vxe-pc-ui"),p=require("lodash-unified"),ue=require("../ap-form/index.js");require("../config-provider/index.js");const ce=require("../ap-table/constants.js"),f=require("../ap-table/utils.js"),de=require("../ap-table/hooks/use-table-paging-ng.js"),k=require("@aplus-frontend/antdv"),ie=require("./hooks/use-inner-params.js"),R=require("./utils/table.js"),fe=require("../ap-table/hooks/use-table-row-selection.js"),pe=require("../ap-table/context.js"),B=require("./constants.js"),me=require("./hooks/use-render-columns.js"),ge=require("@aplus-frontend/antdv/es/theme/internal");require("../scroll-bar/index.js");const Ce=require("../config-provider/hooks/use-namespace.js"),he=require("../config-provider/hooks/use-global-config.js"),ve=require("../config-provider/hooks/use-locale.js"),ye=require("../scroll-bar/index.vue.js"),Se=e.defineComponent({name:"ApGrid",__name:"index",props:{dropdownPrefixCls:{},bordered:{type:Boolean,default:!1},locale:{},onChange:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{default:()=>["ascend","descend"]},showSorterTooltip:{type:[Boolean,Object],default:!1},prefixCls:{},tableLayout:{},title:{},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],default:!1},transformCellText:{},rowClassName:{},stripe:{type:Boolean},headerRowClassName:{},footerRowClassName:{},cellClassName:{},headerCellClassName:{},footerCellClassName:{},rowStyle:{},headerRowStyle:{},footerRowStyle:{},cellStyle:{},headerCellStyle:{},footerCellStyle:{},height:{},minHeight:{},maxHeight:{},mergeCells:{},mergeFooterItems:{},cellConfig:{},loading:{type:Boolean,default:void 0},loadingConfig:{},headerCellConfig:{},footerCellConfig:{},columns:{},rowSelection:{type:Boolean},card:{type:Boolean,default:!1},params:{},request:{},defaultData:{},dataSource:{},onLoadingChange:{},onShownColumnsChange:{},searchForm:{type:[Boolean,Object],default:void 0},beforeSearchSubmit:{},pagination:{type:[Boolean,Object],default:void 0},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},manual:{type:Boolean,default:!1},size:{default:void 0},adaptive:{type:Boolean,default:!1},columnResizable:{type:[Boolean,Object],default:!1},rowKey:{default:"key"},footer:{},virtual:{type:[Boolean,Object],default:void 0},expandable:{},value:{}},setup(L,{expose:D}){var V;const E=e.useSlots(),r=L,C=(V=e.getCurrentInstance())==null?void 0:V.appContext.app;C&&!C.__VXE_PC_UI_INSTALLED__&&(C.use(A.VxeUI),C.__VXE_PC_UI_INSTALLED__=!0);const{e:y,b:u,be:O}=Ce.useNamespace("ap-grid"),U=he.useGlobalConfig("valueTypeMap"),l=e.ref([]),F=e.ref([]),d=e.ref(),m=e.ref(r.size),[,s]=ge.useToken(),{t:$}=ve.useLocale();A.VxeUI.setConfig({i18n:(o,a)=>$(`ap.${o}`,a)});const{renderConfig:K,updateSignal:j}=me.useRenderColumns(l);let P=0;const M=e.computed(()=>{if(d.value)return d.value.$el.querySelector(".vxe-table--header-inner-wrapper")}),I=e.computed(()=>{var o,a,n;return P++,((n=(a=(o=r.columns)==null?void 0:o.filter(t=>!t.hideInSearch&&t.dataIndex&&(t.valueType||t.customRenderFormItem)&&!ce.noRenderAsFormItemValueList.includes(t.valueType)))==null?void 0:a.sort((t,c)=>{let g=f.getColumnOrder(t.order);return f.getColumnOrder(c.order)-g}))==null?void 0:n.map(t=>{const c=f.updateFormProps(t,f.getFieldProps(t.fieldProps,{})),g={...t,fieldProps:{label:t.title,name:t.dataIndex,...c||{},_signal:P},renderNode:void 0};return g.renderNode=f.getSearchFormItemRenderNode(g,e.unref(U)),g}))||[]}),W=e.computed(()=>[u(),r.card?null:u("wrapper"),r.adaptive?u("adaptive"):null,r.sticky?u("sticky"):null].filter(Boolean)),N=e.computed(()=>f.recursionApColumns(e.unref(l),o=>{if(o.sorter===!0)return o.key||o.dataIndex}).filter(Boolean)),q=e.computed(()=>f.recursionApColumns(e.unref(l),o=>{if(o.filters&&!o.onFilter)return o.key||o.dataIndex}).filter(Boolean)),{formRef:S,submit:z,reset:_,refresh:H,data:i,tableProps:T,setDataSource:G,handleTableChange:X}=de.useTablePaging({async request(o){var n;if(!v.value.preserveSelectedRowKeys&&p.isUndefined(r.dataSource)&&w(),!p.isUndefined(r.dataSource)){const t=o.pageSize*(o.current-1);return{data:(r.pagination===!1?r.dataSource:r.dataSource.slice(t,t+o.pageSize))||[],total:r.dataSource.length||0}}const a=await((n=r.request)==null?void 0:n.call(r,o));return{data:(a==null?void 0:a.data)||[],total:(a==null?void 0:a.total)||0}},namespace:"ap-grid",filterFields:q,sortFields:N,defaultParams:r.params,defaultData:r.defaultData,manual:r.manual,formatParams:r.beforeSearchSubmit,pagination:r.pagination}),{sortChangeEvent:J,filterChangeEvent:Q,paginationChangeEvent:Y}=ie.useInnerParams(X);pe.useProvideApTable({columns:e.computed(()=>l.value),columnsBackup:e.computed(()=>F.value),size:e.computed(()=>m.value?B.sizeMap[m.value]:"middle"),updateColumns(o){var a;l.value=o,(a=r.onShownColumnsChange)==null||a.call(r,o)},updateSize(o){m.value=B.sizeReverseMap[o]},renderConfig:e.computed(()=>({className:O("table-header","title"),color:s.value.colorPrimary})),dataSource:e.computed(()=>e.unref(i).records)});const Z=e.computed(()=>l.value.some(o=>o.fixed==="left"||o.fixed===!0)?"left":void 0),ee=e.computed(()=>p.isUndefined(r.loading)?i.loading:r.loading),oe=e.computed(()=>p.isUndefined(r.dataSource)?i.records:r.dataSource),{selectedRows:h,rowSelection:v,...re}=fe.default({...r.rowSelection===!0?{}:r.rowSelection,dataSource:oe,rowKey:r.rowKey}),b=()=>{const o=d.value;o&&(h.value=[...o.getCheckboxReserveRecords(),...o.getCheckboxRecords()])},ae=()=>{const o=d.value;o&&(h.value=[o.getRadioRecord()])};function te(){var o;return((o=r.columns)==null?void 0:o.filter(a=>!a.hideInTable))||[]}function ne(o){var a,n,t;(t=(n=(a=S.value)==null?void 0:a.apForm)==null?void 0:n.setFieldsValue)==null||t.call(n,o)}function le(o=!1){var n,t,c;const a=o?"getFieldsValueTransformed":"getFieldsValue";return(c=(t=(n=S.value)==null?void 0:n.apForm)==null?void 0:t[a])==null?void 0:c.call(t,!0)}function w(){re.clearAll();const o=d.value;o&&(v.value.type==="radio"?(o.clearRadioRow(),o.clearRadioReserve()):(o.clearCheckboxRow(),o.clearCheckboxReserve()))}async function se(o,a){var t;const n=i.records[o];if(n)return(t=d.value)==null?void 0:t.scrollToRow(n,a)}return e.watch(()=>[r.columnResizable,r.columns],()=>{var a;const o=te();l.value=o,(a=r.onShownColumnsChange)==null||a.call(r,o),F.value=o},{deep:!0,immediate:!0}),e.watch(()=>r.dataSource,o=>{G(o)},{immediate:!0,deep:!0}),e.watch(()=>e.unref(i).loading,o=>{var a;(a=r.onLoadingChange)==null||a.call(r,o)}),e.watch(()=>r.size,o=>{m.value=o}),D({submit:z,reset:_,refresh:H,setSearchFormValues:ne,getSearchFormValues:le,getShowColumns:()=>e.unref(l),rowSelection:{selectedRows:e.computed(()=>h.value),clearAll:w},scrollToRow:se,getDataSource:()=>e.unref(i.records)}),(o,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(W.value),style:e.normalizeStyle(o.wrapperStyle)},[e.unref(p.isUndefined)(o.dataSource)&&o.searchForm!==!1&&I.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.card?e.unref(y)("search-wrapper"):null),style:e.normalizeStyle(o.searchFormWrapperStyle)},[e.createVNode(e.unref(ue.ApForm).SearchForm,e.mergeProps(o.searchForm||{},{ref_key:"formRef",ref:S,"custom-reset":"","submit-loading":e.unref(T).loading,onSubmit:e.unref(z),onReset:e.unref(_)}),e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(I.value,n=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.renderNode.Comp),e.mergeProps({key:n.dataIndex,item:n,ref_for:!0},n.fieldProps||{},{span:n.span,"custom-render":n.renderNode.render}),null,16,["item","span","custom-render"]))),128))]),_:2},[E.searchFormExtra?{name:"extra",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"searchFormExtra")]),key:"0"}:void 0]),1040,["submit-loading","onSubmit","onReset"])],6)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass([e.unref(y)("table-wrapper"),o.card?e.unref(y)("table-wrapper-card"):null]),style:e.normalizeStyle(o.tableWrapperStyle)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(u)("header-wrapper"))},[e.renderSlot(o.$slots,"title",{selectedRows:e.unref(h),selectedRowKeys:e.unref(v).selectedRowKeys,shownColumns:l.value,clearAll:w})],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(u)("vxe-wrapper"))},[(e.openBlock(),e.createBlock(e.unref(x.VxeTable),e.mergeProps(e.unref(R.toVxeProps)(r),{ref_key:"tableRef",ref:d,key:e.unref(j),data:e.unref(i).records,"sort-config":{remote:N.value.length>0},"filter-config":{remote:q.value.length>0},loading:ee.value,style:{"--vxe-ui-table-row-checkbox-checked-background-color":e.unref(s).controlItemBgActive,"--vxe-ui-table-row-hover-checkbox-checked-background-color":e.unref(s).controlItemBgActiveHover,"--vxe-ui-font-primary-color":e.unref(s).colorPrimary,"--vxe-ui-table-header-background-color":"var(--ap-table-header-bg)","--vxe-ui-table-cell-padding-default":"12px","--vxe-ui-table-cell-padding-medium":"9px","--vxe-ui-table-row-radio-checked-background-color":e.unref(s).controlItemBgActive,"--vxe-ui-table-row-hover-radio-checked-background-color":e.unref(s).controlItemBgActiveHover,"--vxe-ui-font-color":e.unref(s).colorTextBase,"--vxe-ui-table-border-color":e.unref(s).colorBorderSecondary,"--vxe-ui-table-header-font-color":e.unref(s).colorTextBase},size:m.value,onSortChange:e.unref(J),onFilterChange:e.unref(Q),onCheckboxChange:b,onCheckboxRangeChange:b,onCheckboxAll:b,onRadioChange:ae}),e.createSlots({empty:e.withCtx(()=>[e.createVNode(e.unref(k.Empty),{image:e.unref(k.Empty).PRESENTED_IMAGE_SIMPLE},null,8,["image"])]),default:e.withCtx(()=>[r.expandable?(e.openBlock(),e.createBlock(e.unref(x.VxeColumn),e.mergeProps({key:0},e.unref(R.getRowExpandProps)(o.expandable),{fixed:Z.value}),{content:e.withCtx(n=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.expandable.renderContent(n))))]),_:1},16,["fixed"])):e.createCommentVNode("",!0),r.rowSelection?(e.openBlock(),e.createBlock(e.unref(x.VxeColumn),e.mergeProps({key:1},e.unref(R.getRowSelectionProps)(e.unref(v),l.value),{field:e.unref(B.ROW_SELECTION_FIELD)}),null,16,["field"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(K),n=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n),{key:n.props.colId}))),128))]),_:2},[e.renderList(e.unref(p.omit)(E,["searchFormExtra"]),(n,t)=>({name:t,fn:e.withCtx(c=>[e.renderSlot(o.$slots,t,e.normalizeProps(e.guardReactiveProps(c||{})))])}))]),1040,["data","sort-config","filter-config","loading","style","size","onSortChange","onFilterChange"]))],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(u)("pagination-wrapper"))},[o.sticky?(e.openBlock(),e.createBlock(e.unref(ye.default),{key:0,direction:"horizontal","scroll-container":M.value,"extra-size":-4.2},null,8,["scroll-container"])):e.createCommentVNode("",!0),o.pagination!==!1?(e.openBlock(),e.createBlock(e.unref(k.Pagination),e.mergeProps({key:1,class:e.unref(u)("pagination")},e.unref(T).pagination,{onChange:e.unref(Y)}),null,16,["class","onChange"])):e.createCommentVNode("",!0)],2)],6)],6))}});exports.default=Se;
@@ -298,4 +298,9 @@ export type ApGridExpose<SearchParamsType = Recordable, RecordType = any> = {
298
298
  * @returns
299
299
  */
300
300
  scrollToRow: (index: number, fieldOrColumn?: any) => Promise<any>;
301
+ /**
302
+ * 获取当前表格数据
303
+ * @returns
304
+ */
305
+ getDataSource: () => RecordType[];
301
306
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("lodash-unified"),c=20,h=50;function b(e){var i;const t={...n.omit(e,["columns","request","searchForm","dataSource","rowKey","value"])};if(e.adaptive&&(t.autoResize=!0,t.height="100%"),e.columnResizable&&(t.columnConfig?t.columnConfig.resizable=!0:t.columnConfig={resizable:!0}),e.rowSelection){const o=e.rowSelection===!0?{}:e.rowSelection;o.type==="radio"?t.radioConfig={highlight:!0,checkMethod({row:r}){return o.disabled?!o.disabled(r):!0},visibleMethod({row:r}){return o.shown?o.shown(r):!0},checkRowKey:(i=o.defaultSelectedRowKeys)==null?void 0:i[0],reserve:n.isUndefined(o.preserveSelectedRowKeys)?!0:o.preserveSelectedRowKeys}:t.checkboxConfig={highlight:!0,checkMethod({row:r}){return o.disabled?!o.disabled(r):!0},visibleMethod({row:r}){return o.shown?o.shown(r):!0},checkRowKeys:o.defaultSelectedRowKeys,reserve:n.isUndefined(o.preserveSelectedRowKeys)?!0:o.preserveSelectedRowKeys,range:o.range||!1}}return t.border=e.bordered===!1?"inner":!0,e.expandable&&(t.expandConfig=n.omit(e.expandable,["renderContent","width","title"])),e.footer&&(t.showFooter=!0,n.isFunction(e.footer)?t.footerMethod=e.footer:t.footerData=e.footer),e.virtual===!1?(t.virtualXConfig={enabled:!1},t.virtualYConfig={enabled:!1}):(u(t,"X",e.virtual),u(t,"Y",e.virtual)),t.round=!0,t}function u(e,t,i){const o=t==="X",r=o?"x":"y",s=o?"virtualXConfig":"virtualYConfig",d=i==null?void 0:i[r],a=d!==!1,l=o?c:h,f=n.isNumber(d)&&d>=0?d:l;e[s]={enabled:a,gt:f,oSize:(i==null?void 0:i.oSize)||0}}function w(e){return e===!0?"left":e}function y(e,t){const i=e===!0||!e.type?"checkbox":e.type,o=e===!0?60:e.columnWidth||60;let r=e===!0?void 0:w(e.fixed);return r||(r===!1?r=void 0:r=t.some(s=>s.fixed==="left"||s.fixed===!0)?"left":void 0),{type:i,width:o,fixed:r}}function R(e){const t=(e==null?void 0:e.width)||"auto";return{type:"expand",title:e==null?void 0:e.title,width:t}}exports.getRowExpandProps=R;exports.getRowSelectionProps=y;exports.toVxeProps=b;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("lodash-unified"),c=20,h=50;function w(e){var i;const t={...n.omit(e,["columns","request","searchForm","dataSource","rowKey","value"])};if(e.adaptive&&(t.autoResize=!0,t.height="100%"),e.columnResizable&&(t.columnConfig?t.columnConfig.resizable=!0:t.columnConfig={resizable:!0}),e.rowSelection){const o=e.rowSelection===!0?{}:e.rowSelection;o.type==="radio"?t.radioConfig={highlight:!0,checkMethod({row:r}){return o.disabled?!o.disabled(r):!0},visibleMethod({row:r}){return o.shown?o.shown(r):!0},checkRowKey:(i=o.defaultSelectedRowKeys)==null?void 0:i[0],reserve:n.isUndefined(o.preserveSelectedRowKeys)?!0:o.preserveSelectedRowKeys}:t.checkboxConfig={highlight:!0,checkMethod({row:r}){return o.disabled?!o.disabled(r):!0},visibleMethod({row:r}){return o.shown?o.shown(r):!0},checkRowKeys:o.defaultSelectedRowKeys,reserve:n.isUndefined(o.preserveSelectedRowKeys)?!0:o.preserveSelectedRowKeys,range:o.range||!1}}return t.border=e.bordered===!1?"inner":!0,e.expandable&&(t.expandConfig=n.omit(e.expandable,["renderContent","width","title"])),e.footer&&(t.showFooter=!0,n.isFunction(e.footer)?t.footerMethod=e.footer:t.footerData=e.footer),e.virtual===!1?(t.virtualXConfig={enabled:!1},t.virtualYConfig={enabled:!1}):(u(t,"X",e.virtual),u(t,"Y",e.virtual)),t.rowConfig={isHover:!0,keyField:e.rowKey},t.round=!0,t}function u(e,t,i){const o=t==="X",r=o?"x":"y",s=o?"virtualXConfig":"virtualYConfig",d=i==null?void 0:i[r],a=d!==!1,l=o?c:h,f=n.isNumber(d)&&d>=0?d:l;e[s]={enabled:a,gt:f,oSize:(i==null?void 0:i.oSize)||0}}function b(e){return e===!0?"left":e}function y(e,t){const i=e===!0||!e.type?"checkbox":e.type,o=e===!0?60:e.columnWidth||60;let r=e===!0?void 0:b(e.fixed);return r||(r===!1?r=void 0:r=t.some(s=>s.fixed==="left"||s.fixed===!0)?"left":void 0),{type:i,width:o,fixed:r}}function R(e){const t=(e==null?void 0:e.width)||"auto";return{type:"expand",title:e==null?void 0:e.title,width:t}}exports.getRowExpandProps=R;exports.getRowSelectionProps=y;exports.toVxeProps=w;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),s=require("@aplus-frontend/antdv"),R=require("../ap-table/hooks/use-table-paging-ng.js");require("../config-provider/index.js");const c=require("lodash-unified"),$=require("./hooks/use-offline-list.js");require("vue-virtual-scroller/dist/vue-virtual-scroller.css");const m=require("vue-virtual-scroller"),j=require("../config-provider/hooks/use-namespace.js"),A=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:{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:{}},setup(b,{expose:C}){const z=s.Empty.PRESENTED_IMAGE_SIMPLE,r=b,{b:i,e:w}=j.useNamespace("ap-list"),g=e.ref(),{formRef:p,submit:S,reset:y,handleTableChange:q,data:f,refresh:P,refreshByDelete:D,tableProps:h}=R.useTablePaging({async request(t){var a;const n=await((a=r.request)==null?void 0:a.call(r,t));return{data:(n==null?void 0:n.data)||[],total:(n==null?void 0:n.total)||0}},defaultParams:r.params,defaultData:r.defaultData,manual:r.manual,pagination:r.pagination,formatParams:r.beforeSearchSubmit}),E={form:p},{pagination:v,dataSource:N,onChange:V}=$.useOfflineList(r);function I(t,n){if(e.unref(u)){V(t,n);return}q({current:t,pageSize:n},{},{},{currentDataSource:[],action:"paginate"})}const l=e.computed(()=>e.unref(u)?e.unref(N):e.unref(f).records),d=e.computed(()=>c.isUndefined(r.loading)?e.unref(f).loading:r.loading),O=e.computed(()=>{var t,n;return r.pagination===!1||r.virtual?!1:((t=r.pagination)==null?void 0:t.hideOnSinglePage)!==!0?!0:e.unref(u)?(((n=r.dataSource)==null?void 0:n.length)||0)>e.unref(v).pageSize:e.unref(f).total>e.unref(h).pagination.pageSize}),u=e.computed(()=>!c.isUndefined(r.dataSource));e.watch(()=>e.unref(d),t=>{var n;(n=r.onLoadingChange)==null||n.call(r,t)});function T(t){var n,a;(a=(n=g.value)==null?void 0:n.querySelector(t||":first-child"))==null||a.scrollIntoView({behavior:"smooth",block:"center"})}function F(t=!1){var o;const n=(o=p.value)==null?void 0:o.apForm,a=t?n==null?void 0:n.getFieldsValueTransformed:n==null?void 0:n.getFieldsValue;return(a==null?void 0:a())||{}}return C({submit:()=>S(),reset:()=>y(),refresh:()=>P(),refreshByDelete:t=>D(t),scrollToFirstRow:T,getSearchFormValuesIfSetted:F}),(t,n)=>(e.openBlock(),e.createBlock(e.unref(s.Spin),{spinning:d.value,class:e.normalizeClass(e.unref(i)("spin"))},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(i)()),style:e.normalizeStyle(t.containerStyle)},[e.renderSlot(t.$slots,"header",{formIns:E,submit:e.unref(S),reset:e.unref(y)}),l.value.length===0?e.renderSlot(t.$slots,"empty",{key:0,loading:d.value},()=>[e.createVNode(e.unref(s.Empty),{image:e.unref(z)},null,8,["image"])]):(e.openBlock(),e.createElementBlock("div",{key:1,ref_key:"contentRef",ref:g,style:e.normalizeStyle(t.contentStyle)},[t.virtual?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.unref(c.isNumber)(t.virtual)?(e.openBlock(),e.createBlock(e.unref(m.RecycleScroller),{key:0,class:e.normalizeClass(e.unref(i)("scroll-wrapper")),items:l.value,"item-size":t.virtual,"key-field":r.rowKey||"id"},{default:e.withCtx(({item:a,index:o})=>[e.renderSlot(t.$slots,"renderItem",{item:a,index:o})]),_:3},8,["class","items","item-size","key-field"])):(e.openBlock(),e.createBlock(e.unref(m.DynamicScroller),{key:1,items:l.value,"min-item-size":t.virtual.minItemSize,class:e.normalizeClass(e.unref(i)("scroll-wrapper"))},{default:e.withCtx(({item:a,index:o,active:L})=>{var k,B;return[e.createVNode(e.unref(m.DynamicScrollerItem),{item:a,active:L,"data-index":o,"size-dependencies":(B=(k=t.virtual).sizeDependencies)==null?void 0:B.call(k,a)},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"renderItem",{item:a,index:o})]),_:2},1032,["item","active","data-index","size-dependencies"])]}),_:3},8,["items","min-item-size","class"]))],64)):e.renderSlot(t.$slots,"renderContent",{key:1,dataSource:l.value},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(a,o)=>e.renderSlot(t.$slots,"renderItem",{item:a,index:o})),256))])],4)),O.value?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(e.unref(w)("footer")),style:e.normalizeStyle(t.footerWarpperStyle)},[e.createVNode(e.unref(s.Pagination),e.mergeProps(u.value?e.unref(v):e.unref(c.omit)(e.unref(h).pagination,["showTotal"]),{onChange:I}),null,16)],6)):e.createCommentVNode("",!0)],6)]),_:3},8,["spinning","class"]))}});exports.default=A;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),c=require("@aplus-frontend/antdv"),j=require("../ap-table/hooks/use-table-paging-ng.js");require("../config-provider/index.js");const d=require("lodash-unified"),A=require("./hooks/use-offline-list.js");require("vue-virtual-scroller/dist/vue-virtual-scroller.css");const p=require("vue-virtual-scroller"),M=require("../config-provider/hooks/use-namespace.js"),U=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:{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(C,{expose:z}){const w=c.Empty.PRESENTED_IMAGE_SIMPLE,a=C,{b:u,e:f,bm:E,m:q}=M.useNamespace("ap-list"),g=e.ref(),{formRef:y,submit:S,reset:v,handleTableChange:P,data:m,refresh:D,refreshByDelete:N,tableProps:h}=j.useTablePaging({async request(n){var r;const t=await((r=a.request)==null?void 0:r.call(a,n));return{data:(t==null?void 0:t.data)||[],total:(t==null?void 0:t.total)||0}},defaultParams:a.params,defaultData:a.defaultData,manual:a.manual,pagination:a.pagination,formatParams:a.beforeSearchSubmit}),V={form:y},{pagination:k,dataSource:I,onChange:O}=A.useOfflineList(a);function T(n,t){if(e.unref(s)){O(n,t);return}P({current:n,pageSize:t},{},{},{currentDataSource:[],action:"paginate"})}const l=e.computed(()=>e.unref(s)?e.unref(I):e.unref(m).records),i=e.computed(()=>d.isUndefined(a.loading)?e.unref(m).loading:a.loading),F=e.computed(()=>{var n,t;return a.pagination===!1||a.virtual?!1:((n=a.pagination)==null?void 0:n.hideOnSinglePage)!==!0?!0:e.unref(s)?(((t=a.dataSource)==null?void 0:t.length)||0)>e.unref(k).pageSize:e.unref(m).total>e.unref(h).pagination.pageSize}),s=e.computed(()=>!d.isUndefined(a.dataSource));e.watch(()=>e.unref(i),n=>{var t;(t=a.onLoadingChange)==null||t.call(a,n)});function L(n){var t,r;(r=(t=g.value)==null?void 0:t.querySelector(n||":first-child"))==null||r.scrollIntoView({behavior:"smooth",block:"center"})}function R(n=!1){var o;const t=(o=y.value)==null?void 0:o.apForm,r=n?t==null?void 0:t.getFieldsValueTransformed:t==null?void 0:t.getFieldsValue;return(r==null?void 0:r())||{}}return z({submit:()=>S(),reset:()=>v(),refresh:()=>D(),refreshByDelete:n=>N(n),scrollToFirstRow:L,getSearchFormValuesIfSetted:R}),(n,t)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(u)(),{[e.unref(q)("adaptive")]:n.adaptive}]),style:e.normalizeStyle(n.containerStyle)},[e.renderSlot(n.$slots,"header",{formIns:V,submit:e.unref(S),reset:e.unref(v)}),e.createElementVNode("div",{class:e.normalizeClass([e.unref(u)("content-container"),{[e.unref(E)("content-container","spinning")]:i.value}])},[i.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(f)("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(w)},null,8,["image"])]):(e.openBlock(),e.createElementBlock("div",{key:2,ref_key:"contentRef",ref:g,style:e.normalizeStyle(n.contentStyle),class:e.normalizeClass(e.unref(f)("content"))},[n.virtual?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.unref(d.isNumber)(n.virtual)?(e.openBlock(),e.createBlock(e.unref(p.RecycleScroller),{key:0,class:e.normalizeClass(e.unref(u)("scroll-wrapper")),items:l.value,"item-size":n.virtual,"key-field":a.rowKey||"id"},{default:e.withCtx(({item:r,index:o})=>[e.renderSlot(n.$slots,"renderItem",{item:r,index:o})]),_:3},8,["class","items","item-size","key-field"])):(e.openBlock(),e.createBlock(e.unref(p.DynamicScroller),{key:1,items:l.value,"min-item-size":n.virtual.minItemSize,class:e.normalizeClass(e.unref(u)("scroll-wrapper"))},{default:e.withCtx(({item:r,index:o,active:$})=>{var B,b;return[e.createVNode(e.unref(p.DynamicScrollerItem),{item:r,active:$,"data-index":o,"size-dependencies":(b=(B=n.virtual).sizeDependencies)==null?void 0:b.call(B,r)},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"renderItem",{item:r,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,(r,o)=>e.renderSlot(n.$slots,"renderItem",{item:r,index:o})),256))])],6))],2),F.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(f)("footer")),style:e.normalizeStyle(n.footerWarpperStyle)},[e.createVNode(e.unref(c.Pagination),e.mergeProps(s.value?e.unref(k):e.unref(d.omit)(e.unref(h).pagination,["showTotal"]),{onChange:T}),null,16)],6)):e.createCommentVNode("",!0)],6))}});exports.default=U;
@@ -86,6 +86,10 @@ export type ApListProps<RecordType = any, ParamsType = Recordable> = {
86
86
  * @default "id"
87
87
  */
88
88
  rowKey?: string;
89
+ /**
90
+ * 是否自适应外部容器高度(无数据时充满容器、数据超出时内部滚动)
91
+ */
92
+ adaptive?: boolean;
89
93
  };
90
94
  export type ApListExpose = {
91
95
  /**
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),re=require("./use-sorted-filtered.js");require("../../config-provider/index.js");const A=require("../utils.js"),E=require("lodash-unified"),_=require("../../utils/index.js"),ae=require("../../config-provider/hooks/use-locale.js"),oe=require("../../config-provider/hooks/use-namespace.js"),p=1,b=10,I={defaultCurrent:p,defaultPageSize:b,showLessItems:!1,showTotal:!0};function se(i){return i===!1?{}:i==null||i===!0?I:{...I,...i}}function ie(i){const d={};return i===!1||(i===!0||i==null?(d.current=p,d.pageSize=b):(d.current=i.defaultCurrent||p,d.pageSize=i.defaultPageSize||b)),d}const ce=({manual:i=!1,request:d,defaultParams:D={},defaultData:L=[],formatParams:v,paramsValueTypeMap:y,resetFieldsIgnores:N,filterFields:j,sortFields:M,namespace:B="ap-table",pagination:m})=>{let q=0,c={};const G=se(m),J=e=>v?v(e):e,T=a.ref(),u=a.reactive(ie(m)),{getColumnSFConfig:K,setSF:Q,clearAll:Z,sortedInfo:$,filteredInfo:W}=re.useTableSortedAndFiltered(),{t:z}=ae.useLocale(),{b:P}=oe.useNamespace(B),s=a.reactive({total:L.length,records:L,loading:!1}),F=()=>{var e,t;return((t=(e=T.value)==null?void 0:e.apForm)==null?void 0:t.getFieldsValueTransformed(!0))||{}},R=async e=>{var r;const t=J(e),n=Date.now();q=n,s.loading=!0;try{const o=await d({...a.unref(D),...t});q===n&&(s.total=o.total||((r=o.data)==null?void 0:r.length)||0,s.records=[...o.data||[]])}catch{q===n&&(s.records=[],s.total=0)}finally{s.loading=!1}},U=e=>{const t={};return Object.entries(e).forEach(([n,r])=>{if(t[n]=r,y&&r){const o=y[n];o&&(t[n]=A.parseFieldValue(o,r))}}),t},H=async e=>{var r,o,f,g,S;const t=F(),n={};Object.entries(t).forEach(([h,w])=>{N&&N.indexOf(h)>-1&&(n[h]=w)}),await((o=(r=T.value)==null?void 0:r.apForm)==null?void 0:o.resetFields()),(S=(g=(f=T.value)==null?void 0:f.apForm)==null?void 0:g.setFieldsValue)==null||S.call(g,n),a.nextTick(()=>{e==null||e()})},C=e=>{c=e;const t=U(e);R(t)},X=e=>{C({...c,...e})},x=()=>{const e=F(),t=m!==!1;t&&(u.current=p),C({...e,filter:c.filter,sort:c.sort,current:t?p:void 0,pageSize:t?c.pageSize||u.pageSize:void 0})},Y=()=>{Z(),c.sort={},c.filter={},H(x)},V=()=>{C(c)},k=e=>{if(m===!1)V();else{const{current:t,pageSize:n}=u,r=s.total-e,o=Math.ceil(r/n),f=t>o?o:t;X({current:f>0?f:1})}},O=(e,t,n)=>{var h,w;const r=F();u.current=e.current,u.pageSize=e.pageSize,Q(t,n);const o=E.isArray(n)?[...n]:[n],f={};for(const l of o)(h=a.unref(M))!=null&&h.includes(l.columnKey||l.field)&&l.order&&(f[A.dataIndexToStr(l.columnKey||l.field)]=l.order);const g={};for(const l of Object.keys(t))(w=a.unref(j))!=null&&w.includes(l)&&t[l]&&(g[l]=t[l]);const S={...r,filter:g,sort:f,current:e.current,pageSize:e.pageSize};E.isEqualWith(c,S,A.isEqualCustom)||C(S)};a.onMounted(()=>{const e=F(),{current:t,pageSize:n}=u;if(c={current:t,pageSize:n,filter:{},sort:{},...e},!i){const r=U(c);R(r)}}),a.watch(()=>a.unref(D),()=>{x()},{deep:!0});const ee=a.computed(()=>{if(s.total===0)return"-";const{current:e,pageSize:t}=u;return`${e}/${Math.ceil(s.total/t)}`});function te(e){E.isArray(e)&&(s.records=e,s.total=e.length)}const ne=a.computed(()=>{const{showLessItems:e,showTotal:t,showQuickJumper:n,showSizeChanger:r,pageSizeOptions:o}=G;return{loading:s.loading,pagination:{current:u.current,pageSize:u.pageSize,total:s.total,showSizeChanger:_.isDef(r)?r:!e,showQuickJumper:_.isDef(n)?n:!e,showLessItems:e,size:"default",pageSizeOptions:E.isUndefined(o)?["10","20","50","100"]:o,showTotal:t?f=>a.createVNode("span",{class:P("pagination-total-wrapper")},[z("ap.apTable.pagination.totalLeftPrefix")," ",a.createVNode("span",{class:P("pagination-count-text")},[f])," ",z("ap.apTable.pagination.totalLeftSuffix"),a.createVNode("span",{class:P("pagination--total-right")},[z("ap.apTable.pagination.totalRightPrefix")," ",a.createVNode("span",{class:P("pagination-count-text")},[a.unref(ee)])," ",z("ap.apTable.pagination.totalRightSuffix")])]):void 0},onChange:O,dataSource:s.records}});return{formRef:T,submit:x,reset:Y,refresh:V,refreshByDelete:k,data:s,current:u.current,pageSize:u.pageSize,handleTableChange:O,tableProps:ne,dataSource:a.computed(()=>s.records),setDataSource:te,getColumnSFConfig:K,sortedInfo:$,filteredInfo:W}};exports.DEFAULT_CURRENT=p;exports.DEFAULT_PAGE_SIZE=b;exports.useTablePaging=ce;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),re=require("./use-sorted-filtered.js");require("../../config-provider/index.js");const A=require("../utils.js"),E=require("lodash-unified"),_=require("../../utils/index.js"),ae=require("../../config-provider/hooks/use-locale.js"),oe=require("../../config-provider/hooks/use-namespace.js"),p=1,b=10,I={defaultCurrent:p,defaultPageSize:b,showLessItems:!1,showTotal:!0};function se(i){return i===!1?{}:i==null||i===!0?I:{...I,...i}}function ie(i){const d={};return i===!1||(i===!0||i==null?(d.current=p,d.pageSize=b):(d.current=i.defaultCurrent||p,d.pageSize=i.defaultPageSize||b)),d}const ce=({manual:i=!1,request:d,defaultParams:D={},defaultData:L=[],formatParams:v,paramsValueTypeMap:y,resetFieldsIgnores:N,filterFields:j,sortFields:M,namespace:B="ap-table",pagination:m})=>{let q=0,c={};const G=se(m),J=e=>v?v(e):e,T=a.ref(),u=a.reactive(ie(m)),{getColumnSFConfig:K,setSF:Q,clearAll:Z,sortedInfo:$,filteredInfo:W}=re.useTableSortedAndFiltered(),{t:z}=ae.useLocale(),{b:P}=oe.useNamespace(B),o=a.reactive({total:L.length,records:L,loading:!1}),F=()=>{var e,t;return((t=(e=T.value)==null?void 0:e.apForm)==null?void 0:t.getFieldsValueTransformed(!0))||{}},R=async e=>{var r;const t=J(e),n=Date.now();q=n,o.loading=!0;try{const s=await d({...a.unref(D),...t});q===n&&(o.total=s.total||((r=s.data)==null?void 0:r.length)||0,o.records=[...s.data||[]],o.loading=!1)}catch{q===n&&(o.records=[],o.total=0,o.loading=!1)}},U=e=>{const t={};return Object.entries(e).forEach(([n,r])=>{if(t[n]=r,y&&r){const s=y[n];s&&(t[n]=A.parseFieldValue(s,r))}}),t},H=async e=>{var r,s,f,g,S;const t=F(),n={};Object.entries(t).forEach(([h,w])=>{N&&N.indexOf(h)>-1&&(n[h]=w)}),await((s=(r=T.value)==null?void 0:r.apForm)==null?void 0:s.resetFields()),(S=(g=(f=T.value)==null?void 0:f.apForm)==null?void 0:g.setFieldsValue)==null||S.call(g,n),a.nextTick(()=>{e==null||e()})},C=e=>{c=e;const t=U(e);R(t)},X=e=>{C({...c,...e})},x=()=>{const e=F(),t=m!==!1;t&&(u.current=p),C({...e,filter:c.filter,sort:c.sort,current:t?p:void 0,pageSize:t?c.pageSize||u.pageSize:void 0})},Y=()=>{Z(),c.sort={},c.filter={},H(x)},V=()=>{C(c)},k=e=>{if(m===!1)V();else{const{current:t,pageSize:n}=u,r=o.total-e,s=Math.ceil(r/n),f=t>s?s:t;X({current:f>0?f:1})}},O=(e,t,n)=>{var h,w;const r=F();u.current=e.current,u.pageSize=e.pageSize,Q(t,n);const s=E.isArray(n)?[...n]:[n],f={};for(const l of s)(h=a.unref(M))!=null&&h.includes(l.columnKey||l.field)&&l.order&&(f[A.dataIndexToStr(l.columnKey||l.field)]=l.order);const g={};for(const l of Object.keys(t))(w=a.unref(j))!=null&&w.includes(l)&&t[l]&&(g[l]=t[l]);const S={...r,filter:g,sort:f,current:e.current,pageSize:e.pageSize};E.isEqualWith(c,S,A.isEqualCustom)||C(S)};a.onMounted(()=>{const e=F(),{current:t,pageSize:n}=u;if(c={current:t,pageSize:n,filter:{},sort:{},...e},!i){const r=U(c);R(r)}}),a.watch(()=>a.unref(D),()=>{x()},{deep:!0});const ee=a.computed(()=>{if(o.total===0)return"-";const{current:e,pageSize:t}=u;return`${e}/${Math.ceil(o.total/t)}`});function te(e){E.isArray(e)&&(o.records=e,o.total=e.length)}const ne=a.computed(()=>{const{showLessItems:e,showTotal:t,showQuickJumper:n,showSizeChanger:r,pageSizeOptions:s}=G;return{loading:o.loading,pagination:{current:u.current,pageSize:u.pageSize,total:o.total,showSizeChanger:_.isDef(r)?r:!e,showQuickJumper:_.isDef(n)?n:!e,showLessItems:e,size:"default",pageSizeOptions:E.isUndefined(s)?["10","20","50","100"]:s,showTotal:t?f=>a.createVNode("span",{class:P("pagination-total-wrapper")},[z("ap.apTable.pagination.totalLeftPrefix")," ",a.createVNode("span",{class:P("pagination-count-text")},[f])," ",z("ap.apTable.pagination.totalLeftSuffix"),a.createVNode("span",{class:P("pagination--total-right")},[z("ap.apTable.pagination.totalRightPrefix")," ",a.createVNode("span",{class:P("pagination-count-text")},[a.unref(ee)])," ",z("ap.apTable.pagination.totalRightSuffix")])]):void 0},onChange:O,dataSource:o.records}});return{formRef:T,submit:x,reset:Y,refresh:V,refreshByDelete:k,data:o,current:u.current,pageSize:u.pageSize,handleTableChange:O,tableProps:ne,dataSource:a.computed(()=>o.records),setDataSource:te,getColumnSFConfig:K,sortedInfo:$,filteredInfo:W}};exports.DEFAULT_CURRENT=p;exports.DEFAULT_PAGE_SIZE=b;exports.useTablePaging=ce;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("vue"),O=require("@aplus-frontend/antdv"),x=require("../ap-form/index.js"),d=require("lodash-unified");require("../config-provider/index.js");require("../hooks/index.js");const v=require("../utils/index.js"),z=require("./utils.js"),U=require("./hooks/use-get-columns.js"),G=require("../config-provider/hooks/use-namespace.js"),K=require("../hooks/useControllableValue.js"),$=require("../config-provider/hooks/use-global-config.js"),H=n.defineComponent({name:"EditableTable",__name:"index",props:{dropdownPrefixCls:{},pagination:{type:[Boolean,Object],default:!1},loading:{type:[Boolean,Object],default:void 0},size:{default:"middle"},bordered:{type:Boolean,default:!1},locale:{},onResizeColumn:{},rowSelection:{},getPopupContainer:{},scroll:{},sortDirections:{default:()=>["ascend","descend"]},showSorterTooltip:{type:[Boolean,Object],default:!0},prefixCls:{},rowKey:{default:"key"},tableLayout:{default:"fixed"},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:{},value:{},defaultValue:{},"onUpdate:value":{},onChange:{},maxLength:{},name:{default:"ap-editable-table-inner-name"},onFieldChange:{}},emits:["update:value"],setup(w,{expose:C,emit:b}){const l=w,{b:y}=G.useNamespace("editable-table"),R=n.useSlots(),F=b,g=n.ref(),{value:p,updateValue:q}=K.useControllableValue(l,F),i=n.ref(),B=$.useGlobalConfig("valueTypeMap"),h=x.ApForm.useWatch(l.name,i);n.watch(()=>h.value,e=>{var t;q(e),(t=l.onChange)==null||t.call(l,e)},{deep:!0,flush:"post"}),n.watch(p,e=>{var t;e!==n.unref(h)&&(d.isEqual(e,n.unref(h))||(t=i.value)==null||t.setFieldValue(l.name,e))},{deep:!0});const V=U.default(l,B);function N(){var e;(e=i.value)==null||e.resetFields()}function T(e){return e?(d.isArray(e)?e:[e]).map(o=>d.isArray(o)?[l.name,...o]:[l.name,o]):void 0}async function _(e,t){var a;const o=await((a=i.value)==null?void 0:a.validateFields(T(e),t));return o==null?void 0:o[l.name]}function S(e,t){var u,r,s;const o=((u=n.unref(p))==null?void 0:u.length)||0;if(v.isDef(l.maxLength)&&o>=l.maxLength)return;const a={...e||{}};(s=(r=i.value)==null?void 0:r.setFieldValue)==null||s.call(r,l.name,a,!0,(f,c)=>{if(!f[c]){f[c]=[a];return}d.isUndefined(t)?f[c].push(a):f[c].splice(t,0,a)})}function A(e,t="suffix"){var r,s,f;const o=((r=n.unref(p))==null?void 0:r.length)||0,a=d.isNumber(e)?e:e.length;if(v.isDef(l.maxLength)&&o+a>l.maxLength)return;const u=d.isNumber(e)?new Array(e).fill({}):d.cloneDeep(e);(f=(s=i.value)==null?void 0:s.setFieldValue)==null||f.call(s,l.name,u,!0,(c,m)=>{if(!c[m]){c[m]=[...u];return}t==="suffix"?c[m].push(...u):c[m].unshift(...u)})}function D(e){var o,a;const t=new Set(d.isNumber(e)?[e]:e);(a=(o=i.value)==null?void 0:o.setFieldValue)==null||a.call(o,l.name,void 0,!0,(u,r)=>{u[r]=u[r].filter((s,f)=>!t.has(f))})}function L(){return n.unref(p)}function E(e){var t;(t=i.value)==null||t.setFieldValue(l.name,e)}function k(e){var t;return(t=n.unref(p))==null?void 0:t[e]}function P(e,t,o=!0){var a,u;(u=(a=i.value)==null?void 0:a.setFieldValue)==null||u.call(a,l.name,void 0,!0,(r,s)=>{!r[s]||!r[s][e]||(r[s][e]={...o?r[s][e]:{},...t})})}function j(e,t){var a;const o=e==="end"?p.value.length-1:e;z.scrollToRowIndex(o,(a=g.value)==null?void 0:a.$el,t)}function I(){var e,t;(t=(e=i.value)==null?void 0:e.setFieldValue)==null||t.call(e,l.name,[])}return C({resetFields:N,validateFields:_,add:S,remove:D,getRowData:k,getRowsData:L,setRowData:P,addMultiple:A,scrollTo:j,clear:I,setTableData:E}),(e,t)=>(n.openBlock(),n.createBlock(n.unref(x.ApForm),{ref_key:"formRef",ref:i,"initial-values":{[l.name]:n.unref(p)}},{default:n.withCtx(()=>[n.createVNode(n.unref(x.ApForm).FormItem,{name:e.name,"no-style":""},{default:n.withCtx(()=>[n.createVNode(n.unref(O.Table),n.mergeProps(n.unref(d.omit)(l,["name","value","onUpdate:value","maxLength","onChange"]),{ref_key:"tableRef",ref:g,class:n.unref(y)(),columns:n.unref(V),"data-source":n.unref(p)}),n.createSlots({_:2},[n.renderList(n.unref(d.omit)(R,["headerCell"]),(o,a)=>({name:a,fn:n.withCtx(u=>[n.renderSlot(e.$slots,a,n.normalizeProps(n.guardReactiveProps(u||{})))])}))]),1040,["class","columns","data-source"])]),_:3},8,["name"])]),_:3},8,["initial-values"]))}});exports.default=H;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("vue"),O=require("@aplus-frontend/antdv"),x=require("../ap-form/index.js"),d=require("lodash-unified");require("../config-provider/index.js");require("../hooks/index.js");const v=require("../utils/index.js"),z=require("./utils.js"),U=require("./hooks/use-get-columns.js"),G=require("../config-provider/hooks/use-namespace.js"),K=require("../hooks/useControllableValue.js"),$=require("../config-provider/hooks/use-global-config.js"),H=n.defineComponent({name:"EditableTable",__name:"index",props:{dropdownPrefixCls:{},pagination:{type:[Boolean,Object],default:!1},loading:{type:[Boolean,Object],default:void 0},size:{default:"middle"},bordered:{type:Boolean,default:!1},locale:{},onResizeColumn:{},rowSelection:{},getPopupContainer:{},scroll:{},sortDirections:{default:()=>["ascend","descend"]},showSorterTooltip:{type:[Boolean,Object],default:!0},prefixCls:{},rowKey:{default:"key"},tableLayout:{default:"fixed"},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:{},value:{},defaultValue:{},"onUpdate:value":{},onChange:{},maxLength:{},name:{default:"ap-editable-table-inner-name"},onFieldChange:{}},emits:["update:value"],setup(w,{expose:C,emit:b}){const l=w,{b:y}=G.useNamespace("editable-table"),R=n.useSlots(),F=b,g=n.ref(),{value:p,updateValue:q}=K.useControllableValue(l,F),i=n.ref(),B=$.useGlobalConfig("valueTypeMap"),h=x.ApForm.useWatch(l.name,i);n.watch(()=>h.value,e=>{var t;q(e),(t=l.onChange)==null||t.call(l,e)},{deep:!0,flush:"post"}),n.watch(p,e=>{var t;e!==n.unref(h)&&(d.isEqual(e,n.unref(h))||(t=i.value)==null||t.setFieldValue(l.name,e))},{deep:!0});const V=U.default(l,B);function N(){var e;(e=i.value)==null||e.resetFields()}function T(e){return e?(d.isArray(e)?e:[e]).map(o=>d.isArray(o)?[l.name,...o]:[l.name,o]):void 0}async function _(e,t){var a;const o=await((a=i.value)==null?void 0:a.validateFields(T(e),t));return o==null?void 0:o[l.name]}function S(e,t){var u,r,s;const o=((u=n.unref(p))==null?void 0:u.length)||0;if(v.isDef(l.maxLength)&&o>=l.maxLength)return;const a={...e||{}};(s=(r=i.value)==null?void 0:r.setFieldValue)==null||s.call(r,l.name,a,!0,(f,c)=>{if(!f[c]){f[c]=[a];return}d.isUndefined(t)?f[c].push(a):f[c].splice(t,0,a)})}function A(e,t="suffix"){var r,s,f;const o=((r=n.unref(p))==null?void 0:r.length)||0,a=d.isNumber(e)?e:e.length;if(v.isDef(l.maxLength)&&o+a>l.maxLength)return;const u=d.isNumber(e)?new Array(e).fill(0).map(()=>({})):d.cloneDeep(e);(f=(s=i.value)==null?void 0:s.setFieldValue)==null||f.call(s,l.name,u,!0,(c,m)=>{if(!c[m]){c[m]=[...u];return}t==="suffix"?c[m].push(...u):c[m].unshift(...u)})}function D(e){var o,a;const t=new Set(d.isNumber(e)?[e]:e);(a=(o=i.value)==null?void 0:o.setFieldValue)==null||a.call(o,l.name,void 0,!0,(u,r)=>{u[r]=u[r].filter((s,f)=>!t.has(f))})}function L(){return n.unref(p)}function E(e){var t;(t=i.value)==null||t.setFieldValue(l.name,e)}function k(e){var t;return(t=n.unref(p))==null?void 0:t[e]}function P(e,t,o=!0){var a,u;(u=(a=i.value)==null?void 0:a.setFieldValue)==null||u.call(a,l.name,void 0,!0,(r,s)=>{!r[s]||!r[s][e]||(r[s][e]={...o?r[s][e]:{},...t})})}function j(e,t){var a;const o=e==="end"?p.value.length-1:e;z.scrollToRowIndex(o,(a=g.value)==null?void 0:a.$el,t)}function I(){var e,t;(t=(e=i.value)==null?void 0:e.setFieldValue)==null||t.call(e,l.name,[])}return C({resetFields:N,validateFields:_,add:S,remove:D,getRowData:k,getRowsData:L,setRowData:P,addMultiple:A,scrollTo:j,clear:I,setTableData:E}),(e,t)=>(n.openBlock(),n.createBlock(n.unref(x.ApForm),{ref_key:"formRef",ref:i,"initial-values":{[l.name]:n.unref(p)}},{default:n.withCtx(()=>[n.createVNode(n.unref(x.ApForm).FormItem,{name:e.name,"no-style":""},{default:n.withCtx(()=>[n.createVNode(n.unref(O.Table),n.mergeProps(n.unref(d.omit)(l,["name","value","onUpdate:value","maxLength","onChange"]),{ref_key:"tableRef",ref:g,class:n.unref(y)(),columns:n.unref(V),"data-source":n.unref(p)}),n.createSlots({_:2},[n.renderList(n.unref(d.omit)(R,["headerCell"]),(o,a)=>({name:a,fn:n.withCtx(u=>[n.renderSlot(e.$slots,a,n.normalizeProps(n.guardReactiveProps(u||{})))])}))]),1040,["class","columns","data-source"])]),_:3},8,["name"])]),_:3},8,["initial-values"]))}});exports.default=H;
@@ -21,6 +21,10 @@ export type EditableColumnType<RecordType = any, ExtraValueType = 'text', ValueT
21
21
  * 是否省略自动溢出,自动溢出省略,为对象时可设置省略行数、是否可展开、添加后缀等
22
22
  */
23
23
  ellipsis?: boolean | EllipsisConfig;
24
+ /**
25
+ * 是否渲染必填标记(只渲染标记不生成校验规则)
26
+ */
27
+ markRequired?: boolean;
24
28
  /**
25
29
  * 是否可编辑
26
30
  */
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),d=require("lodash-unified"),g=require("../ap-table/constants.js"),v=require("../utils/index.js"),w=require("../ap-field/number/helper.js"),C=require("scroll-into-view-if-needed"),N=require("@aplus-frontend/antdv");require("../ap-form/index.js");const I=require("../ap-table/utils.js"),P=require("@ant-design/icons-vue"),q=require("../ap-form/item/index.vue.js");function V(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!o.isVNode(e)}function h(e){return g.apTableFormItemMap[e]}function F(e){if(!e.fieldProps)return!1;const t=d.isFunction(e.fieldProps)?e.fieldProps({}):e.fieldProps;return v.isDef(t.required)?t.required:(d.isArray(t.rules)?t.rules:t.rules?[t.rules]:[]).some(l=>l.required)}function S(e,t){if(e.valueType==="text"||e.valueType==="textArea")return t||"--";if(e.valueType==="number"){const i=e.fieldProps?d.isFunction(e.fieldProps)?e.fieldProps({}):e.fieldProps:{};return w.getValueStr(t,i)||"--"}return I.objectToString(t)}function _(e,t){const i=[e];if(t){const l=d.isArray(t)?t:[t];i.unshift(...l)}return i.join(" ")}function j(e,t=document.body,i={}){const l=t.querySelectorAll("tr.ant-table-row")[e];l&&C(l,{scrollMode:"if-needed",block:"nearest",behavior:"smooth",...i})}function A(e,t,i){return g.noRenderAsFormItemValueList.includes(e.valueType)?i:e.copyable||e.ellipsis?o.createVNode(N.Typography.Paragraph,{copyable:e.copyable?{text:t,tooltip:!1}:!1,ellipsis:e.ellipsis?d.isBoolean(e.ellipsis)?{tooltip:t}:{...e.ellipsis,tooltip:t}:!1,content:e.ellipsis?S(e,t):i},null):i}function R(e,t,i,l,p,r){var T,y;if(t){if(e.customRenderFormItem){const c=e.customRenderFormItem(e,i.field,t,p);return o.createVNode(q.default,d.omit(i,["field"]),V(c)?c:{default:()=>[c]})}const s=h(e.valueType);if(s)return o.createVNode(s,i,null);const n=r==null?void 0:r[e.valueType],a=(T=n==null?void 0:n.renderFormItem)==null?void 0:T.call(n,i.field);return a?o.createVNode(q.default,i,V(a)?a:{default:()=>[a]}):null}let u;const b=I.getTableRenderType(e),f=g.apTableRenderItemMap[b];if(f)u=o.createVNode(f,o.mergeProps(i.field,{mode:"read"}),null);else{const s=r==null?void 0:r[b];u=(y=s==null?void 0:s.render)==null?void 0:y.call(s,l,p,i.field)}return u?A(e,l,u):null}function m(e,t,i,l,p){const r=l==null?void 0:l({title:e.title,column:e}),u=(r==null?void 0:r.filter(c=>c.type!==Symbol.for("v-cmt")))||[];if(r&&u.length>0)return r;const f=F(e),y=d.isString(e.title)?{class:t,title:e.title}:{},s=o.createVNode("div",y,[f?o.createVNode("span",{class:i},[o.createTextVNode("*")]):null,e.title]),n=e.tooltip?d.isFunction(e.tooltip)?e.tooltip(e):o.createVNode(o.Fragment,null,[e.tooltip]):null;return n?o.createVNode("span",{style:{display:"inline-flex",alignItems:"center",maxWidth:"100%"}},[s,o.createVNode(N.Tooltip,{title:n,placement:"bottom"},{default:()=>[o.createVNode(P.QuestionCircleOutlined,{style:{padding:"4px",color:p,verticalAlign:"middle"}},null)]})]):s}exports.getColumnIsRequired=F;exports.getEditableComponent=h;exports.getEditableTableTitle=m;exports.getFinalNode=R;exports.getRawDisplayValue=S;exports.mergeClass=_;exports.scrollToRowIndex=j;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),u=require("lodash-unified"),g=require("../ap-table/constants.js"),v=require("../utils/index.js"),w=require("../ap-field/number/helper.js"),C=require("scroll-into-view-if-needed"),N=require("@aplus-frontend/antdv");require("../ap-form/index.js");const I=require("../ap-table/utils.js"),P=require("@ant-design/icons-vue"),q=require("../ap-form/item/index.vue.js");function V(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!o.isVNode(e)}function h(e){return g.apTableFormItemMap[e]}function F(e){if(e.markRequired)return!0;if(!e.fieldProps)return!1;const t=u.isFunction(e.fieldProps)?e.fieldProps({}):e.fieldProps;return v.isDef(t.required)?t.required:(u.isArray(t.rules)?t.rules:t.rules?[t.rules]:[]).some(r=>r.required)}function S(e,t){if(e.valueType==="text"||e.valueType==="textArea")return t||"--";if(e.valueType==="number"){const i=e.fieldProps?u.isFunction(e.fieldProps)?e.fieldProps({}):e.fieldProps:{};return w.getValueStr(t,i)||"--"}return I.objectToString(t)}function _(e,t){const i=[e];if(t){const r=u.isArray(t)?t:[t];i.unshift(...r)}return i.join(" ")}function R(e,t=document.body,i={}){const r=t.querySelectorAll("tr.ant-table-row")[e];r&&C(r,{scrollMode:"if-needed",block:"nearest",behavior:"smooth",...i})}function j(e,t,i){return g.noRenderAsFormItemValueList.includes(e.valueType)?i:e.copyable||e.ellipsis?o.createVNode(N.Typography.Paragraph,{copyable:e.copyable?{text:t,tooltip:!1}:!1,ellipsis:e.ellipsis?u.isBoolean(e.ellipsis)?{tooltip:t}:{...e.ellipsis,tooltip:t}:!1,content:e.ellipsis?S(e,t):i},null):i}function A(e,t,i,r,p,l){var T,y;if(t){if(e.customRenderFormItem){const c=e.customRenderFormItem(e,i.field,t,p);return o.createVNode(q.default,u.omit(i,["field"]),V(c)?c:{default:()=>[c]})}const s=h(e.valueType);if(s)return o.createVNode(s,i,null);const n=l==null?void 0:l[e.valueType],a=(T=n==null?void 0:n.renderFormItem)==null?void 0:T.call(n,i.field);return a?o.createVNode(q.default,i,V(a)?a:{default:()=>[a]}):null}let d;const b=I.getTableRenderType(e),f=g.apTableRenderItemMap[b];if(f)d=o.createVNode(f,o.mergeProps(i.field,{mode:"read"}),null);else{const s=l==null?void 0:l[b];d=(y=s==null?void 0:s.render)==null?void 0:y.call(s,r,p,i.field)}return d?j(e,r,d):null}function m(e,t,i,r,p){const l=r==null?void 0:r({title:e.title,column:e}),d=(l==null?void 0:l.filter(c=>c.type!==Symbol.for("v-cmt")))||[];if(l&&d.length>0)return l;const f=F(e),y=u.isString(e.title)?{class:t,title:e.title}:{},s=o.createVNode("div",y,[f?o.createVNode("span",{class:i},[o.createTextVNode("*")]):null,e.title]),n=e.tooltip?u.isFunction(e.tooltip)?e.tooltip(e):o.createVNode(o.Fragment,null,[e.tooltip]):null;return n?o.createVNode("span",{style:{display:"inline-flex",alignItems:"center",maxWidth:"100%"}},[s,o.createVNode(N.Tooltip,{title:n,placement:"bottom"},{default:()=>[o.createVNode(P.QuestionCircleOutlined,{style:{padding:"4px",color:p,verticalAlign:"middle"}},null)]})]):s}exports.getColumnIsRequired=F;exports.getEditableComponent=h;exports.getEditableTableTitle=m;exports.getFinalNode=A;exports.getRawDisplayValue=S;exports.mergeClass=_;exports.scrollToRowIndex=R;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aplus-frontend/ui",
3
- "version": "0.5.35",
3
+ "version": "0.5.37",
4
4
  "main": "./lib/index.js",
5
5
  "type": "module",
6
6
  "files": [
@@ -1,14 +1,48 @@
1
- .aplus-ap-list {
2
- padding: 16px 24px;
1
+ .aplus-ap-list-content-container {
2
+ position: relative;
3
+ }
4
+ .aplus-ap-list-content-container--spinning {
5
+ opacity: 0.5;
6
+ -webkit-user-select: none;
7
+ -moz-user-select: none;
8
+ user-select: none;
9
+ pointer-events: none;
3
10
  }
4
11
  .aplus-ap-list__footer {
5
12
  margin-top: 16px;
6
13
  display: flex;
7
14
  justify-content: flex-end;
8
15
  }
9
- .aplus-ap-list-spin {
10
- max-height: unset !important;
16
+ .aplus-ap-list__spin-wrapper {
17
+ position: absolute;
18
+ width: 100%;
19
+ top: 0;
20
+ bottom: 0;
21
+ border-radius: 4px;
22
+ display: flex;
23
+ justify-content: center;
24
+ align-items: center;
25
+ z-index: 1;
11
26
  }
12
27
  .aplus-ap-list-scroll-wrapper {
13
28
  height: 100%;
14
29
  }
30
+ .aplus-ap-list--adaptive {
31
+ height: 100%;
32
+ display: flex;
33
+ flex-direction: column;
34
+ }
35
+ .aplus-ap-list--adaptive .aplus-ap-list-content-container {
36
+ flex-grow: 1;
37
+ flex-shrink: 1;
38
+ overflow: hidden;
39
+ }
40
+ .aplus-ap-list--adaptive .aplus-ap-list-content-container:has(.ant-empty) {
41
+ display: flex;
42
+ justify-content: center;
43
+ align-items: center;
44
+ }
45
+ .aplus-ap-list--adaptive .aplus-ap-list-content-container .aplus-ap-list__content {
46
+ height: 100%;
47
+ overflow: auto;
48
+ }
@@ -1,16 +1,54 @@
1
1
  @import '../mixins/mixins.less';
2
2
 
3
+ @listCls: ~'@{ns}-ap-list';
4
+ @listContentContainerCls: ~'@{listCls}-content-container';
5
+ @contentCls: ~'@{listCls}__content';
6
+
3
7
  .b(ap-list, {
4
- padding: 16px 24px;
8
+ &-content-container {
9
+ position: relative;
10
+ &--spinning {
11
+ opacity: 0.5;
12
+ user-select: none;
13
+ pointer-events: none;
14
+ }
15
+ }
5
16
  &__footer {
6
17
  margin-top: 16px;
7
18
  display: flex;
8
19
  justify-content: flex-end;
9
20
  }
10
- &-spin {
11
- max-height: unset !important;
21
+ &__spin-wrapper {
22
+ position: absolute;
23
+ width: 100%;
24
+ top: 0;
25
+ bottom: 0;
26
+ border-radius: 4px;
27
+ display: flex;
28
+ justify-content: center;
29
+ align-items: center;
30
+ z-index: 1;
12
31
  }
13
32
  &-scroll-wrapper {
14
33
  height: 100%;
15
34
  }
35
+ &--adaptive {
36
+ height: 100%;
37
+ display: flex;
38
+ flex-direction: column;
39
+ .@{listContentContainerCls} {
40
+ flex-grow: 1;
41
+ flex-shrink: 1;
42
+ overflow: hidden;
43
+ &:has(.ant-empty) {
44
+ display: flex;
45
+ justify-content: center;
46
+ align-items: center;
47
+ }
48
+ .@{contentCls} {
49
+ height: 100%;
50
+ overflow: auto;
51
+ }
52
+ }
53
+ }
16
54
  });