UNPKG

vxe-pc-ui

Version:
1 lines 2.02 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_core=require("@vxe-ui/core"),_util=require("./util"),_xeUtils=_interopRequireDefault(require("xe-utils")),_image=_interopRequireDefault(require("./image"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeImageGroup",props:{urlList:[Array,String],showPreview:{type:Boolean,default:()=>(0,_core.getConfig)().imageGroup.showPreview},imageStyle:Object,size:{type:String,default:()=>(0,_core.getConfig)().imageGroup.size||(0,_core.getConfig)().size},showPrintButton:{type:Boolean,default:()=>(0,_core.getConfig)().imageGroup.showPrintButton},showDownloadButton:{type:Boolean,default:()=>(0,_core.getConfig)().imageGroup.showDownloadButton}},emits:["click"],setup(a,e){const i=e["emit"];var t=_xeUtils.default.uniqueId();const u=(0,_core.useSize)(a)["computeSize"],l=(0,_vue.computed)(()=>{var e=a["urlList"];return e?(_xeUtils.default.isArray(e)?e:[e]).map(e=>_xeUtils.default.isString(e)?{url:e,alt:""}:{url:e.url,alt:e.alt}):[]}),o=(0,_vue.computed)(()=>Object.assign({},(0,_core.getConfig)().imageGroup.imageStyle,a.imageStyle)),r={computeSize:u},n={xID:t,props:a,context:e,getComputeMaps:()=>r},s={dispatchEvent(e,t,r){i(e,(0,_core.createEvent)(r,{$imageGroup:n},t))}};Object.assign(n,s,{handleClickImgEvent(e,t){var{showPreview:r,showPrintButton:i,showDownloadButton:u}=a;const o=t["url"];t=l.value;r&&o&&(0,_util.openPreviewImage)({activeIndex:Math.max(0,_xeUtils.default.findIndexOf(t,e=>e.url===o)),urlList:t,showPrintButton:i,showDownloadButton:u}),s.dispatchEvent("click",{url:o,urlList:t},e)}});return n.renderVN=()=>{var e=l.value,t=u.value;const r=o.value;return(0,_vue.h)("div",{class:["vxe-image-group",{["size--"+t]:t}]},e?e.map((e,t)=>(0,_vue.h)(_image.default,{key:t,src:e.url,alt:e.alt,width:r.width,height:r.height})):[])},(0,_vue.provide)("$xeImageGroup",n),n},render(){return this.renderVN()}});