@aplus-frontend/ui
Version:
3 lines (2 loc) • 4.63 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../../ap-field/index.js");const N=require("@aplus-frontend/antdv");require("../../config-provider/index.js");const m=require("lodash-unified");require("./popover-input/index.vue.js");require("../../hooks/index.js");const R=require("../../utils/index.js"),j=require("../../ap-field/hooks/use-default-placeholder.js"),L=require("./utils.js"),O=require("../../hooks/useControllableValue.js"),z=require("../../config-provider/hooks/use-locale.js"),E=require("../../config-provider/hooks/use-namespace.js"),F=require("../../ap-field/select/index.vue.js"),T=require("../../ap-field/text/index.js"),M=require("./popover-input/index.vue2.js"),i="GROUP_SEARCH_ALL",$=e.defineComponent({name:"BatchInputGroup",__name:"index",props:{style:{type:[Boolean,null,String,Object,Array]},inputStyle:{type:[Boolean,null,String,Object,Array]},options:{},hasAll:{type:Boolean,default:!0},value:{},"onUpdate:value":{},popoverPlacement:{default:"left"},maxNum:{default:200},mode:{default:"edit"},class:{},variant:{},size:{},name:{},type:{default:"text"},onCompositionend:{},onCompositionstart:{},onFocus:{},onBlur:{},onChange:{},onInput:{},onKeydown:{},onKeyup:{},onMousedown:{},focused:{type:Boolean},hidden:{type:Boolean},disabled:{type:Boolean},prefixCls:{},id:{},readonly:{type:Boolean},autofocus:{type:Boolean},autocomplete:{},placeholder:{},lazy:{type:Boolean,default:!0},maxlength:{},loading:{type:Boolean},bordered:{type:Boolean,default:!0},showCount:{type:[Boolean,Object]},htmlSize:{},onPressEnter:{},onMouseUp:{},onRawInput:{},valueModifiers:{},status:{},defaultValue:{},inputElement:{},triggerFocus:{},handleReset:{},addonBefore:{},addonAfter:{},prefix:{},suffix:{},clearIcon:{},allowClear:{type:Boolean,default:!0},emptyText:{default:"--"},beforeInput:{}},emits:["update:value"],setup(v,{emit:y}){const n=v,h=j.useDefaultPlaceholder("Text",n),g=y,{value:u,updateValue:a}=O.useControllableValue(n,g),s=e.ref(),c=e.ref(),{t:B}=z.useLocale(),{b,cssVar:V}=E.useNamespace("batch-input-group"),x=e.computed(()=>{const t=n.popoverPlacement;return{"popover-left":m.isNumber(t)?`${t}px`:t==="left"?"0px":"unset","popover-right":t==="right"?"0px":"unset"}}),A=e.computed(()=>n.options?n.options.length>1&&n.hasAll?[{value:i,label:B("ap.common.all")},...n.options]:n.options:[]),_=e.computed(()=>n.options?n.options.map(t=>t.value):[]),q=e.computed(()=>e.unref(u)?.value?.length?e.unref(u).value.join(","):""),C=e.computed(()=>e.unref(u)?.value?.length?e.unref(u).value.join(`
`):""),S=e.computed(()=>{const t=e.unref(u)?.key;if(t?.length)return t.length===1||!n.hasAll?t[0]:i}),k=e.computed(()=>{const t=e.unref(u)?.key;return!t||t?.length<=1?e.unref(h):(n.options||[]).filter(o=>t.includes(o.value)).map(o=>o.label).join("/")});function I(t){const l=e.unref(u)||{},o=t===i?e.unref(_):R.isDef(t)?[t]:[];a({...l,key:o})}function P(t){const l=e.unref(u)||{},o=t.target.value||"";let p=L.splitValue(o,",",",",n.maxNum);if(o!==p){const f=c.value?.$el?.querySelector("input");f&&(f.value=p)}let r=p.split(",");r.length===1&&r[0]===""&&(r=[]),a({...l,value:r})}function U(t){const l=e.unref(u)||{};let o=t.split(/,|\n/);a({...l,value:o})}function d(){const t=e.unref(u)||{},l=t.value?.filter(Boolean);a({...t,value:l})}function w(t){d(),n.onBlur?.(t)}return(t,l)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"containerRef",ref:s,class:e.normalizeClass(e.unref(b)()),style:e.normalizeStyle(e.unref(V)(x.value)),onFocus:l[0]||(l[0]=(...o)=>t.onFocus&&t.onFocus(...o)),onBlur:l[1]||(l[1]=(...o)=>t.onBlur&&t.onBlur(...o))},[e.createVNode(e.unref(N.Space).Compact,{block:""},{default:e.withCtx(()=>[t.options?.length?(e.openBlock(),e.createBlock(e.unref(F.default),{key:0,style:e.normalizeStyle(t.style),options:A.value,value:S.value,"allow-clear":!1,"dropdown-match-select-width":!1,disabled:t.disabled,"get-popup-container":()=>s.value,"onUpdate:value":I},null,8,["style","options","value","disabled","get-popup-container"])):e.createCommentVNode("",!0),e.createVNode(e.unref(T.ApFieldText),e.mergeProps(e.unref(m.omit)(n,["style","value","onUpdate:value","inputStyle","hasAll","options","onBlur"]),{ref_key:"inputRef",ref:c,style:t.inputStyle,value:q.value,placeholder:k.value,onInput:P,onBlur:w}),{suffix:e.withCtx(()=>[e.createVNode(M.default,{_parent:s.value,value:C.value,disabled:t.disabled,placement:n.popoverPlacement,"max-num":t.maxNum,"onUpdate:value":U,onClose:d},null,8,["_parent","value","disabled","placement","max-num"])]),_:1},16,["style","value","placeholder"])]),_:1})],38))}});exports.default=$;