UNPKG

vxe-pc-ui

Version:
1 lines 3.12 kB
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeText",props:{status:String,title:[String,Number],icon:String,prefixIcon:String,suffixIcon:String,loading:Boolean,content:[String,Number],clickToCopy:{type:Boolean,default:()=>(0,_ui.getConfig)().text.clickToCopy},copyConfig:Object,size:{type:String,default:()=>(0,_ui.getConfig)().text.size||(0,_ui.getConfig)().size}},emits:["click","dblclick","prefix-click","suffix-click","copy-success","copy-error"],setup(p,e){let{emit:c,slots:x}=e;var t=_xeUtils.default.uniqueId();let u=(0,_ui.useSize)(p).computeSize,s=(0,_vue.ref)(),v=(0,_vue.ref)();var i=(0,_vue.reactive)({});let f=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().text.copyConfig,p.copyConfig)),o={refElem:s},n={},r=e=>{var t=p.content,i=f.value.showMessage,c=v.value,c=(c?c.textContent:"")||t;c&&(_ui.VxeUI.clipboard.copy(c)?(i&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:(0,_ui.getI18n)("vxe.text.copySuccess"),status:"success"}),_("copy-success",{},e)):(i&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:(0,_ui.getI18n)("vxe.text.copyError"),status:"error"}),_("copy-error",{},e)))},l=e=>{var t=p.clickToCopy,i=f.value;t&&"dblclick"!==i.trigger&&r(e)},a=e=>{var t=p.clickToCopy,i=f.value;t&&"dblclick"===i.trigger&&r(e)},g={xID:t,props:p,context:e,reactData:i,getRefMaps:()=>o,getComputeMaps:()=>n},_=(e,t,i)=>{c(e,(0,_ui.createEvent)(i,{$text:g},t))};t={dispatchEvent:_};let d=e=>{var t=p.loading;t||_("click",{},e)},k=e=>{var t=p.loading;t||_("dblclick",{},e)},y=e=>{var t=p.loading;t||_("prefix-click",{},e)},h=e=>{var t=p.loading;t||_("suffix-click",{},e)};Object.assign(g,t,{});let m=()=>{var{icon:e,status:t}=f.value;return(0,_vue.h)("span",{key:"ci",class:["vxe-text--copy-icon",{["theme--"+t]:t}],onClick:l,onDblclick:a},[(0,_vue.h)("i",{class:e||(0,_ui.getIcon)().TEXT_COPY})])};return g.renderVN=()=>{var{loading:e,status:t,title:i,clickToCopy:c}=p,o=u.value;return(0,_vue.h)("span",{ref:s,title:i,class:["vxe-text",{["size--"+o]:o,["theme--"+t]:t,"is--copy":c,"is--loading":e}]},(()=>{var{loading:e,icon:t,prefixIcon:i,suffixIcon:c,clickToCopy:o,content:u}=p,s=f.value,n=x.default,r=x.prefixIcon||x["prefix-icon"]||x.icon,l=x.suffixIcon||x["suffix-icon"],s="right"===s.layout,a=[];return e?a.push((0,_vue.h)("span",{key:"lg",class:"vxe-text--loading"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().TEXT_LOADING})])):o&&!s&&a.push(m()),(i||t)&&a.push((0,_vue.h)("span",{key:"si",class:"vxe-text--prefix-icon",onClick:y},r?r({}):[(0,_vue.h)("i",{class:i||t})])),a.push((0,_vue.h)("span",{key:"ct",ref:v,class:"vxe-text--content",onClick:d,onDblclick:k},n?n({}):_xeUtils.default.toValueString(u))),c&&a.push((0,_vue.h)("span",{key:"si",class:"vxe-text--suffix-icon",onClick:h},l?l({}):[(0,_vue.h)("i",{class:c})])),o&&s&&!e&&a.push(m()),a})())},g},render(){return this.renderVN()}});