@skyux/forms 11.0.0-alpha.8 → 11.0.0-alpha.9
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/documentation.json +3835 -4255
- package/esm2022/index.mjs +14 -11
- package/esm2022/lib/modules/checkbox/checkbox.component.mjs +19 -25
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment-change.mjs +2 -0
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment-click.mjs +2 -0
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment-label.component.mjs +32 -0
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment.component.mjs +485 -0
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment.module.mjs +24 -0
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment.service.mjs +103 -0
- package/esm2022/lib/modules/file-attachment/file-attachments.module.mjs +10 -73
- package/esm2022/lib/modules/file-attachment/file-drop/file-drop-change.mjs +2 -0
- package/esm2022/lib/modules/file-attachment/file-drop/file-drop.component.mjs +336 -0
- package/esm2022/lib/modules/file-attachment/file-drop/file-drop.module.mjs +18 -0
- package/esm2022/lib/modules/file-attachment/file-drop/file-item.component.mjs +163 -0
- package/esm2022/lib/modules/file-attachment/file-drop/file-link.mjs +2 -0
- package/esm2022/lib/modules/file-attachment/shared/file-item-error-type.mjs +2 -0
- package/esm2022/lib/modules/file-attachment/shared/file-item.mjs +2 -0
- package/esm2022/lib/modules/file-attachment/shared/file-item.service.mjs +71 -0
- package/esm2022/lib/modules/file-attachment/shared/file-size.pipe.mjs +61 -0
- package/esm2022/lib/modules/file-attachment/shared/file-validate-function.mjs +2 -0
- package/esm2022/lib/modules/input-box/input-box.component.mjs +18 -23
- package/esm2022/lib/modules/radio/radio-group.component.mjs +16 -23
- package/esm2022/lib/modules/radio/radio.component.mjs +15 -22
- package/esm2022/lib/modules/shared/form-field-label-text-required.directive.mjs +37 -0
- package/esm2022/lib/modules/shared/form-field-label-text-required.service.mjs +6 -4
- package/esm2022/lib/modules/toggle-switch/toggle-switch.component.mjs +14 -21
- package/fesm2022/skyux-forms.mjs +264 -269
- package/fesm2022/skyux-forms.mjs.map +1 -1
- package/index.d.ts +21 -18
- package/lib/modules/checkbox/checkbox.component.d.ts +4 -5
- package/lib/modules/file-attachment/{types → file-attachment}/file-attachment-change.d.ts +1 -1
- package/lib/modules/file-attachment/{types → file-attachment}/file-attachment-click.d.ts +1 -1
- package/lib/modules/file-attachment/{file-attachment-label.component.d.ts → file-attachment/file-attachment-label.component.d.ts} +7 -5
- package/lib/modules/file-attachment/{file-attachment.component.d.ts → file-attachment/file-attachment.component.d.ts} +8 -8
- package/lib/modules/file-attachment/file-attachment/file-attachment.module.d.ts +9 -0
- package/lib/modules/file-attachment/{file-attachment.service.d.ts → file-attachment/file-attachment.service.d.ts} +2 -2
- package/lib/modules/file-attachment/file-attachments.module.d.ts +6 -15
- package/lib/modules/file-attachment/{types → file-drop}/file-drop-change.d.ts +1 -1
- package/lib/modules/file-attachment/{file-drop.component.d.ts → file-drop/file-drop.component.d.ts} +7 -8
- package/lib/modules/file-attachment/file-drop/file-drop.module.d.ts +9 -0
- package/lib/modules/file-attachment/{file-item.component.d.ts → file-drop/file-item.component.d.ts} +3 -3
- package/lib/modules/file-attachment/{file-size.pipe.d.ts → shared/file-size.pipe.d.ts} +2 -3
- package/lib/modules/input-box/input-box.component.d.ts +2 -3
- package/lib/modules/radio/radio-group.component.d.ts +4 -5
- package/lib/modules/radio/radio.component.d.ts +4 -5
- package/lib/modules/shared/form-field-label-text-required.directive.d.ts +14 -0
- package/lib/modules/shared/form-field-label-text-required.service.d.ts +2 -1
- package/lib/modules/toggle-switch/toggle-switch.component.d.ts +4 -5
- package/package.json +9 -9
- package/esm2022/lib/modules/file-attachment/file-attachment-label.component.mjs +0 -28
- package/esm2022/lib/modules/file-attachment/file-attachment.component.mjs +0 -475
- package/esm2022/lib/modules/file-attachment/file-attachment.service.mjs +0 -103
- package/esm2022/lib/modules/file-attachment/file-drop.component.mjs +0 -328
- package/esm2022/lib/modules/file-attachment/file-item-error-type.mjs +0 -2
- package/esm2022/lib/modules/file-attachment/file-item.component.mjs +0 -155
- package/esm2022/lib/modules/file-attachment/file-item.mjs +0 -2
- package/esm2022/lib/modules/file-attachment/file-item.service.mjs +0 -70
- package/esm2022/lib/modules/file-attachment/file-link.mjs +0 -2
- package/esm2022/lib/modules/file-attachment/file-size.pipe.mjs +0 -61
- package/esm2022/lib/modules/file-attachment/file-validate-function.mjs +0 -2
- package/esm2022/lib/modules/file-attachment/types/file-attachment-change.mjs +0 -2
- package/esm2022/lib/modules/file-attachment/types/file-attachment-click.mjs +0 -2
- package/esm2022/lib/modules/file-attachment/types/file-drop-change.mjs +0 -2
- /package/lib/modules/file-attachment/{file-link.d.ts → file-drop/file-link.d.ts} +0 -0
- /package/lib/modules/file-attachment/{file-item-error-type.d.ts → shared/file-item-error-type.d.ts} +0 -0
- /package/lib/modules/file-attachment/{file-item.d.ts → shared/file-item.d.ts} +0 -0
- /package/lib/modules/file-attachment/{file-item.service.d.ts → shared/file-item.service.d.ts} +0 -0
- /package/lib/modules/file-attachment/{file-validate-function.d.ts → shared/file-validate-function.d.ts} +0 -0
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, inject, } from '@angular/core';
|
|
2
|
-
import { SkyLiveAnnouncerService } from '@skyux/core';
|
|
3
|
-
import { SkyLibResourcesService } from '@skyux/i18n';
|
|
4
|
-
import { take } from 'rxjs/operators';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "./file-item.service";
|
|
7
|
-
import * as i2 from "@angular/common";
|
|
8
|
-
import * as i3 from "@skyux/icon";
|
|
9
|
-
import * as i4 from "@skyux/i18n";
|
|
10
|
-
import * as i5 from "./file-size.pipe";
|
|
11
|
-
export class SkyFileItemComponent {
|
|
12
|
-
/**
|
|
13
|
-
* The summary information to display about file attachments. For local files,
|
|
14
|
-
* the default summary includes the file name, file size, file preview, and a delete button.
|
|
15
|
-
* For external files, the default summary includes the URL and a delete button.
|
|
16
|
-
* You can include additional inputs to display user-entered metadata.
|
|
17
|
-
* @required
|
|
18
|
-
*/
|
|
19
|
-
set fileItem(value) {
|
|
20
|
-
this.#_fileItem = value;
|
|
21
|
-
if (value && 'file' in value) {
|
|
22
|
-
this.isFile = this.#fileItemService.isFile(value);
|
|
23
|
-
this.isImage = this.#fileItemService.isImage(value);
|
|
24
|
-
this.fileName = value.file.name;
|
|
25
|
-
this.fileSize = value.file.size;
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
this.isFile = this.isImage = false;
|
|
29
|
-
this.fileName = '';
|
|
30
|
-
this.fileSize = undefined;
|
|
31
|
-
}
|
|
32
|
-
this.url = value?.url ?? '';
|
|
33
|
-
}
|
|
34
|
-
get fileItem() {
|
|
35
|
-
return this.#_fileItem;
|
|
36
|
-
}
|
|
37
|
-
#_fileItem;
|
|
38
|
-
#differ;
|
|
39
|
-
#fileItemService;
|
|
40
|
-
#liveAnnouncerSvc;
|
|
41
|
-
#resourcesSvc;
|
|
42
|
-
constructor(differs, fileItemService) {
|
|
43
|
-
/**
|
|
44
|
-
* Fires when users select the delete button for an item. The deleted item is passed to the
|
|
45
|
-
* function.
|
|
46
|
-
*/
|
|
47
|
-
this.deleteFile = new EventEmitter();
|
|
48
|
-
this.fileName = '';
|
|
49
|
-
this.url = '';
|
|
50
|
-
this.isFile = false;
|
|
51
|
-
this.isImage = false;
|
|
52
|
-
this.#liveAnnouncerSvc = inject(SkyLiveAnnouncerService);
|
|
53
|
-
this.#resourcesSvc = inject(SkyLibResourcesService);
|
|
54
|
-
this.#differ = differs.find({}).create();
|
|
55
|
-
this.#fileItemService = fileItemService;
|
|
56
|
-
}
|
|
57
|
-
ngDoCheck() {
|
|
58
|
-
if (this.fileItem) {
|
|
59
|
-
const changes = this.#differ.diff(this.fileItem);
|
|
60
|
-
if (changes) {
|
|
61
|
-
let cls;
|
|
62
|
-
const extensionUpper = this.#fileItemService.getFileExtensionUpper(this.fileItem);
|
|
63
|
-
let fileTypeUpper;
|
|
64
|
-
switch (extensionUpper) {
|
|
65
|
-
case '.PDF':
|
|
66
|
-
cls = 'pdf';
|
|
67
|
-
break;
|
|
68
|
-
case '.GZ':
|
|
69
|
-
case '.RAR':
|
|
70
|
-
case '.TGZ':
|
|
71
|
-
case '.ZIP':
|
|
72
|
-
cls = 'archive';
|
|
73
|
-
break;
|
|
74
|
-
case '.PPT':
|
|
75
|
-
case '.PPTX':
|
|
76
|
-
cls = 'powerpoint';
|
|
77
|
-
break;
|
|
78
|
-
case '.DOC':
|
|
79
|
-
case '.DOCX':
|
|
80
|
-
cls = 'word';
|
|
81
|
-
break;
|
|
82
|
-
case '.XLS':
|
|
83
|
-
case '.XLSX':
|
|
84
|
-
cls = 'excel';
|
|
85
|
-
break;
|
|
86
|
-
case '.TXT':
|
|
87
|
-
cls = 'text';
|
|
88
|
-
break;
|
|
89
|
-
case '.HTM':
|
|
90
|
-
case '.HTML':
|
|
91
|
-
cls = 'code';
|
|
92
|
-
break;
|
|
93
|
-
default:
|
|
94
|
-
break;
|
|
95
|
-
}
|
|
96
|
-
if (!cls) {
|
|
97
|
-
fileTypeUpper = this.#fileItemService.getFileTypeUpper(this.fileItem);
|
|
98
|
-
switch (fileTypeUpper.substr(0, fileTypeUpper.indexOf('/'))) {
|
|
99
|
-
case 'AUDIO':
|
|
100
|
-
cls = 'audio';
|
|
101
|
-
break;
|
|
102
|
-
case 'IMAGE':
|
|
103
|
-
// Normally images are displayed as thumbnails, but if an image type is not recognized
|
|
104
|
-
// as being widely supported by modern browsers (e.g. TIFF files) then an icon should
|
|
105
|
-
// be displayed instead.
|
|
106
|
-
cls = 'image';
|
|
107
|
-
break;
|
|
108
|
-
case 'TEXT':
|
|
109
|
-
cls = 'text';
|
|
110
|
-
break;
|
|
111
|
-
case 'VIDEO':
|
|
112
|
-
cls = 'video';
|
|
113
|
-
break;
|
|
114
|
-
default:
|
|
115
|
-
break;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
this.icon = 'file-' + (cls ? cls + '-' : '') + 'o';
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
this.icon = undefined;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
itemDelete() {
|
|
126
|
-
this.deleteFile.emit(this.fileItem);
|
|
127
|
-
if (!this.isFile) {
|
|
128
|
-
this.#resourcesSvc
|
|
129
|
-
.getString('skyux_file_attachment_file_upload_link_removed', this.url)
|
|
130
|
-
.pipe(take(1))
|
|
131
|
-
.subscribe((resourceString) => {
|
|
132
|
-
this.#liveAnnouncerSvc.announce(resourceString);
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
this.#resourcesSvc
|
|
137
|
-
.getString('skyux_file_attachment_file_upload_file_removed', this.fileName)
|
|
138
|
-
.pipe(take(1))
|
|
139
|
-
.subscribe((resourceString) => {
|
|
140
|
-
this.#liveAnnouncerSvc.announce(resourceString);
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyFileItemComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i1.SkyFileItemService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
145
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: SkyFileItemComponent, selector: "sky-file-item", inputs: { fileItem: "fileItem" }, outputs: { deleteFile: "deleteFile" }, ngImport: i0, template: "<div class=\"sky-file-item sky-padding-even-default\" *ngIf=\"fileItem\">\n <div class=\"sky-file-item-title\">\n <div class=\"sky-file-item-name-container\">\n <div class=\"sky-file-item-name\">\n <strong *ngIf=\"isFile\">{{ fileName }}</strong>\n <strong *ngIf=\"!isFile\">{{ url }}</strong>\n </div>\n <div class=\"sky-file-item-size\" *ngIf=\"isFile\">\n ({{ fileSize | skyFileSize }})\n </div>\n </div>\n <div class=\"sky-file-item-controls\">\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-file-item-btn-delete\"\n [attr.aria-label]=\"\n 'skyux_file_attachment_file_item_delete' | skyLibResources\n \"\n (click)=\"itemDelete()\"\n >\n <sky-icon icon=\"trash-o\" size=\"lg\" />\n </button>\n </div>\n </div>\n <div class=\"sky-file-item-content\">\n <div class=\"sky-file-item-preview\">\n <div *ngIf=\"isImage\" class=\"sky-file-item-preview-img-container\">\n <img\n class=\"sky-file-item-preview-img\"\n [src]=\"url\"\n [alt]=\"\n 'skyux_file_attachment_file_upload_image_preview_alt_text'\n | skyLibResources\n \"\n />\n </div>\n <div *ngIf=\"!isImage\" class=\"sky-file-item-preview-other\">\n <sky-icon [icon]=\"icon\" />\n </div>\n </div>\n <div class=\"sky-file-item-content-custom\">\n <ng-content />\n </div>\n </div>\n</div>\n", styles: [".sky-file-item{border-top:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4;border-right:1px solid #e2e3e4;background-color:#eeeeef;margin-bottom:10px}.sky-file-item-name-container{flex:1 1 auto;overflow:hidden}.sky-file-item-controls{flex:0 1 auto;padding-left:15px}.sky-file-item-name{white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis}.sky-file-item-title{margin-bottom:10px;display:flex}.sky-file-item-content{display:flex}.sky-file-item-preview{flex-basis:25%}.sky-file-item-content-custom{flex-basis:75%}.sky-file-item-preview-img-container{text-align:center}.sky-file-item-preview-img{max-width:100%;height:auto;box-shadow:0 0 5px #666}.sky-file-item-preview-other{color:#686c73;font-size:100px;line-height:1;text-align:center;width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "pipe", type: i4.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "pipe", type: i5.SkyFileSizePipe, name: "skyFileSize" }] }); }
|
|
146
|
-
}
|
|
147
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyFileItemComponent, decorators: [{
|
|
148
|
-
type: Component,
|
|
149
|
-
args: [{ selector: 'sky-file-item', template: "<div class=\"sky-file-item sky-padding-even-default\" *ngIf=\"fileItem\">\n <div class=\"sky-file-item-title\">\n <div class=\"sky-file-item-name-container\">\n <div class=\"sky-file-item-name\">\n <strong *ngIf=\"isFile\">{{ fileName }}</strong>\n <strong *ngIf=\"!isFile\">{{ url }}</strong>\n </div>\n <div class=\"sky-file-item-size\" *ngIf=\"isFile\">\n ({{ fileSize | skyFileSize }})\n </div>\n </div>\n <div class=\"sky-file-item-controls\">\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-file-item-btn-delete\"\n [attr.aria-label]=\"\n 'skyux_file_attachment_file_item_delete' | skyLibResources\n \"\n (click)=\"itemDelete()\"\n >\n <sky-icon icon=\"trash-o\" size=\"lg\" />\n </button>\n </div>\n </div>\n <div class=\"sky-file-item-content\">\n <div class=\"sky-file-item-preview\">\n <div *ngIf=\"isImage\" class=\"sky-file-item-preview-img-container\">\n <img\n class=\"sky-file-item-preview-img\"\n [src]=\"url\"\n [alt]=\"\n 'skyux_file_attachment_file_upload_image_preview_alt_text'\n | skyLibResources\n \"\n />\n </div>\n <div *ngIf=\"!isImage\" class=\"sky-file-item-preview-other\">\n <sky-icon [icon]=\"icon\" />\n </div>\n </div>\n <div class=\"sky-file-item-content-custom\">\n <ng-content />\n </div>\n </div>\n</div>\n", styles: [".sky-file-item{border-top:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4;border-right:1px solid #e2e3e4;background-color:#eeeeef;margin-bottom:10px}.sky-file-item-name-container{flex:1 1 auto;overflow:hidden}.sky-file-item-controls{flex:0 1 auto;padding-left:15px}.sky-file-item-name{white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis}.sky-file-item-title{margin-bottom:10px;display:flex}.sky-file-item-content{display:flex}.sky-file-item-preview{flex-basis:25%}.sky-file-item-content-custom{flex-basis:75%}.sky-file-item-preview-img-container{text-align:center}.sky-file-item-preview-img{max-width:100%;height:auto;box-shadow:0 0 5px #666}.sky-file-item-preview-other{color:#686c73;font-size:100px;line-height:1;text-align:center;width:100%}\n"] }]
|
|
150
|
-
}], ctorParameters: () => [{ type: i0.KeyValueDiffers }, { type: i1.SkyFileItemService }], propDecorators: { fileItem: [{
|
|
151
|
-
type: Input
|
|
152
|
-
}], deleteFile: [{
|
|
153
|
-
type: Output
|
|
154
|
-
}] } });
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVyRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFXdEMsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQjs7Ozs7O09BTUc7SUFDSCxJQUNXLFFBQVEsQ0FBQyxLQUE0QztRQUM5RCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLEtBQUssSUFBSSxNQUFNLElBQUksS0FBSyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxD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QWE7aUJBQ2YsU0FBUyxDQUNSLGdEQUFnRCxFQUNoRCxJQUFJLENBQUMsUUFBUSxDQUNkO2lCQUNBLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2IsU0FBUyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDbEQsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0gsQ0FBQzs4R0E1SlUsb0JBQW9CO2tHQUFwQixvQkFBb0IsOEhDeEJqQyxnK0NBNkNBOzsyRkRyQmEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGVBQWU7cUhBYWQsUUFBUTtzQkFEbEIsS0FBSztnQkF5QkMsVUFBVTtzQkFEaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRG9DaGVjayxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgS2V5VmFsdWVEaWZmZXIsXG4gIEtleVZhbHVlRGlmZmVycyxcbiAgT3V0cHV0LFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TGl2ZUFubm91bmNlclNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lGaWxlSXRlbSB9IGZyb20gJy4vZmlsZS1pdGVtJztcbmltcG9ydCB7IFNreUZpbGVJdGVtU2VydmljZSB9IGZyb20gJy4vZmlsZS1pdGVtLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5RmlsZUxpbmsgfSBmcm9tICcuL2ZpbGUtbGluayc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1maWxlLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNreUZpbGVJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgRG9DaGVjayB7XG4gIC8qKlxuICAgKiBUaGUgc3VtbWFyeSBpbmZvcm1hdGlvbiB0byBkaXNwbGF5IGFib3V0IGZpbGUgYXR0YWNobWVudHMuIEZvciBsb2NhbCBmaWxlcyxcbiAgICogdGhlIGRlZmF1bHQgc3VtbWFyeSBpbmNsdWRlcyB0aGUgZmlsZSBuYW1lLCBmaWxlIHNpemUsIGZpbGUgcHJldmlldywgYW5kIGEgZGVsZXRlIGJ1dHRvbi5cbiAgICogRm9yIGV4dGVybmFsIGZpbGVzLCB0aGUgZGVmYXVsdCBzdW1tYXJ5IGluY2x1ZGVzIHRoZSBVUkwgYW5kIGEgZGVsZXRlIGJ1dHRvbi5cbiAgICogWW91IGNhbiBpbmNsdWRlIGFkZGl0aW9uYWwgaW5wdXRzIHRvIGRpc3BsYXkgdXNlci1lbnRlcmVkIG1ldGFkYXRhLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZmlsZUl0ZW0odmFsdWU6IFNreUZpbGVJdGVtIHwgU2t5RmlsZUxpbmsgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZmlsZUl0ZW0gPSB2YWx1ZTtcbiAgICBpZiAodmFsdWUgJiYgJ2ZpbGUnIGluIHZhbHVlKSB7XG4gICAgICB0aGlzLmlzRmlsZSA9IHRoaXMuI2ZpbGVJdGVtU2VydmljZS5pc0ZpbGUodmFsdWUpO1xuICAgICAgdGhpcy5pc0ltYWdlID0gdGhpcy4jZmlsZUl0ZW1TZXJ2aWNlLmlzSW1hZ2UodmFsdWUpO1xuICAgICAgdGhpcy5maWxlTmFtZSA9IHZhbHVlLmZpbGUubmFtZTtcbiAgICAgIHRoaXMuZmlsZVNpemUgPSB2YWx1ZS5maWxlLnNpemU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNGaWxlID0gdGhpcy5pc0ltYWdlID0gZmFsc2U7XG4gICAgICB0aGlzLmZpbGVOYW1lID0gJyc7XG4gICAgICB0aGlzLmZpbGVTaXplID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICB0aGlzLnVybCA9IHZhbHVlPy51cmwgPz8gJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpbGVJdGVtKCk6IFNreUZpbGVJdGVtIHwgU2t5RmlsZUxpbmsgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfZmlsZUl0ZW07XG4gIH1cblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBzZWxlY3QgdGhlIGRlbGV0ZSBidXR0b24gZm9yIGFuIGl0ZW0uIFRoZSBkZWxldGVkIGl0ZW0gaXMgcGFzc2VkIHRvIHRoZVxuICAgKiBmdW5jdGlvbi5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZGVsZXRlRmlsZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5RmlsZUxpbmsgfCBTa3lGaWxlSXRlbT4oKTtcblxuICBwdWJsaWMgZmlsZU5hbWUgPSAnJztcblxuICBwdWJsaWMgZmlsZVNpemU6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgdXJsID0gJyc7XG5cbiAgcHVibGljIGljb246IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaXNGaWxlID0gZmFsc2U7XG4gIHB1YmxpYyBpc0ltYWdlID0gZmFsc2U7XG5cbiAgI19maWxlSXRlbTogU2t5RmlsZUl0ZW0gfCBTa3lGaWxlTGluayB8IHVuZGVmaW5lZDtcblxuICAjZGlmZmVyOiBLZXlWYWx1ZURpZmZlcjxhbnksIGFueT47XG4gICNmaWxlSXRlbVNlcnZpY2U6IFNreUZpbGVJdGVtU2VydmljZTtcblxuICByZWFkb25seSAjbGl2ZUFubm91bmNlclN2YyA9IGluamVjdChTa3lMaXZlQW5ub3VuY2VyU2VydmljZSk7XG5cbiAgcmVhZG9ubHkgI3Jlc291cmNlc1N2YyA9IGluamVjdChTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcihkaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsIGZpbGVJdGVtU2VydmljZTogU2t5RmlsZUl0ZW1TZXJ2aWNlKSB7XG4gICAgdGhpcy4jZGlmZmVyID0gZGlmZmVycy5maW5kKHt9KS5jcmVhdGUoKTtcbiAgICB0aGlzLiNmaWxlSXRlbVNlcnZpY2UgPSBmaWxlSXRlbVNlcnZpY2U7XG4gIH1cblxuICBwdWJsaWMgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZpbGVJdGVtKSB7XG4gICAgICBjb25zdCBjaGFuZ2VzID0gdGhpcy4jZGlmZmVyLmRpZmYodGhpcy5maWxlSXRlbSk7XG5cbiAgICAgIGlmIChjaGFuZ2VzKSB7XG4gICAgICAgIGxldCBjbHM6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgZXh0ZW5zaW9uVXBwZXIgPSB0aGlzLiNmaWxlSXRlbVNlcnZpY2UuZ2V0RmlsZUV4dGVuc2lvblVwcGVyKFxuICAgICAgICAgIHRoaXMuZmlsZUl0ZW0gYXMgU2t5RmlsZUl0ZW0sXG4gICAgICAgICk7XG4gICAgICAgIGxldCBmaWxlVHlwZVVwcGVyOiBzdHJpbmc7XG5cbiAgICAgICAgc3dpdGNoIChleHRlbnNpb25VcHBlcikge1xuICAgICAgICAgIGNhc2UgJy5QREYnOlxuICAgICAgICAgICAgY2xzID0gJ3BkZic7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICcuR1onOlxuICAgICAgICAgIGNhc2UgJy5SQVInOlxuICAgICAgICAgIGNhc2UgJy5UR1onOlxuICAgICAgICAgIGNhc2UgJy5aSVAnOlxuICAgICAgICAgICAgY2xzID0gJ2FyY2hpdmUnO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnLlBQVCc6XG4gICAgICAgICAgY2FzZSAnLlBQVFgnOlxuICAgICAgICAgICAgY2xzID0gJ3Bvd2VycG9pbnQnO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnLkRPQyc6XG4gICAgICAgICAgY2FzZSAnLkRPQ1gnOlxuICAgICAgICAgICAgY2xzID0gJ3dvcmQnO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnLlhMUyc6XG4gICAgICAgICAgY2FzZSAnLlhMU1gnOlxuICAgICAgICAgICAgY2xzID0gJ2V4Y2VsJztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJy5UWFQnOlxuICAgICAgICAgICAgY2xzID0gJ3RleHQnO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnLkhUTSc6XG4gICAgICAgICAgY2FzZSAnLkhUTUwnOlxuICAgICAgICAgICAgY2xzID0gJ2NvZGUnO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjbHMpIHtcbiAgICAgICAgICBmaWxlVHlwZVVwcGVyID0gdGhpcy4jZmlsZUl0ZW1TZXJ2aWNlLmdldEZpbGVUeXBlVXBwZXIoXG4gICAgICAgICAgICB0aGlzLmZpbGVJdGVtIGFzIFNreUZpbGVJdGVtLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBzd2l0Y2ggKGZpbGVUeXBlVXBwZXIuc3Vic3RyKDAsIGZpbGVUeXBlVXBwZXIuaW5kZXhPZignLycpKSkge1xuICAgICAgICAgICAgY2FzZSAnQVVESU8nOlxuICAgICAgICAgICAgICBjbHMgPSAnYXVkaW8nO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ0lNQUdFJzpcbiAgICAgICAgICAgICAgLy8gTm9ybWFsbHkgaW1hZ2VzIGFyZSBkaXNwbGF5ZWQgYXMgdGh1bWJuYWlscywgYnV0IGlmIGFuIGltYWdlIHR5cGUgaXMgbm90IHJlY29nbml6ZWRcbiAgICAgICAgICAgICAgLy8gYXMgYmVpbmcgd2lkZWx5IHN1cHBvcnRlZCBieSBtb2Rlcm4gYnJvd3NlcnMgKGUuZy4gVElGRiBmaWxlcykgdGhlbiBhbiBpY29uIHNob3VsZFxuICAgICAgICAgICAgICAvLyBiZSBkaXNwbGF5ZWQgaW5zdGVhZC5cbiAgICAgICAgICAgICAgY2xzID0gJ2ltYWdlJztcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdURVhUJzpcbiAgICAgICAgICAgICAgY2xzID0gJ3RleHQnO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ1ZJREVPJzpcbiAgICAgICAgICAgICAgY2xzID0gJ3ZpZGVvJztcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pY29uID0gJ2ZpbGUtJyArIChjbHMgPyBjbHMgKyAnLScgOiAnJykgKyAnbyc7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaWNvbiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXRlbURlbGV0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlbGV0ZUZpbGUuZW1pdCh0aGlzLmZpbGVJdGVtKTtcbiAgICBpZiAoIXRoaXMuaXNGaWxlKSB7XG4gICAgICB0aGlzLiNyZXNvdXJjZXNTdmNcbiAgICAgICAgLmdldFN0cmluZygnc2t5dXhfZmlsZV9hdHRhY2htZW50X2ZpbGVfdXBsb2FkX2xpbmtfcmVtb3ZlZCcsIHRoaXMudXJsKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKChyZXNvdXJjZVN0cmluZykgPT4ge1xuICAgICAgICAgIHRoaXMuI2xpdmVBbm5vdW5jZXJTdmMuYW5ub3VuY2UocmVzb3VyY2VTdHJpbmcpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jcmVzb3VyY2VzU3ZjXG4gICAgICAgIC5nZXRTdHJpbmcoXG4gICAgICAgICAgJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9maWxlX3VwbG9hZF9maWxlX3JlbW92ZWQnLFxuICAgICAgICAgIHRoaXMuZmlsZU5hbWUsXG4gICAgICAgIClcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgocmVzb3VyY2VTdHJpbmcpID0+IHtcbiAgICAgICAgICB0aGlzLiNsaXZlQW5ub3VuY2VyU3ZjLmFubm91bmNlKHJlc291cmNlU3RyaW5nKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWZpbGUtaXRlbSBza3ktcGFkZGluZy1ldmVuLWRlZmF1bHRcIiAqbmdJZj1cImZpbGVJdGVtXCI+XG4gIDxkaXYgY2xhc3M9XCJza3ktZmlsZS1pdGVtLXRpdGxlXCI+XG4gICAgPGRpdiBjbGFzcz1cInNreS1maWxlLWl0ZW0tbmFtZS1jb250YWluZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJza3ktZmlsZS1pdGVtLW5hbWVcIj5cbiAgICAgICAgPHN0cm9uZyAqbmdJZj1cImlzRmlsZVwiPnt7IGZpbGVOYW1lIH19PC9zdHJvbmc+XG4gICAgICAgIDxzdHJvbmcgKm5nSWY9XCIhaXNGaWxlXCI+e3sgdXJsIH19PC9zdHJvbmc+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJza3ktZmlsZS1pdGVtLXNpemVcIiAqbmdJZj1cImlzRmlsZVwiPlxuICAgICAgICAoe3sgZmlsZVNpemUgfCBza3lGaWxlU2l6ZSB9fSlcbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJza3ktZmlsZS1pdGVtLWNvbnRyb2xzXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1maWxlLWl0ZW0tYnRuLWRlbGV0ZVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9maWxlX2l0ZW1fZGVsZXRlJyB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICBcIlxuICAgICAgICAoY2xpY2spPVwiaXRlbURlbGV0ZSgpXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1pY29uIGljb249XCJ0cmFzaC1vXCIgc2l6ZT1cImxnXCIgLz5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInNreS1maWxlLWl0ZW0tY29udGVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJza3ktZmlsZS1pdGVtLXByZXZpZXdcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJpc0ltYWdlXCIgY2xhc3M9XCJza3ktZmlsZS1pdGVtLXByZXZpZXctaW1nLWNvbnRhaW5lclwiPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgY2xhc3M9XCJza3ktZmlsZS1pdGVtLXByZXZpZXctaW1nXCJcbiAgICAgICAgICBbc3JjXT1cInVybFwiXG4gICAgICAgICAgW2FsdF09XCJcbiAgICAgICAgICAgICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV91cGxvYWRfaW1hZ2VfcHJldmlld19hbHRfdGV4dCdcbiAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICBcIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiIWlzSW1hZ2VcIiBjbGFzcz1cInNreS1maWxlLWl0ZW0tcHJldmlldy1vdGhlclwiPlxuICAgICAgICA8c2t5LWljb24gW2ljb25dPVwiaWNvblwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LWZpbGUtaXRlbS1jb250ZW50LWN1c3RvbVwiPlxuICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lGaWxlSXRlbUVycm9yVHlwZSB9IGZyb20gJy4vZmlsZS1pdGVtLWVycm9yLXR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNreUZpbGVJdGVtIHtcbiAgLyoqXG4gICAqIFRoZSBvYmplY3QgdGhhdCB3YXMgYWRkZWQgb3IgcmVtb3ZlZC5cbiAgICovXG4gIGZpbGU6IEZpbGU7XG4gIC8qKlxuICAgKiBUaGUgW2RhdGEgVVJMXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVFRQL0Jhc2ljc19vZl9IVFRQL0RhdGFfVVJJcylcbiAgICogZm9yIHRoZSBmaWxlIHRoYXQgd2FzIGFkZGVkIG9yIHJlbW92ZWQuXG4gICAqL1xuICB1cmw6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGVycm9yIHRoYXQgY2F1c2VkIHRoZSBmaWxlIHRvIGJlIHJlamVjdGVkLlxuICAgKi9cbiAgZXJyb3JUeXBlPzogU2t5RmlsZUl0ZW1FcnJvclR5cGU7XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIHBhcmFtZXRlcnMgYWJvdXQgdGhlIGVycm9yIHRoYXQgY2F1c2VkIHRoZSBmaWxlIHRvIGJlIHJlamVjdGVkLlxuICAgKi9cbiAgZXJyb3JQYXJhbT86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* @internal
|
|
5
|
-
*/
|
|
6
|
-
export class SkyFileItemService {
|
|
7
|
-
isFile(fileItem) {
|
|
8
|
-
const file = fileItem.file;
|
|
9
|
-
return !!(file &&
|
|
10
|
-
file !== undefined &&
|
|
11
|
-
file !== null &&
|
|
12
|
-
file.size !== undefined &&
|
|
13
|
-
file.size !== null);
|
|
14
|
-
}
|
|
15
|
-
isImage(fileItem) {
|
|
16
|
-
const fileTypeUpper = this.getFileTypeUpper(fileItem);
|
|
17
|
-
const slashIndex = fileTypeUpper.indexOf('/');
|
|
18
|
-
if (slashIndex >= 0) {
|
|
19
|
-
switch (fileTypeUpper.substr(fileTypeUpper.indexOf('/') + 1)) {
|
|
20
|
-
case 'BMP':
|
|
21
|
-
case 'GIF':
|
|
22
|
-
case 'JPEG':
|
|
23
|
-
case 'PNG':
|
|
24
|
-
return true;
|
|
25
|
-
default:
|
|
26
|
-
break;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
getFileExtensionUpper(fileItem) {
|
|
32
|
-
let extension = '', name;
|
|
33
|
-
/* istanbul ignore else */
|
|
34
|
-
/* sanity check */
|
|
35
|
-
if (fileItem) {
|
|
36
|
-
const file = fileItem.file;
|
|
37
|
-
if (file) {
|
|
38
|
-
/* istanbul ignore next */
|
|
39
|
-
name = file.name || '';
|
|
40
|
-
/* istanbul ignore next */
|
|
41
|
-
extension = name.substr(name.lastIndexOf('.')) || '';
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
extension = '';
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return extension.toUpperCase();
|
|
48
|
-
}
|
|
49
|
-
getFileTypeUpper(fileItem) {
|
|
50
|
-
let fileType = '';
|
|
51
|
-
/* istanbul ignore else */
|
|
52
|
-
/* sanity check */
|
|
53
|
-
if (fileItem) {
|
|
54
|
-
const file = fileItem.file;
|
|
55
|
-
if (file) {
|
|
56
|
-
fileType = file.type || '';
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
fileType = '';
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
return fileType.toUpperCase();
|
|
63
|
-
}
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyFileItemService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
65
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyFileItemService }); }
|
|
66
|
-
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyFileItemService, decorators: [{
|
|
68
|
-
type: Injectable
|
|
69
|
-
}] });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pdGVtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWl0ZW0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkzQzs7R0FFRztBQUVILE1BQU0sT0FBTyxrQkFBa0I7SUFDdEIsTUFBTSxDQUFDLFFBQXFCO1FBQ2pDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFFM0IsT0FBTyxDQUFDLENBQUMsQ0FDUCxJQUFJO1lBQ0osSUFBSSxLQUFLLFNBQVM7WUFDbEIsSUFBSSxLQUFLLElBQUk7WUFDYixJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVM7WUFDdkIsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQ25CLENBQUM7SUFDSixDQUFDO0lBRU0sT0FBTyxDQUFDLFFBQXFCO1FBQ2xDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0RCxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTlDLElBQUksVUFBVSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3BCLFFBQVEsYUFBYSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzdELEtBQUssS0FBSyxDQUFDO2dCQUNYLEtBQUssS0FBSyxDQUFDO2dCQUNYLEtBQUssTUFBTSxDQUFDO2dCQUNaLEtBQUssS0FBSztvQkFDUixPQUFPLElBQUksQ0FBQztnQkFDZDtvQkFDRSxNQUFNO1lBQ1YsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxRQUFxQjtRQUNoRCxJQUFJLFNBQVMsR0FBRyxFQUFFLEVBQ2hCLElBQVksQ0FBQztRQUVmLDBCQUEwQjtRQUMxQixrQkFBa0I7UUFDbEIsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDM0IsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCwwQkFBMEI7Z0JBQzFCLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDdkIsMEJBQTBCO2dCQUMxQixTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZELENBQUM7aUJBQU0sQ0FBQztnQkFDTixTQUFTLEdBQUcsRUFBRSxDQUFDO1lBQ2pCLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFFBQXFCO1FBQzNDLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNsQiwwQkFBMEI7UUFDMUIsa0JBQWtCO1FBQ2xCLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQzNCLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1QsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzdCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ2hCLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQzs4R0FuRVUsa0JBQWtCO2tIQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUZpbGVJdGVtIH0gZnJvbSAnLi9maWxlLWl0ZW0nO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5RmlsZUl0ZW1TZXJ2aWNlIHtcbiAgcHVibGljIGlzRmlsZShmaWxlSXRlbTogU2t5RmlsZUl0ZW0pOiBib29sZWFuIHtcbiAgICBjb25zdCBmaWxlID0gZmlsZUl0ZW0uZmlsZTtcblxuICAgIHJldHVybiAhIShcbiAgICAgIGZpbGUgJiZcbiAgICAgIGZpbGUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgZmlsZSAhPT0gbnVsbCAmJlxuICAgICAgZmlsZS5zaXplICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGZpbGUuc2l6ZSAhPT0gbnVsbFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgaXNJbWFnZShmaWxlSXRlbTogU2t5RmlsZUl0ZW0pOiBib29sZWFuIHtcbiAgICBjb25zdCBmaWxlVHlwZVVwcGVyID0gdGhpcy5nZXRGaWxlVHlwZVVwcGVyKGZpbGVJdGVtKTtcbiAgICBjb25zdCBzbGFzaEluZGV4ID0gZmlsZVR5cGVVcHBlci5pbmRleE9mKCcvJyk7XG5cbiAgICBpZiAoc2xhc2hJbmRleCA+PSAwKSB7XG4gICAgICBzd2l0Y2ggKGZpbGVUeXBlVXBwZXIuc3Vic3RyKGZpbGVUeXBlVXBwZXIuaW5kZXhPZignLycpICsgMSkpIHtcbiAgICAgICAgY2FzZSAnQk1QJzpcbiAgICAgICAgY2FzZSAnR0lGJzpcbiAgICAgICAgY2FzZSAnSlBFRyc6XG4gICAgICAgIGNhc2UgJ1BORyc6XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldEZpbGVFeHRlbnNpb25VcHBlcihmaWxlSXRlbTogU2t5RmlsZUl0ZW0pOiBzdHJpbmcge1xuICAgIGxldCBleHRlbnNpb24gPSAnJyxcbiAgICAgIG5hbWU6IHN0cmluZztcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgaWYgKGZpbGVJdGVtKSB7XG4gICAgICBjb25zdCBmaWxlID0gZmlsZUl0ZW0uZmlsZTtcbiAgICAgIGlmIChmaWxlKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIG5hbWUgPSBmaWxlLm5hbWUgfHwgJyc7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIGV4dGVuc2lvbiA9IG5hbWUuc3Vic3RyKG5hbWUubGFzdEluZGV4T2YoJy4nKSkgfHwgJyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBleHRlbnNpb24gPSAnJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZXh0ZW5zaW9uLnRvVXBwZXJDYXNlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmlsZVR5cGVVcHBlcihmaWxlSXRlbTogU2t5RmlsZUl0ZW0pOiBzdHJpbmcge1xuICAgIGxldCBmaWxlVHlwZSA9ICcnO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgaWYgKGZpbGVJdGVtKSB7XG4gICAgICBjb25zdCBmaWxlID0gZmlsZUl0ZW0uZmlsZTtcbiAgICAgIGlmIChmaWxlKSB7XG4gICAgICAgIGZpbGVUeXBlID0gZmlsZS50eXBlIHx8ICcnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZmlsZVR5cGUgPSAnJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmlsZVR5cGUudG9VcHBlckNhc2UoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1saW5rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1saW5rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNreUZpbGVMaW5rIHtcbiAgLyoqXG4gICAqIFRoZSBVUkwgZm9yIHRoZSBsaW5rZWQgZmlsZS5cbiAgICovXG4gIHVybDogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "@skyux/i18n";
|
|
5
|
-
/**
|
|
6
|
-
* @internal
|
|
7
|
-
*/
|
|
8
|
-
export class SkyFileSizePipe {
|
|
9
|
-
#decimalPipe;
|
|
10
|
-
#resourcesService;
|
|
11
|
-
constructor(decimalPipe, resourcesService) {
|
|
12
|
-
this.#decimalPipe = decimalPipe;
|
|
13
|
-
this.#resourcesService = resourcesService;
|
|
14
|
-
}
|
|
15
|
-
transform(input) {
|
|
16
|
-
let decimalPlaces = 0, dividend = 1, template;
|
|
17
|
-
if (input === null || input === undefined) {
|
|
18
|
-
return '';
|
|
19
|
-
}
|
|
20
|
-
if (typeof input === 'string') {
|
|
21
|
-
input = Number.parseInt(input);
|
|
22
|
-
}
|
|
23
|
-
if (Math.abs(input) === 1) {
|
|
24
|
-
template = 'skyux_file_attachment_file_size_b_singular';
|
|
25
|
-
}
|
|
26
|
-
else if (input < 1024) {
|
|
27
|
-
template = 'skyux_file_attachment_file_size_b_plural';
|
|
28
|
-
}
|
|
29
|
-
else if (input < Math.pow(1024, 2)) {
|
|
30
|
-
template = 'skyux_file_attachment_file_size_kb';
|
|
31
|
-
dividend = 1024;
|
|
32
|
-
}
|
|
33
|
-
else if (input < Math.pow(1024, 3)) {
|
|
34
|
-
template = 'skyux_file_attachment_file_size_mb';
|
|
35
|
-
dividend = Math.pow(1024, 2);
|
|
36
|
-
decimalPlaces = 1;
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
template = 'skyux_file_attachment_file_size_gb';
|
|
40
|
-
dividend = Math.pow(1024, 3);
|
|
41
|
-
decimalPlaces = 1;
|
|
42
|
-
}
|
|
43
|
-
const roundedSize = Math.floor(input / (dividend / Math.pow(10, decimalPlaces))) /
|
|
44
|
-
Math.pow(10, decimalPlaces);
|
|
45
|
-
const formattedSize = this.#decimalPipe.transform(roundedSize, '.0-3');
|
|
46
|
-
return this.#getString(template, formattedSize);
|
|
47
|
-
}
|
|
48
|
-
#getString(key, ...args) {
|
|
49
|
-
// TODO: Need to implement the async `getString` method in a breaking change.
|
|
50
|
-
return this.#resourcesService.getStringForLocale({ locale: 'en-US' }, key, ...args);
|
|
51
|
-
}
|
|
52
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyFileSizePipe, deps: [{ token: i1.DecimalPipe }, { token: i2.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
53
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.2", ngImport: i0, type: SkyFileSizePipe, name: "skyFileSize" }); }
|
|
54
|
-
}
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyFileSizePipe, decorators: [{
|
|
56
|
-
type: Pipe,
|
|
57
|
-
args: [{
|
|
58
|
-
name: 'skyFileSize',
|
|
59
|
-
}]
|
|
60
|
-
}], ctorParameters: () => [{ type: i1.DecimalPipe }, { type: i2.SkyLibResourcesService }] });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zaXplLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLXNpemUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7OztBQUdwRDs7R0FFRztBQUlILE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQVksQ0FBYztJQUMxQixpQkFBaUIsQ0FBeUI7SUFFMUMsWUFDRSxXQUF3QixFQUN4QixnQkFBd0M7UUFFeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7UUFDaEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDO0lBQzVDLENBQUM7SUFFTSxTQUFTLENBQUMsS0FBOEI7UUFDN0MsSUFBSSxhQUFhLEdBQUcsQ0FBQyxFQUNuQixRQUFRLEdBQUcsQ0FBQyxFQUNaLFFBQWdCLENBQUM7UUFFbkIsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMxQyxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzlCLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDMUIsUUFBUSxHQUFHLDRDQUE0QyxDQUFDO1FBQzFELENBQUM7YUFBTSxJQUFJLEtBQUssR0FBRyxJQUFJLEVBQUUsQ0FBQztZQUN4QixRQUFRLEdBQUcsMENBQTBDLENBQUM7UUFDeEQsQ0FBQzthQUFNLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDckMsUUFBUSxHQUFHLG9DQUFvQyxDQUFDO1lBQ2hELFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDbEIsQ0FBQzthQUFNLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDckMsUUFBUSxHQUFHLG9DQUFvQyxDQUFDO1lBQ2hELFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM3QixhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLENBQUM7YUFBTSxDQUFDO1lBQ04sUUFBUSxHQUFHLG9DQUFvQyxDQUFDO1lBQ2hELFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM3QixhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLENBQUM7UUFFRCxNQUFNLFdBQVcsR0FDZixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRTlCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV2RSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVyxFQUFFLEdBQUcsSUFBVztRQUNwQyw2RUFBNkU7UUFDN0UsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQzlDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUNuQixHQUFHLEVBQ0gsR0FBRyxJQUFJLENBQ1IsQ0FBQztJQUNKLENBQUM7OEdBMURVLGVBQWU7NEdBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFIM0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsYUFBYTtpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWNpbWFsUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AUGlwZSh7XG4gIG5hbWU6ICdza3lGaWxlU2l6ZScsXG59KVxuZXhwb3J0IGNsYXNzIFNreUZpbGVTaXplUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAjZGVjaW1hbFBpcGU6IERlY2ltYWxQaXBlO1xuICAjcmVzb3VyY2VzU2VydmljZTogU2t5TGliUmVzb3VyY2VzU2VydmljZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBkZWNpbWFsUGlwZTogRGVjaW1hbFBpcGUsXG4gICAgcmVzb3VyY2VzU2VydmljZTogU2t5TGliUmVzb3VyY2VzU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy4jZGVjaW1hbFBpcGUgPSBkZWNpbWFsUGlwZTtcbiAgICB0aGlzLiNyZXNvdXJjZXNTZXJ2aWNlID0gcmVzb3VyY2VzU2VydmljZTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFuc2Zvcm0oaW5wdXQ/OiBudW1iZXIgfCBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHtcbiAgICBsZXQgZGVjaW1hbFBsYWNlcyA9IDAsXG4gICAgICBkaXZpZGVuZCA9IDEsXG4gICAgICB0ZW1wbGF0ZTogc3RyaW5nO1xuXG4gICAgaWYgKGlucHV0ID09PSBudWxsIHx8IGlucHV0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGlucHV0ID09PSAnc3RyaW5nJykge1xuICAgICAgaW5wdXQgPSBOdW1iZXIucGFyc2VJbnQoaW5wdXQpO1xuICAgIH1cblxuICAgIGlmIChNYXRoLmFicyhpbnB1dCkgPT09IDEpIHtcbiAgICAgIHRlbXBsYXRlID0gJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9maWxlX3NpemVfYl9zaW5ndWxhcic7XG4gICAgfSBlbHNlIGlmIChpbnB1dCA8IDEwMjQpIHtcbiAgICAgIHRlbXBsYXRlID0gJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9maWxlX3NpemVfYl9wbHVyYWwnO1xuICAgIH0gZWxzZSBpZiAoaW5wdXQgPCBNYXRoLnBvdygxMDI0LCAyKSkge1xuICAgICAgdGVtcGxhdGUgPSAnc2t5dXhfZmlsZV9hdHRhY2htZW50X2ZpbGVfc2l6ZV9rYic7XG4gICAgICBkaXZpZGVuZCA9IDEwMjQ7XG4gICAgfSBlbHNlIGlmIChpbnB1dCA8IE1hdGgucG93KDEwMjQsIDMpKSB7XG4gICAgICB0ZW1wbGF0ZSA9ICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV9zaXplX21iJztcbiAgICAgIGRpdmlkZW5kID0gTWF0aC5wb3coMTAyNCwgMik7XG4gICAgICBkZWNpbWFsUGxhY2VzID0gMTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGVtcGxhdGUgPSAnc2t5dXhfZmlsZV9hdHRhY2htZW50X2ZpbGVfc2l6ZV9nYic7XG4gICAgICBkaXZpZGVuZCA9IE1hdGgucG93KDEwMjQsIDMpO1xuICAgICAgZGVjaW1hbFBsYWNlcyA9IDE7XG4gICAgfVxuXG4gICAgY29uc3Qgcm91bmRlZFNpemUgPVxuICAgICAgTWF0aC5mbG9vcihpbnB1dCAvIChkaXZpZGVuZCAvIE1hdGgucG93KDEwLCBkZWNpbWFsUGxhY2VzKSkpIC9cbiAgICAgIE1hdGgucG93KDEwLCBkZWNpbWFsUGxhY2VzKTtcblxuICAgIGNvbnN0IGZvcm1hdHRlZFNpemUgPSB0aGlzLiNkZWNpbWFsUGlwZS50cmFuc2Zvcm0ocm91bmRlZFNpemUsICcuMC0zJyk7XG5cbiAgICByZXR1cm4gdGhpcy4jZ2V0U3RyaW5nKHRlbXBsYXRlLCBmb3JtYXR0ZWRTaXplKTtcbiAgfVxuXG4gICNnZXRTdHJpbmcoa2V5OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogc3RyaW5nIHtcbiAgICAvLyBUT0RPOiBOZWVkIHRvIGltcGxlbWVudCB0aGUgYXN5bmMgYGdldFN0cmluZ2AgbWV0aG9kIGluIGEgYnJlYWtpbmcgY2hhbmdlLlxuICAgIHJldHVybiB0aGlzLiNyZXNvdXJjZXNTZXJ2aWNlLmdldFN0cmluZ0ZvckxvY2FsZShcbiAgICAgIHsgbG9jYWxlOiAnZW4tVVMnIH0sXG4gICAgICBrZXksXG4gICAgICAuLi5hcmdzLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS12YWxpZGF0ZS1mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtdmFsaWRhdGUtZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreUZpbGVJdGVtIH0gZnJvbSAnLi9maWxlLWl0ZW0nO1xuXG4vKipcbiAqIEN1c3RvbSB2YWxpZGF0aW9uIHJ1biBvbiBlYWNoIGZpbGUgdXBsb2FkZWQuIFRoZSBzdHJpbmcgcmV0dXJuZWQgaXMgdXNlZCBhcyB0aGUgZXJyb3IgbWVzc2FnZSBpbiBtdWx0aS1maWxlIGF0dGFjaG1lbnQuXG4gKi9cbmV4cG9ydCB0eXBlIFNreUZpbGVWYWxpZGF0ZUZuID0gKGZpbGU6IFNreUZpbGVJdGVtKSA9PiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hdHRhY2htZW50LWNoYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L3R5cGVzL2ZpbGUtYXR0YWNobWVudC1jaGFuZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreUZpbGVJdGVtIH0gZnJvbSAnLi4vZmlsZS1pdGVtJztcblxuZXhwb3J0IGludGVyZmFjZSBTa3lGaWxlQXR0YWNobWVudENoYW5nZSB7XG4gIC8qKlxuICAgKiBUaGUgZmlsZSB0aGF0IHdhcyBhZGRlZCwgb3IgdW5kZWZpbmVkIGlmIHRoZSBmaWxlIHdhcyByZW1vdmVkLlxuICAgKi9cbiAgZmlsZT86IFNreUZpbGVJdGVtO1xufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hdHRhY2htZW50LWNsaWNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvdHlwZXMvZmlsZS1hdHRhY2htZW50LWNsaWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lGaWxlSXRlbSB9IGZyb20gJy4uL2ZpbGUtaXRlbSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2t5RmlsZUF0dGFjaG1lbnRDbGljayB7XG4gIC8qKlxuICAgKiBUaGUgZmlsZSB0aGF0IHdhcyBjbGlja2VkLlxuICAgKi9cbiAgZmlsZTogU2t5RmlsZUl0ZW07XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLWNoYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L3R5cGVzL2ZpbGUtZHJvcC1jaGFuZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreUZpbGVJdGVtIH0gZnJvbSAnLi4vZmlsZS1pdGVtJztcblxuZXhwb3J0IGludGVyZmFjZSBTa3lGaWxlRHJvcENoYW5nZSB7XG4gIC8qKlxuICAgKiBUaGUgYXJyYXkgb2YgZmlsZXMgdGhhdCB3ZXJlIGFkZGVkIG9yIHJlbW92ZWQuXG4gICAqL1xuICBmaWxlczogU2t5RmlsZUl0ZW1bXTtcbiAgLyoqXG4gICAqIFRoZSBhcnJheSBvZiBmaWxlcyB0aGF0IHdlcmUgcmVqZWN0ZWQuXG4gICAqL1xuICByZWplY3RlZEZpbGVzOiBTa3lGaWxlSXRlbVtdO1xufVxuIl19
|
|
File without changes
|
/package/lib/modules/file-attachment/{file-item-error-type.d.ts → shared/file-item-error-type.d.ts}
RENAMED
|
File without changes
|
|
File without changes
|
/package/lib/modules/file-attachment/{file-item.service.d.ts → shared/file-item.service.d.ts}
RENAMED
|
File without changes
|
|
File without changes
|