UNPKG

@persagy2/meri-design

Version:

fork from meri-design and extend it.

7 lines 35.1 kB
/*! * @@persagy2/meri-design v1.4.9-extend.2 * (c) 2019-2020 xiongshuang * Released under the MIT License. * 2022-12-07 10:33:25 */ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("vue")):"function"==typeof define&&define.amd?define("CascaderSearchList",["vue"],e):"object"==typeof exports?exports.CascaderSearchList=e(require("vue")):t.CascaderSearchList=e(t.Vue)}(this,(function(t){return function(){"use strict";var e={1952:function(t,e,n){var i=n(5064);e.Z={name:"Checkbox",props:{checked:{type:String,default:"uncheck"},disabled:{type:Boolean,default:!1},stopPropagation:{type:Boolean,default:!1}},methods:{TextEllipsis:i.Z,handleChange:function(t){var e,n=this.disabled,i=this.checked;if(this.stopPropagation&&t.stopPropagation(),!n){var s=this.$el.dataset,a="";a="checked"===i?"uncheck":"checked",null!==(e=this._events)&&void 0!==e&&e.change?this.$emit("change",a,s):this.$emit("update:checked",a)}}}}},8349:function(t,e,n){n.d(e,{s:function(){return i},x:function(){return s}});var i=function(){var t=this,e=t._self._c;return e("div",{class:["p-checkbox",t.disabled&&"p-checkbox-disabled"],on:{click:t.handleChange}},[e("i",{class:["p-checkbox-box","p-checkbox-"+t.checked]}),t._v(" "),Object.keys(t.$slots).length?e("span",{staticClass:"p-checkbox-text",on:{mouseenter:t.TextEllipsis}},[t._t("default")],2):t._e()])},s=[]},6875:function(t,e,n){var i=n(3931);i.Z.install=function(t){return t.component(i.Z.name,i.Z)},e.default=i.Z},9950:function(t,e,n){n.d(e,{default:function(){return p}});var i=n(2205),s=n.n(i),a=n(3114),r=n(5171),o={name:"PopoverTip",props:{parent:{type:Object,default:function(){return{}}},show:{type:Boolean,default:!1},content:{type:String,default:""},position:{type:Boolean,default:!0},split:{type:Boolean,default:!0}},computed:{contentArr:function(){var t=this;return this.content.split("、").map((function(e,n){return{id:"content-".concat(n),text:e,scroll:e.length>32?t.getScrollWidth(e):0}}))}},methods:{getScrollWidth:function(t){var e=document.createElement("div");e.innerText=t,e.style.position="absolute",e.style.left="0",e.style.bottom="0",e.style.zIndex="-100",e.style.display="inline-block",e.style.height="0",e.style.opacity="0",e.style.overflow="hidden",e.style.whiteSpace="nowrap",e.style.fontSize="14px",document.body.appendChild(e);var n=e.scrollWidth;return(0,a.Z)()?e.removeNode(!0):e.remove(),n>452?n-452:0},popoverTipHandle:function(t){this.$emit("tipHandle",t)},contentEnter:function(){this.split||(this.show=!1)}}},c=(0,n(1900).Z)(o,(function(){var t=this,e=t._self._c;return e("transition",{attrs:{name:t.position?"selectDownUpExtend":"selectDownUpExtendTop"}},[e("div",{directives:[{name:"show",rawName:"v-show",value:t.show,expression:"show"}],class:["p-popover-tip",t.split?"p-popover-tip-split":"p-popover-tip-words",t.position?"p-popover-tip-bottom":"p-popover-tip-top"],on:{wheel:function(t){t.stopPropagation()},mouseenter:function(e){return t.popoverTipHandle("enter")},mouseleave:function(e){return t.popoverTipHandle("leave")}}},[e("section",{staticClass:"p-popover-tip-content",on:{mouseenter:t.contentEnter}},[t.split?t._l(t.contentArr,(function(n){return e("article",{key:n.id,class:["p-popover-tip-content-item",n.scroll&&"p-popover-tip-content-item-before"]},[e("span",{staticClass:"p-popover-tip-item-text",style:n.scroll&&{transform:"translateX(".concat(-n.scroll,"px)")}},[t._v(t._s(n.text))])])})):[e("article",{staticClass:"p-popover-tip-content-words"},[t._v(t._s(t.content))])]],2),t._v(" "),e("section",{staticClass:"p-popover-tip-triangle"})])])}),[],!1,null,null,null).exports,l=n(4597),d=s().extend(c),u=null,h=function(t){var e=t.propsData;if(e.content){var n=t.tag,i=t.countTag,s=document.body;return(u=(u=new d({propsData:e})).$mount()).tag=n,u.countTag=i,u.dom=s,s.appendChild(u.$el),u}};h.remove=r.Z,h.resetPosition=function(t){if(t.content){var e=window,n=e.innerWidth,i=e.pageXOffset,s=t.tag,r=t.countTag,o=t.dom,c=s.getBoundingClientRect(),d=c.left,u=c.width,h=r.getBoundingClientRect(),p=h.left,f=h.width;if(!(n<=p+f/2||n<=f||p<0)){var v=function(t){var e=t.content,n=t.split,i=e.split("、"),s=document.body,r=document.createElement("div");r.className="p-popover-tip",r.style.left="0",r.style.bottom="0",r.style.opacity="0",r.style.zIndex="-100";var o='<section class="p-popover-tip-content">';n?i.forEach((function(t){o+='<article class="p-popover-tip-content-item"><span class="p-popover-tip-item-text">'.concat(t,"</span></article>")})):o+='<article class="p-popover-tip-content-words">'.concat(e,"</article>"),o+="</section>",r.innerHTML=o,s.appendChild(r);var c=r.getBoundingClientRect(),d=c.width,u=c.height;return(0,a.Z)()?r.removeNode(!0):r.remove(),{width:d,height:u,scrollWidth:(0,l.Z)()}}(t),m=v.width,y=v.height,g=v.scrollWidth,w=function(t,e,n){var i,s=e.clientHeight,a=window.pageYOffset,r=t.getBoundingClientRect(),o=r.top,c=r.height,l=!0,d=o-8;return d>=n?(i=d-n+a,l=!1):i=s-(o+c+8)>=n?o+c+8+a:s-n+a,{Y:i,P:l}}(s,o,y),x=w.Y,b=w.P;t.position=b,t.$el.style.top="".concat(x,"px");var k,C=t.$el.lastChild,_=0;if(m===n)i>0&&(_=0),k=p+f/2-6;else{if(0===d)_=0;else{var D=p+f/2,I=m/2;_=D<I?0:m<=u?m<=n-d?D-I:n-m:D>=I?n-D<=I?n-m-g:D-I:0}k=p-_+f/2-6}t.$el.style.left="".concat(_+i,"px"),C.style.left="".concat(k,"px"),t.show=!0}}};var p=h},4597:function(t,e,n){var i=n(3114);e.Z=function(){var t=document.createElement("div");t.style.cssText="position:absolute;top:-1000px;width:100px;height:100px;overflow:hidden;opacity:0;";var e=document.body.appendChild(t).clientWidth;t.style.overflowY="scroll";var n=t.clientWidth;(0,i.Z)()?t.removeNode(!0):t.remove();var s=e-n;return s<6?6:s}},3114:function(t,e){e.Z=function(){return!!window.ActiveXObject||"ActiveXObject"in window}},5171:function(t,e){e.Z=function(t){if(t&&!t._isDestroyed){t.$destroy();var e=t.$el;e&&e.parentNode.removeChild(e)}}},5064:function(t,e){e.Z=function(t){var e=t.target,n=e.clientWidth,i=e.scrollWidth;e.title=i>n?e.innerText:""}},2239:function(){},3931:function(t,e,n){var i=n(872),s=n(5242),a=(n(122),(0,n(1900).Z)(s.Z,i.s,i.x,!1,null,null,null));e.Z=a.exports},5242:function(t,e,n){var i=n(1952);e.Z=i.Z},872:function(t,e,n){n.d(e,{s:function(){return i.s},x:function(){return i.x}});var i=n(8349)},122:function(t,e,n){n(2239)},1900:function(t,e,n){function i(t,e,n,i,s,a,r,o){var c,l="function"==typeof t?t.options:t;if(e&&(l.render=e,l.staticRenderFns=n,l._compiled=!0),i&&(l.functional=!0),a&&(l._scopeId="data-v-"+a),r?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),s&&s.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},l._ssrRegister=c):s&&(c=o?function(){s.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:s),c)if(l.functional){l._injectStyles=c;var d=l.render;l.render=function(t,e){return c.call(e),d(t,e)}}else{var u=l.beforeCreate;l.beforeCreate=u?[].concat(u,c):[c]}return{exports:t,options:l}}n.d(e,{Z:function(){return i}})},2205:function(e){e.exports=t}},n={};function i(t){var s=n[t];if(void 0!==s)return s.exports;var a=n[t]={exports:{}};return e[t](a,a.exports,i),a.exports}i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,{a:e}),e},i.d=function(t,e){for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var s={};return function(){i.r(s),i.d(s,{default:function(){return $}});var t=i(9950),e={bind:function(t,e,n){function i(n){if(t.contains(n.target))return!1;e.expression&&e.value(n)}t.__vueClickOutside__=i,document.addEventListener("click",i)},unbind:function(t,e){document.removeEventListener("click",t.__vueClickOutside__),delete t.__vueClickOutside__}},n=i(1900),a=(0,n.Z)({},(function(){var t=this._self._c;return t("svg",{attrs:{viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"}},[t("path",{staticClass:"svg-fill-grey-500",attrs:{d:"\r\n M8.3904344,6.48804301\r\n L11.350122,10.1876525\r\n C11.5226268,10.4032834 11.4876661,10.7179296 11.2720351,10.8904344\r\n C11.1833786,10.9613596 11.0732233,11 10.9596876,11\r\n L5.04031242,11\r\n C4.76417005,11 4.54031242,10.7761424 4.54031242,10.5\r\n C4.54031242,10.3864643 4.5789528,10.276309 4.64987802,10.1876525\r\n L7.6095656,6.48804301\r\n C7.78207037,6.27241204 8.09671656,6.23745135 8.31234752,6.40995612\r\n C8.34117988,6.43302201 8.36736852,6.45921065 8.3904344,6.48804301\r\n Z",transform:"translate(0, -0.5)"}})])}),[],!1,null,null,null).exports,r=(0,n.Z)({},(function(){var t=this._self._c;return t("svg",{attrs:{viewBox:"0 0 14 14",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"}},[t("g",{attrs:{transform:"translate(-1.000000, -1.000000)","fill-rule":"nonzero"}},[t("path",{staticClass:"svg-fill-grey-400",attrs:{d:"M8,1 C4.134375,1 1,4.134375 1,8 C1,11.865625 4.134375,15 8,15 C11.865625,15 15,11.865625 15,8 C15,4.134375 11.865625,1 8,1 Z M10.784375,9.6375 C11.040625,9.89375 11.040625,10.309375 10.784375,10.565625 C10.528125,10.821875 10.1125,10.821875 9.85625,10.565625 L8,8.709375 L6.14375,10.565625 C5.8875,10.821875 5.471875,10.821875 5.215625,10.565625 C4.959375,10.309375 4.959375,9.89375 5.215625,9.6375 L7.071875,7.78125 L5.215625,5.925 C4.959375,5.66875 4.959375,5.253125 5.215625,4.996875 C5.471875,4.740625 5.8875,4.740625 6.14375,4.996875 L8,6.853125 L9.85625,4.996875 C10.1125,4.740625 10.528125,4.740625 10.784375,4.996875 C11.040625,5.253125 11.040625,5.66875 10.784375,5.925 L8.928125,7.78125 L10.784375,9.6375 L10.784375,9.6375 Z"}})])])}),[],!1,null,null,null).exports,o=i(2205),c=i.n(o);function l(t){var e,n=Object.prototype.toString.call(t);if("[object Array]"===n)e=[];else{if("[object Object]"!==n)return t;e={}}if("[object Array]"===n)for(var i=0;i<t.length;i++)e.push(l(t[i]));else if("[object Object]"===n)for(var s in t)e[s]=l(t[s]);return e}var d=i(6875),u=(0,n.Z)({},(function(){var t=this._self._c;return t("svg",{attrs:{viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"}},[t("g",{attrs:{transform:"translate(2.000000, 2.000000)","fill-rule":"nonzero"}},[t("path",{staticClass:"svg-fill-grey-500",attrs:{d:"M8.85127549,5.97990969 L2.91471326,10.5971422 C2.696738,10.766675 2.65746768,11.0808125 2.82700056,11.2987877 C2.99653344,11.516763 3.31067085,11.5560333 3.52864611,11.3865004 L9.9735924,6.37386614 C10.2312596,6.17346241 10.2309143,5.783911 9.97289228,5.58396435 L3.52794599,0.589640623 C3.30967055,0.420494413 2.99560324,0.460321528 2.82645703,0.678596974 C2.65731082,0.896872421 2.69713793,1.21093973 2.91541338,1.38008594 L8.85127549,5.97990969 Z"}})])])}),[],!1,null,null,null).exports,h={provide:function(){return{flatData:this.flatData}},name:"cascaderDrop",components:{loading:(0,n.Z)({},(function(){var t=this._self._c;return t("svg",{attrs:{viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"}},[t("g",{attrs:{stroke:"none",fill:"none",transform:"translate(1, 1)"}},[t("path",{staticClass:"svg-stroke-grey-500",attrs:{d:"M 7 0 A 6 7 0 0 1 14 6","stroke-width":"1"}},[t("animateTransform",{attrs:{attributeName:"transform",type:"rotate",from:"0 8 8",to:"360 8 8",dur:"0.5s",repeatCount:"indefinite"}})],1)])])}),[],!1,null,null,null).exports,arrow:u,Remove:r,Checkbox:d.default},data:function(){return{showCascader:!1,subListData:[],storeIds:[],initKey:1,timer:null,showPanel:!0,parentName:"",activeKey:"",confirmedData:[],queryInput:"",filterQuery:"",selectAll:"uncheck",storeSubListData:[],selectedItems:[],queryItems:[]}},watch:{showCascader:{handler:function(t,e){var n=this;t&&this.$nextTick((function(){if(Array.isArray(n.selectIds)&&n.selectIds.length){if(n.root)n.findDefaultSelectedData(n.selectIds);else{var t=[];n.subListData.forEach((function(e){n.selectIds.includes(e.id)?(e.checked="checked",t.push(e)):e.checked="uncheck"})),n.confirmedData=l(t)}n.checkAllSelectStatus(n.subListData),n.selectedItems=n.subListData.filter((function(t){return"checked"===t.checked}))}else n.root&&n.defaultSelectFirstLevel()}))}},subListData:{handler:function(t,e){JSON.stringify(t)!==JSON.stringify(e)&&t&&(this.storeSubListData=l(t))},deep:!0,immediate:!0}},directives:{clickoutside:e},computed:{itemWidth:function(){var t=this.width;return t<180&&(t=180),t>600&&(t=600),{width:"".concat(t-64,"px")}},menuWidth:function(){var t=this.width;return t<180&&(t=180),t>600&&(t=600),{width:"".concat(t,"px")}},UlStyle:function(){return{height:this.root?"192px":"245px"}}},props:{loadData:{type:Function},width:{type:[Number,String]},data:{type:Array,default:function(){return[]}},root:{type:Boolean,default:!0},selectIds:{type:Array,default:function(){return[]}},flatData:{type:Array},type:{type:String},trigger:{validator:function(t){return["click","hover"].indexOf(t)>-1},default:"click"}},created:function(){this.root||(this.showPanel=!0,this.subListData=this.data)},methods:{defaultSelectFirstLevel:function(){var t=this,e=this.data[0];this.activeKey=e.id,this.subListData=e.children,e.children.forEach((function(e){e.checked="checked",t.selectedItems.push(e)})),this.showPanel=!0,this.confirmedData=l(e.children),this.selectAll="checked"},findDefaultSelectedData:function(t){var e=this,n=this.flatData.find((function(e){return e.id===t[0]})),i=null;n&&(i=n._ids.split("/")[0],this.activeKey=i);var s=this.flatData.find((function(t){return t.id===i}));if(s&&s.children){this.showPanel=!0;var a=[];s.children.forEach((function(t){e.selectIds.includes(t.id)?(t.checked="checked",a.push(t)):t.checked="uncheck"})),this.confirmedData=l(a),this.subListData=s.children}},itemClass:function(t){return["p-cascader-search-list-item",{"p-cascader-search-list-item-active":this.activeKey===t.id,"p-cascader-search-list-item-disabled":t.disabled}]},handleLeaveItem:function(){this.timer&&clearTimeout(this.timer)},handleHoverItem:function(t){"hover"===this.trigger&&(t.children&&t.children.length?this.activeKey=t.id:this.activeKey=""),"hover"===this.trigger&&this.expandNextPanel(t)},handleClickItem:function(t){"click"===this.trigger&&(t.children&&t.children.length?this.activeKey=t.id:this.activeKey=""),"hover"!==this.trigger||t.disabled||this.change(t,!0),"click"!==this.trigger&&t.children&&t.children.length||this.expandNextPanel(t)},expandNextPanel:function(t){var e=this,n=t.children;n&&n.length&&(this.parentName=t.title,n.forEach((function(t){t.checked="checked"})),this.selectedItems=l(n),"function"==typeof this.loadData?this.timer=setTimeout((function(){e.loadData(t,(function(){n.length&&(e.setAttributeOfNode(t),e.subListData=n,e.$nextTick((function(){e.$emit("checkWidth")}))),e.timer=null}))}),300):(this.subListData=n,this.$nextTick((function(){e.$emit("checkWidth")}))),this.$emit("select",t),this.showPanel=!0)},setAttributeOfNode:function(t){var e=this;t.children.forEach((function(n){e.initKey++,e.$set(n,"parentId",t.nodekey),e.$set(n,"loading",!1),e.$set(n,"nodekey","".concat(t.nodekey).concat(e.initKey)),n.hasOwnProperty("id")||e.$set(n,"id","".concat(t.nodekey).concat(e.initKey)),e.$set(n,"_title","".concat(t.title,"/").concat(n.title)),e.$set(n,"_ids","".concat(t.id,"/").concat(n.id)),e.$set(n,"checked","uncheck")}))},change:function(t,e){this.storeIds=t._ids.split("/"),this.multiple||(e?this.$emit("change",{item:t,flag:e}):this.$emit("change",t))},checkAllSelectStatus:function(t){if(t&&Array.isArray(t)){var e=t.filter((function(t){return!t.disabled})),n=e.every((function(t){return"checked"===t.checked})),i=e.some((function(t){return"checked"===t.checked}));this.selectAll=n?"checked":i?"notNull":"uncheck"}},handleQueryCheckbox:function(t,e){var n=this.queryItems.find((function(t){return t.id===e.id})),i=this.storeSubListData.findIndex((function(t){return t.id===e.id})),s=this.selectedItems.findIndex((function(t){return t.id===e.id})),a=this.subListData.find((function(t){return t.id===e.id}));a&&("checked"===a.checked?(this.storeSubListData[i].checked="uncheck",a.checked="uncheck",s>-1&&this.selectedItems.splice(s,1)):(a.checked="checked",this.storeSubListData[i].checked="checked",-1===s&&this.selectedItems.push(a))),n&&("checked"===n.checked?n.checked="uncheck":n.checked="checked")},handleCheckbox:function(t,e){var n=this.subListData.find((function(t){return t.id===e.id})),i=this.storeSubListData.findIndex((function(t){return t.id===e.id})),s=this.selectedItems.findIndex((function(t){return t.id===e.id}));n&&("checked"===n.checked?(this.storeSubListData[i].checked="uncheck",n.checked="uncheck",s>-1&&this.selectedItems.splice(s,1)):(n.checked="checked",this.storeSubListData[i].checked="checked",-1===s&&this.selectedItems.push(n))),this.checkAllSelectStatus(this.subListData)},selectAllItems:function(){var t=this;"checked"===this.selectAll?this.selectAll="uncheck":this.selectAll="checked",this.subListData.forEach((function(e){e.disabled||(e.checked=t.selectAll)})),"checked"===this.selectAll?this.selectedItems=l(this.subListData):(this.selectedItems=[],this.subListData.forEach((function(e){e.disabled&&t.selectedItems.push(e)}))),this.storeSubListData=l(this.subListData)},queryContent:function(t){var e=this;this.filterQuery=t.target.value||t.data||"";var n=this.storeSubListData.filter((function(t){return!!t.title&&t.title.indexOf(e.filterQuery)>-1}));this.queryItems=l(n),this.filterQuery||(this.subListData=this.storeSubListData)},cancelFilter:function(){this.queryInput="",this.filterQuery="",this.subListData=this.storeSubListData},cancalPanel:function(){this.showCascader=!1},confirmEmit:function(){this.queryInput="",this.filterQuery="",this.showCascader=!1,this.confirmedData=l(this.selectedItems),0===this.confirmedData.length&&this.$emit("clearPopover"),this.$emit("confirm",this.confirmedData)}}},p=(0,n.Z)(h,(function(){var t=this,e=t._self._c;return e("transition",{attrs:{name:"selectDownUpExtend"}},[e("div",{directives:[{name:"show",rawName:"v-show",value:t.showCascader,expression:"showCascader"}],ref:"dropdown",staticClass:"p-cascader-search-list-drop",on:{wheel:function(t){t.stopPropagation()}}},[e("div",{staticClass:"p-cascader-search-list-select-container"},[e("div",{staticClass:"p-cascader-search-list-select-panel"},[e("div",[e("div",{staticClass:"p-cascader-search-list-column",on:{click:function(t){t.stopPropagation()}}},[t.root?e("div",[e("ul",{staticClass:"p-cascader-search-list-menu",style:t.menuWidth,on:{click:function(t){t.stopPropagation()}}},t._l(t.data,(function(n,i){return e("li",{key:i,class:t.itemClass(n),on:{mouseenter:function(e){return e.stopPropagation(),t.handleHoverItem(n)},click:function(e){return e.stopPropagation(),t.handleClickItem(n)},mouseleave:function(e){return e.stopPropagation(),t.handleLeaveItem(n)}}},[e("span",{staticClass:"p-cascader-search-list-item-text",style:t.itemWidth},[t._v(" "+t._s(n.title)+" ")]),t._v(" "),e("span",{staticStyle:{transform:"translate(0px, 4px)"}},[e("div",{directives:[{name:"show",rawName:"v-show",value:t.activeKey===n.id,expression:"activeKey === item.id"}],staticClass:"p-select-multiple-icon"}),t._v(" "),n.loading?t._e():e("i",{staticClass:"p-cascader-search-list-next-icon"},[e("arrow",{staticStyle:{width:"16px",height:"16px"}})],1),t._v(" "),n.loading?e("i",{staticClass:"p-cascader-search-list-item-loading"},[e("loading",{staticStyle:{width:"16px",height:"16px"}})],1):t._e()])])})),0)]):t._e(),t._v(" "),e("div",{staticClass:"second-cascader-menu",style:t.menuWidth,on:{click:function(t){t.stopPropagation()}}},[t.root?e("div",{staticClass:"second-cascader-menu-filter"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.queryInput,expression:"queryInput"}],staticClass:"p-cascader-search-list-input",staticStyle:{"padding-left":"12px"},attrs:{placeholder:"搜索"},domProps:{value:t.queryInput},on:{input:[function(e){e.target.composing||(t.queryInput=e.target.value)},t.queryContent]}}),t._v(" "),e("Remove",{directives:[{name:"show",rawName:"v-show",value:t.filterQuery,expression:"filterQuery"}],staticClass:"p-cascader-search-list-clear",on:{click:function(e){return e.stopPropagation(),t.cancelFilter.apply(null,arguments)}}})],1):t._e(),t._v(" "),e("div",[e("div",{directives:[{name:"show",rawName:"v-show",value:!t.filterQuery,expression:"!filterQuery"}],staticClass:"select-all-box"},[e("Checkbox",{attrs:{checked:t.selectAll},on:{change:t.selectAllItems}},[t._v("\n "+t._s(t.root?"所有":"全部")+"\n ")])],1),t._v(" "),t.filterQuery&&!t.queryItems.length?e("div",{staticClass:"p-cascader-search-list-not-found"},[t._v("没有匹配到任何内容\n ")]):t._e(),t._v(" "),e("ul",{directives:[{name:"show",rawName:"v-show",value:t.filterQuery&&t.queryItems.length,expression:"filterQuery && queryItems.length"}],staticClass:"p-cascader-search-list-menu",style:t.UlStyle},t._l(t.queryItems,(function(n,i){return e("li",{key:i,class:t.itemClass(n),staticStyle:{"padding-left":"32px"}},[-1!==n.parentId?e("Checkbox",{attrs:{checked:n.checked,disabled:n.disabled,"data-id":n.id},on:{change:t.handleQueryCheckbox}}):t._e(),t._v(" "),e("span",{class:["p-cascader-search-list-item-text",n.forbidden&&"p-cascader-search-list-item-text-disabled"],style:t.itemWidth},[t._v(" "+t._s(n.title)+" ")])],1)})),0),t._v(" "),t.root&&!t.filterQuery?e("ul",{staticClass:"p-cascader-search-list-menu",style:t.UlStyle},t._l(t.subListData,(function(n,i){return e("li",{key:i,class:t.itemClass(n),staticStyle:{"padding-left":"32px"}},[-1!==n.parentId?e("Checkbox",{attrs:{checked:n.checked,disabled:n.disabled,"data-id":n.id},on:{change:t.handleCheckbox}}):t._e(),t._v(" "),e("span",{class:["p-cascader-search-list-item-text",n.forbidden&&"p-cascader-search-list-item-text-disabled"],style:t.itemWidth},[t._v(" "+t._s(n.title)+" ")])],1)})),0):t._e(),t._v(" "),t.root?t._e():e("ul",{staticClass:"p-cascader-search-list-menu",style:t.UlStyle},t._l(t.subListData,(function(n,i){return e("li",{key:i,class:t.itemClass(n),staticStyle:{"padding-left":"32px"}},[e("Checkbox",{attrs:{checked:n.checked,disabled:n.disabled,"data-id":n.id},on:{change:t.handleCheckbox}}),t._v(" "),e("span",{class:["p-cascader-search-list-item-text",n.forbidden&&"p-cascader-search-list-item-text-disabled"],style:t.itemWidth},[t._v(" "+t._s(n.title)+" ")])],1)})),0)]),t._v(" "),e("div",{staticClass:"p-cascader-search-list-select-panel-footer",style:t.menuWidth,on:{click:function(t){t.stopPropagation()}}},[e("span",{on:{click:function(e){return e.stopPropagation(),t.cancalPanel.apply(null,arguments)}}},[t._v("取消")]),t._v(" "),e("span",{on:{click:function(e){return e.stopPropagation(),t.confirmEmit.apply(null,arguments)}}},[t._v("确定")])])])])])])])])])}),[],!1,null,null,null),f=p.exports,v=function(t,e,n,i,s){var a,r,o=e.clientHeight,c=e.clientWidth,l=window,d=l.pageYOffset,u=l.pageXOffset,h=t.getBoundingClientRect(),p=h.top,f=h.left,v=h.height,m=h.width,y=!0;o-(p+v+8)>=n?a=p+v+8+d:p-8>=n?(a=p-n-8+d,y=!1):a=o-n+d;var g=c-f-m,w=g+m;return r=c<=i?u:f>0?w>=i?f+u:f+m>=i?f+m-i+u+(g>0?0:g):(c-i)/2+u:u,s&&w>=i&&(r=r-i+m),{X:r,Y:a,P:y}},m=7e3;var y=c().extend(f),g=null,w=null,x=function(t){var e=t.tag,n=t.props,i=(e&&e.getBoundingClientRect()).width;i>600&&(i=600),i<180&&(i=180),n.width=i;var s=document.body;g=(g=new y({propsData:n})).$mount();var a=0;a=Array.isArray(n.selectIds)&&n.selectIds.length?2:1;var r=v(e,s,320,i*a),o=r.X,c=r.Y;return w=i,m++,g.$el.style.top=c+"px",g.$el.style.left=o+"px",g.$el.style.zIndex=m,g.$el.childNodes.forEach((function(t){1===t.nodeType&&"p-cascader-no-found"===t.className&&(t.style.width=i+"px")})),s.appendChild(g.$el),g};x.remove=function(t){if(t&&!t._isDestroyed){t.$destroy();var e=t.$el;e&&e.parentNode.removeChild(e)}},x.resetPosition=function(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:w;if(t){var s=v(e,n,325,i),a=s.X,r=s.Y;t.$el.style.top=r+"px",t.$el.style.left=a+"px"}};var b=x;function k(t){return k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},k(t)}function C(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function _(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?C(Object(n),!0).forEach((function(e){D(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):C(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function D(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==k(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||"default");if("object"!==k(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===k(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var I={name:"CascaderSearchList",data:function(){return{inputText:"",flatData:[],query:"",isFocused:!1,dropInstance:null,popoverInstance:null,fakePlaceholder:"请选择",showInputText:!0,selectIds:"",recursionData:[],storeQueryData:[],showCountNumber:!1,handleData:[],storeSelectData:[],popoverTip:null,selectedTipStyle:{bottom:0,left:0},tDom:null,leftW:0,timer:null,timer2:null,selectAll:"",captionWidth:0}},computed:{classes:function(){return["p-cascader-search-list-triangle",this.dropInstance&&this.dropInstance.showCascader?"p-cascader-search-list-triangle-up":"p-cascader-search-list-triangle-down"]},widthStyle:function(){return{width:"".concat(this.width,"px")}},inputStyle:function(){return{width:this.caption?"".concat(this.width-14*this.caption.length,"px"):"".concat(this.width-32,"px"),left:this.caption?"4px":0}},tipText:{get:function(){var t=JSON.parse(JSON.stringify(this.storeSelectData));if(Array.isArray(t)&&t.length){var e=t.length-1,n="";return t.forEach((function(t,i){n+=i<e?"".concat(t.title,"、"):t.title})),n}}}},components:{Triangle:a,Checkbox:d.default,Remove:r},props:{title:{type:String,default:""},caption:{type:String,default:""},value:{type:Array,default:function(){return[]}},data:{type:Array,default:function(){return[]}},width:{type:[String,Number],default:200},loadData:{type:Function},root:{type:Boolean,default:!0},placeholder:{type:String,default:"请选择"},tipPlace:{type:String,default:"top"},trigger:{validator:function(t){return["click","hover"].indexOf(t)>-1},default:"click"},transfer:{type:String,default:""}},directives:{clickoutside:e},created:function(){Array.isArray(this.value)&&this.value.length&&this.selectDefaultValues(this.value),this.fakePlaceholder=this.placeholder},mounted:function(){if(this.transfer){var t=this.transfer;t.startsWith("#")||(t="#".concat(t)),this.scrollDom=document.querySelector(t),this.scrollDom&&(this.scrollDom.addEventListener("mousewheel",this.throttleWheel,!1),this.scrollDom.addEventListener("scroll",this.throttleWheel,!1))}document.addEventListener("mousewheel",this.throttleWheel,!1)},watch:{data:{handler:function(t,e){t!==e&&(this.handleData=l(this.data),this.createFlatData(),this.createRecursionData())},deep:!0,immediate:!0},value:{handler:function(t,e){this.selectIds=t,this.selectDefaultValues(t),this.dropInstance&&(this.dropInstance.selectIds=t)},immediate:!0},"dropInstance.showCascader":{handler:function(t,e){this.showCountNumber=!t,this.$emit("focusChange",!t),this.popoverTip&&t&&(this.popoverTip.show=!1)}},caption:{handler:function(t,e){var n=this;t!==e&&(t?this.$nextTick((function(){return n.getCaptionWidth()})):this.captionWidth=0)},immediate:!0}},methods:{getCaptionWidth:function(){var t=this;this.caption&&setTimeout((function(){var e=t.$refs.captionDom;if(e){var n=14*e.textContent.length+8;t.captionWidth=n<196?n:196}}))},selectDefaultValues:function(e){var n=this;if(e.length){var i=[],s=[];e.forEach((function(t){var e=n.flatData.find((function(e){return e.id===t}));e&&i.push(e)}));var a=i[0].parentId,r=[];if(i.forEach((function(t,e){t.parentId===a&&(s.push(t.id),r.push(t))})),i=r,this.selectIds=s,this.caption&&this.root){var o=i[0]._title.split("/")[0];this.$emit("changeCaption",o)}i.length&&(this.showCountNumber=!0,this.selectAll=this.flatData.length===i.length),this.storeSelectData=i.filter((function(t){return!t.disabled})),0==this.storeSelectData.length&&this.popoverTip&&(t.default.remove(this.popoverTip),this.popoverTip=null)}},throttleWheel:function(){var t=this;this.timer2&&clearTimeout(this.timer2),this.timer2=setTimeout((function(){t.wheelListenter(),t.timer2=null}),300)},wheelListenter:function(){this.$refs.cascaderInput.blur(),this.dropInstance&&(this.dropInstance.showCascader=!1),this.popoverInstance&&(this.popoverInstance.showTip=!1)},createRecursionData:function(){var t=[];!function e(n,i,s){for(var a=0;a<n.length;a++){var r=n[a];r._title=i?"".concat(i,"/").concat(r.title):r.title,r._ids=s?"".concat(s,"/").concat(r.id):r.id,r.display=r.title,r.children&&r.children.length?e(r.children,r._title,r._ids):t.push(_(_({},r),{},{query:!0}))}}(this.handleData),this.recursionData=t},createFlatData:function(){var t=this,e=[],n=-1;function i(s,a){n++,s.nodekey=n,e[n]=s,a&&(e[n].parentId=a.nodekey,s.parentId=a.nodekey),s.children&&s.children.length&&s.children.forEach((function(e){t.$set(e,"checked","uncheck"),i(e,s)}))}!this.loadData||this.loadData,this.handleData.forEach((function(e){e.parentId=-1,t.$set(e,"checked","uncheck"),e.firstLevel=!0,i(e)})),this.flatData=e},setTipStatus:function(e){var n=this;this.tipText&&!this.selectAll&&(this.popoverTip?this.timer?this.clearTimer():this.timerEnter=setTimeout((function(){n.dropInstance&&n.dropInstance.showCascader||(n.popoverTip.content=n.tipText,t.default.resetPosition(n.popoverTip)),clearTimeout(n.timerEnter),n.timerEnter=null}),300):this.timerEnter=setTimeout((function(){var e=n.$refs,i=e.cascader,s=e.countTag;n.popoverTip=(0,t.default)({tag:i,countTag:s,propsData:{content:n.tipText}}).$on("popoverTipHandle",(function(t){"enter"===t?n.clearTimer():n.setTimer()})),n.popoverTip.$nextTick((function(){t.default.resetPosition(n.popoverTip)})),clearTimeout(n.timerEnter),n.timerEnter=null}),300))},setTimer:function(){var t=this;this.timer=setTimeout((function(){t.popoverTip.show=!1,t.clearTimer()}),300)},clearTimer:function(){clearTimeout(this.timer),this.timer=null},mouseLeave:function(){this.timerEnter?clearTimeout(this.timerEnter):this.popoverTip&&this.setTimer()},handleClose:function(){this.dropInstance&&(this.dropInstance.showCascader=!1,this.dropInstance.confirmedData.length||this.$emit("changeCaption",this.title))},handleFocus:function(){this.isFocused=!0,this.dropInstance&&this.dropInstance.query&&this.dropInstance.confirmedData.length},handleBlur:function(){this.isFocused=!1},resetPanelPosition:function(){var t=this,e=0;e=this.root&&this.dropInstance.showPanel?2:1;var n=0;n=this.width>600?600:this.width<180?180:this.width,this.$nextTick((function(){b.resetPosition(t.dropInstance,t.$refs.cascader,document.body,e*Number(n))}))},handleOpen:function(e){var n=this,i=this;if(i.dropInstance){if(this.dropInstance.showCascader)return this.handleClose(),this.$refs.cascaderInput.blur(),!1;i.dropInstance.showCascader=!0,i.resetPanelPosition(),i.popoverTip&&(i.popoverTip.show=!1)}else i.dropInstance=b({tag:i.$refs.cascader,props:{query:i.query,data:i.handleData,loadData:i.loadData,selectIds:i.selectIds,flatData:i.flatData,trigger:i.trigger,recursionData:i.recursionData,root:i.root}}).$on("change",(function(t){t.length||(i.query="",i.inputText="")})).$on("select",(function(t){t.parentId&&-1===t.parentId&&i.$emit("change",t._ids&&t._ids.split("/"))})).$on("confirm",(function(t){var e=null;i.storeSelectData=t,i.storeSelectData=t.filter((function(t){return!t.disabled}));var s=[];if(i.selectAll=t.length===i.data.length&&!i.root,t.length){t.forEach((function(t){s.push(t.id)})),i.root&&i.title&&n.$emit("changeCaption",t[0]._title.split("/")[0]),e=t[0]._ids.split("/")[0];var a=l(t);a.unshift(e),i.$emit("confirm",a)}i.selectIds=s,i.$emit("input",s)})).$on("checkWidth",(function(){i.resetPanelPosition()})).$on("clearPopover",(function(){n.popoverTip&&(t.default.remove(n.popoverTip),n.popoverTip=null)})),i.dropInstance.$nextTick((function(){i.dropInstance.showCascader=!0}))}},beforeDestroy:function(){b.remove(this.dropInstance),this.popoverTip&&t.default.remove(this.popoverTip),document.removeEventListener("mousewheel",this.throttleWheel)}},S=(0,n.Z)(I,(function(){var t=this,e=t._self._c;return e("div",[e("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:t.handleClose,expression:"handleClose"}],ref:"cascader",class:["p-cascader-search-list"],style:t.widthStyle},[e("div",{class:["p-cascader-search-list-header",t.isFocused&&"p-cascader-search-list-focused"],on:{click:t.handleOpen,mouseenter:function(e){return t.setTipStatus(!0)},mouseleave:function(e){return t.mouseLeave(!1)}}},[e("Triangle",{class:t.classes}),t._v(" "),t.caption?e("span",{ref:"captionDom",staticClass:"p-cascader-search-list-caption"},[t._v(t._s(t.caption))]):t._e(),t._v(" "),e("div",{staticClass:"p-cascader-search-list-fake-input"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.inputText,expression:"inputText"}],ref:"cascaderInput",staticClass:"p-cascader-search-list-input",style:t.inputStyle,attrs:{readonly:""},domProps:{value:t.inputText},on:{focus:function(e){return e.stopPropagation(),t.handleFocus.apply(null,arguments)},blur:t.handleBlur,input:function(e){e.target.composing||(t.inputText=e.target.value)}}}),t._v(" "),e("section",{staticClass:"p-cascader-search-list-placeholder",style:t.inputStyle},[t.storeSelectData.length?e("span",{class:[t.showCountNumber?"p-cascader-search-selected":"p-cascader-search-normal"]},[e("span",{directives:[{name:"show",rawName:"v-show",value:t.selectAll,expression:"selectAll"}]},[t._v("\r\n 全部\r\n ")]),t._v(" "),e("span",{directives:[{name:"show",rawName:"v-show",value:!t.selectAll,expression:"!selectAll"}]},[t._v("\r\n 已选择"),e("span",{ref:"countTag",class:[t.showCountNumber?"p-cascader-search-number":"p-cascader-search-normal"],style:{margin:"0 4px"}},[t._v(t._s(t.storeSelectData.length))]),t._v("项\r\n ")])]):e("span",[t._v("\r\n "+t._s(t.placeholder)+"\r\n ")])])])],1)])])}),[],!1,null,null,null),T=S.exports;T.install=function(t){return t.component(T.name,T)};var $=T}(),s}()}));