vxe-pc-ui 3.20.5 → 3.20.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/es/button/src/button.js +1 -0
  2. package/es/cascader/src/cascader.js +1 -0
  3. package/es/color-picker/src/color-picker.js +1 -0
  4. package/es/date-picker/src/date-picker.js +1 -0
  5. package/es/date-range-picker/src/date-range-picker.js +1 -0
  6. package/es/icon/style.css +1 -1
  7. package/es/icon-picker/src/icon-picker.js +1 -0
  8. package/es/pulldown/src/pulldown.js +1 -0
  9. package/es/select/src/select.js +1 -0
  10. package/es/style.css +1 -1
  11. package/es/style.min.css +1 -1
  12. package/es/table-select/src/table-select.js +1 -0
  13. package/es/tooltip/src/tooltip.js +2 -1
  14. package/es/tree-select/src/tree-select.js +1 -0
  15. package/es/ui/index.js +1 -1
  16. package/es/ui/src/dom.js +11 -8
  17. package/es/ui/src/log.js +1 -1
  18. package/lib/button/src/button.js +1 -0
  19. package/lib/button/src/button.min.js +1 -1
  20. package/lib/cascader/src/cascader.js +1 -0
  21. package/lib/cascader/src/cascader.min.js +1 -1
  22. package/lib/color-picker/src/color-picker.js +1 -0
  23. package/lib/color-picker/src/color-picker.min.js +1 -1
  24. package/lib/date-picker/src/date-picker.js +1 -0
  25. package/lib/date-picker/src/date-picker.min.js +1 -1
  26. package/lib/date-range-picker/src/date-range-picker.js +1 -0
  27. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  28. package/lib/icon/style/style.css +1 -1
  29. package/lib/icon/style/style.min.css +1 -1
  30. package/lib/icon-picker/src/icon-picker.js +1 -0
  31. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  32. package/lib/index.umd.js +25 -9
  33. package/lib/index.umd.min.js +1 -1
  34. package/lib/pulldown/src/pulldown.js +1 -0
  35. package/lib/pulldown/src/pulldown.min.js +1 -1
  36. package/lib/select/src/select.js +1 -0
  37. package/lib/select/src/select.min.js +1 -1
  38. package/lib/style.css +1 -1
  39. package/lib/style.min.css +1 -1
  40. package/lib/table-select/src/table-select.js +1 -0
  41. package/lib/table-select/src/table-select.min.js +1 -1
  42. package/lib/tooltip/src/tooltip.js +2 -0
  43. package/lib/tooltip/src/tooltip.min.js +1 -1
  44. package/lib/tree-select/src/tree-select.js +1 -0
  45. package/lib/tree-select/src/tree-select.min.js +1 -1
  46. package/lib/ui/index.js +1 -1
  47. package/lib/ui/index.min.js +1 -1
  48. package/lib/ui/src/dom.js +11 -7
  49. package/lib/ui/src/dom.min.js +1 -1
  50. package/lib/ui/src/log.js +1 -1
  51. package/lib/ui/src/log.min.js +1 -1
  52. package/package.json +2 -2
  53. package/packages/button/src/button.ts +2 -1
  54. package/packages/cascader/src/cascader.ts +1 -0
  55. package/packages/color-picker/src/color-picker.ts +1 -0
  56. package/packages/date-picker/src/date-picker.ts +1 -0
  57. package/packages/date-range-picker/src/date-range-picker.ts +1 -0
  58. package/packages/icon-picker/src/icon-picker.ts +1 -0
  59. package/packages/pulldown/src/pulldown.ts +1 -0
  60. package/packages/select/src/select.ts +1 -0
  61. package/packages/table-select/src/table-select.ts +1 -0
  62. package/packages/tooltip/src/tooltip.ts +2 -1
  63. package/packages/tree-select/src/tree-select.ts +1 -0
  64. package/packages/ui/src/dom.ts +12 -8
  65. package/types/components/button.d.ts +4 -0
  66. package/types/components/cascader.d.ts +4 -0
  67. /package/es/icon/{iconfont.1792048654011.ttf → iconfont.1792054426799.ttf} +0 -0
  68. /package/es/icon/{iconfont.1792048654011.woff → iconfont.1792054426799.woff} +0 -0
  69. /package/es/icon/{iconfont.1792048654011.woff2 → iconfont.1792054426799.woff2} +0 -0
  70. /package/es/{iconfont.1792048654011.ttf → iconfont.1792054426799.ttf} +0 -0
  71. /package/es/{iconfont.1792048654011.woff → iconfont.1792054426799.woff} +0 -0
  72. /package/es/{iconfont.1792048654011.woff2 → iconfont.1792054426799.woff2} +0 -0
  73. /package/lib/icon/style/{iconfont.1792048654011.ttf → iconfont.1792054426799.ttf} +0 -0
  74. /package/lib/icon/style/{iconfont.1792048654011.woff → iconfont.1792054426799.woff} +0 -0
  75. /package/lib/icon/style/{iconfont.1792048654011.woff2 → iconfont.1792054426799.woff2} +0 -0
  76. /package/lib/{iconfont.1792048654011.ttf → iconfont.1792054426799.ttf} +0 -0
  77. /package/lib/{iconfont.1792048654011.woff → iconfont.1792054426799.woff} +0 -0
  78. /package/lib/{iconfont.1792048654011.woff2 → iconfont.1792054426799.woff2} +0 -0
