@aplus-frontend/ui
Version:
2 lines (1 loc) • 3.8 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),u=require("@aplus-frontend/antdv"),S=require("@aplus-frontend/antdv/es/theme/internal"),n=require("lodash-unified"),I=require("../constant.js"),T=require("@ant-design/icons-vue");require("../../config-provider/index.js");const _=require("../context.js"),z=require("@fruits-chain/utils"),M=require("../../utils/slot.js"),R=require("../../config-provider/hooks/use-namespace.js"),A=e.defineComponent({name:"ApFormItem",__name:"index",props:{htmlFor:{},prefixCls:{},label:{},help:{},extra:{},labelCol:{},wrapperCol:{},hasFeedback:{type:Boolean,default:!1},colon:{type:Boolean,default:void 0},labelAlign:{},prop:{},name:{},rules:{},autoLink:{type:Boolean,default:!0},required:{type:Boolean,default:void 0},validateFirst:{type:Boolean,default:void 0},validateStatus:{},validateTrigger:{},messageVariables:{},hidden:{type:Boolean},noStyle:{type:Boolean},tooltip:{},span:{},order:{},offset:{},push:{},pull:{},xs:{},sm:{},md:{},lg:{},xl:{},xxl:{},flex:{},bordered:{type:Boolean,default:!1},valuePropName:{default:"value"},initialValue:{},_signal:{},transform:{},description:{},customFilled:{},disabled:{type:Boolean}},setup(m,{expose:v}){const t=m,d=e.useSlots(),{model:f,updateModel:b,internalInstance:y}=_.useInjectForm(),{m:i,b:F}=R.useNamespace("ap-form-item"),s=e.ref(!1),l=e.ref(),[,V]=S.useToken();e.onMounted(async()=>{let o=n.isFunction(t.initialValue)?t.initialValue():t.initialValue;z.isPromise(o)&&(o=await o),y?.registerField({name:t.name,initialValue:n.cloneDeep(o),transform:t.transform})});const c=e.computed(()=>t.name?n.isArray(t.name)?t.name.reduce((o,r)=>o?.[r],e.unref(f)):f?.value[t.name]:null);function g(){const o=d.default?.()||[];if(!t.name)return o[0];const r=M.getValidVNodeList(o)[0];return r?e.cloneVNode(r,{[t.valuePropName]:e.unref(c),[`onUpdate:${t.valuePropName}`]:h,variant:t.bordered?"borderless":r?.props?.variant,bordered:t.bordered?!1:r?.props?.bordered,onFocus:B,onBlur:C}):null}function h(o){b?.(t.name,o)}function B(){s.value=!0}function C(){s.value=!1}function x(){l.value?.onFieldBlur()}function q(){l.value?.onFieldChange()}function k(){l.value?.clearValidate()}function N(){l.value?.resetField()}function w(o=!1){const r=e.unref(c);if(!o||!t.transform)return r;const a=n.isFunction(t.transform)?t.transform:t.transform.transformer;return t.transform?a(r):r}return v({onFieldBlur:x,onFieldChange:q,clearValidate:k,resetField:N,getFieldValue:w}),(o,r)=>(e.openBlock(),e.createBlock(e.unref(u.Form).Item,e.mergeProps({ref_key:"formItemRef",ref:l},e.unref(n.omit)(t,[...e.unref(I.apFormItemColPropKeys),"tooltip","label","description"]),{class:{[e.unref(i)("bordered")]:o.bordered,[e.unref(i)("focused")]:o.bordered&&s.value,[e.unref(i)("disabled")]:o.bordered&&o.disabled,[e.unref(F)()]:!0},colon:o.bordered?!1:t.colon}),e.createSlots({default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(g())))]),_:2},[t.tooltip?{name:"tooltip",fn:e.withCtx(({class:a})=>[e.createElementVNode("span",{class:e.normalizeClass(a)},[e.createVNode(e.unref(u.Tooltip),{title:t.tooltip},{default:e.withCtx(()=>[e.createVNode(e.unref(T.QuestionCircleOutlined),{style:e.normalizeStyle({color:e.unref(V).colorTextTertiary,fontSize:"14px",transform:"translateY(1px)"})},null,8,["style"])]),_:1},8,["title"])],2)]),key:"0"}:void 0,o.label?{name:"label",fn:e.withCtx(()=>[e.createVNode(e.unref(u.TypographyText),{content:o.label,ellipsis:{tooltip:o.label},style:{"min-width":"0px",flex:"1"}},null,8,["content","ellipsis"])]),key:"1"}:void 0,e.renderList(e.unref(n.omit)(d,"default"),(a,p)=>({name:p,fn:e.withCtx(P=>[e.renderSlot(o.$slots,p,e.normalizeProps(e.guardReactiveProps(P||{})))])}))]),1040,["class","colon"]))}});exports.default=A;