UNPKG

@appscode/ui-builder

Version:
1 lines 5.83 kB
import{ad as e,j as t,e as s,n as i}from"./wrapper-5d451278.js";import"vue";import"./es.array.concat-bc6da240.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";var r=i({render:function(){var e=this,t=e.$createElement,s=e._self._c||t;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}},[s("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?s("span",{staticClass:"is-required"},[s("img",{attrs:{src:n,alt:""}})]):e._e()]),e._v(" "),s("info-button",{class:"is-information",attrs:{label:e.labelText,schema:e.schema}}),e._v(" "),s("multiselect",{ref:"ub-multiselect-element",attrs:{label:"text","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:"singleLabel",fn:function(t){return[e._v("\n "+e._s(e.$ubt(t.option.text))+"\n ")]}},{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._v(" "),s("p",{directives:[{name:"show",rawName:"v-show",value:e.errors.length,expression:"errors.length"}],staticClass:"is-error"},[s("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-simple-select-box",mixins:[a,l,o],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 s=this.options.map((function(t){return"object"===e(t)?t:{value:t,text:t}}));return s.unshift.apply(s,t(this.userDefinedOptions)),s},modifiedOptions:function(){var i=this,n=this.formatedOptions.map((function(t,n){var a={};return"object"===e(t)?a=t:(a.text=t,a.value=t),s(s({},a),{},{$isDisabled:i.individualItemDisabilityVerdict[n]})}));return this.addNewButton.label?[].concat(t(n),[{isAddButton:!0}]):t(n)},urlType:function(){return/^https?:\/\/|^\/\//i.test(this.addNewButton.url)?"absolute":"relative"},individualItemsArray:function(){return this.formatedOptions||[]}},methods:{getCustomLabel:function(e){return JSON.stringify(e)},updateZIndex:function(e,t,s){var i,n;(null==e?void 0:e.parentNode)&&(n=e.parentNode.closest(".ac-nested-elements")),(null===(i=n)||void 0===i?void 0:i.style)&&(n.style.zIndex=t.toString(),this.updateZIndex(n,t+s))},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={text:e,value:e})},onClickLabel:function(){this.$refs["ub-multiselect-element"].$el.focus()},updateSelectedValue:function(e){this.selectedValue=this.formatedOptions&&this.formatedOptions.find((function(t){return t&&t.value===e}))||null,this.configLabelHoisting(this.selectedValue)},configLabelHoisting:function(e){this.isLabelHoisted=!!e}},watch:{selectedValue:{deep:!0,handler:function(e){this.configLabelHoisting(e),e?e.value&&e.value!==this.modelValue&&(this.modelValue=e.value):this.modelValue=""}},modelValue:{deep:!0,immediate:!0,handler:function(e){e&&e!==(this.selectedValue&&this.selectedValue.value)&&(!this.formatedOptions.map((function(e){return e.value})).includes(e)&&this.allowUserDefinedOption&&this.userDefinedOptions.push({text:e,value:e}),this.updateSelectedValue(e))}},formatedOptions:{deep:!0,immediate:!0,handler:function(){this.modelValue&&this.modelValue!==(this.selectedValue&&this.selectedValue.value)&&this.updateSelectedValue(this.modelValue)}}}},void 0,!1,void 0,!1,void 0,void 0,void 0);export default r;