@@ -431,6 +431,7 @@ export default {
431
431
  const ppObj = updatePanelPlacement(targetElem, panelElem, {
432
432
  placement: popupOpts.placement || placement,
433
433
  defaultPlacement: popupOpts.defaultPlacement,
434
+ appendTo: popupOpts.appendTo,
434
435
  teleportTo: btnTransfer
435
436
  });
436
437
  const panelStyle = Object.assign(ppObj.style, {
@@ -211,7 +211,7 @@ export default {
211
211
  const $xeTooltip = this;
212
212
  const props = $xeTooltip;
213
213
  const reactData = $xeTooltip.reactData;
214
- const { placement, defaultPlacement, isArrow } = props;
214
+ const { placement, defaultPlacement, appendTo, isArrow } = props;
215
215
  const { tipTarget: targetElem, tipStore, tipPos, tipZindex } = reactData;
216
216
  const panelElem = $xeTooltip.$refs.refElem;
217
217
  if (!targetElem || !panelElem) {
@@ -242,6 +242,7 @@ export default {
242
242
  defaultLeft: left,
243
243
  placement: placement,
244
244
  defaultPlacement: defaultPlacement,
245
+ appendTo: appendTo,
245
246
  isMinWidth: false,
246
247
  teleportTo: true
247
248
  });
@@ -516,6 +516,7 @@ export default {
516
516
  isMinWidth: !popupOpts.width,
517
517
  placement: popupOpts.placement || placement,
518
518
  defaultPlacement: popupOpts.defaultPlacement,
519
+ appendTo: popupOpts.appendTo,
519
520
  teleportTo: btnTransfer
520
521
  });
521
522
  const panelStyle = Object.assign(ppObj.style, {
package/es/ui/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { VxeUI, setConfig, setIcon } from '@vxe-ui/core';
2
2
  import { dynamicApp } from '../dynamics';
3
3
  import { warnLog } from './src/log';
4
- export const version = "3.20.5";
4
+ export const version = "3.20.6";
5
5
  VxeUI.uiVersion = version;
6
6
  VxeUI.dynamicApp = dynamicApp;
7
7
  export function config(options) {
package/es/ui/src/dom.js CHANGED
@@ -155,7 +155,8 @@ export function isNodeElement(elem) {
155
155
  * 通用定位计算
156
156
  */
157
157
  export function updatePanelPlacement(targetElem, panelElem, options) {
158
- const { defaultTop, defaultLeft, placement, defaultPlacement, teleportTo, marginSize, isMinWidth } = Object.assign({
158
+ const { defaultTop, defaultLeft, placement, defaultPlacement, appendTo, teleportTo, marginSize, isMinWidth } = Object.assign({
159
+ appendTo: '',
159
160
  teleportTo: false,
160
161
  marginSize: 18,
161
162
  isMinWidth: true
@@ -169,7 +170,7 @@ export function updatePanelPlacement(targetElem, panelElem, options) {
169
170
  const stys = {};
170
171
  if (panelElem && targetElem) {
171
172
  const bodyEl = document.body;
172
- const parentWrapperEl = getPopupWrapperElement(panelElem);
173
+ const parentWrapperEl = getPopupWrapperElement(teleportTo ? getPopupAppendElement(appendTo) : panelElem);
173
174
  if (parentWrapperEl) {
174
175
  const targetWidth = targetElem.offsetWidth;
175
176
  const targetHeight = targetElem.offsetHeight;
@@ -180,14 +181,16 @@ export function updatePanelPlacement(targetElem, panelElem, options) {
180
181
  const targetRect = targetElem.getBoundingClientRect();
181
182
  const visibleHeight = bodyEl.clientHeight;
182
183
  const visibleWidth = bodyEl.clientWidth;
183
- const offsetLeft = parentWrapperRect.left;
184
- const offsetTop = parentWrapperRect.top;
184
+ const parentWrapperScrollLeft = parentWrapperEl.scrollLeft;
185
+ const parentWrapperScrollTop = parentWrapperEl.scrollTop;
186
+ const parentWrapperOffsetLeft = parentWrapperRect.left;
187
+ const parentWrapperOffsetTop = parentWrapperRect.top;
185
188
  const targetLeft = targetRect.left;
186
189
  const targetTop = targetRect.top;
187
190
  minWidth = targetElem.offsetWidth;
188
191
  if (teleportTo) {
189
- left = defaultLeft || (targetLeft - (panelWidth - targetWidth) / 2);
190
- top = defaultTop || (targetTop + targetHeight);
192
+ left = (defaultLeft || (targetLeft - (panelWidth - targetWidth) / 2)) - parentWrapperScrollLeft;
193
+ top = (defaultTop || (targetTop + targetHeight)) - parentWrapperScrollTop;
191
194
  if (placement === 'top') {
192
195
  panelPlacement = 'top';
193
196
  top = targetTop - panelHeight;
@@ -231,8 +234,8 @@ export function updatePanelPlacement(targetElem, panelElem, options) {
231
234
  left = marginSize;
232
235
  }
233
236
  // 偏移
234
- top -= offsetTop;
235
- left -= offsetLeft;
237
+ top -= parentWrapperOffsetTop;
238
+ left -= parentWrapperOffsetLeft;
236
239
  }
237
240
  else {
238
241
  if (placement === 'top') {
package/es/ui/src/log.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const uiVersion = `ui v${"3.20.5"}`;
3
+ const uiVersion = `ui v${"3.20.6"}`;
4
4
  export function createComponentLog(name) {
5
5
  const tableVersion = VxeUI.tableVersion ? `table v${VxeUI.tableVersion}` : '';
6
6
  const ganttVersion = VxeUI.ganttVersion ? `gantt v${VxeUI.ganttVersion}` : '';
@@ -426,6 +426,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
426
426
  var ppObj = (0, _dom.updatePanelPlacement)(targetElem, panelElem, {
427
427
  placement: popupOpts.placement || placement,
428
428
  defaultPlacement: popupOpts.defaultPlacement,
429
+ appendTo: popupOpts.appendTo,
429
430
  teleportTo: btnTransfer
430
431
  });
431
432
  var panelStyle = Object.assign(ppObj.style, {
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_comp=require("../../ui/src/comp"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_tooltip=_interopRequireDefault(require("../../tooltip"));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)("button"),warnLog=_createComponentLog.warnLog,_default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeButton",mixins:[_ui.globalMixins.sizeMixin,_ui.globalMixins.permissionMixin],props:{type:String,mode:String,className:[String,Function],popupClassName:[String,Function],size:{type:String,default:function(){return(0,_ui.getConfig)().button.size||(0,_ui.getConfig)().size}},zIndex:Number,name:[String,Number],routerLink:Object,permissionCode:[String,Number],content:String,placement:String,status:String,title:String,shadow:Boolean,icon:String,iconRender:Object,prefixIcon:String,prefixRender:Object,suffixIcon:String,suffixRender:Object,round:Boolean,circle:Boolean,disabled:Boolean,loading:Boolean,trigger:{type:String,default:function(){return(0,_ui.getConfig)().button.trigger}},align:String,prefixTooltip:Object,suffixTooltip:Object,options:Array,showDropdownIcon:{type:Boolean,default:function(){return(0,_ui.getConfig)().button.showDropdownIcon}},dropdownCloseIcon:{type:String,default:function(){return(0,_ui.getConfig)().button.dropdownCloseIcon}},dropdownOpenIcon:{type:String,default:function(){return(0,_ui.getConfig)().button.dropdownOpenIcon}},destroyOnClose:{type:Boolean,default:function(){return(0,_ui.getConfig)().button.destroyOnClose}},popupConfig:Object,transfer:{type:Boolean,default:null}},inject:{$xeModal:{default:null},$xeDrawer:{default:null},$xeTable:{default:null},$xeTree:{default:null},$xeForm:{default:null},$xeButtonGroup:{default:null}},data:function(){var e={showTime:void 0};return{xID:_xeUtils.default.uniqueId(),reactData:{initialized:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,panelIndex:0,panelStyle:{},panelPlacement:""},internalData:e}},computed:Object.assign(Object.assign({},{}),{computeBtnTransfer:function(){var e=this,t=e.$xeGrid,n=e.$xeTable,o=e.$xeTree,i=e.$xeModal,r=e.$xeDrawer,u=e.$xeForm,s=e.transfer,e=e.computePopupOpts;if(_xeUtils.default.isBoolean(e.transfer))return e.transfer;if(null===s){e=(0,_ui.getConfig)().button.transfer;if(_xeUtils.default.isBoolean(e))return e;if(t||n||o||i||r||u)return!0}return s},computeBtnDisabled:function(){var e=this.disabled,t=this.computePermissionInfo;return e||t.disabled},computeIsFormBtn:function(){var e=this.type;return!!e&&-1<["submit","reset","button"].indexOf(e)},computeBtnMode:function(){var e=this.type,t=this.mode,n=this.$xeButtonGroup;return"text"===t||"text"===e||n&&"text"===n.mode?"text":"button"},computeBtnStatus:function(){var e=this.status,t=this.$xeButtonGroup;return e||(t?t.status:"")},computeBtnRound:function(){var e=this.round,t=this.$xeButtonGroup;return e||!!t&&t.round},computeBtnAlign:function(){var e=this.align,t=this.$xeButtonGroup;return e||!!t&&t.align},computeBtnCircle:function(){var e=this.circle,t=this.$xeButtonGroup;return e||!!t&&t.circle},computeDownBtnList:function(){var e=this.options;return e?e.filter(function(e){e=e.permissionCode;return!e||_ui.permission.checkVisible(e)}):[]},computePopupOpts:function(){return Object.assign({},(0,_ui.getConfig)().button.popupConfig,this.popupConfig)},computePrefixTipOpts:function(){return Object.assign({},(0,_ui.getConfig)().button.prefixTooltip,this.prefixTooltip)},computeSuffixTipOpts:function(){return Object.assign({},(0,_ui.getConfig)().button.suffixTooltip,this.suffixTooltip)}}),methods:{dispatchEvent:function(e,t,n){this.$emit((0,_vn.getEventCaseName)(this,e),(0,_ui.createEvent)(n,{$button:this},t))},openPanel:function(){var e=this,t=e.reactData,n=e.internalData,o=e.trigger,i=e.computeBtnTransfer,r=e.computePopupOpts,u=e.$refs.refBtnPanel;return u&&(u.dataset.active="Y",t.initialized||(t.initialized=!0,i&&(i=r.appendTo,(0,_dom.getPopupAppendElement)(i).appendChild(u))),n.showTime=setTimeout(function(){"Y"===u.dataset.active?e.mouseenterDropdownEvent():t.isAniVisible=!1},"click"===o?50:250)),e.$nextTick()},closePanel:function(){return this.hidePanel()},hidePanel:function(){var e=this.reactData,t=this.internalData,n=this.$refs.refBtnPanel;return clearTimeout(t.showTime),n?(n.dataset.active="N",setTimeout(function(){"Y"!==n.dataset.active&&(e.visiblePanel=!1,setTimeout(function(){"Y"!==n.dataset.active&&(e.isAniVisible=!1)},350))},100)):(e.isAniVisible=!1,e.visiblePanel=!1),this.$nextTick()},focus:function(){var e=this.$refs.refButton;return e&&e.focus(),this.$nextTick()},blur:function(){var e=this.$refs.refButton;return e&&e.blur(),this.$nextTick()},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)())},updatePlacement:function(){function e(){var e=(0,_dom.updatePanelPlacement)(r,u,{placement:a.placement||o,defaultPlacement:a.defaultPlacement,teleportTo:s}),t=Object.assign(e.style,{zIndex:i});n.panelStyle=t,n.panelPlacement=e.placement}var t=this,n=t.reactData,o=t.placement,i=n.panelIndex,r=t.$refs.refButton,u=t.$refs.refBtnPanel,s=t.computeBtnTransfer,a=t.computePopupOpts;return e(),t.$nextTick().then(e)},clickEvent:function(e){var t=this.$xeButtonGroup;t&&t.handleClick({name:this.name},e),this.dispatchEvent("click",{$event:e},e)},downBtnClickEvent:function(e,t){e=e.$event;this.hidePanel(),this.dispatchEvent("dropdown-click",{name:t.name,option:t},e)},mousedownDropdownEvent:function(e){0===e.button&&e.stopPropagation()},clickDropdownEvent:function(e){var t=this.reactData,n=e.currentTarget,o=this.$refs.refBtnPanel,n=(0,_dom.getEventTargetNode)(e,n,"vxe-button"),i=n.flag,n=n.targetElem;i&&(o&&(o.dataset.active="N"),t.visiblePanel=!1,setTimeout(function(){o&&"Y"===o.dataset.active||(t.isAniVisible=!1)},350),this.dispatchEvent("dropdown-click",{name:n.getAttribute("name"),option:null,$event:e},e))},mouseenterDropdownEvent:function(){var e=this,t=e.reactData,n=e.$refs.refBtnPanel;n&&(n.dataset.active="Y",t.isAniVisible=!0,setTimeout(function(){"Y"===n.dataset.active&&(t.visiblePanel=!0,e.updateZindex(),e.updatePlacement(),setTimeout(function(){t.visiblePanel&&e.updatePlacement()},50))},20))},mouseenterTargetEvent:function(e){var t=this.loading;this.computeBtnDisabled||t||(this.openPanel(),this.mouseenterEvent(e))},mouseleaveTargetEvent:function(e){this.hidePanel(),this.mouseleaveEvent(e)},mouseenterEvent:function(e){this.dispatchEvent("mouseenter",{},e)},mouseleaveEvent:function(e){this.dispatchEvent("mouseleave",{},e)},contextmenuEvent:function(e){this.dispatchEvent("contextmenu",{},e)},clickTargetEvent:function(e){var t=this,n=t.reactData,o=t.loading;t.computeBtnDisabled||o||("click"===t.trigger&&(n.visiblePanel?t.hidePanel():t.openPanel()),t.clickEvent(e))},mouseleaveDropdownEvent:function(){this.hidePanel()},handleGlobalMousedownEvent:function(e){var t,n,o=this,i=o.reactData,r=i.visiblePanel;o.computeBtnDisabled||(t=o.$refs.refElem,n=o.$refs.refBtnPanel,i.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,n).flag,r&&!i.isActivated&&o.hidePanel())},handleGlobalResizeEvent:function(){this.reactData.visiblePanel&&this.updatePlacement()},handleGlobalScrollEvent:function(){this.reactData.visiblePanel&&this.updatePlacement()},renderTooltipIcon:function(e,t,n){return e(_tooltip.default,{props:{useHtml:_xeUtils.default.isBoolean(t.useHtml)?t.useHtml:t.useHTML,content:t.content,enterable:t.enterable,theme:t.theme},scopedSlots:{default:function(){return e("span",{class:"vxe-button--item vxe-button--tooltip-".concat(n,"-icon")},[e("i",{class:t.icon||(0,_ui.getIcon)().BUTTON_TOOLTIP_ICON})])}}})},renderContent:function(e){var t=this,n=t.$scopedSlots,o=t.content,i=t.suffixIcon,r=t.loading,u=t.suffixTooltip,s=t.suffixRender,a=t.prefixIcon||t.icon,l=t.prefixRender||t.iconRender,c=t.computeSuffixTipOpts,p=n.prefix||n.icon,d=n.suffix,n=n.default,f=[];return t.prefixTooltip&&f.push(t.renderTooltipIcon(e,t.computePrefixTipOpts,"prefix")),r?f.push(e("i",{class:["vxe-button--item vxe-button--loading-icon",(0,_ui.getIcon)().BUTTON_LOADING]})):p?f.push(e("span",{class:"vxe-button--item vxe-button--custom-prefix-icon"},p.call(t,{}))):l?(p=(r=_ui.renderer.get(l.name))?r.renderButtonPrefix:null,f.push(e("span",{class:["vxe-button--item vxe-button--custom-prefix-icon"]},p?(0,_vn.getSlotVNs)(p.call(t,e,l,{$button:t})):[]))):a&&f.push(e("i",{class:["vxe-button--item vxe-button--prefix-icon",a]})),n?f.push(e("span",{class:"vxe-button--item vxe-button--content"},n.call(t,{}))):o&&f.push(e("span",{class:"vxe-button--item vxe-button--content"},(0,_utils.getFuncText)(o))),d?f.push(e("span",{class:"vxe-button--item vxe-button--custom-suffix-icon"},d.call(t,{}))):s?(p=(r=_ui.renderer.get(s.name))?r.renderButtonSuffix:null,f.push(e("span",{class:["vxe-button--item vxe-button--custom-suffix-icon"]},p?(0,_vn.getSlotVNs)(p.call(t,e,s,{$button:t})):[]))):i&&f.push(e("i",{class:["vxe-button--item vxe-button--suffix-icon",i]})),u&&f.push(t.renderTooltipIcon(e,c,"suffix")),f},renderVN:function(n){var e,t,o=this,i=o.$scopedSlots,r=o.reactData,u=o.className,s=o.trigger,a=o.title,l=o.routerLink,c=o.type,p=o.destroyOnClose,d=o.name,f=o.loading,m=o.shadow,v=o.dropdownOpenIcon,b=o.dropdownCloseIcon,x=o.showDropdownIcon,g=r.initialized,_=r.isAniVisible,h=r.visiblePanel,P=o.computeIsFormBtn,y=o.computeBtnMode,E=o.computeBtnStatus,B=o.computeBtnRound,T=o.computeBtnCircle,w=o.computeBtnTransfer,O=o.computeBtnAlign,D=o.computeBtnDisabled,$=o.computeDownBtnList,C=o.computeSize,i=i.dropdowns,S=o.computePopupOpts.className||o.popupClassName;return o.computePermissionInfo.visible?i||$.length?(e={contextmenu:o.contextmenuEvent},t={},"hover"===s&&(e.mouseenter=o.mouseenterTargetEvent,e.mouseleave=o.mouseleaveTargetEvent,t.mouseenter=o.mouseenterDropdownEvent,t.mouseleave=o.mouseleaveDropdownEvent),n("div",{ref:"refElem",class:["vxe-button--dropdown",u?_xeUtils.default.isFunction(u)?u({$button:o}):u:"",_defineProperty(_defineProperty({},"size--".concat(C),C),"is--active",h)]},[l?n("router-link",{ref:"refButton",class:["vxe-button","vxe-button--link","type--".concat(y),O?"align--".concat(O):"",u?_xeUtils.default.isFunction(u)?u({$button:o}):u:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(C),C),"theme--".concat(E),E),"is--round",B),"is--circle",T),"is--shadow",m),"is--disabled",D||f),"is--loading",f)],attrs:{title:a,name:d,type:P?c:"button",disabled:D||f,custom:!0,to:l},on:Object.assign({click:o.clickTargetEvent},e)},o.renderContent(n).concat(x?[n("i",{class:"vxe-button--dropdown-icon ".concat(h?v||(0,_ui.getIcon)().BUTTON_DROPDOWN_OPEN:b||(0,_ui.getIcon)().BUTTON_DROPDOWN_CLOSE)})]:[])):n("button",{ref:"refButton",class:["vxe-button","type--".concat(y),O?"align--".concat(O):"",u?_xeUtils.default.isFunction(u)?u({$button:o}):u:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(C),C),"theme--".concat(E),E),"is--round",B),"is--circle",T),"is--shadow",m),"is--disabled",D||f),"is--loading",f)],attrs:{title:a,name:d,type:P?c:"button",disabled:D||f},on:Object.assign({click:o.clickTargetEvent},e)},o.renderContent(n).concat(x?[n("i",{class:"vxe-button--dropdown-icon ".concat(h?v||(0,_ui.getIcon)().BUTTON_DROPDOWN_OPEN:b||(0,_ui.getIcon)().BUTTON_DROPDOWN_CLOSE)})]:[])),n("div",{ref:"refBtnPanel",class:["vxe-button--dropdown-panel",S?_xeUtils.default.isFunction(S)?S({$button:o}):S:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(C),C),"is--transfer",w),"ani--leave",_),"ani--enter",h)],attrs:{placement:r.panelPlacement},style:r.panelStyle,on:t},g&&(h||_)?[i?n("div",{class:"vxe-button--dropdown-wrapper",on:{mousedown:o.mousedownDropdownEvent,click:o.clickDropdownEvent}},g&&(!p||h||_)?i.call(o,{}):[]):n("div",{class:"vxe-button--dropdown-wrapper"},g&&(!p||h||_)?$.map(function(t,e){return n("vxe-button",{key:e,props:{type:t.type,mode:t.mode||y,className:t.className,name:t.name,routerLink:t.routerLink,permissionCode:t.permissionCode,title:t.title,content:t.content,status:t.status,icon:t.icon,round:_xeUtils.default.isBoolean(t.round)?t.round:"text"!==y&&B,circle:_xeUtils.default.isBoolean(t.circle)?t.circle:"text"!==y&&T,disabled:t.disabled,loading:t.loading,align:t.align},on:{click:function(e){o.downBtnClickEvent(e,t)}}})}):[])]:[])])):l?n("router-link",{ref:"refButton",class:["vxe-button","vxe-button--link","type--".concat(y),O?"align--".concat(O):"",u?_xeUtils.default.isFunction(u)?u({$button:o}):u:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(C),C),"theme--".concat(E),E),"is--round",B),"is--circle",T),"is--shadow",m),"is--disabled",D||f),"is--loading",f)],props:{title:a,name:d,type:P?c:"button",disabled:D||f,custom:!0,to:l},nativeOn:{click:o.clickEvent,mouseenter:o.mouseenterEvent,mouseleave:o.mouseleaveEvent,contextmenu:o.contextmenuEvent}},o.renderContent(n)):n("button",{ref:"refButton",class:["vxe-button","type--".concat(y),O?"align--".concat(O):"",u?_xeUtils.default.isFunction(u)?u({$button:o}):u:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(C),C),"theme--".concat(E),E),"is--round",B),"is--circle",T),"is--shadow",m),"is--disabled",D||f),"is--loading",f)],attrs:{title:a,name:d,type:P?c:"button",disabled:D||f},on:{click:o.clickEvent,mouseenter:o.mouseenterEvent,mouseleave:o.mouseleaveEvent,contextmenu:o.contextmenuEvent}},o.renderContent(n)):(0,_ui.renderEmptyElement)(o)}},mounted:function(){var e=this;"text"===e.type&&warnLog("vxe.error.delProp",["type=text","mode=text"]),_ui.globalEvents.on(e,"mousedown",e.handleGlobalMousedownEvent),_ui.globalEvents.on(e,"resize",e.handleGlobalResizeEvent),_ui.globalEvents.on(e,"scroll",e.handleGlobalScrollEvent)},beforeDestroy:function(){var e=this.$refs.refBtnPanel;e&&e.parentNode&&e.parentNode.removeChild(e)},destroyed:function(){_ui.globalEvents.off(this,"mousewheel"),_ui.globalEvents.off(this,"mousedown"),_ui.globalEvents.off(this,"resize"),_ui.globalEvents.off(this,"scroll")},render:function(e){return this.renderVN(e)}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_comp=require("../../ui/src/comp"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_tooltip=_interopRequireDefault(require("../../tooltip"));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)("button"),warnLog=_createComponentLog.warnLog,_default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeButton",mixins:[_ui.globalMixins.sizeMixin,_ui.globalMixins.permissionMixin],props:{type:String,mode:String,className:[String,Function],popupClassName:[String,Function],size:{type:String,default:function(){return(0,_ui.getConfig)().button.size||(0,_ui.getConfig)().size}},zIndex:Number,name:[String,Number],routerLink:Object,permissionCode:[String,Number],content:String,placement:String,status:String,title:String,shadow:Boolean,icon:String,iconRender:Object,prefixIcon:String,prefixRender:Object,suffixIcon:String,suffixRender:Object,round:Boolean,circle:Boolean,disabled:Boolean,loading:Boolean,trigger:{type:String,default:function(){return(0,_ui.getConfig)().button.trigger}},align:String,prefixTooltip:Object,suffixTooltip:Object,options:Array,showDropdownIcon:{type:Boolean,default:function(){return(0,_ui.getConfig)().button.showDropdownIcon}},dropdownCloseIcon:{type:String,default:function(){return(0,_ui.getConfig)().button.dropdownCloseIcon}},dropdownOpenIcon:{type:String,default:function(){return(0,_ui.getConfig)().button.dropdownOpenIcon}},destroyOnClose:{type:Boolean,default:function(){return(0,_ui.getConfig)().button.destroyOnClose}},popupConfig:Object,transfer:{type:Boolean,default:null}},inject:{$xeModal:{default:null},$xeDrawer:{default:null},$xeTable:{default:null},$xeTree:{default:null},$xeForm:{default:null},$xeButtonGroup:{default:null}},data:function(){var e={showTime:void 0};return{xID:_xeUtils.default.uniqueId(),reactData:{initialized:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,panelIndex:0,panelStyle:{},panelPlacement:""},internalData:e}},computed:Object.assign(Object.assign({},{}),{computeBtnTransfer:function(){var e=this,t=e.$xeGrid,n=e.$xeTable,o=e.$xeTree,i=e.$xeModal,r=e.$xeDrawer,u=e.$xeForm,s=e.transfer,e=e.computePopupOpts;if(_xeUtils.default.isBoolean(e.transfer))return e.transfer;if(null===s){e=(0,_ui.getConfig)().button.transfer;if(_xeUtils.default.isBoolean(e))return e;if(t||n||o||i||r||u)return!0}return s},computeBtnDisabled:function(){var e=this.disabled,t=this.computePermissionInfo;return e||t.disabled},computeIsFormBtn:function(){var e=this.type;return!!e&&-1<["submit","reset","button"].indexOf(e)},computeBtnMode:function(){var e=this.type,t=this.mode,n=this.$xeButtonGroup;return"text"===t||"text"===e||n&&"text"===n.mode?"text":"button"},computeBtnStatus:function(){var e=this.status,t=this.$xeButtonGroup;return e||(t?t.status:"")},computeBtnRound:function(){var e=this.round,t=this.$xeButtonGroup;return e||!!t&&t.round},computeBtnAlign:function(){var e=this.align,t=this.$xeButtonGroup;return e||!!t&&t.align},computeBtnCircle:function(){var e=this.circle,t=this.$xeButtonGroup;return e||!!t&&t.circle},computeDownBtnList:function(){var e=this.options;return e?e.filter(function(e){e=e.permissionCode;return!e||_ui.permission.checkVisible(e)}):[]},computePopupOpts:function(){return Object.assign({},(0,_ui.getConfig)().button.popupConfig,this.popupConfig)},computePrefixTipOpts:function(){return Object.assign({},(0,_ui.getConfig)().button.prefixTooltip,this.prefixTooltip)},computeSuffixTipOpts:function(){return Object.assign({},(0,_ui.getConfig)().button.suffixTooltip,this.suffixTooltip)}}),methods:{dispatchEvent:function(e,t,n){this.$emit((0,_vn.getEventCaseName)(this,e),(0,_ui.createEvent)(n,{$button:this},t))},openPanel:function(){var e=this,t=e.reactData,n=e.internalData,o=e.trigger,i=e.computeBtnTransfer,r=e.computePopupOpts,u=e.$refs.refBtnPanel;return u&&(u.dataset.active="Y",t.initialized||(t.initialized=!0,i&&(i=r.appendTo,(0,_dom.getPopupAppendElement)(i).appendChild(u))),n.showTime=setTimeout(function(){"Y"===u.dataset.active?e.mouseenterDropdownEvent():t.isAniVisible=!1},"click"===o?50:250)),e.$nextTick()},closePanel:function(){return this.hidePanel()},hidePanel:function(){var e=this.reactData,t=this.internalData,n=this.$refs.refBtnPanel;return clearTimeout(t.showTime),n?(n.dataset.active="N",setTimeout(function(){"Y"!==n.dataset.active&&(e.visiblePanel=!1,setTimeout(function(){"Y"!==n.dataset.active&&(e.isAniVisible=!1)},350))},100)):(e.isAniVisible=!1,e.visiblePanel=!1),this.$nextTick()},focus:function(){var e=this.$refs.refButton;return e&&e.focus(),this.$nextTick()},blur:function(){var e=this.$refs.refButton;return e&&e.blur(),this.$nextTick()},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)())},updatePlacement:function(){function e(){var e=(0,_dom.updatePanelPlacement)(r,u,{placement:a.placement||o,defaultPlacement:a.defaultPlacement,appendTo:a.appendTo,teleportTo:s}),t=Object.assign(e.style,{zIndex:i});n.panelStyle=t,n.panelPlacement=e.placement}var t=this,n=t.reactData,o=t.placement,i=n.panelIndex,r=t.$refs.refButton,u=t.$refs.refBtnPanel,s=t.computeBtnTransfer,a=t.computePopupOpts;return e(),t.$nextTick().then(e)},clickEvent:function(e){var t=this.$xeButtonGroup;t&&t.handleClick({name:this.name},e),this.dispatchEvent("click",{$event:e},e)},downBtnClickEvent:function(e,t){e=e.$event;this.hidePanel(),this.dispatchEvent("dropdown-click",{name:t.name,option:t},e)},mousedownDropdownEvent:function(e){0===e.button&&e.stopPropagation()},clickDropdownEvent:function(e){var t=this.reactData,n=e.currentTarget,o=this.$refs.refBtnPanel,n=(0,_dom.getEventTargetNode)(e,n,"vxe-button"),i=n.flag,n=n.targetElem;i&&(o&&(o.dataset.active="N"),t.visiblePanel=!1,setTimeout(function(){o&&"Y"===o.dataset.active||(t.isAniVisible=!1)},350),this.dispatchEvent("dropdown-click",{name:n.getAttribute("name"),option:null,$event:e},e))},mouseenterDropdownEvent:function(){var e=this,t=e.reactData,n=e.$refs.refBtnPanel;n&&(n.dataset.active="Y",t.isAniVisible=!0,setTimeout(function(){"Y"===n.dataset.active&&(t.visiblePanel=!0,e.updateZindex(),e.updatePlacement(),setTimeout(function(){t.visiblePanel&&e.updatePlacement()},50))},20))},mouseenterTargetEvent:function(e){var t=this.loading;this.computeBtnDisabled||t||(this.openPanel(),this.mouseenterEvent(e))},mouseleaveTargetEvent:function(e){this.hidePanel(),this.mouseleaveEvent(e)},mouseenterEvent:function(e){this.dispatchEvent("mouseenter",{},e)},mouseleaveEvent:function(e){this.dispatchEvent("mouseleave",{},e)},contextmenuEvent:function(e){this.dispatchEvent("contextmenu",{},e)},clickTargetEvent:function(e){var t=this,n=t.reactData,o=t.loading;t.computeBtnDisabled||o||("click"===t.trigger&&(n.visiblePanel?t.hidePanel():t.openPanel()),t.clickEvent(e))},mouseleaveDropdownEvent:function(){this.hidePanel()},handleGlobalMousedownEvent:function(e){var t,n,o=this,i=o.reactData,r=i.visiblePanel;o.computeBtnDisabled||(t=o.$refs.refElem,n=o.$refs.refBtnPanel,i.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,n).flag,r&&!i.isActivated&&o.hidePanel())},handleGlobalResizeEvent:function(){this.reactData.visiblePanel&&this.updatePlacement()},handleGlobalScrollEvent:function(){this.reactData.visiblePanel&&this.updatePlacement()},renderTooltipIcon:function(e,t,n){return e(_tooltip.default,{props:{useHtml:_xeUtils.default.isBoolean(t.useHtml)?t.useHtml:t.useHTML,content:t.content,enterable:t.enterable,theme:t.theme},scopedSlots:{default:function(){return e("span",{class:"vxe-button--item vxe-button--tooltip-".concat(n,"-icon")},[e("i",{class:t.icon||(0,_ui.getIcon)().BUTTON_TOOLTIP_ICON})])}}})},renderContent:function(e){var t=this,n=t.$scopedSlots,o=t.content,i=t.suffixIcon,r=t.loading,u=t.suffixTooltip,s=t.suffixRender,a=t.prefixIcon||t.icon,l=t.prefixRender||t.iconRender,c=t.computeSuffixTipOpts,p=n.prefix||n.icon,d=n.suffix,n=n.default,f=[];return t.prefixTooltip&&f.push(t.renderTooltipIcon(e,t.computePrefixTipOpts,"prefix")),r?f.push(e("i",{class:["vxe-button--item vxe-button--loading-icon",(0,_ui.getIcon)().BUTTON_LOADING]})):p?f.push(e("span",{class:"vxe-button--item vxe-button--custom-prefix-icon"},p.call(t,{}))):l?(p=(r=_ui.renderer.get(l.name))?r.renderButtonPrefix:null,f.push(e("span",{class:["vxe-button--item vxe-button--custom-prefix-icon"]},p?(0,_vn.getSlotVNs)(p.call(t,e,l,{$button:t})):[]))):a&&f.push(e("i",{class:["vxe-button--item vxe-button--prefix-icon",a]})),n?f.push(e("span",{class:"vxe-button--item vxe-button--content"},n.call(t,{}))):o&&f.push(e("span",{class:"vxe-button--item vxe-button--content"},(0,_utils.getFuncText)(o))),d?f.push(e("span",{class:"vxe-button--item vxe-button--custom-suffix-icon"},d.call(t,{}))):s?(p=(r=_ui.renderer.get(s.name))?r.renderButtonSuffix:null,f.push(e("span",{class:["vxe-button--item vxe-button--custom-suffix-icon"]},p?(0,_vn.getSlotVNs)(p.call(t,e,s,{$button:t})):[]))):i&&f.push(e("i",{class:["vxe-button--item vxe-button--suffix-icon",i]})),u&&f.push(t.renderTooltipIcon(e,c,"suffix")),f},renderVN:function(n){var e,t,o=this,i=o.$scopedSlots,r=o.reactData,u=o.className,s=o.trigger,a=o.title,l=o.routerLink,c=o.type,p=o.destroyOnClose,d=o.name,f=o.loading,m=o.shadow,v=o.dropdownOpenIcon,b=o.dropdownCloseIcon,x=o.showDropdownIcon,g=r.initialized,_=r.isAniVisible,h=r.visiblePanel,P=o.computeIsFormBtn,y=o.computeBtnMode,E=o.computeBtnStatus,T=o.computeBtnRound,B=o.computeBtnCircle,w=o.computeBtnTransfer,O=o.computeBtnAlign,D=o.computeBtnDisabled,$=o.computeDownBtnList,C=o.computeSize,i=i.dropdowns,S=o.computePopupOpts.className||o.popupClassName;return o.computePermissionInfo.visible?i||$.length?(e={contextmenu:o.contextmenuEvent},t={},"hover"===s&&(e.mouseenter=o.mouseenterTargetEvent,e.mouseleave=o.mouseleaveTargetEvent,t.mouseenter=o.mouseenterDropdownEvent,t.mouseleave=o.mouseleaveDropdownEvent),n("div",{ref:"refElem",class:["vxe-button--dropdown",u?_xeUtils.default.isFunction(u)?u({$button:o}):u:"",_defineProperty(_defineProperty({},"size--".concat(C),C),"is--active",h)]},[l?n("router-link",{ref:"refButton",class:["vxe-button","vxe-button--link","type--".concat(y),O?"align--".concat(O):"",u?_xeUtils.default.isFunction(u)?u({$button:o}):u:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(C),C),"theme--".concat(E),E),"is--round",T),"is--circle",B),"is--shadow",m),"is--disabled",D||f),"is--loading",f)],attrs:{title:a,name:d,type:P?c:"button",disabled:D||f,custom:!0,to:l},on:Object.assign({click:o.clickTargetEvent},e)},o.renderContent(n).concat(x?[n("i",{class:"vxe-button--dropdown-icon ".concat(h?v||(0,_ui.getIcon)().BUTTON_DROPDOWN_OPEN:b||(0,_ui.getIcon)().BUTTON_DROPDOWN_CLOSE)})]:[])):n("button",{ref:"refButton",class:["vxe-button","type--".concat(y),O?"align--".concat(O):"",u?_xeUtils.default.isFunction(u)?u({$button:o}):u:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(C),C),"theme--".concat(E),E),"is--round",T),"is--circle",B),"is--shadow",m),"is--disabled",D||f),"is--loading",f)],attrs:{title:a,name:d,type:P?c:"button",disabled:D||f},on:Object.assign({click:o.clickTargetEvent},e)},o.renderContent(n).concat(x?[n("i",{class:"vxe-button--dropdown-icon ".concat(h?v||(0,_ui.getIcon)().BUTTON_DROPDOWN_OPEN:b||(0,_ui.getIcon)().BUTTON_DROPDOWN_CLOSE)})]:[])),n("div",{ref:"refBtnPanel",class:["vxe-button--dropdown-panel",S?_xeUtils.default.isFunction(S)?S({$button:o}):S:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(C),C),"is--transfer",w),"ani--leave",_),"ani--enter",h)],attrs:{placement:r.panelPlacement},style:r.panelStyle,on:t},g&&(h||_)?[i?n("div",{class:"vxe-button--dropdown-wrapper",on:{mousedown:o.mousedownDropdownEvent,click:o.clickDropdownEvent}},g&&(!p||h||_)?i.call(o,{}):[]):n("div",{class:"vxe-button--dropdown-wrapper"},g&&(!p||h||_)?$.map(function(t,e){return n("vxe-button",{key:e,props:{type:t.type,mode:t.mode||y,className:t.className,name:t.name,routerLink:t.routerLink,permissionCode:t.permissionCode,title:t.title,content:t.content,status:t.status,icon:t.icon,round:_xeUtils.default.isBoolean(t.round)?t.round:"text"!==y&&T,circle:_xeUtils.default.isBoolean(t.circle)?t.circle:"text"!==y&&B,disabled:t.disabled,loading:t.loading,align:t.align},on:{click:function(e){o.downBtnClickEvent(e,t)}}})}):[])]:[])])):l?n("router-link",{ref:"refButton",class:["vxe-button","vxe-button--link","type--".concat(y),O?"align--".concat(O):"",u?_xeUtils.default.isFunction(u)?u({$button:o}):u:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(C),C),"theme--".concat(E),E),"is--round",T),"is--circle",B),"is--shadow",m),"is--disabled",D||f),"is--loading",f)],props:{title:a,name:d,type:P?c:"button",disabled:D||f,custom:!0,to:l},nativeOn:{click:o.clickEvent,mouseenter:o.mouseenterEvent,mouseleave:o.mouseleaveEvent,contextmenu:o.contextmenuEvent}},o.renderContent(n)):n("button",{ref:"refButton",class:["vxe-button","type--".concat(y),O?"align--".concat(O):"",u?_xeUtils.default.isFunction(u)?u({$button:o}):u:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(C),C),"theme--".concat(E),E),"is--round",T),"is--circle",B),"is--shadow",m),"is--disabled",D||f),"is--loading",f)],attrs:{title:a,name:d,type:P?c:"button",disabled:D||f},on:{click:o.clickEvent,mouseenter:o.mouseenterEvent,mouseleave:o.mouseleaveEvent,contextmenu:o.contextmenuEvent}},o.renderContent(n)):(0,_ui.renderEmptyElement)(o)}},mounted:function(){var e=this;"text"===e.type&&warnLog("vxe.error.delProp",["type=text","mode=text"]),_ui.globalEvents.on(e,"mousedown",e.handleGlobalMousedownEvent),_ui.globalEvents.on(e,"resize",e.handleGlobalResizeEvent),_ui.globalEvents.on(e,"scroll",e.handleGlobalScrollEvent)},beforeDestroy:function(){var e=this.$refs.refBtnPanel;e&&e.parentNode&&e.parentNode.removeChild(e)},destroyed:function(){_ui.globalEvents.off(this,"mousewheel"),_ui.globalEvents.off(this,"mousedown"),_ui.globalEvents.off(this,"resize"),_ui.globalEvents.off(this,"scroll")},render:function(e){return this.renderVN(e)}});
@@ -952,6 +952,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
952
952
  var ppObj = (0, _dom.updatePanelPlacement)(targetElem, panelElem, {
953
953
  placement: popupOpts.placement,
954
954
  defaultPlacement: popupOpts.defaultPlacement,
955
+ appendTo: popupOpts.appendTo,
955
956
  teleportTo: btnTransfer,
956
957
  isMinWidth: false
957
958
  });
