@progress/kendo-vue-upload
Version:
9 lines (8 loc) • 2.39 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"),l=require("@progress/kendo-vue-common"),n=require("./interfaces/UploadFileStatus.js"),f=require("./UploadListSingleItem.js"),v=require("./UploadListMultiItem.js"),R=require("./utils/utils.js"),U=i.defineComponent({name:"KendoVueUploadListGroup",props:{files:Array,async:Object,disabled:Boolean,navigationIndex:Number,list:[String,Function,Object],index:Number},emits:{cancel:null,click:null,retry:null,remove:null},mounted(){this._element=this.elementRef},updated(){const{navigationIndex:e,index:s}=this.$props;e===s&&this._element&&l.canUseDOM&&document.activeElement!==this._element&&this._element.focus()},methods:{onClick(){this.$emit("click",this.$props.index)},onRetry(e){this.$emit("retry",e)},onRemove(e){this.$emit("remove",e)},onCancel(e){this.$emit("cancel",e)}},setup(){return{elementRef:i.ref(null)}},render(){const{files:e,async:s,disabled:o,navigationIndex:d,index:c}=this.$props,t=e[0],u=t.status===n.UploadFileStatus.Uploaded||t.status===n.UploadFileStatus.Initial,a=R.filesHaveValidationErrors(e),m=t.status===n.UploadFileStatus.UploadFailed||t.status===n.UploadFileStatus.RemoveFailed,p=l.classNames("k-file",{"k-file-invalid":a,"k-file-error":m||a,"k-file-progress":t.status===n.UploadFileStatus.Uploading,"k-file-success":u,"k-focus":d===c});let r;const h=e.length===1?i.createVNode(f.UploadListSingleItem,{files:e,async:s,disabled:o,onCancel:this.onCancel,onRemove:this.onRemove,onRetry:this.onRetry},null):i.createVNode(v.UploadListMultiItem,{files:e,async:s,disabled:o,onCancel:this.onCancel,onRemove:this.onRemove,onRetry:this.onRetry},null);return r=l.getTemplate.call(this,{h:i.h,template:this.$props.list,defaultRendering:h,additionalProps:this.$props,additionalListeners:{retry:this.onRetry,remove:this.onRemove,cancel:this.onCancel}}),i.createVNode("li",{ref:l.setRef(this,"element"),class:p,"data-uid":t.uid,tabindex:-1,onClick:this.onClick},[r])}});exports.UploadListGroup=U;