vxe-pc-ui 3.16.17 → 3.16.18
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/es/button/src/button.js +4 -2
- package/es/button/style.css +2 -0
- package/es/button/style.min.css +1 -1
- package/es/color-picker/src/color-picker.js +4 -2
- package/es/date-picker/src/date-picker.js +4 -2
- package/es/date-range-picker/src/date-range-picker.js +4 -2
- package/es/drawer/src/drawer.js +7 -3
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +4 -2
- package/es/menu/src/menu.js +8 -4
- package/es/modal/src/modal.js +9 -5
- package/es/select/src/select.js +4 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table-select/src/table-select.js +4 -2
- package/es/tree-select/src/tree-select.js +4 -2
- package/es/ui/index.js +1 -1
- package/es/ui/src/dom.js +7 -0
- package/es/ui/src/log.js +1 -1
- package/es/vxe-button/style.css +2 -0
- package/es/vxe-button/style.min.css +1 -1
- package/lib/button/src/button.js +3 -1
- package/lib/button/src/button.min.js +1 -1
- package/lib/button/style/style.css +2 -0
- package/lib/button/style/style.min.css +1 -1
- package/lib/color-picker/src/color-picker.js +3 -1
- package/lib/color-picker/src/color-picker.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +3 -1
- package/lib/date-picker/src/date-picker.min.js +1 -1
- package/lib/date-range-picker/src/date-range-picker.js +3 -1
- package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
- package/lib/drawer/src/drawer.js +9 -2
- package/lib/drawer/src/drawer.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/icon-picker/src/icon-picker.js +3 -1
- package/lib/icon-picker/src/icon-picker.min.js +1 -1
- package/lib/index.umd.js +63 -19
- package/lib/index.umd.min.js +1 -1
- package/lib/menu/src/menu.js +10 -3
- package/lib/menu/src/menu.min.js +1 -1
- package/lib/modal/src/modal.js +11 -4
- package/lib/modal/src/modal.min.js +1 -1
- package/lib/select/src/select.js +3 -1
- package/lib/select/src/select.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table-select/src/table-select.js +3 -1
- package/lib/table-select/src/table-select.min.js +1 -1
- package/lib/tree-select/src/tree-select.js +3 -1
- package/lib/tree-select/src/tree-select.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/dom.js +8 -0
- package/lib/ui/src/dom.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-button/style/style.css +2 -0
- package/lib/vxe-button/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/button/src/button.ts +4 -2
- package/packages/color-picker/src/color-picker.ts +4 -2
- package/packages/date-picker/src/date-picker.ts +4 -2
- package/packages/date-range-picker/src/date-range-picker.ts +4 -2
- package/packages/drawer/src/drawer.ts +7 -3
- package/packages/icon-picker/src/icon-picker.ts +4 -2
- package/packages/menu/src/menu.ts +8 -4
- package/packages/modal/src/modal.ts +9 -5
- package/packages/select/src/select.ts +4 -2
- package/packages/table-select/src/table-select.ts +4 -2
- package/packages/tree-select/src/tree-select.ts +4 -2
- package/packages/ui/src/dom.ts +8 -0
- package/styles/components/button.scss +1 -0
- package/types/components/button.d.ts +1 -1
- package/types/components/color-picker.d.ts +1 -1
- package/types/components/date-picker.d.ts +1 -1
- package/types/components/date-range-picker.d.ts +1 -1
- package/types/components/drawer.d.ts +8 -0
- package/types/components/icon-picker.d.ts +7 -0
- package/types/components/menu.d.ts +5 -1
- package/types/components/modal.d.ts +8 -0
- package/types/components/pulldown.d.ts +1 -1
- package/types/components/select.d.ts +1 -1
- package/types/components/table-select.d.ts +1 -1
- package/types/components/tree-select.d.ts +1 -1
- /package/es/icon/{iconfont.1784627052100.ttf → iconfont.1784708557175.ttf} +0 -0
- /package/es/icon/{iconfont.1784627052100.woff → iconfont.1784708557175.woff} +0 -0
- /package/es/icon/{iconfont.1784627052100.woff2 → iconfont.1784708557175.woff2} +0 -0
- /package/es/{iconfont.1784627052100.ttf → iconfont.1784708557175.ttf} +0 -0
- /package/es/{iconfont.1784627052100.woff → iconfont.1784708557175.woff} +0 -0
- /package/es/{iconfont.1784627052100.woff2 → iconfont.1784708557175.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1784627052100.ttf → iconfont.1784708557175.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1784627052100.woff → iconfont.1784708557175.woff} +0 -0
- /package/lib/icon/style/{iconfont.1784627052100.woff2 → iconfont.1784708557175.woff2} +0 -0
- /package/lib/{iconfont.1784627052100.ttf → iconfont.1784708557175.ttf} +0 -0
- /package/lib/{iconfont.1784627052100.woff → iconfont.1784708557175.woff} +0 -0
- /package/lib/{iconfont.1784627052100.woff2 → iconfont.1784708557175.woff2} +0 -0
package/lib/menu/src/menu.js
CHANGED
|
@@ -86,7 +86,13 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
86
86
|
return getConfig().menu.size || getConfig().size;
|
|
87
87
|
}
|
|
88
88
|
},
|
|
89
|
-
menuConfig: Object
|
|
89
|
+
menuConfig: Object,
|
|
90
|
+
appendTo: {
|
|
91
|
+
type: [String, Function],
|
|
92
|
+
default: function _default() {
|
|
93
|
+
return getConfig().menu.appendTo;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
90
96
|
},
|
|
91
97
|
inject: {
|
|
92
98
|
$xeLayoutAside: {
|
|
@@ -411,7 +417,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
411
417
|
var $xeMenu = this;
|
|
412
418
|
var props = $xeMenu;
|
|
413
419
|
var reactData = $xeMenu.reactData;
|
|
414
|
-
var collapseFixed = props.collapseFixed
|
|
420
|
+
var collapseFixed = props.collapseFixed,
|
|
421
|
+
appendTo = props.appendTo;
|
|
415
422
|
if (collapseFixed) {
|
|
416
423
|
var initialized = reactData.initialized;
|
|
417
424
|
var isCollapsed = $xeMenu.computeIsCollapsed;
|
|
@@ -421,7 +428,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
421
428
|
$xeMenu.$nextTick(function () {
|
|
422
429
|
var collapseEl = $xeMenu.$refs.refCollapseElem;
|
|
423
430
|
if (collapseEl) {
|
|
424
|
-
|
|
431
|
+
(0, _dom.getPopupContainer)(appendTo).appendChild(collapseEl);
|
|
425
432
|
}
|
|
426
433
|
});
|
|
427
434
|
}
|
package/lib/menu/src/menu.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _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"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);n=n.call(e,t||"default");if("object"!=_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}var _createComponentLog=(0,_log.createComponentLog)("menu"),errLog=_createComponentLog.errLog,menus=_ui.VxeUI.menus,getConfig=_ui.VxeUI.getConfig,getIcon=_ui.VxeUI.getIcon;function createInternalData(){return{lastActiveTime:0,menuInitMaps:{},menuCacheMaps:{},menuKeyMaps:{},menuEffectMaps:{}}}function createReactData(){return{initialized:!1,isEnterCollapse:!1,collapseStyle:{},collapseZindex:0,activeName:"",menuList:[],itemHeight:1}}var nemuUniqueKey=1e8,_default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeMenu",mixins:[_ui.globalMixins.sizeMixin,_ui.globalMixins.permissionMixin],props:{value:[String,Number],expandAll:Boolean,expandKeys:Array,accordion:{type:Boolean,default:function(){return getConfig().menu.accordion}},border:{type:[Boolean,String],default:function(){return getConfig().menu.border}},optionProps:{type:Object,default:function(){return getConfig().menu.optionProps}},collapsed:{type:Boolean,default:null},collapseFixed:Boolean,loading:Boolean,options:{type:Array,default:function(){return[]}},size:{type:String,default:function(){return getConfig().menu.size||getConfig().size}},menuConfig:Object},inject:{$xeLayoutAside:{default:null}},data:function(){var e=createReactData();return Object.assign(Object.assign({},{}),{xID:_xeUtils.default.uniqueId(),reactData:e})},computed:Object.assign(Object.assign({},{}),{computePropsOpts:function(){return Object.assign({},getConfig().menu.optionProps,this.optionProps)},computeTitleField:function(){return this.computePropsOpts.title||"title"},computeKeyField:function(){return this.computePropsOpts.name||"name"},computeChildrenField:function(){return this.computePropsOpts.children||"children"},computeLinkUrlField:function(){return this.computePropsOpts.linkUrl||"linkUrl"},computeRouterLinkField:function(){return this.computePropsOpts.routerLink||"routerLink"},computeCurrBorder:function(){var e=this.border;return e?!0===e?"first-group":e:""},computeMenuOpts:function(){return Object.assign({},getConfig().tree.menuConfig,this.menuConfig)},computeIsCollapsed:function(){var e=this.$xeLayoutAside,t=this.collapsed;return _xeUtils.default.isBoolean(t)?t:!!e&&!!e.collapsed},computeVarStyle:function(){var e=this.$xeLayoutAside;return e?e.computeVarStyle:{}},computeCollapseEnterWidth:function(){var e=this.$xeLayoutAside,t="";return t=e?e.width||"":t}}),methods:{dispatchEvent:function(e,t,n){this.$emit(e,(0,_ui.createEvent)(n,{$menu:this},t))},emitModel:function(e){var t=this,n=t.reactData,i=t._events;n.activeName=e,t.$emit("input",e),i&&i.modelValue?t.$emit("modelValue",e):t.$emit("model-value",e)},callSlot:function(e,t,n){var i=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=i[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,n)):[]},setExpandByMenuKey:function(e,t){var n=this.internalData,i=n.menuKeyMaps,o=n.menuInitMaps;return e&&(e=_xeUtils.default.isArray(e)?e:[e]).forEach(function(e){e=i[e];e&&(t&&(o[e.itemId]=!0),e.isExpand=!!t)}),this.$nextTick()},clearAllExpandMenu:function(){var e=this.reactData,t=this.internalData,e=e.menuList;return _xeUtils.default.eachTree(e,function(e){e.isExpand=!1},{children:"childList"}),t.menuInitMaps={},this.$nextTick()},handleScrollToView:function(e){var t=this.$refs.refElem,t=t?t.querySelector('.vxe-menu--item-wrapper[data-menu-id="'.concat(e,'"]')):null;return!!t&&((0,_dom.scrollToView)(t),!0)},scrollToMenuKey:function(e){var t,n=this,e=n.internalData.menuKeyMaps[e];return!e||(t=e.itemId,n.handleScrollToView(t))?n.$nextTick():n.$nextTick().then(function(){n.handleScrollToView(t)})},scrollToActiveMenu:function(){var t=this,n=t.reactData,e=n.activeName;return e?t.scrollToMenuKey(e):t.$nextTick().then(function(){var e=n.activeName;if(e)return t.scrollToMenuKey(e)})},getMenuTitle:function(e){return"".concat(e.title||e.name)},updateZindex:function(){var e=this.reactData;e.collapseZindex<(0,_utils.getLastZIndex)()&&(e.collapseZindex=(0,_utils.nextZIndex)())},updateActiveMenu:function(a){var e=this.reactData,t=this.internalData,l=e.activeName,u=t.menuInitMaps;_xeUtils.default.eachTree(e.menuList,function(e,t,n,i,o,r){e.itemKey===l?(r.forEach(function(e){e.isActive=!0,a&&(e.isExpand=!0,u[e.itemId]=!0)}),e.isExactActive=!0):(e.isExactActive=!1,e.isActive=!1)},{children:"childList"})},updateMenuConfig:function(){var e=this,t=e.reactData,n=e.internalData,i=e.options,c=e.expandAll,o=e.expandKeys,d={},p=e.computeTitleField,m=e.computeKeyField,f=e.computeChildrenField,v=e.computeLinkUrlField,h=e.computeRouterLinkField,x={},y=(o&&o.forEach(function(e){x[e]=!0}),{}),C={};t.menuList=_xeUtils.default.mapTree(i,function(e,t,n,i,o){var r=++nemuUniqueKey,a=e[m]||i.join(","),l=e[f],u=l&&0<l.length,s=!!u&&(_xeUtils.default.isBoolean(e.expanded)?e.expanded:x[a]||!!c),l=(s&&(d[r]=!0),{itemConf:e,title:e[p],name:e[m],icon:e.icon,linkUrl:e[v],linkTarget:e.linkTarget,routerLink:e[h],permissionCode:e.permissionCode,children:l,slots:e.slots,parentKey:o?o.name||i.slice(0,i.length-1).join(","):"",level:i.length,itemId:r,itemKey:a,isExactActive:!1,isActive:!1,isExpand:s,hasChild:u,childList:[]});return C[a]&&errLog("vxe.error.repeatKey",[m,e[m]]),C[a]=y[r]=l},{children:"children",mapChildren:"childList"}),n.menuInitMaps=d,n.menuCacheMaps=y,n.menuKeyMaps=C},updateCollapseStyle:function(){var i=this,o=i.reactData;i.collapseFixed&&i.$nextTick(function(){var e,t=i.computeIsCollapsed,n=i.$refs.refElem;n&&(e=n.getBoundingClientRect(),n=n.parentNode,o.collapseStyle=t?{top:(0,_dom.toCssUnit)(e.top),left:(0,_dom.toCssUnit)(e.left),height:(0,_dom.toCssUnit)(n.clientHeight),zIndex:o.collapseZindex}:{})})},handleCollapseMenu:function(){var e,t=this,n=t.reactData;t.collapseFixed&&(e=n.initialized,t.computeIsCollapsed&&!e&&(n.initialized=!0,t.$nextTick(function(){var e=t.$refs.refCollapseElem;e&&document.body.appendChild(e)})),n.isEnterCollapse=!1,t.updateZindex(),t.updateCollapseStyle())},handleClickIconCollapse:function(e,t,n){var i,o=this,r=o.internalData,a=o.accordion,l=r.menuEffectMaps,r=r.menuInitMaps,u=t.itemId,s=o.computeIsCollapsed,c=!t.isExpand;t.hasChild&&(e.stopPropagation(),e.preventDefault(),l[u]&&clearTimeout(l[u]),a&&n.forEach(function(e){e!==t&&(e.isExpand=!1)}),t.isExpand=c,r[u]=!0,e=s?o.$refs.refCollapseElem:o.$refs.refElem)&&(a=e.querySelector('.vxe-menu--item-wrapper[data-menu-id="'.concat(u,'"]')),i=a?a.querySelector(".vxe-menu--item-group"):null)&&(c?(i.style.height="0",i.setAttribute("data-effect","y"),requestAnimationFrame(function(){i.style.height="".concat(i.scrollHeight,"px")})):(i.style.height="".concat(i.scrollHeight,"px"),i.setAttribute("data-effect","y"),requestAnimationFrame(function(){i.style.height="0"})),l[u]=setTimeout(function(){delete l[u],i.removeAttribute("data-effect"),i.style.height=""},350))},handleContextmenuEvent:function(i,o){var r=this,e=r.menuConfig,t=r.computeMenuOpts;(e?(0,_utils.isEnableConf)(t):t.enabled)&&(e=t.options,(t=t.visibleMethod)&&!t({$menu:r,options:e,currentMenu:o,currentOption:o.itemConf})||_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(i,{options:e,events:{optionClick:function(e){var t=e.option,n=menus.get(t.code),n=n?n.menuMenuMethod:null,t={menu:t,currentMenu:o,currentOption:o.itemConf,$event:i,$menu:r};n&&n(t,i),r.dispatchEvent("menu-click",t,e.$event)}}})),r.dispatchEvent("option-menu",{currentMenu:o},i)},handleClickMenu:function(e,t,n){var i=this,o=i.reactData,r=i.internalData,a=t.itemKey,n=(!t.linkUrl&&!t.routerLink&&t.hasChild?i.handleClickIconCollapse(e,t,n):(i.emitModel(a),o.isEnterCollapse=!1,r.lastActiveTime=Date.now()),{currentMenu:t,currentOption:t.itemConf,option:t.itemConf,menu:t});i.dispatchEvent("click",n,e)},handleMenuMouseenter:function(){var e=this.reactData;this.internalData.lastActiveTime<Date.now()-500&&(e.isEnterCollapse=!0)},handleMenuMouseleave:function(){this.reactData.isEnterCollapse=!1},renderMenuTitle:function(e,t,n){var i=this,o=i.$scopedSlots,r=t.icon,a=t.isExpand,l=t.hasChild,u=t.slots||{},s=u.default||o.option,c=u.title||o.optionTitle||o["option-title"],u=u.icon||o.optionIcon||o["option-icon"],o=i.getMenuTitle(t),d=i.computeIsCollapsed,d={currentMenu:t,currentOption:t.itemConf,option:t.itemConf,collapsed:d};return[s?(0,_ui.renderEmptyElement)(i):e("div",{class:"vxe-menu--item-link-icon"},u?i.callSlot(u,d,e):r?[e("i",{class:r})]:[]),s?e("div",{class:"vxe-menu--item-custom-title"},i.callSlot(s,d,e)):e("div",{class:"vxe-menu--item-link-title",attrs:{title:o}},c?i.callSlot(c,d,e):o),l?e("div",{class:"vxe-menu--item-link-collapse",on:{click:function(e){i.handleClickIconCollapse(e,t,n)}}},[e("i",{class:a?getIcon().MENU_ITEM_EXPAND_OPEN:getIcon().MENU_ITEM_EXPAND_CLOSE})]):(0,_ui.renderEmptyElement)(i)]},renderDefaultChildren:function(t,n,i){var o=this,e=o.reactData,r=n.itemId,a=n.itemKey,l=n.level,u=n.hasChild,s=n.isActive,c=n.isExactActive,d=n.isExpand,p=n.linkUrl,m=n.routerLink,f=n.linkTarget,v=n.childList,e=e.isEnterCollapse,h=o.internalData.menuInitMaps,x=o.computeIsCollapsed;return n.permissionCode&&!_ui.permission.checkVisible(n.permissionCode)?(0,_ui.renderEmptyElement)(o):(x=(!x||e)&&d,e={contextmenu:function(e){o.handleContextmenuEvent(e,n)},click:function(e){o.handleClickMenu(e,n,i)}},t("div",{key:a,class:["vxe-menu--item-wrapper","vxe-menu--item-level".concat(l),{"has--child":u,"is--exact-active":c,"is--active":s,"is--expand":x}],attrs:{"data-menu-id":r}},[p?t("a",{class:"vxe-menu--item-link is--link",attrs:{href:p,target:f},on:e},o.renderMenuTitle(t,n,i)):m?t("router-link",{class:"vxe-menu--item-link is--router",props:{custom:!0,to:m,target:f},on:e},o.renderMenuTitle(t,n,i)):t("div",{class:"vxe-menu--item-link is--default",on:e},o.renderMenuTitle(t,n,i)),u?t("div",{class:"vxe-menu--item-group"},x||h[r]?v.map(function(e){return o.renderDefaultChildren(t,e,v)}):[]):(0,_ui.renderEmptyElement)(o)]))},renderCollapseChildren:function(t,n,i){var e,o=this,r=n.itemId,a=n.itemKey,l=n.level,u=n.hasChild,s=n.isActive,c=n.isExactActive,d=n.routerLink,p=n.linkUrl,m=n.linkTarget,f=n.childList;return n.permissionCode&&!_ui.permission.checkVisible(n.permissionCode)?(0,_ui.renderEmptyElement)(o):(e={contextmenu:function(e){o.handleContextmenuEvent(e,n)},click:function(e){o.handleClickMenu(e,n,i)}},t("div",{key:a,class:["vxe-menu--item-wrapper","vxe-menu--item-level".concat(l),{"has--child":u,"is--exact-active":c,"is--active":s}],attrs:{"data-menu-id":r}},[p?t("a",{class:"vxe-menu--item-link is--link",attrs:{href:p,target:m},on:e},o.renderMenuTitle(t,n,i)):d?t("router-link",{class:"vxe-menu--item-link is--router",props:{custom:!0,to:d,target:m},on:e},o.renderMenuTitle(t,n,i)):t("div",{class:"vxe-menu--item-link is--default",on:e},o.renderMenuTitle(t,n,i)),u?t("div",{class:"vxe-menu--item-group"},f.map(function(e){return o.renderDefaultChildren(t,e,f)})):(0,_ui.renderEmptyElement)(o)]))},renderVN:function(t){var n=this,e=n.$scopedSlots,i=n.reactData,o=n.loading,r=i.initialized,a=i.menuList,l=i.collapseStyle,i=i.isEnterCollapse,u=n.computeSize,s=n.computeIsCollapsed,c=n.computeCurrBorder,d=n.computeVarStyle,p=e.header,e=e.footer,m={},f=(n.collapseFixed&&(m={mouseenter:n.handleMenuMouseenter,mouseleave:n.handleMenuMouseleave}),{collapsed:s});return t("div",{ref:"refElem",class:["vxe-menu",_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"border--".concat(c),c),"size--".concat(u),u),"is--collapsed",s),"is--loading",o)]},[p?t("div",{class:"vxe-menu--header"},p(f)):(0,_ui.renderEmptyElement)(n),t("div",{class:"vxe-menu--body"},a.map(function(e){return s?n.renderCollapseChildren(t,e,a):n.renderDefaultChildren(t,e,a)})),e?t("div",{class:"vxe-menu--footer"},e(f)):(0,_ui.renderEmptyElement)(n),r?t("div",{ref:"refCollapseElem",class:["vxe-menu--collapse-wrapper",_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(u),u),"is--collapsed",s),"is--enter",i),"is--loading",o)],style:Object.assign({},d,l),on:m},s?[p?t("div",{class:"vxe-menu--header"},p(f)):(0,_ui.renderEmptyElement)(n),t("div",{class:"vxe-menu--body"},a.map(function(e){return n.renderDefaultChildren(t,e,a)})),e?t("div",{class:"vxe-menu--footer"},e(f)):(0,_ui.renderEmptyElement)(n)]:[]):(0,_ui.renderEmptyElement)(n),t(_loading.default,{class:"vxe-list-view--loading",props:{value:o}})])}},watch:{value:function(e){this.reactData.activeName=e},options:function(){var e=this;e.updateMenuConfig(),e.updateActiveMenu(!0),e.$nextTick(function(){e.scrollToActiveMenu()})},"reactData.activeName":function(){this.updateActiveMenu(!0)},computeIsCollapsed:function(){this.handleCollapseMenu()}},created:function(){var e=this,t=e,n=(e.internalData=createInternalData(),e.reactData);n.initialized=!!t.collapsed,n.activeName=t.value,e.updateMenuConfig(),e.updateActiveMenu(!0)},mounted:function(){var e=this,t=e.menuConfig,n=_ui.VxeUI.getComponent("VxeContextMenu");t&&!n&&errLog("vxe.error.reqComp",["vxe-context-menu"]),e.updateCollapseStyle(),_ui.globalEvents.on(e,"resize",e.updateCollapseStyle),e.$nextTick(function(){e.scrollToActiveMenu()})},beforeDestroy:function(){var e,t=this.reactData,n=this.internalData,i=this.$refs.refCollapseElem;i&&(e=i.parentNode)&&e.removeChild(i),_ui.globalEvents.off(this,"resize"),_xeUtils.default.assign(t,createReactData()),_xeUtils.default.assign(n,createInternalData())},render:function(e){return this.renderVN(e)}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _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"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);n=n.call(e,t||"default");if("object"!=_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}var _createComponentLog=(0,_log.createComponentLog)("menu"),errLog=_createComponentLog.errLog,menus=_ui.VxeUI.menus,getConfig=_ui.VxeUI.getConfig,getIcon=_ui.VxeUI.getIcon;function createInternalData(){return{lastActiveTime:0,menuInitMaps:{},menuCacheMaps:{},menuKeyMaps:{},menuEffectMaps:{}}}function createReactData(){return{initialized:!1,isEnterCollapse:!1,collapseStyle:{},collapseZindex:0,activeName:"",menuList:[],itemHeight:1}}var nemuUniqueKey=1e8,_default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeMenu",mixins:[_ui.globalMixins.sizeMixin,_ui.globalMixins.permissionMixin],props:{value:[String,Number],expandAll:Boolean,expandKeys:Array,accordion:{type:Boolean,default:function(){return getConfig().menu.accordion}},border:{type:[Boolean,String],default:function(){return getConfig().menu.border}},optionProps:{type:Object,default:function(){return getConfig().menu.optionProps}},collapsed:{type:Boolean,default:null},collapseFixed:Boolean,loading:Boolean,options:{type:Array,default:function(){return[]}},size:{type:String,default:function(){return getConfig().menu.size||getConfig().size}},menuConfig:Object,appendTo:{type:[String,Function],default:function(){return getConfig().menu.appendTo}}},inject:{$xeLayoutAside:{default:null}},data:function(){var e=createReactData();return Object.assign(Object.assign({},{}),{xID:_xeUtils.default.uniqueId(),reactData:e})},computed:Object.assign(Object.assign({},{}),{computePropsOpts:function(){return Object.assign({},getConfig().menu.optionProps,this.optionProps)},computeTitleField:function(){return this.computePropsOpts.title||"title"},computeKeyField:function(){return this.computePropsOpts.name||"name"},computeChildrenField:function(){return this.computePropsOpts.children||"children"},computeLinkUrlField:function(){return this.computePropsOpts.linkUrl||"linkUrl"},computeRouterLinkField:function(){return this.computePropsOpts.routerLink||"routerLink"},computeCurrBorder:function(){var e=this.border;return e?!0===e?"first-group":e:""},computeMenuOpts:function(){return Object.assign({},getConfig().tree.menuConfig,this.menuConfig)},computeIsCollapsed:function(){var e=this.$xeLayoutAside,t=this.collapsed;return _xeUtils.default.isBoolean(t)?t:!!e&&!!e.collapsed},computeVarStyle:function(){var e=this.$xeLayoutAside;return e?e.computeVarStyle:{}},computeCollapseEnterWidth:function(){var e=this.$xeLayoutAside,t="";return t=e?e.width||"":t}}),methods:{dispatchEvent:function(e,t,n){this.$emit(e,(0,_ui.createEvent)(n,{$menu:this},t))},emitModel:function(e){var t=this,n=t.reactData,i=t._events;n.activeName=e,t.$emit("input",e),i&&i.modelValue?t.$emit("modelValue",e):t.$emit("model-value",e)},callSlot:function(e,t,n){var i=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=i[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,n)):[]},setExpandByMenuKey:function(e,t){var n=this.internalData,i=n.menuKeyMaps,o=n.menuInitMaps;return e&&(e=_xeUtils.default.isArray(e)?e:[e]).forEach(function(e){e=i[e];e&&(t&&(o[e.itemId]=!0),e.isExpand=!!t)}),this.$nextTick()},clearAllExpandMenu:function(){var e=this.reactData,t=this.internalData,e=e.menuList;return _xeUtils.default.eachTree(e,function(e){e.isExpand=!1},{children:"childList"}),t.menuInitMaps={},this.$nextTick()},handleScrollToView:function(e){var t=this.$refs.refElem,t=t?t.querySelector('.vxe-menu--item-wrapper[data-menu-id="'.concat(e,'"]')):null;return!!t&&((0,_dom.scrollToView)(t),!0)},scrollToMenuKey:function(e){var t,n=this,e=n.internalData.menuKeyMaps[e];return!e||(t=e.itemId,n.handleScrollToView(t))?n.$nextTick():n.$nextTick().then(function(){n.handleScrollToView(t)})},scrollToActiveMenu:function(){var t=this,n=t.reactData,e=n.activeName;return e?t.scrollToMenuKey(e):t.$nextTick().then(function(){var e=n.activeName;if(e)return t.scrollToMenuKey(e)})},getMenuTitle:function(e){return"".concat(e.title||e.name)},updateZindex:function(){var e=this.reactData;e.collapseZindex<(0,_utils.getLastZIndex)()&&(e.collapseZindex=(0,_utils.nextZIndex)())},updateActiveMenu:function(a){var e=this.reactData,t=this.internalData,l=e.activeName,u=t.menuInitMaps;_xeUtils.default.eachTree(e.menuList,function(e,t,n,i,o,r){e.itemKey===l?(r.forEach(function(e){e.isActive=!0,a&&(e.isExpand=!0,u[e.itemId]=!0)}),e.isExactActive=!0):(e.isExactActive=!1,e.isActive=!1)},{children:"childList"})},updateMenuConfig:function(){var e=this,t=e.reactData,n=e.internalData,i=e.options,c=e.expandAll,o=e.expandKeys,d={},p=e.computeTitleField,m=e.computeKeyField,f=e.computeChildrenField,v=e.computeLinkUrlField,h=e.computeRouterLinkField,x={},y=(o&&o.forEach(function(e){x[e]=!0}),{}),C={};t.menuList=_xeUtils.default.mapTree(i,function(e,t,n,i,o){var r=++nemuUniqueKey,a=e[m]||i.join(","),l=e[f],u=l&&0<l.length,s=!!u&&(_xeUtils.default.isBoolean(e.expanded)?e.expanded:x[a]||!!c),l=(s&&(d[r]=!0),{itemConf:e,title:e[p],name:e[m],icon:e.icon,linkUrl:e[v],linkTarget:e.linkTarget,routerLink:e[h],permissionCode:e.permissionCode,children:l,slots:e.slots,parentKey:o?o.name||i.slice(0,i.length-1).join(","):"",level:i.length,itemId:r,itemKey:a,isExactActive:!1,isActive:!1,isExpand:s,hasChild:u,childList:[]});return C[a]&&errLog("vxe.error.repeatKey",[m,e[m]]),C[a]=y[r]=l},{children:"children",mapChildren:"childList"}),n.menuInitMaps=d,n.menuCacheMaps=y,n.menuKeyMaps=C},updateCollapseStyle:function(){var i=this,o=i.reactData;i.collapseFixed&&i.$nextTick(function(){var e,t=i.computeIsCollapsed,n=i.$refs.refElem;n&&(e=n.getBoundingClientRect(),n=n.parentNode,o.collapseStyle=t?{top:(0,_dom.toCssUnit)(e.top),left:(0,_dom.toCssUnit)(e.left),height:(0,_dom.toCssUnit)(n.clientHeight),zIndex:o.collapseZindex}:{})})},handleCollapseMenu:function(){var t=this,e=t.reactData,n=t.collapseFixed,i=t.appendTo;n&&(n=e.initialized,t.computeIsCollapsed&&!n&&(e.initialized=!0,t.$nextTick(function(){var e=t.$refs.refCollapseElem;e&&(0,_dom.getPopupContainer)(i).appendChild(e)})),e.isEnterCollapse=!1,t.updateZindex(),t.updateCollapseStyle())},handleClickIconCollapse:function(e,t,n){var i,o=this,r=o.internalData,a=o.accordion,l=r.menuEffectMaps,r=r.menuInitMaps,u=t.itemId,s=o.computeIsCollapsed,c=!t.isExpand;t.hasChild&&(e.stopPropagation(),e.preventDefault(),l[u]&&clearTimeout(l[u]),a&&n.forEach(function(e){e!==t&&(e.isExpand=!1)}),t.isExpand=c,r[u]=!0,e=s?o.$refs.refCollapseElem:o.$refs.refElem)&&(a=e.querySelector('.vxe-menu--item-wrapper[data-menu-id="'.concat(u,'"]')),i=a?a.querySelector(".vxe-menu--item-group"):null)&&(c?(i.style.height="0",i.setAttribute("data-effect","y"),requestAnimationFrame(function(){i.style.height="".concat(i.scrollHeight,"px")})):(i.style.height="".concat(i.scrollHeight,"px"),i.setAttribute("data-effect","y"),requestAnimationFrame(function(){i.style.height="0"})),l[u]=setTimeout(function(){delete l[u],i.removeAttribute("data-effect"),i.style.height=""},350))},handleContextmenuEvent:function(i,o){var r=this,e=r.menuConfig,t=r.computeMenuOpts;(e?(0,_utils.isEnableConf)(t):t.enabled)&&(e=t.options,(t=t.visibleMethod)&&!t({$menu:r,options:e,currentMenu:o,currentOption:o.itemConf})||_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(i,{options:e,events:{optionClick:function(e){var t=e.option,n=menus.get(t.code),n=n?n.menuMenuMethod:null,t={menu:t,currentMenu:o,currentOption:o.itemConf,$event:i,$menu:r};n&&n(t,i),r.dispatchEvent("menu-click",t,e.$event)}}})),r.dispatchEvent("option-menu",{currentMenu:o},i)},handleClickMenu:function(e,t,n){var i=this,o=i.reactData,r=i.internalData,a=t.itemKey,n=(!t.linkUrl&&!t.routerLink&&t.hasChild?i.handleClickIconCollapse(e,t,n):(i.emitModel(a),o.isEnterCollapse=!1,r.lastActiveTime=Date.now()),{currentMenu:t,currentOption:t.itemConf,option:t.itemConf,menu:t});i.dispatchEvent("click",n,e)},handleMenuMouseenter:function(){var e=this.reactData;this.internalData.lastActiveTime<Date.now()-500&&(e.isEnterCollapse=!0)},handleMenuMouseleave:function(){this.reactData.isEnterCollapse=!1},renderMenuTitle:function(e,t,n){var i=this,o=i.$scopedSlots,r=t.icon,a=t.isExpand,l=t.hasChild,u=t.slots||{},s=u.default||o.option,c=u.title||o.optionTitle||o["option-title"],u=u.icon||o.optionIcon||o["option-icon"],o=i.getMenuTitle(t),d=i.computeIsCollapsed,d={currentMenu:t,currentOption:t.itemConf,option:t.itemConf,collapsed:d};return[s?(0,_ui.renderEmptyElement)(i):e("div",{class:"vxe-menu--item-link-icon"},u?i.callSlot(u,d,e):r?[e("i",{class:r})]:[]),s?e("div",{class:"vxe-menu--item-custom-title"},i.callSlot(s,d,e)):e("div",{class:"vxe-menu--item-link-title",attrs:{title:o}},c?i.callSlot(c,d,e):o),l?e("div",{class:"vxe-menu--item-link-collapse",on:{click:function(e){i.handleClickIconCollapse(e,t,n)}}},[e("i",{class:a?getIcon().MENU_ITEM_EXPAND_OPEN:getIcon().MENU_ITEM_EXPAND_CLOSE})]):(0,_ui.renderEmptyElement)(i)]},renderDefaultChildren:function(t,n,i){var o=this,e=o.reactData,r=n.itemId,a=n.itemKey,l=n.level,u=n.hasChild,s=n.isActive,c=n.isExactActive,d=n.isExpand,p=n.linkUrl,m=n.routerLink,f=n.linkTarget,v=n.childList,e=e.isEnterCollapse,h=o.internalData.menuInitMaps,x=o.computeIsCollapsed;return n.permissionCode&&!_ui.permission.checkVisible(n.permissionCode)?(0,_ui.renderEmptyElement)(o):(x=(!x||e)&&d,e={contextmenu:function(e){o.handleContextmenuEvent(e,n)},click:function(e){o.handleClickMenu(e,n,i)}},t("div",{key:a,class:["vxe-menu--item-wrapper","vxe-menu--item-level".concat(l),{"has--child":u,"is--exact-active":c,"is--active":s,"is--expand":x}],attrs:{"data-menu-id":r}},[p?t("a",{class:"vxe-menu--item-link is--link",attrs:{href:p,target:f},on:e},o.renderMenuTitle(t,n,i)):m?t("router-link",{class:"vxe-menu--item-link is--router",props:{custom:!0,to:m,target:f},on:e},o.renderMenuTitle(t,n,i)):t("div",{class:"vxe-menu--item-link is--default",on:e},o.renderMenuTitle(t,n,i)),u?t("div",{class:"vxe-menu--item-group"},x||h[r]?v.map(function(e){return o.renderDefaultChildren(t,e,v)}):[]):(0,_ui.renderEmptyElement)(o)]))},renderCollapseChildren:function(t,n,i){var e,o=this,r=n.itemId,a=n.itemKey,l=n.level,u=n.hasChild,s=n.isActive,c=n.isExactActive,d=n.routerLink,p=n.linkUrl,m=n.linkTarget,f=n.childList;return n.permissionCode&&!_ui.permission.checkVisible(n.permissionCode)?(0,_ui.renderEmptyElement)(o):(e={contextmenu:function(e){o.handleContextmenuEvent(e,n)},click:function(e){o.handleClickMenu(e,n,i)}},t("div",{key:a,class:["vxe-menu--item-wrapper","vxe-menu--item-level".concat(l),{"has--child":u,"is--exact-active":c,"is--active":s}],attrs:{"data-menu-id":r}},[p?t("a",{class:"vxe-menu--item-link is--link",attrs:{href:p,target:m},on:e},o.renderMenuTitle(t,n,i)):d?t("router-link",{class:"vxe-menu--item-link is--router",props:{custom:!0,to:d,target:m},on:e},o.renderMenuTitle(t,n,i)):t("div",{class:"vxe-menu--item-link is--default",on:e},o.renderMenuTitle(t,n,i)),u?t("div",{class:"vxe-menu--item-group"},f.map(function(e){return o.renderDefaultChildren(t,e,f)})):(0,_ui.renderEmptyElement)(o)]))},renderVN:function(t){var n=this,e=n.$scopedSlots,i=n.reactData,o=n.loading,r=i.initialized,a=i.menuList,l=i.collapseStyle,i=i.isEnterCollapse,u=n.computeSize,s=n.computeIsCollapsed,c=n.computeCurrBorder,d=n.computeVarStyle,p=e.header,e=e.footer,m={},f=(n.collapseFixed&&(m={mouseenter:n.handleMenuMouseenter,mouseleave:n.handleMenuMouseleave}),{collapsed:s});return t("div",{ref:"refElem",class:["vxe-menu",_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"border--".concat(c),c),"size--".concat(u),u),"is--collapsed",s),"is--loading",o)]},[p?t("div",{class:"vxe-menu--header"},p(f)):(0,_ui.renderEmptyElement)(n),t("div",{class:"vxe-menu--body"},a.map(function(e){return s?n.renderCollapseChildren(t,e,a):n.renderDefaultChildren(t,e,a)})),e?t("div",{class:"vxe-menu--footer"},e(f)):(0,_ui.renderEmptyElement)(n),r?t("div",{ref:"refCollapseElem",class:["vxe-menu--collapse-wrapper",_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(u),u),"is--collapsed",s),"is--enter",i),"is--loading",o)],style:Object.assign({},d,l),on:m},s?[p?t("div",{class:"vxe-menu--header"},p(f)):(0,_ui.renderEmptyElement)(n),t("div",{class:"vxe-menu--body"},a.map(function(e){return n.renderDefaultChildren(t,e,a)})),e?t("div",{class:"vxe-menu--footer"},e(f)):(0,_ui.renderEmptyElement)(n)]:[]):(0,_ui.renderEmptyElement)(n),t(_loading.default,{class:"vxe-list-view--loading",props:{value:o}})])}},watch:{value:function(e){this.reactData.activeName=e},options:function(){var e=this;e.updateMenuConfig(),e.updateActiveMenu(!0),e.$nextTick(function(){e.scrollToActiveMenu()})},"reactData.activeName":function(){this.updateActiveMenu(!0)},computeIsCollapsed:function(){this.handleCollapseMenu()}},created:function(){var e=this,t=e,n=(e.internalData=createInternalData(),e.reactData);n.initialized=!!t.collapsed,n.activeName=t.value,e.updateMenuConfig(),e.updateActiveMenu(!0)},mounted:function(){var e=this,t=e.menuConfig,n=_ui.VxeUI.getComponent("VxeContextMenu");t&&!n&&errLog("vxe.error.reqComp",["vxe-context-menu"]),e.updateCollapseStyle(),_ui.globalEvents.on(e,"resize",e.updateCollapseStyle),e.$nextTick(function(){e.scrollToActiveMenu()})},beforeDestroy:function(){var e,t=this.reactData,n=this.internalData,i=this.$refs.refCollapseElem;i&&(e=i.parentNode)&&e.removeChild(i),_ui.globalEvents.off(this,"resize"),_xeUtils.default.assign(t,createReactData()),_xeUtils.default.assign(n,createInternalData())},render:function(e){return this.renderVN(e)}});
|
package/lib/modal/src/modal.js
CHANGED
|
@@ -231,6 +231,12 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
231
231
|
return (0, _ui.getConfig)().modal.transfer;
|
|
232
232
|
}
|
|
233
233
|
},
|
|
234
|
+
appendTo: {
|
|
235
|
+
type: [String, Function],
|
|
236
|
+
default: function _default() {
|
|
237
|
+
return (0, _ui.getConfig)().modal.appendTo;
|
|
238
|
+
}
|
|
239
|
+
},
|
|
234
240
|
storage: {
|
|
235
241
|
type: Boolean,
|
|
236
242
|
default: function _default() {
|
|
@@ -964,7 +970,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
964
970
|
var props = $xeModal;
|
|
965
971
|
var reactData = $xeModal.reactData;
|
|
966
972
|
var remember = props.remember,
|
|
967
|
-
showFooter = props.showFooter
|
|
973
|
+
showFooter = props.showFooter,
|
|
974
|
+
appendTo = props.appendTo;
|
|
968
975
|
var initialized = reactData.initialized,
|
|
969
976
|
visible = reactData.visible;
|
|
970
977
|
var isMsg = $xeModal.computeIsMsg;
|
|
@@ -973,7 +980,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
973
980
|
reactData.initialized = true;
|
|
974
981
|
if (btnTransfer) {
|
|
975
982
|
var panelElem = $xeModal.$refs.refElem;
|
|
976
|
-
|
|
983
|
+
(0, _dom.getPopupContainer)(appendTo).appendChild(panelElem);
|
|
977
984
|
}
|
|
978
985
|
}
|
|
979
986
|
if (!visible) {
|
|
@@ -1254,7 +1261,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1254
1261
|
visibleWidth = _getDomNode3.visibleWidth;
|
|
1255
1262
|
var marginSize = _xeUtils.default.toNumber(props.marginSize);
|
|
1256
1263
|
var targetElem = evnt.target;
|
|
1257
|
-
var type = targetElem.getAttribute('type');
|
|
1264
|
+
var type = targetElem.getAttribute('data-type');
|
|
1258
1265
|
var minWidth = _xeUtils.default.toNumber(props.minWidth);
|
|
1259
1266
|
var minHeight = _xeUtils.default.toNumber(props.minHeight);
|
|
1260
1267
|
var maxWidth = visibleWidth;
|
|
@@ -1681,7 +1688,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1681
1688
|
return h('span', {
|
|
1682
1689
|
class: "".concat(type, "-resize"),
|
|
1683
1690
|
attrs: {
|
|
1684
|
-
type: type
|
|
1691
|
+
'data-type': type
|
|
1685
1692
|
},
|
|
1686
1693
|
on: {
|
|
1687
1694
|
mousedown: $xeModal.dragEvent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.allActiveModals=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_button=_interopRequireDefault(require("../../button")),_loading=_interopRequireDefault(require("../../loading")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,o){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var o=e[Symbol.toPrimitive];if(void 0===o)return("string"===t?String:Number)(e);o=o.call(e,t||"default");if("object"!=_typeof(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var o;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(o="Object"===(o={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:o)||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,i=Array(t);o<t;o++)i[o]=e[o];return i}function _iterableToArrayLimit(e,t){var o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i,n,a,l,r=[],s=!0,u=!1;try{if(a=(o=o.call(e)).next,0===t){if(Object(o)!==o)return;s=!1}else for(;!(s=(i=a.call(o)).done)&&(r.push(i.value),r.length!==t);s=!0);}catch(e){u=!0,n=e}finally{try{if(!s&&null!=o.return&&(l=o.return(),Object(l)!==l))return}finally{if(u)throw n}}return r}}function _arrayWithHoles(e){if(Array.isArray(e))return e}var _createComponentLog=(0,_log.createComponentLog)("modal"),warnLog=_createComponentLog.warnLog,errLog=_createComponentLog.errLog,allActiveModals=exports.allActiveModals=[],msgQueue=[],notifyQueue=[],lockScrollAttrKey="data-vxe-lock-scroll",lockScrollCssWidthKey="--vxe-ui-modal-lock-scroll-view-width",_default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeModal",mixins:[_ui.globalMixins.sizeMixin,_ui.globalMixins.permissionMixin],props:{value:Boolean,id:String,type:{type:String,default:"modal"},loading:{type:Boolean,default:null},status:String,iconStatus:String,className:String,top:{type:[Number,String],default:function(){return(0,_ui.getConfig)().modal.top}},position:[String,Object],title:String,duration:{type:[Number,String],default:function(){return(0,_ui.getConfig)().modal.duration}},content:[Number,String],useHtml:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.useHtml}},showCancelButton:{type:Boolean,default:null},cancelButtonText:{type:String,default:function(){return(0,_ui.getConfig)().modal.cancelButtonText}},showConfirmButton:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.showConfirmButton}},confirmButtonText:{type:String,default:function(){return(0,_ui.getConfig)().modal.confirmButtonText}},lockView:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.lockView}},lockScroll:Boolean,mask:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.mask}},maskClosable:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.maskClosable}},escClosable:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.escClosable}},cancelClosable:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.cancelClosable}},confirmClosable:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.confirmClosable}},resize:Boolean,showHeader:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.showHeader}},showFooter:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.showFooter}},preload:Boolean,showZoom:Boolean,zoomConfig:Object,showMaximize:{type:Boolean,default:function(){return(0,_utils.handleBooleanDefaultValue)((0,_ui.getConfig)().modal.showMaximize)}},showMinimize:{type:Boolean,default:function(){return(0,_utils.handleBooleanDefaultValue)((0,_ui.getConfig)().modal.showMinimize)}},showClose:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.showClose}},dblclickZoom:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.dblclickZoom}},width:{type:[Number,String],default:function(){return(0,_ui.getConfig)().modal.width}},height:{type:[Number,String],default:function(){return(0,_ui.getConfig)().modal.height}},minWidth:{type:[Number,String],default:function(){return(0,_ui.getConfig)().modal.minWidth}},minHeight:{type:[Number,String],default:function(){return(0,_ui.getConfig)().modal.minHeight}},zIndex:Number,marginSize:{type:[Number,String],default:function(){return(0,_ui.getConfig)().modal.marginSize}},fullscreen:Boolean,draggable:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.draggable}},remember:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.remember}},destroyOnClose:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.destroyOnClose}},showTitleOverflow:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.showTitleOverflow}},transfer:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.transfer}},storage:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.storage}},storageKey:{type:String,default:function(){return(0,_ui.getConfig)().modal.storageKey}},padding:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.padding}},size:{type:String,default:function(){return(0,_ui.getConfig)().modal.size||(0,_ui.getConfig)().size}},beforeHideMethod:Function,slots:Object,message:[Number,String],animat:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.animat}}},inject:{$xeParentModal:{from:"$xeModal",default:null},$xeDrawer:{default:null},$xeTable:{default:null},$xeForm:{default:null}},provide:function(){return{$xeModal:this}},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:{initialized:!1,visible:!1,contentVisible:!1,modalTop:0,modalZindex:0,prevZoomStatus:"",zoomStatus:"",revertLocat:null,prevLocat:null,firstOpen:!0,resizeFlag:1},internalData:{msgTimeout:void 0}}},computed:Object.assign(Object.assign({},{}),{computeBtnTransfer:function(){var e=this,t=e.$xeTable,o=e.$xeParentModal,i=e.$xeDrawer,n=e.$xeForm,e=e.transfer;if(null===e){var a=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(a))return a;if(t||o||i||n)return!0}return e},computeIsMsg:function(){return"message"===this.type||"notification"===this.type},computeIsMinimizeStatus:function(){return"minimize"===this.reactData.zoomStatus},computeIsMaximizeStatus:function(){return"maximize"===this.reactData.zoomStatus},computeZoomOpts:function(){return Object.assign({},(0,_ui.getConfig)().modal.zoomConfig,this.zoomConfig)}}),watch:{width:function(){this.recalculate()},height:function(){this.recalculate()},value:function(e){e?this.openModal():this.closeModal("model")}},methods:{dispatchEvent:function(e,t,o){this.$emit(e,(0,_ui.createEvent)(o,{$modal:this},t))},emitModel:function(e){var t=this._events;this.$emit("input",e),t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},callSlot:function(e,t,o){var i=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=i[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,o)):[]},open:function(){return this.openModal()},close:function(){return this.closeModal("close")},getBox:function(){return this.$refs.refModalBox},getPosition:function(){if(!this.computeIsMsg){var e=this.getBox();if(e)return{top:e.offsetTop,left:e.offsetLeft}}return null},setPosition:function(e,t){var o;return this.computeIsMsg||(o=this.getBox())&&(_xeUtils.default.isNumber(e)&&(o.style.top="".concat(e,"px")),_xeUtils.default.isNumber(t))&&(o.style.left="".concat(t,"px")),this.$nextTick()},isMinimized:function(){return"minimize"===this.reactData.zoomStatus},isMaximized:function(){return"maximize"===this.reactData.zoomStatus},zoom:function(){return this.handleZoom()},minimize:function(){return this.reactData.visible?this.handleMinimize():Promise.resolve({status:!1})},maximize:function(){return this.reactData.visible?this.handleMaximize():Promise.resolve({status:!1})},revert:function(){return this.reactData.visible?this.handleRevert():Promise.resolve({status:!1})},recalculate:function(){var e=this,t=e.width,o=e.height,i=e.minWidth,n=e.minHeight,a=e.computeIsMsg,l=e.computeIsMinimizeStatus,r=e.getBox();return r&&(r.style.width=t?(0,_dom.toCssUnit)(t):"",r.style.height=o?(0,_dom.toCssUnit)(o):"",r.style.minWidth=a||l||!i?"":(0,_dom.toCssUnit)(i),r.style.minHeight=a||l||!n?"":(0,_dom.toCssUnit)(n)),e.$nextTick()},updateZindex:function(){var e=this.reactData,t=this.zIndex,o=e.modalZindex;t?e.modalZindex=t:this.computeIsMsg?o<(0,_utils.getSubLastZIndex)()&&(e.modalZindex=(0,_utils.nextSubZIndex)()):o<(0,_utils.getLastZIndex)()&&(e.modalZindex=(0,_utils.nextZIndex)())},updatePosition:function(){var c=this,d=c;return c.$nextTick().then(function(){var e,t,o,i,n,a,l,r=d.position,s=_xeUtils.default.toNumber(d.marginSize),u=c.getBox();u&&(e=document.documentElement.clientWidth||document.body.clientWidth,t=document.documentElement.clientHeight||document.body.clientHeight,o="center"===r,i=(r=_xeUtils.default.isString(r)?{top:r,left:r}:Object.assign({},r)).top,n=o||"center"===i,a=l="",a=(r=r.left)&&!(o||"center"===r)?(0,_dom.toCssUnit)(r):"".concat(Math.max(s,e/2-u.offsetWidth/2),"px"),l=i&&!n?(0,_dom.toCssUnit)(i):"".concat(Math.max(s,t/2-u.offsetHeight/2),"px"),u.style.top=l,u.style.left=a)})},updateStyle:function(){var t=this;this.$nextTick(function(){var e=t.type,o=0;("notification"===e?notifyQueue:msgQueue).forEach(function(e){var t=e.getBox();t&&(o+=_xeUtils.default.toNumber(e.top),e.reactData.modalTop=o,o+=t.clientHeight)})})},removeActiveQueue:function(){var t=this;-1<allActiveModals.indexOf(t)&&_xeUtils.default.remove(allActiveModals,function(e){return e===t})},removeMsgQueue:function(){var t=this,e="notification"===t.type?notifyQueue:msgQueue;-1<e.indexOf(t)&&_xeUtils.default.remove(e,function(e){return e===t}),t.updateStyle()},closeModal:function(e){var t=this,o=t.reactData,i=t.remember,n=o.visible,a=t.computeIsMsg,l=t.beforeHideMethod||(0,_ui.getConfig)().modal.beforeHideMethod,r={type:e};return n&&Promise.resolve(l?l(r):null).then(function(e){_xeUtils.default.isError(e)||(a&&t.removeMsgQueue(),o.contentVisible=!1,i||t.handleRevert(),t.removeActiveQueue(),t.dispatchEvent("before-hide",r,null),setTimeout(function(){o.visible=!1,t.emitModel(!1),t.dispatchEvent("hide",r,null)},200),t.removeBodyLockScroll())}).catch(function(e){return e}),t.$nextTick()},closeEvent:function(e){var t="close";this.dispatchEvent(t,{type:t},e),this.closeModal(t)},confirmEvent:function(e){var t=this.confirmClosable,o="confirm";this.dispatchEvent(o,{type:o},e),t&&this.closeModal(o)},cancelEvent:function(e){var t=this.cancelClosable,o="cancel";this.dispatchEvent(o,{type:o},e),t&&this.closeModal(o)},getStorageMap:function(e){var t=(0,_ui.getConfig)().version,e=_xeUtils.default.toStringJSON(localStorage.getItem(e)||"");return e&&e._v===t?e:{_v:t}},hasPosStorage:function(){var e=this.id,t=this.storage,o=this.storageKey;return!!(e&&t&&this.getStorageMap(o)[e])},restorePosStorage:function(){var e,t,o,i,n,a,l=this.reactData,r=this.id,s=this.storage,u=this.storageKey;r&&s&&(s=this.getStorageMap(u)[r])&&(u=this.getBox(),s=(r=_slicedToArray(s.split(","),8))[0],e=r[1],t=r[2],o=r[3],i=r[4],n=r[5],a=r[6],r=r[7],u&&(s&&(u.style.left="".concat(s,"px")),e&&(u.style.top="".concat(e,"px")),t&&(u.style.width="".concat(t,"px")),o)&&(u.style.height="".concat(o,"px")),i)&&n&&(l.revertLocat={left:i,top:n,width:a,height:r})},addMsgQueue:function(){var e="notification"===this.type?notifyQueue:msgQueue;-1===e.indexOf(this)&&e.push(this),this.updateStyle()},savePosStorage:function(){var e=this.reactData,t=this.id,o=this.storage,i=this.storageKey,n=e.zoomStatus,e=e.revertLocat;n||t&&o&&(n=this.getBox())&&((o=this.getStorageMap(i))[t]=[n.style.left,n.style.top,n.clientWidth,n.clientHeight].concat(e?[e.left,e.top,e.width,e.height]:[]).map(function(e){return e?_xeUtils.default.toNumber(e):""}).join(","),localStorage.setItem(i,_xeUtils.default.toJSONString(o)))},handleMinimize:function(){var r=this,s=r.reactData,e=r.computeZoomOpts,t=e.minimizeLayout,o=e.minimizeMaxSize,u=e.minimizeHorizontalOffset,c=e.minimizeVerticalOffset,d=e.minimizeOffsetMethod,m="horizontal"===t,f=s.zoomStatus,i=[],n=[],g=(allActiveModals.forEach(function(e){e.xID!==r.xID&&"modal"===e.type&&"minimize"===e.reactData.zoomStatus&&("horizontal"===e.computeZoomOpts.minimizeLayout?i:n).push(e)}),m?i:n);return o&&o<=g.length?(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:(0,_ui.getI18n)("vxe.modal.miniMaxSize",[o])}),Promise.resolve({status:!1})):(s.prevZoomStatus=f,s.zoomStatus="minimize",r.$nextTick().then(function(){var e,t,o,i,n,a,l=r.getBox();return l&&(e=r.$refs.refHeaderElem)?(a=(0,_dom.getDomNode)().visibleHeight,f||(s.revertLocat={top:l.offsetTop,left:l.offsetLeft,width:l.offsetWidth+(l.style.width?0:1),height:l.offsetHeight+(l.style.height?0:1)}),o=_xeUtils.default[m?"max":"min"](g,function(e){e=e.getBox();return e?_xeUtils.default.toNumber(e.style[m?"left":"top"]):0}),a=a-e.offsetHeight-16,n=16,o&&(o=o.getBox())&&(t=_xeUtils.default.toNumber(o.style.left),o=_xeUtils.default.toNumber(o.style.top),i={},i=m?Object.assign({},u):Object.assign({},c),n=t+_xeUtils.default.toNumber(i.left),a=o+_xeUtils.default.toNumber(i.top),d)&&(i=d({$modal:r,left:n,top:a}),n=_xeUtils.default.toNumber(i.left),a=_xeUtils.default.toNumber(i.top)),Object.assign(l.style,{top:"".concat(a,"px"),left:"".concat(n,"px"),width:"200px",height:"".concat(e.offsetHeight,"px"),minHeight:"",minWidth:""}),r.savePosStorage(),{status:!0}):{status:!1}}))},handleMaximize:function(){var n=this,a=n,l=n.reactData,r=l.zoomStatus;return l.prevZoomStatus=r,l.zoomStatus="maximize",n.$nextTick().then(function(){var e,t,o,i=n.getBox();i&&(r||(e=_xeUtils.default.toNumber(a.marginSize),t=document.documentElement.clientWidth||document.body.clientWidth,o=document.documentElement.clientHeight||document.body.clientHeight,l.revertLocat={top:Math.max(e,o/2-i.offsetHeight/2),left:Math.max(e,t/2-i.offsetWidth/2),width:i.offsetWidth+(i.style.width?0:1),height:i.offsetHeight+(i.style.height?0:1)}),Object.assign(i.style,{top:"0",left:"0",width:"100%",height:"100%",minHeight:"",minWidth:""})),n.savePosStorage()})},handleMsgAutoClose:function(){var e=this,t=e.internalData,o=e.duration;-1!==o&&(t.msgTimeout=setTimeout(function(){return e.closeModal("close")},_xeUtils.default.toNumber(o)))},removeBodyLockScroll:function(){var t=this.xID,e=document.documentElement,o=e.getAttribute(lockScrollAttrKey);o&&((o=o.split(",").filter(function(e){return e!==t})).length?e.setAttribute(lockScrollAttrKey,o.join(",")):(e.removeAttribute(lockScrollAttrKey),e.style.removeProperty(lockScrollCssWidthKey)))},addBodyLockScroll:function(){var e,t=this.xID,o=this.lockScroll,i=this.computeIsMsg;o&&!i&&(o=document.documentElement,i=document.body.clientWidth,(e=(e=o.getAttribute(lockScrollAttrKey))?e.split(","):[]).includes(t)||(e.push(t),o.setAttribute(lockScrollAttrKey,e.join(","))),o.style.setProperty(lockScrollCssWidthKey,"".concat(i,"px")))},openModal:function(){var o=this,i=o,e=o.reactData,t=i.remember,n=i.showFooter,a=e.initialized,l=e.visible,r=o.computeIsMsg,s=o.computeBtnTransfer;return a||(e.initialized=!0,s&&(a=o.$refs.refElem,document.body.appendChild(a))),l||(o.addBodyLockScroll(),e.visible=!0,e.contentVisible=!1,o.updateZindex(),allActiveModals.push(o),setTimeout(function(){e.contentVisible=!0,o.$nextTick(function(){i.fullscreen||o.recalculate(),n&&(e=o.$refs.refConfirmBtn,t=o.$refs.refCancelBtn,e=e||t)&&e.focus();var e,t={type:""};o.emitModel(!0),o.dispatchEvent("show",t,null)})},10),r?(o.addMsgQueue(),o.handleMsgAutoClose()):o.$nextTick(function(){e.firstOpen?(e.firstOpen=!1,o.hasPosStorage()?o.restorePosStorage():i.fullscreen?o.$nextTick(function(){return o.handleMaximize()}):(o.recalculate(),o.updatePosition().then(function(){setTimeout(function(){return o.updatePosition()},20)}))):t||(o.recalculate(),o.updatePosition().then(function(){setTimeout(function(){return o.updatePosition()},20)}))})),o.$nextTick()},selfClickEvent:function(e){var t=this.$refs.refElem;this.maskClosable&&e.target===t&&this.closeModal("mask")},selfMouseoverEvent:function(){var e=this.internalData,t=e.msgTimeout;t&&this.computeIsMsg&&(clearTimeout(t),e.msgTimeout=void 0)},selfMouseoutEvent:function(){this.internalData.msgTimeout||this.computeIsMsg&&this.handleMsgAutoClose()},handleGlobalKeydownEvent:function(e){var t,o=this;_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE)&&(t=_xeUtils.default.max(allActiveModals,function(e){return e.reactData.modalZindex}))&&setTimeout(function(){t===o&&t.escClosable&&(o.dispatchEvent("close",{type:"exit"},e),o.closeModal("exit"))},10)},handleRevert:function(){var o=this,i=o.reactData;return i.prevZoomStatus=i.zoomStatus,i.zoomStatus="",o.$nextTick().then(function(){var e,t=i.revertLocat;return t?(e=o.getBox(),i.revertLocat=null,e&&Object.assign(e.style,{top:"".concat(t.top,"px"),left:"".concat(t.left,"px"),width:"".concat(t.width,"px"),height:"".concat(t.height,"px")}),o.savePosStorage(),o.$nextTick().then(function(){return{status:!0}})):{status:!1}})},handleZoom:function(t){var o=this,e=o.reactData,i=e.zoomStatus;return new Promise(function(e){if(t)return"maximize"===t?void e(o.handleMaximize()):"minimize"===t?void e(o.handleMinimize()):void e(o.handleRevert());e(i?o.handleRevert():o.handleMaximize())}).then(function(){return e.zoomStatus||"revert"})},toggleZoomMinEvent:function(t){var o=this,e=o.reactData,i=e.zoomStatus;return o.handleZoom("minimize"===i?e.prevZoomStatus||"revert":"minimize").then(function(e){o.dispatchEvent("zoom",{type:e},t)})},toggleZoomMaxEvent:function(t){var o=this;return o.handleZoom().then(function(e){o.dispatchEvent("zoom",{type:e},t)})},boxMousedownEvent:function(){var t=this.reactData.modalZindex;allActiveModals.some(function(e){return e.reactData.visible&&e.reactData.modalZindex>t})&&this.updateZindex()},mousedownEvent:function(e){var a,l,r,s,u=this,c=u.reactData,t=u.storage,o=c.zoomStatus,d=_xeUtils.default.toNumber(u.marginSize),m=u.getBox();m&&"maximize"!==o&&0===e.button&&!(0,_dom.getEventTargetNode)(e,m,"trigger--btn").flag&&(e.preventDefault(),a=e.clientX-m.offsetLeft,l=e.clientY-m.offsetTop,o=(0,_dom.getDomNode)(),r=o.visibleHeight,s=o.visibleWidth,document.onmousemove=function(e){e.preventDefault();var t=m.offsetWidth,o=m.offsetHeight,t=s-t-d-1,o=r-o-d-1,i=e.clientX-a,n=e.clientY-l;(n=o<n?o:n)<d&&(n=d),m.style.left="".concat(i=(i=t<i?t:i)<d?d:i,"px"),m.style.top="".concat(n,"px"),m.className=m.className.replace(/\s?is--drag/,"")+" is--drag",u.$emit("move",(0,_ui.createEvent)(e,{type:"move"})),c.resizeFlag++},document.onmouseup=function(){document.onmousemove=null,document.onmouseup=null,t&&u.$nextTick(function(){u.savePosStorage()}),c.resizeFlag++,setTimeout(function(){m.className=m.className.replace(/\s?is--drag/,"")},50)})},dragEvent:function(e){var a=this,t=a,o=a.reactData,l=(e.preventDefault(),t.storage),i=(0,_dom.getDomNode)(),r=i.visibleHeight,s=i.visibleWidth,u=_xeUtils.default.toNumber(t.marginSize),c=e.target.getAttribute("type"),d=_xeUtils.default.toNumber(t.minWidth),m=_xeUtils.default.toNumber(t.minHeight),f=s,g=r,h=a.getBox(),p=h.clientWidth,v=h.clientHeight,x=e.clientX,y=e.clientY,_=h.offsetTop,b=h.offsetLeft,S={type:"resize"};document.onmousemove=function(e){var t,o,i,n;switch(e.preventDefault(),c){case"wl":i=(t=x-e.clientX)+p,u<b-t&&d<i&&(h.style.width="".concat(i<f?i:f,"px"),h.style.left="".concat(b-t,"px"));break;case"swst":i=(t=x-e.clientX)+p,n=(o=y-e.clientY)+v,u<b-t&&d<i&&(h.style.width="".concat(i<f?i:f,"px"),h.style.left="".concat(b-t,"px")),u<_-o&&m<n&&(h.style.height="".concat(n<g?n:g,"px"),h.style.top="".concat(_-o,"px"));break;case"swlb":i=(t=x-e.clientX)+p,n=(o=e.clientY-y)+v,u<b-t&&d<i&&(h.style.width="".concat(i<f?i:f,"px"),h.style.left="".concat(b-t,"px")),_+n+u<r&&m<n&&(h.style.height="".concat(n<g?n:g,"px"));break;case"st":o=y-e.clientY,n=v+o,u<_-o&&m<n&&(h.style.height="".concat(n<g?n:g,"px"),h.style.top="".concat(_-o,"px"));break;case"wr":t=e.clientX-x,b+(i=t+p)+u<s&&d<i&&(h.style.width="".concat(i<f?i:f,"px"));break;case"sest":t=e.clientX-x,n=(o=y-e.clientY)+v,b+(i=t+p)+u<s&&d<i&&(h.style.width="".concat(i<f?i:f,"px")),u<_-o&&m<n&&(h.style.height="".concat(n<g?n:g,"px"),h.style.top="".concat(_-o,"px"));break;case"selb":t=e.clientX-x,n=(o=e.clientY-y)+v,b+(i=t+p)+u<s&&d<i&&(h.style.width="".concat(i<f?i:f,"px")),_+n+u<r&&m<n&&(h.style.height="".concat(n<g?n:g,"px"));break;case"sb":o=e.clientY-y,_+(n=o+v)+u<r&&m<n&&(h.style.height="".concat(n<g?n:g,"px"))}h.className=h.className.replace(/\s?is--drag/,"")+" is--drag",l&&a.savePosStorage(),a.dispatchEvent("resize",S,e)},document.onmouseup=function(){o.revertLocat=null,document.onmousemove=null,document.onmouseup=null,setTimeout(function(){h.className=h.className.replace(/\s?is--drag/,"")},50)}},renderTitles:function(e){var t=this,o=t.$scopedSlots,i=t.slots,i=void 0===i?{}:i,n=t.showClose,a=t.showZoom,l=t.showMaximize,r=t.showMinimize,s=t.title,u=t.reactData.zoomStatus,c=o.title||i.title,o=o.corner||i.corner,i=t.computeIsMinimizeStatus;return[e("div",{class:"vxe-modal--header-title"},c?t.callSlot(c,{$modal:t,minimized:i,maximized:t.computeIsMaximizeStatus},e):s?(0,_utils.getFuncText)(s):(0,_ui.getI18n)("vxe.alert.title")),e("div",{class:"vxe-modal--header-right"},[o&&!i?e("div",{class:"vxe-modal--corner-wrapper"},t.callSlot(o,{$modal:t},e)):(0,_ui.renderEmptyElement)(t),(_xeUtils.default.isBoolean(r)?r:a)?e("div",{class:["vxe-modal--zoom-btn","trigger--btn"],attrs:{title:(0,_ui.getI18n)("vxe.modal.zoom".concat("minimize"===u?"Out":"Min"))},on:{click:t.toggleZoomMinEvent}},[e("i",{class:"minimize"===u?(0,_ui.getIcon)().MODAL_ZOOM_REVERT:(0,_ui.getIcon)().MODAL_ZOOM_MIN})]):(0,_ui.renderEmptyElement)(t),(_xeUtils.default.isBoolean(l)?l:a)&&"minimize"!==u?e("div",{class:["vxe-modal--zoom-btn","trigger--btn"],attrs:{title:(0,_ui.getI18n)("vxe.modal.zoom".concat("maximize"===u?"Out":"In"))},on:{click:t.toggleZoomMaxEvent}},[e("i",{class:"maximize"===u?(0,_ui.getIcon)().MODAL_ZOOM_OUT:(0,_ui.getIcon)().MODAL_ZOOM_IN})]):(0,_ui.renderEmptyElement)(t),n?e("div",{class:["vxe-modal--close-btn","trigger--btn"],attrs:{title:(0,_ui.getI18n)("vxe.modal.close")},on:{click:t.closeEvent}},[e("i",{class:(0,_ui.getIcon)().MODAL_CLOSE})]):(0,_ui.renderEmptyElement)(t)])]},renderHeader:function(e){var t=this,o=t,i=t.$scopedSlots,n=o.slots,a=o.showZoom,l=o.showMaximize,i=i.header||(void 0===n?{}:n).header;return o.showHeader?(n={},o.draggable&&(n.mousedown=t.mousedownEvent),(_xeUtils.default.isBoolean(l)?l:a)&&o.dblclickZoom&&"modal"===o.type&&(n.dblclick=t.toggleZoomMaxEvent),e("div",{ref:"refHeaderElem",class:["vxe-modal--header",{"is--ellipsis":o.showTitleOverflow}],on:n},i?t.callSlot(i,{$modal:t},e):t.renderTitles(e))):(0,_ui.renderEmptyElement)(t)},renderBody:function(e){var t=this,o=t,i=t.$scopedSlots,n=o.slots,n=void 0===n?{}:n,a=o.status,l=o.iconStatus,r=o.useHtml,s=o.content||o.message,u=t.computeIsMsg,c=i.default||n.default,d=i.left||n.left,i=i.right||n.right,n=[];return u||!a&&!l||n.push(e("div",{class:"vxe-modal--status-wrapper"},[e("i",{class:["vxe-modal--status-icon",l||(0,_ui.getIcon)()["MODAL_".concat(a).toLocaleUpperCase()]]})])),n.push(r&&!c?e("div",{key:"hc",class:"vxe-modal--content",domProps:{innerHTML:(0,_utils.getFuncText)(s)}}):e("div",{key:"dc",class:"vxe-modal--content"},c?t.callSlot(c,{$modal:t},e):(0,_utils.getFuncText)(s))),e("div",{class:"vxe-modal--body"},[d?e("div",{class:"vxe-modal--body-left"},t.callSlot(d,{$modal:t},e)):(0,_ui.renderEmptyElement)(t),e("div",{class:"vxe-modal--body-default"},n),i?e("div",{class:"vxe-modal--body-right"},t.callSlot(i,{$modal:t},e)):(0,_ui.renderEmptyElement)(t),u?(0,_ui.renderEmptyElement)(t):e(_loading.default,{class:"vxe-modal--loading",props:{value:o.loading}})])},renderDefaultFooter:function(e){var t=this,o=t,i=t.$scopedSlots,n=o.slots,n=void 0===n?{}:n,a=o.showCancelButton,l=o.showConfirmButton,r=o.type,s=o.loading,u=i.leftfoot||n.leftfoot,i=i.rightfoot||n.rightfoot,n=[];return(_xeUtils.default.isBoolean(a)?a:"confirm"===r)&&n.push(e(_button.default,{key:1,ref:"refCancelBtn",props:{content:o.cancelButtonText||(0,_ui.getI18n)("vxe.button.cancel")},on:{click:t.cancelEvent}})),(_xeUtils.default.isBoolean(l)?l:"confirm"===r||"alert"===r)&&n.push(e(_button.default,{key:2,ref:"refConfirmBtn",props:{status:"primary",loading:s,content:o.confirmButtonText||(0,_ui.getI18n)("vxe.button.confirm")},on:{click:t.confirmEvent}})),e("div",{class:"vxe-modal--footer-wrapper"},[e("div",{class:"vxe-modal--footer-left"},u?t.callSlot(u,{$modal:t},e):[]),e("div",{class:"vxe-modal--footer-right"},i?t.callSlot(i,{$modal:t},e):n)])},renderFooter:function(e){var t=this,o=t.$scopedSlots,i=t.slots,o=o.footer||(void 0===i?{}:i).footer;return t.showFooter?e("div",{class:"vxe-modal--footer"},o?t.callSlot(o,{$modal:t},e):[t.renderDefaultFooter(e)]):(0,_ui.renderEmptyElement)(t)},renderVN:function(t){var o=this,e=o.$scopedSlots,i=o.reactData,n=o.slots,a=o.className,l=o.type,r=o.animat,s=o.draggable,u=o.iconStatus,c=o.position,d=o.loading,m=o.destroyOnClose,f=o.status,g=o.lockScroll,h=o.padding,p=o.lockView,v=o.mask,x=o.resize,y=i.initialized,_=i.modalTop,b=i.contentVisible,S=i.visible,M=i.zoomStatus,e=e.aside||(void 0===n?{}:n).aside,n=o.computeSize,z=o.computeIsMsg,w=o.computeIsMinimizeStatus,C={};return z&&(C.mouseover=o.selfMouseoverEvent,C.mouseout=o.selfMouseoutEvent),t("div",{ref:"refElem",class:["vxe-modal--wrapper","type--".concat(l),"zoom--".concat(M||"revert"),a||"",c?"pos--".concat(c):"",(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(l={},"size--".concat(n),n),"status--".concat(f),f),"is--padding",h),"is--animat",r),"lock--scroll",g),"lock--view",p),"is--draggable",s),"is--resize",x),"is--mask",v),"is--visible",b),_defineProperty(_defineProperty(l,"is--active",S),"is--loading",d))],style:{zIndex:i.modalZindex,top:_?"".concat(_,"px"):null},on:Object.assign(Object.assign({},C),{click:o.selfClickEvent})},y?[t("div",{ref:"refModalBox",class:"vxe-modal--box",on:{mousedown:o.boxMousedownEvent}},[!z&&!e||w?(0,_ui.renderEmptyElement)(o):t("div",{class:"vxe-modal--aside"},e?o.callSlot(e,{$modal:o},t):[f||u?t("div",{class:"vxe-modal--status-wrapper"},[t("i",{class:["vxe-modal--status-icon",u||(0,_ui.getIcon)()["MODAL_".concat(f).toLocaleUpperCase()]]})]):(0,_ui.renderEmptyElement)(o)]),t("div",{class:"vxe-modal--container"},!i.initialized||m&&!i.visible?[]:[o.renderHeader(t),o.renderBody(t),o.renderFooter(t),!z&&x?t("span",{class:"vxe-modal--resize"},["wl","wr","swst","sest","st","swlb","selb","sb"].map(function(e){return t("span",{class:"".concat(e,"-resize"),attrs:{type:e},on:{mousedown:o.dragEvent}})})):(0,_ui.renderEmptyElement)(o)])])]:[])}},mounted:function(){var e=this,t=e.$scopedSlots,o=e,i=e.reactData;"modal"===o.type&&o.showFooter&&!(o.showConfirmButton||o.showCancelButton||t.footer)&&warnLog("vxe.modal.footPropErr"),i.initialized=!!o.preload,e.$nextTick(function(){o.storage&&!o.id&&errLog("vxe.error.reqProp",["[modal] id"]),o.value&&e.openModal(),e.recalculate()}),o.escClosable&&_ui.globalEvents.on(e,"keydown",e.handleGlobalKeydownEvent)},beforeDestroy:function(){var e=this,t=e.$refs.refElem;t&&t.parentNode&&t.parentNode.removeChild(t),_ui.globalEvents.off(e,"keydown"),e.removeMsgQueue(),e.removeActiveQueue(),e.removeBodyLockScroll()},render:function(e){return this.renderVN(e)}});
|
|
1
|
+
function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.allActiveModals=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_button=_interopRequireDefault(require("../../button")),_loading=_interopRequireDefault(require("../../loading")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,o){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var o=e[Symbol.toPrimitive];if(void 0===o)return("string"===t?String:Number)(e);o=o.call(e,t||"default");if("object"!=_typeof(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var o;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(o="Object"===(o={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:o)||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,i=Array(t);o<t;o++)i[o]=e[o];return i}function _iterableToArrayLimit(e,t){var o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i,n,a,l,r=[],s=!0,u=!1;try{if(a=(o=o.call(e)).next,0===t){if(Object(o)!==o)return;s=!1}else for(;!(s=(i=a.call(o)).done)&&(r.push(i.value),r.length!==t);s=!0);}catch(e){u=!0,n=e}finally{try{if(!s&&null!=o.return&&(l=o.return(),Object(l)!==l))return}finally{if(u)throw n}}return r}}function _arrayWithHoles(e){if(Array.isArray(e))return e}var _createComponentLog=(0,_log.createComponentLog)("modal"),warnLog=_createComponentLog.warnLog,errLog=_createComponentLog.errLog,allActiveModals=exports.allActiveModals=[],msgQueue=[],notifyQueue=[],lockScrollAttrKey="data-vxe-lock-scroll",lockScrollCssWidthKey="--vxe-ui-modal-lock-scroll-view-width",_default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeModal",mixins:[_ui.globalMixins.sizeMixin,_ui.globalMixins.permissionMixin],props:{value:Boolean,id:String,type:{type:String,default:"modal"},loading:{type:Boolean,default:null},status:String,iconStatus:String,className:String,top:{type:[Number,String],default:function(){return(0,_ui.getConfig)().modal.top}},position:[String,Object],title:String,duration:{type:[Number,String],default:function(){return(0,_ui.getConfig)().modal.duration}},content:[Number,String],useHtml:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.useHtml}},showCancelButton:{type:Boolean,default:null},cancelButtonText:{type:String,default:function(){return(0,_ui.getConfig)().modal.cancelButtonText}},showConfirmButton:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.showConfirmButton}},confirmButtonText:{type:String,default:function(){return(0,_ui.getConfig)().modal.confirmButtonText}},lockView:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.lockView}},lockScroll:Boolean,mask:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.mask}},maskClosable:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.maskClosable}},escClosable:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.escClosable}},cancelClosable:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.cancelClosable}},confirmClosable:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.confirmClosable}},resize:Boolean,showHeader:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.showHeader}},showFooter:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.showFooter}},preload:Boolean,showZoom:Boolean,zoomConfig:Object,showMaximize:{type:Boolean,default:function(){return(0,_utils.handleBooleanDefaultValue)((0,_ui.getConfig)().modal.showMaximize)}},showMinimize:{type:Boolean,default:function(){return(0,_utils.handleBooleanDefaultValue)((0,_ui.getConfig)().modal.showMinimize)}},showClose:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.showClose}},dblclickZoom:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.dblclickZoom}},width:{type:[Number,String],default:function(){return(0,_ui.getConfig)().modal.width}},height:{type:[Number,String],default:function(){return(0,_ui.getConfig)().modal.height}},minWidth:{type:[Number,String],default:function(){return(0,_ui.getConfig)().modal.minWidth}},minHeight:{type:[Number,String],default:function(){return(0,_ui.getConfig)().modal.minHeight}},zIndex:Number,marginSize:{type:[Number,String],default:function(){return(0,_ui.getConfig)().modal.marginSize}},fullscreen:Boolean,draggable:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.draggable}},remember:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.remember}},destroyOnClose:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.destroyOnClose}},showTitleOverflow:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.showTitleOverflow}},transfer:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.transfer}},appendTo:{type:[String,Function],default:function(){return(0,_ui.getConfig)().modal.appendTo}},storage:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.storage}},storageKey:{type:String,default:function(){return(0,_ui.getConfig)().modal.storageKey}},padding:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.padding}},size:{type:String,default:function(){return(0,_ui.getConfig)().modal.size||(0,_ui.getConfig)().size}},beforeHideMethod:Function,slots:Object,message:[Number,String],animat:{type:Boolean,default:function(){return(0,_ui.getConfig)().modal.animat}}},inject:{$xeParentModal:{from:"$xeModal",default:null},$xeDrawer:{default:null},$xeTable:{default:null},$xeForm:{default:null}},provide:function(){return{$xeModal:this}},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:{initialized:!1,visible:!1,contentVisible:!1,modalTop:0,modalZindex:0,prevZoomStatus:"",zoomStatus:"",revertLocat:null,prevLocat:null,firstOpen:!0,resizeFlag:1},internalData:{msgTimeout:void 0}}},computed:Object.assign(Object.assign({},{}),{computeBtnTransfer:function(){var e=this,t=e.$xeTable,o=e.$xeParentModal,i=e.$xeDrawer,n=e.$xeForm,e=e.transfer;if(null===e){var a=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(a))return a;if(t||o||i||n)return!0}return e},computeIsMsg:function(){return"message"===this.type||"notification"===this.type},computeIsMinimizeStatus:function(){return"minimize"===this.reactData.zoomStatus},computeIsMaximizeStatus:function(){return"maximize"===this.reactData.zoomStatus},computeZoomOpts:function(){return Object.assign({},(0,_ui.getConfig)().modal.zoomConfig,this.zoomConfig)}}),watch:{width:function(){this.recalculate()},height:function(){this.recalculate()},value:function(e){e?this.openModal():this.closeModal("model")}},methods:{dispatchEvent:function(e,t,o){this.$emit(e,(0,_ui.createEvent)(o,{$modal:this},t))},emitModel:function(e){var t=this._events;this.$emit("input",e),t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},callSlot:function(e,t,o){var i=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=i[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,o)):[]},open:function(){return this.openModal()},close:function(){return this.closeModal("close")},getBox:function(){return this.$refs.refModalBox},getPosition:function(){if(!this.computeIsMsg){var e=this.getBox();if(e)return{top:e.offsetTop,left:e.offsetLeft}}return null},setPosition:function(e,t){var o;return this.computeIsMsg||(o=this.getBox())&&(_xeUtils.default.isNumber(e)&&(o.style.top="".concat(e,"px")),_xeUtils.default.isNumber(t))&&(o.style.left="".concat(t,"px")),this.$nextTick()},isMinimized:function(){return"minimize"===this.reactData.zoomStatus},isMaximized:function(){return"maximize"===this.reactData.zoomStatus},zoom:function(){return this.handleZoom()},minimize:function(){return this.reactData.visible?this.handleMinimize():Promise.resolve({status:!1})},maximize:function(){return this.reactData.visible?this.handleMaximize():Promise.resolve({status:!1})},revert:function(){return this.reactData.visible?this.handleRevert():Promise.resolve({status:!1})},recalculate:function(){var e=this,t=e.width,o=e.height,i=e.minWidth,n=e.minHeight,a=e.computeIsMsg,l=e.computeIsMinimizeStatus,r=e.getBox();return r&&(r.style.width=t?(0,_dom.toCssUnit)(t):"",r.style.height=o?(0,_dom.toCssUnit)(o):"",r.style.minWidth=a||l||!i?"":(0,_dom.toCssUnit)(i),r.style.minHeight=a||l||!n?"":(0,_dom.toCssUnit)(n)),e.$nextTick()},updateZindex:function(){var e=this.reactData,t=this.zIndex,o=e.modalZindex;t?e.modalZindex=t:this.computeIsMsg?o<(0,_utils.getSubLastZIndex)()&&(e.modalZindex=(0,_utils.nextSubZIndex)()):o<(0,_utils.getLastZIndex)()&&(e.modalZindex=(0,_utils.nextZIndex)())},updatePosition:function(){var c=this,d=c;return c.$nextTick().then(function(){var e,t,o,i,n,a,l,r=d.position,s=_xeUtils.default.toNumber(d.marginSize),u=c.getBox();u&&(e=document.documentElement.clientWidth||document.body.clientWidth,t=document.documentElement.clientHeight||document.body.clientHeight,o="center"===r,i=(r=_xeUtils.default.isString(r)?{top:r,left:r}:Object.assign({},r)).top,n=o||"center"===i,a=l="",a=(r=r.left)&&!(o||"center"===r)?(0,_dom.toCssUnit)(r):"".concat(Math.max(s,e/2-u.offsetWidth/2),"px"),l=i&&!n?(0,_dom.toCssUnit)(i):"".concat(Math.max(s,t/2-u.offsetHeight/2),"px"),u.style.top=l,u.style.left=a)})},updateStyle:function(){var t=this;this.$nextTick(function(){var e=t.type,o=0;("notification"===e?notifyQueue:msgQueue).forEach(function(e){var t=e.getBox();t&&(o+=_xeUtils.default.toNumber(e.top),e.reactData.modalTop=o,o+=t.clientHeight)})})},removeActiveQueue:function(){var t=this;-1<allActiveModals.indexOf(t)&&_xeUtils.default.remove(allActiveModals,function(e){return e===t})},removeMsgQueue:function(){var t=this,e="notification"===t.type?notifyQueue:msgQueue;-1<e.indexOf(t)&&_xeUtils.default.remove(e,function(e){return e===t}),t.updateStyle()},closeModal:function(e){var t=this,o=t.reactData,i=t.remember,n=o.visible,a=t.computeIsMsg,l=t.beforeHideMethod||(0,_ui.getConfig)().modal.beforeHideMethod,r={type:e};return n&&Promise.resolve(l?l(r):null).then(function(e){_xeUtils.default.isError(e)||(a&&t.removeMsgQueue(),o.contentVisible=!1,i||t.handleRevert(),t.removeActiveQueue(),t.dispatchEvent("before-hide",r,null),setTimeout(function(){o.visible=!1,t.emitModel(!1),t.dispatchEvent("hide",r,null)},200),t.removeBodyLockScroll())}).catch(function(e){return e}),t.$nextTick()},closeEvent:function(e){var t="close";this.dispatchEvent(t,{type:t},e),this.closeModal(t)},confirmEvent:function(e){var t=this.confirmClosable,o="confirm";this.dispatchEvent(o,{type:o},e),t&&this.closeModal(o)},cancelEvent:function(e){var t=this.cancelClosable,o="cancel";this.dispatchEvent(o,{type:o},e),t&&this.closeModal(o)},getStorageMap:function(e){var t=(0,_ui.getConfig)().version,e=_xeUtils.default.toStringJSON(localStorage.getItem(e)||"");return e&&e._v===t?e:{_v:t}},hasPosStorage:function(){var e=this.id,t=this.storage,o=this.storageKey;return!!(e&&t&&this.getStorageMap(o)[e])},restorePosStorage:function(){var e,t,o,i,n,a,l=this.reactData,r=this.id,s=this.storage,u=this.storageKey;r&&s&&(s=this.getStorageMap(u)[r])&&(u=this.getBox(),s=(r=_slicedToArray(s.split(","),8))[0],e=r[1],t=r[2],o=r[3],i=r[4],n=r[5],a=r[6],r=r[7],u&&(s&&(u.style.left="".concat(s,"px")),e&&(u.style.top="".concat(e,"px")),t&&(u.style.width="".concat(t,"px")),o)&&(u.style.height="".concat(o,"px")),i)&&n&&(l.revertLocat={left:i,top:n,width:a,height:r})},addMsgQueue:function(){var e="notification"===this.type?notifyQueue:msgQueue;-1===e.indexOf(this)&&e.push(this),this.updateStyle()},savePosStorage:function(){var e=this.reactData,t=this.id,o=this.storage,i=this.storageKey,n=e.zoomStatus,e=e.revertLocat;n||t&&o&&(n=this.getBox())&&((o=this.getStorageMap(i))[t]=[n.style.left,n.style.top,n.clientWidth,n.clientHeight].concat(e?[e.left,e.top,e.width,e.height]:[]).map(function(e){return e?_xeUtils.default.toNumber(e):""}).join(","),localStorage.setItem(i,_xeUtils.default.toJSONString(o)))},handleMinimize:function(){var r=this,s=r.reactData,e=r.computeZoomOpts,t=e.minimizeLayout,o=e.minimizeMaxSize,u=e.minimizeHorizontalOffset,c=e.minimizeVerticalOffset,d=e.minimizeOffsetMethod,m="horizontal"===t,f=s.zoomStatus,i=[],n=[],g=(allActiveModals.forEach(function(e){e.xID!==r.xID&&"modal"===e.type&&"minimize"===e.reactData.zoomStatus&&("horizontal"===e.computeZoomOpts.minimizeLayout?i:n).push(e)}),m?i:n);return o&&o<=g.length?(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:(0,_ui.getI18n)("vxe.modal.miniMaxSize",[o])}),Promise.resolve({status:!1})):(s.prevZoomStatus=f,s.zoomStatus="minimize",r.$nextTick().then(function(){var e,t,o,i,n,a,l=r.getBox();return l&&(e=r.$refs.refHeaderElem)?(a=(0,_dom.getDomNode)().visibleHeight,f||(s.revertLocat={top:l.offsetTop,left:l.offsetLeft,width:l.offsetWidth+(l.style.width?0:1),height:l.offsetHeight+(l.style.height?0:1)}),o=_xeUtils.default[m?"max":"min"](g,function(e){e=e.getBox();return e?_xeUtils.default.toNumber(e.style[m?"left":"top"]):0}),a=a-e.offsetHeight-16,n=16,o&&(o=o.getBox())&&(t=_xeUtils.default.toNumber(o.style.left),o=_xeUtils.default.toNumber(o.style.top),i={},i=m?Object.assign({},u):Object.assign({},c),n=t+_xeUtils.default.toNumber(i.left),a=o+_xeUtils.default.toNumber(i.top),d)&&(i=d({$modal:r,left:n,top:a}),n=_xeUtils.default.toNumber(i.left),a=_xeUtils.default.toNumber(i.top)),Object.assign(l.style,{top:"".concat(a,"px"),left:"".concat(n,"px"),width:"200px",height:"".concat(e.offsetHeight,"px"),minHeight:"",minWidth:""}),r.savePosStorage(),{status:!0}):{status:!1}}))},handleMaximize:function(){var n=this,a=n,l=n.reactData,r=l.zoomStatus;return l.prevZoomStatus=r,l.zoomStatus="maximize",n.$nextTick().then(function(){var e,t,o,i=n.getBox();i&&(r||(e=_xeUtils.default.toNumber(a.marginSize),t=document.documentElement.clientWidth||document.body.clientWidth,o=document.documentElement.clientHeight||document.body.clientHeight,l.revertLocat={top:Math.max(e,o/2-i.offsetHeight/2),left:Math.max(e,t/2-i.offsetWidth/2),width:i.offsetWidth+(i.style.width?0:1),height:i.offsetHeight+(i.style.height?0:1)}),Object.assign(i.style,{top:"0",left:"0",width:"100%",height:"100%",minHeight:"",minWidth:""})),n.savePosStorage()})},handleMsgAutoClose:function(){var e=this,t=e.internalData,o=e.duration;-1!==o&&(t.msgTimeout=setTimeout(function(){return e.closeModal("close")},_xeUtils.default.toNumber(o)))},removeBodyLockScroll:function(){var t=this.xID,e=document.documentElement,o=e.getAttribute(lockScrollAttrKey);o&&((o=o.split(",").filter(function(e){return e!==t})).length?e.setAttribute(lockScrollAttrKey,o.join(",")):(e.removeAttribute(lockScrollAttrKey),e.style.removeProperty(lockScrollCssWidthKey)))},addBodyLockScroll:function(){var e,t=this.xID,o=this.lockScroll,i=this.computeIsMsg;o&&!i&&(o=document.documentElement,i=document.body.clientWidth,(e=(e=o.getAttribute(lockScrollAttrKey))?e.split(","):[]).includes(t)||(e.push(t),o.setAttribute(lockScrollAttrKey,e.join(","))),o.style.setProperty(lockScrollCssWidthKey,"".concat(i,"px")))},openModal:function(){var o=this,i=o,e=o.reactData,t=i.remember,n=i.showFooter,a=i.appendTo,l=e.initialized,r=e.visible,s=o.computeIsMsg,u=o.computeBtnTransfer;return l||(e.initialized=!0,u&&(l=o.$refs.refElem,(0,_dom.getPopupContainer)(a).appendChild(l))),r||(o.addBodyLockScroll(),e.visible=!0,e.contentVisible=!1,o.updateZindex(),allActiveModals.push(o),setTimeout(function(){e.contentVisible=!0,o.$nextTick(function(){i.fullscreen||o.recalculate(),n&&(e=o.$refs.refConfirmBtn,t=o.$refs.refCancelBtn,e=e||t)&&e.focus();var e,t={type:""};o.emitModel(!0),o.dispatchEvent("show",t,null)})},10),s?(o.addMsgQueue(),o.handleMsgAutoClose()):o.$nextTick(function(){e.firstOpen?(e.firstOpen=!1,o.hasPosStorage()?o.restorePosStorage():i.fullscreen?o.$nextTick(function(){return o.handleMaximize()}):(o.recalculate(),o.updatePosition().then(function(){setTimeout(function(){return o.updatePosition()},20)}))):t||(o.recalculate(),o.updatePosition().then(function(){setTimeout(function(){return o.updatePosition()},20)}))})),o.$nextTick()},selfClickEvent:function(e){var t=this.$refs.refElem;this.maskClosable&&e.target===t&&this.closeModal("mask")},selfMouseoverEvent:function(){var e=this.internalData,t=e.msgTimeout;t&&this.computeIsMsg&&(clearTimeout(t),e.msgTimeout=void 0)},selfMouseoutEvent:function(){this.internalData.msgTimeout||this.computeIsMsg&&this.handleMsgAutoClose()},handleGlobalKeydownEvent:function(e){var t,o=this;_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE)&&(t=_xeUtils.default.max(allActiveModals,function(e){return e.reactData.modalZindex}))&&setTimeout(function(){t===o&&t.escClosable&&(o.dispatchEvent("close",{type:"exit"},e),o.closeModal("exit"))},10)},handleRevert:function(){var o=this,i=o.reactData;return i.prevZoomStatus=i.zoomStatus,i.zoomStatus="",o.$nextTick().then(function(){var e,t=i.revertLocat;return t?(e=o.getBox(),i.revertLocat=null,e&&Object.assign(e.style,{top:"".concat(t.top,"px"),left:"".concat(t.left,"px"),width:"".concat(t.width,"px"),height:"".concat(t.height,"px")}),o.savePosStorage(),o.$nextTick().then(function(){return{status:!0}})):{status:!1}})},handleZoom:function(t){var o=this,e=o.reactData,i=e.zoomStatus;return new Promise(function(e){if(t)return"maximize"===t?void e(o.handleMaximize()):"minimize"===t?void e(o.handleMinimize()):void e(o.handleRevert());e(i?o.handleRevert():o.handleMaximize())}).then(function(){return e.zoomStatus||"revert"})},toggleZoomMinEvent:function(t){var o=this,e=o.reactData,i=e.zoomStatus;return o.handleZoom("minimize"===i?e.prevZoomStatus||"revert":"minimize").then(function(e){o.dispatchEvent("zoom",{type:e},t)})},toggleZoomMaxEvent:function(t){var o=this;return o.handleZoom().then(function(e){o.dispatchEvent("zoom",{type:e},t)})},boxMousedownEvent:function(){var t=this.reactData.modalZindex;allActiveModals.some(function(e){return e.reactData.visible&&e.reactData.modalZindex>t})&&this.updateZindex()},mousedownEvent:function(e){var a,l,r,s,u=this,c=u.reactData,t=u.storage,o=c.zoomStatus,d=_xeUtils.default.toNumber(u.marginSize),m=u.getBox();m&&"maximize"!==o&&0===e.button&&!(0,_dom.getEventTargetNode)(e,m,"trigger--btn").flag&&(e.preventDefault(),a=e.clientX-m.offsetLeft,l=e.clientY-m.offsetTop,o=(0,_dom.getDomNode)(),r=o.visibleHeight,s=o.visibleWidth,document.onmousemove=function(e){e.preventDefault();var t=m.offsetWidth,o=m.offsetHeight,t=s-t-d-1,o=r-o-d-1,i=e.clientX-a,n=e.clientY-l;(n=o<n?o:n)<d&&(n=d),m.style.left="".concat(i=(i=t<i?t:i)<d?d:i,"px"),m.style.top="".concat(n,"px"),m.className=m.className.replace(/\s?is--drag/,"")+" is--drag",u.$emit("move",(0,_ui.createEvent)(e,{type:"move"})),c.resizeFlag++},document.onmouseup=function(){document.onmousemove=null,document.onmouseup=null,t&&u.$nextTick(function(){u.savePosStorage()}),c.resizeFlag++,setTimeout(function(){m.className=m.className.replace(/\s?is--drag/,"")},50)})},dragEvent:function(e){var a=this,t=a,o=a.reactData,l=(e.preventDefault(),t.storage),i=(0,_dom.getDomNode)(),r=i.visibleHeight,s=i.visibleWidth,u=_xeUtils.default.toNumber(t.marginSize),c=e.target.getAttribute("data-type"),d=_xeUtils.default.toNumber(t.minWidth),m=_xeUtils.default.toNumber(t.minHeight),f=s,g=r,p=a.getBox(),h=p.clientWidth,v=p.clientHeight,x=e.clientX,y=e.clientY,_=p.offsetTop,b=p.offsetLeft,S={type:"resize"};document.onmousemove=function(e){var t,o,i,n;switch(e.preventDefault(),c){case"wl":i=(t=x-e.clientX)+h,u<b-t&&d<i&&(p.style.width="".concat(i<f?i:f,"px"),p.style.left="".concat(b-t,"px"));break;case"swst":i=(t=x-e.clientX)+h,n=(o=y-e.clientY)+v,u<b-t&&d<i&&(p.style.width="".concat(i<f?i:f,"px"),p.style.left="".concat(b-t,"px")),u<_-o&&m<n&&(p.style.height="".concat(n<g?n:g,"px"),p.style.top="".concat(_-o,"px"));break;case"swlb":i=(t=x-e.clientX)+h,n=(o=e.clientY-y)+v,u<b-t&&d<i&&(p.style.width="".concat(i<f?i:f,"px"),p.style.left="".concat(b-t,"px")),_+n+u<r&&m<n&&(p.style.height="".concat(n<g?n:g,"px"));break;case"st":o=y-e.clientY,n=v+o,u<_-o&&m<n&&(p.style.height="".concat(n<g?n:g,"px"),p.style.top="".concat(_-o,"px"));break;case"wr":t=e.clientX-x,b+(i=t+h)+u<s&&d<i&&(p.style.width="".concat(i<f?i:f,"px"));break;case"sest":t=e.clientX-x,n=(o=y-e.clientY)+v,b+(i=t+h)+u<s&&d<i&&(p.style.width="".concat(i<f?i:f,"px")),u<_-o&&m<n&&(p.style.height="".concat(n<g?n:g,"px"),p.style.top="".concat(_-o,"px"));break;case"selb":t=e.clientX-x,n=(o=e.clientY-y)+v,b+(i=t+h)+u<s&&d<i&&(p.style.width="".concat(i<f?i:f,"px")),_+n+u<r&&m<n&&(p.style.height="".concat(n<g?n:g,"px"));break;case"sb":o=e.clientY-y,_+(n=o+v)+u<r&&m<n&&(p.style.height="".concat(n<g?n:g,"px"))}p.className=p.className.replace(/\s?is--drag/,"")+" is--drag",l&&a.savePosStorage(),a.dispatchEvent("resize",S,e)},document.onmouseup=function(){o.revertLocat=null,document.onmousemove=null,document.onmouseup=null,setTimeout(function(){p.className=p.className.replace(/\s?is--drag/,"")},50)}},renderTitles:function(e){var t=this,o=t.$scopedSlots,i=t.slots,i=void 0===i?{}:i,n=t.showClose,a=t.showZoom,l=t.showMaximize,r=t.showMinimize,s=t.title,u=t.reactData.zoomStatus,c=o.title||i.title,o=o.corner||i.corner,i=t.computeIsMinimizeStatus;return[e("div",{class:"vxe-modal--header-title"},c?t.callSlot(c,{$modal:t,minimized:i,maximized:t.computeIsMaximizeStatus},e):s?(0,_utils.getFuncText)(s):(0,_ui.getI18n)("vxe.alert.title")),e("div",{class:"vxe-modal--header-right"},[o&&!i?e("div",{class:"vxe-modal--corner-wrapper"},t.callSlot(o,{$modal:t},e)):(0,_ui.renderEmptyElement)(t),(_xeUtils.default.isBoolean(r)?r:a)?e("div",{class:["vxe-modal--zoom-btn","trigger--btn"],attrs:{title:(0,_ui.getI18n)("vxe.modal.zoom".concat("minimize"===u?"Out":"Min"))},on:{click:t.toggleZoomMinEvent}},[e("i",{class:"minimize"===u?(0,_ui.getIcon)().MODAL_ZOOM_REVERT:(0,_ui.getIcon)().MODAL_ZOOM_MIN})]):(0,_ui.renderEmptyElement)(t),(_xeUtils.default.isBoolean(l)?l:a)&&"minimize"!==u?e("div",{class:["vxe-modal--zoom-btn","trigger--btn"],attrs:{title:(0,_ui.getI18n)("vxe.modal.zoom".concat("maximize"===u?"Out":"In"))},on:{click:t.toggleZoomMaxEvent}},[e("i",{class:"maximize"===u?(0,_ui.getIcon)().MODAL_ZOOM_OUT:(0,_ui.getIcon)().MODAL_ZOOM_IN})]):(0,_ui.renderEmptyElement)(t),n?e("div",{class:["vxe-modal--close-btn","trigger--btn"],attrs:{title:(0,_ui.getI18n)("vxe.modal.close")},on:{click:t.closeEvent}},[e("i",{class:(0,_ui.getIcon)().MODAL_CLOSE})]):(0,_ui.renderEmptyElement)(t)])]},renderHeader:function(e){var t=this,o=t,i=t.$scopedSlots,n=o.slots,a=o.showZoom,l=o.showMaximize,i=i.header||(void 0===n?{}:n).header;return o.showHeader?(n={},o.draggable&&(n.mousedown=t.mousedownEvent),(_xeUtils.default.isBoolean(l)?l:a)&&o.dblclickZoom&&"modal"===o.type&&(n.dblclick=t.toggleZoomMaxEvent),e("div",{ref:"refHeaderElem",class:["vxe-modal--header",{"is--ellipsis":o.showTitleOverflow}],on:n},i?t.callSlot(i,{$modal:t},e):t.renderTitles(e))):(0,_ui.renderEmptyElement)(t)},renderBody:function(e){var t=this,o=t,i=t.$scopedSlots,n=o.slots,n=void 0===n?{}:n,a=o.status,l=o.iconStatus,r=o.useHtml,s=o.content||o.message,u=t.computeIsMsg,c=i.default||n.default,d=i.left||n.left,i=i.right||n.right,n=[];return u||!a&&!l||n.push(e("div",{class:"vxe-modal--status-wrapper"},[e("i",{class:["vxe-modal--status-icon",l||(0,_ui.getIcon)()["MODAL_".concat(a).toLocaleUpperCase()]]})])),n.push(r&&!c?e("div",{key:"hc",class:"vxe-modal--content",domProps:{innerHTML:(0,_utils.getFuncText)(s)}}):e("div",{key:"dc",class:"vxe-modal--content"},c?t.callSlot(c,{$modal:t},e):(0,_utils.getFuncText)(s))),e("div",{class:"vxe-modal--body"},[d?e("div",{class:"vxe-modal--body-left"},t.callSlot(d,{$modal:t},e)):(0,_ui.renderEmptyElement)(t),e("div",{class:"vxe-modal--body-default"},n),i?e("div",{class:"vxe-modal--body-right"},t.callSlot(i,{$modal:t},e)):(0,_ui.renderEmptyElement)(t),u?(0,_ui.renderEmptyElement)(t):e(_loading.default,{class:"vxe-modal--loading",props:{value:o.loading}})])},renderDefaultFooter:function(e){var t=this,o=t,i=t.$scopedSlots,n=o.slots,n=void 0===n?{}:n,a=o.showCancelButton,l=o.showConfirmButton,r=o.type,s=o.loading,u=i.leftfoot||n.leftfoot,i=i.rightfoot||n.rightfoot,n=[];return(_xeUtils.default.isBoolean(a)?a:"confirm"===r)&&n.push(e(_button.default,{key:1,ref:"refCancelBtn",props:{content:o.cancelButtonText||(0,_ui.getI18n)("vxe.button.cancel")},on:{click:t.cancelEvent}})),(_xeUtils.default.isBoolean(l)?l:"confirm"===r||"alert"===r)&&n.push(e(_button.default,{key:2,ref:"refConfirmBtn",props:{status:"primary",loading:s,content:o.confirmButtonText||(0,_ui.getI18n)("vxe.button.confirm")},on:{click:t.confirmEvent}})),e("div",{class:"vxe-modal--footer-wrapper"},[e("div",{class:"vxe-modal--footer-left"},u?t.callSlot(u,{$modal:t},e):[]),e("div",{class:"vxe-modal--footer-right"},i?t.callSlot(i,{$modal:t},e):n)])},renderFooter:function(e){var t=this,o=t.$scopedSlots,i=t.slots,o=o.footer||(void 0===i?{}:i).footer;return t.showFooter?e("div",{class:"vxe-modal--footer"},o?t.callSlot(o,{$modal:t},e):[t.renderDefaultFooter(e)]):(0,_ui.renderEmptyElement)(t)},renderVN:function(t){var o=this,e=o.$scopedSlots,i=o.reactData,n=o.slots,a=o.className,l=o.type,r=o.animat,s=o.draggable,u=o.iconStatus,c=o.position,d=o.loading,m=o.destroyOnClose,f=o.status,g=o.lockScroll,p=o.padding,h=o.lockView,v=o.mask,x=o.resize,y=i.initialized,_=i.modalTop,b=i.contentVisible,S=i.visible,M=i.zoomStatus,e=e.aside||(void 0===n?{}:n).aside,n=o.computeSize,z=o.computeIsMsg,w=o.computeIsMinimizeStatus,C={};return z&&(C.mouseover=o.selfMouseoverEvent,C.mouseout=o.selfMouseoutEvent),t("div",{ref:"refElem",class:["vxe-modal--wrapper","type--".concat(l),"zoom--".concat(M||"revert"),a||"",c?"pos--".concat(c):"",(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(l={},"size--".concat(n),n),"status--".concat(f),f),"is--padding",p),"is--animat",r),"lock--scroll",g),"lock--view",h),"is--draggable",s),"is--resize",x),"is--mask",v),"is--visible",b),_defineProperty(_defineProperty(l,"is--active",S),"is--loading",d))],style:{zIndex:i.modalZindex,top:_?"".concat(_,"px"):null},on:Object.assign(Object.assign({},C),{click:o.selfClickEvent})},y?[t("div",{ref:"refModalBox",class:"vxe-modal--box",on:{mousedown:o.boxMousedownEvent}},[!z&&!e||w?(0,_ui.renderEmptyElement)(o):t("div",{class:"vxe-modal--aside"},e?o.callSlot(e,{$modal:o},t):[f||u?t("div",{class:"vxe-modal--status-wrapper"},[t("i",{class:["vxe-modal--status-icon",u||(0,_ui.getIcon)()["MODAL_".concat(f).toLocaleUpperCase()]]})]):(0,_ui.renderEmptyElement)(o)]),t("div",{class:"vxe-modal--container"},!i.initialized||m&&!i.visible?[]:[o.renderHeader(t),o.renderBody(t),o.renderFooter(t),!z&&x?t("span",{class:"vxe-modal--resize"},["wl","wr","swst","sest","st","swlb","selb","sb"].map(function(e){return t("span",{class:"".concat(e,"-resize"),attrs:{"data-type":e},on:{mousedown:o.dragEvent}})})):(0,_ui.renderEmptyElement)(o)])])]:[])}},mounted:function(){var e=this,t=e.$scopedSlots,o=e,i=e.reactData;"modal"===o.type&&o.showFooter&&!(o.showConfirmButton||o.showCancelButton||t.footer)&&warnLog("vxe.modal.footPropErr"),i.initialized=!!o.preload,e.$nextTick(function(){o.storage&&!o.id&&errLog("vxe.error.reqProp",["[modal] id"]),o.value&&e.openModal(),e.recalculate()}),o.escClosable&&_ui.globalEvents.on(e,"keydown",e.handleGlobalKeydownEvent)},beforeDestroy:function(){var e=this,t=e.$refs.refElem;t&&t.parentNode&&t.parentNode.removeChild(t),_ui.globalEvents.off(e,"keydown"),e.removeMsgQueue(),e.removeActiveQueue(),e.removeBodyLockScroll()},render:function(e){return this.renderVN(e)}});
|
package/lib/select/src/select.js
CHANGED
|
@@ -847,6 +847,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
847
847
|
var isDisabled = $xeSelect.computeIsDisabled;
|
|
848
848
|
var remoteOpts = $xeSelect.computeRemoteOpts;
|
|
849
849
|
var selectVals = $xeSelect.computeSelectVals;
|
|
850
|
+
var popupOpts = $xeSelect.computePopupOpts;
|
|
850
851
|
if (!loading && !isDisabled) {
|
|
851
852
|
if (hpTimeout) {
|
|
852
853
|
clearTimeout(hpTimeout);
|
|
@@ -857,7 +858,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
857
858
|
var btnTransfer = $xeSelect.computeBtnTransfer;
|
|
858
859
|
var panelElem = $xeSelect.$refs.refOptionPanel;
|
|
859
860
|
if (btnTransfer && panelElem) {
|
|
860
|
-
|
|
861
|
+
var appendTo = popupOpts.appendTo;
|
|
862
|
+
(0, _dom.getPopupContainer)(appendTo).appendChild(panelElem);
|
|
861
863
|
}
|
|
862
864
|
}
|
|
863
865
|
reactData.isActivated = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _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"),_input=_interopRequireDefault(require("../../input/src/input")),_button=_interopRequireDefault(require("../../button/src/button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);n=n.call(e,t||"default");if("object"!=_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}var _createComponentLog=(0,_log.createComponentLog)("select"),errLog=_createComponentLog.errLog;function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}function createReactData(){return{initialized:!1,scrollYLoad:!1,bodyHeight:0,topSpaceHeight:0,optList:[],staticOptions:[],reactFlag:0,currentOption:null,searchValue:"",searchLoading:!1,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}}function createInternalData(){return{synchData:[],fullData:[],afterVisibleList:[],optAddMaps:{},optGroupKeyMaps:{},optFullValMaps:{},remoteValMaps:{},lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},lastScrollTime:0,hpTimeout:void 0}}var _default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeSelect",mixins:[_ui.globalMixins.sizeMixin],model:{prop:"value",event:"modelValue"},props:{value:[String,Number,Boolean,Array],defaultConfig:Object,clearable:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.clearable}},placeholder:String,readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,multiCharOverflow:{type:[Number,String],default:function(){return(0,_ui.getConfig)().select.multiCharOverflow}},prefixIcon:String,allowCreate:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.allowCreate}},placement:String,lazyOptions:Array,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],popupClassName:[String,Function],max:{type:[String,Number],default:null},showRadio:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.showRadio}},radioConfig:Object,showCheckbox:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.showCheckedButton}},checkboxConfig:Object,zIndex:Number,size:{type:String,default:function(){return(0,_ui.getConfig)().select.size||(0,_ui.getConfig)().size}},filterable:Boolean,filterMethod:Function,filterConfig:Object,remote:Boolean,remoteConfig:Object,emptyText:String,checkedClosable:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.checkedClosable}},clearClosable:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.clearClosable}},showCloseButton:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.showCloseButton}},showTotalButton:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.showTotalButton}},showCheckedButton:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.showCheckedButton}},showClearButton:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.showClearButton}},transfer:{type:Boolean,default:null},popupConfig:Object,virtualYConfig:Object,scrollY:Object,remoteMethod:Function,optionId:{type:String,default:function(){return(0,_ui.getConfig)().select.optionId}},optionKey:Boolean},inject:{$xeModal:{default:null},$xeDrawer:{default:null},$xeTable:{default:null},$xeForm:{default:null},formItemInfo:{from:"xeFormItemInfo",default:null}},provide:function(){return{$xeSelect:this}},data:function(){var e=_xeUtils.default.uniqueId(),t=createReactData();return Object.assign(Object.assign({},{}),{xID:e,reactData:t})},computed:Object.assign(Object.assign({},{}),{computeFormReadonly:function(){var e=this.$xeForm,t=this.readonly;return null===t?!!e&&e.readonly:t},computeIsDisabled:function(){var e=this.$xeForm,t=this.disabled;return null===t?!!e&&e.disabled:t},computeBtnTransfer:function(){var e=this,t=e.$xeTable,n=e.$xeModal,i=e.$xeDrawer,l=e.$xeForm,o=e.transfer,e=e.computePopupOpts;if(_xeUtils.default.isBoolean(e.transfer))return e.transfer;if(null===o){e=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(e))return e;if(t||n||i||l)return!0}return o},computeInpPlaceholder:function(){var e=this.placeholder;return(e=e||(0,_ui.getConfig)().select.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")},computeDefaultOpts:function(){return Object.assign({},this.defaultConfig)},computePropsOpts:function(){return Object.assign({},this.optionProps)},computeGroupPropsOpts:function(){return Object.assign({},this.optionGroupProps)},computeLabelField:function(){return this.computePropsOpts.label||"label"},computeValueField:function(){return this.computePropsOpts.value||"value"},computeGroupLabelField:function(){return this.computeGroupPropsOpts.label||"label"},computeGroupOptionsField:function(){return this.computeGroupPropsOpts.options||"options"},computeIsMaximize:function(){var e=this.computeSelectVals;return this.checkMaxLimit(e)},computePopupOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.popupConfig,this.popupConfig)},computeVirtualYOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.virtualYConfig||(0,_ui.getConfig)().select.scrollY,this.virtualYConfig||this.scrollY)},computeRemoteOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.remoteConfig,this.remoteConfig)},computeFilterOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.filterConfig,this.filterConfig)},computeOptionOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.optionConfig,this.optionConfig)},computeRadioOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.radioConfig,this.radioConfig)},computeCheckboxOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.checkboxConfig,this.checkboxConfig)},computeIsGroup:function(){return this.reactData.fullGroupList.some(function(e){return e.options&&e.options.length})},computeMultiMaxCharNum:function(){return _xeUtils.default.toNumber(this.multiCharOverflow)},computePopupWrapperStyle:function(){var e=this.computePopupOpts,t=e.height,e=e.width,n={};return e&&(n.width=(0,_dom.toCssUnit)(e)),t&&(n.height=(0,_dom.toCssUnit)(t),n.maxHeight=(0,_dom.toCssUnit)(t)),n},computeSelectVals:function(){var e=this.value,t=this.multiple,n=[];return _xeUtils.default.isArray(e)?n=e:t?(0,_utils.eqEmptyValue)(e)||(n=-1<"".concat(e).indexOf(",")?"".concat(e).split(","):[e]):n=null==e?[]:[e],n},computeFullLabel:function(){var t=this,e=t.reactData,n=t.remote,e=e.reactFlag,i=t.computeSelectVals;return(n&&e?i.map(function(e){return t.getRemoteSelectLabel(e)}):i.map(function(e){return t.getSelectLabel(e)})).join(", ")},computeSelectLabel:function(){var t=this,e=t.reactData,n=t.remote,i=t.multiple,e=e.reactFlag,l=t.computeMultiMaxCharNum,o=t.computeSelectVals;return n&&e?o.map(function(e){return t.getRemoteSelectLabel(e)}).join(", "):(n=o.map(function(e){return t.getSelectLabel(e)}),i&&0<l&&n.length>l?"".concat(n.slice(0,l),"..."):n.join(", "))}}),methods:{dispatchEvent:function(e,t,n){this.$emit(e,(0,_ui.createEvent)(n,{$select:this},t))},emitModel:function(e){var t=this._events;t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},emitDefaultValue:function(e){this.emitModel(e),this.dispatchEvent("default-change",{value:e},null)},isPanelVisible:function(){return this.reactData.visiblePanel},togglePanel:function(){return this.reactData.visiblePanel?this.hideOptionPanel():this.showOptionPanel(),this.$nextTick()},hidePanel:function(){return this.reactData.visiblePanel&&this.hideOptionPanel(),this.$nextTick()},showPanel:function(){return this.reactData.visiblePanel||this.showOptionPanel(),this.$nextTick()},focus:function(){var e=this.reactData,t=this.$refs.refInput;return t&&t.blur(),e.isActivated=!0,this.$nextTick()},blur:function(){var e=this.reactData,t=this.$refs.refInput;return t&&t.blur(),e.isActivated=!1,this.$nextTick()},callSlot:function(e,t,n){var i=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=i[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,n)):[]},getOptKey:function(){return this.computeOptionOpts.keyField||this.optionId||"_X_OPTION_KEY"},getOptId:function(e){e=e[this.getOptKey()];return e?encodeURIComponent(e):""},checkMaxLimit:function(e){var t=this.multiple,n=this.max;return!(!t||!n)&&e.length>=_xeUtils.default.toNumber(n)},getRemoteSelectLabel:function(t){var e=this.internalData,n=this.lazyOptions,i=e.remoteValMaps,l=this.computeValueField,o=this.computeLabelField,i=i[t]||e.optFullValMaps[t],e=i?i.item:null;if(e)return _xeUtils.default.toValueString(e[o]);if(n){i=n.find(function(e){return e[l]===t});if(i)return i[o]}return t},getSelectLabel:function(t){var e=this,n=e.reactData,i=e.lazyOptions,l=e.internalData.optFullValMaps,o=e.computeValueField,e=e.computeLabelField,n=n.reactFlag?l[t]:null;if(n)return n.item[e];if(i){l=i.find(function(e){return e[o]===t});if(l)return l[e]}return t},getOptkey:function(){return this.computeOptionOpts.keyField||this.optionId||"_X_OPTION_KEY"},getOptid:function(e){e=e[this.getOptkey()];return e?encodeURIComponent(e):""},handleOption:function(){var t=this,e=t.reactData,n=t.internalData,i=t.remote,l=t.value,o=t.filterable,a=e.searchValue,e=n.fullData,r=n.optFullValMaps,s=t.computeLabelField,c=t.computeValueField,u=t.computeFilterOpts.filterMethod||t.filterMethod,p="".concat(a||"").toLowerCase(),f=[];return(f=i?e.filter(isOptionVisible):o&&u?e.filter(function(e){return isOptionVisible(e)&&u({$select:t,group:null,option:e,searchValue:a,value:l})}):o?e.filter(function(e){return isOptionVisible(e)&&(!p||-1<"".concat(e[s]||e[c]).toLowerCase().indexOf(p))}):e.filter(isOptionVisible)).forEach(function(e,t){e=r[e[c]];e&&(e._index=t)}),n.afterVisibleList=f,t.$nextTick()},refreshOption:function(){return this.handleOption(),this.updateYData(),this.$nextTick()},cacheItemMap:function(e){function t(e){u.push(e);var t=n.getOptId(e);t||(t=getOptUniqueId(),e[r]=t),c[e[a]]={key:t,item:e,_index:-1}}var n=this,i=n.reactData,l=n.internalData,o=n.computeGroupOptionsField,a=n.computeValueField,r=n.getOptKey(),s={},c={},u=[];e.forEach(function(e){t(e),e[o]&&(s[e[r]]=e)[o].forEach(t)}),l.fullData=u,l.optGroupKeyMaps=s,l.optFullValMaps=c,i.reactFlag++,n.handleOption()},setCurrentOption:function(e){var t=this.reactData;e&&(t.currentOption=e)},scrollToOption:function(i,l){var o=this;return o.$nextTick().then(function(){var e,t,n;i&&(e=o.$refs.refOptionWrapper,t=o.$refs.refOptionPanel.querySelector("[optid='".concat(o.getOptid(i),"']")),e)&&t&&(n=e.offsetHeight,l?t.offsetTop+t.offsetHeight-e.scrollTop>n&&(e.scrollTop=t.offsetTop+t.offsetHeight-n):(t.offsetTop+5<e.scrollTop||t.offsetTop+5>e.scrollTop+e.clientHeight)&&(e.scrollTop=t.offsetTop-5))})},updateZindex:function(){var e=this.reactData,t=this.computePopupOpts.zIndex||this.zIndex;t?e.panelIndex=_xeUtils.default.toNumber(t):e.panelIndex<(0,_utils.getLastZIndex)()&&(e.panelIndex=(0,_utils.nextZIndex)())},updateZIndex:function(){var e=this.reactData;e.panelIndex<(0,_utils.getLastZIndex)()&&(e.panelIndex=(0,_utils.nextZIndex)())},updatePlacement:function(){function e(){var e=(0,_dom.updatePanelPlacement)(o,a,{placement:s.placement||i,defaultPlacement:s.defaultPlacement,teleportTo:r}),t=Object.assign(e.style,{zIndex:l});n.panelStyle=t,n.panelPlacement=e.placement}var t=this,n=t.reactData,i=t.placement,l=n.panelIndex,o=t.$refs.refElem,a=t.$refs.refOptionPanel,r=t.computeBtnTransfer,s=t.computePopupOpts;return e(),t.$nextTick().then(e)},handleScrollSelect:function(){var l=this,o=l.reactData,a=l.internalData;l.$nextTick(function(){var e=o.isAniVisible,t=o.visiblePanel,n=a.optFullValMaps,i=l.computeSelectVals;i.length&&e&&t&&(e=o.reactFlag?n["".concat(i[0])]:null)&&(o.currentOption=e.item,l.handleScrollToOption(e.item))})},showOptionPanel:function(){var e=this,t=e.reactData,n=e.internalData,i=e.loading,l=e.filterable,o=e.remote,a=n.fullData,r=n.hpTimeout,s=e.computeRemoteOpts,c=e.computeSelectVals;i||e.computeIsDisabled||(r&&(clearTimeout(r),n.hpTimeout=void 0),t.initialized||(t.initialized=!0,i=e.computeBtnTransfer,r=e.$refs.refOptionPanel,i&&r&&document.body.appendChild(r)),t.isActivated=!0,t.isAniVisible=!0,l&&(o&&s.enabled&&(s.autoLoad&&!a.length||a.length&&s.clearOnClose)?e.handleSearchEvent():(e.handleOption(),e.updateYData())),setTimeout(function(){t.visiblePanel=!0,e.handleFocusSearch(),e.recalculate().then(function(){c&&c.length?e.handleScrollSelect():e.refreshScroll()}),e.updatePlacement()},10),setTimeout(function(){e.recalculate().then(function(){return e.refreshScroll()})},100),e.updateZIndex(),e.updatePlacement(),e.dispatchEvent("visible-change",{visible:!0},null))},hideOptionPanel:function(e){var t=this,n=t.reactData,i=t.internalData,l=t.filterable,o=t.computeFilterOpts;t.remote?t.computeRemoteOpts.clearOnClose&&(n.searchValue=""):l&&!o.clearOnClose||(n.searchValue=""),n.searchLoading=!1,n.visiblePanel=!1,i.hpTimeout=setTimeout(function(){n.isAniVisible=!1},350),t.dispatchEvent("visible-change",{visible:!1},e||null)},changeEvent:function(e,t,n){var i=this,l=i,o=i.$xeForm,a=i.formItemInfo;i.emitModel(t),t!==l.value&&(i.dispatchEvent("change",{value:t,option:n},e),o)&&a&&o.triggerItemEvent(e,a.itemConfig.field,t)},clearValueEvent:function(e,t){this.internalData.remoteValMaps={},this.changeEvent(e,t,null),this.dispatchEvent("clear",{value:t},e)},clearEvent:function(e){e=e.$event;this.clearValueEvent(e,null),this.hideOptionPanel(e)},allCheckedPanelEvent:function(e){var n=this,t=n.reactData,e=e.$event,i=n.multiple,l=n.max,o=n.checkedClosable,a=t.optList,r=n.computeValueField;if(i){for(var s=n.computeSelectVals.slice(0),c=0;c<a.length&&!(()=>{var t=a[c][r];if(n.checkMaxLimit(s))return _ui.VxeUI&&_ui.VxeUI.modal.message({content:(0,_ui.getI18n)("vxe.select.overSizeErr",[l]),status:"warning"}),1;s.some(function(e){return e===t})||s.push(t)})();c++);n.changeEvent(e,s,a[0]),o&&n.hideOptionPanel(e),n.dispatchEvent("all-change",{value:s},e)}},clearCheckedPanelEvent:function(e){var t=this.clearClosable,e=e.$event;this.clearValueEvent(e,null),t&&this.hideOptionPanel(e)},closePanelEvent:function(e){e=e.$event;this.hideOptionPanel(e)},changeOptionEvent:function(e,t){var n=this,i=n.reactData,l=n.multiple,o=n.internalData.remoteValMaps,a=t[n.computeValueField],r=o[a];i.visiblePanel&&(r?r.item=t:o[a]={key:n.getOptId(t),item:t,_index:-1},l?(r=[],o=n.computeSelectVals,r=-1===_xeUtils.default.findIndexOf(o,function(e){return e===a})?o.concat([a]):o.filter(function(e){return e!==a}),n.changeEvent(e,r,t)):(n.changeEvent(e,a,t),n.hideOptionPanel(e)),i.reactFlag++)},handleGlobalMousewheelEvent:function(e){var t=this,n=t.reactData.visiblePanel;t.computeIsDisabled||n&&(n=t.$refs.refOptionPanel,(0,_dom.getEventTargetNode)(e,n).flag?t.updatePlacement():t.hideOptionPanel(e))},handleGlobalMousedownEvent:function(e){var t,n,i=this,l=i.reactData,o=l.visiblePanel,a=i.computePopupOpts.trigger;i.computeIsDisabled||(t=i.$refs.refElem,n=i.$refs.refOptionPanel,l.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,n).flag,o&&!l.isActivated&&"manual"!==a&&i.hideOptionPanel(e))},validOffsetOption:function(e){var t=e.disabled,e=this.getOptId(e);return!t&&!this.hasOptGroupById(e)},findOffsetOption:function(e,t){var n=this,i=n.reactData,l=n.internalData,o=n.allowCreate,i=i.optList,a=l.optFullValMaps,r=l.optAddMaps,s=n.computeValueField,c=l.afterVisibleList,l=0;if(o&&i.length&&(o=i[0],r[i=n.getOptId(o)])&&(l=1,c=[r[i]].concat(c)),!e)if(t)for(var u=0;u<c.length;u++){var p=c[u];if(n.validOffsetOption(p))return p}else for(var f=c.length-1;0<=f;f--){var d=c[f];if(n.validOffsetOption(d))return d}o=0,r=e?a[e[s]]:null;if(-1<(o=r?r._index+l:o))if(t)for(var h=o+1;h<=c.length-1;h++){var v=c[h];if(n.validOffsetOption(v))return v}else if(0<o)for(var m=o-1;0<=m;m--){var g=c[m];if(n.validOffsetOption(g))return g}return null},handleGlobalKeydownEvent:function(e){var t,n,i,l,o,a,r=this,s=r.reactData,c=r.clearable,u=s.visiblePanel,p=s.currentOption,f=r.computePopupOpts.trigger;r.computeIsDisabled||(t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),n=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ENTER),i=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),l=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),o=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN),a=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.DELETE),t&&(s.isActivated=!1),u?i||t?"manual"!==f&&r.hideOptionPanel(e):n?p&&(e.preventDefault(),e.stopPropagation(),r.changeOptionEvent(e,p)):(l||o)&&(e.preventDefault(),u=(u=r.findOffsetOption(p,o))||r.findOffsetOption(null,o))&&(r.setCurrentOption(u),r.handleScrollToOption(u,o)):(l||o||n)&&s.isActivated&&(e.preventDefault(),r.showOptionPanel()),s.isActivated&&a&&c&&r.clearValueEvent(e,null))},handleGlobalBlurEvent:function(e){var t=this.reactData,n=t.visiblePanel,i=t.isActivated,l=this.computePopupOpts.trigger;n&&"manual"!==l&&this.hideOptionPanel(e),i&&(t.isActivated=!1),(n||i)&&(l=this.$refs.refInput)&&l.blur()},handleGlobalResizeEvent:function(){this.reactData.visiblePanel&&this.updatePlacement()},handleFocusSearch:function(){var t=this;t.filterable&&t.$nextTick(function(){var e=t.$refs.refInpSearch;e&&e.focus()})},focusEvent:function(e){var t=this,n=t.reactData,i=t.computePopupOpts.trigger;t.computeIsDisabled||n.visiblePanel||i&&"default"!==i||(n.triggerFocusPanel=!0,t.showOptionPanel(),setTimeout(function(){n.triggerFocusPanel=!1},500)),t.dispatchEvent("focus",{},e)},clickEvent:function(e){var t=this.reactData,n=this.computePopupOpts.trigger;n&&"default"!==n||this.togglePanelEvent(e),this.dispatchEvent("click",{triggerButton:!1,visible:t.visiblePanel},e)},blurEvent:function(e){this.reactData.isActivated=!1,this.dispatchEvent("blur",{},e)},suffixClickEvent:function(e){var t=this.reactData,n=this.computePopupOpts.trigger;n&&"default"!==n&&"icon"!==n||this.togglePanelEvent(e),this.dispatchEvent("click",{triggerButton:!0,visible:t.visiblePanel},e)},modelSearchEvent:function(e){this.reactData.searchValue=e},focusSearchEvent:function(){this.reactData.isActivated=!0},handleSearchEvent:function(){var e=this,t=e.reactData,n=e.value,i=t.searchValue,l=e.computeRemoteOpts,o=l.queryMethod||e.remoteMethod;e.remote&&o&&l.enabled?(t.searchLoading=!0,Promise.resolve(o({$select:e,searchValue:i,value:n})).then(function(){return e.$nextTick()}).catch(function(){return e.$nextTick()}).finally(function(){t.searchLoading=!1,e.handleOption(),e.updateYData()})):(e.handleOption(),e.updateYData())},triggerSearchEvent:_xeUtils.default.debounce(function(){this.handleSearchEvent()},350,{trailing:!0}),togglePanelEvent:function(e){var t=this.reactData,e=e.$event;e.preventDefault(),t.triggerFocusPanel?t.triggerFocusPanel=!1:t.visiblePanel?this.hideOptionPanel(e):this.showOptionPanel()},checkOptionDisabled:function(e,t){return!!t.disabled||!(!this.computeIsMaximize||e)},updateYSpace:function(){var e=this.reactData,t=this.internalData,n=e.scrollYLoad,i=t.scrollYStore;e.bodyHeight=n?t.afterVisibleList.length*i.rowHeight:0,e.topSpaceHeight=n?Math.max(i.startIndex*i.rowHeight,0):0},handleData:function(){var e=this,t=e.reactData,n=e.internalData,i=e.filterable,l=e.allowCreate,o=t.scrollYLoad,a=t.searchValue,r=n.optAddMaps,s=n.scrollYStore,n=n.afterVisibleList,c=e.computeLabelField,u=e.computeValueField,o=o?n.slice(s.startIndex,s.endIndex):n.slice(0);return i&&l&&a&&(o.some(function(e){return e[c]===a})||(s=r[a]||_defineProperty(_defineProperty(_defineProperty({},e.getOptKey(),a),c,a),u,a),r[a]=s,o.unshift(s))),t.optList=o,e.$nextTick()},updateYData:function(){this.handleData(),this.updateYSpace()},computeScrollLoad:function(){var a=this,r=a.reactData,s=a.internalData;return a.$nextTick().then(function(){var e,t=r.scrollYLoad,n=s.scrollYStore,i=a.$refs.refVirtualBody,l=a.computeVirtualYOpts,o=0;(e=i?e||i.children[0]:e)&&(o=e.offsetHeight),o=Math.max(20,o),n.rowHeight=o,t?(i=a.$refs.refVirtualWrapper,e=Math.max(8,i?Math.ceil(i.clientHeight/o):0),t=Math.max(0,Math.min(2,_xeUtils.default.toNumber(l.oSize))),n.offsetSize=t,n.visibleSize=e,n.endIndex=Math.max(n.startIndex,e+t,n.endIndex),a.updateYData()):a.updateYSpace()})},handleScrollToOption:function(e,t){var n,i,l=this.internalData,o=l.optFullValMaps,l=l.scrollYStore,o=o[e[this.computeValueField]];o&&(e=o.key,-1<(o=o._index))&&(n=this.$refs.refVirtualWrapper,e=this.$refs.refOptionPanel.querySelector("[optid='".concat(e,"']")),n)&&(e?(i=n.offsetHeight,t?Math.ceil(e.offsetTop+e.offsetHeight-n.scrollTop)>=i?n.scrollTop=e.offsetTop+e.offsetHeight-i:(e.offsetTop+1<n.scrollTop||e.offsetTop+1>n.scrollTop+n.clientHeight)&&(n.scrollTop=e.offsetTop-1):e.offsetTop+1<n.scrollTop||e.offsetTop+1>n.scrollTop+n.clientHeight?n.scrollTop=e.offsetTop-1:e.offsetTop+e.offsetHeight-n.scrollTop>i&&(n.scrollTop=e.offsetTop+e.offsetHeight-i)):n.scrollTop=t?o*l.rowHeight-n.clientHeight+l.rowHeight:o*l.rowHeight)},scrollTo:function(e,t){var n=this,i=n.reactData,l=n.$refs.refVirtualWrapper;return l&&(_xeUtils.default.isNumber(e)&&(l.scrollLeft=e),_xeUtils.default.isNumber(t))&&(l.scrollTop=t),i.scrollYLoad?new Promise(function(e){setTimeout(function(){n.$nextTick(function(){e()})},50)}):n.$nextTick()},refreshScroll:function(){var e=this,t=e.internalData,n=t.lastScrollLeft,i=t.lastScrollTop;return e.clearScroll().then(function(){if(n||i)return t.lastScrollLeft=0,t.lastScrollTop=0,e.scrollTo(n,i)})},recalculate:function(){var e=this.$refs.refElem;return e&&e.clientWidth&&e.clientHeight?this.computeScrollLoad():Promise.resolve()},loadYData:function(e){var t=this.internalData.scrollYStore,n=t.startIndex,i=t.endIndex,l=t.visibleSize,o=t.offsetSize,e=e.target.scrollTop,e=Math.floor(e/t.rowHeight),a=Math.max(0,e-1-o),o=e+l+o;!(e<=n||i-l-1<=e)||n===a&&i===o||(t.startIndex=a,t.endIndex=o,this.updateYData())},isVMScrollProcess:function(){var e=this.internalData.lastScrollTime;return!!(e&&Date.now()<e+250)},scrollEvent:function(e){var t=this.reactData,n=this.internalData,i=e.target,l=i.scrollTop,i=i.scrollLeft,o=i!==n.lastScrollLeft,a=l!==n.lastScrollTop;n.lastScrollTop=l,n.lastScrollLeft=i,t.scrollYLoad&&this.loadYData(e),n.lastScrollTime=Date.now(),this.dispatchEvent("scroll",{scrollLeft:i,scrollTop:l,isX:o,isY:a},e)},loadData:function(e){var t,n=this,i=n,l=n.reactData,o=n.internalData,a=(n.cacheItemMap(e||[]),i.multiple),r=o.isLoaded,s=o.fullData,c=o.scrollYStore,u=n.computeDefaultOpts,p=n.computeVirtualYOpts,f=n.computeValueField;return Object.assign(c,{startIndex:0,endIndex:1,visibleSize:0}),o.synchData=e||[],l.scrollYLoad=!!p.enabled&&-1<p.gt&&(0===p.gt||p.gt<=s.length),n.handleData(),r||(c=u.selectMode,0<e.length&&_xeUtils.default.eqNull(i.value)&&("all"===c?a?n.$nextTick(function(){n.emitDefaultValue(e.map(function(e){return e[f]}))}):errLog("vxe.error.notConflictProp",["default-config.selectMode=all","multiple=true"]):"first"!==c&&"last"!==c||(t=_xeUtils.default[c](e))&&n.$nextTick(function(){_xeUtils.default.eqNull(i.value)&&n.emitDefaultValue(t[f])}),o.isLoaded=!0)),n.computeScrollLoad().then(function(){n.refreshScroll()})},reloadData:function(e){return this.internalData.isLoaded=!1,this.clearScroll(),this.loadData(e)},clearScroll:function(){var e=this.internalData,t=this.$refs.refVirtualWrapper;return t&&(t.scrollTop=0,t.scrollLeft=0),e.lastScrollTop=0,e.lastScrollLeft=0,this.$nextTick()},hasOptGroupById:function(e){return!!this.internalData.optGroupKeyMaps[e]},renderRadio:function(e,t,n,i,l){var o=this,a=o.computeRadioOpts,r=a.showIcon,a=a.trigger;return n||!1===r?(0,_ui.renderEmptyElement)(o):(r={},a&&"default"!==a||(r.click=function(e){l||n||o.changeOptionEvent(e,t)}),e("div",{key:2,class:["vxe-select-option--radio",{"is--checked":i,"is--disabled":l}],on:r},[e("span",{class:["vxe-radio--icon",i?(0,_ui.getIcon)().RADIO_CHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})]))},renderCheckbox:function(e,t,n,i,l){var o=this,a=o.computeCheckboxOpts,r=a.showIcon,a=a.trigger;return n||!1===r?(0,_ui.renderEmptyElement)(o):(r={},a&&"default"!==a||(r.click=function(e){l||n||o.changeOptionEvent(e,t)}),e("div",{key:3,class:["vxe-select-option--checkbox",{"is--checked":i,"is--disabled":l}],on:r},[e("span",{class:["vxe-checkbox--icon",i?(0,_ui.getIcon)().CHECKBOX_CHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})]))},renderOption:function(v,e){var m=this,t=m.$scopedSlots,g=m.allowCreate,b=m.optionKey,n=m.multiple,O=m.reactData.currentOption,x=m.internalData.optAddMaps,i=m.computeOptionOpts,_=m.computeLabelField,E=m.computeValueField,y=m.computeGroupLabelField,D=m.computeSelectVals,S=m.computeRadioOpts,P=m.computeCheckboxOpts,C=i.useKey,T=i.height,I=t.option,V=m.showCheckbox&&n,L=m.showRadio&&!n;return e.map(function(t,e){var n=t.slots,i=t.className,l=m.getOptId(t),o=t[E],a=m.hasOptGroupById(l),r=!(!g||!x[l]),s=!r&&-1<D.indexOf(o),c=r||!a||isOptionVisible(t),u=!r&&m.checkOptionDisabled(s,t),n=(n?n.default:null)||I,p={option:t,group:a?t:null,$select:m},f="",d=[],h=(V?d.push(m.renderCheckbox(v,t,a,s,u)):L&&d.push(m.renderRadio(v,t,a,s,u)),[]),h=n?m.callSlot(n,p,v):[f=(0,_utils.getFuncText)(t[a?y:_]||o)],n=(d.push(v("div",{key:1,class:"vxe-select-option--label"},h)),{mousedown:function(e){0===e.button&&e.stopPropagation()},mouseenter:function(){u||a||m.isVMScrollProcess()||m.setCurrentOption(t)}});return(V?"option"!==P.trigger:L&&"option"!==S.trigger)||(n.click=function(e){u||a||m.changeOptionEvent(e,t)}),c?v("div",{key:C||b?l:e,class:["vxe-select-option",i?_xeUtils.default.isFunction(i)?i(p):i:"",{"vxe-select-optgroup":a,"is--disabled":u,"is--selected":s,"is--add":r,"is--hover":O&&m.getOptId(O)===l}],attrs:{optid:l,title:f||null},style:T?{height:(0,_dom.toCssUnit)(T)}:void 0,on:n},g?[v("span",{key:1,class:"vxe-select-option--add-label"},d),r?v("span",{key:2,class:"vxe-select-option--add-icon"},[v("i",{class:(0,_ui.getIcon)().SELECT_ADD_OPTION})]):(0,_ui.renderEmptyElement)(m)]:d):(0,_ui.renderEmptyElement)(m)})},renderOpts:function(e){var t=this.reactData,n=t.optList;return t.searchLoading?[e("div",{class:"vxe-select--search-loading"},[e("i",{class:["vxe-select--search-icon",(0,_ui.getIcon)().SELECT_LOADED]}),e("span",{class:"vxe-select--search-text"},(0,_ui.getI18n)("vxe.select.loadingText"))])]:n.length?this.renderOption(e,n):[e("div",{class:"vxe-select--empty-placeholder"},this.emptyText||(0,_ui.getI18n)("vxe.select.emptyText"))]},renderVN:function(e){var t,n=this,i=n,l=n.$scopedSlots,o=n.reactData,a=i.className,r=i.multiple,s=i.loading,c=i.filterable,u=i.showTotalButton,p=i.showCheckedButton,f=i.showClearButton,d=i.showCloseButton,h=o.initialized,v=o.isActivated,m=o.isAniVisible,g=o.optList,b=o.visiblePanel,O=o.bodyHeight,x=o.topSpaceHeight,_=n.computeSize,E=n.computeIsDisabled,y=n.computeSelectLabel,D=n.computeFullLabel,S=n.computeBtnTransfer,P=n.computeInpPlaceholder,C=n.computePopupWrapperStyle,T=l.default,I=l.header,V=l.footer,L=l.prefix,l=n.computePopupOpts.className||i.popupClassName;return n.computeFormReadonly?e("div",{ref:"refElem",class:["vxe-select--readonly",a]},[e("div",{class:"vxe-select-slots",ref:"hideOption"},T?n.callSlot(T,{},e):[]),e("span",{class:"vxe-select-label",attrs:{fullLabel:D}},y)]):(t=n.computeSelectVals,e("div",{ref:"refElem",class:["vxe-select",a?_xeUtils.default.isFunction(a)?a({$select:n}):a:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(_),_),"is--visible",b),"is--disabled",E),"is--filter",c),"is--loading",s),"is--active",v)]},[e("div",{class:"vxe-select-slots",ref:"hideOption"},T?T.call(n,{}):[]),e(_input.default,{ref:"refInput",props:{clearable:i.clearable,placeholder:P,editable:!1,disabled:E,type:"text",prefixIcon:i.prefixIcon,suffixIcon:s?(0,_ui.getIcon)().SELECT_LOADED:b?(0,_ui.getIcon)().SELECT_OPEN:(0,_ui.getIcon)().SELECT_CLOSE,autoFocus:!1,title:D,value:y},on:{clear:n.clearEvent,click:n.clickEvent,focus:n.focusEvent,blur:n.blurEvent,"suffix-click":n.suffixClickEvent},scopedSlots:L?{prefix:function(){return L({})}}:{}}),e("div",{ref:"refOptionPanel",class:["vxe-table--ignore-clear vxe-select--panel",l?_xeUtils.default.isFunction(l)?l({$select:n}):l:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(_),_),"is--transfer",S),"ani--leave",!s&&m),"ani--enter",!s&&b)],attrs:{placement:o.panelPlacement},style:o.panelStyle},h&&(b||m)?[e("div",{class:"vxe-select--panel-wrapper",style:C},[c?e("div",{class:"vxe-select--panel-search"},[e(_input.default,{ref:"refInpSearch",class:"vxe-select-search--input",props:{value:o.searchValue,type:"text",clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.select.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH},on:{"model-value":n.modelSearchEvent,focus:n.focusSearchEvent,change:n.triggerSearchEvent,search:n.triggerSearchEvent}})]):(0,_ui.renderEmptyElement)(n),p&&r||f||I?e("div",{class:"vxe-select--panel-header"},I?n.callSlot(I,{},e):[e("div",{class:"vxe-tree-select--header-button"},[e("div",{class:"vxe-tree-select--header-btns"},[p&&r?e(_button.default,{props:{content:(0,_ui.getI18n)("vxe.select.allChecked"),mode:"text"},on:{click:n.allCheckedPanelEvent}}):(0,_ui.renderEmptyElement)(n),f?e(_button.default,{props:{content:(0,_ui.getI18n)("vxe.select.clear"),mode:"text"},on:{click:n.clearCheckedPanelEvent}}):(0,_ui.renderEmptyElement)(n)])])]):(0,_ui.renderEmptyElement)(n),e("div",{class:"vxe-select--panel-body"},[e("div",{ref:"refVirtualWrapper",class:"vxe-select-option--wrapper",on:{scroll:n.scrollEvent}},[e("div",{class:"vxe-select--y-space",style:{height:O?"".concat(O,"px"):""}}),e("div",{ref:"refVirtualBody",class:"vxe-select--body",style:{transform:"translateY(".concat(x,"px)")}},n.renderOpts(e))])]),V||u||d&&r?e("div",{class:"vxe-select--panel-footer"},V?n.callSlot(V,{},e):[e("div",{class:"vxe-select--footer-button"},[u?e("div",{class:"vxe-select--total-btns"},(0,_ui.getI18n)("vxe.select.total",[t.length,g.length])):(0,_ui.renderEmptyElement)(n),d&&r?e("div",{class:"vxe-select--oper-btns"},[e(_button.default,{props:{content:(0,_ui.getI18n)("vxe.select.close"),mode:"text"},on:{click:n.closePanelEvent}})]):(0,_ui.renderEmptyElement)(n)])]):(0,_ui.renderEmptyElement)(n)])]:[])]))}},watch:{"reactData.staticOptions":function(e){this.loadData(e)},options:function(e){this.loadData(e)},optionGroups:function(e){this.loadData(e)}},created:function(){this.internalData=createInternalData()},mounted:function(){var n=this,i=n;n.$nextTick(function(){var e=i.options,t=i.optionGroups;t?n.loadData(t):e&&n.loadData(e)}),_ui.globalEvents.on(n,"mousewheel",n.handleGlobalMousewheelEvent),_ui.globalEvents.on(n,"mousedown",n.handleGlobalMousedownEvent),_ui.globalEvents.on(n,"keydown",n.handleGlobalKeydownEvent),_ui.globalEvents.on(n,"blur",n.handleGlobalBlurEvent),_ui.globalEvents.on(n,"resize",n.handleGlobalResizeEvent)},beforeDestroy:function(){var e=this,t=e.$refs.refOptionPanel;t&&t.parentNode&&t.parentNode.removeChild(t),_ui.globalEvents.off(e,"mousewheel"),_ui.globalEvents.off(e,"mousedown"),_ui.globalEvents.off(e,"keydown"),_ui.globalEvents.off(e,"blur"),_ui.globalEvents.off(e,"resize")},destroyed:function(){var e=this.reactData,t=this.internalData;_xeUtils.default.assign(e,createReactData()),_xeUtils.default.assign(t,createInternalData())},render:function(e){return this.renderVN(e)}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _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"),_input=_interopRequireDefault(require("../../input/src/input")),_button=_interopRequireDefault(require("../../button/src/button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);n=n.call(e,t||"default");if("object"!=_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}var _createComponentLog=(0,_log.createComponentLog)("select"),errLog=_createComponentLog.errLog;function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}function createReactData(){return{initialized:!1,scrollYLoad:!1,bodyHeight:0,topSpaceHeight:0,optList:[],staticOptions:[],reactFlag:0,currentOption:null,searchValue:"",searchLoading:!1,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}}function createInternalData(){return{synchData:[],fullData:[],afterVisibleList:[],optAddMaps:{},optGroupKeyMaps:{},optFullValMaps:{},remoteValMaps:{},lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},lastScrollTime:0,hpTimeout:void 0}}var _default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeSelect",mixins:[_ui.globalMixins.sizeMixin],model:{prop:"value",event:"modelValue"},props:{value:[String,Number,Boolean,Array],defaultConfig:Object,clearable:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.clearable}},placeholder:String,readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,multiCharOverflow:{type:[Number,String],default:function(){return(0,_ui.getConfig)().select.multiCharOverflow}},prefixIcon:String,allowCreate:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.allowCreate}},placement:String,lazyOptions:Array,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],popupClassName:[String,Function],max:{type:[String,Number],default:null},showRadio:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.showRadio}},radioConfig:Object,showCheckbox:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.showCheckedButton}},checkboxConfig:Object,zIndex:Number,size:{type:String,default:function(){return(0,_ui.getConfig)().select.size||(0,_ui.getConfig)().size}},filterable:Boolean,filterMethod:Function,filterConfig:Object,remote:Boolean,remoteConfig:Object,emptyText:String,checkedClosable:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.checkedClosable}},clearClosable:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.clearClosable}},showCloseButton:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.showCloseButton}},showTotalButton:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.showTotalButton}},showCheckedButton:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.showCheckedButton}},showClearButton:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.showClearButton}},transfer:{type:Boolean,default:null},popupConfig:Object,virtualYConfig:Object,scrollY:Object,remoteMethod:Function,optionId:{type:String,default:function(){return(0,_ui.getConfig)().select.optionId}},optionKey:Boolean},inject:{$xeModal:{default:null},$xeDrawer:{default:null},$xeTable:{default:null},$xeForm:{default:null},formItemInfo:{from:"xeFormItemInfo",default:null}},provide:function(){return{$xeSelect:this}},data:function(){var e=_xeUtils.default.uniqueId(),t=createReactData();return Object.assign(Object.assign({},{}),{xID:e,reactData:t})},computed:Object.assign(Object.assign({},{}),{computeFormReadonly:function(){var e=this.$xeForm,t=this.readonly;return null===t?!!e&&e.readonly:t},computeIsDisabled:function(){var e=this.$xeForm,t=this.disabled;return null===t?!!e&&e.disabled:t},computeBtnTransfer:function(){var e=this,t=e.$xeTable,n=e.$xeModal,i=e.$xeDrawer,l=e.$xeForm,o=e.transfer,e=e.computePopupOpts;if(_xeUtils.default.isBoolean(e.transfer))return e.transfer;if(null===o){e=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(e))return e;if(t||n||i||l)return!0}return o},computeInpPlaceholder:function(){var e=this.placeholder;return(e=e||(0,_ui.getConfig)().select.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")},computeDefaultOpts:function(){return Object.assign({},this.defaultConfig)},computePropsOpts:function(){return Object.assign({},this.optionProps)},computeGroupPropsOpts:function(){return Object.assign({},this.optionGroupProps)},computeLabelField:function(){return this.computePropsOpts.label||"label"},computeValueField:function(){return this.computePropsOpts.value||"value"},computeGroupLabelField:function(){return this.computeGroupPropsOpts.label||"label"},computeGroupOptionsField:function(){return this.computeGroupPropsOpts.options||"options"},computeIsMaximize:function(){var e=this.computeSelectVals;return this.checkMaxLimit(e)},computePopupOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.popupConfig,this.popupConfig)},computeVirtualYOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.virtualYConfig||(0,_ui.getConfig)().select.scrollY,this.virtualYConfig||this.scrollY)},computeRemoteOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.remoteConfig,this.remoteConfig)},computeFilterOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.filterConfig,this.filterConfig)},computeOptionOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.optionConfig,this.optionConfig)},computeRadioOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.radioConfig,this.radioConfig)},computeCheckboxOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.checkboxConfig,this.checkboxConfig)},computeIsGroup:function(){return this.reactData.fullGroupList.some(function(e){return e.options&&e.options.length})},computeMultiMaxCharNum:function(){return _xeUtils.default.toNumber(this.multiCharOverflow)},computePopupWrapperStyle:function(){var e=this.computePopupOpts,t=e.height,e=e.width,n={};return e&&(n.width=(0,_dom.toCssUnit)(e)),t&&(n.height=(0,_dom.toCssUnit)(t),n.maxHeight=(0,_dom.toCssUnit)(t)),n},computeSelectVals:function(){var e=this.value,t=this.multiple,n=[];return _xeUtils.default.isArray(e)?n=e:t?(0,_utils.eqEmptyValue)(e)||(n=-1<"".concat(e).indexOf(",")?"".concat(e).split(","):[e]):n=null==e?[]:[e],n},computeFullLabel:function(){var t=this,e=t.reactData,n=t.remote,e=e.reactFlag,i=t.computeSelectVals;return(n&&e?i.map(function(e){return t.getRemoteSelectLabel(e)}):i.map(function(e){return t.getSelectLabel(e)})).join(", ")},computeSelectLabel:function(){var t=this,e=t.reactData,n=t.remote,i=t.multiple,e=e.reactFlag,l=t.computeMultiMaxCharNum,o=t.computeSelectVals;return n&&e?o.map(function(e){return t.getRemoteSelectLabel(e)}).join(", "):(n=o.map(function(e){return t.getSelectLabel(e)}),i&&0<l&&n.length>l?"".concat(n.slice(0,l),"..."):n.join(", "))}}),methods:{dispatchEvent:function(e,t,n){this.$emit(e,(0,_ui.createEvent)(n,{$select:this},t))},emitModel:function(e){var t=this._events;t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},emitDefaultValue:function(e){this.emitModel(e),this.dispatchEvent("default-change",{value:e},null)},isPanelVisible:function(){return this.reactData.visiblePanel},togglePanel:function(){return this.reactData.visiblePanel?this.hideOptionPanel():this.showOptionPanel(),this.$nextTick()},hidePanel:function(){return this.reactData.visiblePanel&&this.hideOptionPanel(),this.$nextTick()},showPanel:function(){return this.reactData.visiblePanel||this.showOptionPanel(),this.$nextTick()},focus:function(){var e=this.reactData,t=this.$refs.refInput;return t&&t.blur(),e.isActivated=!0,this.$nextTick()},blur:function(){var e=this.reactData,t=this.$refs.refInput;return t&&t.blur(),e.isActivated=!1,this.$nextTick()},callSlot:function(e,t,n){var i=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=i[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,n)):[]},getOptKey:function(){return this.computeOptionOpts.keyField||this.optionId||"_X_OPTION_KEY"},getOptId:function(e){e=e[this.getOptKey()];return e?encodeURIComponent(e):""},checkMaxLimit:function(e){var t=this.multiple,n=this.max;return!(!t||!n)&&e.length>=_xeUtils.default.toNumber(n)},getRemoteSelectLabel:function(t){var e=this.internalData,n=this.lazyOptions,i=e.remoteValMaps,l=this.computeValueField,o=this.computeLabelField,i=i[t]||e.optFullValMaps[t],e=i?i.item:null;if(e)return _xeUtils.default.toValueString(e[o]);if(n){i=n.find(function(e){return e[l]===t});if(i)return i[o]}return t},getSelectLabel:function(t){var e=this,n=e.reactData,i=e.lazyOptions,l=e.internalData.optFullValMaps,o=e.computeValueField,e=e.computeLabelField,n=n.reactFlag?l[t]:null;if(n)return n.item[e];if(i){l=i.find(function(e){return e[o]===t});if(l)return l[e]}return t},getOptkey:function(){return this.computeOptionOpts.keyField||this.optionId||"_X_OPTION_KEY"},getOptid:function(e){e=e[this.getOptkey()];return e?encodeURIComponent(e):""},handleOption:function(){var t=this,e=t.reactData,n=t.internalData,i=t.remote,l=t.value,o=t.filterable,a=e.searchValue,e=n.fullData,r=n.optFullValMaps,s=t.computeLabelField,c=t.computeValueField,u=t.computeFilterOpts.filterMethod||t.filterMethod,p="".concat(a||"").toLowerCase(),f=[];return(f=i?e.filter(isOptionVisible):o&&u?e.filter(function(e){return isOptionVisible(e)&&u({$select:t,group:null,option:e,searchValue:a,value:l})}):o?e.filter(function(e){return isOptionVisible(e)&&(!p||-1<"".concat(e[s]||e[c]).toLowerCase().indexOf(p))}):e.filter(isOptionVisible)).forEach(function(e,t){e=r[e[c]];e&&(e._index=t)}),n.afterVisibleList=f,t.$nextTick()},refreshOption:function(){return this.handleOption(),this.updateYData(),this.$nextTick()},cacheItemMap:function(e){function t(e){u.push(e);var t=n.getOptId(e);t||(t=getOptUniqueId(),e[r]=t),c[e[a]]={key:t,item:e,_index:-1}}var n=this,i=n.reactData,l=n.internalData,o=n.computeGroupOptionsField,a=n.computeValueField,r=n.getOptKey(),s={},c={},u=[];e.forEach(function(e){t(e),e[o]&&(s[e[r]]=e)[o].forEach(t)}),l.fullData=u,l.optGroupKeyMaps=s,l.optFullValMaps=c,i.reactFlag++,n.handleOption()},setCurrentOption:function(e){var t=this.reactData;e&&(t.currentOption=e)},scrollToOption:function(i,l){var o=this;return o.$nextTick().then(function(){var e,t,n;i&&(e=o.$refs.refOptionWrapper,t=o.$refs.refOptionPanel.querySelector("[optid='".concat(o.getOptid(i),"']")),e)&&t&&(n=e.offsetHeight,l?t.offsetTop+t.offsetHeight-e.scrollTop>n&&(e.scrollTop=t.offsetTop+t.offsetHeight-n):(t.offsetTop+5<e.scrollTop||t.offsetTop+5>e.scrollTop+e.clientHeight)&&(e.scrollTop=t.offsetTop-5))})},updateZindex:function(){var e=this.reactData,t=this.computePopupOpts.zIndex||this.zIndex;t?e.panelIndex=_xeUtils.default.toNumber(t):e.panelIndex<(0,_utils.getLastZIndex)()&&(e.panelIndex=(0,_utils.nextZIndex)())},updateZIndex:function(){var e=this.reactData;e.panelIndex<(0,_utils.getLastZIndex)()&&(e.panelIndex=(0,_utils.nextZIndex)())},updatePlacement:function(){function e(){var e=(0,_dom.updatePanelPlacement)(o,a,{placement:s.placement||i,defaultPlacement:s.defaultPlacement,teleportTo:r}),t=Object.assign(e.style,{zIndex:l});n.panelStyle=t,n.panelPlacement=e.placement}var t=this,n=t.reactData,i=t.placement,l=n.panelIndex,o=t.$refs.refElem,a=t.$refs.refOptionPanel,r=t.computeBtnTransfer,s=t.computePopupOpts;return e(),t.$nextTick().then(e)},handleScrollSelect:function(){var l=this,o=l.reactData,a=l.internalData;l.$nextTick(function(){var e=o.isAniVisible,t=o.visiblePanel,n=a.optFullValMaps,i=l.computeSelectVals;i.length&&e&&t&&(e=o.reactFlag?n["".concat(i[0])]:null)&&(o.currentOption=e.item,l.handleScrollToOption(e.item))})},showOptionPanel:function(){var e=this,t=e.reactData,n=e.internalData,i=e.loading,l=e.filterable,o=e.remote,a=n.fullData,r=n.hpTimeout,s=e.computeRemoteOpts,c=e.computeSelectVals,u=e.computePopupOpts;i||e.computeIsDisabled||(r&&(clearTimeout(r),n.hpTimeout=void 0),t.initialized||(t.initialized=!0,i=e.computeBtnTransfer,r=e.$refs.refOptionPanel,i&&r&&(n=u.appendTo,(0,_dom.getPopupContainer)(n).appendChild(r))),t.isActivated=!0,t.isAniVisible=!0,l&&(o&&s.enabled&&(s.autoLoad&&!a.length||a.length&&s.clearOnClose)?e.handleSearchEvent():(e.handleOption(),e.updateYData())),setTimeout(function(){t.visiblePanel=!0,e.handleFocusSearch(),e.recalculate().then(function(){c&&c.length?e.handleScrollSelect():e.refreshScroll()}),e.updatePlacement()},10),setTimeout(function(){e.recalculate().then(function(){return e.refreshScroll()})},100),e.updateZIndex(),e.updatePlacement(),e.dispatchEvent("visible-change",{visible:!0},null))},hideOptionPanel:function(e){var t=this,n=t.reactData,i=t.internalData,l=t.filterable,o=t.computeFilterOpts;t.remote?t.computeRemoteOpts.clearOnClose&&(n.searchValue=""):l&&!o.clearOnClose||(n.searchValue=""),n.searchLoading=!1,n.visiblePanel=!1,i.hpTimeout=setTimeout(function(){n.isAniVisible=!1},350),t.dispatchEvent("visible-change",{visible:!1},e||null)},changeEvent:function(e,t,n){var i=this,l=i,o=i.$xeForm,a=i.formItemInfo;i.emitModel(t),t!==l.value&&(i.dispatchEvent("change",{value:t,option:n},e),o)&&a&&o.triggerItemEvent(e,a.itemConfig.field,t)},clearValueEvent:function(e,t){this.internalData.remoteValMaps={},this.changeEvent(e,t,null),this.dispatchEvent("clear",{value:t},e)},clearEvent:function(e){e=e.$event;this.clearValueEvent(e,null),this.hideOptionPanel(e)},allCheckedPanelEvent:function(e){var n=this,t=n.reactData,e=e.$event,i=n.multiple,l=n.max,o=n.checkedClosable,a=t.optList,r=n.computeValueField;if(i){for(var s=n.computeSelectVals.slice(0),c=0;c<a.length&&!(()=>{var t=a[c][r];if(n.checkMaxLimit(s))return _ui.VxeUI&&_ui.VxeUI.modal.message({content:(0,_ui.getI18n)("vxe.select.overSizeErr",[l]),status:"warning"}),1;s.some(function(e){return e===t})||s.push(t)})();c++);n.changeEvent(e,s,a[0]),o&&n.hideOptionPanel(e),n.dispatchEvent("all-change",{value:s},e)}},clearCheckedPanelEvent:function(e){var t=this.clearClosable,e=e.$event;this.clearValueEvent(e,null),t&&this.hideOptionPanel(e)},closePanelEvent:function(e){e=e.$event;this.hideOptionPanel(e)},changeOptionEvent:function(e,t){var n=this,i=n.reactData,l=n.multiple,o=n.internalData.remoteValMaps,a=t[n.computeValueField],r=o[a];i.visiblePanel&&(r?r.item=t:o[a]={key:n.getOptId(t),item:t,_index:-1},l?(r=[],o=n.computeSelectVals,r=-1===_xeUtils.default.findIndexOf(o,function(e){return e===a})?o.concat([a]):o.filter(function(e){return e!==a}),n.changeEvent(e,r,t)):(n.changeEvent(e,a,t),n.hideOptionPanel(e)),i.reactFlag++)},handleGlobalMousewheelEvent:function(e){var t=this,n=t.reactData.visiblePanel;t.computeIsDisabled||n&&(n=t.$refs.refOptionPanel,(0,_dom.getEventTargetNode)(e,n).flag?t.updatePlacement():t.hideOptionPanel(e))},handleGlobalMousedownEvent:function(e){var t,n,i=this,l=i.reactData,o=l.visiblePanel,a=i.computePopupOpts.trigger;i.computeIsDisabled||(t=i.$refs.refElem,n=i.$refs.refOptionPanel,l.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,n).flag,o&&!l.isActivated&&"manual"!==a&&i.hideOptionPanel(e))},validOffsetOption:function(e){var t=e.disabled,e=this.getOptId(e);return!t&&!this.hasOptGroupById(e)},findOffsetOption:function(e,t){var n=this,i=n.reactData,l=n.internalData,o=n.allowCreate,i=i.optList,a=l.optFullValMaps,r=l.optAddMaps,s=n.computeValueField,c=l.afterVisibleList,l=0;if(o&&i.length&&(o=i[0],r[i=n.getOptId(o)])&&(l=1,c=[r[i]].concat(c)),!e)if(t)for(var u=0;u<c.length;u++){var p=c[u];if(n.validOffsetOption(p))return p}else for(var f=c.length-1;0<=f;f--){var d=c[f];if(n.validOffsetOption(d))return d}o=0,r=e?a[e[s]]:null;if(-1<(o=r?r._index+l:o))if(t)for(var h=o+1;h<=c.length-1;h++){var v=c[h];if(n.validOffsetOption(v))return v}else if(0<o)for(var m=o-1;0<=m;m--){var g=c[m];if(n.validOffsetOption(g))return g}return null},handleGlobalKeydownEvent:function(e){var t,n,i,l,o,a,r=this,s=r.reactData,c=r.clearable,u=s.visiblePanel,p=s.currentOption,f=r.computePopupOpts.trigger;r.computeIsDisabled||(t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),n=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ENTER),i=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),l=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),o=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN),a=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.DELETE),t&&(s.isActivated=!1),u?i||t?"manual"!==f&&r.hideOptionPanel(e):n?p&&(e.preventDefault(),e.stopPropagation(),r.changeOptionEvent(e,p)):(l||o)&&(e.preventDefault(),u=(u=r.findOffsetOption(p,o))||r.findOffsetOption(null,o))&&(r.setCurrentOption(u),r.handleScrollToOption(u,o)):(l||o||n)&&s.isActivated&&(e.preventDefault(),r.showOptionPanel()),s.isActivated&&a&&c&&r.clearValueEvent(e,null))},handleGlobalBlurEvent:function(e){var t=this.reactData,n=t.visiblePanel,i=t.isActivated,l=this.computePopupOpts.trigger;n&&"manual"!==l&&this.hideOptionPanel(e),i&&(t.isActivated=!1),(n||i)&&(l=this.$refs.refInput)&&l.blur()},handleGlobalResizeEvent:function(){this.reactData.visiblePanel&&this.updatePlacement()},handleFocusSearch:function(){var t=this;t.filterable&&t.$nextTick(function(){var e=t.$refs.refInpSearch;e&&e.focus()})},focusEvent:function(e){var t=this,n=t.reactData,i=t.computePopupOpts.trigger;t.computeIsDisabled||n.visiblePanel||i&&"default"!==i||(n.triggerFocusPanel=!0,t.showOptionPanel(),setTimeout(function(){n.triggerFocusPanel=!1},500)),t.dispatchEvent("focus",{},e)},clickEvent:function(e){var t=this.reactData,n=this.computePopupOpts.trigger;n&&"default"!==n||this.togglePanelEvent(e),this.dispatchEvent("click",{triggerButton:!1,visible:t.visiblePanel},e)},blurEvent:function(e){this.reactData.isActivated=!1,this.dispatchEvent("blur",{},e)},suffixClickEvent:function(e){var t=this.reactData,n=this.computePopupOpts.trigger;n&&"default"!==n&&"icon"!==n||this.togglePanelEvent(e),this.dispatchEvent("click",{triggerButton:!0,visible:t.visiblePanel},e)},modelSearchEvent:function(e){this.reactData.searchValue=e},focusSearchEvent:function(){this.reactData.isActivated=!0},handleSearchEvent:function(){var e=this,t=e.reactData,n=e.value,i=t.searchValue,l=e.computeRemoteOpts,o=l.queryMethod||e.remoteMethod;e.remote&&o&&l.enabled?(t.searchLoading=!0,Promise.resolve(o({$select:e,searchValue:i,value:n})).then(function(){return e.$nextTick()}).catch(function(){return e.$nextTick()}).finally(function(){t.searchLoading=!1,e.handleOption(),e.updateYData()})):(e.handleOption(),e.updateYData())},triggerSearchEvent:_xeUtils.default.debounce(function(){this.handleSearchEvent()},350,{trailing:!0}),togglePanelEvent:function(e){var t=this.reactData,e=e.$event;e.preventDefault(),t.triggerFocusPanel?t.triggerFocusPanel=!1:t.visiblePanel?this.hideOptionPanel(e):this.showOptionPanel()},checkOptionDisabled:function(e,t){return!!t.disabled||!(!this.computeIsMaximize||e)},updateYSpace:function(){var e=this.reactData,t=this.internalData,n=e.scrollYLoad,i=t.scrollYStore;e.bodyHeight=n?t.afterVisibleList.length*i.rowHeight:0,e.topSpaceHeight=n?Math.max(i.startIndex*i.rowHeight,0):0},handleData:function(){var e=this,t=e.reactData,n=e.internalData,i=e.filterable,l=e.allowCreate,o=t.scrollYLoad,a=t.searchValue,r=n.optAddMaps,s=n.scrollYStore,n=n.afterVisibleList,c=e.computeLabelField,u=e.computeValueField,o=o?n.slice(s.startIndex,s.endIndex):n.slice(0);return i&&l&&a&&(o.some(function(e){return e[c]===a})||(s=r[a]||_defineProperty(_defineProperty(_defineProperty({},e.getOptKey(),a),c,a),u,a),r[a]=s,o.unshift(s))),t.optList=o,e.$nextTick()},updateYData:function(){this.handleData(),this.updateYSpace()},computeScrollLoad:function(){var a=this,r=a.reactData,s=a.internalData;return a.$nextTick().then(function(){var e,t=r.scrollYLoad,n=s.scrollYStore,i=a.$refs.refVirtualBody,l=a.computeVirtualYOpts,o=0;(e=i?e||i.children[0]:e)&&(o=e.offsetHeight),o=Math.max(20,o),n.rowHeight=o,t?(i=a.$refs.refVirtualWrapper,e=Math.max(8,i?Math.ceil(i.clientHeight/o):0),t=Math.max(0,Math.min(2,_xeUtils.default.toNumber(l.oSize))),n.offsetSize=t,n.visibleSize=e,n.endIndex=Math.max(n.startIndex,e+t,n.endIndex),a.updateYData()):a.updateYSpace()})},handleScrollToOption:function(e,t){var n,i,l=this.internalData,o=l.optFullValMaps,l=l.scrollYStore,o=o[e[this.computeValueField]];o&&(e=o.key,-1<(o=o._index))&&(n=this.$refs.refVirtualWrapper,e=this.$refs.refOptionPanel.querySelector("[optid='".concat(e,"']")),n)&&(e?(i=n.offsetHeight,t?Math.ceil(e.offsetTop+e.offsetHeight-n.scrollTop)>=i?n.scrollTop=e.offsetTop+e.offsetHeight-i:(e.offsetTop+1<n.scrollTop||e.offsetTop+1>n.scrollTop+n.clientHeight)&&(n.scrollTop=e.offsetTop-1):e.offsetTop+1<n.scrollTop||e.offsetTop+1>n.scrollTop+n.clientHeight?n.scrollTop=e.offsetTop-1:e.offsetTop+e.offsetHeight-n.scrollTop>i&&(n.scrollTop=e.offsetTop+e.offsetHeight-i)):n.scrollTop=t?o*l.rowHeight-n.clientHeight+l.rowHeight:o*l.rowHeight)},scrollTo:function(e,t){var n=this,i=n.reactData,l=n.$refs.refVirtualWrapper;return l&&(_xeUtils.default.isNumber(e)&&(l.scrollLeft=e),_xeUtils.default.isNumber(t))&&(l.scrollTop=t),i.scrollYLoad?new Promise(function(e){setTimeout(function(){n.$nextTick(function(){e()})},50)}):n.$nextTick()},refreshScroll:function(){var e=this,t=e.internalData,n=t.lastScrollLeft,i=t.lastScrollTop;return e.clearScroll().then(function(){if(n||i)return t.lastScrollLeft=0,t.lastScrollTop=0,e.scrollTo(n,i)})},recalculate:function(){var e=this.$refs.refElem;return e&&e.clientWidth&&e.clientHeight?this.computeScrollLoad():Promise.resolve()},loadYData:function(e){var t=this.internalData.scrollYStore,n=t.startIndex,i=t.endIndex,l=t.visibleSize,o=t.offsetSize,e=e.target.scrollTop,e=Math.floor(e/t.rowHeight),a=Math.max(0,e-1-o),o=e+l+o;!(e<=n||i-l-1<=e)||n===a&&i===o||(t.startIndex=a,t.endIndex=o,this.updateYData())},isVMScrollProcess:function(){var e=this.internalData.lastScrollTime;return!!(e&&Date.now()<e+250)},scrollEvent:function(e){var t=this.reactData,n=this.internalData,i=e.target,l=i.scrollTop,i=i.scrollLeft,o=i!==n.lastScrollLeft,a=l!==n.lastScrollTop;n.lastScrollTop=l,n.lastScrollLeft=i,t.scrollYLoad&&this.loadYData(e),n.lastScrollTime=Date.now(),this.dispatchEvent("scroll",{scrollLeft:i,scrollTop:l,isX:o,isY:a},e)},loadData:function(e){var t,n=this,i=n,l=n.reactData,o=n.internalData,a=(n.cacheItemMap(e||[]),i.multiple),r=o.isLoaded,s=o.fullData,c=o.scrollYStore,u=n.computeDefaultOpts,p=n.computeVirtualYOpts,f=n.computeValueField;return Object.assign(c,{startIndex:0,endIndex:1,visibleSize:0}),o.synchData=e||[],l.scrollYLoad=!!p.enabled&&-1<p.gt&&(0===p.gt||p.gt<=s.length),n.handleData(),r||(c=u.selectMode,0<e.length&&_xeUtils.default.eqNull(i.value)&&("all"===c?a?n.$nextTick(function(){n.emitDefaultValue(e.map(function(e){return e[f]}))}):errLog("vxe.error.notConflictProp",["default-config.selectMode=all","multiple=true"]):"first"!==c&&"last"!==c||(t=_xeUtils.default[c](e))&&n.$nextTick(function(){_xeUtils.default.eqNull(i.value)&&n.emitDefaultValue(t[f])}),o.isLoaded=!0)),n.computeScrollLoad().then(function(){n.refreshScroll()})},reloadData:function(e){return this.internalData.isLoaded=!1,this.clearScroll(),this.loadData(e)},clearScroll:function(){var e=this.internalData,t=this.$refs.refVirtualWrapper;return t&&(t.scrollTop=0,t.scrollLeft=0),e.lastScrollTop=0,e.lastScrollLeft=0,this.$nextTick()},hasOptGroupById:function(e){return!!this.internalData.optGroupKeyMaps[e]},renderRadio:function(e,t,n,i,l){var o=this,a=o.computeRadioOpts,r=a.showIcon,a=a.trigger;return n||!1===r?(0,_ui.renderEmptyElement)(o):(r={},a&&"default"!==a||(r.click=function(e){l||n||o.changeOptionEvent(e,t)}),e("div",{key:2,class:["vxe-select-option--radio",{"is--checked":i,"is--disabled":l}],on:r},[e("span",{class:["vxe-radio--icon",i?(0,_ui.getIcon)().RADIO_CHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})]))},renderCheckbox:function(e,t,n,i,l){var o=this,a=o.computeCheckboxOpts,r=a.showIcon,a=a.trigger;return n||!1===r?(0,_ui.renderEmptyElement)(o):(r={},a&&"default"!==a||(r.click=function(e){l||n||o.changeOptionEvent(e,t)}),e("div",{key:3,class:["vxe-select-option--checkbox",{"is--checked":i,"is--disabled":l}],on:r},[e("span",{class:["vxe-checkbox--icon",i?(0,_ui.getIcon)().CHECKBOX_CHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})]))},renderOption:function(v,e){var m=this,t=m.$scopedSlots,g=m.allowCreate,b=m.optionKey,n=m.multiple,O=m.reactData.currentOption,x=m.internalData.optAddMaps,i=m.computeOptionOpts,_=m.computeLabelField,E=m.computeValueField,y=m.computeGroupLabelField,D=m.computeSelectVals,S=m.computeRadioOpts,P=m.computeCheckboxOpts,C=i.useKey,T=i.height,I=t.option,V=m.showCheckbox&&n,L=m.showRadio&&!n;return e.map(function(t,e){var n=t.slots,i=t.className,l=m.getOptId(t),o=t[E],a=m.hasOptGroupById(l),r=!(!g||!x[l]),s=!r&&-1<D.indexOf(o),c=r||!a||isOptionVisible(t),u=!r&&m.checkOptionDisabled(s,t),n=(n?n.default:null)||I,p={option:t,group:a?t:null,$select:m},f="",d=[],h=(V?d.push(m.renderCheckbox(v,t,a,s,u)):L&&d.push(m.renderRadio(v,t,a,s,u)),[]),h=n?m.callSlot(n,p,v):[f=(0,_utils.getFuncText)(t[a?y:_]||o)],n=(d.push(v("div",{key:1,class:"vxe-select-option--label"},h)),{mousedown:function(e){0===e.button&&e.stopPropagation()},mouseenter:function(){u||a||m.isVMScrollProcess()||m.setCurrentOption(t)}});return(V?"option"!==P.trigger:L&&"option"!==S.trigger)||(n.click=function(e){u||a||m.changeOptionEvent(e,t)}),c?v("div",{key:C||b?l:e,class:["vxe-select-option",i?_xeUtils.default.isFunction(i)?i(p):i:"",{"vxe-select-optgroup":a,"is--disabled":u,"is--selected":s,"is--add":r,"is--hover":O&&m.getOptId(O)===l}],attrs:{optid:l,title:f||null},style:T?{height:(0,_dom.toCssUnit)(T)}:void 0,on:n},g?[v("span",{key:1,class:"vxe-select-option--add-label"},d),r?v("span",{key:2,class:"vxe-select-option--add-icon"},[v("i",{class:(0,_ui.getIcon)().SELECT_ADD_OPTION})]):(0,_ui.renderEmptyElement)(m)]:d):(0,_ui.renderEmptyElement)(m)})},renderOpts:function(e){var t=this.reactData,n=t.optList;return t.searchLoading?[e("div",{class:"vxe-select--search-loading"},[e("i",{class:["vxe-select--search-icon",(0,_ui.getIcon)().SELECT_LOADED]}),e("span",{class:"vxe-select--search-text"},(0,_ui.getI18n)("vxe.select.loadingText"))])]:n.length?this.renderOption(e,n):[e("div",{class:"vxe-select--empty-placeholder"},this.emptyText||(0,_ui.getI18n)("vxe.select.emptyText"))]},renderVN:function(e){var t,n=this,i=n,l=n.$scopedSlots,o=n.reactData,a=i.className,r=i.multiple,s=i.loading,c=i.filterable,u=i.showTotalButton,p=i.showCheckedButton,f=i.showClearButton,d=i.showCloseButton,h=o.initialized,v=o.isActivated,m=o.isAniVisible,g=o.optList,b=o.visiblePanel,O=o.bodyHeight,x=o.topSpaceHeight,_=n.computeSize,E=n.computeIsDisabled,y=n.computeSelectLabel,D=n.computeFullLabel,S=n.computeBtnTransfer,P=n.computeInpPlaceholder,C=n.computePopupWrapperStyle,T=l.default,I=l.header,V=l.footer,L=l.prefix,l=n.computePopupOpts.className||i.popupClassName;return n.computeFormReadonly?e("div",{ref:"refElem",class:["vxe-select--readonly",a]},[e("div",{class:"vxe-select-slots",ref:"hideOption"},T?n.callSlot(T,{},e):[]),e("span",{class:"vxe-select-label",attrs:{fullLabel:D}},y)]):(t=n.computeSelectVals,e("div",{ref:"refElem",class:["vxe-select",a?_xeUtils.default.isFunction(a)?a({$select:n}):a:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(_),_),"is--visible",b),"is--disabled",E),"is--filter",c),"is--loading",s),"is--active",v)]},[e("div",{class:"vxe-select-slots",ref:"hideOption"},T?T.call(n,{}):[]),e(_input.default,{ref:"refInput",props:{clearable:i.clearable,placeholder:P,editable:!1,disabled:E,type:"text",prefixIcon:i.prefixIcon,suffixIcon:s?(0,_ui.getIcon)().SELECT_LOADED:b?(0,_ui.getIcon)().SELECT_OPEN:(0,_ui.getIcon)().SELECT_CLOSE,autoFocus:!1,title:D,value:y},on:{clear:n.clearEvent,click:n.clickEvent,focus:n.focusEvent,blur:n.blurEvent,"suffix-click":n.suffixClickEvent},scopedSlots:L?{prefix:function(){return L({})}}:{}}),e("div",{ref:"refOptionPanel",class:["vxe-table--ignore-clear vxe-select--panel",l?_xeUtils.default.isFunction(l)?l({$select:n}):l:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(_),_),"is--transfer",S),"ani--leave",!s&&m),"ani--enter",!s&&b)],attrs:{placement:o.panelPlacement},style:o.panelStyle},h&&(b||m)?[e("div",{class:"vxe-select--panel-wrapper",style:C},[c?e("div",{class:"vxe-select--panel-search"},[e(_input.default,{ref:"refInpSearch",class:"vxe-select-search--input",props:{value:o.searchValue,type:"text",clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.select.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH},on:{"model-value":n.modelSearchEvent,focus:n.focusSearchEvent,change:n.triggerSearchEvent,search:n.triggerSearchEvent}})]):(0,_ui.renderEmptyElement)(n),p&&r||f||I?e("div",{class:"vxe-select--panel-header"},I?n.callSlot(I,{},e):[e("div",{class:"vxe-tree-select--header-button"},[e("div",{class:"vxe-tree-select--header-btns"},[p&&r?e(_button.default,{props:{content:(0,_ui.getI18n)("vxe.select.allChecked"),mode:"text"},on:{click:n.allCheckedPanelEvent}}):(0,_ui.renderEmptyElement)(n),f?e(_button.default,{props:{content:(0,_ui.getI18n)("vxe.select.clear"),mode:"text"},on:{click:n.clearCheckedPanelEvent}}):(0,_ui.renderEmptyElement)(n)])])]):(0,_ui.renderEmptyElement)(n),e("div",{class:"vxe-select--panel-body"},[e("div",{ref:"refVirtualWrapper",class:"vxe-select-option--wrapper",on:{scroll:n.scrollEvent}},[e("div",{class:"vxe-select--y-space",style:{height:O?"".concat(O,"px"):""}}),e("div",{ref:"refVirtualBody",class:"vxe-select--body",style:{transform:"translateY(".concat(x,"px)")}},n.renderOpts(e))])]),V||u||d&&r?e("div",{class:"vxe-select--panel-footer"},V?n.callSlot(V,{},e):[e("div",{class:"vxe-select--footer-button"},[u?e("div",{class:"vxe-select--total-btns"},(0,_ui.getI18n)("vxe.select.total",[t.length,g.length])):(0,_ui.renderEmptyElement)(n),d&&r?e("div",{class:"vxe-select--oper-btns"},[e(_button.default,{props:{content:(0,_ui.getI18n)("vxe.select.close"),mode:"text"},on:{click:n.closePanelEvent}})]):(0,_ui.renderEmptyElement)(n)])]):(0,_ui.renderEmptyElement)(n)])]:[])]))}},watch:{"reactData.staticOptions":function(e){this.loadData(e)},options:function(e){this.loadData(e)},optionGroups:function(e){this.loadData(e)}},created:function(){this.internalData=createInternalData()},mounted:function(){var n=this,i=n;n.$nextTick(function(){var e=i.options,t=i.optionGroups;t?n.loadData(t):e&&n.loadData(e)}),_ui.globalEvents.on(n,"mousewheel",n.handleGlobalMousewheelEvent),_ui.globalEvents.on(n,"mousedown",n.handleGlobalMousedownEvent),_ui.globalEvents.on(n,"keydown",n.handleGlobalKeydownEvent),_ui.globalEvents.on(n,"blur",n.handleGlobalBlurEvent),_ui.globalEvents.on(n,"resize",n.handleGlobalResizeEvent)},beforeDestroy:function(){var e=this,t=e.$refs.refOptionPanel;t&&t.parentNode&&t.parentNode.removeChild(t),_ui.globalEvents.off(e,"mousewheel"),_ui.globalEvents.off(e,"mousedown"),_ui.globalEvents.off(e,"keydown"),_ui.globalEvents.off(e,"blur"),_ui.globalEvents.off(e,"resize")},destroyed:function(){var e=this.reactData,t=this.internalData;_xeUtils.default.assign(e,createReactData()),_xeUtils.default.assign(t,createInternalData())},render:function(e){return this.renderVN(e)}});
|