ontimize-web-ngx
Version:
Ontimize Web framework using Angular 15
49 lines • 5.1 kB
JavaScript
import { Directive, EventEmitter, HostBinding, HostListener, Output } from '@angular/core';
import * as i0 from "@angular/core";
export class OFileDragAndDropDirective {
constructor() {
this.onFileDropped = new EventEmitter();
}
onDragOver(evt) {
evt.preventDefault();
evt.stopPropagation();
this.fileDragging = true;
}
onDragLeave(evt) {
evt.preventDefault();
evt.stopPropagation();
this.fileDragging = false;
}
onDrop(evt) {
evt.preventDefault();
evt.stopPropagation();
this.fileDragging = false;
const files = evt.dataTransfer.files;
if (files.length > 0) {
this.onFileDropped.emit(files);
}
}
}
OFileDragAndDropDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OFileDragAndDropDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
OFileDragAndDropDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: OFileDragAndDropDirective, selector: "[oFileDragAndDrop]", outputs: { onFileDropped: "onFileDropped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "onDrop($event)" }, properties: { "class.o-file-dragging": "this.fileDragging" } }, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OFileDragAndDropDirective, decorators: [{
type: Directive,
args: [{
selector: '[oFileDragAndDrop]'
}]
}], propDecorators: { onFileDropped: [{
type: Output
}], fileDragging: [{
type: HostBinding,
args: ['class.o-file-dragging']
}], onDragOver: [{
type: HostListener,
args: ['dragover', ['$event']]
}], onDragLeave: [{
type: HostListener,
args: ['dragleave', ['$event']]
}], onDrop: [{
type: HostListener,
args: ['drop', ['$event']]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1maWxlLWRyYWctYW5kLWRyb3AuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2RpcmVjdGl2ZXMvby1maWxlLWRyYWctYW5kLWRyb3AuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszRixNQUFNLE9BQU8seUJBQXlCO0lBSHRDO1FBS29CLGtCQUFhLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7S0F3QjVFO0lBckI4QyxVQUFVLENBQUMsR0FBRztRQUN6RCxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDckIsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFNkMsV0FBVyxDQUFDLEdBQUc7UUFDM0QsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3JCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRXdDLE1BQU0sQ0FBQyxHQUFHO1FBQ2pELEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNyQixHQUFHLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDckMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNoQztJQUNILENBQUM7O3VIQXpCVSx5QkFBeUI7MkdBQXpCLHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQUhyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7aUJBQy9COzhCQUdtQixhQUFhO3NCQUE5QixNQUFNO2dCQUMrQixZQUFZO3NCQUFqRCxXQUFXO3VCQUFDLHVCQUF1QjtnQkFFUyxVQUFVO3NCQUF0RCxZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNVSxXQUFXO3NCQUF4RCxZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNSSxNQUFNO3NCQUE5QyxZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW29GaWxlRHJhZ0FuZERyb3BdJ1xufSlcbmV4cG9ydCBjbGFzcyBPRmlsZURyYWdBbmREcm9wRGlyZWN0aXZlIHtcblxuICBAT3V0cHV0KCkgcHJpdmF0ZSBvbkZpbGVEcm9wcGVkOiBFdmVudEVtaXR0ZXI8RmlsZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5vLWZpbGUtZHJhZ2dpbmcnKSBmaWxlRHJhZ2dpbmc6IGJvb2xlYW47XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ292ZXInLCBbJyRldmVudCddKSBwdWJsaWMgb25EcmFnT3ZlcihldnQpIHtcbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5maWxlRHJhZ2dpbmcgPSB0cnVlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJywgWyckZXZlbnQnXSkgcHVibGljIG9uRHJhZ0xlYXZlKGV2dCkge1xuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmZpbGVEcmFnZ2luZyA9IGZhbHNlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJvcCcsIFsnJGV2ZW50J10pIHB1YmxpYyBvbkRyb3AoZXZ0KSB7XG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuZmlsZURyYWdnaW5nID0gZmFsc2U7XG4gICAgY29uc3QgZmlsZXMgPSBldnQuZGF0YVRyYW5zZmVyLmZpbGVzO1xuICAgIGlmIChmaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLm9uRmlsZURyb3BwZWQuZW1pdChmaWxlcyk7XG4gICAgfVxuICB9XG59XG4iXX0=