@@ -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=void 0;var _comp=require("../../ui/src/comp"),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_util=require("./util"),_xeUtils=_interopRequireDefault(require("xe-utils")),_list=_interopRequireDefault(require("../../list")),_input=_interopRequireDefault(require("../../input")),_button=_interopRequireDefault(require("../../button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default: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.")}function _createForOfIteratorHelper(e,t){var n,a,r,i,o="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(o)return r=!(a=!0),{s:function(){o=o.call(e)},n:function(){var e=o.next();return a=e.done,e},e:function(e){r=!0,n=e},f:function(){try{a||null==o.return||o.return()}finally{if(r)throw n}}};if(Array.isArray(e)||(o=_unsupportedIterableToArray(e))||t&&e&&"number"==typeof e.length)return o&&(e=o),i=0,{s:t=function(){},n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var n;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(n="Object"===(n={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function getNodeUniqueId(){return _xeUtils.default.uniqueId("node_")}function handleVisibleOrCheckMode(e,t,n){if(e){if("first"===e)return!n;if("last"===e)return!t}return!0}function createReactData(){return{initialized:!1,searchValue:"",searchLoading:!1,currentCunkList:[],currentItems:[],currentNode:null,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,selectRadioKey:null,treeList:[],updateExpandedFlag:1,updateCheckboxFlag:1,fullOptFlag:1,lazyOptFlag:1}}function createInternalData(){return{listVirtualYOpts:{enabled:!0,gt:20},afterTreeList:[],treeFullData:[],afterVisibleList:[],nodeMaps:{},fullNodeMaps:{},lazyNodeMaps:{},indeterminateRowMaps:{},selectCheckboxMaps:{},treeExpandedMaps:{},treeExpandLazyLoadedMaps:{}}}var _default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeCascader",mixins:[_ui.globalMixins.sizeMixin],model:{prop:"value",event:"modelValue"},props:{value:[String,Number,Array],clearable:Boolean,placeholder:{type:String,default:function(){return _xeUtils.default.eqNull((0,_ui.getConfig)().cascader.placeholder)?(0,_ui.getI18n)("vxe.base.pleaseSelect"):(0,_ui.getConfig)().cascader.placeholder}},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},filterable:Boolean,filterConfig:Object,showFullLabel:{type:Boolean,default:function(){return(0,_ui.getConfig)().cascader.showFullLabel}},separator:{type:String,default:function(){return(0,_ui.getConfig)().cascader.separator}},multiple:Boolean,className:[String,Function],prefixIcon:String,lazyOptions:Array,options:Array,optionProps:Object,size:{type:String,default:function(){return(0,_ui.getConfig)().cascader.size||(0,_ui.getConfig)().size}},treeConfig:Object,showRadio:{type:Boolean,default:function(){return(0,_ui.getConfig)().cascader.showRadio}},radioConfig:Object,showCheckbox:{type:Boolean,default:function(){return(0,_ui.getConfig)().cascader.showCheckbox}},checkboxConfig:Object,remote:Boolean,remoteConfig:Function,popupConfig:Object,checkedClosable:{type:Boolean,default:function(){return(0,_ui.getConfig)().cascader.checkedClosable}},clearClosable:{type:Boolean,default:function(){return(0,_ui.getConfig)().cascader.clearClosable}},showCloseButton:{type:Boolean,default:function(){return(0,_ui.getConfig)().cascader.showCloseButton}},showTotalButton:{type:Boolean,default:function(){return(0,_ui.getConfig)().cascader.showTotalButton}},showCheckedButton:{type:Boolean,default:function(){return(0,_ui.getConfig)().cascader.showCheckedButton}},showClearButton:{type:Boolean,default:function(){return(0,_ui.getConfig)().cascader.showClearButton}}},inject:{$xeModal:{default:null},$xeDrawer:{default:null},$xeTable:{default:null},$xeForm:{default:null},formItemInfo:{from:"xeFormItemInfo",default:null}},provide:function(){return{$xeCascader: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,a=e.$xeDrawer,r=e.$xeForm,e=e.computePopupOpts.transfer;return _xeUtils.default.isBoolean(e)?e:!!(t||n||a||r)},computeTreeOpts:function(){return Object.assign({},(0,_ui.getConfig)().cascader.treeConfig,this.treeConfig)},computeRadioOpts:function(){return Object.assign({},(0,_ui.getConfig)().cascader.radioConfig,this.radioConfig)},computeCheckboxOpts:function(){return Object.assign({},(0,_ui.getConfig)().cascader.checkboxConfig,this.checkboxConfig)},computePopupOpts:function(){return Object.assign({},(0,_ui.getConfig)().cascader.popupConfig,this.popupConfig)},computePropsOpts:function(){return this.optionProps||{}},computeLabelField:function(){return this.computePropsOpts.label||"label"},computeValueField:function(){return this.computePropsOpts.value||"value"},computeKeyField:function(){return this.computeTreeOpts.keyField||"id"},computeParentField:function(){return this.computeTreeOpts.parentField||"parentId"},computeChildrenField:function(){return this.computeTreeOpts.childrenField||"children"},computeMapChildrenField:function(){return this.computeTreeOpts.mapChildrenField||"mapChildren"},computeHasChildField:function(){return this.computeTreeOpts.hasChildField||"hasChild"},computeRemoteOpts:function(){return Object.assign({},(0,_ui.getConfig)().cascader.remoteConfig,this.remoteConfig)},computeSelectVals:function(){var e=this.value;return _xeUtils.default.eqNull(e)?[]:_xeUtils.default.isArray(e)?e:[e]},computeSelectLabel:function(){var e=this,t=e.reactData,n=e.internalData,a=e.showFullLabel,r=t.fullOptFlag,i=t.lazyOptFlag,o=n.fullNodeMaps,l=n.lazyNodeMaps,c=e.computeLabelField;return e.computeSelectVals.map(function(e){var t=o[e];if(r&&t)return a?t.fullLabel:t.item[c];if(i){t=l[e];if(t)return a?t.fullLabel:t.item[c]}return e}).join(", ")},computePopupWrapperStyle:function(){var e=this.reactData,t=e.currentCunkList,n=this.computePopupOpts,a=n.height,r=n.nodeWidth,n=n.nodeHeight,e=Object.assign(Object.assign({},e.panelStyle),{"--vxe-ui-cascader-chunk-size":t.length});return a&&(e["--vxe-ui-cascader-chunk-height"]=(0,_dom.toCssUnit)(a)),r&&(e["--vxe-ui-cascader-node-width"]=(0,_dom.toCssUnit)(r)),n&&(e["--vxe-ui-cascader-node-height"]=(0,_dom.toCssUnit)(n)),e},computeFilterOpts:function(){return Object.assign({},(0,_ui.getConfig)().cascader.filterConfig,this.filterConfig)}}),methods:{dispatchEvent:function(e,t,n){this.$emit(e,(0,_ui.createEvent)(n,{$cascader:this},t))},emitModel:function(e){var t=this._events;t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},getNodeId:function(e){return e?(e=e[this.computeValueField],(0,_util.enNodeValue)(e)):""},isPathInTree:function(e,t){var n=this;if(!t||!t.length)return!1;var a,r=e,i=_createForOfIteratorHelper(t);try{var o;for(i.s();!(a=i.n()).done;)if(o=(()=>{var t=a.value,e=r.find(function(e){return n.getNodeId(e)===t});if(!e)return{v:!1};r=e.children||[]})())return o.v}catch(e){i.e(e)}finally{i.f()}return!0},isCheckedByCheckboxNodeId:function(e){var t=this.reactData,n=this.internalData,t=t.updateCheckboxFlag,n=n.selectCheckboxMaps;return!(!t||!n[e])},handleCheckedCheckboxNode:function(e,n){function t(e){var t=a.getNodeId(e);n?i[t]||(i[t]=e):i[t]&&delete i[t]}var a=this,r=a.reactData,i=a.internalData.selectCheckboxMaps,o=a.computeMapChildrenField,l=a.computeChildrenField,c=a.computeCheckboxOpts.checkStrictly,d=a.computeTreeOpts.transform;c?e.forEach(t):_xeUtils.default.eachTree(e,t,{children:d?o:l}),r.updateCheckboxFlag++,a.updateCheckboxStatus()},createNode:function(e){var n=this,a=n.computeValueField;return Promise.resolve(e.map(function(e){var t,e=Object.assign({},e);return n.getNodeId(e)||(t=getNodeUniqueId(),_xeUtils.default.set(e,a,t)),e}))},handleSetCheckboxByNodeId:function(e,t){var n,a=this.internalData.nodeMaps;return e&&(_xeUtils.default.isArray(e)||(e=[e]),n=[],e.forEach(function(e){e=(0,_util.enNodeValue)(e),e=a[e];e&&n.push(e.item)}),this.handleCheckedCheckboxNode(n,t)),this.$nextTick()},updateCheckboxChecked:function(e){this.internalData.selectCheckboxMaps={},this.handleSetCheckboxByNodeId(e,!0)},updateModelChecked:function(){var t=this,e=t.reactData,n=t.internalData,a=t.value,r=n.nodeMaps,i={};t.multiple?a&&a.length&&t.updateCheckboxChecked(a):a&&(a=r[r=(0,_util.enNodeValue)(_xeUtils.default.isArray(a)?a[0]:a)])&&(a.nodes.forEach(function(e){i[t.getNodeId(e)]=!0}),e.selectRadioKey=r),n.treeExpandedMaps=i},cacheNodeMap:function(){var c=this,e=c.reactData,t=c.internalData,d=c.separator,n=t.treeFullData,u=c.computeValueField,s=c.computeLabelField,p={},h={};_xeUtils.default.eachTree(n,function(e,t,n,a,r,i){var o=c.getNodeId(e),l=(o||(o=getNodeUniqueId(),e[u]=o),e[u]),e={item:e,index:t,$index:-1,_index:-1,items:n,parent:r,nodes:i,level:i.length-1,treeIndex:t,lineCount:0,treeLoaded:!1,fullLabel:i.map(function(e){return e[s]}).join(d||" / ")};h[l]=p[o]=e},{children:c.computeChildrenField}),t.nodeMaps=p,t.fullNodeMaps=h,e.fullOptFlag++},updateAfterDataIndex:function(){var c=this,e=c.internalData,d=c.separator,t=e.afterTreeList,u=e.nodeMaps,s=c.computeLabelField,e=c.computeTreeOpts.transform,p=0;_xeUtils.default.eachTree(t,function(e,t,n,a,r,i){var o=c.getNodeId(e),l=u[o];l?(l.items=n,l.treeIndex=t,l._index=p):(l={item:e,index:t,$index:-1,_index:p,items:n,parent:r,nodes:i,level:i.length-1,treeIndex:t,lineCount:0,treeLoaded:!1,fullLabel:i.map(function(e){return e[s]}).join(d||" / ")},u[o]=l),p++},{children:e?c.computeMapChildrenField:c.computeChildrenField})},updateAfterFullData:function(){var e,t,n=this,a=n.reactData,r=n.internalData,a=a.searchValue,i=r.treeFullData,o=r.lastFilterValue,l=n.computeLabelField,c=n.computeChildrenField,d=n.computeMapChildrenField,u=n.computeTreeOpts.transform,s=n.computeFilterOpts,p=s.beforeFilterMethod,h=s.filterMethod,f=s.afterFilterMethod,s=i,m=s,v="";a?(v="".concat(a),a=h?function(e){return h({$cascader:n,node:e,filterValue:v})}:function(e){return-1<String(e[l]).toLowerCase().indexOf(v.toLowerCase())},e={$cascader:n,filterValue:v},p&&p(e),s=u?m=_xeUtils.default.searchTree(i,a,{original:!0,isEvery:!1,children:c,mapChildren:d}):i.filter(a),r.lastFilterValue=v,n.$nextTick(function(){f&&f(e)})):(u&&(s=m=_xeUtils.default.searchTree(i,function(){return!0},{original:!0,isEvery:!1,children:c,mapChildren:d}),o)&&(t={$cascader:n,filterValue:v},p&&p(t),n.$nextTick(function(){f&&f(t)})),r.lastFilterValue=""),r.afterVisibleList=s,r.afterTreeList=m,n.updateAfterDataIndex()},handleTreeToList:function(){var l,c=this,e=c.internalData,t=e.afterTreeList,d=e.treeExpandedMaps,n=c.computeTreeOpts.transform,u={};return n?(l=[],_xeUtils.default.eachTree(t,function(e,t,n,a,r){var i=c.getNodeId(e),o=c.getNodeId(r);(!r||u[o]&&d[o])&&(u[i]=1,l.push(e))},{children:c.computeMapChildrenField}),e.afterVisibleList=l):e.afterVisibleList},handleData:function(e){var t=this.reactData,n=this.internalData.afterVisibleList,e=(e&&(this.updateAfterFullData(),n=this.handleTreeToList()),n.slice(0));t.treeList=e},handleHasChildNodeIds:function(e,t){for(var n=this,a=n.computeChildrenField,r=n.computeTreeOpts.transform?n.computeMapChildrenField:a,i=[],o=e;o.length;){var l,c=null,d=_createForOfIteratorHelper(o);try{for(d.s();!(l=d.n()).done;){var u=l.value,s=u[r];if(_xeUtils.default.isArray(s)&&0<s.length){c=u;break}}}catch(e){d.e(e)}finally{d.f()}if(!c){var p=_xeUtils.default[t](o);i.push(n.getNodeId(p));break}i.push(n.getNodeId(c)),o=c[r]}return i},triggerSearchEvent:_xeUtils.default.debounce(function(){var t,e=this,n=e.reactData,a=e.internalData,r=(e.handleData(!0),e.updateCheckboxStatus(),n.currentItems),i=a.afterTreeList,o=e.computeFilterOpts.autoExpandMode;e.isPathInTree(i,r)||("first"===o||"last"===o?(r=e.handleHasChildNodeIds(i,o),t={},r.forEach(function(e){t[e]=!0}),a.treeExpandedMaps=t,n.currentItems=r):e.handleCurrentItems()),e.updateCurrentChunk()},350,{trailing:!0}),loadData:function(e){var t=this,n=t.internalData,a=t.computeTreeOpts,r=a.rootParentValue,r=a.transform?_xeUtils.default.toArrayTree(e,{key:t.computeKeyField,parentKey:t.computeParentField,mapChildren:t.computeChildrenField,rootParentValue:r,rootValues:a.rootValues}):e?e.slice(0):[];return n.treeFullData=r,t.cacheNodeMap(),t.handleData(!0),t.updateModelChecked(),t.handleCurrentItems(),t.updateCurrentChunk(),t.$nextTick()},updateCurrentChunk:function(){var t=this,e=t.reactData,n=e.currentItems,a=t.internalData.afterTreeList,r=t.computeChildrenField,i=t.computeMapChildrenField,o=t.computeTreeOpts.transform,l=[a];if(n.length)for(var c=0,d=n[c],u=a;d&&u&&u.length;){var d=n[c++],s=u.find(function(e){return d===t.getNodeId(e)});if(!(u=s?s[o?i:r]:[])||!u.length)break;l.push(u)}e.currentCunkList=l},handleCurrentItems:function(){var t=this,e=t.reactData,n=t.internalData,a=e.currentNode,r=n.afterTreeList,i=t.computeSelectVals,o=t.computeChildrenField,l=t.computeMapChildrenField,c=t.computeTreeOpts.transform,d=[],u={},s=a?t.getNodeId(a):(0,_util.enNodeValue)(_xeUtils.default.last(i));s&&(a=_xeUtils.default.findTree(r,function(e){return s===t.getNodeId(e)},{children:c?l:o}))&&a.nodes.forEach(function(e){e=t.getNodeId(e);u[e]=!0,d.push(e)}),e.currentItems=d,n.treeExpandedMaps=u},updateZindex:function(){var e=this.reactData,t=this.computePopupOpts.zIndex;t?e.panelIndex=t:e.panelIndex<(0,_utils.getLastZIndex)()&&(e.panelIndex=(0,_utils.nextZIndex)())},updatePlacement:function(){function e(){var e=(0,_dom.updatePanelPlacement)(r,i,{placement:l.placement,defaultPlacement:l.defaultPlacement,teleportTo:o,isMinWidth:!1}),t=Object.assign(e.style,{zIndex:a});n.panelStyle=t,n.panelPlacement=e.placement}var t=this,n=t.reactData,a=n.panelIndex,r=t.$refs.refElem,i=t.$refs.refOptionPanel,o=t.computeBtnTransfer,l=t.computePopupOpts;return e(),t.$nextTick().then(e)},showOptionPanel:function(e){var t=this,n=t.reactData,a=t.internalData,r=t.loading,i=t.remote,o=t.filterable,l=a.treeFullData,c=t.computeRemoteOpts;r||t.computeIsDisabled||(clearTimeout(a.hpTimeout),n.initialized||(n.initialized=!0,r=t.computeBtnTransfer,a=t.$refs.refOptionPanel,r&&a&&document.body.appendChild(a)),n.isActivated=!0,n.isAniVisible=!0,o&&i&&c.enabled&&c.autoLoad&&!l.length&&t.handleSearchEvent(),setTimeout(function(){n.visiblePanel=!0,t.handleFocusSearch()},10),t.updateZindex(),t.updatePlacement(),t.dispatchEvent("visible-change",{visible:!0},e||null))},hideOptionPanel:function(e){var t=this.reactData,n=this.internalData;t.visiblePanel=!1,n.hpTimeout=setTimeout(function(){t.isAniVisible=!1},350),this.dispatchEvent("visible-change",{visible:!1},e||null)},setCurrentNode:function(e){return this.reactData.currentNode=e,this.$nextTick()},setAllCheckboxNode:function(e){var n=this,t=n.reactData,a=n.internalData,r={},i=n.computeTreeOpts.transform,o=[],l=[];return e&&_xeUtils.default.eachTree(a.afterTreeList,function(e){var t=n.getNodeId(e);o.push(t),l.push(e),r[t]=!0},{children:i?n.computeMapChildrenField:n.computeChildrenField}),a.indeterminateRowMaps={},a.selectCheckboxMaps=r,t.updateCheckboxFlag++,n.updateCheckboxStatus(),n.$nextTick().then(function(){return{checkNodeKeys:o,checkNodes:l}})},clearSelectedNode:function(){var e=this.reactData,t=this.internalData;return t.indeterminateRowMaps={},t.selectCheckboxMaps={},e.updateCheckboxFlag++,e.selectRadioKey=null,this.updateCheckboxStatus(),this.$nextTick().then(function(){return{checkNodeKeys:[],checkNodes:[]}})},changeEvent:function(e,t,n){var a=this,r=a,i=a.internalData,o=a.$xeForm,l=a.formItemInfo,t=_xeUtils.default.isArray(t)?t.map(_util.deNodeValue):(0,_util.deNodeValue)(t);i.isUpdateMode=!0,a.emitModel(t),t!==r.value&&(a.dispatchEvent("change",{value:t,node:n,option:n},e),o)&&l&&o.triggerItemEvent(e,l.itemConfig.field,t)},clearValueEvent:function(e,t){this.changeEvent(e,t,null),this.dispatchEvent("clear",{value:t},e)},clearEvent:function(e,t){this.clearValueEvent(t,null),this.hideOptionPanel(t)},allCheckedPanelEvent:function(e){var n=this,a=e.$event,e=n.multiple,r=n.checkedClosable;e&&n.setAllCheckboxNode(!0).then(function(e){var t=e.checkNodeKeys;n.changeEvent(a,t,e.checkNodes[0]),n.dispatchEvent("all-change",{value:t},a),r&&n.hideOptionPanel(a)})},clearCheckedPanelEvent:function(e){var t=this,n=e.$event,e=t.multiple,a=t.checkedClosable,e=e?[]:null;t.clearSelectedNode().then(function(){a&&t.hideOptionPanel(n)}),t.changeEvent(n,e,null),t.dispatchEvent("clear",{value:e},n)},closePanelEvent:function(e){e=e.$event;this.hideOptionPanel(e)},handleGlobalMousedownEvent:function(e){var t,n,a=this,r=a.reactData,i=r.visiblePanel;a.computeIsDisabled||(t=a.$refs.refElem,n=a.$refs.refOptionPanel,r.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,n).flag,i&&!r.isActivated&&a.hideOptionPanel(e))},handleGlobalBlurEvent:function(e){var t=this.reactData,n=t.visiblePanel,a=t.isActivated;n&&this.hideOptionPanel(e),a&&(t.isActivated=!1),(n||a)&&(e=this.$refs.refInput)&&e.blur()},handleGlobalResizeEvent:function(){this.reactData.visiblePanel&&this.updatePlacement()},handleGlobalScrollEvent:function(){this.reactData.visiblePanel&&this.updatePlacement()},handleFocusSearch:function(){var t=this;t.filterable&&t.$nextTick(function(){var e=t.$refs.refInpSearch;e&&e.focus()})},changeCurrentEvent:function(e,t){var n=this.reactData;e.preventDefault();n.currentNode=t,this.dispatchEvent("current-change",{node:t,checked:!0},e)},changeRadioEvent:function(e,t,n,a){var r=this,i=r.reactData,o=r.internalData,l=(e.preventDefault(),e.stopPropagation(),i.currentItems),o=o.nodeMaps,c=r.computeRadioOpts,d=r.computeChildrenField,u=r.computeMapChildrenField,s=r.computeTreeOpts.transform,p=c.checkMode,c=c.checkMethod,h=r.getNodeId(t),s=t[s?u:d],u=s&&0<s.length,d=(o[h]||{}).level;(c?c({$cascader:r,node:t}):handleVisibleOrCheckMode(p,u,d))&&(i.selectRadioKey=s=h,r.changeEvent(e,s,t),l.includes(h)||(r.changeCurrentEvent(e,t),r.toggleExpandEvent(e,t,n,a)),r.hideOptionPanel(e))},handleAsyncTreeExpandChilds:function(i){var o=this,l=o.reactData,c=o.internalData,n=o.computeTreeOpts.loadMethod,d=o.computeCheckboxOpts.checkStrictly;return new Promise(function(e){var t,a,r;n?(t=c.nodeMaps,a=o.getNodeId(i),r=t[a],c.treeExpandLazyLoadedMaps[a]=!0,Promise.resolve(n({$cascader:o,node:i})).then(function(n){var e=c.treeExpandLazyLoadedMaps;if(r.treeLoaded=!0,e[a]&&(e[a]=!1),n=_xeUtils.default.isArray(n)?n:[])return o.loadChildrenNode(i,n).then(function(e){var t=c.treeExpandedMaps;return e.length&&!t[a]&&(t[a]=!0),l.updateExpandedFlag++,!d&&o.isCheckedByCheckboxNodeId(a)&&o.handleCheckedCheckboxNode(e,!0),o.dispatchEvent("load-success",{node:i,data:n},new Event("load-success")),o.$nextTick()});o.dispatchEvent("load-success",{node:i,data:n},new Event("load-success"))}).catch(function(e){var t=c.treeExpandLazyLoadedMaps;r.treeLoaded=!1,t[a]&&(t[a]=!1),o.dispatchEvent("load-error",{node:i,data:e},new Event("load-error"))}).finally(function(){o.handleTreeToList(),o.handleData()})):e()})},handleBaseTreeExpand:function(e,t){var a=this,n=a.reactData,r=a.internalData,i=r.treeExpandLazyLoadedMaps,o=r.treeExpandedMaps,l=r.nodeMaps,c=a.computeChildrenField,d=a.computeHasChildField,r=a.computeTreeOpts,u=r.lazy,s=r.toggleMethod,p=[],r=(r=s?e.filter(function(e){return s({$cascader:a,expanded:t,node:e})}):e).length?[r[r.length-1]]:[],e=a.getNodeId(r[0]),e=l[e],h=(e&&e.items.forEach(function(e){e=a.getNodeId(e);o[e]&&delete o[e]}),[]);return t?r.forEach(function(e){var t,n=a.getNodeId(e);o[n]||(t=l[n],u&&e[d]&&!t.treeLoaded&&!i[n]?p.push(a.handleAsyncTreeExpandChilds(e)):e[c]&&e[c].length&&(o[n]=!0,h.push(e)))}):r.forEach(function(e){var t=a.getNodeId(e);o[t]&&(delete o[t],h.push(e))}),n.updateExpandedFlag++,a.handleTreeToList(),a.handleData(),Promise.all(p)},toggleExpandEvent:function(e,t,n,a){var r=this,i=r.reactData,o=i.currentItems,l=r.internalData.treeExpandLazyLoadedMaps,c=r.computeTreeOpts.lazy,o=o.slice(0,a),a=r.getNodeId(t);e.stopPropagation(),o.push(a),i.currentItems=o,c&&l[a]||r.handleBaseTreeExpand([t],!0),r.setCurrentNode(t),r.updateCurrentChunk(),r.dispatchEvent("node-expand",{node:t,expanded:!0},e)},updateCheckboxStatus:function(){var a,r,l=this,e=l.reactData,t=l.internalData,c=t.selectCheckboxMaps,d=t.indeterminateRowMaps,i=l.computeChildrenField,o=l.computeMapChildrenField,n=l.computeCheckboxOpts,u=n.checkStrictly,s=n.checkMethod,p=l.computeTreeOpts.transform;u||(a={},r=[],_xeUtils.default.eachTree(t.afterTreeList,function(e){var t=l.getNodeId(e),n=e[p?o:i];n&&n.length&&!a[t]&&(a[t]=1,r.unshift([e,t,n]))},{children:p?o:i}),r.forEach(function(e){var t=e[0],n=e[1],e=e[2],a=0,r=0,i=0,o=e.length,e=(e.forEach(s?function(e){var t=l.getNodeId(e),n=c[t];s({$cascader:l,node:e})?(n?a++:d[t]&&r++,i++):n?a++:d[t]&&r++}:function(e){e=l.getNodeId(e);c[e]?a++:d[e]&&r++,i++}),!1),o=!(e=0<o?0<i?(0<a||0<r)&&i<=a:0<a&&i<=a||!!c[n]:c[n])&&(0<a||0<r);e?(c[n]=t,d[n]&&delete d[n]):(c[n]&&delete c[n],o?d[n]=t:d[n]&&delete d[n])}),e.updateCheckboxFlag++)},changeCheckboxEvent:function(e,t,n,a){var r,i=this,o=i.reactData,l=i.internalData,c=(e.preventDefault(),e.stopPropagation(),o.currentItems),d=l.selectCheckboxMaps,l=l.nodeMaps,u=i.computeChildrenField,s=i.computeMapChildrenField,p=i.computeCheckboxOpts,h=p.checkStrictly,f=p.checkMode,p=p.checkMethod,m=i.computeTreeOpts.transform,v=i.getNodeId(t),g=t[m?s:u],C=g&&0<g.length,l=(l[v]||{}).level;(p?p({$cascader:i,node:t}):handleVisibleOrCheckMode(f,C,l))&&(r=!1,d[v]?delete d[v]:(r=!0,d[v]=t),h||_xeUtils.default.eachTree(g,function(e){e=i.getNodeId(e);r?d[e]||(d[e]=!0):d[e]&&delete d[e]},{children:m?s:u}),o.updateCheckboxFlag++,i.updateCheckboxStatus(),p=_xeUtils.default.keys(d),i.changeEvent(e,p,t),!c.includes(v))&&(i.changeCurrentEvent(e,t),i.toggleExpandEvent(e,t,n,a))},handleNodeClickEvent:function(e,t,n,a){var r=this,i=r.multiple,o=r.showCheckbox,l=r.showRadio,c=r.computeTreeOpts,d=r.computeRadioOpts,u=r.computeCheckboxOpts,s=c.transform,c=c.trigger,s=t[s?r.computeMapChildrenField:r.computeChildrenField],p=!1,h=!1,f=!1;r.changeCurrentEvent(e,t),"icon"!==c&&(f=!0,r.toggleExpandEvent(e,t,n,a)),i?"node"!==u.trigger&&(o||s&&s.length)||(h=!0,r.changeCheckboxEvent(e,t,n,a)):"node"!==d.trigger&&(l||s&&s.length)||(p=!0,r.changeRadioEvent(e,t,n,a)),r.dispatchEvent("node-click",{node:t,triggerCurrent:!0,triggerRadio:p,triggerCheckbox:h,triggerExpand:f},e)},focusEvent:function(e){var t=this.reactData;this.computeIsDisabled||t.visiblePanel||(t.triggerFocusPanel=!0,this.showOptionPanel(e),setTimeout(function(){t.triggerFocusPanel=!1},150)),this.dispatchEvent("focus",{},e)},clickEvent:function(e){var t=this.reactData;e.preventDefault(),t.triggerFocusPanel?t.triggerFocusPanel=!1:t.visiblePanel||this.showOptionPanel(e),this.dispatchEvent("click",{},e)},blurEvent:function(e){this.reactData.isActivated=!1,this.dispatchEvent("blur",{},e)},modelSearchEvent:function(e){this.reactData.searchValue=e,this.triggerSearchEvent(new Event("filter"))},handleSearchEvent:function(){var e=this,t=e.reactData,n=e.value,a=t.searchValue,r=e.computeRemoteOpts,i=r.queryMethod;e.remote&&i&&r.enabled&&(t.searchLoading=!0,Promise.resolve(i({$cascader:e,searchValue:a,value:n})).then(function(){return e.$nextTick()}).catch(function(){return e.$nextTick()}).finally(function(){t.searchLoading=!1}))},togglePanelEvent:function(e){var t=this.reactData,e=e.$event;e.preventDefault(),t.triggerFocusPanel?t.triggerFocusPanel=!1:t.visiblePanel?this.hideOptionPanel(e):this.showOptionPanel(e)},loadChildrenNode:function(t,e){var n,a,l,c,d,u=this,r=u.internalData,s=u.separator,p=r.nodeMaps,r=u.computeTreeOpts,h=u.computeLabelField,i=r.lazy,o=r.transform;return i?(n=u.computeChildrenField,a=u.computeMapChildrenField,l=p[u.getNodeId(t)],c=l?l.level:0,d=l?l.nodes:[],u.createNode(e).then(function(e){return _xeUtils.default.eachTree(e,function(e,t,n,a,r,i){var o=u.getNodeId(e);p[o]={item:e,index:-1,$index:-1,_index:-1,items:n,parent:r||l.item,nodes:d.concat(i),level:c+i.length,treeIndex:-1,lineCount:0,treeLoaded:!1,fullLabel:i.map(function(e){return e[h]}).join(s||" / ")}},{children:n}),t[n]=e,o&&(t[a]=e),u.updateAfterDataIndex(),e})):Promise.resolve([])},renderRadio:function(e,t,n,a,r,i,o){var l,c=this,d=c.showRadio,u=c.computeRadioOpts,s=u.checkMode,p=u.checkMethod,h=u.visibleMode,u=u.visibleMethod,u=u?u({$cascader:c,node:t}):handleVisibleOrCheckMode(h,n,a);return d&&u?e("div",{class:["vxe-tree--radio-option",{"is--checked":r,"is--disabled":l=p?!p({$cascader:c,node:t}):!handleVisibleOrCheckMode(s,n,a)}],on:{click:function(e){l||c.changeRadioEvent(e,t,i,o)}}},[e("span",{class:["vxe-radio--icon",r?(0,_ui.getIcon)().RADIO_CHECKED:l?(0,_ui.getIcon)().RADIO_DISABLED_UNCHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})]):(0,_ui.renderEmptyElement)(c)},renderCheckbox:function(e,t,n,a,r,i,o,l){var c,d=this,u=d.showCheckbox,s=d.computeCheckboxOpts,p=s.checkMode,h=s.checkMethod,f=s.visibleMode,s=s.visibleMethod,s=s?s({$cascader:d,node:t}):handleVisibleOrCheckMode(f,n,a);return u&&s?e("div",{class:["vxe-cascader--checkbox-option",{"is--checked":r,"is--indeterminate":i,"is--disabled":c=h?!h({$cascader:d,node:t}):!handleVisibleOrCheckMode(p,n,a)}],on:{click:function(e){c||d.changeCheckboxEvent(e,t,o,l)}}},[e("span",{class:["vxe-checkbox--icon",i?(0,_ui.getIcon)().CHECKBOX_INDETERMINATE:r?(0,_ui.getIcon)().CHECKBOX_CHECKED:c?(0,_ui.getIcon)().CHECKBOX_DISABLED_UNCHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})]):(0,_ui.renderEmptyElement)(d)},renderNode:function(e,t,n,a,r,i){var o=this,l=o.reactData,c=o.internalData,d=o.$scopedSlots,u=o.multiple,s=l.currentNode,p=l.updateCheckboxFlag,h=c.nodeMaps,f=o.computeTreeOpts,m=f.lazy,v=f.iconLoaded,g=f.iconOpen,C=f.iconClose,x=t[f.transform?o.computeMapChildrenField:o.computeChildrenField],x=x&&0<x.length,b=d.icon,d=d.title,E=l.updateExpandedFlag&&c.treeExpandedMaps[n],h=h[n]||{},_=t[o.computeLabelField],k=h.level,y=!1,l=(u||(y=n===l.selectRadioKey),!1),D=!1,p=(u&&(l=!(!p||!c.selectCheckboxMaps[n]),D=!(!p||!c.indeterminateRowMaps[n])),!1),I=!1,O=!1,c=(m&&(I=!!c.treeExpandLazyLoadedMaps[n],p=t[o.computeHasChildField],O=!!h.treeLoaded),{node:t});return e("div",{key:"".concat(i,"_").concat(a),class:["vxe-cascader-chunk--node-item",{"is--current":s&&(s===t||o.getNodeId(s)===n),"is-radio--checked":y,"is-checkbox--checked":l,"is-checkbox--indeterminate":D,"is--expand":E}],attrs:{title:_},on:{mousedown:function(e){0===e.button&&e.stopPropagation()},click:function(e){o.handleNodeClickEvent(e,t,r,i)}}},[u?o.renderCheckbox(e,t,x,k,l,D,r,i):o.renderRadio(e,t,x,k,y,r,i),e("div",{class:"vxe-cascader-chunk--node-item-inner"},[e("div",{class:"vxe-cascader-chunk--node-item-title"},d?(0,_ui.getSlotVNs)(d(c)):_)]),f.showIcon&&(!m||O?x:p)?e("div",{class:"vxe-cascader-chunk--node-item-switcher"},[[e("div",{class:"vxe-cascader--node-item-icon",on:{click:function(e){"icon"===f.trigger&&o.toggleExpandEvent(e,t,r,i)}}},b?(0,_ui.getSlotVNs)(b(c)):[e("i",{class:I?v||(0,_ui.getIcon)().CASCADER_NODE_LOADED:E?g||(0,_ui.getIcon)().CASCADER_NODE_OPEN:C||(0,_ui.getIcon)().CASCADER_NODE_CLOSE})])]]):(0,_ui.renderEmptyElement)(o)])},renderVN:function(i){var o=this,e=o,t=o.reactData,n=o.$scopedSlots,a=e.className,r=e.value,l=e.multiple,c=e.loading,d=e.filterable,u=e.showTotalButton,s=e.showCheckedButton,p=e.showClearButton,h=e.showCloseButton,f=t.initialized,m=t.isActivated,v=t.isAniVisible,g=t.visiblePanel,C=t.searchValue,x=t.currentCunkList,b=o.internalData.listVirtualYOpts,E=o.computeSize,_=o.computeIsDisabled,k=o.computeSelectLabel,y=o.computeBtnTransfer,D=o.computePopupWrapperStyle,I=n.header,O=n.footer,F=n.prefix,n=o.computePopupOpts.className;return o.computeFormReadonly?i("div",{ref:"refElem",class:["vxe-cascader--readonly",a]},[i("span",{class:"vxe-cascader-label"},k)]):(r=_xeUtils.default.eqNull(r)?[]:_xeUtils.default.isArray(r)?r:[r],i("div",{ref:"refElem",class:["vxe-cascader",a?_xeUtils.default.isFunction(a)?a({$cascader:o}):a:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(E),E),"is--filterable",d),"is--visible",g),"is--disabled",_),"is--loading",c),"is--active",m)]},[i(_input.default,{ref:"refInput",props:{clearable:e.clearable,placeholder:c?(0,_ui.getI18n)("vxe.select.loadingText"):e.placeholder,editable:!1,disabled:_,type:"text",prefixIcon:e.prefixIcon,suffixIcon:c?(0,_ui.getIcon)().TREE_SELECT_LOADED:g?(0,_ui.getIcon)().TREE_SELECT_OPEN:(0,_ui.getIcon)().TREE_SELECT_CLOSE,value:c?"":k,title:k},on:{clear:o.clearEvent,click:o.clickEvent,focus:o.focusEvent,blur:o.blurEvent,"suffix-click":o.togglePanelEvent},scopedSlots:F?{prefix:function(){return F({})}}:void 0}),i("div",{ref:"refOptionPanel",class:["vxe-table--ignore-clear vxe-cascader--panel",n?_xeUtils.default.isFunction(n)?n({$cascader:o}):n:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(E),E),"is--transfer",y),"ani--leave",!c&&v),"ani--enter",!c&&g)],attrs:{placement:t.panelPlacement},style:D},f?[i("div",{class:"vxe-cascader--panel-wrapper"},[d?i("div",{class:"vxe-cascader--panel-search"},[i(_input.default,{ref:"refInpSearch",class:"vxe-cascader-search--input",props:{value:C,clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.cascader.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH},on:{"model-value":o.modelSearchEvent}})]):(0,_ui.renderEmptyElement)(o),s&&l||p||I?i("div",{class:"vxe-cascader--panel-header"},I?I({}):[i("div",{class:"vxe-cascader--header-button"},[s&&l||p?i("div",{class:"vxe-cascader--selected-btns"},[s&&l?i(_button.default,{props:{content:(0,_ui.getI18n)("vxe.treeSelect.allChecked"),mode:"text"},on:{click:o.allCheckedPanelEvent}}):(0,_ui.renderEmptyElement)(o),p?i(_button.default,{props:{content:(0,_ui.getI18n)("vxe.treeSelect.clearChecked"),mode:"text"},on:{click:o.clearCheckedPanelEvent}}):(0,_ui.renderEmptyElement)(o)]):(0,_ui.renderEmptyElement)(o)])]):(0,_ui.renderEmptyElement)(o),i("div",{class:"vxe-cascader--panel-body"},[i("div",{ref:"refChunkWrapper",class:"vxe-cascader-chunk--wrapper"},[x.map(function(a,r){return i("div",{key:r,class:"vxe-cascader-chunk--item-wrapper"},[i(_list.default,{props:{data:a,virtualYConfig:b},scopedSlots:{default:function(e){return e.items.map(function(e,t){var n=o.getNodeId(e);return o.renderNode(i,e,n,t,a,r)})}}})])})])]),O||u||h?i("div",{class:"vxe-cascader--panel-footer"},O?O({}):[i("div",{class:"vxe-cascader--footer-button"},[u?i("div",{class:"vxe-cascader--total-btns"},(0,_ui.getI18n)("vxe.treeSelect.total",[r.length])):(0,_ui.renderEmptyElement)(o),h?i("div",{class:"vxe-cascader--oper-btns"},[i(_button.default,{props:{content:(0,_ui.getI18n)("vxe.select.close"),mode:"text"},on:{click:o.closePanelEvent}})]):(0,_ui.renderEmptyElement)(o)])]):(0,_ui.renderEmptyElement)(o)])]:[])]))}},watch:{value:function(){var e=this.internalData;e.isUpdateMode||(this.updateModelChecked(),this.handleCurrentItems(),this.updateCurrentChunk()),e.isUpdateMode=!1},options:function(){this.loadData(this.options||[])}},created:function(){var e=this.reactData;this.internalData=createInternalData(),this.multiple||(e.selectRadioKey=(0,_util.enNodeValue)(this.value)),this.loadData(this.options||[])},mounted:function(){var e=this;_ui.globalEvents.on(e,"mousedown",e.handleGlobalMousedownEvent),_ui.globalEvents.on(e,"blur",e.handleGlobalBlurEvent),_ui.globalEvents.on(e,"resize",e.handleGlobalResizeEvent),_ui.globalEvents.on(e,"scroll",e.handleGlobalScrollEvent)},beforeDestroy:function(){var e=this,t=e.reactData,n=e.internalData,a=e.$refs.refOptionPanel;a&&a.parentNode&&a.parentNode.removeChild(a),_ui.globalEvents.off(e,"mousedown"),_ui.globalEvents.off(e,"blur"),_ui.globalEvents.off(e,"resize"),_ui.globalEvents.off(e,"scroll"),_xeUtils.default.assign(t,createReactData()),_xeUtils.default.assign(n,createInternalData())},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=void 0;var _comp=require("../../ui/src/comp"),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_util=require("./util"),_xeUtils=_interopRequireDefault(require("xe-utils")),_list=_interopRequireDefault(require("../../list")),_input=_interopRequireDefault(require("../../input")),_button=_interopRequireDefault(require("../../button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default: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.")}function _createForOfIteratorHelper(e,t){var n,a,r,i,o="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(o)return r=!(a=!0),{s:function(){o=o.call(e)},n:function(){var e=o.next();return a=e.done,e},e:function(e){r=!0,n=e},f:function(){try{a||null==o.return||o.return()}finally{if(r)throw n}}};if(Array.isArray(e)||(o=_unsupportedIterableToArray(e))||t&&e&&"number"==typeof e.length)return o&&(e=o),i=0,{s:t=function(){},n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var n;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(n="Object"===(n={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function getNodeUniqueId(){return _xeUtils.default.uniqueId("node_")}function handleVisibleOrCheckMode(e,t,n){if(e){if("first"===e)return!n;if("last"===e)return!t}return!0}function createReactData(){return{initialized:!1,searchValue:"",searchLoading:!1,currentCunkList:[],currentItems:[],currentNode:null,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,selectRadioKey:null,treeList:[],updateExpandedFlag:1,updateCheckboxFlag:1,fullOptFlag:1,lazyOptFlag:1}}function createInternalData(){return{listVirtualYOpts:{enabled:!0,gt:20},afterTreeList:[],treeFullData:[],afterVisibleList:[],nodeMaps:{},fullNodeMaps:{},lazyNodeMaps:{},indeterminateRowMaps:{},selectCheckboxMaps:{},treeExpandedMaps:{},treeExpandLazyLoadedMaps:{}}}var _default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeCascader",mixins:[_ui.globalMixins.sizeMixin],model:{prop:"value",event:"modelValue"},props:{value:[String,Number,Array],clearable:Boolean,placeholder:{type:String,default:function(){return _xeUtils.default.eqNull((0,_ui.getConfig)().cascader.placeholder)?(0,_ui.getI18n)("vxe.base.pleaseSelect"):(0,_ui.getConfig)().cascader.placeholder}},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},filterable:Boolean,filterConfig:Object,showFullLabel:{type:Boolean,default:function(){return(0,_ui.getConfig)().cascader.showFullLabel}},separator:{type:String,default:function(){return(0,_ui.getConfig)().cascader.separator}},multiple:Boolean,className:[String,Function],prefixIcon:String,lazyOptions:Array,options:Array,optionProps:Object,size:{type:String,default:function(){return(0,_ui.getConfig)().cascader.size||(0,_ui.getConfig)().size}},treeConfig:Object,showRadio:{type:Boolean,default:function(){return(0,_ui.getConfig)().cascader.showRadio}},radioConfig:Object,showCheckbox:{type:Boolean,default:function(){return(0,_ui.getConfig)().cascader.showCheckbox}},checkboxConfig:Object,remote:Boolean,remoteConfig:Function,popupConfig:Object,checkedClosable:{type:Boolean,default:function(){return(0,_ui.getConfig)().cascader.checkedClosable}},clearClosable:{type:Boolean,default:function(){return(0,_ui.getConfig)().cascader.clearClosable}},showCloseButton:{type:Boolean,default:function(){return(0,_ui.getConfig)().cascader.showCloseButton}},showTotalButton:{type:Boolean,default:function(){return(0,_ui.getConfig)().cascader.showTotalButton}},showCheckedButton:{type:Boolean,default:function(){return(0,_ui.getConfig)().cascader.showCheckedButton}},showClearButton:{type:Boolean,default:function(){return(0,_ui.getConfig)().cascader.showClearButton}}},inject:{$xeModal:{default:null},$xeDrawer:{default:null},$xeTable:{default:null},$xeForm:{default:null},formItemInfo:{from:"xeFormItemInfo",default:null}},provide:function(){return{$xeCascader: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,a=e.$xeDrawer,r=e.$xeForm,e=e.computePopupOpts.transfer;return _xeUtils.default.isBoolean(e)?e:!!(t||n||a||r)},computeTreeOpts:function(){return Object.assign({},(0,_ui.getConfig)().cascader.treeConfig,this.treeConfig)},computeRadioOpts:function(){return Object.assign({},(0,_ui.getConfig)().cascader.radioConfig,this.radioConfig)},computeCheckboxOpts:function(){return Object.assign({},(0,_ui.getConfig)().cascader.checkboxConfig,this.checkboxConfig)},computePopupOpts:function(){return Object.assign({},(0,_ui.getConfig)().cascader.popupConfig,this.popupConfig)},computePropsOpts:function(){return this.optionProps||{}},computeLabelField:function(){return this.computePropsOpts.label||"label"},computeValueField:function(){return this.computePropsOpts.value||"value"},computeKeyField:function(){return this.computeTreeOpts.keyField||"id"},computeParentField:function(){return this.computeTreeOpts.parentField||"parentId"},computeChildrenField:function(){return this.computeTreeOpts.childrenField||"children"},computeMapChildrenField:function(){return this.computeTreeOpts.mapChildrenField||"mapChildren"},computeHasChildField:function(){return this.computeTreeOpts.hasChildField||"hasChild"},computeRemoteOpts:function(){return Object.assign({},(0,_ui.getConfig)().cascader.remoteConfig,this.remoteConfig)},computeSelectVals:function(){var e=this.value;return _xeUtils.default.eqNull(e)?[]:_xeUtils.default.isArray(e)?e:[e]},computeSelectLabel:function(){var e=this,t=e.reactData,n=e.internalData,a=e.showFullLabel,r=t.fullOptFlag,i=t.lazyOptFlag,o=n.fullNodeMaps,l=n.lazyNodeMaps,c=e.computeLabelField;return e.computeSelectVals.map(function(e){var t=o[e];if(r&&t)return a?t.fullLabel:t.item[c];if(i){t=l[e];if(t)return a?t.fullLabel:t.item[c]}return e}).join(", ")},computePopupWrapperStyle:function(){var e=this.reactData,t=e.currentCunkList,n=this.computePopupOpts,a=n.height,r=n.nodeWidth,n=n.nodeHeight,e=Object.assign(Object.assign({},e.panelStyle),{"--vxe-ui-cascader-chunk-size":t.length});return a&&(e["--vxe-ui-cascader-chunk-height"]=(0,_dom.toCssUnit)(a)),r&&(e["--vxe-ui-cascader-node-width"]=(0,_dom.toCssUnit)(r)),n&&(e["--vxe-ui-cascader-node-height"]=(0,_dom.toCssUnit)(n)),e},computeFilterOpts:function(){return Object.assign({},(0,_ui.getConfig)().cascader.filterConfig,this.filterConfig)}}),methods:{dispatchEvent:function(e,t,n){this.$emit(e,(0,_ui.createEvent)(n,{$cascader:this},t))},emitModel:function(e){var t=this._events;t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},getNodeId:function(e){return e?(e=e[this.computeValueField],(0,_util.enNodeValue)(e)):""},isPathInTree:function(e,t){var n=this;if(!t||!t.length)return!1;var a,r=e,i=_createForOfIteratorHelper(t);try{var o;for(i.s();!(a=i.n()).done;)if(o=(()=>{var t=a.value,e=r.find(function(e){return n.getNodeId(e)===t});if(!e)return{v:!1};r=e.children||[]})())return o.v}catch(e){i.e(e)}finally{i.f()}return!0},isCheckedByCheckboxNodeId:function(e){var t=this.reactData,n=this.internalData,t=t.updateCheckboxFlag,n=n.selectCheckboxMaps;return!(!t||!n[e])},handleCheckedCheckboxNode:function(e,n){function t(e){var t=a.getNodeId(e);n?i[t]||(i[t]=e):i[t]&&delete i[t]}var a=this,r=a.reactData,i=a.internalData.selectCheckboxMaps,o=a.computeMapChildrenField,l=a.computeChildrenField,c=a.computeCheckboxOpts.checkStrictly,d=a.computeTreeOpts.transform;c?e.forEach(t):_xeUtils.default.eachTree(e,t,{children:d?o:l}),r.updateCheckboxFlag++,a.updateCheckboxStatus()},createNode:function(e){var n=this,a=n.computeValueField;return Promise.resolve(e.map(function(e){var t,e=Object.assign({},e);return n.getNodeId(e)||(t=getNodeUniqueId(),_xeUtils.default.set(e,a,t)),e}))},handleSetCheckboxByNodeId:function(e,t){var n,a=this.internalData.nodeMaps;return e&&(_xeUtils.default.isArray(e)||(e=[e]),n=[],e.forEach(function(e){e=(0,_util.enNodeValue)(e),e=a[e];e&&n.push(e.item)}),this.handleCheckedCheckboxNode(n,t)),this.$nextTick()},updateCheckboxChecked:function(e){this.internalData.selectCheckboxMaps={},this.handleSetCheckboxByNodeId(e,!0)},updateModelChecked:function(){var t=this,e=t.reactData,n=t.internalData,a=t.value,r=n.nodeMaps,i={};t.multiple?a&&a.length&&t.updateCheckboxChecked(a):a&&(a=r[r=(0,_util.enNodeValue)(_xeUtils.default.isArray(a)?a[0]:a)])&&(a.nodes.forEach(function(e){i[t.getNodeId(e)]=!0}),e.selectRadioKey=r),n.treeExpandedMaps=i},cacheNodeMap:function(){var c=this,e=c.reactData,t=c.internalData,d=c.separator,n=t.treeFullData,u=c.computeValueField,s=c.computeLabelField,p={},h={};_xeUtils.default.eachTree(n,function(e,t,n,a,r,i){var o=c.getNodeId(e),l=(o||(o=getNodeUniqueId(),e[u]=o),e[u]),e={item:e,index:t,$index:-1,_index:-1,items:n,parent:r,nodes:i,level:i.length-1,treeIndex:t,lineCount:0,treeLoaded:!1,fullLabel:i.map(function(e){return e[s]}).join(d||" / ")};h[l]=p[o]=e},{children:c.computeChildrenField}),t.nodeMaps=p,t.fullNodeMaps=h,e.fullOptFlag++},updateAfterDataIndex:function(){var c=this,e=c.internalData,d=c.separator,t=e.afterTreeList,u=e.nodeMaps,s=c.computeLabelField,e=c.computeTreeOpts.transform,p=0;_xeUtils.default.eachTree(t,function(e,t,n,a,r,i){var o=c.getNodeId(e),l=u[o];l?(l.items=n,l.treeIndex=t,l._index=p):(l={item:e,index:t,$index:-1,_index:p,items:n,parent:r,nodes:i,level:i.length-1,treeIndex:t,lineCount:0,treeLoaded:!1,fullLabel:i.map(function(e){return e[s]}).join(d||" / ")},u[o]=l),p++},{children:e?c.computeMapChildrenField:c.computeChildrenField})},updateAfterFullData:function(){var e,t,n=this,a=n.reactData,r=n.internalData,a=a.searchValue,i=r.treeFullData,o=r.lastFilterValue,l=n.computeLabelField,c=n.computeChildrenField,d=n.computeMapChildrenField,u=n.computeTreeOpts.transform,s=n.computeFilterOpts,p=s.beforeFilterMethod,h=s.filterMethod,f=s.afterFilterMethod,s=i,m=s,v="";a?(v="".concat(a),a=h?function(e){return h({$cascader:n,node:e,filterValue:v})}:function(e){return-1<String(e[l]).toLowerCase().indexOf(v.toLowerCase())},e={$cascader:n,filterValue:v},p&&p(e),s=u?m=_xeUtils.default.searchTree(i,a,{original:!0,isEvery:!1,children:c,mapChildren:d}):i.filter(a),r.lastFilterValue=v,n.$nextTick(function(){f&&f(e)})):(u&&(s=m=_xeUtils.default.searchTree(i,function(){return!0},{original:!0,isEvery:!1,children:c,mapChildren:d}),o)&&(t={$cascader:n,filterValue:v},p&&p(t),n.$nextTick(function(){f&&f(t)})),r.lastFilterValue=""),r.afterVisibleList=s,r.afterTreeList=m,n.updateAfterDataIndex()},handleTreeToList:function(){var l,c=this,e=c.internalData,t=e.afterTreeList,d=e.treeExpandedMaps,n=c.computeTreeOpts.transform,u={};return n?(l=[],_xeUtils.default.eachTree(t,function(e,t,n,a,r){var i=c.getNodeId(e),o=c.getNodeId(r);(!r||u[o]&&d[o])&&(u[i]=1,l.push(e))},{children:c.computeMapChildrenField}),e.afterVisibleList=l):e.afterVisibleList},handleData:function(e){var t=this.reactData,n=this.internalData.afterVisibleList,e=(e&&(this.updateAfterFullData(),n=this.handleTreeToList()),n.slice(0));t.treeList=e},handleHasChildNodeIds:function(e,t){for(var n=this,a=n.computeChildrenField,r=n.computeTreeOpts.transform?n.computeMapChildrenField:a,i=[],o=e;o.length;){var l,c=null,d=_createForOfIteratorHelper(o);try{for(d.s();!(l=d.n()).done;){var u=l.value,s=u[r];if(_xeUtils.default.isArray(s)&&0<s.length){c=u;break}}}catch(e){d.e(e)}finally{d.f()}if(!c){var p=_xeUtils.default[t](o);i.push(n.getNodeId(p));break}i.push(n.getNodeId(c)),o=c[r]}return i},triggerSearchEvent:_xeUtils.default.debounce(function(){var t,e=this,n=e.reactData,a=e.internalData,r=(e.handleData(!0),e.updateCheckboxStatus(),n.currentItems),i=a.afterTreeList,o=e.computeFilterOpts.autoExpandMode;e.isPathInTree(i,r)||("first"===o||"last"===o?(r=e.handleHasChildNodeIds(i,o),t={},r.forEach(function(e){t[e]=!0}),a.treeExpandedMaps=t,n.currentItems=r):e.handleCurrentItems()),e.updateCurrentChunk()},350,{trailing:!0}),loadData:function(e){var t=this,n=t.internalData,a=t.computeTreeOpts,r=a.rootParentValue,r=a.transform?_xeUtils.default.toArrayTree(e,{key:t.computeKeyField,parentKey:t.computeParentField,mapChildren:t.computeChildrenField,rootParentValue:r,rootValues:a.rootValues}):e?e.slice(0):[];return n.treeFullData=r,t.cacheNodeMap(),t.handleData(!0),t.updateModelChecked(),t.handleCurrentItems(),t.updateCurrentChunk(),t.$nextTick()},updateCurrentChunk:function(){var t=this,e=t.reactData,n=e.currentItems,a=t.internalData.afterTreeList,r=t.computeChildrenField,i=t.computeMapChildrenField,o=t.computeTreeOpts.transform,l=[a];if(n.length)for(var c=0,d=n[c],u=a;d&&u&&u.length;){var d=n[c++],s=u.find(function(e){return d===t.getNodeId(e)});if(!(u=s?s[o?i:r]:[])||!u.length)break;l.push(u)}e.currentCunkList=l},handleCurrentItems:function(){var t=this,e=t.reactData,n=t.internalData,a=e.currentNode,r=n.afterTreeList,i=t.computeSelectVals,o=t.computeChildrenField,l=t.computeMapChildrenField,c=t.computeTreeOpts.transform,d=[],u={},s=a?t.getNodeId(a):(0,_util.enNodeValue)(_xeUtils.default.last(i));s&&(a=_xeUtils.default.findTree(r,function(e){return s===t.getNodeId(e)},{children:c?l:o}))&&a.nodes.forEach(function(e){e=t.getNodeId(e);u[e]=!0,d.push(e)}),e.currentItems=d,n.treeExpandedMaps=u},updateZindex:function(){var e=this.reactData,t=this.computePopupOpts.zIndex;t?e.panelIndex=t:e.panelIndex<(0,_utils.getLastZIndex)()&&(e.panelIndex=(0,_utils.nextZIndex)())},updatePlacement:function(){function e(){var e=(0,_dom.updatePanelPlacement)(r,i,{placement:l.placement,defaultPlacement:l.defaultPlacement,appendTo:l.appendTo,teleportTo:o,isMinWidth:!1}),t=Object.assign(e.style,{zIndex:a});n.panelStyle=t,n.panelPlacement=e.placement}var t=this,n=t.reactData,a=n.panelIndex,r=t.$refs.refElem,i=t.$refs.refOptionPanel,o=t.computeBtnTransfer,l=t.computePopupOpts;return e(),t.$nextTick().then(e)},showOptionPanel:function(e){var t=this,n=t.reactData,a=t.internalData,r=t.loading,i=t.remote,o=t.filterable,l=a.treeFullData,c=t.computeRemoteOpts;r||t.computeIsDisabled||(clearTimeout(a.hpTimeout),n.initialized||(n.initialized=!0,r=t.computeBtnTransfer,a=t.$refs.refOptionPanel,r&&a&&document.body.appendChild(a)),n.isActivated=!0,n.isAniVisible=!0,o&&i&&c.enabled&&c.autoLoad&&!l.length&&t.handleSearchEvent(),setTimeout(function(){n.visiblePanel=!0,t.handleFocusSearch()},10),t.updateZindex(),t.updatePlacement(),t.dispatchEvent("visible-change",{visible:!0},e||null))},hideOptionPanel:function(e){var t=this.reactData,n=this.internalData;t.visiblePanel=!1,n.hpTimeout=setTimeout(function(){t.isAniVisible=!1},350),this.dispatchEvent("visible-change",{visible:!1},e||null)},setCurrentNode:function(e){return this.reactData.currentNode=e,this.$nextTick()},setAllCheckboxNode:function(e){var n=this,t=n.reactData,a=n.internalData,r={},i=n.computeTreeOpts.transform,o=[],l=[];return e&&_xeUtils.default.eachTree(a.afterTreeList,function(e){var t=n.getNodeId(e);o.push(t),l.push(e),r[t]=!0},{children:i?n.computeMapChildrenField:n.computeChildrenField}),a.indeterminateRowMaps={},a.selectCheckboxMaps=r,t.updateCheckboxFlag++,n.updateCheckboxStatus(),n.$nextTick().then(function(){return{checkNodeKeys:o,checkNodes:l}})},clearSelectedNode:function(){var e=this.reactData,t=this.internalData;return t.indeterminateRowMaps={},t.selectCheckboxMaps={},e.updateCheckboxFlag++,e.selectRadioKey=null,this.updateCheckboxStatus(),this.$nextTick().then(function(){return{checkNodeKeys:[],checkNodes:[]}})},changeEvent:function(e,t,n){var a=this,r=a,i=a.internalData,o=a.$xeForm,l=a.formItemInfo,t=_xeUtils.default.isArray(t)?t.map(_util.deNodeValue):(0,_util.deNodeValue)(t);i.isUpdateMode=!0,a.emitModel(t),t!==r.value&&(a.dispatchEvent("change",{value:t,node:n,option:n},e),o)&&l&&o.triggerItemEvent(e,l.itemConfig.field,t)},clearValueEvent:function(e,t){this.changeEvent(e,t,null),this.dispatchEvent("clear",{value:t},e)},clearEvent:function(e,t){this.clearValueEvent(t,null),this.hideOptionPanel(t)},allCheckedPanelEvent:function(e){var n=this,a=e.$event,e=n.multiple,r=n.checkedClosable;e&&n.setAllCheckboxNode(!0).then(function(e){var t=e.checkNodeKeys;n.changeEvent(a,t,e.checkNodes[0]),n.dispatchEvent("all-change",{value:t},a),r&&n.hideOptionPanel(a)})},clearCheckedPanelEvent:function(e){var t=this,n=e.$event,e=t.multiple,a=t.checkedClosable,e=e?[]:null;t.clearSelectedNode().then(function(){a&&t.hideOptionPanel(n)}),t.changeEvent(n,e,null),t.dispatchEvent("clear",{value:e},n)},closePanelEvent:function(e){e=e.$event;this.hideOptionPanel(e)},handleGlobalMousedownEvent:function(e){var t,n,a=this,r=a.reactData,i=r.visiblePanel;a.computeIsDisabled||(t=a.$refs.refElem,n=a.$refs.refOptionPanel,r.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,n).flag,i&&!r.isActivated&&a.hideOptionPanel(e))},handleGlobalBlurEvent:function(e){var t=this.reactData,n=t.visiblePanel,a=t.isActivated;n&&this.hideOptionPanel(e),a&&(t.isActivated=!1),(n||a)&&(e=this.$refs.refInput)&&e.blur()},handleGlobalResizeEvent:function(){this.reactData.visiblePanel&&this.updatePlacement()},handleGlobalScrollEvent:function(){this.reactData.visiblePanel&&this.updatePlacement()},handleFocusSearch:function(){var t=this;t.filterable&&t.$nextTick(function(){var e=t.$refs.refInpSearch;e&&e.focus()})},changeCurrentEvent:function(e,t){var n=this.reactData;e.preventDefault();n.currentNode=t,this.dispatchEvent("current-change",{node:t,checked:!0},e)},changeRadioEvent:function(e,t,n,a){var r=this,i=r.reactData,o=r.internalData,l=(e.preventDefault(),e.stopPropagation(),i.currentItems),o=o.nodeMaps,c=r.computeRadioOpts,d=r.computeChildrenField,u=r.computeMapChildrenField,s=r.computeTreeOpts.transform,p=c.checkMode,c=c.checkMethod,h=r.getNodeId(t),s=t[s?u:d],u=s&&0<s.length,d=(o[h]||{}).level;(c?c({$cascader:r,node:t}):handleVisibleOrCheckMode(p,u,d))&&(i.selectRadioKey=s=h,r.changeEvent(e,s,t),l.includes(h)||(r.changeCurrentEvent(e,t),r.toggleExpandEvent(e,t,n,a)),r.hideOptionPanel(e))},handleAsyncTreeExpandChilds:function(i){var o=this,l=o.reactData,c=o.internalData,n=o.computeTreeOpts.loadMethod,d=o.computeCheckboxOpts.checkStrictly;return new Promise(function(e){var t,a,r;n?(t=c.nodeMaps,a=o.getNodeId(i),r=t[a],c.treeExpandLazyLoadedMaps[a]=!0,Promise.resolve(n({$cascader:o,node:i})).then(function(n){var e=c.treeExpandLazyLoadedMaps;if(r.treeLoaded=!0,e[a]&&(e[a]=!1),n=_xeUtils.default.isArray(n)?n:[])return o.loadChildrenNode(i,n).then(function(e){var t=c.treeExpandedMaps;return e.length&&!t[a]&&(t[a]=!0),l.updateExpandedFlag++,!d&&o.isCheckedByCheckboxNodeId(a)&&o.handleCheckedCheckboxNode(e,!0),o.dispatchEvent("load-success",{node:i,data:n},new Event("load-success")),o.$nextTick()});o.dispatchEvent("load-success",{node:i,data:n},new Event("load-success"))}).catch(function(e){var t=c.treeExpandLazyLoadedMaps;r.treeLoaded=!1,t[a]&&(t[a]=!1),o.dispatchEvent("load-error",{node:i,data:e},new Event("load-error"))}).finally(function(){o.handleTreeToList(),o.handleData()})):e()})},handleBaseTreeExpand:function(e,t){var a=this,n=a.reactData,r=a.internalData,i=r.treeExpandLazyLoadedMaps,o=r.treeExpandedMaps,l=r.nodeMaps,c=a.computeChildrenField,d=a.computeHasChildField,r=a.computeTreeOpts,u=r.lazy,s=r.toggleMethod,p=[],r=(r=s?e.filter(function(e){return s({$cascader:a,expanded:t,node:e})}):e).length?[r[r.length-1]]:[],e=a.getNodeId(r[0]),e=l[e],h=(e&&e.items.forEach(function(e){e=a.getNodeId(e);o[e]&&delete o[e]}),[]);return t?r.forEach(function(e){var t,n=a.getNodeId(e);o[n]||(t=l[n],u&&e[d]&&!t.treeLoaded&&!i[n]?p.push(a.handleAsyncTreeExpandChilds(e)):e[c]&&e[c].length&&(o[n]=!0,h.push(e)))}):r.forEach(function(e){var t=a.getNodeId(e);o[t]&&(delete o[t],h.push(e))}),n.updateExpandedFlag++,a.handleTreeToList(),a.handleData(),Promise.all(p)},toggleExpandEvent:function(e,t,n,a){var r=this,i=r.reactData,o=i.currentItems,l=r.internalData.treeExpandLazyLoadedMaps,c=r.computeTreeOpts.lazy,o=o.slice(0,a),a=r.getNodeId(t);e.stopPropagation(),o.push(a),i.currentItems=o,c&&l[a]||r.handleBaseTreeExpand([t],!0),r.setCurrentNode(t),r.updateCurrentChunk(),r.dispatchEvent("node-expand",{node:t,expanded:!0},e)},updateCheckboxStatus:function(){var a,r,l=this,e=l.reactData,t=l.internalData,c=t.selectCheckboxMaps,d=t.indeterminateRowMaps,i=l.computeChildrenField,o=l.computeMapChildrenField,n=l.computeCheckboxOpts,u=n.checkStrictly,s=n.checkMethod,p=l.computeTreeOpts.transform;u||(a={},r=[],_xeUtils.default.eachTree(t.afterTreeList,function(e){var t=l.getNodeId(e),n=e[p?o:i];n&&n.length&&!a[t]&&(a[t]=1,r.unshift([e,t,n]))},{children:p?o:i}),r.forEach(function(e){var t=e[0],n=e[1],e=e[2],a=0,r=0,i=0,o=e.length,e=(e.forEach(s?function(e){var t=l.getNodeId(e),n=c[t];s({$cascader:l,node:e})?(n?a++:d[t]&&r++,i++):n?a++:d[t]&&r++}:function(e){e=l.getNodeId(e);c[e]?a++:d[e]&&r++,i++}),!1),o=!(e=0<o?0<i?(0<a||0<r)&&i<=a:0<a&&i<=a||!!c[n]:c[n])&&(0<a||0<r);e?(c[n]=t,d[n]&&delete d[n]):(c[n]&&delete c[n],o?d[n]=t:d[n]&&delete d[n])}),e.updateCheckboxFlag++)},changeCheckboxEvent:function(e,t,n,a){var r,i=this,o=i.reactData,l=i.internalData,c=(e.preventDefault(),e.stopPropagation(),o.currentItems),d=l.selectCheckboxMaps,l=l.nodeMaps,u=i.computeChildrenField,s=i.computeMapChildrenField,p=i.computeCheckboxOpts,h=p.checkStrictly,f=p.checkMode,p=p.checkMethod,m=i.computeTreeOpts.transform,v=i.getNodeId(t),g=t[m?s:u],C=g&&0<g.length,l=(l[v]||{}).level;(p?p({$cascader:i,node:t}):handleVisibleOrCheckMode(f,C,l))&&(r=!1,d[v]?delete d[v]:(r=!0,d[v]=t),h||_xeUtils.default.eachTree(g,function(e){e=i.getNodeId(e);r?d[e]||(d[e]=!0):d[e]&&delete d[e]},{children:m?s:u}),o.updateCheckboxFlag++,i.updateCheckboxStatus(),p=_xeUtils.default.keys(d),i.changeEvent(e,p,t),!c.includes(v))&&(i.changeCurrentEvent(e,t),i.toggleExpandEvent(e,t,n,a))},handleNodeClickEvent:function(e,t,n,a){var r=this,i=r.multiple,o=r.showCheckbox,l=r.showRadio,c=r.computeTreeOpts,d=r.computeRadioOpts,u=r.computeCheckboxOpts,s=c.transform,c=c.trigger,s=t[s?r.computeMapChildrenField:r.computeChildrenField],p=!1,h=!1,f=!1;r.changeCurrentEvent(e,t),"icon"!==c&&(f=!0,r.toggleExpandEvent(e,t,n,a)),i?"node"!==u.trigger&&(o||s&&s.length)||(h=!0,r.changeCheckboxEvent(e,t,n,a)):"node"!==d.trigger&&(l||s&&s.length)||(p=!0,r.changeRadioEvent(e,t,n,a)),r.dispatchEvent("node-click",{node:t,triggerCurrent:!0,triggerRadio:p,triggerCheckbox:h,triggerExpand:f},e)},focusEvent:function(e){var t=this.reactData;this.computeIsDisabled||t.visiblePanel||(t.triggerFocusPanel=!0,this.showOptionPanel(e),setTimeout(function(){t.triggerFocusPanel=!1},150)),this.dispatchEvent("focus",{},e)},clickEvent:function(e){var t=this.reactData;e.preventDefault(),t.triggerFocusPanel?t.triggerFocusPanel=!1:t.visiblePanel||this.showOptionPanel(e),this.dispatchEvent("click",{},e)},blurEvent:function(e){this.reactData.isActivated=!1,this.dispatchEvent("blur",{},e)},modelSearchEvent:function(e){this.reactData.searchValue=e,this.triggerSearchEvent(new Event("filter"))},handleSearchEvent:function(){var e=this,t=e.reactData,n=e.value,a=t.searchValue,r=e.computeRemoteOpts,i=r.queryMethod;e.remote&&i&&r.enabled&&(t.searchLoading=!0,Promise.resolve(i({$cascader:e,searchValue:a,value:n})).then(function(){return e.$nextTick()}).catch(function(){return e.$nextTick()}).finally(function(){t.searchLoading=!1}))},togglePanelEvent:function(e){var t=this.reactData,e=e.$event;e.preventDefault(),t.triggerFocusPanel?t.triggerFocusPanel=!1:t.visiblePanel?this.hideOptionPanel(e):this.showOptionPanel(e)},loadChildrenNode:function(t,e){var n,a,l,c,d,u=this,r=u.internalData,s=u.separator,p=r.nodeMaps,r=u.computeTreeOpts,h=u.computeLabelField,i=r.lazy,o=r.transform;return i?(n=u.computeChildrenField,a=u.computeMapChildrenField,l=p[u.getNodeId(t)],c=l?l.level:0,d=l?l.nodes:[],u.createNode(e).then(function(e){return _xeUtils.default.eachTree(e,function(e,t,n,a,r,i){var o=u.getNodeId(e);p[o]={item:e,index:-1,$index:-1,_index:-1,items:n,parent:r||l.item,nodes:d.concat(i),level:c+i.length,treeIndex:-1,lineCount:0,treeLoaded:!1,fullLabel:i.map(function(e){return e[h]}).join(s||" / ")}},{children:n}),t[n]=e,o&&(t[a]=e),u.updateAfterDataIndex(),e})):Promise.resolve([])},renderRadio:function(e,t,n,a,r,i,o){var l,c=this,d=c.showRadio,u=c.computeRadioOpts,s=u.checkMode,p=u.checkMethod,h=u.visibleMode,u=u.visibleMethod,u=u?u({$cascader:c,node:t}):handleVisibleOrCheckMode(h,n,a);return d&&u?e("div",{class:["vxe-tree--radio-option",{"is--checked":r,"is--disabled":l=p?!p({$cascader:c,node:t}):!handleVisibleOrCheckMode(s,n,a)}],on:{click:function(e){l||c.changeRadioEvent(e,t,i,o)}}},[e("span",{class:["vxe-radio--icon",r?(0,_ui.getIcon)().RADIO_CHECKED:l?(0,_ui.getIcon)().RADIO_DISABLED_UNCHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})]):(0,_ui.renderEmptyElement)(c)},renderCheckbox:function(e,t,n,a,r,i,o,l){var c,d=this,u=d.showCheckbox,s=d.computeCheckboxOpts,p=s.checkMode,h=s.checkMethod,f=s.visibleMode,s=s.visibleMethod,s=s?s({$cascader:d,node:t}):handleVisibleOrCheckMode(f,n,a);return u&&s?e("div",{class:["vxe-cascader--checkbox-option",{"is--checked":r,"is--indeterminate":i,"is--disabled":c=h?!h({$cascader:d,node:t}):!handleVisibleOrCheckMode(p,n,a)}],on:{click:function(e){c||d.changeCheckboxEvent(e,t,o,l)}}},[e("span",{class:["vxe-checkbox--icon",i?(0,_ui.getIcon)().CHECKBOX_INDETERMINATE:r?(0,_ui.getIcon)().CHECKBOX_CHECKED:c?(0,_ui.getIcon)().CHECKBOX_DISABLED_UNCHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})]):(0,_ui.renderEmptyElement)(d)},renderNode:function(e,t,n,a,r,i){var o=this,l=o.reactData,c=o.internalData,d=o.$scopedSlots,u=o.multiple,s=l.currentNode,p=l.updateCheckboxFlag,h=c.nodeMaps,f=o.computeTreeOpts,m=f.lazy,v=f.iconLoaded,g=f.iconOpen,C=f.iconClose,x=t[f.transform?o.computeMapChildrenField:o.computeChildrenField],x=x&&0<x.length,b=d.icon,d=d.title,E=l.updateExpandedFlag&&c.treeExpandedMaps[n],h=h[n]||{},_=t[o.computeLabelField],k=h.level,y=!1,l=(u||(y=n===l.selectRadioKey),!1),D=!1,p=(u&&(l=!(!p||!c.selectCheckboxMaps[n]),D=!(!p||!c.indeterminateRowMaps[n])),!1),I=!1,O=!1,c=(m&&(I=!!c.treeExpandLazyLoadedMaps[n],p=t[o.computeHasChildField],O=!!h.treeLoaded),{node:t});return e("div",{key:"".concat(i,"_").concat(a),class:["vxe-cascader-chunk--node-item",{"is--current":s&&(s===t||o.getNodeId(s)===n),"is-radio--checked":y,"is-checkbox--checked":l,"is-checkbox--indeterminate":D,"is--expand":E}],attrs:{title:_},on:{mousedown:function(e){0===e.button&&e.stopPropagation()},click:function(e){o.handleNodeClickEvent(e,t,r,i)}}},[u?o.renderCheckbox(e,t,x,k,l,D,r,i):o.renderRadio(e,t,x,k,y,r,i),e("div",{class:"vxe-cascader-chunk--node-item-inner"},[e("div",{class:"vxe-cascader-chunk--node-item-title"},d?(0,_ui.getSlotVNs)(d(c)):_)]),f.showIcon&&(!m||O?x:p)?e("div",{class:"vxe-cascader-chunk--node-item-switcher"},[[e("div",{class:"vxe-cascader--node-item-icon",on:{click:function(e){"icon"===f.trigger&&o.toggleExpandEvent(e,t,r,i)}}},b?(0,_ui.getSlotVNs)(b(c)):[e("i",{class:I?v||(0,_ui.getIcon)().CASCADER_NODE_LOADED:E?g||(0,_ui.getIcon)().CASCADER_NODE_OPEN:C||(0,_ui.getIcon)().CASCADER_NODE_CLOSE})])]]):(0,_ui.renderEmptyElement)(o)])},renderVN:function(i){var o=this,e=o,t=o.reactData,n=o.$scopedSlots,a=e.className,r=e.value,l=e.multiple,c=e.loading,d=e.filterable,u=e.showTotalButton,s=e.showCheckedButton,p=e.showClearButton,h=e.showCloseButton,f=t.initialized,m=t.isActivated,v=t.isAniVisible,g=t.visiblePanel,C=t.searchValue,x=t.currentCunkList,b=o.internalData.listVirtualYOpts,E=o.computeSize,_=o.computeIsDisabled,k=o.computeSelectLabel,y=o.computeBtnTransfer,D=o.computePopupWrapperStyle,I=n.header,O=n.footer,F=n.prefix,n=o.computePopupOpts.className;return o.computeFormReadonly?i("div",{ref:"refElem",class:["vxe-cascader--readonly",a]},[i("span",{class:"vxe-cascader-label"},k)]):(r=_xeUtils.default.eqNull(r)?[]:_xeUtils.default.isArray(r)?r:[r],i("div",{ref:"refElem",class:["vxe-cascader",a?_xeUtils.default.isFunction(a)?a({$cascader:o}):a:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(E),E),"is--filterable",d),"is--visible",g),"is--disabled",_),"is--loading",c),"is--active",m)]},[i(_input.default,{ref:"refInput",props:{clearable:e.clearable,placeholder:c?(0,_ui.getI18n)("vxe.select.loadingText"):e.placeholder,editable:!1,disabled:_,type:"text",prefixIcon:e.prefixIcon,suffixIcon:c?(0,_ui.getIcon)().TREE_SELECT_LOADED:g?(0,_ui.getIcon)().TREE_SELECT_OPEN:(0,_ui.getIcon)().TREE_SELECT_CLOSE,value:c?"":k,title:k},on:{clear:o.clearEvent,click:o.clickEvent,focus:o.focusEvent,blur:o.blurEvent,"suffix-click":o.togglePanelEvent},scopedSlots:F?{prefix:function(){return F({})}}:void 0}),i("div",{ref:"refOptionPanel",class:["vxe-table--ignore-clear vxe-cascader--panel",n?_xeUtils.default.isFunction(n)?n({$cascader:o}):n:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(E),E),"is--transfer",y),"ani--leave",!c&&v),"ani--enter",!c&&g)],attrs:{placement:t.panelPlacement},style:D},f?[i("div",{class:"vxe-cascader--panel-wrapper"},[d?i("div",{class:"vxe-cascader--panel-search"},[i(_input.default,{ref:"refInpSearch",class:"vxe-cascader-search--input",props:{value:C,clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.cascader.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH},on:{"model-value":o.modelSearchEvent}})]):(0,_ui.renderEmptyElement)(o),s&&l||p||I?i("div",{class:"vxe-cascader--panel-header"},I?I({}):[i("div",{class:"vxe-cascader--header-button"},[s&&l||p?i("div",{class:"vxe-cascader--selected-btns"},[s&&l?i(_button.default,{props:{content:(0,_ui.getI18n)("vxe.treeSelect.allChecked"),mode:"text"},on:{click:o.allCheckedPanelEvent}}):(0,_ui.renderEmptyElement)(o),p?i(_button.default,{props:{content:(0,_ui.getI18n)("vxe.treeSelect.clearChecked"),mode:"text"},on:{click:o.clearCheckedPanelEvent}}):(0,_ui.renderEmptyElement)(o)]):(0,_ui.renderEmptyElement)(o)])]):(0,_ui.renderEmptyElement)(o),i("div",{class:"vxe-cascader--panel-body"},[i("div",{ref:"refChunkWrapper",class:"vxe-cascader-chunk--wrapper"},[x.map(function(a,r){return i("div",{key:r,class:"vxe-cascader-chunk--item-wrapper"},[i(_list.default,{props:{data:a,virtualYConfig:b},scopedSlots:{default:function(e){return e.items.map(function(e,t){var n=o.getNodeId(e);return o.renderNode(i,e,n,t,a,r)})}}})])})])]),O||u||h?i("div",{class:"vxe-cascader--panel-footer"},O?O({}):[i("div",{class:"vxe-cascader--footer-button"},[u?i("div",{class:"vxe-cascader--total-btns"},(0,_ui.getI18n)("vxe.treeSelect.total",[r.length])):(0,_ui.renderEmptyElement)(o),h?i("div",{class:"vxe-cascader--oper-btns"},[i(_button.default,{props:{content:(0,_ui.getI18n)("vxe.select.close"),mode:"text"},on:{click:o.closePanelEvent}})]):(0,_ui.renderEmptyElement)(o)])]):(0,_ui.renderEmptyElement)(o)])]:[])]))}},watch:{value:function(){var e=this.internalData;e.isUpdateMode||(this.updateModelChecked(),this.handleCurrentItems(),this.updateCurrentChunk()),e.isUpdateMode=!1},options:function(){this.loadData(this.options||[])}},created:function(){var e=this.reactData;this.internalData=createInternalData(),this.multiple||(e.selectRadioKey=(0,_util.enNodeValue)(this.value)),this.loadData(this.options||[])},mounted:function(){var e=this;_ui.globalEvents.on(e,"mousedown",e.handleGlobalMousedownEvent),_ui.globalEvents.on(e,"blur",e.handleGlobalBlurEvent),_ui.globalEvents.on(e,"resize",e.handleGlobalResizeEvent),_ui.globalEvents.on(e,"scroll",e.handleGlobalScrollEvent)},beforeDestroy:function(){var e=this,t=e.reactData,n=e.internalData,a=e.$refs.refOptionPanel;a&&a.parentNode&&a.parentNode.removeChild(a),_ui.globalEvents.off(e,"mousedown"),_ui.globalEvents.off(e,"blur"),_ui.globalEvents.off(e,"resize"),_ui.globalEvents.off(e,"scroll"),_xeUtils.default.assign(t,createReactData()),_xeUtils.default.assign(n,createInternalData())},render:function(e){return this.renderVN(e)}});
@@ -393,6 +393,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
393
393
  var ppObj = (0, _dom.updatePanelPlacement)(targetElem, panelElem, {
394
394
  placement: popupOpts.placement || placement,
395
395
  defaultPlacement: popupOpts.defaultPlacement,
396
+ appendTo: popupOpts.appendTo,
396
397
  teleportTo: btnTransfer
397
398
  });
