@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
87 lines • 9.36 kB
JavaScript
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=