hslayers-ng
Version:
HSLayers-NG mapping library
103 lines (97 loc) • 7.32 kB
JavaScript
import * as i0 from '@angular/core';
import { EventEmitter, HostListener, Output, Directive, ViewChild, Input, Component, NgModule } from '@angular/core';
import * as i1 from '@angular/common';
import { CommonModule } from '@angular/common';
import * as i3 from '@ngx-translate/core';
import { TranslatePipe } from '@ngx-translate/core';
import { FormsModule } from '@angular/forms';
class HsFileDropDirective {
constructor() {
this.filesDropped = new EventEmitter();
this.filesHovered = new EventEmitter();
}
onDrop($event) {
$event.preventDefault();
const transfer = $event.dataTransfer;
this.filesDropped.emit(transfer.files);
this.filesHovered.emit(false);
}
onDragOver($event) {
$event.preventDefault();
this.filesHovered.emit(true);
}
onDragLeave($event) {
this.filesHovered.emit(false);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: HsFileDropDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.3", type: HsFileDropDirective, isStandalone: false, selector: "[hsFileDrop]", outputs: { filesDropped: "filesDropped", filesHovered: "filesHovered" }, host: { listeners: { "drop": "onDrop($event)", "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)" } }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: HsFileDropDirective, decorators: [{
type: Directive,
args: [{
selector: '[hsFileDrop]',
standalone: false,
}]
}], ctorParameters: () => [], propDecorators: { filesDropped: [{
type: Output
}], filesHovered: [{
type: Output
}], onDrop: [{
type: HostListener,
args: ['drop', ['$event']]
}], onDragOver: [{
type: HostListener,
args: ['dragover', ['$event']]
}], onDragLeave: [{
type: HostListener,
args: ['dragleave', ['$event']]
}] } });
class HsUploadComponent {
emitHandleUpload(fileList, dropped) {
this.uploaded.emit({ fileList, uploader: this.uploader, dropped });
}
dropZoneState($event) {
this.dropzoneActive = $event;
}
getFileInput() {
return this.fileInput;
}
constructor() {
this.uploaded = new EventEmitter();
this.dropzoneActive = false;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: HsUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.3", type: HsUploadComponent, isStandalone: false, selector: "hs-file-upload", inputs: { acceptedFormats: "acceptedFormats", uploader: "uploader" }, outputs: { uploaded: "uploaded" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div class=\"d-flex justify-content-center align-items-center w-100 dropzone-container\">\n <div class=\"dropzone p-4\" hsFileDrop (filesDropped)=\"emitHandleUpload($event, true)\"\n (filesHovered)=\"dropZoneState($event)\" [ngClass]=\"{'active': dropzoneActive}\">\n <p class=\"dropzone-label mt-2 text-primary\">{{'ADDLAYERS.Vector.dragAndDropFiles' | translate }}</p>\n </div>\n <p class=\"px-5\">{{'COMMON.or' | translate }}</p>\n <label class=\"dropzone-label\">\n <input #fileInput type=\"file\" style=\"position:fixed\" [accept]=\"acceptedFormats\" [id]=\"uploader\"\n class=\"inputfile\" (change)=\"emitHandleUpload($event.target.files, false)\" multiple>\n <label [for]=\"uploader\" class=\"p-2 rounded d-flex align-items-center\"> <i class=\"fa-solid fa-cloud-arrow-up pe-2\"></i>\n {{'ADDLAYERS.Vector.chooseFiles' | translate }}</label>\n </label>\n\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: HsFileDropDirective, selector: "[hsFileDrop]", outputs: ["filesDropped", "filesHovered"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: HsUploadComponent, decorators: [{
type: Component,
args: [{ selector: 'hs-file-upload', standalone: false, template: "<div class=\"d-flex justify-content-center align-items-center w-100 dropzone-container\">\n <div class=\"dropzone p-4\" hsFileDrop (filesDropped)=\"emitHandleUpload($event, true)\"\n (filesHovered)=\"dropZoneState($event)\" [ngClass]=\"{'active': dropzoneActive}\">\n <p class=\"dropzone-label mt-2 text-primary\">{{'ADDLAYERS.Vector.dragAndDropFiles' | translate }}</p>\n </div>\n <p class=\"px-5\">{{'COMMON.or' | translate }}</p>\n <label class=\"dropzone-label\">\n <input #fileInput type=\"file\" style=\"position:fixed\" [accept]=\"acceptedFormats\" [id]=\"uploader\"\n class=\"inputfile\" (change)=\"emitHandleUpload($event.target.files, false)\" multiple>\n <label [for]=\"uploader\" class=\"p-2 rounded d-flex align-items-center\"> <i class=\"fa-solid fa-cloud-arrow-up pe-2\"></i>\n {{'ADDLAYERS.Vector.chooseFiles' | translate }}</label>\n </label>\n\n</div>\n" }]
}], ctorParameters: () => [], propDecorators: { uploaded: [{
type: Output
}], acceptedFormats: [{
type: Input
}], uploader: [{
type: Input
}], fileInput: [{
type: ViewChild,
args: ['fileInput']
}] } });
class HsUploadModule {
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: HsUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.3", ngImport: i0, type: HsUploadModule, declarations: [HsUploadComponent, HsFileDropDirective], imports: [CommonModule, TranslatePipe, FormsModule], exports: [HsUploadComponent, HsFileDropDirective] }); }
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: HsUploadModule, imports: [CommonModule, FormsModule] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: HsUploadModule, decorators: [{
type: NgModule,
args: [{
declarations: [HsUploadComponent, HsFileDropDirective],
imports: [CommonModule, TranslatePipe, FormsModule],
providers: [],
exports: [HsUploadComponent, HsFileDropDirective],
}]
}] });
/**
* Generated bundle index. Do not edit.
*/
export { HsFileDropDirective, HsUploadComponent, HsUploadModule };
//# sourceMappingURL=hslayers-ng-common-upload.mjs.map