@progress/kendo-vue-upload
Version:
9 lines (8 loc) • 2.98 kB
JavaScript
/**
* @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 i=require("vue"),d=require("@progress/kendo-vue-common"),c=require("@progress/kendo-vue-buttons"),n=require("./interfaces/UploadFileStatus.js"),p=require("@progress/kendo-vue-intl"),o=require("./messages/main.js"),l=require("@progress/kendo-svg-icons"),h=i.defineComponent({name:"KendoVueUploadListActionButton",props:{progress:Number,uid:String,status:Number,async:Object,disabled:Boolean,files:Array},emits:{cancel:null,retry:null,remove:null},inject:{kendoLocalizationService:{default:null}},data(){return{retryFocused:!1,actionFocused:!1}},methods:{actionButtonTitle(t,e){return t===n.UploadFileStatus.Uploading?e.toLanguageString(o.cancel,o.messages[o.cancel]):e.toLanguageString(o.remove,o.messages[o.remove])},retryButtonTitle(t){return t.toLanguageString(o.retry,o.messages[o.retry])},buttonClassNames(t){return d.classNames(this.actionFocused&&t==="action"||this.retryFocused&&t==="retry"?"k-focus":"")},onRetryFocus(){this.retryFocused=!0},onRetryBlur(){this.retryFocused=!1},onActionFocus(){this.actionFocused=!0},onActionBlur(){this.actionFocused=!1},onActionClick(){const{status:t,uid:e,disabled:r}=this.$props;r||t===n.UploadFileStatus.Removing||(t===n.UploadFileStatus.Uploading?this.$emit("cancel",e):this.$emit("remove",e))},onRetryClick(){const{uid:t,disabled:e}=this.$props;e||this.$emit("retry",t)}},setup(){return{kendoLocalizationService:i.inject("kendoLocalizationService",{})}},render(){const{status:t,progress:e}=this.$props,r=t===n.UploadFileStatus.UploadFailed,a=t===n.UploadFileStatus.Uploading,u=(t===n.UploadFileStatus.Uploaded||t===n.UploadFileStatus.Initial)&&!this.$props.async.removeUrl,s=p.provideLocalizationService(this);return i.createVNode("div",{class:"k-upload-actions"},[a?i.createVNode("span",{class:"k-upload-pct"},[e,"%"]):void 0,r?i.createVNode(c.Button,{type:"button",fillMode:"flat",tabIndex:-1,disabled:this.disabled,class:this.buttonClassNames("retry"),icon:"arrow-rotate-cw-small",svgIcon:l.arrowRotateCwIcon,iconClass:"k-retry",ariaLabel:this.retryButtonTitle(s),title:this.retryButtonTitle(s),onFocus:this.onRetryFocus,onBlur:this.onRetryBlur,onClick:this.onRetryClick},null):void 0,u?void 0:i.createVNode(c.Button,{type:"button",fillMode:"flat",tabIndex:-1,disabled:this.disabled,class:this.buttonClassNames("action"),onFocus:this.onActionFocus,onBlur:this.onActionBlur,onClick:this.onActionClick,icon:a?"deny":"x",svgIcon:a?l.cancelIcon:l.xIcon,ariaLabel:this.actionButtonTitle(t,s),title:this.actionButtonTitle(t,s)},null)])}});exports.UploadListActionButton=h;