@libs-ui/components-inputs-upload 0.2.161
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/README.md +3 -0
- package/avatar/avatar.component.d.ts +15 -0
- package/defines/helper.define.d.ts +4 -0
- package/defines/upload.define.d.ts +4 -0
- package/esm2022/avatar/avatar.component.mjs +50 -0
- package/esm2022/defines/helper.define.mjs +47 -0
- package/esm2022/defines/upload.define.mjs +5 -0
- package/esm2022/index.mjs +4 -0
- package/esm2022/interfaces/upload.interface.mjs +2 -0
- package/esm2022/libs-ui-components-inputs-upload.mjs +5 -0
- package/esm2022/pipes/calc-duration-video.pipe.mjs +32 -0
- package/esm2022/pipes/check-file-extension.pipe.mjs +38 -0
- package/esm2022/upload.component.mjs +483 -0
- package/fesm2022/libs-ui-components-inputs-upload.mjs +646 -0
- package/fesm2022/libs-ui-components-inputs-upload.mjs.map +1 -0
- package/index.d.ts +3 -0
- package/interfaces/upload.interface.d.ts +30 -0
- package/package.json +25 -0
- package/pipes/calc-duration-video.pipe.d.ts +7 -0
- package/pipes/check-file-extension.pipe.d.ts +8 -0
- package/upload.component.d.ts +93 -0
package/README.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IFile } from "@libs-ui/interfaces-types";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class LibsUiComponentsInputsUploadAvatarComponent {
|
|
4
|
+
private linkImageError;
|
|
5
|
+
readonly item: import("@angular/core").ModelSignal<IFile>;
|
|
6
|
+
readonly showVideoDuration: import("@angular/core").InputSignal<boolean | undefined>;
|
|
7
|
+
readonly disable: import("@angular/core").InputSignal<boolean | undefined>;
|
|
8
|
+
readonly size: import("@angular/core").InputSignal<number | undefined>;
|
|
9
|
+
readonly outOpenPreview: import("@angular/core").OutputEmitterRef<IFile>;
|
|
10
|
+
constructor(linkImageError: string);
|
|
11
|
+
protected handlerImageError(event: Event): Promise<void>;
|
|
12
|
+
protected handlerImageClick(event: Event): void;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LibsUiComponentsInputsUploadAvatarComponent, [{ optional: true; }]>;
|
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LibsUiComponentsInputsUploadAvatarComponent, "libs_ui-components-inputs-upload-avatar", never, { "item": { "alias": "item"; "required": true; "isSignal": true; }; "showVideoDuration": { "alias": "showVideoDuration"; "required": false; "isSignal": true; }; "disable": { "alias": "disable"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "item": "itemChange"; "outOpenPreview": "outOpenPreview"; }, never, never, true, never>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { IUploadDescriptionFormatAndSizeFile, TYPE_FILE_UPLOAD } from '../interfaces/upload.interface';
|
|
2
|
+
import { IFile } from '@libs-ui/interfaces-types';
|
|
3
|
+
export declare const getDescriptionFormatAndSizeFileDefault: (type: TYPE_FILE_UPLOAD, maxImageSize: number, maxVideoSize: number, maxDocumentSize: number, maxAudioSize: number) => IUploadDescriptionFormatAndSizeFile[];
|
|
4
|
+
export declare const getFileExtension: (file: IFile | File) => string | undefined;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { AsyncPipe, NgComponentOutlet } from "@angular/common";
|
|
2
|
+
import { ChangeDetectionStrategy, Component, Inject, input, model, Optional, output } from "@angular/core";
|
|
3
|
+
import { LibsUiComponentsSpinnerComponent } from "@libs-ui/components-spinner";
|
|
4
|
+
import { LibsUiIconsGetIconComponentPipe } from "@libs-ui/icons";
|
|
5
|
+
import { LibsUiPipesSecurityTrustPipe } from "@libs-ui/pipes-security-trust";
|
|
6
|
+
import { LINK_IMAGE_ERROR_TOKEN_INJECT } from "@libs-ui/utils";
|
|
7
|
+
import { TranslateModule } from "@ngx-translate/core";
|
|
8
|
+
import { LibsUiPipesInputsUploadCalcDurationVideoPipe } from "../pipes/calc-duration-video.pipe";
|
|
9
|
+
import { LibsUiPipesInputsUploadCheckFileExtensionPipe } from "../pipes/check-file-extension.pipe";
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
export class LibsUiComponentsInputsUploadAvatarComponent {
|
|
12
|
+
linkImageError;
|
|
13
|
+
item = model.required();
|
|
14
|
+
showVideoDuration = input();
|
|
15
|
+
disable = input();
|
|
16
|
+
size = input();
|
|
17
|
+
outOpenPreview = output();
|
|
18
|
+
constructor(linkImageError) {
|
|
19
|
+
this.linkImageError = linkImageError;
|
|
20
|
+
}
|
|
21
|
+
async handlerImageError(event) {
|
|
22
|
+
if (!this.linkImageError) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
event.target.src = this.linkImageError;
|
|
26
|
+
}
|
|
27
|
+
handlerImageClick(event) {
|
|
28
|
+
event.stopPropagation();
|
|
29
|
+
this.outOpenPreview.emit(this.item());
|
|
30
|
+
}
|
|
31
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsInputsUploadAvatarComponent, deps: [{ token: LINK_IMAGE_ERROR_TOKEN_INJECT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsInputsUploadAvatarComponent, isStandalone: true, selector: "libs_ui-components-inputs-upload-avatar", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, showVideoDuration: { classPropertyName: "showVideoDuration", publicName: "showVideoDuration", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { item: "itemChange", outOpenPreview: "outOpenPreview" }, ngImport: i0, template: "<div class=\"flex mr-[12px] bg-[#ffffff] rounded-[4px]\"\n [class.mo-lib-disable]=\"disable() || item().isUploading || item().error\">\n @if (item() | LibsUiPipesInputsUploadCheckFileExtensionPipe:'image') {\n <div [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"relative\">\n @if (item().url || item().origin_url; as url) {\n <img [src]=\"url\"\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"rounded-[4px] cursor-pointer\"\n alt\n (error)=\"handlerImageError($event)\"\n (click)=\"handlerImageClick($event)\" />\n } @else {\n <libs_ui-components-spinner [size]=\"'medium'\" />\n }\n </div>\n }\n @else if (item() | LibsUiPipesInputsUploadCheckFileExtensionPipe:'video') {\n <div class=\"relative\"\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\">\n @if (item().url || item().origin_url) {\n <video #videoRef\n [style.width.px]=\"size || 32\"\n [style.height.px]=\"size || 32\"\n class=\"rounded-[4px]\"\n preload=\"metadata\"\n [src]=\"(item().url || item().origin_url || '') | LibsUiPipesSecurityTrustPipe:'resourceUrl'\"></video>\n <div class=\"absolute w-full h-full top-0 bg-[#001433] opacity-40 rounded-[4px]\">\n </div>\n <div class=\"absolute w-full h-full flex items-center justify-center top-0\">\n <i class=\"text-[#ffffff] libs-ui-icon-play-solid before:!text-[10px]\"></i>\n </div>\n @if (showVideoDuration()) {\n <div\n class=\"flex text-[5px] absolute bottom-0 right-0 py-[2px] px-[4px] rounded-[4px] bg-[#000000] text-[#ffffff]\">\n {{ videoRef.duration | LibsUiPipesInputsUploadCalcDurationVideoPipe }}\n </div>\n }\n } @else {\n <libs_ui-components-spinner [size]=\"'medium'\" />\n }\n </div>\n }\n @else if (item() | LibsUiPipesInputsUploadCheckFileExtensionPipe:'pdf') {\n <ng-container *ngComponentOutlet=\"'pdf'|LibsUiIconsGetIconComponentPipe|async\" />\n }\n @else if (item() | LibsUiPipesInputsUploadCheckFileExtensionPipe:'word') {\n <ng-container *ngComponentOutlet=\"'word'|LibsUiIconsGetIconComponentPipe|async\" />\n }\n @else if (item() | LibsUiPipesInputsUploadCheckFileExtensionPipe:'pptx') {\n <ng-container *ngComponentOutlet=\"'pptx'|LibsUiIconsGetIconComponentPipe|async\" />\n }\n @else if (item() | LibsUiPipesInputsUploadCheckFileExtensionPipe:'xlsx') {\n <ng-container *ngComponentOutlet=\"'xlsx'|LibsUiIconsGetIconComponentPipe|async\" />\n }\n @else {\n <div [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"flex items-center justify-center\">\n <i class=\"libs-ui-icon-file before:!text-[19px]\"\n [class.text-[#6a7383]]=\"!item().isUploading && !item().error\"\n [class.text-[#071631]]=\"disable() || item().isUploading || item().error\"></i>\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: LibsUiComponentsSpinnerComponent, selector: "libs_ui-components-spinner", inputs: ["type", "size"] }, { kind: "pipe", type: LibsUiPipesSecurityTrustPipe, name: "LibsUiPipesSecurityTrustPipe" }, { kind: "pipe", type: LibsUiPipesInputsUploadCalcDurationVideoPipe, name: "LibsUiPipesInputsUploadCalcDurationVideoPipe" }, { kind: "pipe", type: LibsUiPipesInputsUploadCheckFileExtensionPipe, name: "LibsUiPipesInputsUploadCheckFileExtensionPipe" }, { kind: "pipe", type: LibsUiIconsGetIconComponentPipe, name: "LibsUiIconsGetIconComponentPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
33
|
+
}
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsInputsUploadAvatarComponent, decorators: [{
|
|
35
|
+
type: Component,
|
|
36
|
+
args: [{ selector: 'libs_ui-components-inputs-upload-avatar', standalone: true, imports: [
|
|
37
|
+
NgComponentOutlet, AsyncPipe, TranslateModule,
|
|
38
|
+
LibsUiComponentsSpinnerComponent,
|
|
39
|
+
LibsUiPipesSecurityTrustPipe,
|
|
40
|
+
LibsUiPipesInputsUploadCalcDurationVideoPipe,
|
|
41
|
+
LibsUiPipesInputsUploadCheckFileExtensionPipe,
|
|
42
|
+
LibsUiIconsGetIconComponentPipe,
|
|
43
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex mr-[12px] bg-[#ffffff] rounded-[4px]\"\n [class.mo-lib-disable]=\"disable() || item().isUploading || item().error\">\n @if (item() | LibsUiPipesInputsUploadCheckFileExtensionPipe:'image') {\n <div [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"relative\">\n @if (item().url || item().origin_url; as url) {\n <img [src]=\"url\"\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"rounded-[4px] cursor-pointer\"\n alt\n (error)=\"handlerImageError($event)\"\n (click)=\"handlerImageClick($event)\" />\n } @else {\n <libs_ui-components-spinner [size]=\"'medium'\" />\n }\n </div>\n }\n @else if (item() | LibsUiPipesInputsUploadCheckFileExtensionPipe:'video') {\n <div class=\"relative\"\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\">\n @if (item().url || item().origin_url) {\n <video #videoRef\n [style.width.px]=\"size || 32\"\n [style.height.px]=\"size || 32\"\n class=\"rounded-[4px]\"\n preload=\"metadata\"\n [src]=\"(item().url || item().origin_url || '') | LibsUiPipesSecurityTrustPipe:'resourceUrl'\"></video>\n <div class=\"absolute w-full h-full top-0 bg-[#001433] opacity-40 rounded-[4px]\">\n </div>\n <div class=\"absolute w-full h-full flex items-center justify-center top-0\">\n <i class=\"text-[#ffffff] libs-ui-icon-play-solid before:!text-[10px]\"></i>\n </div>\n @if (showVideoDuration()) {\n <div\n class=\"flex text-[5px] absolute bottom-0 right-0 py-[2px] px-[4px] rounded-[4px] bg-[#000000] text-[#ffffff]\">\n {{ videoRef.duration | LibsUiPipesInputsUploadCalcDurationVideoPipe }}\n </div>\n }\n } @else {\n <libs_ui-components-spinner [size]=\"'medium'\" />\n }\n </div>\n }\n @else if (item() | LibsUiPipesInputsUploadCheckFileExtensionPipe:'pdf') {\n <ng-container *ngComponentOutlet=\"'pdf'|LibsUiIconsGetIconComponentPipe|async\" />\n }\n @else if (item() | LibsUiPipesInputsUploadCheckFileExtensionPipe:'word') {\n <ng-container *ngComponentOutlet=\"'word'|LibsUiIconsGetIconComponentPipe|async\" />\n }\n @else if (item() | LibsUiPipesInputsUploadCheckFileExtensionPipe:'pptx') {\n <ng-container *ngComponentOutlet=\"'pptx'|LibsUiIconsGetIconComponentPipe|async\" />\n }\n @else if (item() | LibsUiPipesInputsUploadCheckFileExtensionPipe:'xlsx') {\n <ng-container *ngComponentOutlet=\"'xlsx'|LibsUiIconsGetIconComponentPipe|async\" />\n }\n @else {\n <div [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"flex items-center justify-center\">\n <i class=\"libs-ui-icon-file before:!text-[19px]\"\n [class.text-[#6a7383]]=\"!item().isUploading && !item().error\"\n [class.text-[#071631]]=\"disable() || item().isUploading || item().error\"></i>\n </div>\n }\n</div>\n" }]
|
|
44
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
45
|
+
type: Optional
|
|
46
|
+
}, {
|
|
47
|
+
type: Inject,
|
|
48
|
+
args: [LINK_IMAGE_ERROR_TOKEN_INJECT]
|
|
49
|
+
}] }] });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9pbnB1dHMvdXBsb2FkL3NyYy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9pbnB1dHMvdXBsb2FkL3NyYy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0UsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pHLE9BQU8sRUFBRSw2Q0FBNkMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQWlCbkcsTUFBTSxPQUFPLDJDQUEyQztJQU9pQjtJQU45RCxJQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBUyxDQUFDO0lBQy9CLGlCQUFpQixHQUFHLEtBQUssRUFBVyxDQUFDO0lBQ3JDLE9BQU8sR0FBRyxLQUFLLEVBQVcsQ0FBQztJQUMzQixJQUFJLEdBQUcsS0FBSyxFQUFVLENBQUM7SUFDdkIsY0FBYyxHQUFHLE1BQU0sRUFBUyxDQUFDO0lBRTFDLFlBQXVFLGNBQXNCO1FBQXRCLG1CQUFjLEdBQWQsY0FBYyxDQUFRO0lBQzdGLENBQUM7SUFFUyxLQUFLLENBQUMsaUJBQWlCLENBQUMsS0FBWTtRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLE9BQU87UUFDVCxDQUFDO1FBQ0EsS0FBZ0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDckQsQ0FBQztJQUVTLGlCQUFpQixDQUFDLEtBQVk7UUFDdEMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7d0dBcEJVLDJDQUEyQyxrQkFPdEIsNkJBQTZCOzRGQVBsRCwyQ0FBMkMscXJCQzFCeEQsd2dHQW9FQSw0Q0RuREksaUJBQWlCLCtPQUFFLFNBQVMsNkNBQUUsZUFBZSwrQkFDN0MsZ0NBQWdDLDRGQUNoQyw0QkFBNEIsZ0VBQzVCLDRDQUE0QyxnRkFDNUMsNkNBQTZDLGlGQUM3QywrQkFBK0I7OzRGQUl0QiwyQ0FBMkM7a0JBZnZELFNBQVM7K0JBRUUseUNBQXlDLGNBRXZDLElBQUksV0FDUDt3QkFDUCxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsZUFBZTt3QkFDN0MsZ0NBQWdDO3dCQUNoQyw0QkFBNEI7d0JBQzVCLDRDQUE0Qzt3QkFDNUMsNkNBQTZDO3dCQUM3QywrQkFBK0I7cUJBQ2hDLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFTbEMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nQ29tcG9uZW50T3V0bGV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBpbnB1dCwgbW9kZWwsIE9wdGlvbmFsLCBvdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTGlic1VpQ29tcG9uZW50c1NwaW5uZXJDb21wb25lbnQgfSBmcm9tIFwiQGxpYnMtdWkvY29tcG9uZW50cy1zcGlubmVyXCI7XG5pbXBvcnQgeyBMaWJzVWlJY29uc0dldEljb25Db21wb25lbnRQaXBlIH0gZnJvbSBcIkBsaWJzLXVpL2ljb25zXCI7XG5pbXBvcnQgeyBJRXZlbnQsIElGaWxlIH0gZnJvbSBcIkBsaWJzLXVpL2ludGVyZmFjZXMtdHlwZXNcIjtcbmltcG9ydCB7IExpYnNVaVBpcGVzU2VjdXJpdHlUcnVzdFBpcGUgfSBmcm9tIFwiQGxpYnMtdWkvcGlwZXMtc2VjdXJpdHktdHJ1c3RcIjtcbmltcG9ydCB7IExJTktfSU1BR0VfRVJST1JfVE9LRU5fSU5KRUNUIH0gZnJvbSBcIkBsaWJzLXVpL3V0aWxzXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgTGlic1VpUGlwZXNJbnB1dHNVcGxvYWRDYWxjRHVyYXRpb25WaWRlb1BpcGUgfSBmcm9tIFwiLi4vcGlwZXMvY2FsYy1kdXJhdGlvbi12aWRlby5waXBlXCI7XG5pbXBvcnQgeyBMaWJzVWlQaXBlc0lucHV0c1VwbG9hZENoZWNrRmlsZUV4dGVuc2lvblBpcGUgfSBmcm9tIFwiLi4vcGlwZXMvY2hlY2stZmlsZS1leHRlbnNpb24ucGlwZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdsaWJzX3VpLWNvbXBvbmVudHMtaW5wdXRzLXVwbG9hZC1hdmF0YXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nQ29tcG9uZW50T3V0bGV0LCBBc3luY1BpcGUsIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBMaWJzVWlDb21wb25lbnRzU3Bpbm5lckNvbXBvbmVudCxcbiAgICBMaWJzVWlQaXBlc1NlY3VyaXR5VHJ1c3RQaXBlLFxuICAgIExpYnNVaVBpcGVzSW5wdXRzVXBsb2FkQ2FsY0R1cmF0aW9uVmlkZW9QaXBlLFxuICAgIExpYnNVaVBpcGVzSW5wdXRzVXBsb2FkQ2hlY2tGaWxlRXh0ZW5zaW9uUGlwZSxcbiAgICBMaWJzVWlJY29uc0dldEljb25Db21wb25lbnRQaXBlLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBMaWJzVWlDb21wb25lbnRzSW5wdXRzVXBsb2FkQXZhdGFyQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgaXRlbSA9IG1vZGVsLnJlcXVpcmVkPElGaWxlPigpO1xuICByZWFkb25seSBzaG93VmlkZW9EdXJhdGlvbiA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IGRpc2FibGUgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSBzaXplID0gaW5wdXQ8bnVtYmVyPigpO1xuICByZWFkb25seSBvdXRPcGVuUHJldmlldyA9IG91dHB1dDxJRmlsZT4oKTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KExJTktfSU1BR0VfRVJST1JfVE9LRU5fSU5KRUNUKSBwcml2YXRlIGxpbmtJbWFnZUVycm9yOiBzdHJpbmcpIHtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVySW1hZ2VFcnJvcihldmVudDogRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMubGlua0ltYWdlRXJyb3IpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgKGV2ZW50IGFzIElFdmVudCkudGFyZ2V0LnNyYyA9IHRoaXMubGlua0ltYWdlRXJyb3I7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlckltYWdlQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5vdXRPcGVuUHJldmlldy5lbWl0KHRoaXMuaXRlbSgpKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggbXItWzEycHhdIGJnLVsjZmZmZmZmXSByb3VuZGVkLVs0cHhdXCJcbiAgW2NsYXNzLm1vLWxpYi1kaXNhYmxlXT1cImRpc2FibGUoKSB8fCBpdGVtKCkuaXNVcGxvYWRpbmcgfHwgaXRlbSgpLmVycm9yXCI+XG4gIEBpZiAoaXRlbSgpIHwgTGlic1VpUGlwZXNJbnB1dHNVcGxvYWRDaGVja0ZpbGVFeHRlbnNpb25QaXBlOidpbWFnZScpIHtcbiAgICA8ZGl2IFtzdHlsZS53aWR0aC5weF09XCJzaXplKCkgfHwgMzJcIlxuICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJzaXplKCkgfHwgMzJcIlxuICAgICAgY2xhc3M9XCJyZWxhdGl2ZVwiPlxuICAgICAgQGlmIChpdGVtKCkudXJsIHx8IGl0ZW0oKS5vcmlnaW5fdXJsOyBhcyB1cmwpIHtcbiAgICAgICAgPGltZyBbc3JjXT1cInVybFwiXG4gICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cInNpemUoKSB8fCAzMlwiXG4gICAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJzaXplKCkgfHwgMzJcIlxuICAgICAgICAgIGNsYXNzPVwicm91bmRlZC1bNHB4XSBjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgYWx0XG4gICAgICAgICAgKGVycm9yKT1cImhhbmRsZXJJbWFnZUVycm9yKCRldmVudClcIlxuICAgICAgICAgIChjbGljayk9XCJoYW5kbGVySW1hZ2VDbGljaygkZXZlbnQpXCIgLz5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8bGlic191aS1jb21wb25lbnRzLXNwaW5uZXIgW3NpemVdPVwiJ21lZGl1bSdcIiAvPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG4gIEBlbHNlIGlmIChpdGVtKCkgfCBMaWJzVWlQaXBlc0lucHV0c1VwbG9hZENoZWNrRmlsZUV4dGVuc2lvblBpcGU6J3ZpZGVvJykge1xuICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZVwiXG4gICAgICBbc3R5bGUud2lkdGgucHhdPVwic2l6ZSgpIHx8IDMyXCJcbiAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwic2l6ZSgpIHx8IDMyXCI+XG4gICAgICBAaWYgKGl0ZW0oKS51cmwgfHwgaXRlbSgpLm9yaWdpbl91cmwpIHtcbiAgICAgICAgPHZpZGVvICN2aWRlb1JlZlxuICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJzaXplIHx8IDMyXCJcbiAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cInNpemUgfHwgMzJcIlxuICAgICAgICAgIGNsYXNzPVwicm91bmRlZC1bNHB4XVwiXG4gICAgICAgICAgcHJlbG9hZD1cIm1ldGFkYXRhXCJcbiAgICAgICAgICBbc3JjXT1cIihpdGVtKCkudXJsIHx8IGl0ZW0oKS5vcmlnaW5fdXJsIHx8ICcnKSB8IExpYnNVaVBpcGVzU2VjdXJpdHlUcnVzdFBpcGU6J3Jlc291cmNlVXJsJ1wiPjwvdmlkZW8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSB3LWZ1bGwgaC1mdWxsIHRvcC0wIGJnLVsjMDAxNDMzXSBvcGFjaXR5LTQwIHJvdW5kZWQtWzRweF1cIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSB3LWZ1bGwgaC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRvcC0wXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJ0ZXh0LVsjZmZmZmZmXSBsaWJzLXVpLWljb24tcGxheS1zb2xpZCBiZWZvcmU6IXRleHQtWzEwcHhdXCI+PC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGlmIChzaG93VmlkZW9EdXJhdGlvbigpKSB7XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IHRleHQtWzVweF0gYWJzb2x1dGUgYm90dG9tLTAgcmlnaHQtMCBweS1bMnB4XSBweC1bNHB4XSByb3VuZGVkLVs0cHhdIGJnLVsjMDAwMDAwXSB0ZXh0LVsjZmZmZmZmXVwiPlxuICAgICAgICAgICAge3sgdmlkZW9SZWYuZHVyYXRpb24gfCBMaWJzVWlQaXBlc0lucHV0c1VwbG9hZENhbGNEdXJhdGlvblZpZGVvUGlwZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGxpYnNfdWktY29tcG9uZW50cy1zcGlubmVyIFtzaXplXT1cIidtZWRpdW0nXCIgLz5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuICBAZWxzZSBpZiAoaXRlbSgpIHwgTGlic1VpUGlwZXNJbnB1dHNVcGxvYWRDaGVja0ZpbGVFeHRlbnNpb25QaXBlOidwZGYnKSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCIncGRmJ3xMaWJzVWlJY29uc0dldEljb25Db21wb25lbnRQaXBlfGFzeW5jXCIgLz5cbiAgfVxuICBAZWxzZSBpZiAoaXRlbSgpIHwgTGlic1VpUGlwZXNJbnB1dHNVcGxvYWRDaGVja0ZpbGVFeHRlbnNpb25QaXBlOid3b3JkJykge1xuICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiJ3dvcmQnfExpYnNVaUljb25zR2V0SWNvbkNvbXBvbmVudFBpcGV8YXN5bmNcIiAvPlxuICB9XG4gIEBlbHNlIGlmIChpdGVtKCkgfCBMaWJzVWlQaXBlc0lucHV0c1VwbG9hZENoZWNrRmlsZUV4dGVuc2lvblBpcGU6J3BwdHgnKSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCIncHB0eCd8TGlic1VpSWNvbnNHZXRJY29uQ29tcG9uZW50UGlwZXxhc3luY1wiIC8+XG4gIH1cbiAgQGVsc2UgaWYgKGl0ZW0oKSB8IExpYnNVaVBpcGVzSW5wdXRzVXBsb2FkQ2hlY2tGaWxlRXh0ZW5zaW9uUGlwZToneGxzeCcpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cIid4bHN4J3xMaWJzVWlJY29uc0dldEljb25Db21wb25lbnRQaXBlfGFzeW5jXCIgLz5cbiAgfVxuICBAZWxzZSB7XG4gICAgPGRpdiBbc3R5bGUud2lkdGgucHhdPVwic2l6ZSgpIHx8IDMyXCJcbiAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwic2l6ZSgpIHx8IDMyXCJcbiAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIj5cbiAgICAgIDxpIGNsYXNzPVwibGlicy11aS1pY29uLWZpbGUgYmVmb3JlOiF0ZXh0LVsxOXB4XVwiXG4gICAgICAgIFtjbGFzcy50ZXh0LVsjNmE3MzgzXV09XCIhaXRlbSgpLmlzVXBsb2FkaW5nICYmICFpdGVtKCkuZXJyb3JcIlxuICAgICAgICBbY2xhc3MudGV4dC1bIzA3MTYzMV1dPVwiZGlzYWJsZSgpIHx8IGl0ZW0oKS5pc1VwbG9hZGluZyB8fCBpdGVtKCkuZXJyb3JcIj48L2k+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { getLabelBySizeFile } from '@libs-ui/utils';
|
|
2
|
+
export const getDescriptionFormatAndSizeFileDefault = (type, maxImageSize, maxVideoSize, maxDocumentSize, maxAudioSize) => {
|
|
3
|
+
const image = {
|
|
4
|
+
message: 'i18n_note_upload_image_volume',
|
|
5
|
+
interpolateParams: { value: getLabelBySizeFile(maxImageSize, 0) }
|
|
6
|
+
};
|
|
7
|
+
const video = {
|
|
8
|
+
message: 'i18n_note_upload_video_volume',
|
|
9
|
+
interpolateParams: { value: getLabelBySizeFile(maxVideoSize, 0) }
|
|
10
|
+
};
|
|
11
|
+
const document = {
|
|
12
|
+
message: 'i18n_note_upload_file_volume',
|
|
13
|
+
interpolateParams: { value: getLabelBySizeFile(maxDocumentSize, 0) }
|
|
14
|
+
};
|
|
15
|
+
const audio = {
|
|
16
|
+
message: 'i18n_note_upload_audio_volume',
|
|
17
|
+
interpolateParams: { value: getLabelBySizeFile(maxAudioSize, 0) }
|
|
18
|
+
};
|
|
19
|
+
const typeSplit = type.split('_');
|
|
20
|
+
const description = [];
|
|
21
|
+
if (typeSplit.includes('image')) {
|
|
22
|
+
description.push(image);
|
|
23
|
+
}
|
|
24
|
+
if (typeSplit.includes('audio')) {
|
|
25
|
+
description.push(audio);
|
|
26
|
+
}
|
|
27
|
+
if (typeSplit.includes('video')) {
|
|
28
|
+
description.push(video);
|
|
29
|
+
}
|
|
30
|
+
if (typeSplit.includes('document')) {
|
|
31
|
+
description.push(document);
|
|
32
|
+
}
|
|
33
|
+
return description;
|
|
34
|
+
};
|
|
35
|
+
export const getFileExtension = (file) => {
|
|
36
|
+
const fileName = file.name;
|
|
37
|
+
if (!fileName) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const dots = fileName.split(".");
|
|
41
|
+
if (dots.length <= 0) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const extension = dots[dots.length - 1];
|
|
45
|
+
return extension.toLowerCase();
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmRlZmluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9pbnB1dHMvdXBsb2FkL3NyYy9kZWZpbmVzL2hlbHBlci5kZWZpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJcEQsTUFBTSxDQUFDLE1BQU0sc0NBQXNDLEdBQUcsQ0FBQyxJQUFzQixFQUFFLFlBQW9CLEVBQUUsWUFBb0IsRUFBRSxlQUF1QixFQUFFLFlBQW9CLEVBQXlDLEVBQUU7SUFDak4sTUFBTSxLQUFLLEdBQUc7UUFDWixPQUFPLEVBQUUsK0JBQStCO1FBQ3hDLGlCQUFpQixFQUFFLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsRUFBRTtLQUNsRSxDQUFDO0lBQ0YsTUFBTSxLQUFLLEdBQUc7UUFDWixPQUFPLEVBQUUsK0JBQStCO1FBQ3hDLGlCQUFpQixFQUFFLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsRUFBRTtLQUNsRSxDQUFDO0lBQ0YsTUFBTSxRQUFRLEdBQUc7UUFDZixPQUFPLEVBQUUsOEJBQThCO1FBQ3ZDLGlCQUFpQixFQUFFLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsRUFBRTtLQUNyRSxDQUFDO0lBQ0YsTUFBTSxLQUFLLEdBQUc7UUFDWixPQUFPLEVBQUUsK0JBQStCO1FBQ3hDLGlCQUFpQixFQUFFLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsRUFBRTtLQUNsRSxDQUFDO0lBRUYsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQyxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFFdkIsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDaEMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDaEMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDaEMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDbkMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxJQUFrQixFQUFFLEVBQUU7SUFDckQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztJQUUzQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxPQUFPO0lBQ1QsQ0FBQztJQUNELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFakMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3JCLE9BQU87SUFDVCxDQUFDO0lBQ0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFeEMsT0FBTyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDakMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0TGFiZWxCeVNpemVGaWxlIH0gZnJvbSAnQGxpYnMtdWkvdXRpbHMnO1xuaW1wb3J0IHsgSVVwbG9hZERlc2NyaXB0aW9uRm9ybWF0QW5kU2l6ZUZpbGUsIFRZUEVfRklMRV9VUExPQUQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3VwbG9hZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbGUgfSBmcm9tICdAbGlicy11aS9pbnRlcmZhY2VzLXR5cGVzJztcblxuZXhwb3J0IGNvbnN0IGdldERlc2NyaXB0aW9uRm9ybWF0QW5kU2l6ZUZpbGVEZWZhdWx0ID0gKHR5cGU6IFRZUEVfRklMRV9VUExPQUQsIG1heEltYWdlU2l6ZTogbnVtYmVyLCBtYXhWaWRlb1NpemU6IG51bWJlciwgbWF4RG9jdW1lbnRTaXplOiBudW1iZXIsIG1heEF1ZGlvU2l6ZTogbnVtYmVyKTogSVVwbG9hZERlc2NyaXB0aW9uRm9ybWF0QW5kU2l6ZUZpbGVbXSA9PiB7XG4gIGNvbnN0IGltYWdlID0ge1xuICAgIG1lc3NhZ2U6ICdpMThuX25vdGVfdXBsb2FkX2ltYWdlX3ZvbHVtZScsXG4gICAgaW50ZXJwb2xhdGVQYXJhbXM6IHsgdmFsdWU6IGdldExhYmVsQnlTaXplRmlsZShtYXhJbWFnZVNpemUsIDApIH1cbiAgfTtcbiAgY29uc3QgdmlkZW8gPSB7XG4gICAgbWVzc2FnZTogJ2kxOG5fbm90ZV91cGxvYWRfdmlkZW9fdm9sdW1lJyxcbiAgICBpbnRlcnBvbGF0ZVBhcmFtczogeyB2YWx1ZTogZ2V0TGFiZWxCeVNpemVGaWxlKG1heFZpZGVvU2l6ZSwgMCkgfVxuICB9O1xuICBjb25zdCBkb2N1bWVudCA9IHtcbiAgICBtZXNzYWdlOiAnaTE4bl9ub3RlX3VwbG9hZF9maWxlX3ZvbHVtZScsXG4gICAgaW50ZXJwb2xhdGVQYXJhbXM6IHsgdmFsdWU6IGdldExhYmVsQnlTaXplRmlsZShtYXhEb2N1bWVudFNpemUsIDApIH1cbiAgfTtcbiAgY29uc3QgYXVkaW8gPSB7XG4gICAgbWVzc2FnZTogJ2kxOG5fbm90ZV91cGxvYWRfYXVkaW9fdm9sdW1lJyxcbiAgICBpbnRlcnBvbGF0ZVBhcmFtczogeyB2YWx1ZTogZ2V0TGFiZWxCeVNpemVGaWxlKG1heEF1ZGlvU2l6ZSwgMCkgfVxuICB9O1xuXG4gIGNvbnN0IHR5cGVTcGxpdCA9IHR5cGUuc3BsaXQoJ18nKTtcbiAgY29uc3QgZGVzY3JpcHRpb24gPSBbXTtcblxuICBpZiAodHlwZVNwbGl0LmluY2x1ZGVzKCdpbWFnZScpKSB7XG4gICAgZGVzY3JpcHRpb24ucHVzaChpbWFnZSk7XG4gIH1cbiAgaWYgKHR5cGVTcGxpdC5pbmNsdWRlcygnYXVkaW8nKSkge1xuICAgIGRlc2NyaXB0aW9uLnB1c2goYXVkaW8pO1xuICB9XG4gIGlmICh0eXBlU3BsaXQuaW5jbHVkZXMoJ3ZpZGVvJykpIHtcbiAgICBkZXNjcmlwdGlvbi5wdXNoKHZpZGVvKTtcbiAgfVxuICBpZiAodHlwZVNwbGl0LmluY2x1ZGVzKCdkb2N1bWVudCcpKSB7XG4gICAgZGVzY3JpcHRpb24ucHVzaChkb2N1bWVudCk7XG4gIH1cblxuICByZXR1cm4gZGVzY3JpcHRpb247XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RmlsZUV4dGVuc2lvbiA9IChmaWxlOiBJRmlsZSB8IEZpbGUpID0+IHtcbiAgY29uc3QgZmlsZU5hbWUgPSBmaWxlLm5hbWU7XG5cbiAgaWYgKCFmaWxlTmFtZSkge1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBkb3RzID0gZmlsZU5hbWUuc3BsaXQoXCIuXCIpO1xuXG4gIGlmIChkb3RzLmxlbmd0aCA8PSAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGV4dGVuc2lvbiA9IGRvdHNbZG90cy5sZW5ndGggLSAxXTtcblxuICByZXR1cm4gZXh0ZW5zaW9uLnRvTG93ZXJDYXNlKCk7XG59OyJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export const DocumentExtList = ['doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'pdf', 'json', 'xml'];
|
|
2
|
+
export const ImageExtList = ['gif', 'jpg', 'jpeg', 'png'];
|
|
3
|
+
export const VideoExtList = ['mp4', 'mov', 'mpg', 'avi', 'wmv'];
|
|
4
|
+
export const AudioExtList = ['mp3', 'wav', 'ogg', 'aac', 'm4a', 'flac', 'wma'];
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmRlZmluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9pbnB1dHMvdXBsb2FkL3NyYy9kZWZpbmVzL3VwbG9hZC5kZWZpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNuRyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUMxRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDaEUsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRG9jdW1lbnRFeHRMaXN0ID0gWydkb2MnLCAnZG9jeCcsICd4bHMnLCAneGxzeCcsICdwcHQnLCAncHB0eCcsICdwZGYnLCAnanNvbicsICd4bWwnXTtcbmV4cG9ydCBjb25zdCBJbWFnZUV4dExpc3QgPSBbJ2dpZicsICdqcGcnLCAnanBlZycsICdwbmcnXTtcbmV4cG9ydCBjb25zdCBWaWRlb0V4dExpc3QgPSBbJ21wNCcsICdtb3YnLCAnbXBnJywgJ2F2aScsICd3bXYnXTtcbmV4cG9ydCBjb25zdCBBdWRpb0V4dExpc3QgPSBbJ21wMycsICd3YXYnLCAnb2dnJywgJ2FhYycsICdtNGEnLCAnZmxhYycsICd3bWEnXTsiXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './upload.component';
|
|
2
|
+
export * from './defines/upload.define';
|
|
3
|
+
export * from './interfaces/upload.interface';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvaW5wdXRzL3VwbG9hZC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3VwbG9hZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWZpbmVzL3VwbG9hZC5kZWZpbmUnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL3VwbG9hZC5pbnRlcmZhY2UnO1xuXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9pbnB1dHMvdXBsb2FkL3NyYy9pbnRlcmZhY2VzL3VwbG9hZC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRZUEVfT0JKRUNULCBJSHR0cFByb2Nlc3NVcGxvYWQsIElGaWxlIH0gZnJvbSAnQGxpYnMtdWkvaW50ZXJmYWNlcy10eXBlcyc7XG5cbmV4cG9ydCB0eXBlIFRZUEVfTU9ERV9GSUxFX0RJU1BMQVkgPSAnZnVsbCcgfCAnc2hvcnQnO1xuZXhwb3J0IHR5cGUgVFlQRV9GSUxFX1VQTE9BRCA9ICdkb2N1bWVudCcgfCAnaW1hZ2UnIHwgJ3ZpZGVvJyB8ICdhdWRpbycgfCAnaW1hZ2VfZG9jdW1lbnQnIHwgJ2ltYWdlX3ZpZGVvJyB8ICdpbWFnZV9hdWRpbycgfCAnZG9jdW1lbnRfYXVkaW8nIHwgJ3ZpZGVvX2F1ZGlvJyB8ICdpbWFnZV9kb2N1bWVudF9hdWRpbycgfCAnaW1hZ2VfdmlkZW9fYXVkaW8nIHwgJ2RvY3VtZW50X3ZpZGVvX2F1ZGlvJyB8ICdpbWFnZV92aWRlb19kb2N1bWVudCcgfCAnaW1hZ2VfYXVkaW9fdmlkZW9fZG9jdW1lbnQnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFzcGVjdFJhdGlvIHtcbiAga2V5OiBzdHJpbmc7XG4gIHZhbHVlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVVwbG9hZERlc2NyaXB0aW9uRm9ybWF0QW5kU2l6ZUZpbGUge1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIGludGVycG9sYXRlUGFyYW1zPzogVFlQRV9PQkpFQ1Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZpbGVDaGFuZ2Uge1xuICBmaWxlczogQXJyYXk8SUZpbGU+O1xufVxuZXhwb3J0IGludGVyZmFjZSBJVXBsb2FkQ29uZmlnRG93bmxvYWRTYW1wbGVGaWxlIHtcbiAgcG9zaXRpb24/OiAndG9wJyB8ICdib3R0b20nO1xuICB0aXRsZTogc3RyaW5nO1xuICB1cmw/OiBzdHJpbmc7XG4gIGNsYXNzTGFiZWw/OiBzdHJpbmcsXG4gIGNsYXNzSW5jbHVkZT86IHN0cmluZztcbiAgY2xhc3NJY29uTGVmdEluY2x1ZGU/OiBzdHJpbmc7XG4gIGNhbGxCYWNrPzogKCkgPT4gdm9pZDtcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIElVcGxvYWRGdW5jdGlvbkNvbnRyb2xFdmVudCB7XG4gIHZhbGlkOiAoKSA9PiBQcm9taXNlPGJvb2xlYW4+O1xuICByZW1vdmVBbGw6ICgpID0+IFByb21pc2U8dm9pZD47XG4gIHVwbG9hZGluZzogKHByb2Nlc3M6IElIdHRwUHJvY2Vzc1VwbG9hZCwgaWQ6IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPjtcbiAgc2V0TWVzc2FnZUVycm9yOiAobWVzc2FnZTogc3RyaW5nLCBpZD86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPjtcbiAgaGFuZGxlclVwbG9hZEZpbGU6ICgpID0+IFByb21pc2U8dm9pZD5cbn0iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicy11aS1jb21wb25lbnRzLWlucHV0cy11cGxvYWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvaW5wdXRzL3VwbG9hZC9zcmMvbGlicy11aS1jb21wb25lbnRzLWlucHV0cy11cGxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class LibsUiPipesInputsUploadCalcDurationVideoPipe {
|
|
4
|
+
transform(duration) {
|
|
5
|
+
if (!duration) {
|
|
6
|
+
return '0:0';
|
|
7
|
+
}
|
|
8
|
+
duration = Math.round(duration);
|
|
9
|
+
if (duration >= 3600) {
|
|
10
|
+
const hour = Math.floor(duration / 3600);
|
|
11
|
+
const minute = Math.floor((duration - (hour * 3600)) / 60);
|
|
12
|
+
const second = duration - (hour * 3600 + minute * 60);
|
|
13
|
+
return `${hour}:${minute < 10 ? `0${minute}` : minute}:${second < 10 ? `0${second}` : second}`;
|
|
14
|
+
}
|
|
15
|
+
if (duration >= 60) {
|
|
16
|
+
const minute = Math.floor(duration / 60);
|
|
17
|
+
const second = duration - (minute * 60);
|
|
18
|
+
return `${minute}:${second < 10 ? `0${second}` : second}`;
|
|
19
|
+
}
|
|
20
|
+
return `0:${duration}`;
|
|
21
|
+
}
|
|
22
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiPipesInputsUploadCalcDurationVideoPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
23
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: LibsUiPipesInputsUploadCalcDurationVideoPipe, isStandalone: true, name: "LibsUiPipesInputsUploadCalcDurationVideoPipe" });
|
|
24
|
+
}
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiPipesInputsUploadCalcDurationVideoPipe, decorators: [{
|
|
26
|
+
type: Pipe,
|
|
27
|
+
args: [{
|
|
28
|
+
name: 'LibsUiPipesInputsUploadCalcDurationVideoPipe',
|
|
29
|
+
standalone: true
|
|
30
|
+
}]
|
|
31
|
+
}] });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsYy1kdXJhdGlvbi12aWRlby5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2lucHV0cy91cGxvYWQvc3JjL3BpcGVzL2NhbGMtZHVyYXRpb24tdmlkZW8ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFNcEQsTUFBTSxPQUFPLDRDQUE0QztJQUV2RCxTQUFTLENBQUMsUUFBZ0I7UUFDeEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEMsSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFLENBQUM7WUFDckIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDekMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQzNELE1BQU0sTUFBTSxHQUFHLFFBQVEsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBRXRELE9BQU8sR0FBRyxJQUFJLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pHLENBQUM7UUFDRCxJQUFJLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNuQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUN6QyxNQUFNLE1BQU0sR0FBRyxRQUFRLEdBQUcsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFFeEMsT0FBTyxHQUFHLE1BQU0sSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM1RCxDQUFDO1FBRUQsT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7d0dBdEJVLDRDQUE0QztzR0FBNUMsNENBQTRDOzs0RkFBNUMsNENBQTRDO2tCQUp4RCxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSw4Q0FBOEM7b0JBQ3BELFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnTGlic1VpUGlwZXNJbnB1dHNVcGxvYWRDYWxjRHVyYXRpb25WaWRlb1BpcGUnLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIExpYnNVaVBpcGVzSW5wdXRzVXBsb2FkQ2FsY0R1cmF0aW9uVmlkZW9QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGR1cmF0aW9uOiBudW1iZXIpIHtcbiAgICBpZiAoIWR1cmF0aW9uKSB7XG4gICAgICByZXR1cm4gJzA6MCc7XG4gICAgfVxuICAgIGR1cmF0aW9uID0gTWF0aC5yb3VuZChkdXJhdGlvbik7XG4gICAgaWYgKGR1cmF0aW9uID49IDM2MDApIHtcbiAgICAgIGNvbnN0IGhvdXIgPSBNYXRoLmZsb29yKGR1cmF0aW9uIC8gMzYwMCk7XG4gICAgICBjb25zdCBtaW51dGUgPSBNYXRoLmZsb29yKChkdXJhdGlvbiAtIChob3VyICogMzYwMCkpIC8gNjApO1xuICAgICAgY29uc3Qgc2Vjb25kID0gZHVyYXRpb24gLSAoaG91ciAqIDM2MDAgKyBtaW51dGUgKiA2MCk7XG5cbiAgICAgIHJldHVybiBgJHtob3VyfToke21pbnV0ZSA8IDEwID8gYDAke21pbnV0ZX1gIDogbWludXRlfToke3NlY29uZCA8IDEwID8gYDAke3NlY29uZH1gIDogc2Vjb25kfWA7XG4gICAgfVxuICAgIGlmIChkdXJhdGlvbiA+PSA2MCkge1xuICAgICAgY29uc3QgbWludXRlID0gTWF0aC5mbG9vcihkdXJhdGlvbiAvIDYwKTtcbiAgICAgIGNvbnN0IHNlY29uZCA9IGR1cmF0aW9uIC0gKG1pbnV0ZSAqIDYwKTtcblxuICAgICAgcmV0dXJuIGAke21pbnV0ZX06JHtzZWNvbmQgPCAxMCA/IGAwJHtzZWNvbmR9YCA6IHNlY29uZH1gO1xuICAgIH1cblxuICAgIHJldHVybiBgMDoke2R1cmF0aW9ufWA7XG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { getFileExtension } from '../defines/helper.define';
|
|
3
|
+
import { DocumentExtList, ImageExtList, VideoExtList } from '../defines/upload.define';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class LibsUiPipesInputsUploadCheckFileExtensionPipe {
|
|
6
|
+
transform(file, type) {
|
|
7
|
+
const fileExtension = getFileExtension(file);
|
|
8
|
+
if (!fileExtension) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
switch (type) {
|
|
12
|
+
case 'image':
|
|
13
|
+
return ImageExtList.includes(fileExtension);
|
|
14
|
+
case 'video':
|
|
15
|
+
return VideoExtList.includes(fileExtension);
|
|
16
|
+
case 'word':
|
|
17
|
+
return ['doc', 'docx'].includes(fileExtension);
|
|
18
|
+
case 'xlsx':
|
|
19
|
+
return ['xls', 'xlsx'].includes(fileExtension);
|
|
20
|
+
case 'pdf':
|
|
21
|
+
return ['pdf'].includes(fileExtension);
|
|
22
|
+
case 'pptx':
|
|
23
|
+
return ['ppt', 'pptx'].includes(fileExtension);
|
|
24
|
+
case 'other':
|
|
25
|
+
return ![...ImageExtList, ...VideoExtList, ...DocumentExtList].includes(fileExtension);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiPipesInputsUploadCheckFileExtensionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
29
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: LibsUiPipesInputsUploadCheckFileExtensionPipe, isStandalone: true, name: "LibsUiPipesInputsUploadCheckFileExtensionPipe" });
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiPipesInputsUploadCheckFileExtensionPipe, decorators: [{
|
|
32
|
+
type: Pipe,
|
|
33
|
+
args: [{
|
|
34
|
+
name: 'LibsUiPipesInputsUploadCheckFileExtensionPipe',
|
|
35
|
+
standalone: true
|
|
36
|
+
}]
|
|
37
|
+
}] });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stZmlsZS1leHRlbnNpb24ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9pbnB1dHMvdXBsb2FkL3NyYy9waXBlcy9jaGVjay1maWxlLWV4dGVuc2lvbi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQU92RixNQUFNLE9BQU8sNkNBQTZDO0lBRXhELFNBQVMsQ0FBQyxJQUFXLEVBQUUsSUFBb0U7UUFDekYsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFN0MsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ25CLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLE9BQU87Z0JBRVYsT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBRTlDLEtBQUssT0FBTztnQkFFVixPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7WUFFOUMsS0FBSyxNQUFNO2dCQUVULE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBRWpELEtBQUssTUFBTTtnQkFFVCxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUVqRCxLQUFLLEtBQUs7Z0JBRVIsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUV6QyxLQUFLLE1BQU07Z0JBQ1QsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7WUFFakQsS0FBSyxPQUFPO2dCQUNWLE9BQU8sQ0FBQyxDQUFDLEdBQUcsWUFBWSxFQUFFLEdBQUcsWUFBWSxFQUFFLEdBQUcsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzNGLENBQUM7SUFDSCxDQUFDO3dHQW5DVSw2Q0FBNkM7c0dBQTdDLDZDQUE2Qzs7NEZBQTdDLDZDQUE2QztrQkFKekQsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsK0NBQStDO29CQUNyRCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXRGaWxlRXh0ZW5zaW9uIH0gZnJvbSAnLi4vZGVmaW5lcy9oZWxwZXIuZGVmaW5lJztcbmltcG9ydCB7IERvY3VtZW50RXh0TGlzdCwgSW1hZ2VFeHRMaXN0LCBWaWRlb0V4dExpc3QgfSBmcm9tICcuLi9kZWZpbmVzL3VwbG9hZC5kZWZpbmUnO1xuaW1wb3J0IHsgSUZpbGUgfSBmcm9tICdAbGlicy11aS9pbnRlcmZhY2VzLXR5cGVzJztcblxuQFBpcGUoe1xuICBuYW1lOiAnTGlic1VpUGlwZXNJbnB1dHNVcGxvYWRDaGVja0ZpbGVFeHRlbnNpb25QaXBlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBMaWJzVWlQaXBlc0lucHV0c1VwbG9hZENoZWNrRmlsZUV4dGVuc2lvblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm0oZmlsZTogSUZpbGUsIHR5cGU6ICdpbWFnZScgfCAndmlkZW8nIHwgJ3dvcmQnIHwgJ3hsc3gnIHwgJ3BkZicgfCAncHB0eCcgfCAnb3RoZXInKSB7XG4gICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IGdldEZpbGVFeHRlbnNpb24oZmlsZSk7XG5cbiAgICBpZiAoIWZpbGVFeHRlbnNpb24pIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdpbWFnZSc6XG5cbiAgICAgICAgcmV0dXJuIEltYWdlRXh0TGlzdC5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKTtcblxuICAgICAgY2FzZSAndmlkZW8nOlxuXG4gICAgICAgIHJldHVybiBWaWRlb0V4dExpc3QuaW5jbHVkZXMoZmlsZUV4dGVuc2lvbik7XG5cbiAgICAgIGNhc2UgJ3dvcmQnOlxuXG4gICAgICAgIHJldHVybiBbJ2RvYycsICdkb2N4J10uaW5jbHVkZXMoZmlsZUV4dGVuc2lvbik7XG5cbiAgICAgIGNhc2UgJ3hsc3gnOlxuXG4gICAgICAgIHJldHVybiBbJ3hscycsICd4bHN4J10uaW5jbHVkZXMoZmlsZUV4dGVuc2lvbik7XG5cbiAgICAgIGNhc2UgJ3BkZic6XG5cbiAgICAgICAgcmV0dXJuIFsncGRmJ10uaW5jbHVkZXMoZmlsZUV4dGVuc2lvbik7XG5cbiAgICAgIGNhc2UgJ3BwdHgnOlxuICAgICAgICByZXR1cm4gWydwcHQnLCAncHB0eCddLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pO1xuXG4gICAgICBjYXNlICdvdGhlcic6XG4gICAgICAgIHJldHVybiAhWy4uLkltYWdlRXh0TGlzdCwgLi4uVmlkZW9FeHRMaXN0LCAuLi5Eb2N1bWVudEV4dExpc3RdLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
|