398
399
  var panelStyle = Object.assign(ppObj.style, {
@@ -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"),_util=require("./util"),_button=_interopRequireDefault(require("../../button")),_input=_interopRequireDefault(require("../../input")),_numberInput=_interopRequireDefault(require("../../number-input"));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,l){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,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 l=e[Symbol.toPrimitive];if(void 0===l)return("string"===t?String:Number)(e);l=l.call(e,t||"default");if("object"!=_typeof(l))return l;throw new TypeError("@@toPrimitive must return a primitive value.")}var WinEyeDropper="undefined"!=typeof window?window.EyeDropper:null,typeList=[{label:"HEX",value:"hex"},{label:"RGB",value:"rgb"}],_default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeColorPicker",mixins:[_ui.globalMixins.sizeMixin],model:{prop:"value",event:"modelValue"},props:{value:String,placeholder:String,clearable:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.clearable}},type:{type:String,default:function(){return(0,_ui.getConfig)().colorPicker.type}},width:[Number,String],size:{type:String,default:function(){return(0,_ui.getConfig)().colorPicker.size||(0,_ui.getConfig)().size}},className:[String,Function],popupClassName:[String,Function],colors:{type:Array,default:function(){return _xeUtils.default.clone((0,_ui.getConfig)().colorPicker.colors,!0)||[]}},showAlpha:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.showAlpha}},showEyeDropper:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.showEyeDropper}},showColorExtractor:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.showColorExtractor}},showQuick:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.showQuick}},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},clickToCopy:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.clickToCopy}},defaultColor:{type:String,default:function(){return(0,_ui.getConfig)().colorPicker.defaultColor}},placement:String,transfer:{type:Boolean,default:null},popupConfig:Object},inject:{$xeModal:{default:null},$xeDrawer:{default:null},$xeTable:{default:null},$xeForm:{default:null},formItemInfo:{from:"xeFormItemInfo",default:null}},provide:function(){return{$xeColorPicker:this}},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:{initialized:!1,selectTyle:"hex",selectColor:"",showTypePopup:!1,panelColor:"",hexValue:"",rValue:0,gValue:0,bValue:0,aValue:0,panelIndex:0,panelStyle:{},panelPlacement:null,visiblePanel:!1,isAniVisible:!1,isActivated:!1},internalData:{hpTimeout:void 0}}},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,l=e.$xeModal,o=e.$xeDrawer,n=e.$xeCard,r=e.$xeForm,e=e.transfer;if(null===e){var i=(0,_ui.getConfig)().colorPicker.transfer;if(_xeUtils.default.isBoolean(i))return i;if(t||l||o||n||r)return!0}return e},computeColorList:function(){var e=this.colors;return e?e.map(function(e){return _xeUtils.default.isString(e)?{label:e,value:e}:{label:_xeUtils.default.eqNull(e.label)?e.value:e.label,value:e.value}}):[]},computeCurrStyle:function(){var e=this.width,t={};return e&&(t.width=(0,_dom.toCssUnit)(e)),t},computePopupOpts:function(){return Object.assign({},(0,_ui.getConfig)().colorPicker.popupConfig,this.popupConfig)},computeIsRgb:function(){return"rgb"===this.reactData.selectTyle},computeSelectTypeItem:function(){var t=this.reactData.selectTyle;return typeList.find(function(e){return e.value===t})}}),methods:{dispatchEvent:function(e,t,l){this.$emit(e,(0,_ui.createEvent)(l,{$colorPicker:this},t))},emitModel:function(e){var t=this._events;t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},updateMode:function(){var e=this.reactData,t=this.value;e.selectColor=_xeUtils.default.toValueString(t),this.updateModelColor()},updateType:function(){var e=this.reactData,t=this.type,t="rgb"!==t&&"rgba"!==t?"hex":"rgb";e.selectTyle=t,this.updateMode()},updateModelColor:function(){var e=this,t=e.reactData,l=e.defaultColor,o=t.selectColor,n=t.isAniVisible,r=e.computeIsRgb,i=e.$refs.refHueSliderElem,a=e.$refs.refAlphaSliderElem,o=(0,_util.parseValColor)(o||l);t.hexValue="",t.rValue=0,t.gValue=0,t.bValue=0,t.aValue=1,o&&("hex"===o.type?t.hexValue=o.hex:(t.rValue=o.r,t.gValue=o.g,t.bValue=o.b,t.aValue=o.a),o.value)&&(r?"hex"===o.type&&(l=(0,_util.hexToRgb)(o.hex))&&(t.rValue=l.r,t.gValue=l.g,t.bValue=l.b,t.aValue=l.a):"hex"!==o.type&&(t.hexValue=(0,_util.rgbToHexVal)(o.r,o.g,o.b,o.a))),n&&(r=o?"hex"===o.type?(0,_util.hexToHsv)(o.hex):(0,_util.rgbToHsv)(o):null,l=e.$refs.refColorPanelElem,r&&(l&&(n=l.clientHeight*(1-r.v),o=l.clientWidth*r.s,e.handlePanelColor(o,n)),i)&&e.handleHueColor(_xeUtils.default.ceil((1-r.h/360)*i.clientWidth)-1),a)&&e.handleAlphaColor(a.clientWidth*t.aValue)},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)(r,i,{placement:u.placement||o,defaultPlacement:u.defaultPlacement,teleportTo:a}),t=Object.assign(e.style,{zIndex:n});l.panelStyle=t,l.panelPlacement=e.placement}var t=this,l=t.reactData,o=t.placement,n=l.panelIndex,r=t.$refs.refElem,i=t.$refs.refOptionPanel,a=t.computeBtnTransfer,u=t.computePopupOpts;return e(),t.$nextTick().then(e)},showOptionPanel:function(){var e,t=this,l=t.reactData,o=t.internalData,n=o.hpTimeout;t.computeIsDisabled||(n&&(clearTimeout(n),o.hpTimeout=void 0),n=t.computeBtnTransfer,o=t.computePopupOpts,e=t.$refs.refOptionPanel,l.initialized||(l.initialized=!0,n&&e&&(n=o.appendTo,(0,_dom.getPopupAppendElement)(n).appendChild(e))),l.isActivated=!0,l.isAniVisible=!0,setTimeout(function(){t.updateModelColor(),l.visiblePanel=!0},10),t.updateZindex(),t.updatePlacement())},hideOptionPanel:function(){var e=this.reactData,t=this.internalData;e.visiblePanel=!1,t.hpTimeout=setTimeout(function(){e.isAniVisible=!1},350)},changeEvent:function(e,t){var l=this,o=l,n=l.reactData,r=l.$xeForm,i=l.formItemInfo;(n.selectColor=t)!==o.value&&(l.emitModel(t),l.dispatchEvent("change",{value:t},e),r)&&i&&r.triggerItemEvent(e,i.itemConfig.field,t)},clearValueEvent:function(e,t){this.changeEvent(e,t),this.dispatchEvent("clear",{value:t},e)},focusEvent:function(){var e=this.reactData;this.computeIsDisabled||e.visiblePanel||this.showOptionPanel()},blurEvent:function(){this.reactData.isActivated=!1},clearEvent:function(e){this.clearValueEvent(e,null),this.hideOptionPanel()},confirmEvent:function(e){var t=this.reactData,l=t.selectTyle;this.changeEvent(e,"hex"===l?t.hexValue:t.selectColor),this.hideOptionPanel()},togglePanelEvent:function(e){var t=this.reactData;e.preventDefault(),t.visiblePanel?this.hideOptionPanel():this.showOptionPanel()},clickEvent:function(e){this.togglePanelEvent(e),this.dispatchEvent("click",{},e)},handlePanelClickEvent:function(){this.reactData.showTypePopup=!1},toggleTypeVisibleEvent:function(e){var t=this.reactData;e.stopPropagation(),t.showTypePopup=!t.showTypePopup},handleChangeType:function(e){var t=this.reactData;e!==t.selectTyle&&(t.selectTyle=e,this.updateModelColor()),t.showTypePopup=!1},handleHueColor:function(e){var t=this.reactData,l=this.$refs.refHueSliderElem,o=this.$refs.refHueSliderBtnElem;if(l&&o){e<0&&(e=0);var l=_xeUtils.default.toInteger(l.clientWidth),n=255,l=_xeUtils.default.ceil(1530/l*e),r=l%n,i=0,a=0,u=0;switch(Math.ceil(l/n)){case 1:i=n,u=r;break;case 2:i=n-r,u=n;break;case 3:a=r,u=n;break;case 4:u=(a=n)-r;break;case 5:i=r,a=n;break;case 6:a=(i=n)-r}t.panelColor=(0,_util.toValRgb)(i,a,u),o.style.left=(0,_dom.toCssUnit)(e)}},handleHueBarEvent:function(e){var t=this.$refs.refHueSliderElem,l=this.$refs.refHueSliderBtnElem;t&&l&&(l=t.getBoundingClientRect(),t=_xeUtils.default.toInteger(t.clientWidth),t=_xeUtils.default.ceil(Math.min(t-1,Math.max(1,e.clientX-l.x))),this.handleHueColor(t))},handleHueSliderMousedownEvent:function(e){var t=this;e.preventDefault(),document.onmousemove=function(e){e.preventDefault(),t.handleHueBarEvent(e)},document.onmouseup=function(e){document.onmousemove=null,document.onmouseup=null,t.handleHueBarEvent(e)}},handleAlphaColor:function(e){var t=this.reactData,l=t.selectColor,o=this.$refs.refAlphaSliderElem,n=this.$refs.refAlphaSliderBtnElem;o&&n&&(o=o.getBoundingClientRect().width,o=_xeUtils.default.ceil(100/o*(e=o<(e=e<0?0:e)?o:e)/100,2),t.aValue=o,n.style.left=(0,_dom.toCssUnit)(e),t.selectColor=l?(0,_util.updateColorAlpha)(l,o):"")},handleAlphaBarEvent:function(e){var t=this.$refs.refAlphaSliderElem,l=this.$refs.refAlphaSliderBtnElem;t&&l&&(t=(l=t.getBoundingClientRect()).width,t=Math.min(t,Math.max(0,e.clientX-l.x)),this.handleAlphaColor(t),this.updateModelColor())},handleAlphaSliderMousedownEvent:function(e){var t=this;e.preventDefault(),document.onmousemove=function(e){e.preventDefault(),t.handleAlphaBarEvent(e)},document.onmouseup=function(e){document.onmousemove=null,document.onmouseup=null,t.handleAlphaBarEvent(e)}},handleInputRgbEvent:function(){var e=this.reactData,t=e.rValue;e.selectColor=(0,_util.toValRgb)(t,e.gValue,e.bValue,e.aValue),this.updateModelColor()},handleInputAlphaEvent:function(){var e=this.reactData.aValue,t=this.$refs.refAlphaSliderElem,l=this.$refs.refAlphaSliderBtnElem;t&&l&&(l=t.getBoundingClientRect().width,this.handleAlphaColor(l*e))},handleQuickEvent:function(e,t){var l=this.reactData,t=t.value;l.selectColor=t,this.updateModelColor()},handlePanelColor:function(e,t){var l=this.$refs.refColorActiveElem;l&&(l.style.top=(0,_dom.toCssUnit)(t),l.style.left=(0,_dom.toCssUnit)(e))},handleEyeDropperEvent:function(){var t=this,l=t.reactData;if(WinEyeDropper)try{(new WinEyeDropper).open().then(function(e){e&&e.sRGBHex&&(l.selectColor=e.sRGBHex,t.updateModelColor())}).catch(function(){})}catch(e){}},handleSelectColorByXY:function(e,t){var l,o=this,n=o.reactData,r=o.showAlpha,i=n.panelColor,a=n.aValue,u=o.$refs.refColorPanelElem,c=o.$refs.refColorActiveElem;u&&c&&(c=u.clientWidth,l=u.clientHeight,u=u.getBoundingClientRect(),t=Math.min(l,Math.max(0,t-u.y)),e=Math.min(c,Math.max(0,e-u.x)),(u=(0,_util.parseValColor)(i))&&(i="hex"===u.type?(0,_util.hexToHsv)(u.hex):(0,_util.rgbToHsv)(u))&&(u=(0,_util.hsvToRgb)(i.h,e/c,1-t/l),n.selectColor=(0,_util.toValRgb)(u.r,u.g,u.b,r?a:null),o.handlePanelColor(e,t)),o.updateModelColor())},handleSelectColorMousedownEvent:function(e){var t=this;e.stopPropagation(),e.preventDefault(),t.handleSelectColorByXY(e.clientX,e.clientY),document.onmousemove=function(e){t.handleSelectColorByXY(e.clientX,e.clientY)},document.onmouseup=function(){document.onmousemove=null,document.onmouseup=null}},handleCopyColorEvent:function(){var e=this.reactData.selectColor;e&&_ui.VxeUI.clipboard.copy(e)&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:(0,_ui.getI18n)("vxe.colorPicker.copySuccess",[e]),status:"success"})},handleGlobalMousedownEvent:function(e){var t,l,o=this,n=o.reactData,r=n.visiblePanel;o.computeIsDisabled||(t=o.$refs.refElem,l=o.$refs.refOptionPanel,n.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,r&&!n.isActivated&&o.hideOptionPanel())},handleGlobalBlurEvent:function(){var e=this.reactData,t=e.visiblePanel,l=e.isActivated;t&&this.hideOptionPanel(),l&&(e.isActivated=!1),(t||l)&&(e=this.$refs.refInputTarget)&&e.blur()},handleGlobalResizeEvent:function(){this.reactData.visiblePanel&&this.updatePlacement()},handleGlobalScrollEvent:function(){this.reactData.visiblePanel&&this.updatePlacement()},renderColorWrapper:function(e){var t=this.reactData,l=this.showColorExtractor,t=t.panelColor;return l?e("div",{ref:"refColorPanelElem",class:"vxe-color-picker--color-wrapper",on:{mousedown:this.handleSelectColorMousedownEvent}},[e("div",{class:"vxe-color-picker--color-bg",style:{backgroundColor:t}}),e("div",{class:"vxe-color-picker--white-bg"}),e("div",{class:"vxe-color-picker--black-bg"}),e("div",{ref:"refColorActiveElem",class:"vxe-color-picker--color-active"})]):(0,_ui.renderEmptyElement)(this)},renderColorBar:function(e){var l=this,t=l.reactData,o=l.showAlpha,n=l.clickToCopy,r=t.selectTyle,i=t.showTypePopup,a=t.hexValue,u=t.rValue,c=t.gValue,s=t.bValue,p=t.aValue,d=t.selectColor,f=t.panelColor,h=l.computeIsRgb,v=l.computeSelectTypeItem;return e("div",{class:"vxe-color-picker--bar-wrapper"},[e("div",{class:"vxe-color-picker--slider-wrapper"},[l.showEyeDropper&&WinEyeDropper?e("div",{class:"vxe-color-picker--color-dropper"},[e("span",{class:"vxe-color-picker--color-dropper-btn",on:{click:l.handleEyeDropperEvent}},[e("i",{class:(0,_ui.getIcon)().COLOR_PICKER_EYE_DROPPER})])]):(0,_ui.renderEmptyElement)(l),e("div",{class:"vxe-color-picker--slider-preview"},[e("div",{class:"vxe-color-picker--preview-btn"},[e("div",{class:"vxe-color-picker--preview-color",style:{backgroundColor:d}},n?[e("span",{class:"vxe-color-picker--preview-copy-btn",on:{click:l.handleCopyColorEvent}},[e("i",{class:(0,_ui.getIcon)().COLOR_PICKER_COLOR_COPY})])]:[])])]),e("div",{class:"vxe-color-picker--slider-handle"},[e("div",{ref:"refHueSliderElem",class:"vxe-color-picker--bar-hue-slider",on:{click:l.handleHueBarEvent}},[e("div",{ref:"refHueSliderBtnElem",class:"vxe-color-picker--bar-hue-btn",on:{mousedown:l.handleHueSliderMousedownEvent}})]),o?e("div",{ref:"refAlphaSliderElem",class:"vxe-color-picker--bar-alpha-slider",on:{click:l.handleAlphaBarEvent}},[e("div",{class:"vxe-color-picker--bar-alpha-bg",style:{background:"linear-gradient(to right, rgba(0, 0, 0, 0), ".concat(f,")")}}),e("div",{ref:"refAlphaSliderBtnElem",class:"vxe-color-picker--bar-alpha-btn",on:{mousedown:l.handleAlphaSliderMousedownEvent}})]):(0,_ui.renderEmptyElement)(l)])]),e("div",{class:"vxe-color-picker--custom-wrapper"},[e("div",{class:"vxe-color-picker--type-switch"},[e("div",{class:"vxe-color-picker--type-label",on:{click:l.toggleTypeVisibleEvent}},[e("span","".concat(v?v.label:r)),e("span",{class:"vxe-color-picker--type-icon"},[e("i",{class:i?(0,_ui.getIcon)().COLOR_PICKER_TPTY_OPEN:(0,_ui.getIcon)().COLOR_PICKER_TPTY_CLOSE})])]),e("div",{class:["vxe-color-picker--type-popup",{"is--visible":i}]},typeList.map(function(t){return e("div",{class:"vxe-color-picker--type-item",on:{click:function(e){e.stopPropagation(),l.handleChangeType(t.value)}}},t.label)}))]),e("div",{class:"vxe-color-picker--".concat(r,"-wrapper")},h?[e("div",{class:"vxe-color-picker--input-wrapper"},[e(_numberInput.default,{props:{type:"integer",size:"mini",align:"center",min:0,max:255,maxLength:3,placeholder:"",value:u,controlConfig:{showButton:!1}},on:{modelValue:function(e){t.rValue=e},change:l.handleInputRgbEvent}}),e(_numberInput.default,{props:{type:"integer",size:"mini",align:"center",min:0,max:255,maxLength:3,placeholder:"",value:c,controlConfig:{showButton:!1}},on:{modelValue:function(e){t.gValue=e},change:l.handleInputRgbEvent}}),e(_numberInput.default,{props:{type:"integer",size:"mini",align:"center",min:0,max:255,maxLength:3,placeholder:"",value:s,controlConfig:{showButton:!1}},on:{modelValue:function(e){t.bValue=e},change:l.handleInputRgbEvent}}),e(_numberInput.default,{props:{type:"number",size:"mini",align:"center",min:0,max:1,step:.01,maxLength:4,placeholder:"",value:p,controlConfig:{showButton:!1}},on:{modelValue:function(e){t.aValue=e},change:l.handleInputAlphaEvent}})]),e("div",{class:"vxe-color-picker--input-title"},[e("span","R"),e("span","G"),e("span","B"),e("span","A")])]:[e("div",{class:"vxe-color-picker--input-wrapper"},[e(_input.default,{props:{type:"text",size:"mini",align:"center",maxLength:9,placeholder:"",value:a},on:{modelValue:function(e){t.hexValue=e},change:function(){var e=(0,_util.parseValColor)(t.hexValue);e&&e.value&&(t.selectColor=e.value,l.updateModelColor())}}})]),e("div",{class:"vxe-color-picker--input-title"},(0,_ui.getI18n)("vxe.colorPicker.hex"))])])])},renderQuickWrapper:function(l){var o=this,e=o.showQuick,t=o.computeColorList;return e&&t.length?l("div",{class:"vxe-color-picker--quick-wrapper"},t.map(function(t,e){return l("div",{key:e,class:"vxe-color-picker--quick-item",attrs:{title:t.label||""},style:{backgroundColor:t.value},on:{click:function(e){o.handleQuickEvent(e,t)}}})})):(0,_ui.renderEmptyElement)(o)},renderVN:function(e){var t,l=this,o=l.reactData,n=l.className,r=l.popupClassName,i=l.clearable,a=l.value,u=o.initialized,c=o.isActivated,s=o.isAniVisible,p=o.visiblePanel,d=l.computeSize,f=l.computeIsDisabled,h=l.computeBtnTransfer;return l.computeFormReadonly?e("div",{ref:"refElem",class:["vxe-color-picker--readonly",n,_defineProperty({},"size--".concat(d),d)]},[e("div",{class:["vxe-color-picker--readonly-color",{"is--empty":!a}],style:a?{backgroundColor:a}:void 0})]):(t=l.computeCurrStyle,e("div",{ref:"refElem",class:["vxe-color-picker",n?_xeUtils.default.isFunction(n)?n({$colorPicker:l}):n:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(d),d),"is--selected",!!a),"is--visible",p),"is--disabled",f),"is--active",c)],style:t},[e("input",{ref:"refInputTarget",class:"vxe-color-picker--input",on:{focus:l.focusEvent,blur:l.blurEvent}}),e("div",{class:"vxe-color-picker--inner",on:{click:l.clickEvent}},[e("div",{class:"vxe-color-picker--inner-color",style:{backgroundColor:a}})]),e("div",{ref:"refOptionPanel",class:["vxe-table--ignore-clear vxe-color-picker--panel",r?_xeUtils.default.isFunction(r)?r({$colorPicker:l}):r:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(d),d),"is--transfer",h),"ani--leave",s),"ani--enter",p)],attrs:{placement:o.panelPlacement},style:o.panelStyle},[u&&(p||s)?e("div",{class:"vxe-color-picker--panel-wrapper",on:{click:l.handlePanelClickEvent}},[l.renderColorWrapper(e),l.renderColorBar(e),l.renderQuickWrapper(e),e("div",{class:"vxe-color-picker--footer-wrapper"},[i?e(_button.default,{props:{content:(0,_ui.getI18n)("vxe.colorPicker.clear"),size:"mini"},on:{click:l.clearEvent}}):(0,_ui.renderEmptyElement)(l),e(_button.default,{props:{content:(0,_ui.getI18n)("vxe.colorPicker.confirm"),size:"mini",status:"primary"},on:{click:l.confirmEvent}})])]):(0,_ui.renderEmptyElement)(l)])]))}},watch:{value:function(){this.updateMode()},type:function(){this.updateType()}},created:function(){var e=this;e.reactData.selectColor="".concat(e.value||""),e.updateType(),_ui.globalEvents.on(e,"mousedown",e.handleGlobalMousedownEvent),_ui.globalEvents.on(e,"blur",e.handleGlobalBlurEvent),_ui.globalEvents.on(e,"resize",e.handleGlobalResizeEvent),_ui.globalEvents.on(e,"scroll",e.handleGlobalScrollEvent)},beforeDestroy:function(){var e=this,t=e.$refs.refOptionPanel;t&&t.parentNode&&t.parentNode.removeChild(t),_ui.globalEvents.off(e,"mousedown"),_ui.globalEvents.off(e,"blur"),_ui.globalEvents.off(e,"resize"),_ui.globalEvents.off(e,"scroll")},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"),_util=require("./util"),_button=_interopRequireDefault(require("../../button")),_input=_interopRequireDefault(require("../../input")),_numberInput=_interopRequireDefault(require("../../number-input"));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,l){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,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 l=e[Symbol.toPrimitive];if(void 0===l)return("string"===t?String:Number)(e);l=l.call(e,t||"default");if("object"!=_typeof(l))return l;throw new TypeError("@@toPrimitive must return a primitive value.")}var WinEyeDropper="undefined"!=typeof window?window.EyeDropper:null,typeList=[{label:"HEX",value:"hex"},{label:"RGB",value:"rgb"}],_default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeColorPicker",mixins:[_ui.globalMixins.sizeMixin],model:{prop:"value",event:"modelValue"},props:{value:String,placeholder:String,clearable:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.clearable}},type:{type:String,default:function(){return(0,_ui.getConfig)().colorPicker.type}},width:[Number,String],size:{type:String,default:function(){return(0,_ui.getConfig)().colorPicker.size||(0,_ui.getConfig)().size}},className:[String,Function],popupClassName:[String,Function],colors:{type:Array,default:function(){return _xeUtils.default.clone((0,_ui.getConfig)().colorPicker.colors,!0)||[]}},showAlpha:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.showAlpha}},showEyeDropper:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.showEyeDropper}},showColorExtractor:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.showColorExtractor}},showQuick:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.showQuick}},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},clickToCopy:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.clickToCopy}},defaultColor:{type:String,default:function(){return(0,_ui.getConfig)().colorPicker.defaultColor}},placement:String,transfer:{type:Boolean,default:null},popupConfig:Object},inject:{$xeModal:{default:null},$xeDrawer:{default:null},$xeTable:{default:null},$xeForm:{default:null},formItemInfo:{from:"xeFormItemInfo",default:null}},provide:function(){return{$xeColorPicker:this}},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:{initialized:!1,selectTyle:"hex",selectColor:"",showTypePopup:!1,panelColor:"",hexValue:"",rValue:0,gValue:0,bValue:0,aValue:0,panelIndex:0,panelStyle:{},panelPlacement:null,visiblePanel:!1,isAniVisible:!1,isActivated:!1},internalData:{hpTimeout:void 0}}},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,l=e.$xeModal,o=e.$xeDrawer,n=e.$xeCard,r=e.$xeForm,e=e.transfer;if(null===e){var i=(0,_ui.getConfig)().colorPicker.transfer;if(_xeUtils.default.isBoolean(i))return i;if(t||l||o||n||r)return!0}return e},computeColorList:function(){var e=this.colors;return e?e.map(function(e){return _xeUtils.default.isString(e)?{label:e,value:e}:{label:_xeUtils.default.eqNull(e.label)?e.value:e.label,value:e.value}}):[]},computeCurrStyle:function(){var e=this.width,t={};return e&&(t.width=(0,_dom.toCssUnit)(e)),t},computePopupOpts:function(){return Object.assign({},(0,_ui.getConfig)().colorPicker.popupConfig,this.popupConfig)},computeIsRgb:function(){return"rgb"===this.reactData.selectTyle},computeSelectTypeItem:function(){var t=this.reactData.selectTyle;return typeList.find(function(e){return e.value===t})}}),methods:{dispatchEvent:function(e,t,l){this.$emit(e,(0,_ui.createEvent)(l,{$colorPicker:this},t))},emitModel:function(e){var t=this._events;t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},updateMode:function(){var e=this.reactData,t=this.value;e.selectColor=_xeUtils.default.toValueString(t),this.updateModelColor()},updateType:function(){var e=this.reactData,t=this.type,t="rgb"!==t&&"rgba"!==t?"hex":"rgb";e.selectTyle=t,this.updateMode()},updateModelColor:function(){var e=this,t=e.reactData,l=e.defaultColor,o=t.selectColor,n=t.isAniVisible,r=e.computeIsRgb,i=e.$refs.refHueSliderElem,a=e.$refs.refAlphaSliderElem,o=(0,_util.parseValColor)(o||l);t.hexValue="",t.rValue=0,t.gValue=0,t.bValue=0,t.aValue=1,o&&("hex"===o.type?t.hexValue=o.hex:(t.rValue=o.r,t.gValue=o.g,t.bValue=o.b,t.aValue=o.a),o.value)&&(r?"hex"===o.type&&(l=(0,_util.hexToRgb)(o.hex))&&(t.rValue=l.r,t.gValue=l.g,t.bValue=l.b,t.aValue=l.a):"hex"!==o.type&&(t.hexValue=(0,_util.rgbToHexVal)(o.r,o.g,o.b,o.a))),n&&(r=o?"hex"===o.type?(0,_util.hexToHsv)(o.hex):(0,_util.rgbToHsv)(o):null,l=e.$refs.refColorPanelElem,r&&(l&&(n=l.clientHeight*(1-r.v),o=l.clientWidth*r.s,e.handlePanelColor(o,n)),i)&&e.handleHueColor(_xeUtils.default.ceil((1-r.h/360)*i.clientWidth)-1),a)&&e.handleAlphaColor(a.clientWidth*t.aValue)},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)(r,i,{placement:u.placement||o,defaultPlacement:u.defaultPlacement,appendTo:u.appendTo,teleportTo:a}),t=Object.assign(e.style,{zIndex:n});l.panelStyle=t,l.panelPlacement=e.placement}var t=this,l=t.reactData,o=t.placement,n=l.panelIndex,r=t.$refs.refElem,i=t.$refs.refOptionPanel,a=t.computeBtnTransfer,u=t.computePopupOpts;return e(),t.$nextTick().then(e)},showOptionPanel:function(){var e,t=this,l=t.reactData,o=t.internalData,n=o.hpTimeout;t.computeIsDisabled||(n&&(clearTimeout(n),o.hpTimeout=void 0),n=t.computeBtnTransfer,o=t.computePopupOpts,e=t.$refs.refOptionPanel,l.initialized||(l.initialized=!0,n&&e&&(n=o.appendTo,(0,_dom.getPopupAppendElement)(n).appendChild(e))),l.isActivated=!0,l.isAniVisible=!0,setTimeout(function(){t.updateModelColor(),l.visiblePanel=!0},10),t.updateZindex(),t.updatePlacement())},hideOptionPanel:function(){var e=this.reactData,t=this.internalData;e.visiblePanel=!1,t.hpTimeout=setTimeout(function(){e.isAniVisible=!1},350)},changeEvent:function(e,t){var l=this,o=l,n=l.reactData,r=l.$xeForm,i=l.formItemInfo;(n.selectColor=t)!==o.value&&(l.emitModel(t),l.dispatchEvent("change",{value:t},e),r)&&i&&r.triggerItemEvent(e,i.itemConfig.field,t)},clearValueEvent:function(e,t){this.changeEvent(e,t),this.dispatchEvent("clear",{value:t},e)},focusEvent:function(){var e=this.reactData;this.computeIsDisabled||e.visiblePanel||this.showOptionPanel()},blurEvent:function(){this.reactData.isActivated=!1},clearEvent:function(e){this.clearValueEvent(e,null),this.hideOptionPanel()},confirmEvent:function(e){var t=this.reactData,l=t.selectTyle;this.changeEvent(e,"hex"===l?t.hexValue:t.selectColor),this.hideOptionPanel()},togglePanelEvent:function(e){var t=this.reactData;e.preventDefault(),t.visiblePanel?this.hideOptionPanel():this.showOptionPanel()},clickEvent:function(e){this.togglePanelEvent(e),this.dispatchEvent("click",{},e)},handlePanelClickEvent:function(){this.reactData.showTypePopup=!1},toggleTypeVisibleEvent:function(e){var t=this.reactData;e.stopPropagation(),t.showTypePopup=!t.showTypePopup},handleChangeType:function(e){var t=this.reactData;e!==t.selectTyle&&(t.selectTyle=e,this.updateModelColor()),t.showTypePopup=!1},handleHueColor:function(e){var t=this.reactData,l=this.$refs.refHueSliderElem,o=this.$refs.refHueSliderBtnElem;if(l&&o){e<0&&(e=0);var l=_xeUtils.default.toInteger(l.clientWidth),n=255,l=_xeUtils.default.ceil(1530/l*e),r=l%n,i=0,a=0,u=0;switch(Math.ceil(l/n)){case 1:i=n,u=r;break;case 2:i=n-r,u=n;break;case 3:a=r,u=n;break;case 4:u=(a=n)-r;break;case 5:i=r,a=n;break;case 6:a=(i=n)-r}t.panelColor=(0,_util.toValRgb)(i,a,u),o.style.left=(0,_dom.toCssUnit)(e)}},handleHueBarEvent:function(e){var t=this.$refs.refHueSliderElem,l=this.$refs.refHueSliderBtnElem;t&&l&&(l=t.getBoundingClientRect(),t=_xeUtils.default.toInteger(t.clientWidth),t=_xeUtils.default.ceil(Math.min(t-1,Math.max(1,e.clientX-l.x))),this.handleHueColor(t))},handleHueSliderMousedownEvent:function(e){var t=this;e.preventDefault(),document.onmousemove=function(e){e.preventDefault(),t.handleHueBarEvent(e)},document.onmouseup=function(e){document.onmousemove=null,document.onmouseup=null,t.handleHueBarEvent(e)}},handleAlphaColor:function(e){var t=this.reactData,l=t.selectColor,o=this.$refs.refAlphaSliderElem,n=this.$refs.refAlphaSliderBtnElem;o&&n&&(o=o.getBoundingClientRect().width,o=_xeUtils.default.ceil(100/o*(e=o<(e=e<0?0:e)?o:e)/100,2),t.aValue=o,n.style.left=(0,_dom.toCssUnit)(e),t.selectColor=l?(0,_util.updateColorAlpha)(l,o):"")},handleAlphaBarEvent:function(e){var t=this.$refs.refAlphaSliderElem,l=this.$refs.refAlphaSliderBtnElem;t&&l&&(t=(l=t.getBoundingClientRect()).width,t=Math.min(t,Math.max(0,e.clientX-l.x)),this.handleAlphaColor(t),this.updateModelColor())},handleAlphaSliderMousedownEvent:function(e){var t=this;e.preventDefault(),document.onmousemove=function(e){e.preventDefault(),t.handleAlphaBarEvent(e)},document.onmouseup=function(e){document.onmousemove=null,document.onmouseup=null,t.handleAlphaBarEvent(e)}},handleInputRgbEvent:function(){var e=this.reactData,t=e.rValue;e.selectColor=(0,_util.toValRgb)(t,e.gValue,e.bValue,e.aValue),this.updateModelColor()},handleInputAlphaEvent:function(){var e=this.reactData.aValue,t=this.$refs.refAlphaSliderElem,l=this.$refs.refAlphaSliderBtnElem;t&&l&&(l=t.getBoundingClientRect().width,this.handleAlphaColor(l*e))},handleQuickEvent:function(e,t){var l=this.reactData,t=t.value;l.selectColor=t,this.updateModelColor()},handlePanelColor:function(e,t){var l=this.$refs.refColorActiveElem;l&&(l.style.top=(0,_dom.toCssUnit)(t),l.style.left=(0,_dom.toCssUnit)(e))},handleEyeDropperEvent:function(){var t=this,l=t.reactData;if(WinEyeDropper)try{(new WinEyeDropper).open().then(function(e){e&&e.sRGBHex&&(l.selectColor=e.sRGBHex,t.updateModelColor())}).catch(function(){})}catch(e){}},handleSelectColorByXY:function(e,t){var l,o=this,n=o.reactData,r=o.showAlpha,i=n.panelColor,a=n.aValue,u=o.$refs.refColorPanelElem,c=o.$refs.refColorActiveElem;u&&c&&(c=u.clientWidth,l=u.clientHeight,u=u.getBoundingClientRect(),t=Math.min(l,Math.max(0,t-u.y)),e=Math.min(c,Math.max(0,e-u.x)),(u=(0,_util.parseValColor)(i))&&(i="hex"===u.type?(0,_util.hexToHsv)(u.hex):(0,_util.rgbToHsv)(u))&&(u=(0,_util.hsvToRgb)(i.h,e/c,1-t/l),n.selectColor=(0,_util.toValRgb)(u.r,u.g,u.b,r?a:null),o.handlePanelColor(e,t)),o.updateModelColor())},handleSelectColorMousedownEvent:function(e){var t=this;e.stopPropagation(),e.preventDefault(),t.handleSelectColorByXY(e.clientX,e.clientY),document.onmousemove=function(e){t.handleSelectColorByXY(e.clientX,e.clientY)},document.onmouseup=function(){document.onmousemove=null,document.onmouseup=null}},handleCopyColorEvent:function(){var e=this.reactData.selectColor;e&&_ui.VxeUI.clipboard.copy(e)&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:(0,_ui.getI18n)("vxe.colorPicker.copySuccess",[e]),status:"success"})},handleGlobalMousedownEvent:function(e){var t,l,o=this,n=o.reactData,r=n.visiblePanel;o.computeIsDisabled||(t=o.$refs.refElem,l=o.$refs.refOptionPanel,n.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,r&&!n.isActivated&&o.hideOptionPanel())},handleGlobalBlurEvent:function(){var e=this.reactData,t=e.visiblePanel,l=e.isActivated;t&&this.hideOptionPanel(),l&&(e.isActivated=!1),(t||l)&&(e=this.$refs.refInputTarget)&&e.blur()},handleGlobalResizeEvent:function(){this.reactData.visiblePanel&&this.updatePlacement()},handleGlobalScrollEvent:function(){this.reactData.visiblePanel&&this.updatePlacement()},renderColorWrapper:function(e){var t=this.reactData,l=this.showColorExtractor,t=t.panelColor;return l?e("div",{ref:"refColorPanelElem",class:"vxe-color-picker--color-wrapper",on:{mousedown:this.handleSelectColorMousedownEvent}},[e("div",{class:"vxe-color-picker--color-bg",style:{backgroundColor:t}}),e("div",{class:"vxe-color-picker--white-bg"}),e("div",{class:"vxe-color-picker--black-bg"}),e("div",{ref:"refColorActiveElem",class:"vxe-color-picker--color-active"})]):(0,_ui.renderEmptyElement)(this)},renderColorBar:function(e){var l=this,t=l.reactData,o=l.showAlpha,n=l.clickToCopy,r=t.selectTyle,i=t.showTypePopup,a=t.hexValue,u=t.rValue,c=t.gValue,s=t.bValue,p=t.aValue,d=t.selectColor,f=t.panelColor,h=l.computeIsRgb,v=l.computeSelectTypeItem;return e("div",{class:"vxe-color-picker--bar-wrapper"},[e("div",{class:"vxe-color-picker--slider-wrapper"},[l.showEyeDropper&&WinEyeDropper?e("div",{class:"vxe-color-picker--color-dropper"},[e("span",{class:"vxe-color-picker--color-dropper-btn",on:{click:l.handleEyeDropperEvent}},[e("i",{class:(0,_ui.getIcon)().COLOR_PICKER_EYE_DROPPER})])]):(0,_ui.renderEmptyElement)(l),e("div",{class:"vxe-color-picker--slider-preview"},[e("div",{class:"vxe-color-picker--preview-btn"},[e("div",{class:"vxe-color-picker--preview-color",style:{backgroundColor:d}},n?[e("span",{class:"vxe-color-picker--preview-copy-btn",on:{click:l.handleCopyColorEvent}},[e("i",{class:(0,_ui.getIcon)().COLOR_PICKER_COLOR_COPY})])]:[])])]),e("div",{class:"vxe-color-picker--slider-handle"},[e("div",{ref:"refHueSliderElem",class:"vxe-color-picker--bar-hue-slider",on:{click:l.handleHueBarEvent}},[e("div",{ref:"refHueSliderBtnElem",class:"vxe-color-picker--bar-hue-btn",on:{mousedown:l.handleHueSliderMousedownEvent}})]),o?e("div",{ref:"refAlphaSliderElem",class:"vxe-color-picker--bar-alpha-slider",on:{click:l.handleAlphaBarEvent}},[e("div",{class:"vxe-color-picker--bar-alpha-bg",style:{background:"linear-gradient(to right, rgba(0, 0, 0, 0), ".concat(f,")")}}),e("div",{ref:"refAlphaSliderBtnElem",class:"vxe-color-picker--bar-alpha-btn",on:{mousedown:l.handleAlphaSliderMousedownEvent}})]):(0,_ui.renderEmptyElement)(l)])]),e("div",{class:"vxe-color-picker--custom-wrapper"},[e("div",{class:"vxe-color-picker--type-switch"},[e("div",{class:"vxe-color-picker--type-label",on:{click:l.toggleTypeVisibleEvent}},[e("span","".concat(v?v.label:r)),e("span",{class:"vxe-color-picker--type-icon"},[e("i",{class:i?(0,_ui.getIcon)().COLOR_PICKER_TPTY_OPEN:(0,_ui.getIcon)().COLOR_PICKER_TPTY_CLOSE})])]),e("div",{class:["vxe-color-picker--type-popup",{"is--visible":i}]},typeList.map(function(t){return e("div",{class:"vxe-color-picker--type-item",on:{click:function(e){e.stopPropagation(),l.handleChangeType(t.value)}}},t.label)}))]),e("div",{class:"vxe-color-picker--".concat(r,"-wrapper")},h?[e("div",{class:"vxe-color-picker--input-wrapper"},[e(_numberInput.default,{props:{type:"integer",size:"mini",align:"center",min:0,max:255,maxLength:3,placeholder:"",value:u,controlConfig:{showButton:!1}},on:{modelValue:function(e){t.rValue=e},change:l.handleInputRgbEvent}}),e(_numberInput.default,{props:{type:"integer",size:"mini",align:"center",min:0,max:255,maxLength:3,placeholder:"",value:c,controlConfig:{showButton:!1}},on:{modelValue:function(e){t.gValue=e},change:l.handleInputRgbEvent}}),e(_numberInput.default,{props:{type:"integer",size:"mini",align:"center",min:0,max:255,maxLength:3,placeholder:"",value:s,controlConfig:{showButton:!1}},on:{modelValue:function(e){t.bValue=e},change:l.handleInputRgbEvent}}),e(_numberInput.default,{props:{type:"number",size:"mini",align:"center",min:0,max:1,step:.01,maxLength:4,placeholder:"",value:p,controlConfig:{showButton:!1}},on:{modelValue:function(e){t.aValue=e},change:l.handleInputAlphaEvent}})]),e("div",{class:"vxe-color-picker--input-title"},[e("span","R"),e("span","G"),e("span","B"),e("span","A")])]:[e("div",{class:"vxe-color-picker--input-wrapper"},[e(_input.default,{props:{type:"text",size:"mini",align:"center",maxLength:9,placeholder:"",value:a},on:{modelValue:function(e){t.hexValue=e},change:function(){var e=(0,_util.parseValColor)(t.hexValue);e&&e.value&&(t.selectColor=e.value,l.updateModelColor())}}})]),e("div",{class:"vxe-color-picker--input-title"},(0,_ui.getI18n)("vxe.colorPicker.hex"))])])])},renderQuickWrapper:function(l){var o=this,e=o.showQuick,t=o.computeColorList;return e&&t.length?l("div",{class:"vxe-color-picker--quick-wrapper"},t.map(function(t,e){return l("div",{key:e,class:"vxe-color-picker--quick-item",attrs:{title:t.label||""},style:{backgroundColor:t.value},on:{click:function(e){o.handleQuickEvent(e,t)}}})})):(0,_ui.renderEmptyElement)(o)},renderVN:function(e){var t,l=this,o=l.reactData,n=l.className,r=l.popupClassName,i=l.clearable,a=l.value,u=o.initialized,c=o.isActivated,s=o.isAniVisible,p=o.visiblePanel,d=l.computeSize,f=l.computeIsDisabled,h=l.computeBtnTransfer;return l.computeFormReadonly?e("div",{ref:"refElem",class:["vxe-color-picker--readonly",n,_defineProperty({},"size--".concat(d),d)]},[e("div",{class:["vxe-color-picker--readonly-color",{"is--empty":!a}],style:a?{backgroundColor:a}:void 0})]):(t=l.computeCurrStyle,e("div",{ref:"refElem",class:["vxe-color-picker",n?_xeUtils.default.isFunction(n)?n({$colorPicker:l}):n:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(d),d),"is--selected",!!a),"is--visible",p),"is--disabled",f),"is--active",c)],style:t},[e("input",{ref:"refInputTarget",class:"vxe-color-picker--input",on:{focus:l.focusEvent,blur:l.blurEvent}}),e("div",{class:"vxe-color-picker--inner",on:{click:l.clickEvent}},[e("div",{class:"vxe-color-picker--inner-color",style:{backgroundColor:a}})]),e("div",{ref:"refOptionPanel",class:["vxe-table--ignore-clear vxe-color-picker--panel",r?_xeUtils.default.isFunction(r)?r({$colorPicker:l}):r:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(d),d),"is--transfer",h),"ani--leave",s),"ani--enter",p)],attrs:{placement:o.panelPlacement},style:o.panelStyle},[u&&(p||s)?e("div",{class:"vxe-color-picker--panel-wrapper",on:{click:l.handlePanelClickEvent}},[l.renderColorWrapper(e),l.renderColorBar(e),l.renderQuickWrapper(e),e("div",{class:"vxe-color-picker--footer-wrapper"},[i?e(_button.default,{props:{content:(0,_ui.getI18n)("vxe.colorPicker.clear"),size:"mini"},on:{click:l.clearEvent}}):(0,_ui.renderEmptyElement)(l),e(_button.default,{props:{content:(0,_ui.getI18n)("vxe.colorPicker.confirm"),size:"mini",status:"primary"},on:{click:l.confirmEvent}})])]):(0,_ui.renderEmptyElement)(l)])]))}},watch:{value:function(){this.updateMode()},type:function(){this.updateType()}},created:function(){var e=this;e.reactData.selectColor="".concat(e.value||""),e.updateType(),_ui.globalEvents.on(e,"mousedown",e.handleGlobalMousedownEvent),_ui.globalEvents.on(e,"blur",e.handleGlobalBlurEvent),_ui.globalEvents.on(e,"resize",e.handleGlobalResizeEvent),_ui.globalEvents.on(e,"scroll",e.handleGlobalScrollEvent)},beforeDestroy:function(){var e=this,t=e.$refs.refOptionPanel;t&&t.parentNode&&t.parentNode.removeChild(t),_ui.globalEvents.off(e,"mousedown"),_ui.globalEvents.off(e,"blur"),_ui.globalEvents.off(e,"resize"),_ui.globalEvents.off(e,"scroll")},render:function(e){return this.renderVN(e)}});
@@ -1426,6 +1426,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
1426
1426
  var ppObj = (0, _dom.updatePanelPlacement)(targetElem, panelElem, {
1427
1427
  placement: popupOpts.placement || placement,
1428
1428
  defaultPlacement: popupOpts.defaultPlacement,
1429
+ appendTo: popupOpts.appendTo,
1429
1430
  teleportTo: btnTransfer
1430
1431
  });
1431
1432
  var panelStyle = Object.assign(ppObj.style, {