@aplus-frontend/ui 0.3.9 → 0.3.10

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.
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),Y=require("./use-sorted-filtered.js");require("../../config-provider/index.js");const x=require("../utils.js"),v=require("lodash-unified"),k=require("../../config-provider/hooks/use-locale.js"),ee=require("../../config-provider/hooks/use-namespace.js"),w=1,j=10;function te(g){const l={};return g&&(g===!0?(l.current=w,l.pageSize=j):(l.current=g.defaultCurrent||w,l.pageSize=g.defaultPageSize||j)),l}const re=({manual:g=!1,request:l,defaultParams:y={},defaultData:E=[],formatParams:A,paramsValueTypeMap:L,resetFieldsIgnores:V,filterFields:U,sortFields:_,pagination:p={defaultCurrent:1,defaultPageSize:10,showLessItems:!1,showTotal:!0}})=>{let C=0,c={};const I=p??{},M=e=>A?A(e):e,m=n.ref(),i=n.reactive(te(p)),{getColumnSFConfig:B,setSF:K,clearAll:$}=Y.useTableSortedAndFiltered(),{t:T}=k.useLocale(),{b:z}=ee.useNamespace("ap-table"),a=n.reactive({total:E.length,records:E,loading:!1}),P=()=>{var e,t;return((t=(e=m.value)==null?void 0:e.apForm)==null?void 0:t.getFieldsValueTransformed(!0))||{}},N=async e=>{var o;const t=M(e),r=Date.now();C=r,a.loading=!0;try{const s=await l({...n.unref(y),...t});C===r&&(a.total=s.total||((o=s.data)==null?void 0:o.length)||0,a.records=[...s.data||[]])}catch{C===r&&(a.records=[],a.total=0)}finally{a.loading=!1}},D=e=>{const t={};return Object.entries(e).forEach(([r,o])=>{if(t[r]=o,L&&o){const s=L[r];s&&(t[r]=x.parseFieldValue(s,o))}}),t},G=async e=>{var o,s,f,d,S;const t=P(),r={};Object.entries(t).forEach(([h,b])=>{V&&V.indexOf(h)>-1&&(r[h]=b)}),await((s=(o=m.value)==null?void 0:o.apForm)==null?void 0:s.resetFields()),(S=(d=(f=m.value)==null?void 0:f.apForm)==null?void 0:d.setFieldsValue)==null||S.call(d,r),n.nextTick(()=>{e==null||e()})},F=e=>{c=e;const t=D(e);N(t)},J=e=>{F({...c,...e})},q=()=>{const e=P();p&&(i.current=w),F({...e,filter:c.filter,sort:c.sort,current:p?w:void 0,pageSize:p?c.pageSize||i.pageSize:void 0})},Q=()=>{$(),c.sort={},c.filter={},G(q)},R=()=>{F(c)},W=e=>{if(!p)R();else{const{current:t,pageSize:r}=i,o=a.total-e,s=Math.ceil(o/r),f=t>s?s:t;J({current:f>0?f:1})}},O=(e,t,r)=>{var h,b;const o=P();i.current=e.current,i.pageSize=e.pageSize,K(t,r);const s=v.isArray(r)?[...r]:[r],f={};for(const u of s)(h=n.unref(_))!=null&&h.includes(u.columnKey||u.field)&&u.order&&(f[x.dataIndexToStr(u.columnKey||u.field)]=u.order);const d={};for(const u of Object.keys(t))(b=n.unref(U))!=null&&b.includes(u)&&t[u]&&(d[u]=t[u]);const S={...o,filter:d,sort:f,current:e.current,pageSize:e.pageSize};v.isEqualWith(c,S,x.isEqualCustom)||F(S)};n.onMounted(()=>{const e=P(),{current:t,pageSize:r}=i;if(c={current:t,pageSize:r,filter:{},sort:{},...e},!g){const o=D(c);N(o)}}),n.watch(()=>n.unref(y),()=>{q()},{deep:!0});const Z=n.computed(()=>{if(a.total===0)return"-";const{current:e,pageSize:t}=i;return`${e}/${Math.ceil(a.total/t)}`});function H(e){v.isArray(e)&&(a.records=e,a.total=e.length)}const X=n.computed(()=>{const{showLessItems:e,showTotal:t}=I;return{loading:a.loading,pagination:{current:i.current,pageSize:i.pageSize,total:a.total,showSizeChanger:!e,showQuickJumper:!e,showLessItems:e,size:"default",showTotal:t?r=>n.createVNode("span",{class:z("pagination-total-wrapper")},[T("ap.apTable.pagination.totalLeftPrefix")," ",n.createVNode("span",{class:z("pagination-count-text")},[r])," ",T("ap.apTable.pagination.totalLeftSuffix"),n.createVNode("span",{class:z("pagination--total-right")},[T("ap.apTable.pagination.totalRightPrefix")," ",n.createVNode("span",{class:z("pagination-count-text")},[n.unref(Z)])," ",T("ap.apTable.pagination.totalRightSuffix")])]):void 0},onChange:O,dataSource:a.records}});return{formRef:m,submit:q,reset:Q,refresh:R,refreshByDelete:W,data:a,current:i.current,pageSize:i.pageSize,handleTableChange:O,tableProps:X,dataSource:n.computed(()=>a.records),setDataSource:H,getColumnSFConfig:B}};exports.useTablePaging=re;
@@ -67,6 +67,12 @@ export type UseTablePagingParams<DataType, ParamsType> = {
67
67
  */
68
68
  pagination?: boolean;
69
69
  };
