UNPKG

@progress/kendo-vue-listbox

Version:
9 lines (8 loc) 3.62 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("vue"),u=require("@progress/kendo-vue-buttons"),m=require("@progress/kendo-vue-intl"),p=require("./messages/main.js"),v=require("@progress/kendo-vue-common"),o=require("@progress/kendo-svg-icons"),h=[{name:"moveUp",iconName:"chevron-up",svgIcon:o.chevronUpIcon},{name:"moveDown",iconName:"chevron-down",svgIcon:o.chevronDownIcon},{name:"transferTo",iconName:"chevron-right",svgIcon:o.chevronRightIcon},{name:"transferFrom",iconName:"chevron-left",svgIcon:o.chevronLeftIcon},{name:"transferAllTo",iconName:"chevron-double-right",svgIcon:o.chevronDoubleRightIcon},{name:"transferAllFrom",iconName:"chevron-double-left",svgIcon:o.chevronDoubleLeftIcon},{name:"remove",iconName:"x",svgIcon:o.xIcon}],g=d.defineComponent({name:"KendoListBoxToolbar",props:{dataItems:Array,dataConnected:Array,tools:Array,selectedField:{type:String,default:"selected"}},inject:{kendoLocalizationService:{default:null}},data(){return{currentRtl:!1}},mounted(){this.currentRtl=v.isRtl(this.$el)},render(){const t=m.provideLocalizationService(this);return d.createVNode("div",{class:"k-listbox-actions"},[this.$props.tools&&this.$props.tools.map(function(e,c){let l=h.findIndex(i=>i.name===e),n=h[l],s=this.isItemDisabled(n.name),r=`listbox.${n.name}`;const a=t.toLanguageString(r,p.messages[r]);return d.createVNode(u.Button,{key:c,disabled:s,"data-command":n.name,title:a,"aria-label":a,icon:this.currentRtl?this.getRtlFontIcon(n.iconName):n.iconName,svgIcon:this.currentRtl?this.getRtlSvgIcon(n.svgIcon):n.svgIcon,onClick:i=>{i.preventDefault(),this.handleToolClick(i,n.name||null)}},null)},this)])},methods:{getRtlSvgIcon(t){switch(t.name){case"chevron-right":return o.chevronLeftIcon;case"chevron-left":return o.chevronRightIcon;case"chevron-double-right":return o.chevronDoubleLeftIcon;case"chevron-double-left":return o.chevronDoubleRightIcon}return t},getRtlFontIcon(t){switch(t){case"chevron-right":return"chevron-left";case"chevron-left":return"chevron-right";case"chevron-double-right":return"chevron-double-left";case"chevron-double-left":return"chevron-double-right"}return t},handleToolClick(t,e){this.$emit("toolclick",{event:t,component:this,toolName:e})},isItemDisabled(t){let e=!0,c=this.$props.selectedField||"selected",l=this.$props.dataItems.length,n=this.$props.dataConnected.length,s=this.$props.dataItems.findIndex(a=>a[c]===!0)>=0,r=this.$props.dataConnected.findIndex(a=>a[c]===!0)>=0;switch(t){case"moveUp":s?e=this.$props.dataItems.length>0?this.$props.dataItems[0].selected:!0:r?e=this.$props.dataConnected.length>0?this.$props.dataConnected[0].selected:!0:e=!0;break;case"moveDown":s?e=this.$props.dataItems[l-1]?this.$props.dataItems[l-1].selectedField:!0:r?e=this.$props.dataConnected.length>0?this.$props.dataConnected[n-1].selected:!0:e=!0;break;case"transferTo":e=!(this.$props.dataConnected&&s);break;case"transferFrom":this.$props.dataConnected?e=!(this.$props.dataConnected&&r):e=!0;break;case"transferAllTo":e=!(this.$props.dataConnected&&this.$props.dataItems.length>0);break;case"transferAllFrom":e=!(this.$props.dataConnected&&this.$props.dataConnected.length>0);break;case"remove":e=!(s||r);break}return e}}});exports.ListBoxToolbar=g;