UNPKG

@progress/kendo-vue-upload

Version:
9 lines (8 loc) 2.76 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 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 n=require("vue"),s=require("@progress/kendo-vue-common"),g=require("@progress/kendo-vue-intl"),r=require("@progress/kendo-vue-buttons"),a=require("./messages/main.js");function u(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!n.isVNode(e)}const v=n.defineComponent({name:"KendoVueUploadActionButtons",props:{disabled:Boolean,navigationIndex:Number,clearButtonIndex:Number,uploadButtonIndex:Number,actionsLayout:String},inject:{kendoLocalizationService:{default:null}},emits:{clear:null,click:null,upload:null},created(){this._prevNavigationIndex=void 0},setup(){const e=n.ref(null),t=n.ref(null),o=n.inject("kendoLocalizationService",{});return{uploadElementRef:e,clearElementRef:t,kendoLocalizationService:o}},mounted(){this._clearElement=this.clearElementRef,this._uploadElement=this.uploadElementRef},watch:{navigationIndex:function(e,t){this._prevNavigationIndex=t}},updated(){const{navigationIndex:e,clearButtonIndex:t,uploadButtonIndex:o}=this.$props;e!==this._prevNavigationIndex&&(e===t&&this._clearElement&&this._clearElement.focus(),e===o&&this._uploadElement&&this._uploadElement.focus())},methods:{onClearClick(){this.$props.disabled||this.$emit("clear")},onUploadClick(){this.$props.disabled||(this.$emit("click",this.$props.uploadButtonIndex),this.$emit("upload"))}},render(){let e,t;const{disabled:o,navigationIndex:c,clearButtonIndex:p,uploadButtonIndex:m,actionsLayout:i}=this.$props,d=g.provideLocalizationService(this),f=s.classNames("k-actions",{"k-actions-start":i==="start","k-actions-center":i==="center","k-actions-end":i==="end","k-actions-stretched":i==="stretched"}),h=s.classNames("k-clear-selected",c===p?"k-focus":""),k=s.classNames("k-upload-selected",c===m?"k-focus":"");return n.createVNode("div",{class:f},[n.createVNode(r.Button,{type:"button",ref:l=>{this.clearElementRef=l},disabled:o,class:h,tabIndex:-1,onClick:this.onClearClick},u(e=d.toLanguageString(a.clearSelectedFiles,a.messages[a.clearSelectedFiles]))?e:{default:()=>[e]}),n.createVNode(r.Button,{type:"button",ref:l=>{this.uploadElementRef=l},disabled:o,themeColor:"primary",class:k,tabIndex:-1,onClick:this.onUploadClick},u(t=d.toLanguageString(a.uploadSelectedFiles,a.messages[a.uploadSelectedFiles]))?t:{default:()=>[t]})])}});exports.UploadActionButtons=v;