@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
65 lines (64 loc) • 3.05 kB
TypeScript
import { AfterViewInit, OnDestroy, OnInit } from "@angular/core";
import { DataFieldPortalData } from "../../models/data-field-portal-data-injection-token";
import { FileListField } from "../models/file-list-field";
import { TaskResourceService } from "../../../resources/engine-endpoint/task-resource.service";
import { LoggerService } from "../../../logger/services/logger.service";
import { SnackBarService } from "../../../snack-bar/services/snack-bar.service";
import { TranslateService } from "@ngx-translate/core";
import { EventService } from "../../../event/services/event.service";
import { AbstractFileFieldDefaultComponent } from '../../models/abstract-file-field-default-component';
import * as i0 from "@angular/core";
export interface FilesState {
progress: number;
uploading: boolean;
downloading: boolean;
completed: boolean;
error: boolean;
}
export declare abstract class AbstractFileListDefaultFieldComponent extends AbstractFileFieldDefaultComponent<FileListField> implements OnInit, AfterViewInit, OnDestroy {
protected _taskResourceService: TaskResourceService;
protected _log: LoggerService;
protected _snackbar: SnackBarService;
protected _translate: TranslateService;
protected _eventService: EventService;
uploadedFiles: Array<string>;
state: FilesState;
private valueChange$;
/**
* Values from file list field validation (eg. maxFiles 5)
* maxFilesNumber - maximum uploadable files
* maxFilesMessage - error message if number of files is exceeded
*/
protected maxFilesNumber: number;
protected maxFilesMessage: string;
protected constructor(_taskResourceService: TaskResourceService, _log: LoggerService, _snackbar: SnackBarService, _translate: TranslateService, _eventService: EventService, dataFieldPortalData: DataFieldPortalData<FileListField>);
ngOnInit(): void;
/**
* Set file picker and image elements to [FileFieldService]{@link FileFieldService}.
*
* Initialize file image.
*/
ngAfterViewInit(): void;
ngOnDestroy(): void;
chooseFile(): void;
/**
* Call after click on file field.
*
* If file field has no file uploaded
* [FilesUploadComponent]{@link AbstractFilesUploadComponent} via [SideMenu]{@link SideMenuService} opens.
*
* Otherwise opens a file picker from which the user can select files.
*/
upload(): void;
download(fileName: string): void;
protected downloadViaAnchor(blob: Blob, fileName: string): void;
deleteFile(fileName: string): void;
protected get defaultState(): FilesState;
/**
* Construct display name.
*/
constructDisplayName(): string;
protected parseResponse(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<AbstractFileListDefaultFieldComponent, [null, null, null, null, null, { optional: true; }]>;
static ɵcmp: i0.ɵɵComponentDeclaration<AbstractFileListDefaultFieldComponent, "ncc-abstract-file-list-default-field", never, {}, {}, never, never, false, never>;
}