@aplus-frontend/ui
Version:
2 lines (1 loc) • 6.51 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),r=require("@aplus-frontend/antdv"),S=require("lodash-unified"),W=require("../../utils/format.js"),Y=require("../../utils/warning.js");require("../../config-provider/index.js");require("../../utils/index.js");require("../ap-form.vue.js");require("../item/index.vue2.js");const D=require("../item-group/helper.js"),Z=require("../style/search-form.js");require("./components/popover-filter.vue.js");require("./components/popover-sorter/index.vue.js");const ee=require("./hooks/use-collapse-input-count.js"),te=require("./hooks/use-count-per-row.js"),oe=require("./hooks/use-sorter.js"),R=require("./utils.js"),ne=require("../../config-provider/hooks/use-namespace.js"),ae=require("../../config-provider/hooks/use-locale.js"),O=require("../../utils/is.js"),z=require("../item/index.vue.js"),re=require("./components/popover-filter.vue2.js"),le=require("./components/popover-sorter/index.vue2.js"),se=require("../ap-form.vue2.js");function ue(d){return typeof d=="function"||Object.prototype.toString.call(d)==="[object Object]"&&!e.isVNode(d)}const l=100,ce=e.defineComponent({name:"ApFormSearchForm",__name:"index",props:{layout:{default:"horizontal"},labelCol:{},wrapperCol:{},colon:{type:Boolean,default:!0},labelAlign:{default:"right"},labelWrap:{type:Boolean},prefixCls:{},requiredMark:{},hideRequiredMark:{type:Boolean,default:!1},rules:{},validateMessages:{},validateOnRuleChange:{type:Boolean,default:!0},scrollToFirstError:{},onSubmit:{},name:{},validateTrigger:{default:"change"},size:{},disabled:{type:Boolean},onFieldsChange:{},onFinish:{},onFinishFailed:{},onValidate:{},variant:{},initialValues:{},onValuesChange:{},syncToUrl:{type:[Boolean,Function]},syncToUrlPriority:{type:Boolean},collapse:{type:Boolean,default:void 0},defaultCollapse:{type:Boolean,default:!0},"onUpdate:collapse":{},searchText:{},resetText:{},onReset:{},customReset:{type:Boolean,default:!1},extraInAction:{type:Boolean,default:!1},forceExpand:{type:Boolean,default:!1},countPerRow:{default:5},submitLoading:{type:Boolean},maxRows:{default:2},sortable:{type:Boolean,default:!0},resizeTarget:{},resize:{},loadingDelay:{default:300}},setup(d,{expose:L}){const g=e.useSlots(),o=d;Y.useDevWarning("SearchForm").deprecated(typeof o.resizeTarget<"u","resizeTarget","resize.target");const j=Z.default("ap-form-search-form"),{b:p}=ne.useNamespace("ap-form-search-form"),{t:F}=ae.useLocale(),x=e.ref(),B=e.shallowRef(),M=te.useCountPerRow(o,B),b=e.shallowRef();function q(){const t=x.value?.getFieldsValueTransformed(!0);R.execFunc(o.onSubmit,t)}function U(){o.customReset||x.value?.resetFields?.(),R.execFunc(o.onReset)}const $=t=>O.isDef(t)?(S.isArray(t)?t:[t]).join(""):Date.now();let k=[];const f=e.shallowRef(D.genRealChildren(g.default())),c=e.shallowRef(g.extra?.()),V=e.computed(()=>W.floorWith(l/e.unref(M),4)),{items:v,sorted:A,handleClickConfirm:C}=oe.useSorter(f);e.watch(()=>g.default(),t=>{k=f.value,f.value=R.diffFormItem(k,D.genRealChildren(t)),A.value=!1}),e.watch(()=>g.extra?.(),t=>{c.value=t});function H(t){return W.floorWith(t*(l/24),4)}const n=e.computed(()=>{const t=f.value,i=[],a=[],h=[],s=e.unref(V);let y=0,N=0;const K=l*o.maxRows-s*(e.unref(c)&&!o.extraInAction?2:1);t.forEach(w=>{const T=ee.getTargetNode(w);if(!T)return;const u=T.props;if(S.isBoolean(u.hidden)?!!u.hidden:O.isDef(u.hidden))i.push(w);else{let _=u.span?H(u.span):s;const P={node:w,span:_,key:`ApFormSearchFormItem-${$(u.name)}-${u._signal}`},E=l-y%l;E<_&&(_+=E),y+=_,y>K?a.push(P):(N=y,h.push(P))}});const I=l-(N+s)%l,Q=Math.ceil(N)%l<s,X=I<s?l:I;return{hideNode:e.createVNode(e.Fragment,null,[i]),nodes:h,collapseNodes:a,extraSpan:X,lastRowOnlyIncludeActionAndExtra:Q}}),m=t=>`${t}%`,G=e.computed(()=>{let t;const i=n.value.collapseNodes.length||o.sortable&&f.value.length,a=e.createVNode(r.Col,{flex:m(e.unref(V)),key:"actionWrapper"},{default:()=>[e.createVNode(z.default,null,{default:()=>[e.createVNode(r.Flex,{wrap:"wrap",justify:n.value.lastRowOnlyIncludeActionAndExtra&&!(e.unref(c)&&o.extraInAction)?"flex-end":"space-between"},{default:()=>[e.createVNode(r.Flex,{gap:8,wrap:"wrap"},{default:()=>[i?e.createVNode("div",{class:p("column-setting-trigger-wrapper")},[n.value.collapseNodes.length?e.createVNode(re.default,{onSubmit:q,config:n.value.collapseNodes,submitLoading:o.submitLoading},null):null,o.sortable&&v.value.length?e.createVNode(le.default,{ref:b,items:v.value,onClickConfirm:C,sorted:A.value},null):null]):null,e.createVNode(r.Button,{type:"primary",onClick:q,loading:o.submitLoading?{delay:o.loadingDelay}:!1,htmlType:"submit",class:p("action-btn")},{default:()=>[o.searchText||F("ap.apForm.search.search")]}),e.createVNode(r.Button,{onClick:U,type:"text",class:[p("action-btn"),p("action-btn-reset")]},{default:()=>[o.resetText||F("ap.apForm.search.reset")]})]}),o.extraInAction?e.unref(c):null]})]})]}),h=!o.extraInAction&&e.unref(c)?e.createVNode(r.Col,{flex:m(n.value.extraSpan),key:"extraNode"},{default:()=>[e.createVNode(z.default,null,{default:()=>[e.createVNode(r.Flex,{justify:n.value.extraSpan===l||n.value.lastRowOnlyIncludeActionAndExtra?"start":"flex-end"},ue(t=e.unref(c))?t:{default:()=>[t]})]})]}):null,s=e.createVNode(r.Col,{flex:m(n.value.extraSpan)},null);return n.value.lastRowOnlyIncludeActionAndExtra?e.createVNode(e.Fragment,null,[h||s,a]):e.createVNode(e.Fragment,null,[a,h])});function J(){const t=b.value?.getCachedList();C(t)}return L({apForm:e.computed(()=>e.unref(x)),getSorterItems:()=>v.value,setSorterItems:C,resetSorterItems:J}),(t,i)=>(e.openBlock(),e.createBlock(se.default,e.mergeProps({ref_key:"apForm",ref:x,class:[e.unref(p)(),e.unref(j)]},e.unref(S.omit)(o,["collapse","defaultCollapse","onUpdate:collapse","searchText","resetText","onSubmit","onReset","extraInAction","forceExpand","countPerRow"])),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value.hideNode))),e.createVNode(e.unref(r.Row),{ref_key:"contentWrapperRef",ref:B,gutter:8},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value.nodes,a=>(e.openBlock(),e.createBlock(e.unref(r.Col),{key:a.key,flex:m(a.span),style:e.normalizeStyle({maxWidth:m(a.span)})},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.node)))]),_:2},1032,["flex","style"]))),128)),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(G.value)))]),_:1},512)]),_:1},16,["class"]))}});exports.default=ce;