PageSourceSearch

https://www.fuerstenau.de/:res/modules/common/common/framework/vue…lect--multiselect.system.js?fp=1685c00e8ba6

js fuerstenau.de collected 2026-10-02 07:51:23 UTC 10,179 bytes, 2 lines download raw bytes

1System.register([],(function(e){"use strict";return{execute:function(){var t=e("MultiSelectWrapper",{data:()=>({}),render(){return this.$scopedSlots.default({selectedOptions:this.value,options:this.options,isSelected:this.isSelected,toggleOption:this.toggleOption})},props:{value:[Array,String],options:Array,toggable:{type:Boolean,default:!0},multiple:{type:Boolean,default:!0}},name:"multiselect-wrapper",computed:{selectedOptions:{get(){return this.value},set(e){this.$emit("input",e)}}},methods:{isSelected(e){return null!==this.value&&-1!==this.value.indexOf(e)},toArray:e=>Array.isArray(e)?e:e&&0!==e.length?[e]:[],handleOptionCheck(e){e.onCheck&&"function"==typeof e.onCheck&&e.onCheck()},toggleOption(e){let t=null;t=JSON.parse(JSON.stringify(this.toArray(this.value)));let s=void 0!==e.value?e.value:e,o=t.indexOf(s);-1!==o?(this.multiple||!this.multiple&&this.toggable)&&(t.splice(o,1),this.$emit("uncheck")):(this.handleOptionCheck(e),this.multiple?t.push(s):t=[s]),this.multiple?this.selectedOptions=t:this.selectedOptions=0===t.length?null:t[0]}}});const s={TAB:9,ENTER:13,ESC:27,SPACE:32,PAGEUP:33,PAGEDOWN:34,END:35,LEFT:37,UP:38,RIGHT:39,DOWN:40},o={TAB:"Tab",ENTER:"Enter",ESC:"Escape",SPACE:"Space",PAGEUP:"PageUp",PAGEDOWN:"PageDown",END:"End",LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",DOWN:"ArrowDown"};e("TagFilterBar",{render:function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("multi-select-wrapper",{attrs:{options:e.tags,toggable:!0},scopedSlots:e._u([{key:"default",fn:function(t){var o=t.isSelected,a=t.toggleOption;return[s("div",{ref:"toolbar",staticClass:"tag-filter-bar",attrs:{role:"toolbar","aria-label":e.ariaLabel,"data-observe-resizing":"","data-breakpoints":JSON.stringify(e.breakpoints)}},e._l(e.tags,(function(t,i){return s("button",{key:t.value,staticClass:"tag-filter-bar__button",class:{selected:o(t.value)},attrs:{"aria-pressed":o(t.value).toString(),title:t.label,tabindex:null!==e.focusedTag&&e.focusedTag==t.value?0:-1,"aria-controls":e.ariaControls},on:{click:function(e){return e.preventDefault(),a(t)}}},[e._v("\n                "+e._s(t.label)+"\n            ")])})),0)]}}]),model:{value:e.selectedTags,callback:function(t){e.selectedTags=t},expression:"selectedTags"}})},staticRenderFns:[],data:()=>({focusedTag:null}),methods:{updateFocusedTag(e){let t=this.tags.map((e=>e.value)).indexOf(this.focusedTag)+e;t<0&&(t=this.tags.length-1),t>this.tags.length-1&&(t=0),this.focusedTag=this.tags[t].value,this.$refs.toolbar.querySelectorAll("button")[t].focus()}},mounted(){this.tags.length>0&&(this.focusedTag=this.tags[0].value),this.$refs.toolbar.addEventListener("keydown",(e=>{if(e.defaultPrevented)return;
1let t=void 0!==e.key?o:s;switch(void 0!==e.key?e.code:e.keyCode){case t.UP:this.updateFocusedTag(1),e.preventDefault();break;case t.DOWN:case t.LEFT:this.updateFocusedTag(-1),e.preventDefault();break;case t.RIGHT:this.updateFocusedTag(1),e.preventDefault()}}),!0)},props:{ariaControls:String,ariaLabel:{type:String,default:"Schlagwort Filter"},breakpoints:{type:Object,default:()=>({small:0,medium:420,large:768,xlarge:1024})},tags:Array,value:Array},name:"tagFilterBar",computed:{selectedTags:{get(){return this.value},set(e){this.$emit("input",e)}}},components:{MultiSelectWrapper:t}});const a={TAB:9,ENTER:13,ESC:27,SPACE:32,PAGEUP:33,PAGEDOWN:34,END:35,LEFT:37,UP:38,RIGHT:39,DOWN:40},i={TAB:"Tab",ENTER:"Enter",ESC:"Escape",SPACE:"Space",PAGEUP:"PageUp",PAGEDOWN:"PageDown",END:"End",LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",DOWN:"ArrowDown"};e("MultiSelect",{render:function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("multi-select-wrapper",{ref:"baseComp",attrs:{multiple:e.multiple,options:e.options,toggable:e.toggable},scopedSlots:e._u([{key:"default",fn:function(t){var o=t.isSelected,a=t.toggleOption;return[s("div",{ref:"comp",staticClass:"c-c-framework-vuejs-multiselect",class:e.modalClass},[s("button",{staticClass:"c-c-framework-vuejs-multiselect-button",class:{active:e.dropdownActive},attrs:{type:"button","aria-haspopup":"listbox","aria-expanded":e.dropdownActive.toString()},on:{click:function(t){e.dropdownActive=!e.dropdownActive}}},[e._t("button-label",(function(){return[s("span",{staticClass:"c-c-framework-vuejs-multiselect-button-label",attrs:{id:"c-c-framework-vuejs-multiselect-label-"+e.id}},[0===e.selectedOptions.length?[e._v("\n                            "+e._s(e.label)+"\n                        ")]:e._e(),e._v(" "),1===e.selectedOptions.length?[e._v("\n                            "+e._s(e.getLabelByValue(e.selectedOptions[0]))+"\n                        ")]:e._e(),e._v(" "),e.selectedOptions.length>1?[e._v("\n                            "+e._s(e.label)+", ("+e._s(e.selectedOptions.length)+" ausgewählt)\n                        ")]:e._e()],2),e._v(" "),s("span",{staticClass:"c-c-framework-vuejs-multiselect__dropdown-icon"})]}),{selectedOptions:e.selectedOptions,options:e.options,label:e.label})],2),e._v(" "),s("div",{staticClass:"c-c-framework-vuejs-multiselect-dropdown-wrapper"},[s("div",{staticClass:"c-c-framework-vuejs-multiselect-overlay",on:{click:function(t){e.dropdownActive=!1}}}),e._v(" "),s("div",{ref:"dropdownContent",staticClass:"c-c-framework-vuejs-multiselect-dropdown-content",attrs:{tabindex:"-1"}},[s("div",{staticClass:"c-c-framework-vuejs-multiselect-dropdown-top"},[s("div",{staticClass:"c-c-framework-vuejs-multiselect-dropdown-title"},[e._v(e._s(e.label))]),e._v(" "),s("button",{staticClass:"c-c-framework-vuejs-multiselect-dropdown-close",attrs:{type:"button"},on:{click:function(t){e.dropdownActive=!1}}},[e._v("\n                            × Schließen\n                        ")])]),e._v(" "),s("ul",{ref:"optionsContainer",staticClass:"c-c-framework-vuejs-multiselect-dropdown",attrs:{role:"listbox","aria-labelledby":"c-c-framework-vuejs-multiselect-label-"+e.id}},[e.searchable?s("li",{staticClass:"c-c-framework-vuejs-multiselect-dropdown-item"},[s("input",{directives:[{name:"model",rawName:"v-model",value:e.search,expression:"search"}],staticClass:"c-c-framework-vuejs-multiselect-search-input",attrs:{type:"search","aria-label":"Nach Schlagworten suchen",placeholder:"Suche"},domProps:{value:e.search},on:{input:function(t){t.target.composing||(e.search=t.target.value)}}})]):e._e(),e._v(" "),0===e.filteredOptions.length?s("li",{staticClass:"c-c-framework-vuejs-multiselect-dropdown-item"},[s("span",[e._v("Keine Ergebnisse")])]):e._e(),e._v(" "),e._l(e.filteredOptions,(function(t,i){return s("li",{key:i,staticClass:"c-c-framework-vuejs-multiselect-dropdown-item"},[s("a",{class:{"c-c-framework-vuejs-multiselect-dropdown-item--selected":o(t.value)},attrs:{href:"#",role:"option",tabindex:null!==e.focusedOption&&e.focusedOption==t.value?0:-1},on:{click:function(e){return e.preventDefault(),a(t)}}},[e._t("option",(function(){return[s("span",{staticClass:"c-c-framework-vuejs-multiselect-checkbox"}),e._v(" "),s("span",{staticClass:"c-c-framework-vuejs-multiselect-label"},[e._v(e._s(t.label))])]}),{option:t})],2)])}))],2)])])])]}}],null,!0),model:{value:e.selectedOptions,callback:function(t){e.selectedOptions=t},expression:"selectedOptions"}})},staticRenderFns:[],data(){return{focusedOption:null,isModal:this.alwaysShowModal,dropdownActive:!1,search:"",id:this.shortId()}},props:{value:[Array,String],options:Array,label:String,modalBreakp
1oint:{type:Number,default:640},alwaysShowModal:{type:Boolean,default:!1},breakpointRelatedElement:{type:String,default:"window"},multiple:{type:Boolean,default:!0},searchable:{type:Boolean,default:!0},toggable:{type:Boolean,default:!0}},name:"c-c-framework-vuejs-multiselect",mounted(){if(this.$refs.optionsContainer.addEventListener("focusout",(e=>{e.relatedTarget&&!e.relatedTarget.closest(".c-c-framework-vuejs-multiselect-dropdown")&&this.options.length>0&&(this.focusedOption=this.selectedOptionsArray.length>0?this.selectedOptionsArray[0]:this.options[0].value)})),this.options.length>0&&(this.focusedOption=this.selectedOptionsArray.length>0?this.selectedOptionsArray[0]:this.options[0].value),!this.alwaysShowModal)if("self"===this.breakpointRelatedElement)this.$refs.comp.setAttribute("data-breakpoints",JSON.stringify({"is-modal":0,"is-dropdown":this.modalBreakpoint+1})),window.Pegasus.Common.Common.Framework.ResponsiveComponents.observe(this.$refs.comp),this.$refs.comp.onElementResizeBreakpointChange=e=>{this.isModal="is-modal"===e.breakpointName};else{let e=()=>{this.isModal=window.innerWidth<=this.modalBreakpoint};window.addEventListener("resize",e),e()}this.$refs.comp.addEventListener("keydown",(e=>{if(e.defaultPrevented)return;
1let t=void 0!==e.key?i:a;switch(void 0!==e.key?e.code:e.keyCode){case t.UP:this.dropdownActive?this.updateFocusedOption(-1,e):this.dropdownActive=!0,e.preventDefault();break;case t.DOWN:this.dropdownActive?this.updateFocusedOption(1,e):this.dropdownActive=!0,e.preventDefault()}}),!0),document.body.addEventListener("click",(e=>{let t=e.target.closest(".c-c-framework-vuejs-multiselect");t?t!==this.$el&&(this.dropdownActive=!1):this.dropdownActive=!1}))},computed:{modalClass(){return this.alwaysShowModal?"is-modal":"self"!==this.breakpointRelatedElement?this.isModal?"is-modal":"is-dropdown":null},selectedOptionsArray(){return this.$refs.baseComp.toArray(this.selectedOptions)},selectedOptions:{get(){return this.value},set(e){this.$emit("input",e)}},filteredOptions(){if(0===this.search.length)return this.options;let e=[];return this.options.forEach((t=>{t.label.toLowerCase().trim().includes(this.search.toLowerCase().trim())&&e.push(t)})),e}},components:{MultiSelectWrapper:t},methods:{getLabelByValue(e){let t="";return this.options.some((s=>(s.label,s.value===e&&(t=s.label,!0)))),t},updateFocusedOption(e){let t=this.options.map((e=>e.value)).indexOf(this.focusedOption)+e;t<0&&(t=this.options.length-1),t>this.options.length-1&&(t=0),this.focusedOption=this.options[t].value,this.$refs.optionsContainer.querySelectorAll("[role='option']")[t].focus()},shortId(){var e=46656*Math.random()|0,t=46656*Math.random()|0;return(e=("000"+e.toString(36)).slice(-3))+(t=("000"+t.toString(36)).slice(-3))}}})}}}));
2//# sourceMappingURL=framework-vuejs-multiselect--multiselect.system.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.