@appscode/ui-builder
Version:
## Motivation
1 lines • 6.93 kB
JavaScript
;var e=require("./wrapper-944ca3a6.js");require("vue"),require("./es.array.concat-5462e385.js"),require("./es.array.find-index-376cd032.js"),require("./index-cc93bc29.js"),require("./web.dom-collections.iterator-4a73d869.js"),require("./set-to-string-tag-4a66b282.js"),require("./object-set-prototype-of-f804d831.js"),require("./stickyContent-fa0d230c.js"),require("./es.symbol.description-77bfa4c4.js");var t=require("./star-icon-cfc027fa.js");require("./web.immediate-813e3257.js");var i=require("./form-element-mixins-d5406c4c.js"),s=require("./data-function-mixins-ba51d46e.js");require("./es.regexp.to-string-6cd9996a.js");var n=require("./individual-item-disablity-check-6865e0e8.js"),a=require("./function-call-mixins-447c7f1f.js"),l={name:"ub-multi-select-box",mixins:[i.f,s.d,n.i,a.f],props:{options:{type:Array,default:function(){return[]}},addNewButton:{type:Object,default:function(){return{}}},allowUserDefinedOption:{type:Boolean,default:!1}},components:{Multiselect:function(){return Promise.resolve().then((function(){return require("./vue-multiselect.min-b0606273.js")})).then((function(e){return e.v})).then((function(e){return e.default}))}},data:function(){return{selectedValue:null,userDefinedOptions:[]}},computed:{formatedOptions:function(){var t=this.options.map((function(t){return"object"===e.ad(t)?t:{value:t,text:t}}));return t.unshift.apply(t,e.j(this.userDefinedOptions)),t},modifiedOptions:function(){var t=this,i=this.formatedOptions.map((function(i,s){return e.e(e.e({},i),{},{$isDisabled:t.individualItemDisabilityVerdict[s]})}));return this.addNewButton.label?[].concat(e.j(i),[{isAddButton:!0}]):e.j(i)},urlType:function(){return/^https?:\/\/|^\/\//i.test(this.addNewButton.url)?"absolute":"relative"},individualItemsArray:function(){return this.formatedOptions||[]}},methods:{showDeselectOption:function(e){if(e){var t=this.formatedOptions.findIndex((function(t){return t.value===e.value}));if(t>=0)return!this.individualItemDisabilityVerdict[t]}return!1},getCustomLabel:function(e){return e.text},updateZIndex:function(e,t,i){var s,n;(null==e?void 0:e.parentNode)&&(n=e.parentNode.closest(".ac-nested-elements")),(null===(s=n)||void 0===s?void 0:s.style)&&(n.style.zIndex=t.toString(),this.updateZIndex(n,t+i))},openDropDown:function(){this.$refs["ub-simple-select-box"].style.zIndex="779";var e=this.$refs["ub-simple-select-box"].closest(".ac-nested-elements");(null==e?void 0:e.style)&&(e.style.zIndex="779",this.updateZIndex(e,779,0)),this.onFocusInput()},closeDropDown:function(){this.$refs["ub-simple-select-box"].style.zIndex="";var e=this.$refs["ub-simple-select-box"].closest(".ac-nested-elements");(null==e?void 0:e.style)&&(e.style.zIndex="",this.updateZIndex(e,0,0)),this.configLabelHoisting(this.selectedValue),this.onFocusOutInput()},addNewOption:function(e){this.allowUserDefinedOption&&(this.userDefinedOptions.push({text:e,value:e}),this.selectedValue&&Array.isArray(this.selectedValue)||(this.selectedValue=[]),this.selectedValue.push({text:e,value:e}))},onClickLabel:function(){this.$refs["ub-multiselect-element"].$el.focus()},updateSelectedValue:function(t){var i=t.map((function(e){return JSON.stringify(e)})),s=this.formatedOptions&&this.formatedOptions.filter((function(e){return e&&i.includes(JSON.stringify(e.value))}))||[];s&&"object"===e.ad(s)&&Array.isArray(s)&&s.length&&(this.selectedValue=s),this.configLabelHoisting(this.selectedValue)},configLabelHoisting:function(e){this.isLabelHoisted=e&&Array.isArray(e)&&e.length},getUserDefinedOptions:function(e){var t,i=this;e.forEach((function(e){!i.formatedOptions.map((function(e){return e.value})).includes(e)&&i.userDefinedOptions.push({text:e,value:e})})),(t=this.userDefinedOptions).push.apply(t,[])}},watch:{selectedValue:{deep:!0,handler:function(t){if(this.configLabelHoisting(t),t&&"object"===e.ad(t)&&Array.isArray(t)&&t.length){var i=t.map((function(e){return e&&e.value}));JSON.stringify(i)!==JSON.stringify(this.modelValue)&&(this.modelValue=i)}else this.modelValue=""}},modelValue:{deep:!0,immediate:!0,handler:function(e){if(e){var t=this.selectedValue&&this.selectedValue.map((function(e){return e&&e.value}));this.allowUserDefinedOption&&this.getUserDefinedOptions(e),JSON.stringify(e)!==JSON.stringify(t)&&this.updateSelectedValue(e)}}},formatedOptions:{deep:!0,immediate:!0,handler:function(){var e=this.selectedValue&&this.selectedValue.map((function(e){return e&&e.value}));this.modelValue&&JSON.stringify(this.modelValue)!==JSON.stringify(e)&&this.updateSelectedValue(this.modelValue)}}}},r=e.n({render:function(){var e=this,i=e.$createElement,s=e._self._c||i;return s("div",{ref:"ub-simple-select-box",staticClass:"multi-select-wrapper is-small mb-20",class:{"is-disable":e.disabled||e.isValueEmitting,"has-info-button":e.schema.description}},[e._ssrNode("<label"+e._ssrClass(null,{"show-label":e.isLabelHoisted,"is-required":e.required})+">"+e._ssrEscape("\n "+e._s(e.$ubt(e.labelText))+"\n ")+(e.required?'<span class="is-required"><img'+e._ssrAttr("src",t._)+" alt></span>":"\x3c!----\x3e")+"</label> "),s("info-button",{class:"is-information",attrs:{label:e.labelText,schema:e.schema}}),e._ssrNode(" "),s("multiselect",{ref:"ub-multiselect-element",attrs:{label:"text",multiple:!0,"custom-label":e.getCustomLabel,options:e.modifiedOptions,"track-by":"value","show-labels":!1,placeholder:"",disabled:e.disabled||e.isValueEmitting,taggable:e.allowUserDefinedOption,"tag-placeholder":e.$ubt("select.add_new_option")},on:{open:e.openDropDown,close:e.closeDropDown,tag:e.addNewOption},scopedSlots:e._u([{key:"tag",fn:function(t){var i=t.option,n=t.remove;return[s("span",{staticClass:"multiselect__tag"},[s("span",[e._v(e._s(i.value))]),e._v(" "),e.showDeselectOption(i)?s("i",{staticClass:"multiselect__tag-icon",attrs:{"aria-hidden":"true",tabindex:"1"},on:{click:function(e){return n(i)}}}):e._e()])]}},{key:"option",fn:function(t){return[t.option&&t.option.isAddButton?["relative"===e.urlType?s("router-link",{attrs:{to:e.addNewButton.url,target:e.addNewButton.target}},[s("span",{staticClass:"icon title is-6 is-marginless"},[s("i",{staticClass:"fa fa-plus"})]),e._v(" "),s("span",{staticClass:"title is-6"},[e._v(e._s(e.$ubt(e.addNewButton.label)))])]):s("a",{attrs:{href:e.addNewButton.url,target:e.addNewButton.target}},[s("span",{staticClass:"icon title is-6 is-marginless"},[s("i",{staticClass:"fa fa-plus"})]),e._v(" "),s("span",{staticClass:"title is-6"},[e._v(e._s(e.$ubt(e.addNewButton.label)))])])]:[e._v(e._s(e.$ubt(t.option.text)))]]}}]),model:{value:e.selectedValue,callback:function(t){e.selectedValue=t},expression:"selectedValue"}}),e._ssrNode(' <p class="is-error"'+e._ssrStyle(null,null,{display:e.errors.length?"":"none"})+'><i aria-hidden="true" class="fa fa-exclamation-triangle"></i>'+e._ssrEscape("\n "+e._s(e.errors[0])+"\n ")+"</p>")],2)},staticRenderFns:[]},void 0,l,void 0,!1,"data-v-13fc956a",!1,void 0,void 0,void 0);exports.default=r;