@appscode/ui-builder
Version:
## Motivation
1 lines • 6.91 kB
JavaScript
import{ad as e,j as t,e as i,n as s}from"./wrapper-5d451278.js";import"vue";import"./es.array.concat-bc6da240.js";import"./es.array.find-index-091ba8fd.js";import"./index-ba66ec6f.js";import"./web.dom-collections.iterator-98113e95.js";import"./set-to-string-tag-edc1b53a.js";import"./object-set-prototype-of-866dfe15.js";import"./stickyContent-c27d9838.js";import"./es.symbol.description-695c0410.js";import{_ as n}from"./star-icon-1bdb79a1.js";import"./web.immediate-b3534d9e.js";import{f as a}from"./form-element-mixins-3a58edb9.js";import{d as l}from"./data-function-mixins-f9cb6d20.js";import"./es.regexp.to-string-3c3a71b5.js";import{i as o}from"./individual-item-disablity-check-7d31b40d.js";import{f as r}from"./function-call-mixins-9e1aa828.js";var u=s({render:function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("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}},[i("label",{class:{"show-label":e.isLabelHoisted,"is-required":e.required},on:{click:function(t){return t.preventDefault(),e.onClickLabel(t)}}},[e._v("\n "+e._s(e.$ubt(e.labelText))+"\n "),e.required?i("span",{staticClass:"is-required"},[i("img",{attrs:{src:n,alt:""}})]):e._e()]),e._v(" "),i("info-button",{class:"is-information",attrs:{label:e.labelText,schema:e.schema}}),e._v(" "),i("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 s=t.option,n=t.remove;return[i("span",{staticClass:"multiselect__tag"},[i("span",[e._v(e._s(s.value))]),e._v(" "),e.showDeselectOption(s)?i("i",{staticClass:"multiselect__tag-icon",attrs:{"aria-hidden":"true",tabindex:"1"},on:{click:function(e){return n(s)}}}):e._e()])]}},{key:"option",fn:function(t){return[t.option&&t.option.isAddButton?["relative"===e.urlType?i("router-link",{attrs:{to:e.addNewButton.url,target:e.addNewButton.target}},[i("span",{staticClass:"icon title is-6 is-marginless"},[i("i",{staticClass:"fa fa-plus"})]),e._v(" "),i("span",{staticClass:"title is-6"},[e._v(e._s(e.$ubt(e.addNewButton.label)))])]):i("a",{attrs:{href:e.addNewButton.url,target:e.addNewButton.target}},[i("span",{staticClass:"icon title is-6 is-marginless"},[i("i",{staticClass:"fa fa-plus"})]),e._v(" "),i("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._v(" "),i("p",{directives:[{name:"show",rawName:"v-show",value:e.errors.length,expression:"errors.length"}],staticClass:"is-error"},[i("i",{staticClass:"fa fa-exclamation-triangle",attrs:{"aria-hidden":"true"}}),e._v("\n "+e._s(e.errors[0])+"\n ")])],1)},staticRenderFns:[]},void 0,{name:"ub-multi-select-box",mixins:[a,l,o,r],props:{options:{type:Array,default:function(){return[]}},addNewButton:{type:Object,default:function(){return{}}},allowUserDefinedOption:{type:Boolean,default:!1}},components:{Multiselect:function(){return import("./vue-multiselect.min-3a726201.js").then((function(e){return e.v})).then((function(e){return e.default}))}},data:function(){return{selectedValue:null,userDefinedOptions:[]}},computed:{formatedOptions:function(){var i=this.options.map((function(t){return"object"===e(t)?t:{value:t,text:t}}));return i.unshift.apply(i,t(this.userDefinedOptions)),i},modifiedOptions:function(){var e=this,s=this.formatedOptions.map((function(t,s){return i(i({},t),{},{$isDisabled:e.individualItemDisabilityVerdict[s]})}));return this.addNewButton.label?[].concat(t(s),[{isAddButton:!0}]):t(s)},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(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(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)}}}},void 0,!1,void 0,!1,void 0,void 0,void 0);export default u;