vxe-pc-ui 4.20.0 → 4.20.2
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.
- package/dist/all.esm.js +780 -173
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/card/src/card.js +19 -4
- package/es/drawer/src/drawer.js +59 -15
- package/es/drawer/style.css +13 -6
- package/es/drawer/style.min.css +1 -1
- package/es/icon/style.css +1 -1
- package/es/language/fr-FR.js +29 -29
- package/es/layout-aside/src/layout-aside.js +10 -6
- package/es/layout-body/src/layout-body.js +21 -12
- package/es/list/src/list.js +118 -49
- package/es/list/style.css +25 -8
- package/es/list/style.min.css +1 -1
- package/es/menu/src/menu.js +2 -2
- package/es/modal/src/modal.js +56 -12
- package/es/modal/style.css +15 -4
- package/es/modal/style.min.css +1 -1
- package/es/scrollbar/src/scrollbar.js +73 -19
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tabs/src/tabs.js +21 -6
- package/es/tree/src/tree.js +410 -53
- package/es/tree/style.css +43 -0
- package/es/tree/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/ui/src/utils.js +3 -0
- package/es/vxe-drawer/style.css +13 -6
- package/es/vxe-drawer/style.min.css +1 -1
- package/es/vxe-list/style.css +25 -8
- package/es/vxe-list/style.min.css +1 -1
- package/es/vxe-modal/style.css +15 -4
- package/es/vxe-modal/style.min.css +1 -1
- package/es/vxe-tree/style.css +43 -0
- package/es/vxe-tree/style.min.css +1 -1
- package/lib/card/src/card.js +19 -4
- package/lib/card/src/card.min.js +1 -1
- package/lib/drawer/src/drawer.js +64 -11
- package/lib/drawer/src/drawer.min.js +1 -1
- package/lib/drawer/style/style.css +13 -6
- package/lib/drawer/style/style.min.css +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +887 -183
- package/lib/index.umd.min.js +1 -1
- package/lib/language/fr-FR.js +29 -29
- package/lib/language/fr-FR.min.js +1 -1
- package/lib/language/fr-FR.umd.js +29 -29
- package/lib/layout-aside/src/layout-aside.js +9 -8
- package/lib/layout-aside/src/layout-aside.min.js +1 -1
- package/lib/layout-body/src/layout-body.js +29 -22
- package/lib/layout-body/src/layout-body.min.js +1 -1
- package/lib/list/src/list.js +110 -47
- package/lib/list/src/list.min.js +1 -1
- package/lib/list/style/style.css +25 -8
- package/lib/list/style/style.min.css +1 -1
- package/lib/menu/src/menu.js +1 -1
- package/lib/menu/src/menu.min.js +1 -1
- package/lib/modal/src/modal.js +61 -10
- package/lib/modal/src/modal.min.js +1 -1
- package/lib/modal/style/style.css +15 -4
- package/lib/modal/style/style.min.css +1 -1
- package/lib/scrollbar/src/scrollbar.js +81 -17
- package/lib/scrollbar/src/scrollbar.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tabs/src/tabs.js +23 -11
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/tree/src/tree.js +412 -50
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/tree/style/style.css +43 -0
- package/lib/tree/style/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/ui/src/utils.js +4 -0
- package/lib/ui/src/utils.min.js +1 -1
- package/lib/vxe-drawer/style/style.css +13 -6
- package/lib/vxe-drawer/style/style.min.css +1 -1
- package/lib/vxe-list/style/style.css +25 -8
- package/lib/vxe-list/style/style.min.css +1 -1
- package/lib/vxe-modal/style/style.css +15 -4
- package/lib/vxe-modal/style/style.min.css +1 -1
- package/lib/vxe-tree/style/style.css +43 -0
- package/lib/vxe-tree/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/card/src/card.ts +20 -4
- package/packages/drawer/src/drawer.ts +73 -16
- package/packages/language/fr-FR.ts +903 -903
- package/packages/layout-aside/src/layout-aside.ts +10 -6
- package/packages/layout-body/src/layout-body.ts +25 -15
- package/packages/list/src/list.ts +130 -55
- package/packages/menu/src/menu.ts +2 -2
- package/packages/modal/src/modal.ts +71 -14
- package/packages/scrollbar/src/scrollbar.ts +79 -18
- package/packages/tabs/src/tabs.ts +21 -7
- package/packages/tree/src/tree.ts +452 -62
- package/packages/ui/src/utils.ts +4 -0
- package/styles/components/drawer.scss +13 -6
- package/styles/components/list.scss +35 -10
- package/styles/components/modal.scss +12 -4
- package/styles/components/tree.scss +76 -0
- package/types/components/card.d.ts +10 -1
- package/types/components/drawer.d.ts +20 -0
- package/types/components/gantt-module/gantt-view.d.ts +24 -1
- package/types/components/gantt.d.ts +2 -0
- package/types/components/layout-aside.d.ts +10 -1
- package/types/components/layout-body.d.ts +10 -1
- package/types/components/list.d.ts +13 -2
- package/types/components/modal.d.ts +20 -0
- package/types/components/scrollbar.d.ts +17 -2
- package/types/components/table.d.ts +80 -6
- package/types/components/tabs.d.ts +10 -1
- package/types/components/tree.d.ts +35 -2
- /package/es/icon/{iconfont.1791880413927.ttf → iconfont.1792034967421.ttf} +0 -0
- /package/es/icon/{iconfont.1791880413927.woff → iconfont.1792034967421.woff} +0 -0
- /package/es/icon/{iconfont.1791880413927.woff2 → iconfont.1792034967421.woff2} +0 -0
- /package/es/{iconfont.1791880413927.ttf → iconfont.1792034967421.ttf} +0 -0
- /package/es/{iconfont.1791880413927.woff → iconfont.1792034967421.woff} +0 -0
- /package/es/{iconfont.1791880413927.woff2 → iconfont.1792034967421.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1791880413927.ttf → iconfont.1792034967421.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1791880413927.woff → iconfont.1792034967421.woff} +0 -0
- /package/lib/icon/style/{iconfont.1791880413927.woff2 → iconfont.1792034967421.woff2} +0 -0
- /package/lib/{iconfont.1791880413927.ttf → iconfont.1792034967421.ttf} +0 -0
- /package/lib/{iconfont.1791880413927.woff → iconfont.1792034967421.woff} +0 -0
- /package/lib/{iconfont.1791880413927.woff2 → iconfont.1792034967421.woff2} +0 -0
package/lib/menu/src/menu.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
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"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("menu").errLog,{menus,getConfig,getIcon}=_ui.VxeUI;function createInternalData(){return{lastActiveTime:0,menuInitMaps:{},menuCacheMaps:{},menuKeyMaps:{},menuEffectMaps:{}}}function createReactData(){return{initialized:!1,isEnterCollapse:!1,collapseStyle:{},collapseZindex:0,activeName:"",menuList:[],itemHeight:1}}let nemuUniqueKey=1e8;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeMenu",props:{modelValue:[String,Number],expandAll:Boolean,expandKeys:Array,accordion:{type:Boolean,default:()=>getConfig().menu.accordion},border:{type:[Boolean,String],default:()=>getConfig().menu.border},optionProps:{type:Object,default:()=>getConfig().menu.optionProps},collapsed:{type:Boolean,default:null},collapseFixed:Boolean,loading:Boolean,options:{type:Array,default:()=>[]},size:{type:String,default:()=>getConfig().menu.size||getConfig().size},menuConfig:Object,useScrollbar:{type:Boolean,default:()=>getConfig().menu.useScrollbar},scrollbarConfig:Object,appendTo:{type:[String,Function],default:()=>getConfig().menu.appendTo}},emits:["update:modelValue","click","option-menu","menu-click"],setup(C,e){let{emit:n,slots:f}=e;var t=_xeUtils.default.uniqueId();let i=(0,_vue.inject)("$xeLayoutAside",null),h=(0,_vue.ref)(),y=(0,_vue.ref)(),E=(0,_vue.ref)(),b=(0,_vue.ref)(),k=(0,_ui.useSize)(C).computeSize,M=(0,_vue.reactive)(createReactData()),T=createInternalData(),l={refElem:h},a=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.menuConfig,C.menuConfig)),u=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.optionProps,C.optionProps)),r=(0,_vue.computed)(()=>u.value.title||"title"),o=(0,_vue.computed)(()=>u.value.name||"name"),s=(0,_vue.computed)(()=>u.value.children||"children"),I=(0,_vue.computed)(()=>u.value.linkUrl||"linkUrl"),A=(0,_vue.computed)(()=>u.value.routerLink||"routerLink"),U=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.scrollbarConfig,C.scrollbarConfig)),w=(0,_vue.computed)(()=>{var e=C.border;return e?!0===e?"first-group":e:""}),L=(0,_vue.computed)(()=>{var e=C.collapsed;return _xeUtils.default.isBoolean(e)?e:!!i&&!!i.props.collapsed}),V=(0,_vue.computed)(()=>{var e;return i?(e=i.getComputeMaps().computeVarStyle,e.value):{}}),K={computeSize:k},O={xID:t,props:C,context:e,reactData:M,internalData:T,getRefMaps:()=>l,getComputeMaps:()=>K},D=e=>""+(e.title||e.name),c=u=>{let r=M.activeName,o=T.menuInitMaps;_xeUtils.default.eachTree(M.menuList,(e,t,i,n,l,a)=>{e.itemKey===r?(a.forEach(e=>{e.isActive=!0,u&&(e.isExpand=!0,o[e.itemId]=!0)}),e.isExactActive=!0):(e.isExactActive=!1,e.isActive=!1)},{children:"childList"})},v=()=>{let{options:e,expandAll:c,expandKeys:t}=C,v={},m=r.value,d=o.value,p=s.value,_=I.value,x=A.value,g={},f=(t&&t.forEach(e=>{g[e]=!0}),{}),h={};M.menuList=_xeUtils.default.mapTree(e,(e,t,i,n,l)=>{var a=++nemuUniqueKey,u=e[d]||n.join(","),r=e[p],o=r&&0<r.length,s=!!o&&(_xeUtils.default.isBoolean(e.expanded)?e.expanded:g[u]||!!c),r=(s&&(v[a]=!0),{itemConf:e,title:e[m],name:e[d],icon:e.icon,linkUrl:e[_],linkTarget:e.linkTarget,routerLink:e[x],permissionCode:e.permissionCode,children:r,slots:e.slots,parentKey:l?l.name||n.slice(0,n.length-1).join(","):"",level:n.length,itemId:a,itemKey:u,isExactActive:!1,isActive:!1,isExpand:s,hasChild:o,childList:[]});return h[u]&&errLog("vxe.error.repeatKey",[d,e[d]]),f[a]=r,h[u]=r},{children:"children",mapChildren:"childList"}),T.menuInitMaps=v,T.menuCacheMaps=f,T.menuKeyMaps=h},m=()=>{var e=C.collapseFixed;e&&(0,_vue.nextTick)(()=>{var t=L.value,i=h.value;if(i){let e=i.getBoundingClientRect();i=i.parentElement;i&&(e.top<0&&(e=i.getBoundingClientRect()),M.collapseStyle=t?{top:(0,_dom.toCssUnit)(e.top),left:(0,_dom.toCssUnit)(e.left),height:(0,_dom.toCssUnit)(i.clientHeight),zIndex:M.collapseZindex}:{})}})},z=()=>{var e=C.collapseFixed;e&&(e=M.initialized,L.value&&!e&&(M.initialized=!0),M.isEnterCollapse=!1,M.collapseZindex<(0,_utils.getLastZIndex)()&&(M.collapseZindex=(0,_utils.nextZIndex)()),m())},d=(t,i,e)=>{var n=C.accordion;let{menuEffectMaps:l,menuInitMaps:a}=T,{itemId:u,hasChild:r,isExpand:o}=i;var s=L.value,c=!o;if(r){t.stopPropagation(),t.preventDefault(),l[u]&&clearTimeout(l[u]),n&&e.forEach(e=>{e!==i&&(e.isExpand=!1)}),i.isExpand=c,a[u]=!0;t=(s?y:h).value;if(t){n=t.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${u}"]`);let e=n?n.querySelector(".vxe-menu--item-group"):null;e&&(c?(e.style.height="0",e.setAttribute("data-effect","y"),requestAnimationFrame(()=>{e.style.height=e.scrollHeight+"px"})):(e.style.height=e.scrollHeight+"px",e.setAttribute("data-effect","y"),requestAnimationFrame(()=>{e.style.height="0"})),l[u]=setTimeout(()=>{delete l[u],e.removeAttribute("data-effect"),e.style.height=""},350))}}},B=e=>{M.activeName=e,n("update:modelValue",e)},q=(n,l)=>{var e=C.menuConfig,t=a.value;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$menu:O,options:e,currentMenu:l,currentOption:l.itemConf})||_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(n,{options:e,events:{optionClick(e){var t=e.option,i=menus.get(t.code),i=i?i.menuMenuMethod:null,t={menu:t,currentMenu:l,currentOption:l.itemConf,$event:n,$menu:O};i&&i(t,n),_("menu-click",t,e.$event)}}})),_("option-menu",{currentMenu:l},n)},j=(e,t,i)=>{var{itemKey:n,linkUrl:l,routerLink:a,hasChild:u}=t,l=(!l&&!a&&u?d(e,t,i):(B(n),M.isEnterCollapse=!1,T.lastActiveTime=Date.now()),{currentMenu:t,currentOption:t.itemConf,option:t.itemConf,menu:t});_("click",l,e)},P=()=>{var e=T.lastActiveTime;e<Date.now()-500&&(M.isEnterCollapse=!0)},R=()=>{var e=b.value,t=E.value;t&&(t.scrollTop=0),e&&e.clearScroll(),M.isEnterCollapse=!1},p=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=f[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],_=(e,t,i)=>{n(e,(0,_ui.createEvent)(i,{$menu:O},t))},x=e=>{var t=h.value,t=t?t.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${e}"]`):null;return!!t&&((0,_dom.scrollToView)(t),!0)};t={dispatchEvent:_,setExpandByMenuKey(e,t){let{menuKeyMaps:i,menuInitMaps:n}=T;return e&&(e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=i[e];e&&(t&&(n[e.itemId]=!0),e.isExpand=!!t)}),(0,_vue.nextTick)()},clearAllExpandMenu(){var e=M.menuList;return _xeUtils.default.eachTree(e,e=>{e.isExpand=!1},{children:"childList"}),T.menuInitMaps={},(0,_vue.nextTick)()},scrollToMenuKey(e){var t=T.menuKeyMaps,t=t[e];if(!t)return(0,_vue.nextTick)();let i=t.itemId;return x(i)?(0,_vue.nextTick)():(0,_vue.nextTick)().then(()=>{x(i)})},scrollToActiveMenu(){var e=M.activeName;return e?O.scrollToMenuKey(e):(0,_vue.nextTick)().then(()=>{var e=M.activeName;if(e)return O.scrollToMenuKey(e)})}};Object.assign(O,t,{});let N=(t,i)=>{var{icon:e,isExpand:n,hasChild:l}=t,a=t.slots||{},u=a.default||f.option,r=a.title||f.optionTitle||f["option-title"],a=a.icon||f.optionIcon||f["option-icon"],o=D(t),s=L.value,s={currentMenu:t,currentOption:t.itemConf,option:t.itemConf,collapsed:s};return[u?(0,_ui.renderEmptyElement)(O):(0,_vue.h)("div",{class:"vxe-menu--item-link-icon"},a?p(a,s):e?[(0,_vue.h)("i",{class:e})]:[]),u?(0,_vue.h)("div",{class:"vxe-menu--item-custom-title"},p(u,s)):(0,_vue.h)("div",{class:"vxe-menu--item-link-title",title:o},r?p(r,s):o),l?(0,_vue.h)("div",{class:"vxe-menu--item-link-collapse",onClick(e){d(e,t,i)}},[(0,_vue.h)("i",{class:n?getIcon().MENU_ITEM_EXPAND_OPEN:getIcon().MENU_ITEM_EXPAND_CLOSE})]):(0,_ui.renderEmptyElement)(O)]},S=(t,i)=>{let{itemId:e,itemKey:n,level:l,hasChild:a,isActive:u,isExactActive:r,isExpand:o,linkUrl:s,routerLink:c,linkTarget:v,childList:m}=t;var d,p=M.isEnterCollapse,_=T.menuInitMaps,x=L.value;return t.permissionCode&&!_ui.permission.checkVisible(t.permissionCode)?(0,_ui.renderEmptyElement)(O):(d={onContextmenu(e){q(e,t)},onClick(e){j(e,t,i)}},(0,_vue.h)("div",{key:n,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"has--child":a,"is--exact-active":r,"is--active":u,"is--expand":x=(!x||p)&&o}],"data-menu-id":e},[s?(0,_vue.h)("a",Object.assign({class:"vxe-menu--item-link is--link",href:s,target:v},d),N(t,i)):c?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({class:"vxe-menu--item-link is--router",to:c,target:v},d),{default:()=>N(t,i)}):(0,_vue.h)("div",Object.assign({class:"vxe-menu--item-link is--default"},d),N(t,i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group"},x||_[e]?m.map(e=>S(e,m)):[]):(0,_ui.renderEmptyElement)(O)]))};let g=(0,_vue.ref)(0);return(0,_vue.watch)(()=>C.options?C.options.length:-1,()=>{g.value++}),(0,_vue.watch)(()=>C.options,()=>{g.value++}),(0,_vue.watch)(g,()=>{v(),c(!0),(0,_vue.nextTick)(()=>{O.scrollToActiveMenu()})}),(0,_vue.watch)(()=>C.modelValue,e=>{M.activeName=e}),(0,_vue.watch)(()=>M.activeName,()=>{c(!0)}),(0,_vue.watch)(L,()=>{z()}),(0,_vue.onMounted)(()=>{var e=C.menuConfig,t=_ui.VxeUI.getComponent("VxeContextMenu");e&&!t&&errLog("vxe.error.reqComp",["vxe-context-menu"]),_ui.globalEvents.on(O,"resize",m),m(),(0,_vue.nextTick)(()=>{O.scrollToActiveMenu()})}),(0,_vue.onBeforeUnmount)(()=>{_ui.globalEvents.off(O,"resize"),_xeUtils.default.assign(M,createReactData()),_xeUtils.default.assign(T,createInternalData())}),M.initialized=!!C.collapsed,M.activeName=C.modelValue,v(),c(!0),O.renderVN=()=>{var{loading:e,collapseFixed:t,appendTo:i,useScrollbar:n}=C;let{initialized:l,menuList:a,collapseStyle:u,isEnterCollapse:r}=M;var o=k.value;let s=L.value;var c=w.value,v=V.value,m=U.value,{viewClassName:d,viewInnerClassName:p}=m,_=f.header,x=f.footer;let g={};t&&(g={onMouseenter:P,onMouseleave:R});t={collapsed:s};return(0,_vue.h)("div",{ref:h,class:["vxe-menu",{["border--"+c]:c,["size--"+o]:o,"is--collapsed":s,"is--loading":e}]},[_?(0,_vue.h)("div",{class:"vxe-menu--header"},_(t)):(0,_ui.renderEmptyElement)(O),(0,_vue.h)("div",{class:"vxe-menu--body"},a.map(e=>(s?(t,i)=>{let{itemId:e,itemKey:n,level:l,hasChild:a,isActive:u,isExactActive:r,routerLink:o,linkUrl:s,linkTarget:c,childList:v}=t;var m;return t.permissionCode&&!_ui.permission.checkVisible(t.permissionCode)?(0,_ui.renderEmptyElement)(O):(m={onContextmenu(e){q(e,t)},onClick(e){j(e,t,i)}},(0,_vue.h)("div",{key:n,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"has--child":a,"is--exact-active":r,"is--active":u}],"data-menu-id":e},[s?(0,_vue.h)("a",Object.assign({class:"vxe-menu--item-link is--link",href:s,target:c},m),N(t,i)):o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({class:"vxe-menu--item-link is--router",to:o,target:c},m),{default:()=>N(t,i)}):(0,_vue.h)("div",Object.assign({class:"vxe-menu--item-link is--default"},m),N(t,i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group"},v.map(e=>S(e,v))):(0,_ui.renderEmptyElement)(O)]))}:S)(e,a))),x?(0,_vue.h)("div",{class:"vxe-menu--footer"},x(t)):(0,_ui.renderEmptyElement)(O),(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(i),disabled:!l},[(0,_vue.h)("div",Object.assign({ref:y,class:["vxe-menu--collapse-wrapper",{["size--"+o]:o,"is--collapsed":s,"is--enter":r,"is--loading":e}],style:Object.assign({},v,u)},g),s?[_?(0,_vue.h)("div",{class:"vxe-menu--header"},_(t)):(0,_ui.renderEmptyElement)(O),n&&r?(0,_vue.h)(_scrollbar.default,Object.assign(Object.assign({ref:b,class:"vxe-menu--scrollbar-body"},m),{viewClassName:"vxe-menu--scrollbar-body-view"+(d?" "+d:""),viewInnerClassName:"vxe-menu--scrollbar-body-inner"+(d?" "+p:"")}),{default:()=>a.map(e=>S(e,a))}):(0,_vue.h)("div",{ref:E,class:"vxe-menu--body"},a.map(e=>S(e,a))),x?(0,_vue.h)("div",{class:"vxe-menu--footer"},x(t)):(0,_ui.renderEmptyElement)(O)]:[])]),(0,_vue.h)(_loading.default,{class:"vxe-menu-view--loading",modelValue:e})])},O},render(){return this.renderVN()}});
|
|
1
|
+
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"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("menu").errLog,{menus,getConfig,getIcon}=_ui.VxeUI;function createInternalData(){return{lastActiveTime:0,menuInitMaps:{},menuCacheMaps:{},menuKeyMaps:{},menuEffectMaps:{}}}function createReactData(){return{initialized:!1,isEnterCollapse:!1,collapseStyle:{},collapseZindex:0,activeName:"",menuList:[],itemHeight:1}}let nemuUniqueKey=1e8;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeMenu",props:{modelValue:[String,Number],expandAll:Boolean,expandKeys:Array,accordion:{type:Boolean,default:()=>getConfig().menu.accordion},border:{type:[Boolean,String],default:()=>getConfig().menu.border},optionProps:{type:Object,default:()=>getConfig().menu.optionProps},collapsed:{type:Boolean,default:null},collapseFixed:Boolean,loading:Boolean,options:{type:Array,default:()=>[]},size:{type:String,default:()=>getConfig().menu.size||getConfig().size},menuConfig:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)(getConfig().menu.useScrollbar,getConfig().useScrollbar)},scrollbarConfig:Object,appendTo:{type:[String,Function],default:()=>getConfig().menu.appendTo}},emits:["update:modelValue","click","option-menu","menu-click"],setup(C,e){let{emit:n,slots:f}=e;var t=_xeUtils.default.uniqueId();let i=(0,_vue.inject)("$xeLayoutAside",null),h=(0,_vue.ref)(),y=(0,_vue.ref)(),E=(0,_vue.ref)(),b=(0,_vue.ref)(),k=(0,_ui.useSize)(C).computeSize,M=(0,_vue.reactive)(createReactData()),T=createInternalData(),l={refElem:h},a=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.menuConfig,C.menuConfig)),u=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.optionProps,C.optionProps)),r=(0,_vue.computed)(()=>u.value.title||"title"),o=(0,_vue.computed)(()=>u.value.name||"name"),s=(0,_vue.computed)(()=>u.value.children||"children"),I=(0,_vue.computed)(()=>u.value.linkUrl||"linkUrl"),A=(0,_vue.computed)(()=>u.value.routerLink||"routerLink"),U=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.scrollbarConfig,C.scrollbarConfig)),w=(0,_vue.computed)(()=>{var e=C.border;return e?!0===e?"first-group":e:""}),L=(0,_vue.computed)(()=>{var e=C.collapsed;return _xeUtils.default.isBoolean(e)?e:!!i&&!!i.props.collapsed}),V=(0,_vue.computed)(()=>{var e;return i?(e=i.getComputeMaps().computeVarStyle,e.value):{}}),D={computeSize:k},O={xID:t,props:C,context:e,reactData:M,internalData:T,getRefMaps:()=>l,getComputeMaps:()=>D},K=e=>""+(e.title||e.name),c=u=>{let r=M.activeName,o=T.menuInitMaps;_xeUtils.default.eachTree(M.menuList,(e,t,i,n,l,a)=>{e.itemKey===r?(a.forEach(e=>{e.isActive=!0,u&&(e.isExpand=!0,o[e.itemId]=!0)}),e.isExactActive=!0):(e.isExactActive=!1,e.isActive=!1)},{children:"childList"})},v=()=>{let{options:e,expandAll:c,expandKeys:t}=C,v={},m=r.value,d=o.value,p=s.value,_=I.value,g=A.value,x={},f=(t&&t.forEach(e=>{x[e]=!0}),{}),h={};M.menuList=_xeUtils.default.mapTree(e,(e,t,i,n,l)=>{var a=++nemuUniqueKey,u=e[d]||n.join(","),r=e[p],o=r&&0<r.length,s=!!o&&(_xeUtils.default.isBoolean(e.expanded)?e.expanded:x[u]||!!c),r=(s&&(v[a]=!0),{itemConf:e,title:e[m],name:e[d],icon:e.icon,linkUrl:e[_],linkTarget:e.linkTarget,routerLink:e[g],permissionCode:e.permissionCode,children:r,slots:e.slots,parentKey:l?l.name||n.slice(0,n.length-1).join(","):"",level:n.length,itemId:a,itemKey:u,isExactActive:!1,isActive:!1,isExpand:s,hasChild:o,childList:[]});return h[u]&&errLog("vxe.error.repeatKey",[d,e[d]]),f[a]=r,h[u]=r},{children:"children",mapChildren:"childList"}),T.menuInitMaps=v,T.menuCacheMaps=f,T.menuKeyMaps=h},m=()=>{var e=C.collapseFixed;e&&(0,_vue.nextTick)(()=>{var t=L.value,i=h.value;if(i){let e=i.getBoundingClientRect();i=i.parentElement;i&&(e.top<0&&(e=i.getBoundingClientRect()),M.collapseStyle=t?{top:(0,_dom.toCssUnit)(e.top),left:(0,_dom.toCssUnit)(e.left),height:(0,_dom.toCssUnit)(i.clientHeight),zIndex:M.collapseZindex}:{})}})},z=()=>{var e=C.collapseFixed;e&&(e=M.initialized,L.value&&!e&&(M.initialized=!0),M.isEnterCollapse=!1,M.collapseZindex<(0,_utils.getLastZIndex)()&&(M.collapseZindex=(0,_utils.nextZIndex)()),m())},d=(t,i,e)=>{var n=C.accordion;let{menuEffectMaps:l,menuInitMaps:a}=T,{itemId:u,hasChild:r,isExpand:o}=i;var s=L.value,c=!o;if(r){t.stopPropagation(),t.preventDefault(),l[u]&&clearTimeout(l[u]),n&&e.forEach(e=>{e!==i&&(e.isExpand=!1)}),i.isExpand=c,a[u]=!0;t=(s?y:h).value;if(t){n=t.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${u}"]`);let e=n?n.querySelector(".vxe-menu--item-group"):null;e&&(c?(e.style.height="0",e.setAttribute("data-effect","y"),requestAnimationFrame(()=>{e.style.height=e.scrollHeight+"px"})):(e.style.height=e.scrollHeight+"px",e.setAttribute("data-effect","y"),requestAnimationFrame(()=>{e.style.height="0"})),l[u]=setTimeout(()=>{delete l[u],e.removeAttribute("data-effect"),e.style.height=""},350))}}},B=e=>{M.activeName=e,n("update:modelValue",e)},q=(n,l)=>{var e=C.menuConfig,t=a.value;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$menu:O,options:e,currentMenu:l,currentOption:l.itemConf})||_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(n,{options:e,events:{optionClick(e){var t=e.option,i=menus.get(t.code),i=i?i.menuMenuMethod:null,t={menu:t,currentMenu:l,currentOption:l.itemConf,$event:n,$menu:O};i&&i(t,n),_("menu-click",t,e.$event)}}})),_("option-menu",{currentMenu:l},n)},S=(e,t,i)=>{var{itemKey:n,linkUrl:l,routerLink:a,hasChild:u}=t,l=(!l&&!a&&u?d(e,t,i):(B(n),M.isEnterCollapse=!1,T.lastActiveTime=Date.now()),{currentMenu:t,currentOption:t.itemConf,option:t.itemConf,menu:t});_("click",l,e)},P=()=>{var e=T.lastActiveTime;e<Date.now()-500&&(M.isEnterCollapse=!0)},R=()=>{var e=b.value,t=E.value;t&&(t.scrollTop=0),e&&e.clearScroll(),M.isEnterCollapse=!1},p=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=f[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],_=(e,t,i)=>{n(e,(0,_ui.createEvent)(i,{$menu:O},t))},g=e=>{var t=h.value,t=t?t.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${e}"]`):null;return!!t&&((0,_dom.scrollToView)(t),!0)};t={dispatchEvent:_,setExpandByMenuKey(e,t){let{menuKeyMaps:i,menuInitMaps:n}=T;return e&&(e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=i[e];e&&(t&&(n[e.itemId]=!0),e.isExpand=!!t)}),(0,_vue.nextTick)()},clearAllExpandMenu(){var e=M.menuList;return _xeUtils.default.eachTree(e,e=>{e.isExpand=!1},{children:"childList"}),T.menuInitMaps={},(0,_vue.nextTick)()},scrollToMenuKey(e){var t=T.menuKeyMaps,t=t[e];if(!t)return(0,_vue.nextTick)();let i=t.itemId;return g(i)?(0,_vue.nextTick)():(0,_vue.nextTick)().then(()=>{g(i)})},scrollToActiveMenu(){var e=M.activeName;return e?O.scrollToMenuKey(e):(0,_vue.nextTick)().then(()=>{var e=M.activeName;if(e)return O.scrollToMenuKey(e)})}};Object.assign(O,t,{});let j=(t,i)=>{var{icon:e,isExpand:n,hasChild:l}=t,a=t.slots||{},u=a.default||f.option,r=a.title||f.optionTitle||f["option-title"],a=a.icon||f.optionIcon||f["option-icon"],o=K(t),s=L.value,s={currentMenu:t,currentOption:t.itemConf,option:t.itemConf,collapsed:s};return[u?(0,_ui.renderEmptyElement)(O):(0,_vue.h)("div",{class:"vxe-menu--item-link-icon"},a?p(a,s):e?[(0,_vue.h)("i",{class:e})]:[]),u?(0,_vue.h)("div",{class:"vxe-menu--item-custom-title"},p(u,s)):(0,_vue.h)("div",{class:"vxe-menu--item-link-title",title:o},r?p(r,s):o),l?(0,_vue.h)("div",{class:"vxe-menu--item-link-collapse",onClick(e){d(e,t,i)}},[(0,_vue.h)("i",{class:n?getIcon().MENU_ITEM_EXPAND_OPEN:getIcon().MENU_ITEM_EXPAND_CLOSE})]):(0,_ui.renderEmptyElement)(O)]},N=(t,i)=>{let{itemId:e,itemKey:n,level:l,hasChild:a,isActive:u,isExactActive:r,isExpand:o,linkUrl:s,routerLink:c,linkTarget:v,childList:m}=t;var d,p=M.isEnterCollapse,_=T.menuInitMaps,g=L.value;return t.permissionCode&&!_ui.permission.checkVisible(t.permissionCode)?(0,_ui.renderEmptyElement)(O):(d={onContextmenu(e){q(e,t)},onClick(e){S(e,t,i)}},(0,_vue.h)("div",{key:n,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"has--child":a,"is--exact-active":r,"is--active":u,"is--expand":g=(!g||p)&&o}],"data-menu-id":e},[s?(0,_vue.h)("a",Object.assign({class:"vxe-menu--item-link is--link",href:s,target:v},d),j(t,i)):c?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({class:"vxe-menu--item-link is--router",to:c,target:v},d),{default:()=>j(t,i)}):(0,_vue.h)("div",Object.assign({class:"vxe-menu--item-link is--default"},d),j(t,i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group"},g||_[e]?m.map(e=>N(e,m)):[]):(0,_ui.renderEmptyElement)(O)]))};let x=(0,_vue.ref)(0);return(0,_vue.watch)(()=>C.options?C.options.length:-1,()=>{x.value++}),(0,_vue.watch)(()=>C.options,()=>{x.value++}),(0,_vue.watch)(x,()=>{v(),c(!0),(0,_vue.nextTick)(()=>{O.scrollToActiveMenu()})}),(0,_vue.watch)(()=>C.modelValue,e=>{M.activeName=e}),(0,_vue.watch)(()=>M.activeName,()=>{c(!0)}),(0,_vue.watch)(L,()=>{z()}),(0,_vue.onMounted)(()=>{var e=C.menuConfig,t=_ui.VxeUI.getComponent("VxeContextMenu");e&&!t&&errLog("vxe.error.reqComp",["vxe-context-menu"]),_ui.globalEvents.on(O,"resize",m),m(),(0,_vue.nextTick)(()=>{O.scrollToActiveMenu()})}),(0,_vue.onBeforeUnmount)(()=>{_ui.globalEvents.off(O,"resize"),_xeUtils.default.assign(M,createReactData()),_xeUtils.default.assign(T,createInternalData())}),M.initialized=!!C.collapsed,M.activeName=C.modelValue,v(),c(!0),O.renderVN=()=>{var{loading:e,collapseFixed:t,appendTo:i,useScrollbar:n}=C;let{initialized:l,menuList:a,collapseStyle:u,isEnterCollapse:r}=M;var o=k.value;let s=L.value;var c=w.value,v=V.value,m=U.value,{viewClassName:d,viewInnerClassName:p}=m,_=f.header,g=f.footer;let x={};t&&(x={onMouseenter:P,onMouseleave:R});t={collapsed:s};return(0,_vue.h)("div",{ref:h,class:["vxe-menu",{["border--"+c]:c,["size--"+o]:o,"is--collapsed":s,"is--loading":e}]},[_?(0,_vue.h)("div",{class:"vxe-menu--header"},_(t)):(0,_ui.renderEmptyElement)(O),(0,_vue.h)("div",{class:"vxe-menu--body"},a.map(e=>(s?(t,i)=>{let{itemId:e,itemKey:n,level:l,hasChild:a,isActive:u,isExactActive:r,routerLink:o,linkUrl:s,linkTarget:c,childList:v}=t;var m;return t.permissionCode&&!_ui.permission.checkVisible(t.permissionCode)?(0,_ui.renderEmptyElement)(O):(m={onContextmenu(e){q(e,t)},onClick(e){S(e,t,i)}},(0,_vue.h)("div",{key:n,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"has--child":a,"is--exact-active":r,"is--active":u}],"data-menu-id":e},[s?(0,_vue.h)("a",Object.assign({class:"vxe-menu--item-link is--link",href:s,target:c},m),j(t,i)):o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({class:"vxe-menu--item-link is--router",to:o,target:c},m),{default:()=>j(t,i)}):(0,_vue.h)("div",Object.assign({class:"vxe-menu--item-link is--default"},m),j(t,i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group"},v.map(e=>N(e,v))):(0,_ui.renderEmptyElement)(O)]))}:N)(e,a))),g?(0,_vue.h)("div",{class:"vxe-menu--footer"},g(t)):(0,_ui.renderEmptyElement)(O),(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(i),disabled:!l},[(0,_vue.h)("div",Object.assign({ref:y,class:["vxe-menu--collapse-wrapper",{["size--"+o]:o,"is--collapsed":s,"is--enter":r,"is--loading":e}],style:Object.assign({},v,u)},x),s?[_?(0,_vue.h)("div",{class:"vxe-menu--header"},_(t)):(0,_ui.renderEmptyElement)(O),n&&r?(0,_vue.h)(_scrollbar.default,Object.assign(Object.assign({ref:b,class:"vxe-menu--scrollbar-body"},m),{viewClassName:"vxe-menu--scrollbar-body-view"+(d?" "+d:""),viewInnerClassName:"vxe-menu--scrollbar-body-inner"+(d?" "+p:"")}),{default:()=>a.map(e=>N(e,a))}):(0,_vue.h)("div",{ref:E,class:"vxe-menu--body"},a.map(e=>N(e,a))),g?(0,_vue.h)("div",{class:"vxe-menu--footer"},g(t)):(0,_ui.renderEmptyElement)(O)]:[])]),(0,_vue.h)(_loading.default,{class:"vxe-menu-view--loading",modelValue:e})])},O},render(){return this.renderVN()}});
|
package/lib/modal/src/modal.js
CHANGED
|
@@ -15,6 +15,7 @@ var _log = require("../../ui/src/log");
|
|
|
15
15
|
var _store = require("./store");
|
|
16
16
|
var _button = _interopRequireDefault(require("../../button"));
|
|
17
17
|
var _loading = _interopRequireDefault(require("../../loading"));
|
|
18
|
+
var _scrollbar = _interopRequireDefault(require("../../scrollbar"));
|
|
18
19
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
20
|
const {
|
|
20
21
|
warnLog,
|
|
@@ -224,6 +225,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
224
225
|
},
|
|
225
226
|
beforeHideMethod: Function,
|
|
226
227
|
slots: Object,
|
|
228
|
+
useScrollbar: {
|
|
229
|
+
type: Boolean,
|
|
230
|
+
default: () => (0, _utils.getDefaultConfig)((0, _ui.getConfig)().modal.useScrollbar, (0, _ui.getConfig)().useScrollbar)
|
|
231
|
+
},
|
|
232
|
+
scrollbarConfig: Object,
|
|
227
233
|
/**
|
|
228
234
|
* 已废弃
|
|
229
235
|
* @deprecated
|
|
@@ -295,6 +301,28 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
295
301
|
const computeZoomOpts = (0, _vue.computed)(() => {
|
|
296
302
|
return Object.assign({}, (0, _ui.getConfig)().modal.zoomConfig, props.zoomConfig);
|
|
297
303
|
});
|
|
304
|
+
const computeScrollbarOpts = (0, _vue.computed)(() => {
|
|
305
|
+
return Object.assign({}, (0, _ui.getConfig)().modal.scrollbarConfig, props.scrollbarConfig);
|
|
306
|
+
});
|
|
307
|
+
const computeScrollbarProps = (0, _vue.computed)(() => {
|
|
308
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
309
|
+
const {
|
|
310
|
+
viewClassName,
|
|
311
|
+
viewInnerClassName
|
|
312
|
+
} = scrollbarOpts;
|
|
313
|
+
return {
|
|
314
|
+
width: scrollbarOpts.width,
|
|
315
|
+
height: scrollbarOpts.height,
|
|
316
|
+
autoHide: scrollbarOpts.autoHide,
|
|
317
|
+
visible: scrollbarOpts.visible,
|
|
318
|
+
xConfig: scrollbarOpts.xConfig,
|
|
319
|
+
yConfig: scrollbarOpts.yConfig,
|
|
320
|
+
className: scrollbarOpts.className,
|
|
321
|
+
viewAttrs: scrollbarOpts.viewAttrs,
|
|
322
|
+
viewClassName: 'vxe-modal--scrollbar-content-view' + (viewClassName ? ' ' + viewClassName : ''),
|
|
323
|
+
viewInnerClassName: 'vxe-modal--scrollbar-content-inner' + (viewClassName ? ' ' + viewInnerClassName : '')
|
|
324
|
+
};
|
|
325
|
+
});
|
|
298
326
|
const computeMaps = {
|
|
299
327
|
computeSize,
|
|
300
328
|
computeZoomOpts
|
|
@@ -1415,10 +1443,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1415
1443
|
status,
|
|
1416
1444
|
message,
|
|
1417
1445
|
iconStatus,
|
|
1446
|
+
useScrollbar,
|
|
1418
1447
|
useHtml
|
|
1419
1448
|
} = props;
|
|
1420
1449
|
const content = props.content || message;
|
|
1421
1450
|
const isMsg = computeIsMsg.value;
|
|
1451
|
+
const scrollbarProps = computeScrollbarProps.value;
|
|
1422
1452
|
const defaultSlot = slots.default || propSlots.default;
|
|
1423
1453
|
const leftSlot = slots.left || propSlots.left;
|
|
1424
1454
|
const rightSlot = slots.right || propSlots.right;
|
|
@@ -1430,16 +1460,37 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1430
1460
|
class: ['vxe-modal--status-icon', iconStatus || (0, _ui.getIcon)()[`MODAL_${status}`.toLocaleUpperCase()]]
|
|
1431
1461
|
})]));
|
|
1432
1462
|
}
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1463
|
+
if (useHtml && !defaultSlot) {
|
|
1464
|
+
contVNs.push(useScrollbar ? (0, _vue.h)(_scrollbar.default, Object.assign({
|
|
1465
|
+
key: 'shc',
|
|
1466
|
+
class: 'vxe-modal--scrollbar-content'
|
|
1467
|
+
}, scrollbarProps), {
|
|
1468
|
+
default() {
|
|
1469
|
+
return [(0, _vue.h)('div', {
|
|
1470
|
+
class: 'vxe-modal--scrollbar-content-html',
|
|
1471
|
+
innerHTML: (0, _utils.getFuncText)(content)
|
|
1472
|
+
})];
|
|
1473
|
+
}
|
|
1474
|
+
}) : (0, _vue.h)('div', {
|
|
1475
|
+
key: 'hc',
|
|
1476
|
+
class: 'vxe-modal--content',
|
|
1477
|
+
innerHTML: (0, _utils.getFuncText)(content)
|
|
1478
|
+
}));
|
|
1479
|
+
} else {
|
|
1480
|
+
contVNs.push(useScrollbar ? (0, _vue.h)(_scrollbar.default, Object.assign({
|
|
1481
|
+
key: 'sdc',
|
|
1482
|
+
class: 'vxe-modal--scrollbar-content'
|
|
1483
|
+
}, scrollbarProps), {
|
|
1484
|
+
default: () => defaultSlot ? (0, _vn.getSlotVNs)(defaultSlot({
|
|
1485
|
+
$modal: $xeModal
|
|
1486
|
+
})) : (0, _utils.getFuncText)(content)
|
|
1487
|
+
}) : (0, _vue.h)('div', {
|
|
1488
|
+
key: 'dc',
|
|
1489
|
+
class: 'vxe-modal--content'
|
|
1490
|
+
}, defaultSlot ? (0, _vn.getSlotVNs)(defaultSlot({
|
|
1491
|
+
$modal: $xeModal
|
|
1492
|
+
})) : (0, _utils.getFuncText)(content)));
|
|
1493
|
+
}
|
|
1443
1494
|
return (0, _vue.h)('div', {
|
|
1444
1495
|
class: 'vxe-modal--body'
|
|
1445
1496
|
}, [leftSlot ? (0, _vue.h)('div', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_store=require("./store"),_button=_interopRequireDefault(require("../../button")),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("modal");function createInternalData(){return{isMoveStatus:!1}}function createReactData(){return{initialized:!1,visible:!1,contentVisible:!1,modalTop:0,modalZindex:0,prevZoomStatus:"",zoomStatus:"",revertLocat:null,prevLocat:null,firstOpen:!0,resizeFlag:1}}let msgQueue=[],notifyQueue=[],lockScrollAttrKey="data-vxe-lock-scroll",lockScrollCssWidthKey="--vxe-ui-modal-lock-scroll-view-width";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeModal",props:{modelValue:Boolean,id:String,type:{type:String,default:"modal"},loading:{type:Boolean,default:null},status:String,iconStatus:String,className:String,top:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.top},position:[String,Object],title:String,duration:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.duration},content:[Number,String],useHtml:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.useHtml},showCancelButton:{type:Boolean,default:null},cancelButtonText:{type:String,default:()=>(0,_ui.getConfig)().modal.cancelButtonText},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showConfirmButton},confirmButtonText:{type:String,default:()=>(0,_ui.getConfig)().modal.confirmButtonText},lockView:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.lockView},lockScroll:Boolean,mask:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.mask},maskClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.maskClosable},escClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.escClosable},cancelClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.cancelClosable},confirmClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.confirmClosable},resize:Boolean,border:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.border},showTitleBackground:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showTitleBackground},showHeader:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showHeader},showFooter:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showFooter},preload:Boolean,showZoom:Boolean,zoomConfig:Object,showMaximize:{type:Boolean,default:()=>(0,_utils.handleBooleanDefaultValue)((0,_ui.getConfig)().modal.showMaximize)},showMinimize:{type:Boolean,default:()=>(0,_utils.handleBooleanDefaultValue)((0,_ui.getConfig)().modal.showMinimize)},showClose:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showClose},dblclickZoom:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.dblclickZoom},width:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.width},height:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.height},minWidth:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.minWidth},minHeight:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.minHeight},zIndex:Number,marginSize:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.marginSize},fullscreen:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.fullscreen},draggable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.draggable},remember:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.remember},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.destroyOnClose},showTitleOverflow:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showTitleOverflow},transfer:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.transfer},appendTo:{type:[String,Function],default:()=>(0,_ui.getConfig)().modal.appendTo},isWithinAppendTo:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.isWithinAppendTo},storage:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.storage},storageKey:{type:String,default:()=>(0,_ui.getConfig)().modal.storageKey},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.padding},size:{type:String,default:()=>(0,_ui.getConfig)().modal.size||(0,_ui.getConfig)().size},beforeHideMethod:Function,slots:Object,message:[Number,String],animat:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.animat}},emits:["update:modelValue","show","hide","before-hide","close","confirm","cancel","zoom","resize","move"],setup(N,e){let{slots:M,emit:i}=e,u=_xeUtils.default.uniqueId(),o=(0,_vue.inject)("$xeModal",null),k=(0,_vue.inject)("$xeDrawer",null),B=(0,_vue.inject)("$xeTable",null),W=(0,_vue.inject)("$xeForm",null),O=(0,_ui.useSize)(N).computeSize,E=(0,_vue.reactive)(createReactData()),f=createInternalData(),U=(0,_vue.ref)(),A=(0,_vue.ref)(),D=(0,_vue.ref)(),r=(0,_vue.ref)(),d=(0,_vue.ref)(),H={refElem:U},Z=(0,_vue.computed)(()=>{var e=N.transfer;if(null===e){var t=(0,_ui.getConfig)().modal.transfer;if(_xeUtils.default.isBoolean(t))return t;if(B||o||k||W)return!0}return e}),I=(0,_vue.computed)(()=>{var e=N.type;return"message"===e||"notification"===e}),m=(0,_vue.computed)(()=>"modal"===N.type),L=(0,_vue.computed)(()=>"minimize"===E.zoomStatus),$=(0,_vue.computed)(()=>"maximize"===E.zoomStatus),l=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().modal.zoomConfig,N.zoomConfig)),j={computeSize:O,computeZoomOpts:l},V={xID:u,props:N,context:e,reactData:E,internalData:f,getRefMaps:()=>H,getComputeMaps:()=>j};let z=()=>A.value,c=()=>{var{width:e,height:t,minWidth:o,minHeight:i}=N,l=I.value,a=L.value,s=z();return s&&(s.style.width=e?(0,_dom.toCssUnit)(e):"",s.style.height=t?(0,_dom.toCssUnit)(t):"",s.style.minWidth=l||a||!o?"":(0,_dom.isScale)(o)?o:(0,_dom.toCssUnit)(o),s.style.minHeight=l||a||!i?"":(0,_dom.isScale)(i)?i:(0,_dom.toCssUnit)(i)),(0,_vue.nextTick)()},v=()=>{var e=N.zIndex,t=E.modalZindex;e?E.modalZindex=e:I.value?t<(0,_utils.getSubLastZIndex)()&&(E.modalZindex=(0,_utils.nextSubZIndex)()):t<(0,_utils.getLastZIndex)()&&(E.modalZindex=(0,_utils.nextZIndex)())},g=()=>(0,_vue.nextTick)().then(()=>{var{position:o,isWithinAppendTo:i}=N,l=U.value,a=z();if(a){i=(0,_dom.getPopupWrapperElement)(i?l:document.body);if(i){var l=i.clientWidth,i=i.clientHeight,s=_xeUtils.default.toNumber(N.marginSize),n="center"===o,{top:o,left:u}=_xeUtils.default.isString(o)?{top:o,left:o}:Object.assign({},o),r=n||"center"===o;let e="",t="";t=u&&!(n||"center"===u)?(0,_dom.toCssUnit)(u):Math.max(s,l/2-a.offsetWidth/2)+"px",e=o&&!r?(0,_dom.toCssUnit)(o):Math.max(s,i/2-a.offsetHeight/2)+"px",a.style.top=e,a.style.left=t}}}),p=()=>{(0,_vue.nextTick)(()=>{var e=N.type,e="notification"===e?notifyQueue:msgQueue;let o=0;e.forEach(e=>{var t=e.getBox();t&&(o+=_xeUtils.default.toNumber(e.props.top),e.reactData.modalTop=o,o+=t.clientHeight)})})},s=()=>{-1<_store.allActiveModals.indexOf(V)&&_xeUtils.default.remove(_store.allActiveModals,e=>e===V)},n=()=>{var e=N.type,e="notification"===e?notifyQueue:msgQueue;-1<e.indexOf(V)&&_xeUtils.default.remove(e,e=>e===V),p()},a=e=>{let t=N.remember;var o=E.visible;let i=I.value;var l=N.beforeHideMethod||(0,_ui.getConfig)().modal.beforeHideMethod;let a={type:e};return o&&Promise.resolve(l?l(a):null).then(e=>{_xeUtils.default.isError(e)||((e=U.value)&&e.setAttribute("data-effect","y"),i&&n(),E.contentVisible=!1,t||C(),s(),T("before-hide",a,null),setTimeout(()=>{E.visible=!1,ie(!1),T("hide",a,null)},200),b(),setTimeout(()=>{var e=U.value;e&&e.removeAttribute("data-effect")},350))}).catch(e=>e),(0,_vue.nextTick)()},P=e=>{var t="close";T(t,{type:t},e),a(t)},q=e=>{var t=N.confirmClosable,o="confirm";T(o,{type:o},e),t&&a(o)},K=e=>{var t=N.cancelClosable,o="cancel";T(o,{type:o},e),t&&a(o)},_=e=>{var t=(0,_ui.getConfig)().version,e=_xeUtils.default.toStringJSON(localStorage.getItem(e)||"");return e&&e._v===t?e:{_v:t}},S=()=>{var{id:e,storage:t,storageKey:o}=N,{zoomStatus:i,revertLocat:l}=E;i||e&&t&&(i=z())&&((t=_(o))[e]=[i.style.left,i.style.top,i.clientWidth,i.clientHeight].concat(l?[l.left,l.top,l.width,l.height]:[]).map(e=>e?_xeUtils.default.toNumber(e):"").join(","),localStorage.setItem(o,_xeUtils.default.toJSONString(t)))},h=()=>{let s=N.isWithinAppendTo;let{minimizeLayout:e,minimizeMaxSize:t,minimizeHorizontalOffset:n,minimizeVerticalOffset:u,minimizeOffsetMethod:r}=l.value,d="horizontal"===e,m=E.zoomStatus,o=[],i=[],c=(_store.allActiveModals.forEach(e=>{e.xID!==V.xID&&"modal"===e.props.type&&"minimize"===e.reactData.zoomStatus&&("horizontal"===e.getComputeMaps().computeZoomOpts.value.minimizeLayout?o:i).push(e)}),d?o:i);return t&&c.length>=t?(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:(0,_ui.getI18n)("vxe.modal.miniMaxSize",[t])}),Promise.resolve({status:!1})):(E.prevZoomStatus=m,E.zoomStatus="minimize",(0,_vue.nextTick)().then(()=>{var t=U.value,e=z();if(!e)return{status:!1};var o=D.value;if(!o)return{status:!1};t=(0,_dom.getPopupWrapperElement)(s?t:document.body);if(!t)return{status:!1};var t=t.clientHeight,i=(m||(E.revertLocat={top:e.offsetTop,left:e.offsetLeft,width:e.offsetWidth+(e.style.width?0:1),height:e.offsetHeight+(e.style.height?0:1)}),_xeUtils.default[d?"max":"min"](c,e=>{e=e.getBox();return e?_xeUtils.default.toNumber(e.style[d?"left":"top"]):0}));let l=t-o.offsetHeight-16,a=16;if(i){t=i.getBox();if(t){i=_xeUtils.default.toNumber(t.style.left),t=_xeUtils.default.toNumber(t.style.top);let e={};e=d?Object.assign({},n):Object.assign({},u),a=i+_xeUtils.default.toNumber(e.left),l=t+_xeUtils.default.toNumber(e.top),r&&(e=r({$modal:V,left:a,top:l}),a=_xeUtils.default.toNumber(e.left),l=_xeUtils.default.toNumber(e.top))}}return Object.assign(e.style,{top:l+"px",left:a+"px",width:"200px",height:o.offsetHeight+"px",minHeight:"",minWidth:""}),S(),{status:!0}}))},x=()=>{let l=N.isWithinAppendTo,a=E.zoomStatus;return E.prevZoomStatus=a,E.zoomStatus="maximize",(0,_vue.nextTick)().then(()=>{var e=z();if(e){if(!a){var t=U.value,t=(0,_dom.getPopupWrapperElement)(l?t:document.body);if(!t)return{status:!1};var o=t.clientWidth,t=t.clientHeight,i=_xeUtils.default.toNumber(N.marginSize);E.revertLocat={top:Math.max(i,t/2-e.offsetHeight/2),left:Math.max(i,o/2-e.offsetWidth/2),width:e.offsetWidth+(e.style.width?0:1),height:e.offsetHeight+(e.style.height?0:1)}}Object.assign(e.style,{top:"0",left:"0",width:"100%",height:"100%",minHeight:"",minWidth:""})}return S(),{status:!0}})},y=()=>{var e=N.duration;-1!==e&&(f.msgTimeout=setTimeout(()=>a("close"),_xeUtils.default.toNumber(e)))},b=()=>{var e=document.documentElement,t=e.getAttribute(lockScrollAttrKey);t&&((t=t.split(",").filter(e=>e!==u)).length?e.setAttribute(lockScrollAttrKey,t.join(",")):(e.removeAttribute(lockScrollAttrKey),e.style.removeProperty(lockScrollCssWidthKey)))},t=()=>{let{remember:o,showFooter:i,fullscreen:l}=N;var e,{initialized:t,visible:a}=E,s=I.value;let n=m.value;return t||(E.initialized=!0),a||(t=N.lockScroll,a=I.value,t&&!a&&(t=document.documentElement,a=document.body.clientWidth,(e=(e=t.getAttribute(lockScrollAttrKey))?e.split(","):[]).includes(u)||(e.push(u),t.setAttribute(lockScrollAttrKey,e.join(","))),t.style.setProperty(lockScrollCssWidthKey,a+"px")),f.isMoveStatus=!1,E.visible=!0,E.contentVisible=!1,v(),_store.allActiveModals.push(V),setTimeout(()=>{E.contentVisible=!0,(0,_vue.nextTick)(()=>{n&&l||c(),i&&(e=r.value,t=d.value,e=e||t)&&e.focus();var e,t={type:""};ie(!0),T("show",t,null)})},10),s?(-1===(e="notification"===(e=N.type)?notifyQueue:msgQueue).indexOf(V)&&e.push(V),p(),y()):((0,_vue.nextTick)(()=>{var e=E.firstOpen,t=U.value;t&&t.setAttribute("data-effect","y"),e?(E.firstOpen=!1,(()=>{var{id:e,storage:t,storageKey:o}=N;return!!(e&&t&&_(o)[e])})()?(()=>{var e,t,o,i,l,a,{id:s,storage:n,storageKey:u}=N;s&&n&&(n=_(u)[s])&&(u=z(),[s,n,e,t,o,i,l,a]=n.split(","),u&&(s&&(u.style.left=s+"px"),n&&(u.style.top=n+"px"),e&&(u.style.width=e+"px"),t)&&(u.style.height=t+"px"),o)&&i&&(E.revertLocat={left:o,top:i,width:l,height:a})})():n&&l?(0,_vue.nextTick)(()=>x()):(c(),g().then(()=>{setTimeout(()=>g(),20)}))):o||(c(),g().then(()=>{setTimeout(()=>g(),20)}))}),setTimeout(()=>{var e=U.value;e&&e.removeAttribute("data-effect")},350))),(0,_vue.nextTick)()},F=e=>{var t=U.value;N.maskClosable&&e.target===t&&a("mask")},R=()=>{var e=f.msgTimeout;e&&I.value&&(clearTimeout(e),f.msgTimeout=void 0)},Y=()=>{var e=f.msgTimeout;e||I.value&&y()},X=t=>{if(_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ESCAPE)){let e=_xeUtils.default.max(_store.allActiveModals.filter(e=>"minimize"!==e.reactData.zoomStatus),e=>e.reactData.modalZindex);e&&setTimeout(()=>{e===V&&e.props.escClosable&&(T("close",{type:"exit"},t),a("exit"))},10)}},Q=()=>{f.isMoveStatus||g()};let C=()=>(E.prevZoomStatus=E.zoomStatus,(E.zoomStatus="",_vue.nextTick)().then(()=>{var e,t=E.revertLocat;return t?(e=z(),E.revertLocat=null,e&&Object.assign(e.style,{top:t.top+"px",left:t.left+"px",width:t.width+"px",height:t.height+"px"}),S(),(0,_vue.nextTick)().then(()=>({status:!0}))):{status:!1}})),w=t=>{let o=E.zoomStatus;return new Promise(e=>{if(t)return"maximize"===t?void e(x()):"minimize"===t?void e(h()):void e(C());e((o?C:x)())}).then(()=>E.zoomStatus||"revert")},J=t=>{var{zoomStatus:e,prevZoomStatus:o}=E;return w("minimize"===e?o||"revert":"minimize").then(e=>{e={type:e};T("zoom",e,t)})},G=t=>w().then(e=>{e={type:e};T("zoom",e,t)});let ee=()=>{let t=E.modalZindex;_store.allActiveModals.some(e=>e.reactData.visible&&e.reactData.modalZindex>t)&&v()},te=e=>{let{storage:t,isWithinAppendTo:o}=N;var i=E.zoomStatus;let m=_xeUtils.default.toNumber(N.marginSize),c=z();if(c&&"maximize"!==i&&0===e.button&&!(0,_dom.getEventTargetNode)(e,c,"trigger--btn").flag){e.preventDefault();i=U.value,i=(0,_dom.getPopupWrapperElement)(o?i:document.body);if(i){let n=i.clientWidth,u=i.clientHeight,r=e.clientX-c.offsetLeft,d=e.clientY-c.offsetTop;document.onmousemove=e=>{e.preventDefault();var t=c.offsetWidth,o=c.offsetHeight,i=m,t=n-t-m-1,l=m,o=u-o-m-1;let a=e.clientX-r,s=e.clientY-d;(a=a>t?t:a)<i&&(a=i),(s=s>o?o:s)<l&&(s=l),c.style.left=a+"px",c.style.top=s+"px",c.className=c.className.replace(/\s?is--drag/,"")+" is--drag",T("move",{type:"move"},e),f.isMoveStatus=!0,E.resizeFlag++},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null,t&&(0,_vue.nextTick)(()=>{S()}),E.resizeFlag++,setTimeout(()=>{c.className=c.className.replace(/\s?is--drag/,"")},50)}}}},oe=e=>{e.preventDefault();let{minWidth:t,minHeight:o,storage:b,isWithinAppendTo:i}=N;var l=U.value,l=(0,_dom.getPopupWrapperElement)(i?l:document.body);if(l){let a=l.clientWidth,s=l.clientHeight,n=_xeUtils.default.toNumber(N.marginSize);let u=e.target.getAttribute("data-type"),r=(0,_dom.isScale)(t)?_xeUtils.default.toNumber(t)*a/100:_xeUtils.default.toNumber(t),d=(0,_dom.isScale)(o)?_xeUtils.default.toNumber(o)*s/100:_xeUtils.default.toNumber(o),m=a,c=s,f=z(),v=f.clientWidth,g=f.clientHeight,p=e.clientX,_=e.clientY,h=f.offsetTop,x=f.offsetLeft,y={type:"resize"};document.onmousemove=e=>{e.preventDefault();let t,o,i,l;switch(u){case"wl":t=p-e.clientX,i=t+v,x-t>n&&i>r&&(f.style.width=`${i<m?i:m}px`,f.style.left=x-t+"px");break;case"swst":t=p-e.clientX,o=_-e.clientY,i=t+v,l=o+g,x-t>n&&i>r&&(f.style.width=`${i<m?i:m}px`,f.style.left=x-t+"px"),h-o>n&&l>d&&(f.style.height=`${l<c?l:c}px`,f.style.top=h-o+"px");break;case"swlb":t=p-e.clientX,o=e.clientY-_,i=t+v,l=o+g,x-t>n&&i>r&&(f.style.width=`${i<m?i:m}px`,f.style.left=x-t+"px"),h+l+n<s&&l>d&&(f.style.height=`${l<c?l:c}px`);break;case"st":o=_-e.clientY,l=g+o,h-o>n&&l>d&&(f.style.height=`${l<c?l:c}px`,f.style.top=h-o+"px");break;case"wr":t=e.clientX-p,i=t+v,x+i+n<a&&i>r&&(f.style.width=`${i<m?i:m}px`);break;case"sest":t=e.clientX-p,o=_-e.clientY,i=t+v,l=o+g,x+i+n<a&&i>r&&(f.style.width=`${i<m?i:m}px`),h-o>n&&l>d&&(f.style.height=`${l<c?l:c}px`,f.style.top=h-o+"px");break;case"selb":t=e.clientX-p,o=e.clientY-_,i=t+v,l=o+g,x+i+n<a&&i>r&&(f.style.width=`${i<m?i:m}px`),h+l+n<s&&l>d&&(f.style.height=`${l<c?l:c}px`);break;case"sb":o=e.clientY-_,l=o+g,h+l+n<s&&l>d&&(f.style.height=`${l<c?l:c}px`)}f.className=f.className.replace(/\s?is--drag/,"")+" is--drag",b&&S(),T("resize",y,e)},document.onmouseup=()=>{E.revertLocat=null,document.onmousemove=null,document.onmouseup=null,setTimeout(()=>{f.className=f.className.replace(/\s?is--drag/,"")},50)}}},T=(e,t,o)=>{i(e,(0,_ui.createEvent)(o,{$modal:V},t))},ie=e=>{i("update:modelValue",e)},le=(e={dispatchEvent:T,open:t,close(){return a("close")},getBox:z,getPosition:()=>{if(!I.value){var e=z();if(e)return{top:e.offsetTop,left:e.offsetLeft}}return null},setPosition:(e,t)=>{var o;return I.value||(o=z())&&(_xeUtils.default.isNumber(e)&&(o.style.top=e+"px"),_xeUtils.default.isNumber(t))&&(o.style.left=t+"px"),(0,_vue.nextTick)()},isMinimized:()=>"minimize"===E.zoomStatus,isMaximized:()=>"maximize"===E.zoomStatus,zoom(){return w()},minimize(){var e=E.visible;return m.value&&e?h():Promise.resolve({status:!1})},maximize(){var e=E.visible;return m.value&&e?x():Promise.resolve({status:!1})},revert(){var e=E.visible;return m.value&&e?C():Promise.resolve({status:!1})}},Object.assign(V,e),()=>{var{slots:e={},showClose:t,showZoom:o,showMaximize:i,showMinimize:l,title:a}=N,s=E.zoomStatus,n=M.title||e.title,e=M.corner||e.corner,u=L.value,r=$.value;return[(0,_vue.h)("div",{class:"vxe-modal--header-title"},n?(0,_vn.getSlotVNs)(n({$modal:V,minimized:u,maximized:r})):a?(0,_utils.getFuncText)(a):(0,_ui.getI18n)("vxe.alert.title")),(0,_vue.h)("div",{class:"vxe-modal--header-right"},[e&&!u?(0,_vue.h)("div",{class:"vxe-modal--corner-wrapper"},(0,_vn.getSlotVNs)(e({$modal:V}))):(0,_ui.renderEmptyElement)(V),(_xeUtils.default.isBoolean(l)?l:o)?(0,_vue.h)("div",{class:["vxe-modal--zoom-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.modal.zoom"+("minimize"===s?"Out":"Min")),onClick:J},[(0,_vue.h)("i",{class:"minimize"===s?(0,_ui.getIcon)().MODAL_ZOOM_REVERT:(0,_ui.getIcon)().MODAL_ZOOM_MIN})]):(0,_ui.renderEmptyElement)(V),(_xeUtils.default.isBoolean(i)?i:o)&&"minimize"!==s?(0,_vue.h)("div",{class:["vxe-modal--zoom-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.modal.zoom"+("maximize"===s?"Out":"In")),onClick:G},[(0,_vue.h)("i",{class:"maximize"===s?(0,_ui.getIcon)().MODAL_ZOOM_OUT:(0,_ui.getIcon)().MODAL_ZOOM_IN})]):(0,_ui.renderEmptyElement)(V),t?(0,_vue.h)("div",{class:["vxe-modal--close-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.modal.close"),onClick:P},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().MODAL_CLOSE})]):(0,_ui.renderEmptyElement)(V)])]}),ae=()=>{var{slots:e={},showCancelButton:t,showConfirmButton:o,type:i,loading:l}=N,a=M.leftfoot||e.leftfoot,e=M.rightfoot||e.rightfoot,s=[];return(_xeUtils.default.isBoolean(t)?t:"confirm"===i)&&s.push((0,_vue.h)(_button.default,{key:1,ref:d,content:N.cancelButtonText||(0,_ui.getI18n)("vxe.button.cancel"),onClick:K})),(_xeUtils.default.isBoolean(o)?o:"confirm"===i||"alert"===i)&&s.push((0,_vue.h)(_button.default,{key:2,ref:r,loading:l,status:"primary",content:N.confirmButtonText||(0,_ui.getI18n)("vxe.button.confirm"),onClick:q})),(0,_vue.h)("div",{class:"vxe-modal--footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-modal--footer-left"},a?(0,_vn.getSlotVNs)(a({$modal:V})):[]),(0,_vue.h)("div",{class:"vxe-modal--footer-right"},e?(0,_vn.getSlotVNs)(e({$modal:V})):s)])};return V.renderVN=()=>{var{border:e,showTitleBackground:t,slots:o={},className:i,type:l,animat:a,draggable:s,iconStatus:n,position:u,loading:r,destroyOnClose:d,status:m,lockScroll:c,padding:f,lockView:v,mask:g,resize:p,appendTo:_,isWithinAppendTo:h}=N,{initialized:x,modalTop:y,contentVisible:b,visible:z,zoomStatus:S}=E,o=M.aside||o.aside,C=O.value,w=I.value,T=L.value,k=Z.value,B={};return w&&(B.onMouseover=R,B.onMouseout=Y),(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(_),disabled:!k||!x},[(0,_vue.h)("div",Object.assign({ref:U,class:["vxe-modal--wrapper","type--"+l,"zoom--"+(S||"revert"),u?"pos--"+u:"",h?"ctx--within":"ctx--free",i||"",{["size--"+C]:C,["status--"+m]:m,"is--padding":f,"is--border":e,"is--title-bg":t,"is--animat":a,"lock--scroll":c,"lock--view":v,"is--draggable":s,"is--resize":p,"is--mask":g,"is--visible":b,"is--active":z,"is--loading":r}],style:{zIndex:E.modalZindex,top:y?y+"px":null},onClick:F},B),[(0,_vue.h)("div",{ref:A,class:"vxe-modal--box",onMousedown:ee},[!w&&!o||T?(0,_ui.renderEmptyElement)(V):(0,_vue.h)("div",{class:"vxe-modal--aside"},o?(0,_vn.getSlotVNs)(o({$modal:V})):[m||n?(0,_vue.h)("div",{class:"vxe-modal--status-wrapper"},[(0,_vue.h)("i",{class:["vxe-modal--status-icon",n||(0,_ui.getIcon)()[("MODAL_"+m).toLocaleUpperCase()]]})]):(0,_ui.renderEmptyElement)(V)]),(0,_vue.h)("div",{class:"vxe-modal--container"},!E.initialized||d&&!E.visible?[]:[(()=>{var e,{slots:t={},showZoom:o,showMaximize:i,draggable:l}=N,t=M.header||t.header;return N.showHeader?(e={},l&&(e.onMousedown=te),(_xeUtils.default.isBoolean(i)?i:o)&&N.dblclickZoom&&"modal"===N.type&&(e.onDblclick=G),(0,_vue.h)("div",Object.assign({ref:D,class:["vxe-modal--header",{"is--ellipsis":N.showTitleOverflow}]},e),t?(0,_vn.getSlotVNs)(t({$modal:V})):le())):(0,_ui.renderEmptyElement)(V)})(),(()=>{var{slots:e={},status:t,message:o,iconStatus:i,useHtml:l}=N,o=N.content||o,a=I.value,s=M.default||e.default,n=M.left||e.left,e=M.right||e.right,u=[];return a||!t&&!i||u.push((0,_vue.h)("div",{class:"vxe-modal--status-wrapper"},[(0,_vue.h)("i",{class:["vxe-modal--status-icon",i||(0,_ui.getIcon)()[("MODAL_"+t).toLocaleUpperCase()]]})])),u.push(l&&!s?(0,_vue.h)("div",{key:"hc",class:"vxe-modal--content",innerHTML:(0,_utils.getFuncText)(o)}):(0,_vue.h)("div",{key:"dc",class:"vxe-modal--content"},s?(0,_vn.getSlotVNs)(s({$modal:V})):(0,_utils.getFuncText)(o))),(0,_vue.h)("div",{class:"vxe-modal--body"},[n?(0,_vue.h)("div",{class:"vxe-modal--body-left"},(0,_vn.getSlotVNs)(n({$modal:V}))):(0,_ui.renderEmptyElement)(V),(0,_vue.h)("div",{class:"vxe-modal--body-default"},u),e?(0,_vue.h)("div",{class:"vxe-modal--body-right"},(0,_vn.getSlotVNs)(e({$modal:V}))):(0,_ui.renderEmptyElement)(V),a?(0,_ui.renderEmptyElement)(V):(0,_vue.h)(_loading.default,{class:"vxe-modal--loading",modelValue:N.loading})])})(),(()=>{var{slots:e={}}=N,e=M.footer||e.footer;return N.showFooter?(0,_vue.h)("div",{class:"vxe-modal--footer"},e?(0,_vn.getSlotVNs)(e({$modal:V})):[ae()]):(0,_ui.renderEmptyElement)(V)})(),!w&&p?(0,_vue.h)("span",{class:"vxe-modal--resize"},["wl","wr","swst","sest","st","swlb","selb","sb"].map(e=>(0,_vue.h)("span",{class:e+"-resize","data-type":e,onMousedown:oe}))):(0,_ui.renderEmptyElement)(V)])])])])},(0,_vue.watch)(()=>N.width,c),(0,_vue.watch)(()=>N.height,c),(0,_vue.watch)(()=>N.modelValue,e=>{e?t():a("model")}),(0,_vue.onMounted)(()=>{"modal"===N.type&&N.showFooter&&!(N.showConfirmButton||N.showCancelButton||M.footer)&&warnLog("vxe.modal.footPropErr"),E.initialized=!!N.preload,(0,_vue.nextTick)(()=>{N.storage&&!N.id&&errLog("vxe.error.reqProp",["id"]),N.modelValue&&t(),c()}),N.escClosable&&_ui.globalEvents.on(V,"keydown",X),_ui.globalEvents.on(V,"resize",Q)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(V,"keydown"),_ui.globalEvents.off(V,"resize"),n(),s(),b(),_xeUtils.default.assign(E,createReactData()),_xeUtils.default.assign(f,createInternalData())}),(0,_vue.provide)("$xeModal",V),V},render(){return this.renderVN()}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_store=require("./store"),_button=_interopRequireDefault(require("../../button")),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("modal");function createInternalData(){return{isMoveStatus:!1}}function createReactData(){return{initialized:!1,visible:!1,contentVisible:!1,modalTop:0,modalZindex:0,prevZoomStatus:"",zoomStatus:"",revertLocat:null,prevLocat:null,firstOpen:!0,resizeFlag:1}}let msgQueue=[],notifyQueue=[],lockScrollAttrKey="data-vxe-lock-scroll",lockScrollCssWidthKey="--vxe-ui-modal-lock-scroll-view-width";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeModal",props:{modelValue:Boolean,id:String,type:{type:String,default:"modal"},loading:{type:Boolean,default:null},status:String,iconStatus:String,className:String,top:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.top},position:[String,Object],title:String,duration:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.duration},content:[Number,String],useHtml:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.useHtml},showCancelButton:{type:Boolean,default:null},cancelButtonText:{type:String,default:()=>(0,_ui.getConfig)().modal.cancelButtonText},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showConfirmButton},confirmButtonText:{type:String,default:()=>(0,_ui.getConfig)().modal.confirmButtonText},lockView:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.lockView},lockScroll:Boolean,mask:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.mask},maskClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.maskClosable},escClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.escClosable},cancelClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.cancelClosable},confirmClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.confirmClosable},resize:Boolean,border:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.border},showTitleBackground:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showTitleBackground},showHeader:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showHeader},showFooter:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showFooter},preload:Boolean,showZoom:Boolean,zoomConfig:Object,showMaximize:{type:Boolean,default:()=>(0,_utils.handleBooleanDefaultValue)((0,_ui.getConfig)().modal.showMaximize)},showMinimize:{type:Boolean,default:()=>(0,_utils.handleBooleanDefaultValue)((0,_ui.getConfig)().modal.showMinimize)},showClose:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showClose},dblclickZoom:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.dblclickZoom},width:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.width},height:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.height},minWidth:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.minWidth},minHeight:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.minHeight},zIndex:Number,marginSize:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.marginSize},fullscreen:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.fullscreen},draggable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.draggable},remember:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.remember},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.destroyOnClose},showTitleOverflow:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showTitleOverflow},transfer:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.transfer},appendTo:{type:[String,Function],default:()=>(0,_ui.getConfig)().modal.appendTo},isWithinAppendTo:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.isWithinAppendTo},storage:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.storage},storageKey:{type:String,default:()=>(0,_ui.getConfig)().modal.storageKey},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.padding},size:{type:String,default:()=>(0,_ui.getConfig)().modal.size||(0,_ui.getConfig)().size},beforeHideMethod:Function,slots:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)((0,_ui.getConfig)().modal.useScrollbar,(0,_ui.getConfig)().useScrollbar)},scrollbarConfig:Object,message:[Number,String],animat:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.animat}},emits:["update:modelValue","show","hide","before-hide","close","confirm","cancel","zoom","resize","move"],setup(B,e){let{slots:M,emit:i}=e,u=_xeUtils.default.uniqueId(),o=(0,_vue.inject)("$xeModal",null),k=(0,_vue.inject)("$xeDrawer",null),N=(0,_vue.inject)("$xeTable",null),V=(0,_vue.inject)("$xeForm",null),O=(0,_ui.useSize)(B).computeSize,E=(0,_vue.reactive)(createReactData()),f=createInternalData(),U=(0,_vue.ref)(),A=(0,_vue.ref)(),D=(0,_vue.ref)(),r=(0,_vue.ref)(),d=(0,_vue.ref)(),W={refElem:U},Z=(0,_vue.computed)(()=>{var e=B.transfer;if(null===e){var t=(0,_ui.getConfig)().modal.transfer;if(_xeUtils.default.isBoolean(t))return t;if(N||o||k||V)return!0}return e}),I=(0,_vue.computed)(()=>{var e=B.type;return"message"===e||"notification"===e}),m=(0,_vue.computed)(()=>"modal"===B.type),H=(0,_vue.computed)(()=>"minimize"===E.zoomStatus),$=(0,_vue.computed)(()=>"maximize"===E.zoomStatus),l=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().modal.zoomConfig,B.zoomConfig)),j=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().modal.scrollbarConfig,B.scrollbarConfig)),P=(0,_vue.computed)(()=>{var e=j.value,{viewClassName:t,viewInnerClassName:o}=e;return{width:e.width,height:e.height,autoHide:e.autoHide,visible:e.visible,xConfig:e.xConfig,yConfig:e.yConfig,className:e.className,viewAttrs:e.viewAttrs,viewClassName:"vxe-modal--scrollbar-content-view"+(t?" "+t:""),viewInnerClassName:"vxe-modal--scrollbar-content-inner"+(t?" "+o:"")}}),q={computeSize:O,computeZoomOpts:l},L={xID:u,props:B,context:e,reactData:E,internalData:f,getRefMaps:()=>W,getComputeMaps:()=>q};let C=()=>A.value,c=()=>{var{width:e,height:t,minWidth:o,minHeight:i}=B,l=I.value,a=H.value,s=C();return s&&(s.style.width=e?(0,_dom.toCssUnit)(e):"",s.style.height=t?(0,_dom.toCssUnit)(t):"",s.style.minWidth=l||a||!o?"":(0,_dom.isScale)(o)?o:(0,_dom.toCssUnit)(o),s.style.minHeight=l||a||!i?"":(0,_dom.isScale)(i)?i:(0,_dom.toCssUnit)(i)),(0,_vue.nextTick)()},v=()=>{var e=B.zIndex,t=E.modalZindex;e?E.modalZindex=e:I.value?t<(0,_utils.getSubLastZIndex)()&&(E.modalZindex=(0,_utils.nextSubZIndex)()):t<(0,_utils.getLastZIndex)()&&(E.modalZindex=(0,_utils.nextZIndex)())},g=()=>(0,_vue.nextTick)().then(()=>{var{position:o,isWithinAppendTo:i}=B,l=U.value,a=C();if(a){i=(0,_dom.getPopupWrapperElement)(i?l:document.body);if(i){var l=i.clientWidth,i=i.clientHeight,s=_xeUtils.default.toNumber(B.marginSize),n="center"===o,{top:o,left:u}=_xeUtils.default.isString(o)?{top:o,left:o}:Object.assign({},o),r=n||"center"===o;let e="",t="";t=u&&!(n||"center"===u)?(0,_dom.toCssUnit)(u):Math.max(s,l/2-a.offsetWidth/2)+"px",e=o&&!r?(0,_dom.toCssUnit)(o):Math.max(s,i/2-a.offsetHeight/2)+"px",a.style.top=e,a.style.left=t}}}),p=()=>{(0,_vue.nextTick)(()=>{var e=B.type,e="notification"===e?notifyQueue:msgQueue;let o=0;e.forEach(e=>{var t=e.getBox();t&&(o+=_xeUtils.default.toNumber(e.props.top),e.reactData.modalTop=o,o+=t.clientHeight)})})},s=()=>{-1<_store.allActiveModals.indexOf(L)&&_xeUtils.default.remove(_store.allActiveModals,e=>e===L)},n=()=>{var e=B.type,e="notification"===e?notifyQueue:msgQueue;-1<e.indexOf(L)&&_xeUtils.default.remove(e,e=>e===L),p()},a=e=>{let t=B.remember;var o=E.visible;let i=I.value;var l=B.beforeHideMethod||(0,_ui.getConfig)().modal.beforeHideMethod;let a={type:e};return o&&Promise.resolve(l?l(a):null).then(e=>{_xeUtils.default.isError(e)||((e=U.value)&&e.setAttribute("data-effect","y"),i&&n(),E.contentVisible=!1,t||S(),s(),T("before-hide",a,null),setTimeout(()=>{E.visible=!1,ae(!1),T("hide",a,null)},200),y(),setTimeout(()=>{var e=U.value;e&&e.removeAttribute("data-effect")},350))}).catch(e=>e),(0,_vue.nextTick)()},F=e=>{var t="close";T(t,{type:t},e),a(t)},K=e=>{var t=B.confirmClosable,o="confirm";T(o,{type:o},e),t&&a(o)},R=e=>{var t=B.cancelClosable,o="cancel";T(o,{type:o},e),t&&a(o)},_=e=>{var t=(0,_ui.getConfig)().version,e=_xeUtils.default.toStringJSON(localStorage.getItem(e)||"");return e&&e._v===t?e:{_v:t}},z=()=>{var{id:e,storage:t,storageKey:o}=B,{zoomStatus:i,revertLocat:l}=E;i||e&&t&&(i=C())&&((t=_(o))[e]=[i.style.left,i.style.top,i.clientWidth,i.clientHeight].concat(l?[l.left,l.top,l.width,l.height]:[]).map(e=>e?_xeUtils.default.toNumber(e):"").join(","),localStorage.setItem(o,_xeUtils.default.toJSONString(t)))},h=()=>{let s=B.isWithinAppendTo;let{minimizeLayout:e,minimizeMaxSize:t,minimizeHorizontalOffset:n,minimizeVerticalOffset:u,minimizeOffsetMethod:r}=l.value,d="horizontal"===e,m=E.zoomStatus,o=[],i=[],c=(_store.allActiveModals.forEach(e=>{e.xID!==L.xID&&"modal"===e.props.type&&"minimize"===e.reactData.zoomStatus&&("horizontal"===e.getComputeMaps().computeZoomOpts.value.minimizeLayout?o:i).push(e)}),d?o:i);return t&&c.length>=t?(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:(0,_ui.getI18n)("vxe.modal.miniMaxSize",[t])}),Promise.resolve({status:!1})):(E.prevZoomStatus=m,E.zoomStatus="minimize",(0,_vue.nextTick)().then(()=>{var t=U.value,e=C();if(!e)return{status:!1};var o=D.value;if(!o)return{status:!1};t=(0,_dom.getPopupWrapperElement)(s?t:document.body);if(!t)return{status:!1};var t=t.clientHeight,i=(m||(E.revertLocat={top:e.offsetTop,left:e.offsetLeft,width:e.offsetWidth+(e.style.width?0:1),height:e.offsetHeight+(e.style.height?0:1)}),_xeUtils.default[d?"max":"min"](c,e=>{e=e.getBox();return e?_xeUtils.default.toNumber(e.style[d?"left":"top"]):0}));let l=t-o.offsetHeight-16,a=16;if(i){t=i.getBox();if(t){i=_xeUtils.default.toNumber(t.style.left),t=_xeUtils.default.toNumber(t.style.top);let e={};e=d?Object.assign({},n):Object.assign({},u),a=i+_xeUtils.default.toNumber(e.left),l=t+_xeUtils.default.toNumber(e.top),r&&(e=r({$modal:L,left:a,top:l}),a=_xeUtils.default.toNumber(e.left),l=_xeUtils.default.toNumber(e.top))}}return Object.assign(e.style,{top:l+"px",left:a+"px",width:"200px",height:o.offsetHeight+"px",minHeight:"",minWidth:""}),z(),{status:!0}}))},x=()=>{let l=B.isWithinAppendTo,a=E.zoomStatus;return E.prevZoomStatus=a,E.zoomStatus="maximize",(0,_vue.nextTick)().then(()=>{var e=C();if(e){if(!a){var t=U.value,t=(0,_dom.getPopupWrapperElement)(l?t:document.body);if(!t)return{status:!1};var o=t.clientWidth,t=t.clientHeight,i=_xeUtils.default.toNumber(B.marginSize);E.revertLocat={top:Math.max(i,t/2-e.offsetHeight/2),left:Math.max(i,o/2-e.offsetWidth/2),width:e.offsetWidth+(e.style.width?0:1),height:e.offsetHeight+(e.style.height?0:1)}}Object.assign(e.style,{top:"0",left:"0",width:"100%",height:"100%",minHeight:"",minWidth:""})}return z(),{status:!0}})},b=()=>{var e=B.duration;-1!==e&&(f.msgTimeout=setTimeout(()=>a("close"),_xeUtils.default.toNumber(e)))},y=()=>{var e=document.documentElement,t=e.getAttribute(lockScrollAttrKey);t&&((t=t.split(",").filter(e=>e!==u)).length?e.setAttribute(lockScrollAttrKey,t.join(",")):(e.removeAttribute(lockScrollAttrKey),e.style.removeProperty(lockScrollCssWidthKey)))},t=()=>{let{remember:o,showFooter:i,fullscreen:l}=B;var e,{initialized:t,visible:a}=E,s=I.value;let n=m.value;return t||(E.initialized=!0),a||(t=B.lockScroll,a=I.value,t&&!a&&(t=document.documentElement,a=document.body.clientWidth,(e=(e=t.getAttribute(lockScrollAttrKey))?e.split(","):[]).includes(u)||(e.push(u),t.setAttribute(lockScrollAttrKey,e.join(","))),t.style.setProperty(lockScrollCssWidthKey,a+"px")),f.isMoveStatus=!1,E.visible=!0,E.contentVisible=!1,v(),_store.allActiveModals.push(L),setTimeout(()=>{E.contentVisible=!0,(0,_vue.nextTick)(()=>{n&&l||c(),i&&(e=r.value,t=d.value,e=e||t)&&e.focus();var e,t={type:""};ae(!0),T("show",t,null)})},10),s?(-1===(e="notification"===(e=B.type)?notifyQueue:msgQueue).indexOf(L)&&e.push(L),p(),b()):((0,_vue.nextTick)(()=>{var e=E.firstOpen,t=U.value;t&&t.setAttribute("data-effect","y"),e?(E.firstOpen=!1,(()=>{var{id:e,storage:t,storageKey:o}=B;return!!(e&&t&&_(o)[e])})()?(()=>{var e,t,o,i,l,a,{id:s,storage:n,storageKey:u}=B;s&&n&&(n=_(u)[s])&&(u=C(),[s,n,e,t,o,i,l,a]=n.split(","),u&&(s&&(u.style.left=s+"px"),n&&(u.style.top=n+"px"),e&&(u.style.width=e+"px"),t)&&(u.style.height=t+"px"),o)&&i&&(E.revertLocat={left:o,top:i,width:l,height:a})})():n&&l?(0,_vue.nextTick)(()=>x()):(c(),g().then(()=>{setTimeout(()=>g(),20)}))):o||(c(),g().then(()=>{setTimeout(()=>g(),20)}))}),setTimeout(()=>{var e=U.value;e&&e.removeAttribute("data-effect")},350))),(0,_vue.nextTick)()},Y=e=>{var t=U.value;B.maskClosable&&e.target===t&&a("mask")},X=()=>{var e=f.msgTimeout;e&&I.value&&(clearTimeout(e),f.msgTimeout=void 0)},Q=()=>{var e=f.msgTimeout;e||I.value&&b()},J=t=>{if(_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ESCAPE)){let e=_xeUtils.default.max(_store.allActiveModals.filter(e=>"minimize"!==e.reactData.zoomStatus),e=>e.reactData.modalZindex);e&&setTimeout(()=>{e===L&&e.props.escClosable&&(T("close",{type:"exit"},t),a("exit"))},10)}},G=()=>{f.isMoveStatus||g()};let S=()=>(E.prevZoomStatus=E.zoomStatus,(E.zoomStatus="",_vue.nextTick)().then(()=>{var e,t=E.revertLocat;return t?(e=C(),E.revertLocat=null,e&&Object.assign(e.style,{top:t.top+"px",left:t.left+"px",width:t.width+"px",height:t.height+"px"}),z(),(0,_vue.nextTick)().then(()=>({status:!0}))):{status:!1}})),w=t=>{let o=E.zoomStatus;return new Promise(e=>{if(t)return"maximize"===t?void e(x()):"minimize"===t?void e(h()):void e(S());e((o?S:x)())}).then(()=>E.zoomStatus||"revert")},ee=t=>{var{zoomStatus:e,prevZoomStatus:o}=E;return w("minimize"===e?o||"revert":"minimize").then(e=>{e={type:e};T("zoom",e,t)})},te=t=>w().then(e=>{e={type:e};T("zoom",e,t)});let oe=()=>{let t=E.modalZindex;_store.allActiveModals.some(e=>e.reactData.visible&&e.reactData.modalZindex>t)&&v()},ie=e=>{let{storage:t,isWithinAppendTo:o}=B;var i=E.zoomStatus;let m=_xeUtils.default.toNumber(B.marginSize),c=C();if(c&&"maximize"!==i&&0===e.button&&!(0,_dom.getEventTargetNode)(e,c,"trigger--btn").flag){e.preventDefault();i=U.value,i=(0,_dom.getPopupWrapperElement)(o?i:document.body);if(i){let n=i.clientWidth,u=i.clientHeight,r=e.clientX-c.offsetLeft,d=e.clientY-c.offsetTop;document.onmousemove=e=>{e.preventDefault();var t=c.offsetWidth,o=c.offsetHeight,i=m,t=n-t-m-1,l=m,o=u-o-m-1;let a=e.clientX-r,s=e.clientY-d;(a=a>t?t:a)<i&&(a=i),(s=s>o?o:s)<l&&(s=l),c.style.left=a+"px",c.style.top=s+"px",c.className=c.className.replace(/\s?is--drag/,"")+" is--drag",T("move",{type:"move"},e),f.isMoveStatus=!0,E.resizeFlag++},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null,t&&(0,_vue.nextTick)(()=>{z()}),E.resizeFlag++,setTimeout(()=>{c.className=c.className.replace(/\s?is--drag/,"")},50)}}}},le=e=>{e.preventDefault();let{minWidth:t,minHeight:o,storage:y,isWithinAppendTo:i}=B;var l=U.value,l=(0,_dom.getPopupWrapperElement)(i?l:document.body);if(l){let a=l.clientWidth,s=l.clientHeight,n=_xeUtils.default.toNumber(B.marginSize);let u=e.target.getAttribute("data-type"),r=(0,_dom.isScale)(t)?_xeUtils.default.toNumber(t)*a/100:_xeUtils.default.toNumber(t),d=(0,_dom.isScale)(o)?_xeUtils.default.toNumber(o)*s/100:_xeUtils.default.toNumber(o),m=a,c=s,f=C(),v=f.clientWidth,g=f.clientHeight,p=e.clientX,_=e.clientY,h=f.offsetTop,x=f.offsetLeft,b={type:"resize"};document.onmousemove=e=>{e.preventDefault();let t,o,i,l;switch(u){case"wl":t=p-e.clientX,i=t+v,x-t>n&&i>r&&(f.style.width=`${i<m?i:m}px`,f.style.left=x-t+"px");break;case"swst":t=p-e.clientX,o=_-e.clientY,i=t+v,l=o+g,x-t>n&&i>r&&(f.style.width=`${i<m?i:m}px`,f.style.left=x-t+"px"),h-o>n&&l>d&&(f.style.height=`${l<c?l:c}px`,f.style.top=h-o+"px");break;case"swlb":t=p-e.clientX,o=e.clientY-_,i=t+v,l=o+g,x-t>n&&i>r&&(f.style.width=`${i<m?i:m}px`,f.style.left=x-t+"px"),h+l+n<s&&l>d&&(f.style.height=`${l<c?l:c}px`);break;case"st":o=_-e.clientY,l=g+o,h-o>n&&l>d&&(f.style.height=`${l<c?l:c}px`,f.style.top=h-o+"px");break;case"wr":t=e.clientX-p,i=t+v,x+i+n<a&&i>r&&(f.style.width=`${i<m?i:m}px`);break;case"sest":t=e.clientX-p,o=_-e.clientY,i=t+v,l=o+g,x+i+n<a&&i>r&&(f.style.width=`${i<m?i:m}px`),h-o>n&&l>d&&(f.style.height=`${l<c?l:c}px`,f.style.top=h-o+"px");break;case"selb":t=e.clientX-p,o=e.clientY-_,i=t+v,l=o+g,x+i+n<a&&i>r&&(f.style.width=`${i<m?i:m}px`),h+l+n<s&&l>d&&(f.style.height=`${l<c?l:c}px`);break;case"sb":o=e.clientY-_,l=o+g,h+l+n<s&&l>d&&(f.style.height=`${l<c?l:c}px`)}f.className=f.className.replace(/\s?is--drag/,"")+" is--drag",y&&z(),T("resize",b,e)},document.onmouseup=()=>{E.revertLocat=null,document.onmousemove=null,document.onmouseup=null,setTimeout(()=>{f.className=f.className.replace(/\s?is--drag/,"")},50)}}},T=(e,t,o)=>{i(e,(0,_ui.createEvent)(o,{$modal:L},t))},ae=e=>{i("update:modelValue",e)},se=(e={dispatchEvent:T,open:t,close(){return a("close")},getBox:C,getPosition:()=>{if(!I.value){var e=C();if(e)return{top:e.offsetTop,left:e.offsetLeft}}return null},setPosition:(e,t)=>{var o;return I.value||(o=C())&&(_xeUtils.default.isNumber(e)&&(o.style.top=e+"px"),_xeUtils.default.isNumber(t))&&(o.style.left=t+"px"),(0,_vue.nextTick)()},isMinimized:()=>"minimize"===E.zoomStatus,isMaximized:()=>"maximize"===E.zoomStatus,zoom(){return w()},minimize(){var e=E.visible;return m.value&&e?h():Promise.resolve({status:!1})},maximize(){var e=E.visible;return m.value&&e?x():Promise.resolve({status:!1})},revert(){var e=E.visible;return m.value&&e?S():Promise.resolve({status:!1})}},Object.assign(L,e),()=>{var{slots:e={},showClose:t,showZoom:o,showMaximize:i,showMinimize:l,title:a}=B,s=E.zoomStatus,n=M.title||e.title,e=M.corner||e.corner,u=H.value,r=$.value;return[(0,_vue.h)("div",{class:"vxe-modal--header-title"},n?(0,_vn.getSlotVNs)(n({$modal:L,minimized:u,maximized:r})):a?(0,_utils.getFuncText)(a):(0,_ui.getI18n)("vxe.alert.title")),(0,_vue.h)("div",{class:"vxe-modal--header-right"},[e&&!u?(0,_vue.h)("div",{class:"vxe-modal--corner-wrapper"},(0,_vn.getSlotVNs)(e({$modal:L}))):(0,_ui.renderEmptyElement)(L),(_xeUtils.default.isBoolean(l)?l:o)?(0,_vue.h)("div",{class:["vxe-modal--zoom-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.modal.zoom"+("minimize"===s?"Out":"Min")),onClick:ee},[(0,_vue.h)("i",{class:"minimize"===s?(0,_ui.getIcon)().MODAL_ZOOM_REVERT:(0,_ui.getIcon)().MODAL_ZOOM_MIN})]):(0,_ui.renderEmptyElement)(L),(_xeUtils.default.isBoolean(i)?i:o)&&"minimize"!==s?(0,_vue.h)("div",{class:["vxe-modal--zoom-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.modal.zoom"+("maximize"===s?"Out":"In")),onClick:te},[(0,_vue.h)("i",{class:"maximize"===s?(0,_ui.getIcon)().MODAL_ZOOM_OUT:(0,_ui.getIcon)().MODAL_ZOOM_IN})]):(0,_ui.renderEmptyElement)(L),t?(0,_vue.h)("div",{class:["vxe-modal--close-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.modal.close"),onClick:F},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().MODAL_CLOSE})]):(0,_ui.renderEmptyElement)(L)])]}),ne=()=>{var{slots:e={},showCancelButton:t,showConfirmButton:o,type:i,loading:l}=B,a=M.leftfoot||e.leftfoot,e=M.rightfoot||e.rightfoot,s=[];return(_xeUtils.default.isBoolean(t)?t:"confirm"===i)&&s.push((0,_vue.h)(_button.default,{key:1,ref:d,content:B.cancelButtonText||(0,_ui.getI18n)("vxe.button.cancel"),onClick:R})),(_xeUtils.default.isBoolean(o)?o:"confirm"===i||"alert"===i)&&s.push((0,_vue.h)(_button.default,{key:2,ref:r,loading:l,status:"primary",content:B.confirmButtonText||(0,_ui.getI18n)("vxe.button.confirm"),onClick:K})),(0,_vue.h)("div",{class:"vxe-modal--footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-modal--footer-left"},a?(0,_vn.getSlotVNs)(a({$modal:L})):[]),(0,_vue.h)("div",{class:"vxe-modal--footer-right"},e?(0,_vn.getSlotVNs)(e({$modal:L})):s)])};return L.renderVN=()=>{var{border:e,showTitleBackground:t,slots:o={},className:i,type:l,animat:a,draggable:s,iconStatus:n,position:u,loading:r,destroyOnClose:d,status:m,lockScroll:c,padding:f,lockView:v,mask:g,resize:p,appendTo:_,isWithinAppendTo:h}=B,{initialized:x,modalTop:b,contentVisible:y,visible:C,zoomStatus:z}=E,o=M.aside||o.aside,S=O.value,w=I.value,T=H.value,k=Z.value,N={};return w&&(N.onMouseover=X,N.onMouseout=Q),(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(_),disabled:!k||!x},[(0,_vue.h)("div",Object.assign({ref:U,class:["vxe-modal--wrapper","type--"+l,"zoom--"+(z||"revert"),u?"pos--"+u:"",h?"ctx--within":"ctx--free",i||"",{["size--"+S]:S,["status--"+m]:m,"is--padding":f,"is--border":e,"is--title-bg":t,"is--animat":a,"lock--scroll":c,"lock--view":v,"is--draggable":s,"is--resize":p,"is--mask":g,"is--visible":y,"is--active":C,"is--loading":r}],style:{zIndex:E.modalZindex,top:b?b+"px":null},onClick:Y},N),[(0,_vue.h)("div",{ref:A,class:"vxe-modal--box",onMousedown:oe},[!w&&!o||T?(0,_ui.renderEmptyElement)(L):(0,_vue.h)("div",{class:"vxe-modal--aside"},o?(0,_vn.getSlotVNs)(o({$modal:L})):[m||n?(0,_vue.h)("div",{class:"vxe-modal--status-wrapper"},[(0,_vue.h)("i",{class:["vxe-modal--status-icon",n||(0,_ui.getIcon)()[("MODAL_"+m).toLocaleUpperCase()]]})]):(0,_ui.renderEmptyElement)(L)]),(0,_vue.h)("div",{class:"vxe-modal--container"},!E.initialized||d&&!E.visible?[]:[(()=>{var e,{slots:t={},showZoom:o,showMaximize:i,draggable:l}=B,t=M.header||t.header;return B.showHeader?(e={},l&&(e.onMousedown=ie),(_xeUtils.default.isBoolean(i)?i:o)&&B.dblclickZoom&&"modal"===B.type&&(e.onDblclick=te),(0,_vue.h)("div",Object.assign({ref:D,class:["vxe-modal--header",{"is--ellipsis":B.showTitleOverflow}]},e),t?(0,_vn.getSlotVNs)(t({$modal:L})):se())):(0,_ui.renderEmptyElement)(L)})(),(()=>{var{slots:e={},status:t,message:o,iconStatus:i,useScrollbar:l,useHtml:a}=B;let s=B.content||o;var o=I.value,n=P.value;let u=M.default||e.default;var r=M.left||e.left,e=M.right||e.right,d=[];return o||!t&&!i||d.push((0,_vue.h)("div",{class:"vxe-modal--status-wrapper"},[(0,_vue.h)("i",{class:["vxe-modal--status-icon",i||(0,_ui.getIcon)()[("MODAL_"+t).toLocaleUpperCase()]]})])),a&&!u?d.push(l?(0,_vue.h)(_scrollbar.default,Object.assign({key:"shc",class:"vxe-modal--scrollbar-content"},n),{default(){return[(0,_vue.h)("div",{class:"vxe-modal--scrollbar-content-html",innerHTML:(0,_utils.getFuncText)(s)})]}}):(0,_vue.h)("div",{key:"hc",class:"vxe-modal--content",innerHTML:(0,_utils.getFuncText)(s)})):d.push(l?(0,_vue.h)(_scrollbar.default,Object.assign({key:"sdc",class:"vxe-modal--scrollbar-content"},n),{default:()=>u?(0,_vn.getSlotVNs)(u({$modal:L})):(0,_utils.getFuncText)(s)}):(0,_vue.h)("div",{key:"dc",class:"vxe-modal--content"},u?(0,_vn.getSlotVNs)(u({$modal:L})):(0,_utils.getFuncText)(s))),(0,_vue.h)("div",{class:"vxe-modal--body"},[r?(0,_vue.h)("div",{class:"vxe-modal--body-left"},(0,_vn.getSlotVNs)(r({$modal:L}))):(0,_ui.renderEmptyElement)(L),(0,_vue.h)("div",{class:"vxe-modal--body-default"},d),e?(0,_vue.h)("div",{class:"vxe-modal--body-right"},(0,_vn.getSlotVNs)(e({$modal:L}))):(0,_ui.renderEmptyElement)(L),o?(0,_ui.renderEmptyElement)(L):(0,_vue.h)(_loading.default,{class:"vxe-modal--loading",modelValue:B.loading})])})(),(()=>{var{slots:e={}}=B,e=M.footer||e.footer;return B.showFooter?(0,_vue.h)("div",{class:"vxe-modal--footer"},e?(0,_vn.getSlotVNs)(e({$modal:L})):[ne()]):(0,_ui.renderEmptyElement)(L)})(),!w&&p?(0,_vue.h)("span",{class:"vxe-modal--resize"},["wl","wr","swst","sest","st","swlb","selb","sb"].map(e=>(0,_vue.h)("span",{class:e+"-resize","data-type":e,onMousedown:le}))):(0,_ui.renderEmptyElement)(L)])])])])},(0,_vue.watch)(()=>B.width,c),(0,_vue.watch)(()=>B.height,c),(0,_vue.watch)(()=>B.modelValue,e=>{e?t():a("model")}),(0,_vue.onMounted)(()=>{"modal"===B.type&&B.showFooter&&!(B.showConfirmButton||B.showCancelButton||M.footer)&&warnLog("vxe.modal.footPropErr"),E.initialized=!!B.preload,(0,_vue.nextTick)(()=>{B.storage&&!B.id&&errLog("vxe.error.reqProp",["id"]),B.modelValue&&t(),c()}),B.escClosable&&_ui.globalEvents.on(L,"keydown",J),_ui.globalEvents.on(L,"resize",G)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(L,"keydown"),_ui.globalEvents.off(L,"resize"),n(),s(),y(),_xeUtils.default.assign(E,createReactData()),_xeUtils.default.assign(f,createInternalData())}),(0,_vue.provide)("$xeModal",L),L},render(){return this.renderVN()}});
|
|
@@ -50,7 +50,8 @@ html[data-vxe-lock-scroll] body {
|
|
|
50
50
|
.vxe-modal--box.is--drag .vxe-modal--body {
|
|
51
51
|
overflow: hidden;
|
|
52
52
|
}
|
|
53
|
-
.vxe-modal--box.is--drag .vxe-modal--body .vxe-modal--content
|
|
53
|
+
.vxe-modal--box.is--drag .vxe-modal--body .vxe-modal--content,
|
|
54
|
+
.vxe-modal--box.is--drag .vxe-modal--body .vxe-modal--scrollbar-content {
|
|
54
55
|
overflow: hidden;
|
|
55
56
|
}
|
|
56
57
|
|
|
@@ -73,7 +74,8 @@ html[data-vxe-lock-scroll] body {
|
|
|
73
74
|
font-size: 1.6em;
|
|
74
75
|
}
|
|
75
76
|
|
|
76
|
-
.vxe-modal--content
|
|
77
|
+
.vxe-modal--content,
|
|
78
|
+
.vxe-modal--scrollbar-content {
|
|
77
79
|
flex-grow: 1;
|
|
78
80
|
white-space: pre-line;
|
|
79
81
|
}
|
|
@@ -390,7 +392,9 @@ html[data-vxe-lock-scroll] body {
|
|
|
390
392
|
overflow: hidden;
|
|
391
393
|
visibility: hidden;
|
|
392
394
|
}
|
|
393
|
-
.vxe-modal--wrapper.type--message .vxe-modal--box .vxe-modal--content,
|
|
395
|
+
.vxe-modal--wrapper.type--message .vxe-modal--box .vxe-modal--content,
|
|
396
|
+
.vxe-modal--wrapper.type--message .vxe-modal--box .vxe-modal--scrollbar-content, .vxe-modal--wrapper.type--notification .vxe-modal--box .vxe-modal--content,
|
|
397
|
+
.vxe-modal--wrapper.type--notification .vxe-modal--box .vxe-modal--scrollbar-content {
|
|
394
398
|
max-width: 800px;
|
|
395
399
|
float: left;
|
|
396
400
|
}
|
|
@@ -413,7 +417,10 @@ html[data-vxe-lock-scroll] body {
|
|
|
413
417
|
.vxe-modal--wrapper.type--modal .vxe-modal--body, .vxe-modal--wrapper.type--alert .vxe-modal--body, .vxe-modal--wrapper.type--confirm .vxe-modal--body {
|
|
414
418
|
overflow: auto;
|
|
415
419
|
}
|
|
416
|
-
.vxe-modal--wrapper.type--modal .vxe-modal--body .vxe-modal--content,
|
|
420
|
+
.vxe-modal--wrapper.type--modal .vxe-modal--body .vxe-modal--content,
|
|
421
|
+
.vxe-modal--wrapper.type--modal .vxe-modal--body .vxe-modal--scrollbar-content, .vxe-modal--wrapper.type--alert .vxe-modal--body .vxe-modal--content,
|
|
422
|
+
.vxe-modal--wrapper.type--alert .vxe-modal--body .vxe-modal--scrollbar-content, .vxe-modal--wrapper.type--confirm .vxe-modal--body .vxe-modal--content,
|
|
423
|
+
.vxe-modal--wrapper.type--confirm .vxe-modal--body .vxe-modal--scrollbar-content {
|
|
417
424
|
overflow: auto;
|
|
418
425
|
}
|
|
419
426
|
.vxe-modal--wrapper.status--info .vxe-modal--status-wrapper {
|
|
@@ -449,4 +456,8 @@ html[data-vxe-lock-scroll] body {
|
|
|
449
456
|
|
|
450
457
|
.vxe-modal--wrapper[data-effect] {
|
|
451
458
|
overflow: hidden;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
.vxe-modal--scrollbar-content {
|
|
462
|
+
width: 100%;
|
|
452
463
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vxe-modal--wrapper{--vxe-ui-modal-current-font-size:var(--vxe-ui-font-size-default)}.vxe-modal--wrapper.size--xlarge{--vxe-ui-modal-current-font-size:var(--vxe-ui-font-size-xlarge)}.vxe-modal--wrapper.size--large{--vxe-ui-modal-current-font-size:var(--vxe-ui-font-size-large)}.vxe-modal--wrapper.size--medium{--vxe-ui-modal-current-font-size:var(--vxe-ui-font-size-medium)}.vxe-modal--wrapper.size--small{--vxe-ui-modal-current-font-size:var(--vxe-ui-font-size-small)}.vxe-modal--wrapper.size--mini{--vxe-ui-modal-current-font-size:var(--vxe-ui-font-size-mini)}html[data-vxe-lock-scroll]{overflow:hidden}html[data-vxe-lock-scroll] body{overflow:hidden;width:var(--vxe-ui-modal-lock-scroll-view-width)}.vxe-modal--box{visibility:hidden;width:420px;background-color:var(--vxe-ui-layout-background-color);border-radius:var(--vxe-ui-base-border-radius);text-align:left;pointer-events:auto;opacity:0;outline:0}.vxe-modal--box.is--drag{cursor:move}.vxe-modal--box.is--drag .vxe-modal--body:after,.vxe-modal--box.is--drag .vxe-modal--footer:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.vxe-modal--box.is--drag .vxe-modal--body{overflow:hidden}.vxe-modal--box.is--drag .vxe-modal--body .vxe-modal--content{overflow:hidden}.vxe-modal--aside{flex-shrink:0;overflow:auto}.vxe-modal--container{display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.vxe-modal--status-wrapper{flex-shrink:0;display:flex;align-items:center;font-size:1.6em}.vxe-modal--content{flex-grow:1;white-space:pre-line}.vxe-modal--body,.vxe-modal--footer,.vxe-modal--header{position:relative}.vxe-modal--body{display:flex;flex-direction:row;flex-grow:1;outline:0}.vxe-modal--body-left,.vxe-modal--body-right{flex-shrink:0;overflow:auto;outline:0}.vxe-modal--body-default{display:flex;flex-grow:1;overflow:auto;outline:0}.vxe-modal--header{display:flex;flex-direction:row;align-items:center;height:2.8em;flex-shrink:0;font-size:1.1em;font-weight:700;border-radius:var(--vxe-ui-base-border-radius) var(--vxe-ui-base-border-radius) 0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-modal--header.is--ellipsis .vxe-modal--header-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-modal--footer-wrapper{display:flex;flex-direction:row}.vxe-modal--footer-wrapper .vxe-modal--footer-left{flex-grow:1;text-align:left}.vxe-modal--footer-wrapper .vxe-modal--footer-right{flex-shrink:0}.vxe-modal--header-title{flex-grow:1;padding:.8em 0 .8em .6em}.vxe-modal--header-right{display:flex;flex-direction:row;flex-shrink:0;padding:0 .6em 0 0}.vxe-modal--close-btn,.vxe-modal--zoom-btn{display:inline-flex;align-items:center;justify-content:center;width:1.6em;height:1.6em;margin-left:.5em;cursor:pointer}.vxe-modal--close-btn:hover,.vxe-modal--zoom-btn:hover{color:var(--vxe-ui-font-primary-color)}.vxe-modal--footer{flex-shrink:0;text-align:right;padding:.4em 1em .8em 1em}.vxe-modal--resize .sb-resize,.vxe-modal--resize .selb-resize,.vxe-modal--resize .sest-resize,.vxe-modal--resize .st-resize,.vxe-modal--resize .swlb-resize,.vxe-modal--resize .swst-resize,.vxe-modal--resize .wl-resize,.vxe-modal--resize .wr-resize{position:absolute;z-index:100}.vxe-modal--resize .wl-resize,.vxe-modal--resize .wr-resize{width:8px;height:100%;top:0;cursor:w-resize}.vxe-modal--resize .wl-resize{left:-4px}.vxe-modal--resize .wr-resize{right:-4px}.vxe-modal--resize .selb-resize,.vxe-modal--resize .sest-resize,.vxe-modal--resize .swlb-resize,.vxe-modal--resize .swst-resize{width:10px;height:10px;z-index:101}.vxe-modal--resize .sest-resize,.vxe-modal--resize .swst-resize{top:-8px}.vxe-modal--resize .selb-resize,.vxe-modal--resize .swlb-resize{bottom:-8px}.vxe-modal--resize .sest-resize,.vxe-modal--resize .swlb-resize{cursor:sw-resize}.vxe-modal--resize .selb-resize,.vxe-modal--resize .swst-resize{cursor:se-resize}.vxe-modal--resize .swlb-resize,.vxe-modal--resize .swst-resize{left:-8px}.vxe-modal--resize .selb-resize,.vxe-modal--resize .sest-resize{right:-8px}.vxe-modal--resize .sb-resize,.vxe-modal--resize .st-resize{width:100%;height:8px;left:0;cursor:s-resize}.vxe-modal--resize .st-resize{top:-4px}.vxe-modal--resize .sb-resize{bottom:-4px}.vxe-modal--wrapper{display:none;top:0;left:0;line-height:1.5;font-size:var(--vxe-ui-modal-current-font-size);color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);outline:0}.vxe-modal--wrapper.ctx--free{width:calc(100% + 18px);height:calc(100% + 18px);position:fixed}.vxe-modal--wrapper.ctx--free.is--mask:before,.vxe-modal--wrapper.ctx--free.lock--view:before{position:fixed}.vxe-modal--wrapper.ctx--free.type--alert .vxe-modal--box,.vxe-modal--wrapper.ctx--free.type--confirm .vxe-modal--box,.vxe-modal--wrapper.ctx--free.type--modal .vxe-modal--box{position:fixed}.vxe-modal--wrapper.ctx--within{width:100%;height:100%;position:absolute}.vxe-modal--wrapper.ctx--within.is--mask:before,.vxe-modal--wrapper.ctx--within.lock--view:before{position:absolute}.vxe-modal--wrapper.ctx--within.type--alert .vxe-modal--box,.vxe-modal--wrapper.ctx--within.type--confirm .vxe-modal--box,.vxe-modal--wrapper.ctx--within.type--modal .vxe-modal--box{position:absolute}.vxe-modal--wrapper.is--active{display:block}.vxe-modal--wrapper.is--visible.is--mask:before{background-color:rgba(0,0,0,.5)}.vxe-modal--wrapper.is--visible .vxe-modal--box{opacity:1;visibility:visible}.vxe-modal--wrapper:not(.lock--view){pointer-events:none}.vxe-modal--wrapper.is--draggable.zoom--minimize .vxe-modal--header-title,.vxe-modal--wrapper.is--draggable.zoom--revert .vxe-modal--header-title{cursor:move}.vxe-modal--wrapper.zoom--maximize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .sb-resize,.vxe-modal--wrapper.zoom--maximize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .selb-resize,.vxe-modal--wrapper.zoom--maximize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .sest-resize,.vxe-modal--wrapper.zoom--maximize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .st-resize,.vxe-modal--wrapper.zoom--maximize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .swlb-resize,.vxe-modal--wrapper.zoom--maximize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .swst-resize,.vxe-modal--wrapper.zoom--maximize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .wl-resize,.vxe-modal--wrapper.zoom--maximize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .wr-resize,.vxe-modal--wrapper.zoom--minimize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .sb-resize,.vxe-modal--wrapper.zoom--minimize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .selb-resize,.vxe-modal--wrapper.zoom--minimize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .sest-resize,.vxe-modal--wrapper.zoom--minimize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .st-resize,.vxe-modal--wrapper.zoom--minimize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .swlb-resize,.vxe-modal--wrapper.zoom--minimize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .swst-resize,.vxe-modal--wrapper.zoom--minimize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .wl-resize,.vxe-modal--wrapper.zoom--minimize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .wr-resize{display:none}.vxe-modal--wrapper.zoom--maximize>.vxe-modal--box{border-radius:0}.vxe-modal--wrapper.zoom--maximize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--header{border-radius:0;cursor:default}.vxe-modal--wrapper.zoom--minimize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--body,.vxe-modal--wrapper.zoom--minimize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--footer{display:none}.vxe-modal--wrapper.type--alert.lock--scroll,.vxe-modal--wrapper.type--confirm.lock--scroll,.vxe-modal--wrapper.type--modal.lock--scroll{overflow:hidden}.vxe-modal--wrapper.type--alert:not(.lock--scroll),.vxe-modal--wrapper.type--confirm:not(.lock--scroll),.vxe-modal--wrapper.type--modal:not(.lock--scroll){overflow:auto}.vxe-modal--wrapper.is--mask:before,.vxe-modal--wrapper.lock--view:before{content:"";top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:auto}.vxe-modal--wrapper.is--mask:before{background-color:rgba(0,0,0,0)}.vxe-modal--wrapper.is--animat{pointer-events:none}.vxe-modal--wrapper.is--animat.is--mask:before{transition:background-color .2s ease-in-out}.vxe-modal--wrapper.zoom--minimize::before{display:none}.vxe-modal--wrapper.type--alert .vxe-modal--body,.vxe-modal--wrapper.type--confirm .vxe-modal--body,.vxe-modal--wrapper.type--message .vxe-modal--body,.vxe-modal--wrapper.type--notification .vxe-modal--body{white-space:normal;word-break:break-word}.vxe-modal--wrapper.type--message .vxe-modal--box{opacity:0;transform:translate(0,-100%)}.vxe-modal--wrapper.type--message.is--visible .vxe-modal--box{opacity:1;transform:translate(0,0)}.vxe-modal--wrapper.type--notification.pos--top-right .vxe-modal--box{opacity:0;transform:translate(100%,0)}.vxe-modal--wrapper.type--notification.pos--top-right.is--visible .vxe-modal--box{opacity:1;transform:translate(0,0)}.vxe-modal--wrapper.type--message,.vxe-modal--wrapper.type--notification{width:100%;height:100%;padding:0 var(--vxe-ui-layout-padding-double);text-align:center;transition:top .3s ease-in-out}.vxe-modal--wrapper.type--message.pos--top-left,.vxe-modal--wrapper.type--notification.pos--top-left{text-align:left}.vxe-modal--wrapper.type--message.pos--top-right,.vxe-modal--wrapper.type--notification.pos--top-right{text-align:right}.vxe-modal--wrapper.type--message .vxe-modal--box,.vxe-modal--wrapper.type--notification .vxe-modal--box{display:inline-flex;flex-direction:row;margin-top:0;width:auto;box-shadow:0 0 8px 0 rgba(0,0,0,.1);transition:all .3s ease-out}.vxe-modal--wrapper.type--message .vxe-modal--box .vxe-modal--body:after,.vxe-modal--wrapper.type--notification .vxe-modal--box .vxe-modal--body:after{content:"";display:block;clear:both;height:0;overflow:hidden;visibility:hidden}.vxe-modal--wrapper.type--message .vxe-modal--box .vxe-modal--content,.vxe-modal--wrapper.type--notification .vxe-modal--box .vxe-modal--content{max-width:800px;float:left}.vxe-modal--wrapper.type--alert.is--title-bg .vxe-modal--header,.vxe-modal--wrapper.type--confirm.is--title-bg .vxe-modal--header,.vxe-modal--wrapper.type--modal.is--title-bg .vxe-modal--header{background-color:var(--vxe-ui-modal-header-background-color)}.vxe-modal--wrapper.type--alert.is--border .vxe-modal--header,.vxe-modal--wrapper.type--confirm.is--border .vxe-modal--header,.vxe-modal--wrapper.type--modal.is--border .vxe-modal--header{border-bottom:1px solid var(--vxe-ui-input-border-color)}.vxe-modal--wrapper.type--alert.is--border .vxe-modal--box,.vxe-modal--wrapper.type--confirm.is--border .vxe-modal--box,.vxe-modal--wrapper.type--modal.is--border .vxe-modal--box{border:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-modal--wrapper.type--alert .vxe-modal--box,.vxe-modal--wrapper.type--confirm .vxe-modal--box,.vxe-modal--wrapper.type--modal .vxe-modal--box{display:flex;flex-direction:row;left:50%;top:0;box-shadow:var(--vxe-ui-base-popup-box-shadow)}.vxe-modal--wrapper.type--alert .vxe-modal--body,.vxe-modal--wrapper.type--confirm .vxe-modal--body,.vxe-modal--wrapper.type--modal .vxe-modal--body{overflow:auto}.vxe-modal--wrapper.type--alert .vxe-modal--body .vxe-modal--content,.vxe-modal--wrapper.type--confirm .vxe-modal--body .vxe-modal--content,.vxe-modal--wrapper.type--modal .vxe-modal--body .vxe-modal--content{overflow:auto}.vxe-modal--wrapper.status--info .vxe-modal--status-wrapper{color:var(--vxe-ui-status-info-color)}.vxe-modal--wrapper.status--question .vxe-modal--status-wrapper,.vxe-modal--wrapper.status--warning .vxe-modal--status-wrapper{color:var(--vxe-ui-status-warning-color)}.vxe-modal--wrapper.status--success .vxe-modal--status-wrapper{color:var(--vxe-ui-status-success-color)}.vxe-modal--wrapper.status--error .vxe-modal--status-wrapper{color:var(--vxe-ui-status-danger-color)}.vxe-modal--wrapper.status--loading .vxe-modal--status-wrapper{color:var(--vxe-ui-font-disabled-color)}.vxe-modal--wrapper.is--padding .vxe-modal--aside{padding:.8em .6em}.vxe-modal--wrapper.is--padding .vxe-modal--body-default{padding:.8em .6em}.vxe-modal--wrapper.is--padding .vxe-modal--body-default .vxe-modal--status-wrapper{padding-right:.6em}.vxe-modal--wrapper.is--padding.type--notification .vxe-modal--body-default{padding-top:0}.vxe-modal--wrapper.type--message .vxe-modal--body-default{padding-right:1.2em}.vxe-modal--wrapper[data-effect]{overflow:hidden}
|
|
1
|
+
.vxe-modal--wrapper{--vxe-ui-modal-current-font-size:var(--vxe-ui-font-size-default)}.vxe-modal--wrapper.size--xlarge{--vxe-ui-modal-current-font-size:var(--vxe-ui-font-size-xlarge)}.vxe-modal--wrapper.size--large{--vxe-ui-modal-current-font-size:var(--vxe-ui-font-size-large)}.vxe-modal--wrapper.size--medium{--vxe-ui-modal-current-font-size:var(--vxe-ui-font-size-medium)}.vxe-modal--wrapper.size--small{--vxe-ui-modal-current-font-size:var(--vxe-ui-font-size-small)}.vxe-modal--wrapper.size--mini{--vxe-ui-modal-current-font-size:var(--vxe-ui-font-size-mini)}html[data-vxe-lock-scroll]{overflow:hidden}html[data-vxe-lock-scroll] body{overflow:hidden;width:var(--vxe-ui-modal-lock-scroll-view-width)}.vxe-modal--box{visibility:hidden;width:420px;background-color:var(--vxe-ui-layout-background-color);border-radius:var(--vxe-ui-base-border-radius);text-align:left;pointer-events:auto;opacity:0;outline:0}.vxe-modal--box.is--drag{cursor:move}.vxe-modal--box.is--drag .vxe-modal--body:after,.vxe-modal--box.is--drag .vxe-modal--footer:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.vxe-modal--box.is--drag .vxe-modal--body{overflow:hidden}.vxe-modal--box.is--drag .vxe-modal--body .vxe-modal--content,.vxe-modal--box.is--drag .vxe-modal--body .vxe-modal--scrollbar-content{overflow:hidden}.vxe-modal--aside{flex-shrink:0;overflow:auto}.vxe-modal--container{display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.vxe-modal--status-wrapper{flex-shrink:0;display:flex;align-items:center;font-size:1.6em}.vxe-modal--content,.vxe-modal--scrollbar-content{flex-grow:1;white-space:pre-line}.vxe-modal--body,.vxe-modal--footer,.vxe-modal--header{position:relative}.vxe-modal--body{display:flex;flex-direction:row;flex-grow:1;outline:0}.vxe-modal--body-left,.vxe-modal--body-right{flex-shrink:0;overflow:auto;outline:0}.vxe-modal--body-default{display:flex;flex-grow:1;overflow:auto;outline:0}.vxe-modal--header{display:flex;flex-direction:row;align-items:center;height:2.8em;flex-shrink:0;font-size:1.1em;font-weight:700;border-radius:var(--vxe-ui-base-border-radius) var(--vxe-ui-base-border-radius) 0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-modal--header.is--ellipsis .vxe-modal--header-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-modal--footer-wrapper{display:flex;flex-direction:row}.vxe-modal--footer-wrapper .vxe-modal--footer-left{flex-grow:1;text-align:left}.vxe-modal--footer-wrapper .vxe-modal--footer-right{flex-shrink:0}.vxe-modal--header-title{flex-grow:1;padding:.8em 0 .8em .6em}.vxe-modal--header-right{display:flex;flex-direction:row;flex-shrink:0;padding:0 .6em 0 0}.vxe-modal--close-btn,.vxe-modal--zoom-btn{display:inline-flex;align-items:center;justify-content:center;width:1.6em;height:1.6em;margin-left:.5em;cursor:pointer}.vxe-modal--close-btn:hover,.vxe-modal--zoom-btn:hover{color:var(--vxe-ui-font-primary-color)}.vxe-modal--footer{flex-shrink:0;text-align:right;padding:.4em 1em .8em 1em}.vxe-modal--resize .sb-resize,.vxe-modal--resize .selb-resize,.vxe-modal--resize .sest-resize,.vxe-modal--resize .st-resize,.vxe-modal--resize .swlb-resize,.vxe-modal--resize .swst-resize,.vxe-modal--resize .wl-resize,.vxe-modal--resize .wr-resize{position:absolute;z-index:100}.vxe-modal--resize .wl-resize,.vxe-modal--resize .wr-resize{width:8px;height:100%;top:0;cursor:w-resize}.vxe-modal--resize .wl-resize{left:-4px}.vxe-modal--resize .wr-resize{right:-4px}.vxe-modal--resize .selb-resize,.vxe-modal--resize .sest-resize,.vxe-modal--resize .swlb-resize,.vxe-modal--resize .swst-resize{width:10px;height:10px;z-index:101}.vxe-modal--resize .sest-resize,.vxe-modal--resize .swst-resize{top:-8px}.vxe-modal--resize .selb-resize,.vxe-modal--resize .swlb-resize{bottom:-8px}.vxe-modal--resize .sest-resize,.vxe-modal--resize .swlb-resize{cursor:sw-resize}.vxe-modal--resize .selb-resize,.vxe-modal--resize .swst-resize{cursor:se-resize}.vxe-modal--resize .swlb-resize,.vxe-modal--resize .swst-resize{left:-8px}.vxe-modal--resize .selb-resize,.vxe-modal--resize .sest-resize{right:-8px}.vxe-modal--resize .sb-resize,.vxe-modal--resize .st-resize{width:100%;height:8px;left:0;cursor:s-resize}.vxe-modal--resize .st-resize{top:-4px}.vxe-modal--resize .sb-resize{bottom:-4px}.vxe-modal--wrapper{display:none;top:0;left:0;line-height:1.5;font-size:var(--vxe-ui-modal-current-font-size);color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);outline:0}.vxe-modal--wrapper.ctx--free{width:calc(100% + 18px);height:calc(100% + 18px);position:fixed}.vxe-modal--wrapper.ctx--free.is--mask:before,.vxe-modal--wrapper.ctx--free.lock--view:before{position:fixed}.vxe-modal--wrapper.ctx--free.type--alert .vxe-modal--box,.vxe-modal--wrapper.ctx--free.type--confirm .vxe-modal--box,.vxe-modal--wrapper.ctx--free.type--modal .vxe-modal--box{position:fixed}.vxe-modal--wrapper.ctx--within{width:100%;height:100%;position:absolute}.vxe-modal--wrapper.ctx--within.is--mask:before,.vxe-modal--wrapper.ctx--within.lock--view:before{position:absolute}.vxe-modal--wrapper.ctx--within.type--alert .vxe-modal--box,.vxe-modal--wrapper.ctx--within.type--confirm .vxe-modal--box,.vxe-modal--wrapper.ctx--within.type--modal .vxe-modal--box{position:absolute}.vxe-modal--wrapper.is--active{display:block}.vxe-modal--wrapper.is--visible.is--mask:before{background-color:rgba(0,0,0,.5)}.vxe-modal--wrapper.is--visible .vxe-modal--box{opacity:1;visibility:visible}.vxe-modal--wrapper:not(.lock--view){pointer-events:none}.vxe-modal--wrapper.is--draggable.zoom--minimize .vxe-modal--header-title,.vxe-modal--wrapper.is--draggable.zoom--revert .vxe-modal--header-title{cursor:move}.vxe-modal--wrapper.zoom--maximize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .sb-resize,.vxe-modal--wrapper.zoom--maximize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .selb-resize,.vxe-modal--wrapper.zoom--maximize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .sest-resize,.vxe-modal--wrapper.zoom--maximize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .st-resize,.vxe-modal--wrapper.zoom--maximize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .swlb-resize,.vxe-modal--wrapper.zoom--maximize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .swst-resize,.vxe-modal--wrapper.zoom--maximize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .wl-resize,.vxe-modal--wrapper.zoom--maximize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .wr-resize,.vxe-modal--wrapper.zoom--minimize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .sb-resize,.vxe-modal--wrapper.zoom--minimize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .selb-resize,.vxe-modal--wrapper.zoom--minimize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .sest-resize,.vxe-modal--wrapper.zoom--minimize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .st-resize,.vxe-modal--wrapper.zoom--minimize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .swlb-resize,.vxe-modal--wrapper.zoom--minimize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .swst-resize,.vxe-modal--wrapper.zoom--minimize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .wl-resize,.vxe-modal--wrapper.zoom--minimize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--resize .wr-resize{display:none}.vxe-modal--wrapper.zoom--maximize>.vxe-modal--box{border-radius:0}.vxe-modal--wrapper.zoom--maximize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--header{border-radius:0;cursor:default}.vxe-modal--wrapper.zoom--minimize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--body,.vxe-modal--wrapper.zoom--minimize>.vxe-modal--box>.vxe-modal--container>.vxe-modal--footer{display:none}.vxe-modal--wrapper.type--alert.lock--scroll,.vxe-modal--wrapper.type--confirm.lock--scroll,.vxe-modal--wrapper.type--modal.lock--scroll{overflow:hidden}.vxe-modal--wrapper.type--alert:not(.lock--scroll),.vxe-modal--wrapper.type--confirm:not(.lock--scroll),.vxe-modal--wrapper.type--modal:not(.lock--scroll){overflow:auto}.vxe-modal--wrapper.is--mask:before,.vxe-modal--wrapper.lock--view:before{content:"";top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:auto}.vxe-modal--wrapper.is--mask:before{background-color:rgba(0,0,0,0)}.vxe-modal--wrapper.is--animat{pointer-events:none}.vxe-modal--wrapper.is--animat.is--mask:before{transition:background-color .2s ease-in-out}.vxe-modal--wrapper.zoom--minimize::before{display:none}.vxe-modal--wrapper.type--alert .vxe-modal--body,.vxe-modal--wrapper.type--confirm .vxe-modal--body,.vxe-modal--wrapper.type--message .vxe-modal--body,.vxe-modal--wrapper.type--notification .vxe-modal--body{white-space:normal;word-break:break-word}.vxe-modal--wrapper.type--message .vxe-modal--box{opacity:0;transform:translate(0,-100%)}.vxe-modal--wrapper.type--message.is--visible .vxe-modal--box{opacity:1;transform:translate(0,0)}.vxe-modal--wrapper.type--notification.pos--top-right .vxe-modal--box{opacity:0;transform:translate(100%,0)}.vxe-modal--wrapper.type--notification.pos--top-right.is--visible .vxe-modal--box{opacity:1;transform:translate(0,0)}.vxe-modal--wrapper.type--message,.vxe-modal--wrapper.type--notification{width:100%;height:100%;padding:0 var(--vxe-ui-layout-padding-double);text-align:center;transition:top .3s ease-in-out}.vxe-modal--wrapper.type--message.pos--top-left,.vxe-modal--wrapper.type--notification.pos--top-left{text-align:left}.vxe-modal--wrapper.type--message.pos--top-right,.vxe-modal--wrapper.type--notification.pos--top-right{text-align:right}.vxe-modal--wrapper.type--message .vxe-modal--box,.vxe-modal--wrapper.type--notification .vxe-modal--box{display:inline-flex;flex-direction:row;margin-top:0;width:auto;box-shadow:0 0 8px 0 rgba(0,0,0,.1);transition:all .3s ease-out}.vxe-modal--wrapper.type--message .vxe-modal--box .vxe-modal--body:after,.vxe-modal--wrapper.type--notification .vxe-modal--box .vxe-modal--body:after{content:"";display:block;clear:both;height:0;overflow:hidden;visibility:hidden}.vxe-modal--wrapper.type--message .vxe-modal--box .vxe-modal--content,.vxe-modal--wrapper.type--message .vxe-modal--box .vxe-modal--scrollbar-content,.vxe-modal--wrapper.type--notification .vxe-modal--box .vxe-modal--content,.vxe-modal--wrapper.type--notification .vxe-modal--box .vxe-modal--scrollbar-content{max-width:800px;float:left}.vxe-modal--wrapper.type--alert.is--title-bg .vxe-modal--header,.vxe-modal--wrapper.type--confirm.is--title-bg .vxe-modal--header,.vxe-modal--wrapper.type--modal.is--title-bg .vxe-modal--header{background-color:var(--vxe-ui-modal-header-background-color)}.vxe-modal--wrapper.type--alert.is--border .vxe-modal--header,.vxe-modal--wrapper.type--confirm.is--border .vxe-modal--header,.vxe-modal--wrapper.type--modal.is--border .vxe-modal--header{border-bottom:1px solid var(--vxe-ui-input-border-color)}.vxe-modal--wrapper.type--alert.is--border .vxe-modal--box,.vxe-modal--wrapper.type--confirm.is--border .vxe-modal--box,.vxe-modal--wrapper.type--modal.is--border .vxe-modal--box{border:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-modal--wrapper.type--alert .vxe-modal--box,.vxe-modal--wrapper.type--confirm .vxe-modal--box,.vxe-modal--wrapper.type--modal .vxe-modal--box{display:flex;flex-direction:row;left:50%;top:0;box-shadow:var(--vxe-ui-base-popup-box-shadow)}.vxe-modal--wrapper.type--alert .vxe-modal--body,.vxe-modal--wrapper.type--confirm .vxe-modal--body,.vxe-modal--wrapper.type--modal .vxe-modal--body{overflow:auto}.vxe-modal--wrapper.type--alert .vxe-modal--body .vxe-modal--content,.vxe-modal--wrapper.type--alert .vxe-modal--body .vxe-modal--scrollbar-content,.vxe-modal--wrapper.type--confirm .vxe-modal--body .vxe-modal--content,.vxe-modal--wrapper.type--confirm .vxe-modal--body .vxe-modal--scrollbar-content,.vxe-modal--wrapper.type--modal .vxe-modal--body .vxe-modal--content,.vxe-modal--wrapper.type--modal .vxe-modal--body .vxe-modal--scrollbar-content{overflow:auto}.vxe-modal--wrapper.status--info .vxe-modal--status-wrapper{color:var(--vxe-ui-status-info-color)}.vxe-modal--wrapper.status--question .vxe-modal--status-wrapper,.vxe-modal--wrapper.status--warning .vxe-modal--status-wrapper{color:var(--vxe-ui-status-warning-color)}.vxe-modal--wrapper.status--success .vxe-modal--status-wrapper{color:var(--vxe-ui-status-success-color)}.vxe-modal--wrapper.status--error .vxe-modal--status-wrapper{color:var(--vxe-ui-status-danger-color)}.vxe-modal--wrapper.status--loading .vxe-modal--status-wrapper{color:var(--vxe-ui-font-disabled-color)}.vxe-modal--wrapper.is--padding .vxe-modal--aside{padding:.8em .6em}.vxe-modal--wrapper.is--padding .vxe-modal--body-default{padding:.8em .6em}.vxe-modal--wrapper.is--padding .vxe-modal--body-default .vxe-modal--status-wrapper{padding-right:.6em}.vxe-modal--wrapper.is--padding.type--notification .vxe-modal--body-default{padding-top:0}.vxe-modal--wrapper.type--message .vxe-modal--body-default{padding-right:1.2em}.vxe-modal--wrapper[data-effect]{overflow:hidden}.vxe-modal--scrollbar-content{width:100%}
|
|
@@ -10,6 +10,7 @@ var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
|
10
10
|
var _ui = require("../../ui");
|
|
11
11
|
var _dom = require("../../ui/src/dom");
|
|
12
12
|
var _util = require("./util");
|
|
13
|
+
var _utils = require("../../ui/src/utils");
|
|
13
14
|
var _loading = _interopRequireDefault(require("../../loading"));
|
|
14
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
16
|
const {
|
|
@@ -41,6 +42,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
41
42
|
name: 'VxeScrollbar',
|
|
42
43
|
props: {
|
|
43
44
|
id: [String, Number],
|
|
45
|
+
viewId: [String, Number],
|
|
44
46
|
width: [String, Number],
|
|
45
47
|
height: [String, Number],
|
|
46
48
|
minWidth: [String, Number],
|
|
@@ -56,6 +58,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
56
58
|
type: Boolean,
|
|
57
59
|
default: () => getConfig().scrollbar.padding
|
|
58
60
|
},
|
|
61
|
+
autoHide: {
|
|
62
|
+
type: Boolean,
|
|
63
|
+
default: () => getConfig().scrollbar.autoHide
|
|
64
|
+
},
|
|
65
|
+
visible: {
|
|
66
|
+
type: Boolean,
|
|
67
|
+
default: () => getConfig().scrollbar.visible
|
|
68
|
+
},
|
|
59
69
|
xConfig: Object,
|
|
60
70
|
yConfig: Object,
|
|
61
71
|
className: {
|
|
@@ -105,8 +115,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
105
115
|
maxWidth,
|
|
106
116
|
maxHeight
|
|
107
117
|
} = props;
|
|
108
|
-
const
|
|
109
|
-
const
|
|
118
|
+
const barWidth = computeYWidth.value;
|
|
119
|
+
const barHeight = computeXHeight.value;
|
|
110
120
|
const stys = {};
|
|
111
121
|
if (width) {
|
|
112
122
|
stys.width = (0, _dom.toCssUnit)(width);
|
|
@@ -126,14 +136,48 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
126
136
|
if (maxHeight) {
|
|
127
137
|
stys.maxHeight = (0, _dom.toCssUnit)(maxHeight);
|
|
128
138
|
}
|
|
129
|
-
if (
|
|
130
|
-
stys['--vxe-ui-scrollbar-y-width'] = (0, _dom.toCssUnit)(
|
|
131
|
-
|
|
132
|
-
if (xOpts.height) {
|
|
133
|
-
stys['--vxe-ui-scrollbar-x-height'] = (0, _dom.toCssUnit)(xOpts.height);
|
|
139
|
+
if (barWidth || barHeight) {
|
|
140
|
+
stys['--vxe-ui-scrollbar-y-width'] = (0, _dom.toCssUnit)(barWidth || barHeight);
|
|
141
|
+
stys['--vxe-ui-scrollbar-x-height'] = (0, _dom.toCssUnit)(barHeight || barWidth);
|
|
134
142
|
}
|
|
135
143
|
return stys;
|
|
136
144
|
});
|
|
145
|
+
const computeXHeight = (0, _vue.computed)(() => {
|
|
146
|
+
const xOpts = computeXOpts.value;
|
|
147
|
+
return xOpts.height;
|
|
148
|
+
});
|
|
149
|
+
const computeYWidth = (0, _vue.computed)(() => {
|
|
150
|
+
const yOpts = computeYOpts.value;
|
|
151
|
+
return yOpts.width;
|
|
152
|
+
});
|
|
153
|
+
const computeXVisible = (0, _vue.computed)(() => {
|
|
154
|
+
const {
|
|
155
|
+
visible
|
|
156
|
+
} = props;
|
|
157
|
+
const xOpts = computeXOpts.value;
|
|
158
|
+
return (0, _utils.getDefaultConfig)(xOpts.visible, visible);
|
|
159
|
+
});
|
|
160
|
+
const computeYVisible = (0, _vue.computed)(() => {
|
|
161
|
+
const {
|
|
162
|
+
visible
|
|
163
|
+
} = props;
|
|
164
|
+
const yOpts = computeYOpts.value;
|
|
165
|
+
return (0, _utils.getDefaultConfig)(yOpts.visible, visible);
|
|
166
|
+
});
|
|
167
|
+
const computeXAutoHide = (0, _vue.computed)(() => {
|
|
168
|
+
const {
|
|
169
|
+
autoHide
|
|
170
|
+
} = props;
|
|
171
|
+
const xOpts = computeXOpts.value;
|
|
172
|
+
return (0, _utils.getDefaultConfig)(xOpts.autoHide, autoHide);
|
|
173
|
+
});
|
|
174
|
+
const computeYAutoHide = (0, _vue.computed)(() => {
|
|
175
|
+
const {
|
|
176
|
+
autoHide
|
|
177
|
+
} = props;
|
|
178
|
+
const yOpts = computeYOpts.value;
|
|
179
|
+
return (0, _utils.getDefaultConfig)(yOpts.autoHide, autoHide);
|
|
180
|
+
});
|
|
137
181
|
const computeWrapperClss = (0, _vue.computed)(() => {
|
|
138
182
|
const {
|
|
139
183
|
native,
|
|
@@ -144,14 +188,16 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
144
188
|
yThumbHeight,
|
|
145
189
|
xThumbWidth
|
|
146
190
|
} = reactData;
|
|
147
|
-
const xOpts = computeXOpts.value;
|
|
148
|
-
const yOpts = computeYOpts.value;
|
|
149
191
|
const xToTop = computeXToTop.value;
|
|
150
192
|
const yToLeft = computeYToLeft.value;
|
|
151
|
-
|
|
193
|
+
const xVisible = computeXVisible.value;
|
|
194
|
+
const yVisible = computeYVisible.value;
|
|
195
|
+
const xAutoHide = computeXAutoHide.value;
|
|
196
|
+
const yAutoHide = computeYAutoHide.value;
|
|
197
|
+
return domUtils.buildClass(['vxe-scrollbar', `ov-x--${xVisible === false ? 'hidden' : 'visible'}`, `ov-y--${yVisible === false ? 'hidden' : 'visible'}`, `sx-pos--${xToTop ? 'top' : 'bottom'}`, `sy-pos--${yToLeft ? 'left' : 'right'}`, native ? 'is--native' : 'is--virtual', className], {
|
|
152
198
|
'is--padding': padding,
|
|
153
|
-
'ov-x--auto-hide':
|
|
154
|
-
'ov-y--auto-hide':
|
|
199
|
+
'ov-x--auto-hide': xAutoHide,
|
|
200
|
+
'ov-y--auto-hide': yAutoHide,
|
|
155
201
|
'overflow-y': yThumbHeight,
|
|
156
202
|
'overflow-x': xThumbWidth
|
|
157
203
|
});
|
|
@@ -526,14 +572,15 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
526
572
|
id,
|
|
527
573
|
native,
|
|
528
574
|
loading,
|
|
575
|
+
viewId,
|
|
529
576
|
viewAttrs
|
|
530
577
|
} = props;
|
|
531
578
|
const wrapperStyle = computeWrapperStyle.value;
|
|
532
579
|
const wrapperClss = computeWrapperClss.value;
|
|
533
580
|
const viewClss = computeViewClss.value;
|
|
534
581
|
const viewInnerClss = computeViewInnerClss.value;
|
|
535
|
-
const
|
|
536
|
-
const
|
|
582
|
+
const xVisible = computeXVisible.value;
|
|
583
|
+
const yVisible = computeYVisible.value;
|
|
537
584
|
const defaultSlot = slots.default;
|
|
538
585
|
return (0, _vue.h)('div', {
|
|
539
586
|
ref: refElem,
|
|
@@ -543,12 +590,13 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
543
590
|
}, [(0, _vue.h)('div', Object.assign({
|
|
544
591
|
ref: refViewElem,
|
|
545
592
|
class: viewClss,
|
|
546
|
-
onScroll: scrollEvent
|
|
593
|
+
onScroll: scrollEvent,
|
|
594
|
+
id: viewId || null
|
|
547
595
|
}, viewAttrs), [(0, _vue.h)('div', {
|
|
548
596
|
key: 'vi',
|
|
549
597
|
ref: refViewInnerElem,
|
|
550
598
|
class: viewInnerClss
|
|
551
|
-
}, defaultSlot ? defaultSlot({}) : [])]), native ||
|
|
599
|
+
}, defaultSlot ? defaultSlot({}) : [])]), native || xVisible === false ? renderEmptyElement($xeScrollbar) : (0, _vue.h)('div', {
|
|
552
600
|
ref: refTrackXElem,
|
|
553
601
|
class: 'vxe-scrollbar--track-x',
|
|
554
602
|
onClick: clickTrackXEvent
|
|
@@ -560,7 +608,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
560
608
|
onPointerup: cleatPointerThumbEvent,
|
|
561
609
|
onPointercancel: cleatPointerThumbEvent,
|
|
562
610
|
onLostpointercapture: cleatPointerThumbEvent
|
|
563
|
-
})]), native ||
|
|
611
|
+
})]), native || yVisible === false ? renderEmptyElement($xeScrollbar) : (0, _vue.h)('div', {
|
|
564
612
|
ref: refTrackYElem,
|
|
565
613
|
class: 'vxe-scrollbar--track-y',
|
|
566
614
|
onClick: clickTrackYEvent
|
|
@@ -602,6 +650,22 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
602
650
|
(0, _vue.watch)(() => props.syncResize, () => {
|
|
603
651
|
reFlag.value++;
|
|
604
652
|
});
|
|
653
|
+
(0, _vue.watch)(computeYWidth, () => {
|
|
654
|
+
reFlag.value++;
|
|
655
|
+
});
|
|
656
|
+
(0, _vue.watch)(computeXHeight, () => {
|
|
657
|
+
reFlag.value++;
|
|
658
|
+
});
|
|
659
|
+
(0, _vue.watch)(computeXVisible, () => {
|
|
660
|
+
(0, _vue.nextTick)(() => {
|
|
661
|
+
reFlag.value++;
|
|
662
|
+
});
|
|
663
|
+
});
|
|
664
|
+
(0, _vue.watch)(computeYVisible, () => {
|
|
665
|
+
(0, _vue.nextTick)(() => {
|
|
666
|
+
reFlag.value++;
|
|
667
|
+
});
|
|
668
|
+
});
|
|
605
669
|
(0, _vue.watch)(reFlag, () => {
|
|
606
670
|
$xeScrollbar.recalculate().then(() => {
|
|
607
671
|
$xeScrollbar.recalculate();
|