@progress/kendo-angular-upload 21.1.1-develop.2 → 21.2.0-develop.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/fileselect.component.mjs +102 -101
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/rendering/file-list-item-action-button.component.mjs +95 -86
- package/esm2022/rendering/file-list-multiple-items.component.mjs +61 -55
- package/esm2022/rendering/file-list-single-item.component.mjs +45 -41
- package/esm2022/rendering/file-list.component.mjs +49 -47
- package/esm2022/upload.component.mjs +207 -198
- package/fesm2022/progress-kendo-angular-upload.mjs +559 -525
- package/package.json +8 -8
- package/schematics/ngAdd/index.js +3 -3
|
@@ -12,7 +12,7 @@ import { FileInfoTemplateDirective } from '../templates/file-info-template.direc
|
|
|
12
12
|
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
13
13
|
import { copyIcon } from '@progress/kendo-svg-icons';
|
|
14
14
|
import { FileListItemActionButtonComponent } from './file-list-item-action-button.component';
|
|
15
|
-
import {
|
|
15
|
+
import { NgClass, NgTemplateOutlet } from '@angular/common';
|
|
16
16
|
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
|
17
17
|
import { ProgressBarComponent } from '@progress/kendo-angular-progressbar';
|
|
18
18
|
import * as i0 from "@angular/core";
|
|
@@ -69,52 +69,55 @@ export class FileListMultipleItemsComponent extends FileListItemBase {
|
|
|
69
69
|
return this.files[0].state === FileState.Failed;
|
|
70
70
|
}
|
|
71
71
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileListMultipleItemsComponent, deps: [{ token: i1.LocalizationService }, { token: i2.UploadService }], target: i0.ɵɵFactoryTarget.Component });
|
|
72
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
72
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FileListMultipleItemsComponent, isStandalone: true, selector: "kendo-upload-file-list-multiple-items", inputs: { disabled: "disabled", files: "files", fileInfoTemplate: "fileInfoTemplate" }, usesInheritance: true, ngImport: i0, template: `
|
|
73
73
|
<kendo-progressbar
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
74
|
+
[@progressState]="showProgress"
|
|
75
|
+
[value]="progressComplete"
|
|
76
|
+
[label]="{ visible: false }"
|
|
77
|
+
>
|
|
78
78
|
</kendo-progressbar>
|
|
79
79
|
<span class="k-file-icon-wrapper">
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
80
|
+
<kendo-icon-wrapper
|
|
81
|
+
name="copy"
|
|
82
|
+
size="xxlarge"
|
|
83
|
+
[svgIcon]="copySVGIcon"
|
|
84
|
+
innerCssClass="k-file-icon"
|
|
85
85
|
>
|
|
86
|
-
|
|
86
|
+
</kendo-icon-wrapper>
|
|
87
87
|
</span>
|
|
88
88
|
<span class="k-multiple-files-wrapper">
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
89
|
+
@if (!fileInfoTemplate) {
|
|
90
|
+
@for (file of files; track file) {
|
|
91
|
+
<span class="k-file-info">
|
|
92
|
+
<span [title]="file.name" class="k-file-name">
|
|
93
|
+
{{file.name}}
|
|
94
|
+
</span>
|
|
94
95
|
<span [attr.aria-live]="'polite'" [ngClass]="{
|
|
95
96
|
'k-file-validation-message': file.validationErrors,
|
|
96
97
|
'k-file-size': !file.validationErrors
|
|
97
98
|
}"
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
</
|
|
99
|
+
>{{fileStatusText(file)}}</span>
|
|
100
|
+
</span>
|
|
101
|
+
}
|
|
102
|
+
<span class="k-file-summary"
|
|
103
|
+
>{{batchStatusText}}</span>
|
|
104
|
+
}
|
|
105
|
+
@if (fileInfoTemplate) {
|
|
103
106
|
<ng-container
|
|
104
|
-
|
|
105
|
-
[ngTemplateOutlet]="fileInfoTemplate.templateRef"
|
|
107
|
+
[ngTemplateOutlet]="fileInfoTemplate.templateRef"
|
|
106
108
|
[ngTemplateOutletContext]="{
|
|
107
109
|
templateRef: fileInfoTemplate.templateRef,
|
|
108
110
|
state: files[0].state,
|
|
109
111
|
$implicit: files
|
|
110
112
|
}"></ng-container>
|
|
113
|
+
}
|
|
111
114
|
</span>
|
|
112
115
|
<kendo-upload-file-list-item-action-button
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
+
[file]='files[0]'
|
|
117
|
+
[disabled]='disabled'
|
|
118
|
+
[progress]='progressComplete'>
|
|
116
119
|
</kendo-upload-file-list-item-action-button>
|
|
117
|
-
|
|
120
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ProgressBarComponent, selector: "kendo-progressbar", inputs: ["label", "progressCssStyle", "progressCssClass", "emptyCssStyle", "emptyCssClass", "animation"], outputs: ["animationEnd"], exportAs: ["kendoProgressBar"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: FileListItemActionButtonComponent, selector: "kendo-upload-file-list-item-action-button", inputs: ["file", "disabled", "progress"] }], animations: [
|
|
118
121
|
trigger('progressState', [
|
|
119
122
|
state('active', style({ opacity: 1 })),
|
|
120
123
|
state('inactive', style({ opacity: 0 })),
|
|
@@ -139,52 +142,55 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
139
142
|
selector: 'kendo-upload-file-list-multiple-items',
|
|
140
143
|
template: `
|
|
141
144
|
<kendo-progressbar
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
145
|
+
[@progressState]="showProgress"
|
|
146
|
+
[value]="progressComplete"
|
|
147
|
+
[label]="{ visible: false }"
|
|
148
|
+
>
|
|
146
149
|
</kendo-progressbar>
|
|
147
150
|
<span class="k-file-icon-wrapper">
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
151
|
+
<kendo-icon-wrapper
|
|
152
|
+
name="copy"
|
|
153
|
+
size="xxlarge"
|
|
154
|
+
[svgIcon]="copySVGIcon"
|
|
155
|
+
innerCssClass="k-file-icon"
|
|
153
156
|
>
|
|
154
|
-
|
|
157
|
+
</kendo-icon-wrapper>
|
|
155
158
|
</span>
|
|
156
159
|
<span class="k-multiple-files-wrapper">
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
160
|
+
@if (!fileInfoTemplate) {
|
|
161
|
+
@for (file of files; track file) {
|
|
162
|
+
<span class="k-file-info">
|
|
163
|
+
<span [title]="file.name" class="k-file-name">
|
|
164
|
+
{{file.name}}
|
|
165
|
+
</span>
|
|
162
166
|
<span [attr.aria-live]="'polite'" [ngClass]="{
|
|
163
167
|
'k-file-validation-message': file.validationErrors,
|
|
164
168
|
'k-file-size': !file.validationErrors
|
|
165
169
|
}"
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
</
|
|
170
|
+
>{{fileStatusText(file)}}</span>
|
|
171
|
+
</span>
|
|
172
|
+
}
|
|
173
|
+
<span class="k-file-summary"
|
|
174
|
+
>{{batchStatusText}}</span>
|
|
175
|
+
}
|
|
176
|
+
@if (fileInfoTemplate) {
|
|
171
177
|
<ng-container
|
|
172
|
-
|
|
173
|
-
[ngTemplateOutlet]="fileInfoTemplate.templateRef"
|
|
178
|
+
[ngTemplateOutlet]="fileInfoTemplate.templateRef"
|
|
174
179
|
[ngTemplateOutletContext]="{
|
|
175
180
|
templateRef: fileInfoTemplate.templateRef,
|
|
176
181
|
state: files[0].state,
|
|
177
182
|
$implicit: files
|
|
178
183
|
}"></ng-container>
|
|
184
|
+
}
|
|
179
185
|
</span>
|
|
180
186
|
<kendo-upload-file-list-item-action-button
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
187
|
+
[file]='files[0]'
|
|
188
|
+
[disabled]='disabled'
|
|
189
|
+
[progress]='progressComplete'>
|
|
184
190
|
</kendo-upload-file-list-item-action-button>
|
|
185
|
-
|
|
191
|
+
`,
|
|
186
192
|
standalone: true,
|
|
187
|
-
imports: [ProgressBarComponent, IconWrapperComponent,
|
|
193
|
+
imports: [ProgressBarComponent, IconWrapperComponent, NgClass, NgTemplateOutlet, FileListItemActionButtonComponent]
|
|
188
194
|
}]
|
|
189
195
|
}], ctorParameters: () => [{ type: i1.LocalizationService }, { type: i2.UploadService }], propDecorators: { disabled: [{
|
|
190
196
|
type: Input
|
|
@@ -11,7 +11,7 @@ import { fileGroupClass, isPresent, fileSVGGroupIcon } from '../common/util';
|
|
|
11
11
|
import { FileInfoTemplateDirective } from '../templates/file-info-template.directive';
|
|
12
12
|
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
13
13
|
import { FileListItemActionButtonComponent } from './file-list-item-action-button.component';
|
|
14
|
-
import {
|
|
14
|
+
import { NgClass, NgTemplateOutlet } from '@angular/common';
|
|
15
15
|
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
|
16
16
|
import { ProgressBarComponent } from '@progress/kendo-angular-progressbar';
|
|
17
17
|
import * as i0 from "@angular/core";
|
|
@@ -67,44 +67,46 @@ export class FileListSingleItemComponent extends FileListItemBase {
|
|
|
67
67
|
return !this.isUploadFailed && !this.isUploadSuccessful;
|
|
68
68
|
}
|
|
69
69
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileListSingleItemComponent, deps: [{ token: i1.LocalizationService }, { token: i2.UploadService }], target: i0.ɵɵFactoryTarget.Component });
|
|
70
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
70
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FileListSingleItemComponent, isStandalone: true, selector: "kendo-upload-file-list-single-item", inputs: { disabled: "disabled", file: "file", fileInfoTemplate: "fileInfoTemplate" }, usesInheritance: true, ngImport: i0, template: `
|
|
71
71
|
<kendo-progressbar
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
72
|
+
[@progressState]="showProgress"
|
|
73
|
+
[value]="progressComplete"
|
|
74
|
+
[label]="{ visible: false }"
|
|
75
|
+
>
|
|
76
76
|
</kendo-progressbar>
|
|
77
77
|
<span class="k-file-icon-wrapper">
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
78
|
+
<kendo-icon-wrapper
|
|
79
|
+
size="xxlarge"
|
|
80
|
+
[name]="fileGroupClass"
|
|
81
|
+
[svgIcon]="fileSVGGroupIcon"
|
|
82
|
+
innerCssClass="k-file-icon"
|
|
83
83
|
>
|
|
84
|
-
|
|
84
|
+
</kendo-icon-wrapper>
|
|
85
85
|
</span>
|
|
86
86
|
<span class="k-file-info">
|
|
87
|
-
|
|
88
|
-
|
|
87
|
+
@if (!fileInfoTemplate) {
|
|
88
|
+
<span class="k-file-name" [title]="file.name">{{ file.name }}</span>
|
|
89
89
|
<span [attr.aria-live]="'polite'" [ngClass]="{
|
|
90
90
|
'k-file-validation-message': file.validationErrors,
|
|
91
91
|
'k-file-size': !file.validationErrors && isNotYetUploaded,
|
|
92
92
|
'k-file-summary': isUploadSuccessful || isUploadFailed
|
|
93
93
|
}"
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
94
|
+
>{{fileStatusText}}</span>
|
|
95
|
+
}
|
|
96
|
+
@if (fileInfoTemplate) {
|
|
97
|
+
<ng-container [ngTemplateOutlet]="fileInfoTemplate.templateRef" [ngTemplateOutletContext]="{
|
|
97
98
|
templateRef: fileInfoTemplate.templateRef,
|
|
98
99
|
state: file.state,
|
|
99
100
|
$implicit: [file]
|
|
100
101
|
}"></ng-container>
|
|
102
|
+
}
|
|
101
103
|
</span>
|
|
102
104
|
<kendo-upload-file-list-item-action-button
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
105
|
+
[file]='file'
|
|
106
|
+
[disabled]='disabled'
|
|
107
|
+
[progress]='progressComplete'>
|
|
106
108
|
</kendo-upload-file-list-item-action-button>
|
|
107
|
-
|
|
109
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ProgressBarComponent, selector: "kendo-progressbar", inputs: ["label", "progressCssStyle", "progressCssClass", "emptyCssStyle", "emptyCssClass", "animation"], outputs: ["animationEnd"], exportAs: ["kendoProgressBar"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: FileListItemActionButtonComponent, selector: "kendo-upload-file-list-item-action-button", inputs: ["file", "disabled", "progress"] }], animations: [
|
|
108
110
|
trigger('progressState', [
|
|
109
111
|
state('active', style({ opacity: 1 })),
|
|
110
112
|
state('inactive', style({ opacity: 0 })),
|
|
@@ -129,44 +131,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
129
131
|
selector: 'kendo-upload-file-list-single-item',
|
|
130
132
|
template: `
|
|
131
133
|
<kendo-progressbar
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
134
|
+
[@progressState]="showProgress"
|
|
135
|
+
[value]="progressComplete"
|
|
136
|
+
[label]="{ visible: false }"
|
|
137
|
+
>
|
|
136
138
|
</kendo-progressbar>
|
|
137
139
|
<span class="k-file-icon-wrapper">
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
140
|
+
<kendo-icon-wrapper
|
|
141
|
+
size="xxlarge"
|
|
142
|
+
[name]="fileGroupClass"
|
|
143
|
+
[svgIcon]="fileSVGGroupIcon"
|
|
144
|
+
innerCssClass="k-file-icon"
|
|
143
145
|
>
|
|
144
|
-
|
|
146
|
+
</kendo-icon-wrapper>
|
|
145
147
|
</span>
|
|
146
148
|
<span class="k-file-info">
|
|
147
|
-
|
|
148
|
-
|
|
149
|
+
@if (!fileInfoTemplate) {
|
|
150
|
+
<span class="k-file-name" [title]="file.name">{{ file.name }}</span>
|
|
149
151
|
<span [attr.aria-live]="'polite'" [ngClass]="{
|
|
150
152
|
'k-file-validation-message': file.validationErrors,
|
|
151
153
|
'k-file-size': !file.validationErrors && isNotYetUploaded,
|
|
152
154
|
'k-file-summary': isUploadSuccessful || isUploadFailed
|
|
153
155
|
}"
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
156
|
+
>{{fileStatusText}}</span>
|
|
157
|
+
}
|
|
158
|
+
@if (fileInfoTemplate) {
|
|
159
|
+
<ng-container [ngTemplateOutlet]="fileInfoTemplate.templateRef" [ngTemplateOutletContext]="{
|
|
157
160
|
templateRef: fileInfoTemplate.templateRef,
|
|
158
161
|
state: file.state,
|
|
159
162
|
$implicit: [file]
|
|
160
163
|
}"></ng-container>
|
|
164
|
+
}
|
|
161
165
|
</span>
|
|
162
166
|
<kendo-upload-file-list-item-action-button
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
167
|
+
[file]='file'
|
|
168
|
+
[disabled]='disabled'
|
|
169
|
+
[progress]='progressComplete'>
|
|
166
170
|
</kendo-upload-file-list-item-action-button>
|
|
167
|
-
|
|
171
|
+
`,
|
|
168
172
|
standalone: true,
|
|
169
|
-
imports: [ProgressBarComponent, IconWrapperComponent,
|
|
173
|
+
imports: [ProgressBarComponent, IconWrapperComponent, NgClass, NgTemplateOutlet, FileListItemActionButtonComponent]
|
|
170
174
|
}]
|
|
171
175
|
}], ctorParameters: () => [{ type: i1.LocalizationService }, { type: i2.UploadService }], propDecorators: { disabled: [{
|
|
172
176
|
type: Input
|
|
@@ -13,7 +13,7 @@ import { UploadService } from '../upload.service';
|
|
|
13
13
|
import { FileInfoTemplateDirective } from '../templates/file-info-template.directive';
|
|
14
14
|
import { FileListMultipleItemsComponent } from './file-list-multiple-items.component';
|
|
15
15
|
import { FileListSingleItemComponent } from './file-list-single-item.component';
|
|
16
|
-
import {
|
|
16
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
17
17
|
import * as i0 from "@angular/core";
|
|
18
18
|
import * as i1 from "../upload.service";
|
|
19
19
|
import * as i2 from "../navigation.service";
|
|
@@ -100,67 +100,69 @@ export class FileListComponent {
|
|
|
100
100
|
this.actionSubscription.unsubscribe();
|
|
101
101
|
}
|
|
102
102
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileListComponent, deps: [{ token: i1.UploadService }, { token: i2.NavigationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
103
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
103
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FileListComponent, isStandalone: true, selector: "[kendo-upload-file-list]", inputs: { disabled: "disabled", fileList: "fileList", fileTemplate: "fileTemplate", fileInfoTemplate: "fileInfoTemplate" }, host: { properties: { "attr.role": "this.fileListRole" } }, viewQueries: [{ propertyName: "fileListItems", predicate: FileListItemDirective, descendants: true }], ngImport: i0, template: `
|
|
104
|
+
@for (files of fileList; track files; let index = $index) {
|
|
105
|
+
<li kendoUploadFileListItem [files]='files' [index]='index' role="listitem">
|
|
106
|
+
@if (files.length === 1 && !fileTemplate) {
|
|
107
|
+
<kendo-upload-file-list-single-item
|
|
108
|
+
class='k-file-single'
|
|
109
|
+
[disabled]='disabled'
|
|
110
|
+
[file]='files[0]'
|
|
111
|
+
[fileInfoTemplate]="fileInfoTemplate"></kendo-upload-file-list-single-item>
|
|
112
|
+
}
|
|
113
|
+
@if (files.length > 1 && !fileTemplate) {
|
|
114
|
+
<kendo-upload-file-list-multiple-items
|
|
115
|
+
class='k-file-multiple'
|
|
116
|
+
[disabled]='disabled'
|
|
117
|
+
[files]='files'
|
|
118
|
+
[fileInfoTemplate]="fileInfoTemplate"></kendo-upload-file-list-multiple-items>
|
|
119
|
+
}
|
|
120
|
+
@if (fileTemplate) {
|
|
121
|
+
<ng-container
|
|
122
|
+
[ngTemplateOutlet]="fileTemplate.templateRef" [ngTemplateOutletContext]="{
|
|
123
123
|
templateRef: fileTemplate.templateRef,
|
|
124
124
|
state: files[0].state,
|
|
125
125
|
$implicit: files
|
|
126
126
|
}"></ng-container>
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
127
|
+
}
|
|
128
|
+
</li>
|
|
129
|
+
}
|
|
130
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: FileListItemDirective, selector: "[kendoUploadFileListItem]", inputs: ["files", "index"] }, { kind: "component", type: FileListSingleItemComponent, selector: "kendo-upload-file-list-single-item", inputs: ["disabled", "file", "fileInfoTemplate"] }, { kind: "component", type: FileListMultipleItemsComponent, selector: "kendo-upload-file-list-multiple-items", inputs: ["disabled", "files", "fileInfoTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
130
131
|
}
|
|
131
132
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileListComponent, decorators: [{
|
|
132
133
|
type: Component,
|
|
133
134
|
args: [{
|
|
134
135
|
selector: '[kendo-upload-file-list]',
|
|
135
136
|
template: `
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
137
|
+
@for (files of fileList; track files; let index = $index) {
|
|
138
|
+
<li kendoUploadFileListItem [files]='files' [index]='index' role="listitem">
|
|
139
|
+
@if (files.length === 1 && !fileTemplate) {
|
|
140
|
+
<kendo-upload-file-list-single-item
|
|
141
|
+
class='k-file-single'
|
|
142
|
+
[disabled]='disabled'
|
|
143
|
+
[file]='files[0]'
|
|
144
|
+
[fileInfoTemplate]="fileInfoTemplate"></kendo-upload-file-list-single-item>
|
|
145
|
+
}
|
|
146
|
+
@if (files.length > 1 && !fileTemplate) {
|
|
147
|
+
<kendo-upload-file-list-multiple-items
|
|
148
|
+
class='k-file-multiple'
|
|
149
|
+
[disabled]='disabled'
|
|
150
|
+
[files]='files'
|
|
151
|
+
[fileInfoTemplate]="fileInfoTemplate"></kendo-upload-file-list-multiple-items>
|
|
152
|
+
}
|
|
153
|
+
@if (fileTemplate) {
|
|
154
|
+
<ng-container
|
|
155
|
+
[ngTemplateOutlet]="fileTemplate.templateRef" [ngTemplateOutletContext]="{
|
|
155
156
|
templateRef: fileTemplate.templateRef,
|
|
156
157
|
state: files[0].state,
|
|
157
158
|
$implicit: files
|
|
158
159
|
}"></ng-container>
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
160
|
+
}
|
|
161
|
+
</li>
|
|
162
|
+
}
|
|
163
|
+
`,
|
|
162
164
|
standalone: true,
|
|
163
|
-
imports: [
|
|
165
|
+
imports: [FileListItemDirective, FileListSingleItemComponent, FileListMultipleItemsComponent, NgTemplateOutlet]
|
|
164
166
|
}]
|
|
165
167
|
}], ctorParameters: () => [{ type: i1.UploadService }, { type: i2.NavigationService }], propDecorators: { disabled: [{
|
|
166
168
|
type: Input
|