@gct-paas/render-web 0.1.5-test.2 → 0.1.6-dev.1

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.
Files changed (28) hide show
  1. package/dist/index.min.css +1 -1
  2. package/dist/loader.esm.min.js +1 -1
  3. package/es/components/form-component/field-label/ref-card-label-render.vue_vue_type_script_setup_true_lang.mjs +10 -4
  4. package/es/components/form-component/field-label/tag-label.vue.mjs +2 -2
  5. package/es/components/form-component/field-label/tag-label.vue_vue_type_script_setup_true_name_TagLabel_lang.mjs +1 -1
  6. package/es/components/form-component/field-label/{tag-label.vue_vue_type_style_index_0_scoped_4741c268_lang.css → tag-label.vue_vue_type_style_index_0_scoped_6c507fe8_lang.css} +4 -4
  7. package/es/components/index.d.ts +1 -2
  8. package/es/components/index.mjs +2 -1
  9. package/es/components/multi-field/index.d.ts +2 -0
  10. package/es/components/multi-field/index.mjs +1 -0
  11. package/es/components/multi-field/multi-field-display.vue.d.ts +9 -0
  12. package/es/components/multi-field/multi-field-display.vue.mjs +7 -0
  13. package/es/components/multi-field/multi-field-display.vue_vue_type_script_setup_true_lang.mjs +38 -0
  14. package/es/components/multi-field/multi-field-display.vue_vue_type_style_index_0_scoped_0f2f02cc_lang.css +4 -0
  15. package/es/components/multi-field/multi-field-item.vue.d.ts +7 -0
  16. package/es/components/multi-field/multi-field-item.vue.mjs +7 -0
  17. package/es/components/multi-field/multi-field-item.vue_vue_type_script_setup_true_lang.mjs +53 -0
  18. package/es/components/multi-field/multi-field-item.vue_vue_type_style_index_0_scoped_ddac8ce3_lang.css +31 -0
  19. package/es/index.mjs +2 -2
  20. package/package.json +12 -11
  21. package/es/components/card-view-render/card-view-render.css +0 -71
  22. package/es/components/card-view-render/card-view-render.d.ts +0 -38
  23. package/es/components/card-view-render/card-view-render.mjs +0 -85
  24. package/es/components/design-render/design-render.css +0 -71
  25. package/es/components/design-render/design-render.d.ts +0 -53
  26. package/es/components/design-render/design-render.mjs +0 -126
  27. package/es/components/design-render-item/design-render-item.d.ts +0 -16
  28. package/es/components/design-render-item/design-render-item.mjs +0 -24
