UNPKG

@microsoft/windows-admin-center-sdk

Version:

Microsoft - Windows Admin Center Shell

87 lines 9.36 kB
import { Component, EventEmitter, HostBinding, HostListener, Injector, Output } from '@angular/core'; import { BaseComponent } from '../common/base.component'; import * as i0 from "@angular/core"; const _c0 = ["*"]; export class DropZoneComponent extends BaseComponent { /** * Constructs a new instance of @see DropZoneComponent * @param injector the angular injection service for the base classes @SmeInjectableBase Annotation. */ constructor(injector) { super(injector); this.smeDrop = new EventEmitter(); } /** * The source name to use for logging */ get logSourceName() { return 'DropZoneComponent'; } /** * Gets the initial host classes to be applied to this element * When called in the @see BaseComponent super class initialization, These classes will be automatically assigned to the host element. */ getInitialHostClasses() { return super.getInitialHostClasses().concat([ 'sme-drop-zone' ]); } /** * Bring all browsers into a common behavior by always handling all drop target events */ onDragEnter(event) { this.handleEvent(); this.isDraggedOver = true; } onDragOver(event) { this.handleEvent(); this.isDraggedOver = true; } onDragLeave(event) { this.handleEvent(); this.isDraggedOver = false; } onDrop(event) { this.handleEvent(); this.isDraggedOver = false; this.smeDrop.emit(event.dataTransfer); } handleEvent() { event.preventDefault(); event.stopPropagation(); } } /** @nocollapse */ DropZoneComponent.ɵfac = function DropZoneComponent_Factory(t) { return new (t || DropZoneComponent)(i0.ɵɵdirectiveInject(i0.Injector)); }; /** @nocollapse */ DropZoneComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DropZoneComponent, selectors: [["sme-drop-zone"]], hostVars: 2, hostBindings: function DropZoneComponent_HostBindings(rf, ctx) { if (rf & 1) { i0.ɵɵlistener("dragenter", function DropZoneComponent_dragenter_HostBindingHandler($event) { return ctx.onDragEnter($event); })("dragover", function DropZoneComponent_dragover_HostBindingHandler($event) { return ctx.onDragOver($event); })("dragleave", function DropZoneComponent_dragleave_HostBindingHandler($event) { return ctx.onDragLeave($event); })("drop", function DropZoneComponent_drop_HostBindingHandler($event) { return ctx.onDrop($event); }); } if (rf & 2) { i0.ɵɵclassProp("sme-dragged-over", ctx.isDraggedOver); } }, outputs: { smeDrop: "smeDrop" }, features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function DropZoneComponent_Template(rf, ctx) { if (rf & 1) { i0.ɵɵprojectionDef(); i0.ɵɵprojection(0); } }, encapsulation: 2 }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DropZoneComponent, [{ type: Component, args: [{ selector: 'sme-drop-zone', template: '<ng-content></ng-content>' }] }], function () { return [{ type: i0.Injector }]; }, { isDraggedOver: [{ type: HostBinding, args: ['class.sme-dragged-over'] }], smeDrop: [{ type: Output }], onDragEnter: [{ type: HostListener, args: ['dragenter', ['$event']] }], onDragOver: [{ type: HostListener, args: ['dragover', ['$event']] }], onDragLeave: [{ type: HostListener, args: ['dragleave', ['$event']] }], onDrop: [{ type: HostListener, args: ['drop', ['$event']] }] }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC16b25lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2NvbnRyb2xzL2Ryb3Atem9uZS9kcm9wLXpvbmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQU16RCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsYUFBc0I7SUFlekQ7OztPQUdHO0lBQ0gsWUFBWSxRQUFrQjtRQUMxQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFQYixZQUFPLEdBQStCLElBQUksWUFBWSxFQUFnQixDQUFDO0lBUTlFLENBQUM7SUFoQkQ7O09BRUc7SUFDSCxJQUFjLGFBQWE7UUFDdkIsT0FBTyxtQkFBbUIsQ0FBQztJQUMvQixDQUFDO0lBYUQ7OztPQUdHO0lBQ08scUJBQXFCO1FBQzNCLE9BQU8sS0FBSyxDQUFDLHFCQUFxQixFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ3hDLGVBQWU7U0FDbEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBR0ksV0FBVyxDQUFDLEtBQWdCO1FBQy9CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM5QixDQUFDO0lBR00sVUFBVSxDQUFDLEtBQWdCO1FBQzlCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM5QixDQUFDO0lBR00sV0FBVyxDQUFDLEtBQWdCO1FBQy9CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBR00sTUFBTSxDQUFDLEtBQWdCO1FBQzFCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVPLFdBQVc7UUFDZixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVCLENBQUM7O3FHQWpFUSxpQkFBaUI7bUdBQWpCLGlCQUFpQjs0R0FBakIsdUJBQW1CLHlGQUFuQixzQkFBa0IsMkZBQWxCLHVCQUFtQixpRkFBbkIsa0JBQWM7Ozs7O1FBRlosa0JBQXlCOzt1RkFFM0IsaUJBQWlCO2NBSjdCLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsUUFBUSxFQUFFLDJCQUEyQjthQUN4QzsyREFJVSxhQUFhO2tCQURuQixXQUFXO21CQUFDLHdCQUF3QjtZQVc5QixPQUFPO2tCQURiLE1BQU07WUEwQkEsV0FBVztrQkFEakIsWUFBWTttQkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFPOUIsVUFBVTtrQkFEaEIsWUFBWTttQkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFPN0IsV0FBVztrQkFEakIsWUFBWTttQkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFPOUIsTUFBTTtrQkFEWixZQUFZO21CQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbmplY3RvciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN0cmluZ3MgfSBmcm9tICcuLi8uLi9nZW5lcmF0ZWQvc3RyaW5ncyc7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9jb21tb24vYmFzZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NtZS1kcm9wLXpvbmUnLFxyXG4gICAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJvcFpvbmVDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50PFN0cmluZ3M+IHtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNtZS1kcmFnZ2VkLW92ZXInKVxyXG4gICAgcHVibGljIGlzRHJhZ2dlZE92ZXI6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc291cmNlIG5hbWUgdG8gdXNlIGZvciBsb2dnaW5nXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXQgbG9nU291cmNlTmFtZSgpIHtcclxuICAgICAgICByZXR1cm4gJ0Ryb3Bab25lQ29tcG9uZW50JztcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBzbWVEcm9wOiBFdmVudEVtaXR0ZXI8RGF0YVRyYW5zZmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YVRyYW5zZmVyPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29uc3RydWN0cyBhIG5ldyBpbnN0YW5jZSBvZiBAc2VlIERyb3Bab25lQ29tcG9uZW50XHJcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgdGhlIGFuZ3VsYXIgaW5qZWN0aW9uIHNlcnZpY2UgZm9yIHRoZSBiYXNlIGNsYXNzZXMgQFNtZUluamVjdGFibGVCYXNlIEFubm90YXRpb24uXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIGluaXRpYWwgaG9zdCBjbGFzc2VzIHRvIGJlIGFwcGxpZWQgdG8gdGhpcyBlbGVtZW50XHJcbiAgICAgKiBXaGVuIGNhbGxlZCBpbiB0aGUgQHNlZSBCYXNlQ29tcG9uZW50IHN1cGVyIGNsYXNzIGluaXRpYWxpemF0aW9uLCBUaGVzZSBjbGFzc2VzIHdpbGwgYmUgYXV0b21hdGljYWxseSBhc3NpZ25lZCB0byB0aGUgaG9zdCBlbGVtZW50LlxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCk6IHN0cmluZ1tdIHtcclxuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCkuY29uY2F0KFtcclxuICAgICAgICAgICAgJ3NtZS1kcm9wLXpvbmUnXHJcbiAgICAgICAgXSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBCcmluZyBhbGwgYnJvd3NlcnMgaW50byBhIGNvbW1vbiBiZWhhdmlvciBieSBhbHdheXMgaGFuZGxpbmcgYWxsIGRyb3AgdGFyZ2V0IGV2ZW50c1xyXG4gICAgICovXHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignZHJhZ2VudGVyJywgWyckZXZlbnQnXSlcclxuICAgIHB1YmxpYyBvbkRyYWdFbnRlcihldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVFdmVudCgpO1xyXG4gICAgICAgIHRoaXMuaXNEcmFnZ2VkT3ZlciA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignZHJhZ292ZXInLCBbJyRldmVudCddKVxyXG4gICAgcHVibGljIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlRXZlbnQoKTtcclxuICAgICAgICB0aGlzLmlzRHJhZ2dlZE92ZXIgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIFsnJGV2ZW50J10pXHJcbiAgICBwdWJsaWMgb25EcmFnTGVhdmUoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlRXZlbnQoKTtcclxuICAgICAgICB0aGlzLmlzRHJhZ2dlZE92ZXIgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcclxuICAgIHB1YmxpYyBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlRXZlbnQoKTtcclxuICAgICAgICB0aGlzLmlzRHJhZ2dlZE92ZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNtZURyb3AuZW1pdChldmVudC5kYXRhVHJhbnNmZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlRXZlbnQoKSB7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH1cclxufVxyXG4iXX0=