70
+ /**
71
+ * ApTable表格分页请求和管理数据实现
72
+ * @deprecated 已弃用,将在下一个次要版本移出,请自行实现
73
+ * @param param0
74
+ * @returns
75
+ */
70
76
  export declare const useTablePaging: <DataType = any, ParamsType = Record<string, any>>({ manual, defaultCurrent, defaultPageSize, request, defaultParams, defaultData, formatParams, paramsValueTypeMap, resetFieldsIgnores, filterFields, sortFields, showLessItems, showTotal, pagination }: UseTablePagingParams<DataType, ParamsType>) => {
71
77
  formRef: Ref<ApFormSearchFormExpose | undefined, ApFormSearchFormExpose | undefined>;
72
78
  submit: () => void;
@@ -3,7 +3,7 @@ import { CompareFn, SortOrder, TableRowSelection } from '@aplus-frontend/antdv/e
3
3
  import { ApFormItemProps, ApFormSearchFormProps } from '../ap-form';
4
4
  import { ApFormItemCheckboxProps, ApFormItemDateProps, ApFormItemDateRangeProps, ApFormItemNumberProps, ApFormItemRadioProps, ApFormItemSelectProps, ApFormItemSwitchProps, ApFormItemTextAreaProps, ApFormItemTextPasswordProps, ApFormItemTextProps } from '../ap-form/items/interface';
5
5
  import { Recordable } from '../type';
6
- import { ComputedRef, CSSProperties, VNode } from 'vue';
6
+ import { ComputedRef, CSSProperties, Ref, VNode } from 'vue';
7
7
  import { ApActionGroupProps } from '../ap-action';
8
8
  import { ApTableIndexProps } from './components/interface';
9
9
  import { EllipsisConfig } from '@aplus-frontend/antdv/es/typography/Base';
@@ -243,9 +243,10 @@ export type ApTableProps<RecordType = any, ParamsType = any> = Omit<TableProps<R
243
243
  */
244
244
  card?: boolean;
245
245
  /**
246
- * request额外请求的参数,这些参数在变更时将不会自动发起网络请求
246
+ * request额外请求的参数
247
+ * 如果传入响应式数据,将会在变更后重新执行
247
248
  */
248
- params?: ParamsType;
249
+ params?: ParamsType | Ref<ParamsType>;
249
250
  /**
250
251
  * 自定义渲染搜索表单
251
252
  * @deprecated 未实现 暂不可用
@@ -23,6 +23,7 @@ declare const ApSelectLayout: (<T extends ApSelectItem>(__VLS_props: NonNullable
23
23
  request: () => Promise<T[]>;
24
24
  onSearch?: ((item: T, val: string) => boolean) | undefined;
25
25
  defaultFold?: boolean | undefined;
26
+ defaultValue?: string | undefined;
26
27
  } & PublicProps;
27
28
  expose(exposed: ShallowUnwrapRef<{}>): void;
28
29
  attrs: any;
@@ -7,4 +7,5 @@ export interface ApSelectLayoutProps<T extends ApSelectItem> {
7
7
  request: () => Promise<T[]>;
8
8
  onSearch?: (item: T, val: string) => boolean;
9
9
  defaultFold?: boolean;
10
+ defaultValue?: string;
10
11
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../../ap-field/index.js");const E=require("@aplus-frontend/icon");require("../../config-provider/index.js");const C=require("@aplus-frontend/antdv"),b=require("lodash-unified"),q=require("../../config-provider/hooks/use-namespace.js"),w=require("../../ap-field/text/index.js"),x=["onClick"],B=e.defineComponent({__name:"select-layout",props:{title:{},request:{},onSearch:{},defaultFold:{type:Boolean,default:!1}},emits:["onSelect","afterEnter","afterLeave"],setup(k,{emit:y}){const{b:u,be:i,bem:o}=q.useNamespace("ap-select-layout"),a=k,c=y,d=e.ref(),s=e.ref(a.defaultFold),f=e.ref(!a.defaultFold),v=e.ref(),m=e.ref(),p=e.ref(),h=e.ref(""),N=()=>{s.value=!s.value,v.value=!1,m.value=!1},V=n=>{p.value=n,c("onSelect",n)},S=b.debounce(n=>{var t;h.value=(t=n.target)==null?void 0:t.value},500),g=e.computed(()=>{var n;return(n=d.value)==null?void 0:n.filter(t=>{var r,l;return a!=null&&a.onSearch?(r=a.onSearch)==null?void 0:r.call(a,t,h.value):(l=t==null?void 0:t.name)==null?void 0:l.includes(h.value)})}),z=n=>{f.value=!0,c("afterEnter",n)},T=n=>{f.value=!1,c("afterLeave",n)};return e.onMounted(()=>{a.request().then(n=>{var t;d.value=n,V((t=d.value)==null?void 0:t[0])})}),(n,t)=>{var r;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(u)())},[e.createVNode(e.Transition,{mode:"out-in",onAfterEnter:z,onAfterLeave:T},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(e.unref(u)("side"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(i)("side","header"))},[e.createElementVNode("h3",null,e.toDisplayString(a.title),1),e.createElementVNode("div",{class:e.normalizeClass(e.unref(o)("side","header","imgWrap"))},[e.createVNode(e.unref(C.Tooltip),{open:v.value,"onUpdate:open":t[0]||(t[0]=l=>v.value=l)},{title:e.withCtx(()=>t[2]||(t[2]=[e.createTextVNode("收起")])),default:e.withCtx(()=>[e.createVNode(e.unref(E.IconApLeftarrow),{onClick:N})]),_:1},8,["open"])],2)],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(i)("side","body"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(o)("side","body","search"))},[e.createVNode(e.unref(w.ApFieldText),{placeholder:"请输入",onChange:e.unref(S)},null,8,["onChange"])],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(o)("side","body","scroll"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,l=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:l.value,class:e.normalizeClass(`${e.unref(o)("side","body","scroll-item")} ${p.value===l?"active":""}`),onClick:L=>V(l)},[e.renderSlot(n.$slots,"itemRender",{item:l},()=>[e.createVNode(e.unref(C.TypographyText),{ellipsis:{tooltip:l.name},content:`${l.name}`},null,8,["ellipsis","content"])])],10,x)),[[e.vShow,f.value]])),128))],2)],2)],2),[[e.vShow,!s.value]])]),_:3}),e.createElementVNode("div",{class:e.normalizeClass(e.unref(u)("content"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(i)("content","header"))},[s.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(o)("content","header","imgWrap"))},[e.createVNode(e.unref(C.Tooltip),{open:m.value,"onUpdate:open":t[1]||(t[1]=l=>m.value=l)},{title:e.withCtx(()=>t[3]||(t[3]=[e.createTextVNode("展开")])),default:e.withCtx(()=>[e.createVNode(e.unref(E.IconApMenu),{onClick:N})]),_:1},8,["open"])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(o)("content","header","title"))},e.toDisplayString((r=p.value)==null?void 0:r.name),3)],2),e.renderSlot(n.$slots,"default")],2)],2)}}});exports.default=B;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../../ap-field/index.js");const E=require("@aplus-frontend/icon");require("../../config-provider/index.js");const C=require("@aplus-frontend/antdv"),b=require("lodash-unified"),q=require("../../config-provider/hooks/use-namespace.js"),w=require("../../ap-field/text/index.js"),x=["onClick"],B=e.defineComponent({__name:"select-layout",props:{title:{},request:{},onSearch:{},defaultFold:{type:Boolean,default:!1},defaultValue:{default:""}},emits:["onSelect","afterEnter","afterLeave"],setup(k,{emit:y}){const{b:d,be:i,bem:o}=q.useNamespace("ap-select-layout"),a=k,c=y,f=e.ref(),s=e.ref(a.defaultFold),v=e.ref(!a.defaultFold),m=e.ref(),p=e.ref(),h=e.ref(),u=e.ref(a.defaultValue),V=()=>{s.value=!s.value,m.value=!1,p.value=!1},N=n=>{h.value=n,c("onSelect",n)},S=b.debounce(n=>{var t;u.value=(t=n.target)==null?void 0:t.value},500),g=e.computed(()=>{var n;return(n=f.value)==null?void 0:n.filter(t=>{var r,l;return a!=null&&a.onSearch?(r=a.onSearch)==null?void 0:r.call(a,t,u.value):(l=t==null?void 0:t.name)==null?void 0:l.includes(u.value)})}),z=n=>{v.value=!0,c("afterEnter",n)},T=n=>{v.value=!1,c("afterLeave",n)};return e.onMounted(()=>{a.request().then(n=>{var t;f.value=n,N((t=f.value)==null?void 0:t[0])})}),(n,t)=>{var r;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(d)())},[e.createVNode(e.Transition,{mode:"out-in",onAfterEnter:z,onAfterLeave:T},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(e.unref(d)("side"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(i)("side","header"))},[e.createElementVNode("h3",null,e.toDisplayString(a.title),1),e.createElementVNode("div",{class:e.normalizeClass(e.unref(o)("side","header","imgWrap"))},[e.createVNode(e.unref(C.Tooltip),{open:m.value,"onUpdate:open":t[0]||(t[0]=l=>m.value=l)},{title:e.withCtx(()=>t[2]||(t[2]=[e.createTextVNode("收起")])),default:e.withCtx(()=>[e.createVNode(e.unref(E.IconApLeftarrow),{onClick:V})]),_:1},8,["open"])],2)],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(i)("side","body"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(o)("side","body","search"))},[e.createVNode(e.unref(w.ApFieldText),{placeholder:"请输入",value:u.value,onChange:e.unref(S)},null,8,["value","onChange"])],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(o)("side","body","scroll"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,l=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:l.value,class:e.normalizeClass(`${e.unref(o)("side","body","scroll-item")} ${h.value===l?"active":""}`),onClick:L=>N(l)},[e.renderSlot(n.$slots,"itemRender",{item:l},()=>[e.createVNode(e.unref(C.TypographyText),{ellipsis:{tooltip:l.name},content:`${l.name}`},null,8,["ellipsis","content"])])],10,x)),[[e.vShow,v.value]])),128))],2)],2)],2),[[e.vShow,!s.value]])]),_:3}),e.createElementVNode("div",{class:e.normalizeClass(e.unref(d)("content"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(i)("content","header"))},[s.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(o)("content","header","imgWrap"))},[e.createVNode(e.unref(C.Tooltip),{open:p.value,"onUpdate:open":t[1]||(t[1]=l=>p.value=l)},{title:e.withCtx(()=>t[3]||(t[3]=[e.createTextVNode("展开")])),default:e.withCtx(()=>[e.createVNode(e.unref(E.IconApMenu),{onClick:V})]),_:1},8,["open"])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(o)("content","header","title"))},e.toDisplayString((r=h.value)==null?void 0:r.name),3)],2),e.renderSlot(n.$slots,"default")],2)],2)}}});exports.default=B;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aplus-frontend/ui",
3
- "version": "0.3.9",
3
+ "version": "0.3.10",
4
4
  "main": "./lib/index.js",
5
5
  "type": "module",
6
6
  "files": [