@@ -1,2 +1,2 @@
1
- .gct-design-render{background-color:#f7f8fa;width:100%;height:100%;position:relative;overflow:hidden auto}.tag[data-v-6c8c4c7a]{padding:4px 6px;line-height:1}.tag+.tag[data-v-6c8c4c7a]{margin-left:5px}.tag-radius[data-v-6c8c4c7a]{background:var(--v2ae1b805);border-radius:4px}.tag-linear_radius[data-v-6c8c4c7a]{border:1px solid var(--v2ae1b805);border-radius:4px}.tag-big_radius[data-v-6c8c4c7a]{background:var(--v2ae1b805);border-radius:100px}.tag-linear_big_radius[data-v-6c8c4c7a]{border:1px solid var(--v2ae1b805);border-radius:100px}.tag-dashed_radius[data-v-6c8c4c7a]{border:1px dashed var(--v2ae1b805);border-radius:4px}.tag-status[data-v-6c8c4c7a]{background:var(--v2ae1b805);border-radius:14px 4px 4px}.tag-label-disabled[data-v-85e6a8f5]{opacity:.5}.label-ellipsis[data-v-85e6a8f5]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-wrap[data-v-85e6a8f5]{word-break:break-all;white-space:wrap}.tag-label-disabled[data-v-4741c268]{opacity:.5}.label-ellipsis[data-v-4741c268]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-wrap[data-v-4741c268]{word-break:break-all;white-space:wrap}.select-text[data-v-4741c268]{min-width:16px}.gct-card-view-render{position:relative}.gct-card-view-render .gct-design-render{width:auto;height:auto}.gct-ref-card-popover{overflow-y:auto;box-shadow:0 2px 6px #0000001a}.gct-ref-card-popover .ant-popover-inner-content{padding:0}.gct-ref-card-popover .ant-popover-arrow{display:none}.field-radio-group .ant-radio-wrapper.ant-radio-wrapper-disabled .ant-radio-checked.ant-radio-disabled .ant-radio-inner{background-color:#fff;border:1px solid var(--ant-primary-3)!important}.field-radio-group .ant-radio-wrapper.ant-radio-wrapper-disabled .ant-radio-checked.ant-radio-disabled .ant-radio-inner:after{background:var(--ant-primary-3)}.field-radio-group--readonly .ant-radio-wrapper{pointer-events:none}.field-radio-group--readonly .ant-radio-wrapper .ant-radio-checked .ant-radio-inner{background-color:#fff;border:1px solid var(--ant-primary-4)!important}.field-radio-group--readonly .ant-radio-wrapper .ant-radio-checked .ant-radio-inner:after{background:var(--ant-primary-4)}.field-checkbox-group .ant-checkbox-wrapper.ant-checkbox-wrapper-disabled .ant-checkbox-checked.ant-checkbox-disabled .ant-checkbox-inner{background-color:var(--ant-primary-3);border:1px solid var(--ant-primary-3)!important}.field-checkbox-group .ant-checkbox-wrapper.ant-checkbox-wrapper-disabled .ant-checkbox-checked.ant-checkbox-disabled .ant-checkbox-inner:after{border-color:#fff}.field-checkbox-group .ant-checkbox-wrapper.ant-checkbox-wrapper-disabled .ant-checkbox-checked.ant-checkbox-disabled:after{border:1px solid var(--ant-primary-3)!important}.field-checkbox-group--readonly .ant-checkbox-wrapper{pointer-events:none}.field-checkbox-group--readonly .ant-checkbox-wrapper .ant-checkbox-checked .ant-checkbox-inner{background-color:var(--ant-primary-4);border:1px solid var(--ant-primary-4)!important}.field-checkbox-group--readonly .ant-checkbox-wrapper .ant-checkbox-checked .ant-checkbox-inner:after{border-color:#fff}.field-checkbox-group--readonly .ant-checkbox-wrapper .ant-checkbox-checked:after{border:1px solid var(--ant-primary-4)!important}
1
+ .tag[data-v-6c8c4c7a]{padding:4px 6px;line-height:1}.tag+.tag[data-v-6c8c4c7a]{margin-left:5px}.tag-radius[data-v-6c8c4c7a]{background:var(--v2ae1b805);border-radius:4px}.tag-linear_radius[data-v-6c8c4c7a]{border:1px solid var(--v2ae1b805);border-radius:4px}.tag-big_radius[data-v-6c8c4c7a]{background:var(--v2ae1b805);border-radius:100px}.tag-linear_big_radius[data-v-6c8c4c7a]{border:1px solid var(--v2ae1b805);border-radius:100px}.tag-dashed_radius[data-v-6c8c4c7a]{border:1px dashed var(--v2ae1b805);border-radius:4px}.tag-status[data-v-6c8c4c7a]{background:var(--v2ae1b805);border-radius:14px 4px 4px}.tag-label-disabled[data-v-85e6a8f5]{opacity:.5}.label-ellipsis[data-v-85e6a8f5]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-wrap[data-v-85e6a8f5]{word-break:break-all;white-space:wrap}.tag-label-disabled[data-v-6c507fe8]{opacity:.5}.label-ellipsis[data-v-6c507fe8]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-wrap[data-v-6c507fe8]{word-break:break-all;white-space:wrap}.select-text[data-v-6c507fe8]{min-width:16px}.gct-ref-card-popover{overflow-y:auto;box-shadow:0 2px 6px #0000001a}.gct-ref-card-popover .ant-popover-inner-content{padding:0}.gct-ref-card-popover .ant-popover-arrow{display:none}.field-radio-group .ant-radio-wrapper.ant-radio-wrapper-disabled .ant-radio-checked.ant-radio-disabled .ant-radio-inner{background-color:#fff;border:1px solid var(--ant-primary-3)!important}.field-radio-group .ant-radio-wrapper.ant-radio-wrapper-disabled .ant-radio-checked.ant-radio-disabled .ant-radio-inner:after{background:var(--ant-primary-3)}.field-radio-group--readonly .ant-radio-wrapper{pointer-events:none}.field-radio-group--readonly .ant-radio-wrapper .ant-radio-checked .ant-radio-inner{background-color:#fff;border:1px solid var(--ant-primary-4)!important}.field-radio-group--readonly .ant-radio-wrapper .ant-radio-checked .ant-radio-inner:after{background:var(--ant-primary-4)}.field-checkbox-group .ant-checkbox-wrapper.ant-checkbox-wrapper-disabled .ant-checkbox-checked.ant-checkbox-disabled .ant-checkbox-inner{background-color:var(--ant-primary-3);border:1px solid var(--ant-primary-3)!important}.field-checkbox-group .ant-checkbox-wrapper.ant-checkbox-wrapper-disabled .ant-checkbox-checked.ant-checkbox-disabled .ant-checkbox-inner:after{border-color:#fff}.field-checkbox-group .ant-checkbox-wrapper.ant-checkbox-wrapper-disabled .ant-checkbox-checked.ant-checkbox-disabled:after{border:1px solid var(--ant-primary-3)!important}.field-checkbox-group--readonly .ant-checkbox-wrapper{pointer-events:none}.field-checkbox-group--readonly .ant-checkbox-wrapper .ant-checkbox-checked .ant-checkbox-inner{background-color:var(--ant-primary-4);border:1px solid var(--ant-primary-4)!important}.field-checkbox-group--readonly .ant-checkbox-wrapper .ant-checkbox-checked .ant-checkbox-inner:after{border-color:#fff}.field-checkbox-group--readonly .ant-checkbox-wrapper .ant-checkbox-checked:after{border:1px solid var(--ant-primary-4)!important}.tag[data-v-ddac8ce3]{white-space:nowrap;align-items:center;height:22px;margin-left:8px;font-size:12px;line-height:22px;display:flex}.radius[data-v-ddac8ce3],.surface_radius[data-v-ddac8ce3],.line_radius[data-v-ddac8ce3],.line_dashed_radius[data-v-ddac8ce3]{border-radius:3px;padding-left:6px;padding-right:6px}.big_radius[data-v-ddac8ce3],.surface_big_radius[data-v-ddac8ce3],.line_big_radius[data-v-ddac8ce3]{border-radius:50px;padding-left:8px;padding-right:8px}.line_status[data-v-ddac8ce3],.surface_status[data-v-ddac8ce3],.status[data-v-ddac8ce3]{border-radius:11px 3px 3px;padding-left:8px;padding-right:8px}.tag-area[data-v-0f2f02cc]{flex-wrap:nowrap;width:auto}
2
2
  /*$vite$:1*/
@@ -1 +1 @@
1
- import{CARD_TRIGGER_ENUM as e,EntityModelCategoryEnum as l,FIELD_TYPE as t,FormComponents as a,TagTypeEnum as o,calcStyle as r,cssLoader as n,gctMemoizeAsync as i,transformUrl as d,useNamespace as s}from"@gct-paas/core";import{DesignRenderViewPrefix as u,RenderNodeRegister as p,schemaToStyle as c,transformDataToDict as v,useDesignRenderController as y}from"@gct-paas/render";import{Fragment as g,computed as m,createBlock as b,createCommentVNode as f,createElementBlock as x,createElementVNode as h,createTextVNode as C,createVNode as S,defineComponent as w,h as _,inject as T,isVNode as E,mergeProps as N,nextTick as k,normalizeClass as O,normalizeStyle as P,openBlock as B,provide as L,reactive as I,ref as W,renderList as R,renderSlot as M,resolveComponent as A,toDisplayString as F,toRef as K,unref as V,useCssVars as j,watch as D,withCtx as q,withModifiers as U}from"vue";import{DesignNodeMode as $}from"@gct-paas/schema";import{Avatar as z,Checkbox as G,CheckboxGroup as H,Radio as J,RadioGroup as Y,Select as Q}from"ant-design-vue";import{isString as X,pick as Z}from"lodash-es";var ee=Symbol("PAGE_EVENT"),le=e=>L(ee,e),te=()=>{const e=T(ee);if(!e)throw new Error("PAGE_EVENT not provided");return e},ae=/* @__PURE__ */w({name:"DesignRenderItem",props:{model:{type:Object,required:!0}},setup:e=>({ns:s("design-render-item"),style:r(e.model.data)}),render(){var e,l;return S("div",{class:this.ns.b(),style:this.style},[null===(e=(l=this.$slots).default)||void 0===e?void 0:e.call(l)])}}),oe=/* @__PURE__ */w({name:"DesignRender",props:{model:{type:Object,required:!0},prefix:{type:String,default:""},preview:{type:Boolean,default:!1},context:{type:Object,default:()=>({})}},setup(e){const l=s("design-render"),t=y();t.prefix=e.prefix,t.preview=e.preview,t.setNodes(e.model.nodes),t.setTree(e.model.tree),D(()=>e.context,()=>{t.state.context=e.context},{immediate:!0});const a=m(()=>e.model.pageNode?r(e.model.pageNode.data):{}),o=t.getNodes();return{ns:l,c:t,style:a,rootNodes:o,renderNode:function l(a,o){const r=p.get(a.type,t.prefix);if(!r)return console.warn(`未找到节点类型为${a.type}的渲染器`),null;let n=null;return n=r.mode===$.CONTAINER?function(a,o){const r=p.get(a.type,t.prefix),n=t.getNodes(a.id),i=t.getController(a.id);return _(A(r.component),{key:a.id,c:i,model:a,parent:o,preview:e.preview,context:t.state.context,pageModel:e.model.pageNode},n.map(e=>l(e,a)))}(a,o):r.mode===$.ITEM?function(l,a){const o=p.get(l.type,t.prefix),r=t.getController(l.id);return _(A(o.component),{key:l.id,c:r,model:l,parent:a,preview:e.preview,context:t.state.context,pageModel:e.model.pageNode})}(a,o):S("div",null,[C("未支持的适配器模式["),r.mode,C("]")]),S(ae,{model:a},{default:()=>n})},renderPageNode:function(l){if(!e.model.pageNode)return l;const a=p.get(e.model.pageNode.type,t.prefix);if(!a)return console.warn(`未找到页面节点类型为${e.model.pageNode.type}的渲染器`),l;const o=t.getController(e.model.pageNode.id);return _(A(a.component),{key:e.model.pageNode.id,c:o,model:e.model.pageNode,parent:void 0,preview:e.preview,context:t.state.context},l)}}},render(){return S("div",{class:this.ns.b(),style:this.style},[this.renderPageNode(this.rootNodes.map(e=>this.renderNode(e)))])}}),re=(e,l)=>{const t=e.__vccOpts||e;for(const[a,o]of l)t[a]=o;return t},ne=/* @__PURE__ */re(/* @__PURE__ */w({__name:"tag-span",props:{tagStyle:{}},setup(e){j(e=>({v2ae1b805:a.value}));const l=e,t=K(()=>{var e;return(null===(e=l.tagStyle)||void 0===e?void 0:e.tagType)||o.RADIUS}),a=K(()=>{var e;return(null===(e=l.tagStyle)||void 0===e?void 0:e.color)||"#f0f0f0"}),r=K(()=>`tag-${t.value}`);return(e,l)=>(B(),x("span",{class:O(["tag cursor-pointer",r.value])},[M(e.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-6c8c4c7a"]]),ie=/* @__PURE__ */re(/* @__PURE__ */w({__name:"tag-layout",props:{labelLayout:{},disabled:{type:Boolean}},setup:e=>(l,t)=>{var a,o,r,n;return B(),x("span",{class:O([e.disabled?"tag-label-disabled":null,!(null===(a=e.labelLayout)||void 0===a?void 0:a.hasLabelWidth)||"left"!==(null===(o=e.labelLayout)||void 0===o?void 0:o.layout.label)&&"horizontal"!=(null===(r=e.labelLayout)||void 0===r?void 0:r.layout)?"":"ellipsis"==(null===(n=e.labelLayout)||void 0===n?void 0:n.overLabelDisplay)?"label-ellipsis":"label-wrap"])},[M(l.$slots,"default",{},void 0,!0)],2)}}),[["__scopeId","data-v-85e6a8f5"]]),de={class:"select-text"},se={class:"select-text"},ue={key:0},pe=/* @__PURE__ */re(/* @__PURE__ */w({__name:"tag-label",props:{tagWidgetStyle:{},type:{},disabled:{type:Boolean},label:{},isDesign:{type:Boolean},closable:{type:Boolean},showTagStyle:{type:Boolean,default:!0},avatar:{},iconExtraProps:{},iconProps:{}},emits:["on-close"],setup(e){const l=e,a=_gct.platformStore.themeSetting,o=T("labelLayout",{}),r=K(()=>{var e;let a=l.label??"";return l.showTagStyle&&(null===(e=l.tagWidgetStyle)||void 0===e?void 0:e.tagStyleOpen)||l.type===t.ENUM_MULTI||l.type===t.ENUM?a?X(a)?a.split(","):a:[]:a instanceof Array?a.join(","):a+""}),n=K(()=>{var e;const t=null===(e=l.tagWidgetStyle)||void 0===e?void 0:e.contentFont;return t?c(t):{}}),i=(e="")=>{var t,a;const o=(null===(t=l.iconExtraProps)||void 0===t?void 0:t[e])||{},r={};return(null==o?void 0:o.textColor)&&Object.assign(r,{color:null==o?void 0:o.textColor}),(null===(a=n.value)||void 0===a?void 0:a.color)?n.value:{wordBreak:"break-all",...n.value,...r}},s={render:({$attrs:e})=>{if(e.labelName){var t;const o=(null===(t=l.iconExtraProps)||void 0===t?void 0:t[e.labelName])||l.iconProps||{};if(!(null==o?void 0:o.icon))return;return _(A("icon-next"),{size:16,value:null==o?void 0:o.icon,color:(null==o?void 0:o.iconColor)||a.themeColor,style:"vertical-align: text-bottom; margin-right: 3px"})}}};return(a,n)=>{var u;const p=A("icon-next");return e.showTagStyle&&(null===(u=e.tagWidgetStyle)||void 0===u?void 0:u.tagStyleOpen)?(B(),b(ie,{key:0,disabled:!!e.disabled,"label-layout":V(o)},{default:q(()=>[(B(!0),x(g,null,R(r.value,(t,o)=>(B(),b(ne,{key:o,"tag-style":e.tagWidgetStyle.tagStyle,style:P(i(t))},{default:q(()=>[l.avatar?(B(),b(V(z),{key:0,src:V(d)(l.avatar),size:20,style:{"margin-top":"-5px"},class:"mr4px"},null,8,["src"])):f("",!0),S(s,{"label-name":t},null,8,["label-name"]),h("span",de,F(t),1),e.closable?(B(),b(p,{key:1,size:15,value:"icon-park:close-small",style:{verticalAlign:"text-bottom","--color":"rgba(0,0,0,.45)",lineHeight:"1",marginLeft:"2px"},onClick:n[0]||(n[0]=U(e=>a.$emit("on-close"),["prevent","stop"]))})):f("",!0)]),_:2},1032,["tag-style","style"]))),128))]),_:1},8,["disabled","label-layout"])):e.type===V(t).ENUM_MULTI||e.type===V(t).ENUM?(B(),b(ie,{key:1,disabled:!!e.disabled,"label-layout":V(o)},{default:q(()=>[(B(!0),x(g,null,R(r.value,(l,t)=>{var a;return B(),x("span",{key:t,style:P(i(l)),class:"mr-5px"},[S(s,{"label-name":l},null,8,["label-name"]),h("span",se,F(l)+F(!(null===(a=e.tagWidgetStyle)||void 0===a?void 0:a.tagStyleOpen)&&t<r.value.length-1?",":""),1)],4)}),128)),r.value.length?f("",!0):(B(),x("span",ue," "))]),_:1},8,["disabled","label-layout"])):(B(),b(ie,{key:2,style:P(i(r.value)),disabled:!!e.disabled,"label-layout":V(o),class:"select-text leading-none ell"},{default:q(()=>[C(F(r.value||" "),1)]),_:1},8,["style","disabled","label-layout"]))}}}),[["__scopeId","data-v-4741c268"]]),ce=/* @__PURE__ */w({__name:"selectTag",props:{tagWidgetStyle:{}},setup(e){const l=e,t=K(()=>{return l.tagWidgetStyle.tagStyleOpen?l.tagWidgetStyle:{tagStyleOpen:!0,contentFont:null===(e=l.tagWidgetStyle)||void 0===e?void 0:e.contentFont};var e});return(e,l)=>(B(),b(pe,{"tag-widget-style":t.value},null,8,["tag-widget-style"]))}}),ve=i(_api.apaas.commonInfoCard.getGetById),ye=/* @__PURE__ */w({name:"CardViewRender",props:{id:{type:String,required:!0},modelKey:{type:String,required:!0},fetch:{type:Function},preview:{type:Boolean,default:!1}},emits:["mounted"],setup(e,{emit:l}){const t=s("card-view-render"),a=W(!1),o=W(!1),r=W(null),n=W({}),i=m(()=>{var e;return r.value?{width:(null===(e=r.value.pageNode)||void 0===e?void 0:e.data.width)?`${r.value.pageNode.data.width}px`:""}:{}});return async function(){if(e.id){try{a.value=!0,await async function(){const l=await ve({id:e.id,modelKey:e.modelKey,type:"CARD"});l&&l.designerJson&&(r.value=JSON.parse(decodeURIComponent(l.designerJson)))}(),!0!==e.preview&&e.fetch&&(n.value=await e.fetch()||{})}catch(t){console.error(t)}finally{a.value=!1}o.value=!0,await k(),setTimeout(()=>{var e;l("mounted",null===(e=r.value)||void 0===e||null===(e=e.pageNode)||void 0===e?void 0:e.data)})}}(),()=>S("div",{class:t.b(),style:i.value},[a.value?S(A("a-spin"),null,null):null,r.value&&o.value?S(oe,{context:{data:n.value,id:e.id,modelKey:e.modelKey},model:{nodes:r.value.nodes,pageNode:r.value.pageNode,tree:r.value.tree,type:u.CARD_VIEW},prefix:u.CARD_VIEW,preview:e.preview},null):null])}}),ge=["onMouseup"],me={key:1},be=/* @__PURE__ */w({__name:"ref-card-label-render",props:{tagWidgetStyle:{},disabled:{type:Boolean},values:{},label:{},showTagStyle:{type:Boolean,default:!0},trigger:{},getCardData:{},modelKey:{},refCardId:{}},setup(l){const t=l,a=t.trigger===e.HOVER?"primary-gct-hover":"primary-gct",o=T("labelLayout",{}),r=I({}),n=m(()=>{var e;const l=("string"==typeof t.label?(t.label??"").split(","):t.label)??[];return(null===(e=t.values)||void 0===e?void 0:e.filter((e,t)=>l[t]).map((e,t)=>({value:e,label:l[t]})))??[]}),i=K(()=>{var e;const l=null===(e=t.tagWidgetStyle)||void 0===e?void 0:e.contentFont;return l?c(l):{}}),d=K(()=>{var e;return(null===(e=i.value)||void 0===e?void 0:e.color)?i.value:{wordBreak:"break-all",...i.value}}),s=async(e,l)=>{r[l.value]=e};function u(e){s(!0,e)}function p(e){return t.getCardData.bind(null,e)}return(e,t)=>{const i=A("a-popover");return n.value.length?(B(),b(ie,{key:0,disabled:!!l.disabled,"label-layout":V(o)},{default:q(()=>{var e;return[l.showTagStyle&&(null===(e=l.tagWidgetStyle)||void 0===e?void 0:e.tagStyleOpen)?(B(!0),x(g,{key:0},R(n.value,(e,t)=>(B(),b(i,{key:t,trigger:l.trigger,visible:!!r[e.value],placement:"bottomLeft",color:"#fff","overlay-class-name":"gct-ref-card-popover min-w100px min-h30px max-h96vh",onVisibleChange:l=>s(l,e)},{content:q(()=>[S(V(ye),{id:l.refCardId,"model-key":l.modelKey,fetch:p(e.value)},null,8,["id","model-key","fetch"])]),default:q(()=>[S(ne,{"tag-style":l.tagWidgetStyle.tagStyle,onMouseup:l=>u(e)},{default:q(()=>[h("span",{class:O(["select-text cursor-pointer",V(a)]),style:P(d.value)},F(e.label),7)]),_:2},1032,["tag-style","onMouseup"])]),_:2},1032,["trigger","visible","onVisibleChange"]))),128)):(B(!0),x(g,{key:1},R(n.value,(e,o)=>(B(),x(g,{key:o},[h("span",null,F(o?",":""),1),S(i,{"overlay-class-name":"gct-ref-card-popover min-w100px min-h30px max-h96vh",visible:!!r[e.value],trigger:l.trigger,color:"#fff",placement:"bottomLeft",onVisibleChange:l=>s(l,e)},{content:q(()=>[S(V(ye),{id:l.refCardId,"model-key":l.modelKey,fetch:p(e.value)},null,8,["id","model-key","fetch"])]),default:q(()=>[h("span",{class:O(["select-text cursor-pointer",V(a)]),style:P(d.value),onClick:t[0]||(t[0]=U(()=>{},["stop"])),onMouseup:l=>u(e)},F(e.label),47,ge)]),_:2},1032,["visible","trigger","onVisibleChange"])],64))),128))]}),_:1},8,["disabled","label-layout"])):(B(),x("span",me," "))}}});function fe(e){const{fieldType:l,refCard:a,refCardId:o,readonly:r}=e.widget.props;(l===t.REF||l===t.REF_MULTI||l===t.RDO_REF)&&a&&o&&r&&L("refCardValues",{refCardValues:K(()=>{const l=e.modelValue??[];return l instanceof Array?l:l.split(",")}),widget:e.widget})}function xe(){var e;const l=T("refCardValues");if(!l)return{};const{fieldType:t,bindModelKey:a,refCardId:o,cardTrigger:r}=(null==l||null===(e=l.widget)||void 0===e?void 0:e.props)||{};return{refCardValues:null==l?void 0:l.refCardValues,trigger:r,getCardData:i(he,{fieldType:t,modelKey:a}),modelKey:a,refCardId:o}}async function he({fieldType:e,modelKey:a},o){if(e===t.RDO_REF){const{data:e={},dict:t={}}=await _api.apaas.modelComprehensive.postBizServiceGeneralModelCategoryModelKeyBsKey({modelKey:a,bsKey:"rdoGetVersionByRefId",modelCategory:l.ENTITY},{foreignFields:[]},{includeDeleted:1,refId:o});return v(e,t)}{const{data:e={},dict:t={}}=await _api.apaas.modelComprehensive.postBizServiceGeneralModelCategoryModelKeyBsKey({modelKey:a,bsKey:"getOne",modelCategory:l.ENTITY},{query:{"id_.eq":o},foreignFields:[]},{includeDeleted:1});return v(e,t)}}var Ce={key:0,class:"w100% ell"},Se={key:0,class:"gct-custom-tag ml8px"},we=/* @__PURE__ */w({__name:"field-readonly",props:{isTooltip:{type:Boolean},label:{},type:{},modelValue:{},tagWidgetStyle:{},disabled:{type:Boolean},iconExtraProps:{}},setup(e){const l=e,a=W(!1),o=m(()=>Array.isArray(l.label)?l.label.join(","):l.label),{refCardValues:r,trigger:n,getCardData:i,modelKey:d,refCardId:s}=xe(),u=m(()=>{var e;return(null==r||null===(e=r.value)||void 0===e?void 0:e.length)?_(be,{values:r.value,trigger:n,getCardData:i,modelKey:d,refCardId:s}):pe});function p(e){var t;if(!l.isTooltip)return;const o=null===(t=e.target)||void 0===t?void 0:t.parentNode;o.scrollWidth>o.clientWidth&&(a.value=!0)}function c(){a.value=!1}return(r,n)=>{const i=A("a-tooltip");return B(),b(i,{placement:"topLeft",visible:a.value},{title:q(()=>[C(F(o.value),1)]),default:q(()=>{var a;return[l.type===V(t).RDO_REF?(B(),x("div",Ce,[S(V(u),N(r.$attrs,{label:e.label,"tag-widget-style":l.tagWidgetStyle,disabled:l.disabled,"icon-extra-props":l.iconExtraProps,onMouseenter:p,onMouseleave:c}),null,16,["label","tag-widget-style","disabled","icon-extra-props"]),l.type===V(t).RDO_REF&&l.modelValue&&!(null===(a=l.modelValue)||void 0===a?void 0:a.includes(":"))?(B(),x("span",Se," 默认 ")):f("",!0)])):(B(),b(V(u),N({key:1},r.$attrs,{label:e.label,"tag-widget-style":l.tagWidgetStyle,disabled:l.disabled,"icon-extra-props":l.iconExtraProps,onMouseenter:p,onMouseleave:c}),null,16,["label","tag-widget-style","disabled","icon-extra-props"]))]}),_:1},8,["visible"])}}}),_e=/* @__PURE__ */w({name:"FieldSelect",props:{design:Boolean,disabled:Boolean,readonly:Boolean,selectExtraProps:Object,fieldType:{type:String,required:!0},type:{type:String,required:!0},tagStyle:{type:Object,required:!0},options:Array,value:[String,Number,Array],maxTagCount:{type:[Number,String],default:5},maxTagTextLength:{type:Number,default:6},selectOptionLabel:{type:String}},setup(e,{emit:l}){const t=m({get:()=>e.value,set(e){l("update:value",e)}}),o=(l,{name:t,iconExtraProps:a,otherParams:o={}})=>_(l,{tagWidgetStyle:e.tagStyle,type:e.fieldType,label:t,disabled:e.disabled,iconExtraProps:a,...o}),r=m(()=>(e.options??[]).map(l=>{var t;const{iconColor:a,icon:r,textColor:n}=l._item||{};return{...l,[(null===(t=e.selectExtraProps)||void 0===t?void 0:t.optionLabelProp)||"titleLabel"]:o(pe,{name:l.label,iconExtraProps:{[l.label]:{icon:r,iconColor:a,textColor:n}}})}}));function n(e,l){var t;const{_DICT:a={}}=e,o=e[l];return(null===(t=a[l])||void 0===t||null===(t=t[o])||void 0===t?void 0:t.join(","))??o??e.id_}const i=m(()=>{if(e.readonly){var l;const a=(null===(l=r.value)||void 0===l?void 0:l.filter(l=>{var a;if("multiple"===(null===(a=e.selectExtraProps)||void 0===a?void 0:a.mode))return Array.isArray(t.value)&&t.value.includes(l.value)}))??[],o=Object.fromEntries((null==a?void 0:a.map(e=>[e.label,Z((null==e?void 0:e._item)||{},["iconColor","icon","textColor"])]))??[]);return{labels:a.map(e=>e.label),icons:o}}return{}}),s={option:l=>{const{label:t,_item:r={}}=l;return e.type===a.Userpicker?S("div",{class:"flex items-center"},[S(z,{size:30,style:"margin: 0 8px;min-width:32px",src:d(r.avatar)},null),S("div",{style:"width:calc(100% - 35px)"},[S("div",{class:" w100% ell",title:t},[t]),S("div",{class:"text-[#8F8F8F] text-[12px] mt2px"},[r.masterOrgName])])]):o(pe,{name:e.selectOptionLabel?n(r,e.selectOptionLabel):t,iconExtraProps:{[t]:Z(r,["iconColor","icon","textColor"])},otherParams:{showTagStyle:!1}})}},u=l=>{var t;const{label:a,option:o,closable:r,onClose:n}=l,{_item:i={}}=o||{};return(({name:l,title:t,iconExtraProps:a,avatar:o,otherParams:r={}})=>S(ce,N({tagWidgetStyle:e.tagStyle,type:e.fieldType,label:l,avatar:o,title:(null==t?void 0:t.length)>e.maxTagTextLength?t:null,disabled:e.disabled,iconExtraProps:a},r),null))({name:a,title:null==o?void 0:o.label,avatar:null==o||null===(t=o._item)||void 0===t?void 0:t.avatar,iconExtraProps:{[a]:Z(i,["iconColor","icon","textColor"])},otherParams:{closable:r,"onOn-close":n,style:"margin-right: 4px"}})};return()=>{var l,a,n,d;return e.readonly?o(we,{name:null===(l=i.value)||void 0===l?void 0:l.labels,iconExtraProps:null===(a=i.value)||void 0===a?void 0:a.icons}):S(Q,N({class:["field-select","w100%"],value:t.value,"onUpdate:value":e=>t.value=e,options:r.value,disabled:e.disabled,optionLabelProp:"titleLabel",tagRender:u,showArrow:!0,maxTagCount:e.maxTagCount,maxTagTextLength:e.maxTagTextLength,dropdownMatchSelectWidth:180,dropdownClassName:"multiple"===(null===(n=e.selectExtraProps)||void 0===n?void 0:n.mode)?"gct-project-select-dropdown gct-project-select-multiple vxe-table--ignore-clear":"gct-project-select-dropdown vxe-table--ignore-clear"},e.selectExtraProps),(null===(d=e.selectExtraProps)||void 0===d?void 0:d.optionNoStyle)?null:s)}}}),Te=/* @__PURE__ */w({name:"FieldRadio",props:{design:Boolean,disabled:Boolean,readonly:Boolean,fieldType:{type:Object,required:!0},tagStyle:{type:Object,required:!0},options:Array,value:[String,Number]},setup(e,{emit:l}){const t=m({get:()=>e.value,set(e){l("update:value",e)}});return()=>{let l;return S(Y,{value:t.value,"onUpdate:value":e=>t.value=e,disabled:e.disabled,class:["field-radio-group",e.readonly?"field-radio-group--readonly":""]},"function"==typeof(a=l=(e.options??[]).map(l=>{const t=l,{icon:a,iconColor:o,textColor:r}=(null==t?void 0:t._item)||{};return S(J,{key:t.value,value:t.value},{default:()=>[S(we,{tagWidgetStyle:e.tagStyle,type:e.fieldType,label:t.label,disabled:e.disabled,iconExtraProps:{[t.label]:{icon:a,iconColor:o,textColor:r}}},null)]})}))||"[object Object]"===Object.prototype.toString.call(a)&&!E(a)?l:{default:()=>[l]});var a}}}),Ee=/* @__PURE__ */w({name:"FieldCheckbox",props:{design:Boolean,disabled:Boolean,readonly:Boolean,fieldType:{type:Object,required:!0},tagStyle:{type:Object,required:!0},options:Array,value:{type:[String,Array],required:!0}},setup(e,{emit:l}){const a=e.fieldType===t.BOOLEAN,o=m({get:()=>a?[e.value]:Array.isArray(e.value)?e.value:e.value?e.value.split(","):void 0,set(e){if(a){const t=null==e?void 0:e[0];l("update:value",null==t||"boolean"!=typeof t?Boolean(t):!!t)}else l("update:value",e)}}),r=m(()=>a?(e.options??[]).filter(e=>e.value):e.options??[]);return()=>S(H,{value:o.value,"onUpdate:value":e=>o.value=e,disabled:e.disabled,class:["field-checkbox-group",e.readonly?"field-checkbox-group--readonly":""]},{default:()=>{var l;return[null===(l=r.value)||void 0===l?void 0:l.map(l=>{const t=l,{icon:a,iconColor:o,textColor:r}=(null==t?void 0:t._item)||{};return S(G,{key:t.value,value:t.value},{default:()=>[S(we,{tagWidgetStyle:e.tagStyle,type:e.fieldType,label:t.label,disabled:e.disabled,iconExtraProps:{[t.label]:{icon:a,iconColor:o,textColor:r}}},null)]})})]}})}});function Ne(){console.log("Hello World!")}var ke=new URL("./index.min.css",import.meta.url);n.load(ke.href);export{oe as DesignRender,Ee as FieldCheckbox,Te as FieldRadio,_e as FieldSelect,ne as Tag,we as fieldReadonly,he as getDataByModelType,be as refCardLabelRender,Ne as run,ce as selectTag,le as setupPageEvent,pe as taglabel,xe as useGetRefCard,te as usePageEvent,fe as useRefCardData};
1
+ import{CARD_TRIGGER_ENUM as e,EntityModelCategoryEnum as t,FIELD_TYPE as l,FormComponents as a,MaterialEnum as o,TagTypeEnum as r,cssLoader as n,gctMemoizeAsync as i,transformUrl as s}from"@gct-paas/core";import{CardViewRender as d,schemaToStyle as u,transformDataToDict as c}from"@gct-paas/render";import{Fragment as p,computed as g,createBlock as v,createCommentVNode as y,createElementBlock as b,createElementVNode as f,createTextVNode as m,createVNode as h,defineComponent as x,h as S,inject as _,isVNode as C,mergeProps as w,normalizeClass as T,normalizeStyle as E,onMounted as k,openBlock as N,provide as P,reactive as B,ref as I,renderList as L,renderSlot as O,resolveComponent as M,toDisplayString as R,toRef as F,unref as W,useCssVars as D,withCtx as V,withModifiers as j}from"vue";import{Avatar as A,Checkbox as K,CheckboxGroup as $,Radio as U,RadioGroup as q,Select as H}from"ant-design-vue";import{isString as z,pick as G}from"lodash-es";var Y=Symbol("PAGE_EVENT"),J=e=>P(Y,e),Q=()=>{const e=_(Y);if(!e)throw new Error("PAGE_EVENT not provided");return e},X=(e,t)=>{const l=e.__vccOpts||e;for(const[a,o]of t)l[a]=o;return l},Z=/* @__PURE__ */X(/* @__PURE__ */x({__name:"tag-span",props:{tagStyle:{}},setup(e){D(e=>({v2ae1b805:a.value}));const t=e,l=F(()=>{var e;return(null===(e=t.tagStyle)||void 0===e?void 0:e.tagType)||r.RADIUS}),a=F(()=>{var e;return(null===(e=t.tagStyle)||void 0===e?void 0:e.color)||"#f0f0f0"}),o=F(()=>`tag-${l.value}`);return(e,t)=>(N(),b("span",{class:T(["tag cursor-pointer",o.value])},[O(e.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-6c8c4c7a"]]),ee=/* @__PURE__ */X(/* @__PURE__ */x({__name:"tag-layout",props:{labelLayout:{},disabled:{type:Boolean}},setup:e=>(t,l)=>{var a,o,r,n;return N(),b("span",{class:T([e.disabled?"tag-label-disabled":null,!(null===(a=e.labelLayout)||void 0===a?void 0:a.hasLabelWidth)||"left"!==(null===(o=e.labelLayout)||void 0===o?void 0:o.layout.label)&&"horizontal"!=(null===(r=e.labelLayout)||void 0===r?void 0:r.layout)?"":"ellipsis"==(null===(n=e.labelLayout)||void 0===n?void 0:n.overLabelDisplay)?"label-ellipsis":"label-wrap"])},[O(t.$slots,"default",{},void 0,!0)],2)}}),[["__scopeId","data-v-85e6a8f5"]]),te={class:"select-text"},le={class:"select-text"},ae={key:0},oe=/* @__PURE__ */x({__name:"tag-label",props:{tagWidgetStyle:{},type:{},disabled:{type:Boolean},label:{},isDesign:{type:Boolean},closable:{type:Boolean},showTagStyle:{type:Boolean,default:!0},avatar:{},iconExtraProps:{},iconProps:{}},emits:["on-close"],setup(e){const t=e,a=_gct.platformStore.themeSetting,o=_("labelLayout",{}),r=F(()=>{var e;let a=t.label??"";return t.showTagStyle&&(null===(e=t.tagWidgetStyle)||void 0===e?void 0:e.tagStyleOpen)||t.type===l.ENUM_MULTI||t.type===l.ENUM?a?z(a)?a.split(","):a:[]:a instanceof Array?a.join(","):a+""}),n=F(()=>{var e;const l=null===(e=t.tagWidgetStyle)||void 0===e?void 0:e.contentFont;return l?u(l):{}}),i=(e="")=>{var l,a;const o=(null===(l=t.iconExtraProps)||void 0===l?void 0:l[e])||{},r={};return(null==o?void 0:o.textColor)&&Object.assign(r,{color:null==o?void 0:o.textColor}),(null===(a=n.value)||void 0===a?void 0:a.color)?n.value:{wordBreak:"break-all",...n.value,...r}},d={render:({$attrs:e})=>{if(e.labelName){var l;const o=(null===(l=t.iconExtraProps)||void 0===l?void 0:l[e.labelName])||t.iconProps||{};if(!(null==o?void 0:o.icon))return;return S(M("icon-next"),{size:16,value:null==o?void 0:o.icon,color:(null==o?void 0:o.iconColor)||a.themeColor,style:"vertical-align: text-bottom; margin-right: 3px"})}}};return(a,n)=>{var u;const c=M("icon-next");return e.showTagStyle&&(null===(u=e.tagWidgetStyle)||void 0===u?void 0:u.tagStyleOpen)?(N(),v(ee,{key:0,disabled:!!e.disabled,"label-layout":W(o)},{default:V(()=>[(N(!0),b(p,null,L(r.value,(l,o)=>(N(),v(Z,{key:o,"tag-style":e.tagWidgetStyle.tagStyle,style:E(i(l))},{default:V(()=>[t.avatar?(N(),v(W(A),{key:0,src:W(s)(t.avatar),size:20,style:{"margin-top":"-5px"},class:"mr4px"},null,8,["src"])):y("",!0),h(d,{"label-name":l},null,8,["label-name"]),f("span",te,R(l),1),e.closable?(N(),v(c,{key:1,size:15,value:"icon-park:close-small",style:{verticalAlign:"text-bottom","--color":"rgba(0,0,0,.45)",lineHeight:"1",marginLeft:"2px"},onClick:n[0]||(n[0]=j(e=>a.$emit("on-close"),["prevent","stop"]))})):y("",!0)]),_:2},1032,["tag-style","style"]))),128))]),_:1},8,["disabled","label-layout"])):e.type===W(l).ENUM_MULTI||e.type===W(l).ENUM?(N(),v(ee,{key:1,disabled:!!e.disabled,"label-layout":W(o)},{default:V(()=>[(N(!0),b(p,null,L(r.value,(t,l)=>{var a;return N(),b("span",{key:l,style:E(i(t)),class:"mr-5px"},[h(d,{"label-name":t},null,8,["label-name"]),f("span",le,R(t)+R(!(null===(a=e.tagWidgetStyle)||void 0===a?void 0:a.tagStyleOpen)&&l<r.value.length-1?",":""),1)],4)}),128)),r.value.length?y("",!0):(N(),b("span",ae," "))]),_:1},8,["disabled","label-layout"])):(N(),v(ee,{key:2,style:E(i(r.value)),disabled:!!e.disabled,"label-layout":W(o),class:"select-text leading-none"},{default:V(()=>[m(R(r.value||" "),1)]),_:1},8,["style","disabled","label-layout"]))}}}),re=/* @__PURE__ */X(oe,[["__scopeId","data-v-6c507fe8"]]),ne=/* @__PURE__ */x({__name:"selectTag",props:{tagWidgetStyle:{}},setup(e){const t=e,l=F(()=>{return t.tagWidgetStyle.tagStyleOpen?t.tagWidgetStyle:{tagStyleOpen:!0,contentFont:null===(e=t.tagWidgetStyle)||void 0===e?void 0:e.contentFont};var e});return(e,t)=>(N(),v(re,{"tag-widget-style":l.value},null,8,["tag-widget-style"]))}}),ie=["onMouseup"],se={key:1},de=/* @__PURE__ */x({__name:"ref-card-label-render",props:{tagWidgetStyle:{},disabled:{type:Boolean},values:{},label:{},showTagStyle:{type:Boolean,default:!0},trigger:{},getCardData:{},modelKey:{},refCardId:{}},setup(t){const l=t,a=l.trigger===e.HOVER?"primary-gct-hover":"primary-gct",o=_("labelLayout",{}),r=B({}),n=g(()=>{var e;const t=("string"==typeof l.label?(l.label??"").split(","):l.label)??[];return(null===(e=l.values)||void 0===e?void 0:e.filter((e,l)=>t[l]).map((e,l)=>({value:e,label:t[l]})))??[]}),i=F(()=>{var e;const t=null===(e=l.tagWidgetStyle)||void 0===e?void 0:e.contentFont;return t?u(t):{}}),s=F(()=>{var e;return(null===(e=i.value)||void 0===e?void 0:e.color)?i.value:{wordBreak:"break-all",...i.value}}),c=async(e,t)=>{r[t.value]=e};function y(e){c(!0,e)}function m(e){return l.getCardData.bind(null,e)}return(e,l)=>{const i=M("a-spin"),u=M("a-popover");return n.value.length?(N(),v(ee,{key:0,disabled:!!t.disabled,"label-layout":W(o)},{default:V(()=>{var e;return[t.showTagStyle&&(null===(e=t.tagWidgetStyle)||void 0===e?void 0:e.tagStyleOpen)?(N(!0),b(p,{key:0},L(n.value,(e,l)=>(N(),v(u,{key:l,trigger:t.trigger,visible:!!r[e.value],placement:"bottomLeft",color:"#fff","overlay-class-name":"gct-ref-card-popover min-w100px min-h30px max-h96vh",onVisibleChange:t=>c(t,e)},{content:V(()=>[h(W(d),{id:t.refCardId,"model-key":t.modelKey,fetch:m(e.value)},{loading:V(()=>[h(i)]),_:1},8,["id","model-key","fetch"])]),default:V(()=>[h(Z,{"tag-style":t.tagWidgetStyle.tagStyle,onMouseup:t=>y(e)},{default:V(()=>[f("span",{class:T(["select-text cursor-pointer",W(a)]),style:E(s.value)},R(e.label),7)]),_:2},1032,["tag-style","onMouseup"])]),_:2},1032,["trigger","visible","onVisibleChange"]))),128)):(N(!0),b(p,{key:1},L(n.value,(e,o)=>(N(),b(p,{key:o},[f("span",null,R(o?",":""),1),h(u,{"overlay-class-name":"gct-ref-card-popover min-w100px min-h30px max-h96vh",visible:!!r[e.value],trigger:t.trigger,color:"#fff",placement:"bottomLeft",onVisibleChange:t=>c(t,e)},{content:V(()=>[h(W(d),{id:t.refCardId,"model-key":t.modelKey,fetch:m(e.value)},{loading:V(()=>[h(i)]),_:1},8,["id","model-key","fetch"])]),default:V(()=>[f("span",{class:T(["select-text cursor-pointer",W(a)]),style:E(s.value),onClick:l[0]||(l[0]=j(()=>{},["stop"])),onMouseup:t=>y(e)},R(e.label),47,ie)]),_:2},1032,["visible","trigger","onVisibleChange"])],64))),128))]}),_:1},8,["disabled","label-layout"])):(N(),b("span",se," "))}}}),ue=de;function ce(e){const{fieldType:t,refCard:a,refCardId:o,readonly:r}=e.widget.props;(t===l.REF||t===l.REF_MULTI||t===l.RDO_REF)&&a&&o&&r&&P("refCardValues",{refCardValues:F(()=>{const t=e.modelValue??[];return t instanceof Array?t:t.split(",")}),widget:e.widget})}function pe(){var e;const t=_("refCardValues");if(!t)return{};const{fieldType:l,bindModelKey:a,refCardId:o,cardTrigger:r}=(null==t||null===(e=t.widget)||void 0===e?void 0:e.props)||{};return{refCardValues:null==t?void 0:t.refCardValues,trigger:r,getCardData:i(ge,{fieldType:l,modelKey:a}),modelKey:a,refCardId:o}}async function ge({fieldType:e,modelKey:a},o){if(e===l.RDO_REF){const{data:e={},dict:l={}}=await _api.apaas.modelComprehensive.postBizServiceGeneralModelCategoryModelKeyBsKey({modelKey:a,bsKey:"rdoGetVersionByRefId",modelCategory:t.ENTITY},{foreignFields:[]},{includeDeleted:1,refId:o});return c(e,l)}{const{data:e={},dict:l={}}=await _api.apaas.modelComprehensive.postBizServiceGeneralModelCategoryModelKeyBsKey({modelKey:a,bsKey:"getOne",modelCategory:t.ENTITY},{query:{"id_.eq":o},foreignFields:[]},{includeDeleted:1});return c(e,l)}}var ve={key:0,class:"w100% ell"},ye={key:0,class:"gct-custom-tag ml8px"},be=/* @__PURE__ */x({__name:"field-readonly",props:{isTooltip:{type:Boolean},label:{},type:{},modelValue:{},tagWidgetStyle:{},disabled:{type:Boolean},iconExtraProps:{}},setup(e){const t=e,a=I(!1),o=g(()=>Array.isArray(t.label)?t.label.join(","):t.label),{refCardValues:r,trigger:n,getCardData:i,modelKey:s,refCardId:d}=pe(),u=g(()=>{var e;return(null==r||null===(e=r.value)||void 0===e?void 0:e.length)?S(ue,{values:r.value,trigger:n,getCardData:i,modelKey:s,refCardId:d}):re});function c(e){var l;if(!t.isTooltip)return;const o=null===(l=e.target)||void 0===l?void 0:l.parentNode;o.scrollWidth>o.clientWidth&&(a.value=!0)}function p(){a.value=!1}return(r,n)=>{const i=M("a-tooltip");return N(),v(i,{placement:"topLeft",visible:a.value},{title:V(()=>[m(R(o.value),1)]),default:V(()=>{var a;return[t.type===W(l).RDO_REF?(N(),b("div",ve,[h(W(u),w(r.$attrs,{label:e.label,"tag-widget-style":t.tagWidgetStyle,disabled:t.disabled,"icon-extra-props":t.iconExtraProps,onMouseenter:c,onMouseleave:p}),null,16,["label","tag-widget-style","disabled","icon-extra-props"]),t.type===W(l).RDO_REF&&t.modelValue&&!(null===(a=t.modelValue)||void 0===a?void 0:a.includes(":"))?(N(),b("span",ye," 默认 ")):y("",!0)])):(N(),v(W(u),w({key:1},r.$attrs,{label:e.label,"tag-widget-style":t.tagWidgetStyle,disabled:t.disabled,"icon-extra-props":t.iconExtraProps,onMouseenter:c,onMouseleave:p}),null,16,["label","tag-widget-style","disabled","icon-extra-props"]))]}),_:1},8,["visible"])}}}),fe=be,me=/* @__PURE__ */x({name:"FieldSelect",props:{design:Boolean,disabled:Boolean,readonly:Boolean,selectExtraProps:Object,fieldType:{type:String,required:!0},type:{type:String,required:!0},tagStyle:{type:Object,required:!0},options:Array,value:[String,Number,Array],maxTagCount:{type:[Number,String],default:5},maxTagTextLength:{type:Number,default:6},selectOptionLabel:{type:String}},setup(e,{emit:t}){const l=g({get:()=>e.value,set(e){t("update:value",e)}}),o=(t,{name:l,iconExtraProps:a,otherParams:o={}})=>S(t,{tagWidgetStyle:e.tagStyle,type:e.fieldType,label:l,disabled:e.disabled,iconExtraProps:a,...o}),r=g(()=>(e.options??[]).map(t=>{var l;const{iconColor:a,icon:r,textColor:n}=t._item||{};return{...t,[(null===(l=e.selectExtraProps)||void 0===l?void 0:l.optionLabelProp)||"titleLabel"]:o(re,{name:t.label,iconExtraProps:{[t.label]:{icon:r,iconColor:a,textColor:n}}})}}));function n(e,t){var l;const{_DICT:a={}}=e,o=e[t];return(null===(l=a[t])||void 0===l||null===(l=l[o])||void 0===l?void 0:l.join(","))??o??e.id_}const i=g(()=>{if(e.readonly){var t;const a=(null===(t=r.value)||void 0===t?void 0:t.filter(t=>{var a;if("multiple"===(null===(a=e.selectExtraProps)||void 0===a?void 0:a.mode))return Array.isArray(l.value)&&l.value.includes(t.value)}))??[],o=Object.fromEntries((null==a?void 0:a.map(e=>[e.label,G((null==e?void 0:e._item)||{},["iconColor","icon","textColor"])]))??[]);return{labels:a.map(e=>e.label),icons:o}}return{}}),d={option:t=>{const{label:l,_item:r={}}=t;return e.type===a.Userpicker?h("div",{class:"flex items-center"},[h(A,{size:30,style:"margin: 0 8px;min-width:32px",src:s(r.avatar)},null),h("div",{style:"width:calc(100% - 35px)"},[h("div",{class:" w100% ell",title:l},[l]),h("div",{class:"text-[#8F8F8F] text-[12px] mt2px"},[r.masterOrgName])])]):o(re,{name:e.selectOptionLabel?n(r,e.selectOptionLabel):l,iconExtraProps:{[l]:G(r,["iconColor","icon","textColor"])},otherParams:{showTagStyle:!1}})}},u=t=>{var l;const{label:a,option:o,closable:r,onClose:n}=t,{_item:i={}}=o||{};return(({name:t,title:l,iconExtraProps:a,avatar:o,otherParams:r={}})=>h(ne,w({tagWidgetStyle:e.tagStyle,type:e.fieldType,label:t,avatar:o,title:(null==l?void 0:l.length)>e.maxTagTextLength?l:null,disabled:e.disabled,iconExtraProps:a},r),null))({name:a,title:null==o?void 0:o.label,avatar:null==o||null===(l=o._item)||void 0===l?void 0:l.avatar,iconExtraProps:{[a]:G(i,["iconColor","icon","textColor"])},otherParams:{closable:r,"onOn-close":n,style:"margin-right: 4px"}})};return()=>{var t,a,n,s;return e.readonly?o(fe,{name:null===(t=i.value)||void 0===t?void 0:t.labels,iconExtraProps:null===(a=i.value)||void 0===a?void 0:a.icons}):h(H,w({class:["field-select","w100%"],value:l.value,"onUpdate:value":e=>l.value=e,options:r.value,disabled:e.disabled,optionLabelProp:"titleLabel",tagRender:u,showArrow:!0,maxTagCount:e.maxTagCount,maxTagTextLength:e.maxTagTextLength,dropdownMatchSelectWidth:180,dropdownClassName:"multiple"===(null===(n=e.selectExtraProps)||void 0===n?void 0:n.mode)?"gct-project-select-dropdown gct-project-select-multiple vxe-table--ignore-clear":"gct-project-select-dropdown vxe-table--ignore-clear"},e.selectExtraProps),(null===(s=e.selectExtraProps)||void 0===s?void 0:s.optionNoStyle)?null:d)}}}),he=/* @__PURE__ */x({name:"FieldRadio",props:{design:Boolean,disabled:Boolean,readonly:Boolean,fieldType:{type:Object,required:!0},tagStyle:{type:Object,required:!0},options:Array,value:[String,Number]},setup(e,{emit:t}){const l=g({get:()=>e.value,set(e){t("update:value",e)}});return()=>{let t;return h(q,{value:l.value,"onUpdate:value":e=>l.value=e,disabled:e.disabled,class:["field-radio-group",e.readonly?"field-radio-group--readonly":""]},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!C(e)}(t=(e.options??[]).map(t=>{const l=t,{icon:a,iconColor:o,textColor:r}=(null==l?void 0:l._item)||{};return h(U,{key:l.value,value:l.value},{default:()=>[h(fe,{tagWidgetStyle:e.tagStyle,type:e.fieldType,label:l.label,disabled:e.disabled,iconExtraProps:{[l.label]:{icon:a,iconColor:o,textColor:r}}},null)]})}))?t:{default:()=>[t]})}}}),xe=/* @__PURE__ */x({name:"FieldCheckbox",props:{design:Boolean,disabled:Boolean,readonly:Boolean,fieldType:{type:Object,required:!0},tagStyle:{type:Object,required:!0},options:Array,value:{type:[String,Array],required:!0}},setup(e,{emit:t}){const a=e.fieldType===l.BOOLEAN,o=g({get:()=>a?[e.value]:Array.isArray(e.value)?e.value:e.value?e.value.split(","):void 0,set(e){if(a){const l=null==e?void 0:e[0];t("update:value",null==l||"boolean"!=typeof l?Boolean(l):!!l)}else t("update:value",e)}}),r=g(()=>a?(e.options??[]).filter(e=>e.value):e.options??[]);return()=>h($,{value:o.value,"onUpdate:value":e=>o.value=e,disabled:e.disabled,class:["field-checkbox-group",e.readonly?"field-checkbox-group--readonly":""]},{default:()=>{var t;return[null===(t=r.value)||void 0===t?void 0:t.map(t=>{const l=t,{icon:a,iconColor:o,textColor:r}=(null==l?void 0:l._item)||{};return h(K,{key:l.value,value:l.value},{default:()=>[h(fe,{tagWidgetStyle:e.tagStyle,type:e.fieldType,label:l.label,disabled:e.disabled,iconExtraProps:{[l.label]:{icon:a,iconColor:o,textColor:r}}},null)]})})]}})}}),Se={grad:.9,turn:360,rad:360/(2*Math.PI)},_e=function(e){return"string"==typeof e?e.length>0:"number"==typeof e},Ce=function(e,t,l){return void 0===t&&(t=0),void 0===l&&(l=Math.pow(10,t)),Math.round(l*e)/l+0},we=function(e,t,l){return void 0===t&&(t=0),void 0===l&&(l=1),e>l?l:e>t?e:t},Te=function(e){return(e=isFinite(e)?e%360:0)>0?e:e+360},Ee=function(e){return{r:we(e.r,0,255),g:we(e.g,0,255),b:we(e.b,0,255),a:we(e.a)}},ke=function(e){return{r:Ce(e.r),g:Ce(e.g),b:Ce(e.b),a:Ce(e.a,3)}},Ne=/^#([0-9a-f]{3,8})$/i,Pe=function(e){var t=e.toString(16);return t.length<2?"0"+t:t},Be=function(e){var t=e.r,l=e.g,a=e.b,o=e.a,r=Math.max(t,l,a),n=r-Math.min(t,l,a),i=n?r===t?(l-a)/n:r===l?2+(a-t)/n:4+(t-l)/n:0;return{h:60*(i<0?i+6:i),s:r?n/r*100:0,v:r/255*100,a:o}},Ie=function(e){var t=e.h,l=e.s,a=e.v,o=e.a;t=t/360*6,l/=100,a/=100;var r=Math.floor(t),n=a*(1-l),i=a*(1-(t-r)*l),s=a*(1-(1-t+r)*l),d=r%6;return{r:255*[a,i,n,n,s,a][d],g:255*[s,a,a,i,n,n][d],b:255*[n,n,s,a,a,i][d],a:o}},Le=function(e){return{h:Te(e.h),s:we(e.s,0,100),l:we(e.l,0,100),a:we(e.a)}},Oe=function(e){return{h:Ce(e.h),s:Ce(e.s),l:Ce(e.l),a:Ce(e.a,3)}},Me=function(e){return Ie((l=(t=e).s,{h:t.h,s:(l*=((a=t.l)<50?a:100-a)/100)>0?2*l/(a+l)*100:0,v:a+l,a:t.a}));var t,l,a},Re=function(e){return{h:(t=Be(e)).h,s:(o=(200-(l=t.s))*(a=t.v)/100)>0&&o<200?l*a/100/(o<=100?o:200-o)*100:0,l:o/2,a:t.a};var t,l,a,o},Fe=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,We=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,De=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Ve=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,je={string:[[function(e){var t=Ne.exec(e);return t?(e=t[1]).length<=4?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:4===e.length?Ce(parseInt(e[3]+e[3],16)/255,2):1}:6===e.length||8===e.length?{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:8===e.length?Ce(parseInt(e.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(e){var t=De.exec(e)||Ve.exec(e);return t?t[2]!==t[4]||t[4]!==t[6]?null:Ee({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:void 0===t[7]?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(e){var t,l,a=Fe.exec(e)||We.exec(e);return a?Me(Le({h:(t=a[1],l=a[2],void 0===l&&(l="deg"),Number(t)*(Se[l]||1)),s:Number(a[3]),l:Number(a[4]),a:void 0===a[5]?1:Number(a[5])/(a[6]?100:1)})):null},"hsl"]],object:[[function(e){var t=e.r,l=e.g,a=e.b,o=e.a,r=void 0===o?1:o;return _e(t)&&_e(l)&&_e(a)?Ee({r:Number(t),g:Number(l),b:Number(a),a:Number(r)}):null},"rgb"],[function(e){var t=e.h,l=e.s,a=e.l,o=e.a,r=void 0===o?1:o;return _e(t)&&_e(l)&&_e(a)?Me(Le({h:Number(t),s:Number(l),l:Number(a),a:Number(r)})):null},"hsl"],[function(e){var t=e.h,l=e.s,a=e.v,o=e.a,r=void 0===o?1:o;return _e(t)&&_e(l)&&_e(a)?Ie(function(e){return{h:Te(e.h),s:we(e.s,0,100),v:we(e.v,0,100),a:we(e.a)}}({h:Number(t),s:Number(l),v:Number(a),a:Number(r)})):null},"hsv"]]},Ae=function(e,t){for(var l=0;l<t.length;l++){var a=t[l][0](e);if(a)return[a,t[l][1]]}return[null,void 0]},Ke=function(e,t){var l=Re(e);return{h:l.h,s:we(l.s+100*t,0,100),l:l.l,a:l.a}},$e=function(e){return(299*e.r+587*e.g+114*e.b)/1e3/255},Ue=function(e,t){var l=Re(e);return{h:l.h,s:l.s,l:we(l.l+100*t,0,100),a:l.a}},qe=function(){function e(e){this.parsed=function(e){return"string"==typeof e?Ae(e.trim(),je.string):"object"==typeof e&&null!==e?Ae(e,je.object):[null,void 0]}(e)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return e.prototype.isValid=function(){return null!==this.parsed},e.prototype.brightness=function(){return Ce($e(this.rgba),2)},e.prototype.isDark=function(){return $e(this.rgba)<.5},e.prototype.isLight=function(){return $e(this.rgba)>=.5},e.prototype.toHex=function(){return t=(e=ke(this.rgba)).r,l=e.g,a=e.b,r=(o=e.a)<1?Pe(Ce(255*o)):"","#"+Pe(t)+Pe(l)+Pe(a)+r;var e,t,l,a,o,r},e.prototype.toRgb=function(){return ke(this.rgba)},e.prototype.toRgbString=function(){return t=(e=ke(this.rgba)).r,l=e.g,a=e.b,(o=e.a)<1?"rgba("+t+", "+l+", "+a+", "+o+")":"rgb("+t+", "+l+", "+a+")";var e,t,l,a,o},e.prototype.toHsl=function(){return Oe(Re(this.rgba))},e.prototype.toHslString=function(){return t=(e=Oe(Re(this.rgba))).h,l=e.s,a=e.l,(o=e.a)<1?"hsla("+t+", "+l+"%, "+a+"%, "+o+")":"hsl("+t+", "+l+"%, "+a+"%)";var e,t,l,a,o},e.prototype.toHsv=function(){return e=Be(this.rgba),{h:Ce(e.h),s:Ce(e.s),v:Ce(e.v),a:Ce(e.a,3)};var e},e.prototype.invert=function(){return He({r:255-(e=this.rgba).r,g:255-e.g,b:255-e.b,a:e.a});var e},e.prototype.saturate=function(e){return void 0===e&&(e=.1),He(Ke(this.rgba,e))},e.prototype.desaturate=function(e){return void 0===e&&(e=.1),He(Ke(this.rgba,-e))},e.prototype.grayscale=function(){return He(Ke(this.rgba,-1))},e.prototype.lighten=function(e){return void 0===e&&(e=.1),He(Ue(this.rgba,e))},e.prototype.darken=function(e){return void 0===e&&(e=.1),He(Ue(this.rgba,-e))},e.prototype.rotate=function(e){return void 0===e&&(e=15),this.hue(this.hue()+e)},e.prototype.alpha=function(e){return"number"==typeof e?He({r:(t=this.rgba).r,g:t.g,b:t.b,a:e}):Ce(this.rgba.a,3);var t},e.prototype.hue=function(e){var t=Re(this.rgba);return"number"==typeof e?He({h:e,s:t.s,l:t.l,a:t.a}):Ce(t.h)},e.prototype.isEqual=function(e){return this.toHex()===He(e).toHex()},e}(),He=function(e){return e instanceof qe?e:new qe(e)},ze=/* @__PURE__ */X(/* @__PURE__ */x({__name:"multi-field-item",props:{config:{},isDesign:{type:Boolean},rowValue:{}},setup(e){const t=e,l=Q(),a=I(),o=g(()=>{var e;return(null===(e=t.config)||void 0===e||null===(e=e.event)||void 0===e?void 0:e.name)?t.isDesign?"辅助字段":a.value:""}),r=g(()=>t.config.style.labelType.includes("surface_")?{background:t.config.style.color,color:"#fff"}:t.config.style.labelType.includes("line_dashed_")?{border:`1px dashed ${He(t.config.style.color).alpha(.5).toRgbString()}`,color:t.config.style.color}:t.config.style.labelType.includes("line_")?{border:`1px solid ${He(t.config.style.color).alpha(.5).toRgbString()}`,color:t.config.style.color}:{background:He(t.config.style.color).alpha(.1).toRgbString(),color:t.config.style.color,border:`1px solid ${He(t.config.style.color).alpha(.5).toRgbString()}`});return k(async()=>{var e,o,r;(null===(e=t.config)||void 0===e||null===(e=e.event)||void 0===e?void 0:e.name)&&!t.isDesign&&(a.value=await l.runExportByName(null===(o=t.config)||void 0===o||null===(o=o.event)||void 0===o?void 0:o.name,{},t.rowValue,null===(r=t.config)||void 0===r||null===(r=r.event)||void 0===r?void 0:r.extraParams))}),(e,l)=>o.value?(N(),b("div",{key:0,class:T(["tag",t.config.style.labelType]),style:E(r.value)},R(o.value),7)):y("",!0)}}),[["__scopeId","data-v-ddac8ce3"]]),Ge={key:0,class:"flex tag-area"},Ye=/* @__PURE__ */X(/* @__PURE__ */x({__name:"multi-field-display",props:{widget:{},rowReadonly:{type:Boolean},isDesign:{type:Boolean},rowValue:{}},setup(e){const t=e,l=g(()=>t.rowReadonly&&t.widget.materialType===o.MaterialTableField&&t.widget.props.multiFieldDisplay);return(a,o)=>l.value?(N(),b("div",Ge,[(N(!0),b(p,null,L(t.widget.props.multiFieldConfig,(l,a)=>(N(),b("div",{key:a},[h(ze,{config:l,"is-design":t.isDesign,"row-value":e.rowValue},null,8,["config","is-design","row-value"])]))),128))])):y("",!0)}}),[["__scopeId","data-v-0f2f02cc"]]);function Je(){console.log("Hello World!")}var Qe=new URL("./index.min.css",import.meta.url);n.load(Qe.href);export{xe as FieldCheckbox,he as FieldRadio,me as FieldSelect,Ye as MultiFieldDisplay,Z as Tag,fe as fieldReadonly,ge as getDataByModelType,ue as refCardLabelRender,Je as run,ne as selectTag,J as setupPageEvent,re as taglabel,pe as useGetRefCard,Q as usePageEvent,ce as useRefCardData};
@@ -1,7 +1,6 @@
1
1
  import tag_span_default from "./tag-span.vue.mjs";
2
2
  import tag_layout_default from "./tag-layout.vue.mjs";
3
- import { CardViewRender } from "../../card-view-render/card-view-render.mjs";
4
- import { schemaToStyle } from "@gct-paas/render";
3
+ import { CardViewRender, schemaToStyle } from "@gct-paas/render";
5
4
  import { Fragment, computed, createBlock, createElementBlock, createElementVNode, createVNode, defineComponent, inject, normalizeClass, normalizeStyle, openBlock, reactive, renderList, resolveComponent, toDisplayString, toRef, unref, withCtx, withModifiers } from "vue";
6
5
  import { CARD_TRIGGER_ENUM } from "@gct-paas/core";
7
6
  //#region src/components/form-component/field-label/ref-card-label-render.vue?vue&type=script&setup=true&lang.ts
@@ -59,6 +58,7 @@ var ref_card_label_render_vue_vue_type_script_setup_true_lang_default = /* @__PU
59
58
  return props.getCardData.bind(null, id);
60
59
  }
61
60
  return (_ctx, _cache) => {
61
+ const _component_a_spin = resolveComponent("a-spin");
62
62
  const _component_a_popover = resolveComponent("a-popover");
63
63
  return !!showLabel.value.length ? (openBlock(), createBlock(tag_layout_default, {
64
64
  key: 0,
@@ -79,7 +79,10 @@ var ref_card_label_render_vue_vue_type_script_setup_true_lang_default = /* @__PU
79
79
  id: __props.refCardId,
80
80
  "model-key": __props.modelKey,
81
81
  fetch: cardFetch(i.value)
82
- }, null, 8, [
82
+ }, {
83
+ loading: withCtx(() => [createVNode(_component_a_spin)]),
84
+ _: 1
85
+ }, 8, [
83
86
  "id",
84
87
  "model-key",
85
88
  "fetch"
@@ -113,7 +116,10 @@ var ref_card_label_render_vue_vue_type_script_setup_true_lang_default = /* @__PU
113
116
  id: __props.refCardId,
114
117
  "model-key": __props.modelKey,
115
118
  fetch: cardFetch(i.value)
116
- }, null, 8, [
119
+ }, {
120
+ loading: withCtx(() => [createVNode(_component_a_spin)]),
121
+ _: 1
122
+ }, 8, [
117
123
  "id",
118
124
  "model-key",
119
125
  "fetch"
@@ -1,7 +1,7 @@
1
1
  import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_export-helper.mjs";
2
2
  import tag_label_vue_vue_type_script_setup_true_name_TagLabel_lang_default from "./tag-label.vue_vue_type_script_setup_true_name_TagLabel_lang.mjs";
3
- import './tag-label.vue_vue_type_style_index_0_scoped_4741c268_lang.css';/* empty css */
3
+ import './tag-label.vue_vue_type_style_index_0_scoped_6c507fe8_lang.css';/* empty css */
4
4
  //#region src/components/form-component/field-label/tag-label.vue
5
- var tag_label_default = /* @__PURE__ */ _plugin_vue_export_helper_default(tag_label_vue_vue_type_script_setup_true_name_TagLabel_lang_default, [["__scopeId", "data-v-4741c268"]]);
5
+ var tag_label_default = /* @__PURE__ */ _plugin_vue_export_helper_default(tag_label_vue_vue_type_script_setup_true_name_TagLabel_lang_default, [["__scopeId", "data-v-6c507fe8"]]);
6
6
  //#endregion
7
7
  export { tag_label_default as default };
@@ -123,7 +123,7 @@ var tag_label_vue_vue_type_script_setup_true_name_TagLabel_lang_default = /* @__
123
123
  style: normalizeStyle(getMsgColor(showLabel.value)),
124
124
  disabled: !!__props.disabled,
125
125
  "label-layout": unref(labelLayout),
126
- class: "select-text leading-none ell"
126
+ class: "select-text leading-none"
127
127
  }, {
128
128
  default: withCtx(() => [createTextVNode(toDisplayString(showLabel.value || "\xA0"), 1)]),
129
129
  _: 1
@@ -1,15 +1,15 @@
1
- .tag-label-disabled[data-v-4741c268] {
1
+ .tag-label-disabled[data-v-6c507fe8] {
2
2
  opacity: 0.5;
3
3
  }
4
- .label-ellipsis[data-v-4741c268] {
4
+ .label-ellipsis[data-v-6c507fe8] {
5
5
  overflow: hidden;
6
6
  text-overflow: ellipsis;
7
7
  white-space: nowrap;
8
8
  }
9
- .label-wrap[data-v-4741c268] {
9
+ .label-wrap[data-v-6c507fe8] {
10
10
  word-break: break-all;
11
11
  white-space: wrap;
12
12
  }
13
- .select-text[data-v-4741c268] {
13
+ .select-text[data-v-6c507fe8] {
14
14
  min-width: 16px;
15
15
  }
@@ -1,3 +1,2 @@
1
- import { DesignRender } from './design-render/design-render';
2
- export { DesignRender };
3
1
  export * from './form-component/index';
2
+ export * from './multi-field';
@@ -1,4 +1,3 @@
1
- import "./design-render/design-render.mjs";
2
1
  import "./form-component/field-label/tag-span.vue.mjs";
3
2
  import "./form-component/field-label/tag-label.vue.mjs";
4
3
  import "./form-component/field-label/selectTag.vue.mjs";
@@ -8,3 +7,5 @@ import "./form-component/FieldSelect.mjs";
8
7
  import "./form-component/FieldRadio.mjs";
9
8
  import "./form-component/FieldCheckbox.mjs";
10
9
  import "./form-component/index.mjs";
10
+ import "./multi-field/multi-field-display.vue.mjs";
11
+ import "./multi-field/index.mjs";
@@ -0,0 +1,2 @@
1
+ import { default as MultiFieldDisplay } from './multi-field-display.vue';
2
+ export { MultiFieldDisplay };
@@ -0,0 +1 @@
1
+ import "./multi-field-display.vue.mjs";
@@ -0,0 +1,9 @@
1
+ import { IBasicSchema } from '@gct-paas/schema';
2
+ type __VLS_Props = {
3
+ widget: IBasicSchema;
4
+ rowReadonly?: boolean;
5
+ isDesign?: boolean;
6
+ rowValue?: IObject;
7
+ };
8
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
9
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export-helper.mjs";
2
+ import multi_field_display_vue_vue_type_script_setup_true_lang_default from "./multi-field-display.vue_vue_type_script_setup_true_lang.mjs";
3
+ import './multi-field-display.vue_vue_type_style_index_0_scoped_0f2f02cc_lang.css';/* empty css */
4
+ //#region src/components/multi-field/multi-field-display.vue
5
+ var multi_field_display_default = /* @__PURE__ */ _plugin_vue_export_helper_default(multi_field_display_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-0f2f02cc"]]);
6
+ //#endregion
7
+ export { multi_field_display_default as default };
@@ -0,0 +1,38 @@
1
+ import multi_field_item_default from "./multi-field-item.vue.mjs";
2
+ import { Fragment, computed, createCommentVNode, createElementBlock, createVNode, defineComponent, openBlock, renderList } from "vue";
3
+ import { MaterialEnum } from "@gct-paas/core";
4
+ //#region src/components/multi-field/multi-field-display.vue?vue&type=script&setup=true&lang.ts
5
+ var _hoisted_1 = {
6
+ key: 0,
7
+ class: "flex tag-area"
8
+ };
9
+ var multi_field_display_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
10
+ __name: "multi-field-display",
11
+ props: {
12
+ widget: {},
13
+ rowReadonly: { type: Boolean },
14
+ isDesign: { type: Boolean },
15
+ rowValue: {}
16
+ },
17
+ setup(__props) {
18
+ const defProps = __props;
19
+ const showTag = computed(() => {
20
+ return defProps.rowReadonly && defProps.widget.materialType === MaterialEnum.MaterialTableField && defProps.widget.props.multiFieldDisplay;
21
+ });
22
+ return (_ctx, _cache) => {
23
+ return showTag.value ? (openBlock(), createElementBlock("div", _hoisted_1, [(openBlock(true), createElementBlock(Fragment, null, renderList(defProps.widget.props.multiFieldConfig, (item, idx) => {
24
+ return openBlock(), createElementBlock("div", { key: idx }, [createVNode(multi_field_item_default, {
25
+ config: item,
26
+ "is-design": defProps.isDesign,
27
+ "row-value": __props.rowValue
28
+ }, null, 8, [
29
+ "config",
30
+ "is-design",
31
+ "row-value"
32
+ ])]);
33
+ }), 128))])) : createCommentVNode("", true);
34
+ };
35
+ }
36
+ });
37
+ //#endregion
38
+ export { multi_field_display_vue_vue_type_script_setup_true_lang_default as default };
@@ -0,0 +1,4 @@
1
+ .tag-area[data-v-0f2f02cc] {
2
+ flex-wrap: nowrap;
3
+ width: auto;
4
+ }
@@ -0,0 +1,7 @@
1
+ type __VLS_Props = {
2
+ config: IObject;
3
+ isDesign: boolean;
4
+ rowValue?: IObject;
5
+ };
6
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
7
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export-helper.mjs";
2
+ import multi_field_item_vue_vue_type_script_setup_true_lang_default from "./multi-field-item.vue_vue_type_script_setup_true_lang.mjs";
3
+ import './multi-field-item.vue_vue_type_style_index_0_scoped_ddac8ce3_lang.css';/* empty css */
4
+ //#region src/components/multi-field/multi-field-item.vue
5
+ var multi_field_item_default = /* @__PURE__ */ _plugin_vue_export_helper_default(multi_field_item_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-ddac8ce3"]]);
6
+ //#endregion
7
+ export { multi_field_item_default as default };
@@ -0,0 +1,53 @@
1
+ import { usePageEvent } from "../../Event/Events.mjs";
2
+ import { computed, createCommentVNode, createElementBlock, defineComponent, normalizeClass, normalizeStyle, onMounted, openBlock, ref, toDisplayString } from "vue";
3
+ import { colord } from "colord";
4
+ //#region src/components/multi-field/multi-field-item.vue?vue&type=script&setup=true&lang.ts
5
+ var multi_field_item_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
6
+ __name: "multi-field-item",
7
+ props: {
8
+ config: {},
9
+ isDesign: { type: Boolean },
10
+ rowValue: {}
11
+ },
12
+ setup(__props) {
13
+ const props = __props;
14
+ const Event = usePageEvent();
15
+ const runName = ref();
16
+ const name = computed(() => {
17
+ if (!props.config?.event?.name) return "";
18
+ if (props.isDesign) return "辅助字段";
19
+ return runName.value;
20
+ });
21
+ const style = computed(() => {
22
+ if (props.config.style.labelType.includes("surface_")) return {
23
+ background: props.config.style.color,
24
+ color: "#fff"
25
+ };
26
+ if (props.config.style.labelType.includes("line_dashed_")) return {
27
+ border: `1px dashed ${colord(props.config.style.color).alpha(.5).toRgbString()}`,
28
+ color: props.config.style.color
29
+ };
30
+ if (props.config.style.labelType.includes("line_")) return {
31
+ border: `1px solid ${colord(props.config.style.color).alpha(.5).toRgbString()}`,
32
+ color: props.config.style.color
33
+ };
34
+ return {
35
+ background: colord(props.config.style.color).alpha(.1).toRgbString(),
36
+ color: props.config.style.color,
37
+ border: `1px solid ${colord(props.config.style.color).alpha(.5).toRgbString()}`
38
+ };
39
+ });
40
+ onMounted(async () => {
41
+ if (props.config?.event?.name && !props.isDesign) runName.value = await Event.runExportByName(props.config?.event?.name, {}, props.rowValue, props.config?.event?.extraParams);
42
+ });
43
+ return (_ctx, _cache) => {
44
+ return name.value ? (openBlock(), createElementBlock("div", {
45
+ key: 0,
46
+ class: normalizeClass(["tag", props.config.style.labelType]),
47
+ style: normalizeStyle(style.value)
48
+ }, toDisplayString(name.value), 7)) : createCommentVNode("", true);
49
+ };
50
+ }
51
+ });
52
+ //#endregion
53
+ export { multi_field_item_vue_vue_type_script_setup_true_lang_default as default };
@@ -0,0 +1,31 @@
1
+ .tag[data-v-ddac8ce3] {
2
+ display: flex;
3
+ align-items: center;
4
+ height: 22px;
5
+ margin-left: 8px;
6
+ font-size: 12px;
7
+ line-height: 22px;
8
+ white-space: nowrap;
9
+ }
10
+ .radius[data-v-ddac8ce3],
11
+ .surface_radius[data-v-ddac8ce3],
12
+ .line_radius[data-v-ddac8ce3],
13
+ .line_dashed_radius[data-v-ddac8ce3] {
14
+ padding-right: 6px;
15
+ padding-left: 6px;
16
+ border-radius: 3px;
17
+ }
18
+ .big_radius[data-v-ddac8ce3],
19
+ .surface_big_radius[data-v-ddac8ce3],
20
+ .line_big_radius[data-v-ddac8ce3] {
21
+ padding-right: 8px;
22
+ padding-left: 8px;
23
+ border-radius: 50px;
24
+ }
25
+ .line_status[data-v-ddac8ce3],
26
+ .surface_status[data-v-ddac8ce3],
27
+ .status[data-v-ddac8ce3] {
28
+ padding-right: 8px;
29
+ padding-left: 8px;
30
+ border-radius: 11px 3px 3px;
31
+ }
package/es/index.mjs CHANGED
@@ -1,5 +1,4 @@
1
1
  import { setupPageEvent, usePageEvent } from "./Event/Events.mjs";
2
- import { DesignRender } from "./components/design-render/design-render.mjs";
3
2
  import tag_span_default from "./components/form-component/field-label/tag-span.vue.mjs";
4
3
  import tag_label_default from "./components/form-component/field-label/tag-label.vue.mjs";
5
4
  import selectTag_default from "./components/form-component/field-label/selectTag.vue.mjs";
@@ -10,10 +9,11 @@ import field_readonly_default from "./components/form-component/field-readonly.v
10
9
  import FieldSelect_default from "./components/form-component/FieldSelect.mjs";
11
10
  import FieldRadio_default from "./components/form-component/FieldRadio.mjs";
12
11
  import FieldCheckbox_default from "./components/form-component/FieldCheckbox.mjs";
12
+ import multi_field_display_default from "./components/multi-field/multi-field-display.vue.mjs";
13
13
  import "./components/index.mjs";
14
14
  //#region src/index.ts
15
15
  function run() {
16
16
  console.log("Hello World!");
17
17
  }
18
18
  //#endregion
19
- export { DesignRender, FieldCheckbox_default as FieldCheckbox, FieldRadio_default as FieldRadio, FieldSelect_default as FieldSelect, tag_span_default as Tag, field_readonly_default as fieldReadonly, getDataByModelType, ref_card_label_render_default as refCardLabelRender, run, selectTag_default as selectTag, setupPageEvent, tag_label_default as taglabel, useGetRefCard, usePageEvent, useRefCardData };
19
+ export { FieldCheckbox_default as FieldCheckbox, FieldRadio_default as FieldRadio, FieldSelect_default as FieldSelect, multi_field_display_default as MultiFieldDisplay, tag_span_default as Tag, field_readonly_default as fieldReadonly, getDataByModelType, ref_card_label_render_default as refCardLabelRender, run, selectTag_default as selectTag, setupPageEvent, tag_label_default as taglabel, useGetRefCard, usePageEvent, useRefCardData };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gct-paas/render-web",
3
- "version": "0.1.5-test.2",
3
+ "version": "0.1.6-dev.1",
4
4
  "type": "module",
5
5
  "description": "paas 平台网页端底包",
6
6
  "loader": "dist/loader.esm.min.js",
@@ -32,21 +32,22 @@
32
32
  "author": "gct",
33
33
  "dependencies": {
34
34
  "ant-design-vue": "~3.2.20",
35
+ "colord": "^2.9.3",
35
36
  "exceljs": "^4.4.0",
36
37
  "vue": "^3.5.30",
37
- "@gct-paas/core": "0.1.5-test.2",
38
- "@gct-paas/core-web": "0.1.5-test.2",
39
- "@gct-paas/render": "0.1.5-test.2",
40
- "@gct-paas/schema": "0.1.5-test.2",
41
- "@gct-paas/scss": "0.1.5-test.2"
38
+ "@gct-paas/core-web": "0.1.6-dev.1",
39
+ "@gct-paas/core": "0.1.6-dev.1",
40
+ "@gct-paas/scss": "0.1.6-dev.1",
41
+ "@gct-paas/render": "0.1.6-dev.1",
42
+ "@gct-paas/schema": "0.1.6-dev.1"
42
43
  },
43
44
  "peerDependencies": {
44
45
  "vue": ">=3",
45
- "@gct-paas/core": "0.1.5-test.2",
46
- "@gct-paas/core-web": "0.1.5-test.2",
47
- "@gct-paas/render": "0.1.5-test.2",
48
- "@gct-paas/schema": "0.1.5-test.2",
49
- "@gct-paas/scss": "0.1.5-test.2"
46
+ "@gct-paas/core": "0.1.6-dev.1",
47
+ "@gct-paas/core-web": "0.1.6-dev.1",
48
+ "@gct-paas/schema": "0.1.6-dev.1",
49
+ "@gct-paas/render": "0.1.6-dev.1",
50
+ "@gct-paas/scss": "0.1.6-dev.1"
50
51
  },
51
52
  "scripts": {
52
53
  "dev": "cross-env NODE_ENV=development vite build --watch --config vite.dev.config.ts",
@@ -1,71 +0,0 @@
1
- @charset "UTF-8";
2
- /* stylelint-disable scss/no-global-function-names */
3
- /* bem('block', 'element', 'modifier') => 'ibiz-block__element--modifier' */
4
- /**
5
- * 定义 Block 块
6
- * @param {String} $block - Block 块名称
7
- * @example
8
- * @include b('button') {
9
- * padding: 10px;
10
- * }
11
- */
12
- /**
13
- * 定义 Element 元素
14
- * @param {String|List} $element - Element 元素名称,支持单个或多个
15
- * @example
16
- * @include b('button') {
17
- * @include e('text') {
18
- * color: #000;
19
- * }
20
- * }
21
- * // 或传入多个元素
22
- * @include b('button') {
23
- * @include e(('text', 'icon')) {
24
- * margin: 5px;
25
- * }
26
- * }
27
- */
28
- /**
29
- * 定义 Modifier 修饰符
30
- * @param {String|List} $modifier - Modifier 修饰符名称,支持单个或多个
31
- * @example
32
- * @include b('button') {
33
- * @include m('primary') {
34
- * background: blue;
35
- * }
36
- * }
37
- * // 或传入多个修饰符
38
- * @include b('button') {
39
- * @include m(('primary', 'large')) {
40
- * background: blue;
41
- * font-size: 16px;
42
- * }
43
- * }
44
- */
45
- /**
46
- * 定义状态选择器
47
- * @param {String} $state - 状态名称
48
- * @example
49
- * @include b('button') {
50
- * @include when('disabled') {
51
- * opacity: 0.5;
52
- * }
53
- * }
54
- */
55
- /**
56
- * 深色主题样式
57
- * @param {String} $block - Block 块名称
58
- * @example
59
- * @include dark('button') {
60
- * background: #333;
61
- * color: #fff;
62
- * }
63
- */
64
- /* stylelint-disable scss/no-global-function-names */
65
- .gct-card-view-render {
66
- position: relative;
67
- }
68
- .gct-card-view-render .gct-design-render {
69
- width: auto;
70
- height: auto;
71
- }
@@ -1,38 +0,0 @@
1
- import { PropType } from 'vue';
2
- export declare const CardViewRender: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
3
- id: {
4
- type: StringConstructor;
5
- required: true;
6
- };
7
- modelKey: {
8
- type: StringConstructor;
9
- required: true;
10
- };
11
- fetch: {
12
- type: PropType<() => Promise<IObject>>;
13
- };
14
- preview: {
15
- type: BooleanConstructor;
16
- default: boolean;
17
- };
18
- }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "mounted"[], "mounted", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
19
- id: {
20
- type: StringConstructor;
21
- required: true;
22
- };
23
- modelKey: {
24
- type: StringConstructor;
25
- required: true;
26
- };
27
- fetch: {
28
- type: PropType<() => Promise<IObject>>;
29
- };
30
- preview: {
31
- type: BooleanConstructor;
32
- default: boolean;
33
- };
34
- }>> & Readonly<{
35
- onMounted?: ((...args: any[]) => any) | undefined;
36
- }>, {
37
- preview: boolean;
38
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
@@ -1,85 +0,0 @@
1
- import { DesignRender } from "../design-render/design-render.mjs";
2
- import './card-view-render.css';/* empty css */
3
- import { DesignRenderViewPrefix } from "@gct-paas/render";
4
- import { computed, createVNode, defineComponent, nextTick, ref, resolveComponent } from "vue";
5
- import { gctMemoizeAsync, useNamespace } from "@gct-paas/core";
6
- //#region src/components/card-view-render/card-view-render.tsx
7
- var loadModelAsync = gctMemoizeAsync(_api.apaas.commonInfoCard.getGetById);
8
- var CardViewRender = /* @__PURE__ */ defineComponent({
9
- name: "CardViewRender",
10
- props: {
11
- id: {
12
- type: String,
13
- required: true
14
- },
15
- modelKey: {
16
- type: String,
17
- required: true
18
- },
19
- fetch: { type: Function },
20
- preview: {
21
- type: Boolean,
22
- default: false
23
- }
24
- },
25
- emits: ["mounted"],
26
- setup(props, { emit }) {
27
- const ns = useNamespace("card-view-render");
28
- const isLoading = ref(false);
29
- const isLoaded = ref(false);
30
- const json = ref(null);
31
- const data = ref({});
32
- const style = computed(() => {
33
- if (json.value) return { width: json.value.pageNode?.data.width ? `${json.value.pageNode.data.width}px` : "" };
34
- return {};
35
- });
36
- async function loadModel() {
37
- const res = await loadModelAsync({
38
- id: props.id,
39
- modelKey: props.modelKey,
40
- type: "CARD"
41
- });
42
- if (res && res.designerJson) json.value = JSON.parse(decodeURIComponent(res.designerJson));
43
- }
44
- async function onInit() {
45
- if (!props.id) return;
46
- try {
47
- isLoading.value = true;
48
- await loadModel();
49
- if (props.preview !== true && props.fetch) data.value = await props.fetch() || {};
50
- } catch (error) {
51
- console.error(error);
52
- } finally {
53
- isLoading.value = false;
54
- }
55
- isLoaded.value = true;
56
- await nextTick();
57
- setTimeout(() => {
58
- emit("mounted", json.value?.pageNode?.data);
59
- });
60
- }
61
- onInit();
62
- return () => {
63
- return createVNode("div", {
64
- "class": ns.b(),
65
- "style": style.value
66
- }, [isLoading.value ? createVNode(resolveComponent("a-spin"), null, null) : null, !json.value || !isLoaded.value ? null : createVNode(DesignRender, {
67
- "context": {
68
- data: data.value,
69
- id: props.id,
70
- modelKey: props.modelKey
71
- },
72
- "model": {
73
- nodes: json.value.nodes,
74
- pageNode: json.value.pageNode,
75
- tree: json.value.tree,
76
- type: DesignRenderViewPrefix.CARD_VIEW
77
- },
78
- "prefix": DesignRenderViewPrefix.CARD_VIEW,
79
- "preview": props.preview
80
- }, null)]);
81
- };
82
- }
83
- });
84
- //#endregion
85
- export { CardViewRender };
@@ -1,71 +0,0 @@
1
- @charset "UTF-8";
2
- /* stylelint-disable scss/no-global-function-names */
3
- /* bem('block', 'element', 'modifier') => 'ibiz-block__element--modifier' */
4
- /**
5
- * 定义 Block 块
6
- * @param {String} $block - Block 块名称
7
- * @example
8
- * @include b('button') {
9
- * padding: 10px;
10
- * }
11
- */
12
- /**
13
- * 定义 Element 元素
14
- * @param {String|List} $element - Element 元素名称,支持单个或多个
15
- * @example
16
- * @include b('button') {
17
- * @include e('text') {
18
- * color: #000;
19
- * }
20
- * }
21
- * // 或传入多个元素
22
- * @include b('button') {
23
- * @include e(('text', 'icon')) {
24
- * margin: 5px;
25
- * }
26
- * }
27
- */
28
- /**
29
- * 定义 Modifier 修饰符
30
- * @param {String|List} $modifier - Modifier 修饰符名称,支持单个或多个
31
- * @example
32
- * @include b('button') {
33
- * @include m('primary') {
34
- * background: blue;
35
- * }
36
- * }
37
- * // 或传入多个修饰符
38
- * @include b('button') {
39
- * @include m(('primary', 'large')) {
40
- * background: blue;
41
- * font-size: 16px;
42
- * }
43
- * }
44
- */
45
- /**
46
- * 定义状态选择器
47
- * @param {String} $state - 状态名称
48
- * @example
49
- * @include b('button') {
50
- * @include when('disabled') {
51
- * opacity: 0.5;
52
- * }
53
- * }
54
- */
55
- /**
56
- * 深色主题样式
57
- * @param {String} $block - Block 块名称
58
- * @example
59
- * @include dark('button') {
60
- * background: #333;
61
- * color: #fff;
62
- * }
63
- */
64
- /* stylelint-disable scss/no-global-function-names */
65
- .gct-design-render {
66
- position: relative;
67
- width: 100%;
68
- height: 100%;
69
- overflow: hidden auto;
70
- background-color: #f7f8fa;
71
- }
@@ -1,53 +0,0 @@
1
- import { PropType, VNode } from 'vue';
2
- import { IDesignData, IDesignNode } from '@gct-paas/schema';
3
- import { IDesignRenderController } from '@gct-paas/render';
4
- export declare const DesignRender: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
5
- model: {
6
- type: PropType<IDesignData>;
7
- required: true;
8
- };
9
- prefix: {
10
- type: StringConstructor;
11
- default: string;
12
- };
13
- preview: {
14
- type: BooleanConstructor;
15
- default: boolean;
16
- };
17
- context: {
18
- type: PropType<IContext>;
19
- default: () => {};
20
- };
21
- }>, {
22
- ns: import('@gct-paas/core').Namespace;
23
- c: IDesignRenderController;
24
- style: import('vue').ComputedRef<IObject>;
25
- rootNodes: IDesignNode<import('@gct-paas/schema').IDesignNodeData>[];
26
- renderNode: (node: IDesignNode, parent?: IDesignNode) => import("vue/jsx-runtime").JSX.Element | null;
27
- renderPageNode: (child: VNode[]) => VNode<import('vue').RendererNode, import('vue').RendererElement, {
28
- [key: string]: any;
29
- }>[] | VNode<import('vue').RendererNode, import('vue').RendererElement, {
30
- [key: string]: any;
31
- }>;
32
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
33
- model: {
34
- type: PropType<IDesignData>;
35
- required: true;
36
- };
37
- prefix: {
38
- type: StringConstructor;
39
- default: string;
40
- };
41
- preview: {
42
- type: BooleanConstructor;
43
- default: boolean;
44
- };
45
- context: {
46
- type: PropType<IContext>;
47
- default: () => {};
48
- };
49
- }>> & Readonly<{}>, {
50
- prefix: string;
51
- preview: boolean;
52
- context: IContext;
53
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
@@ -1,126 +0,0 @@
1
- import { DesignRenderItem } from "../design-render-item/design-render-item.mjs";
2
- import './design-render.css';/* empty css */
3
- import { RenderNodeRegister, useDesignRenderController } from "@gct-paas/render";
4
- import { computed, createTextVNode, createVNode, defineComponent, h, resolveComponent, watch } from "vue";
5
- import { calcStyle, useNamespace } from "@gct-paas/core";
6
- import { DesignNodeMode } from "@gct-paas/schema";
7
- //#region src/components/design-render/design-render.tsx
8
- var DesignRender = /* @__PURE__ */ defineComponent({
9
- name: "DesignRender",
10
- props: {
11
- model: {
12
- type: Object,
13
- required: true
14
- },
15
- prefix: {
16
- type: String,
17
- default: ""
18
- },
19
- preview: {
20
- type: Boolean,
21
- default: false
22
- },
23
- context: {
24
- type: Object,
25
- default: () => {
26
- return {};
27
- }
28
- }
29
- },
30
- setup(props) {
31
- const ns = useNamespace("design-render");
32
- const c = useDesignRenderController();
33
- c.prefix = props.prefix;
34
- c.preview = props.preview;
35
- c.setNodes(props.model.nodes);
36
- c.setTree(props.model.tree);
37
- watch(() => props.context, () => {
38
- c.state.context = props.context;
39
- }, { immediate: true });
40
- const style = computed(() => {
41
- if (props.model.pageNode) return calcStyle(props.model.pageNode.data);
42
- return {};
43
- });
44
- const rootNodes = c.getNodes();
45
- function renderNodeItem(node, parent) {
46
- const provider = RenderNodeRegister.get(node.type, c.prefix);
47
- const itemC = c.getController(node.id);
48
- return h(resolveComponent(provider.component), {
49
- key: node.id,
50
- c: itemC,
51
- model: node,
52
- parent,
53
- preview: props.preview,
54
- context: c.state.context,
55
- pageModel: props.model.pageNode
56
- });
57
- }
58
- function renderNodeContainer(node, parent) {
59
- const provider = RenderNodeRegister.get(node.type, c.prefix);
60
- const items = c.getNodes(node.id);
61
- const itemC = c.getController(node.id);
62
- return h(resolveComponent(provider.component), {
63
- key: node.id,
64
- c: itemC,
65
- model: node,
66
- parent,
67
- preview: props.preview,
68
- context: c.state.context,
69
- pageModel: props.model.pageNode
70
- }, items.map((_) => {
71
- return renderNode(_, node);
72
- }));
73
- }
74
- function renderNode(node, parent) {
75
- const provider = RenderNodeRegister.get(node.type, c.prefix);
76
- if (!provider) {
77
- console.warn(`未找到节点类型为${node.type}的渲染器`);
78
- return null;
79
- }
80
- let content = null;
81
- if (provider.mode === DesignNodeMode.CONTAINER) content = renderNodeContainer(node, parent);
82
- else if (provider.mode === DesignNodeMode.ITEM) content = renderNodeItem(node, parent);
83
- else content = createVNode("div", null, [
84
- createTextVNode("未支持的适配器模式["),
85
- provider.mode,
86
- createTextVNode("]")
87
- ]);
88
- return createVNode(DesignRenderItem, { "model": node }, { default: () => content });
89
- }
90
- function renderPageNode(child) {
91
- if (!props.model.pageNode) return child;
92
- const provider = RenderNodeRegister.get(props.model.pageNode.type, c.prefix);
93
- if (!provider) {
94
- console.warn(`未找到页面节点类型为${props.model.pageNode.type}的渲染器`);
95
- return child;
96
- }
97
- const itemC = c.getController(props.model.pageNode.id);
98
- return h(resolveComponent(provider.component), {
99
- key: props.model.pageNode.id,
100
- c: itemC,
101
- model: props.model.pageNode,
102
- parent: void 0,
103
- preview: props.preview,
104
- context: c.state.context
105
- }, child);
106
- }
107
- return {
108
- ns,
109
- c,
110
- style,
111
- rootNodes,
112
- renderNode,
113
- renderPageNode
114
- };
115
- },
116
- render() {
117
- return createVNode("div", {
118
- "class": this.ns.b(),
119
- "style": this.style
120
- }, [this.renderPageNode(this.rootNodes.map((node) => {
121
- return this.renderNode(node);
122
- }))]);
123
- }
124
- });
125
- //#endregion
126
- export { DesignRender };
@@ -1,16 +0,0 @@
1
- import { PropType } from 'vue';
2
- import { IDesignNode } from '@gct-paas/schema';
3
- export declare const DesignRenderItem: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
4
- model: {
5
- type: PropType<IDesignNode>;
6
- required: true;
7
- };
8
- }>, {
9
- ns: import('@gct-paas/core').Namespace;
10
- style: IObject;
11
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
12
- model: {
13
- type: PropType<IDesignNode>;
14
- required: true;
15
- };
16
- }>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
@@ -1,24 +0,0 @@
1
- import { createVNode, defineComponent } from "vue";
2
- import { calcStyle, useNamespace } from "@gct-paas/core";
3
- //#region src/components/design-render-item/design-render-item.tsx
4
- var DesignRenderItem = /* @__PURE__ */ defineComponent({
5
- name: "DesignRenderItem",
6
- props: { model: {
7
- type: Object,
8
- required: true
9
- } },
10
- setup(props) {
11
- return {
12
- ns: useNamespace("design-render-item"),
13
- style: calcStyle(props.model.data)
14
- };
15
- },
16
- render() {
17
- return createVNode("div", {
18
- "class": this.ns.b(),
19
- "style": this.style
20
- }, [this.$slots.default?.()]);
21
- }
22
- });
23
- //#endregion
24
- export { DesignRenderItem };