UNPKG

ngx-pluto

Version:
119 lines 8.61 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ import { Injectable, Inject, NgZone } from '@angular/core'; import { DOCUMENT } from '@angular/common'; import { ViewportRuler } from '@angular/cdk/scrolling'; import { DragRef } from './drag-ref'; import { DropListRef } from './drop-list-ref'; import { DragDropRegistry } from './drag-drop-registry'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "@angular/cdk/scrolling"; import * as i3 from "./drag-drop-registry"; /** * Default configuration to be used when creating a `DragRef`. * @type {?} */ var DEFAULT_CONFIG = { dragStartThreshold: 5, pointerDirectionChangeThreshold: 5 }; /** * @ignore * Service that allows for drag-and-drop functionality to be attached to DOM elements. */ var DragDrop = /** @class */ (function () { function DragDrop(_document, _ngZone, _viewportRuler, _dragDropRegistry) { this._document = _document; this._ngZone = _ngZone; this._viewportRuler = _viewportRuler; this._dragDropRegistry = _dragDropRegistry; } /** * Turns an element into a draggable item. * @param element Element to which to attach the dragging functionality. * @param config Object used to configure the dragging behavior. */ /** * Turns an element into a draggable item. * @template T * @param {?} element Element to which to attach the dragging functionality. * @param {?=} config Object used to configure the dragging behavior. * @return {?} */ DragDrop.prototype.createDrag = /** * Turns an element into a draggable item. * @template T * @param {?} element Element to which to attach the dragging functionality. * @param {?=} config Object used to configure the dragging behavior. * @return {?} */ function (element, config) { if (config === void 0) { config = DEFAULT_CONFIG; } return new DragRef(element, config, this._document, this._ngZone, this._viewportRuler, this._dragDropRegistry); }; /** * Turns an element into a drop list. * @param element Element to which to attach the drop list functionality. */ /** * Turns an element into a drop list. * @template T * @param {?} element Element to which to attach the drop list functionality. * @return {?} */ DragDrop.prototype.createDropList = /** * Turns an element into a drop list. * @template T * @param {?} element Element to which to attach the drop list functionality. * @return {?} */ function (element) { return new DropListRef(element, this._dragDropRegistry, this._document); }; DragDrop.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ DragDrop.ctorParameters = function () { return [ { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }, { type: NgZone }, { type: ViewportRuler }, { type: DragDropRegistry } ]; }; /** @nocollapse */ DragDrop.ngInjectableDef = i0.defineInjectable({ factory: function DragDrop_Factory() { return new DragDrop(i0.inject(i1.DOCUMENT), i0.inject(i0.NgZone), i0.inject(i2.ViewportRuler), i0.inject(i3.DragDropRegistry)); }, token: DragDrop, providedIn: "root" }); return DragDrop; }()); export { DragDrop }; if (false) { /** * @type {?} * @private */ DragDrop.prototype._document; /** * @type {?} * @private */ DragDrop.prototype._ngZone; /** * @type {?} * @private */ DragDrop.prototype._viewportRuler; /** * @type {?} * @private */ DragDrop.prototype._dragDropRegistry; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1kcm9wLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXBsdXRvLyIsInNvdXJjZXMiOlsibGliL2RyYWctZHJvcC9kcmFnLWRyb3AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFRQSxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsT0FBTyxFQUFnQixNQUFNLFlBQVksQ0FBQztBQUNsRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7OztJQUdoRCxjQUFjLEdBQUc7SUFDckIsa0JBQWtCLEVBQUUsQ0FBQztJQUNyQiwrQkFBK0IsRUFBRSxDQUFDO0NBQ25DOzs7OztBQU1EO0lBRUUsa0JBQzRCLFNBQWMsRUFDaEMsT0FBZSxFQUNmLGNBQTZCLEVBQzdCLGlCQUF5RDtRQUh2QyxjQUFTLEdBQVQsU0FBUyxDQUFLO1FBQ2hDLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUM3QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQXdDO0lBQUcsQ0FBQztJQUV2RTs7OztPQUlHOzs7Ozs7OztJQUNILDZCQUFVOzs7Ozs7O0lBQVYsVUFBb0IsT0FBOEMsRUFDcEQsTUFBc0M7UUFBdEMsdUJBQUEsRUFBQSx1QkFBc0M7UUFFbEQsT0FBTyxJQUFJLE9BQU8sQ0FBSSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxFQUNwRixJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7OztPQUdHOzs7Ozs7O0lBQ0gsaUNBQWM7Ozs7OztJQUFkLFVBQXdCLE9BQThDO1FBQ3BFLE9BQU8sSUFBSSxXQUFXLENBQUksT0FBTyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0UsQ0FBQzs7Z0JBMUJGLFVBQVUsU0FBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUM7Ozs7Z0RBRzNCLE1BQU0sU0FBQyxRQUFRO2dCQXBCUSxNQUFNO2dCQUUxQixhQUFhO2dCQUdiLGdCQUFnQjs7O21CQWJ4QjtDQW9EQyxBQTNCRCxJQTJCQztTQTFCWSxRQUFROzs7Ozs7SUFFakIsNkJBQXdDOzs7OztJQUN4QywyQkFBdUI7Ozs7O0lBQ3ZCLGtDQUFxQzs7Ozs7SUFDckMscUNBQWlFIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXHJcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcclxuICovXHJcblxyXG5pbXBvcnQge0luamVjdGFibGUsIEluamVjdCwgTmdab25lLCBFbGVtZW50UmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtWaWV3cG9ydFJ1bGVyfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcclxuaW1wb3J0IHtEcmFnUmVmLCBEcmFnUmVmQ29uZmlnfSBmcm9tICcuL2RyYWctcmVmJztcclxuaW1wb3J0IHtEcm9wTGlzdFJlZn0gZnJvbSAnLi9kcm9wLWxpc3QtcmVmJztcclxuaW1wb3J0IHtEcmFnRHJvcFJlZ2lzdHJ5fSBmcm9tICcuL2RyYWctZHJvcC1yZWdpc3RyeSc7XHJcblxyXG4vKiogRGVmYXVsdCBjb25maWd1cmF0aW9uIHRvIGJlIHVzZWQgd2hlbiBjcmVhdGluZyBhIGBEcmFnUmVmYC4gKi9cclxuY29uc3QgREVGQVVMVF9DT05GSUcgPSB7XHJcbiAgZHJhZ1N0YXJ0VGhyZXNob2xkOiA1LFxyXG4gIHBvaW50ZXJEaXJlY3Rpb25DaGFuZ2VUaHJlc2hvbGQ6IDVcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqIFNlcnZpY2UgdGhhdCBhbGxvd3MgZm9yIGRyYWctYW5kLWRyb3AgZnVuY3Rpb25hbGl0eSB0byBiZSBhdHRhY2hlZCB0byBET00gZWxlbWVudHMuXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcclxuZXhwb3J0IGNsYXNzIERyYWdEcm9wIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50OiBhbnksXHJcbiAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcclxuICAgIHByaXZhdGUgX3ZpZXdwb3J0UnVsZXI6IFZpZXdwb3J0UnVsZXIsXHJcbiAgICBwcml2YXRlIF9kcmFnRHJvcFJlZ2lzdHJ5OiBEcmFnRHJvcFJlZ2lzdHJ5PERyYWdSZWYsIERyb3BMaXN0UmVmPikge31cclxuXHJcbiAgLyoqXHJcbiAgICogVHVybnMgYW4gZWxlbWVudCBpbnRvIGEgZHJhZ2dhYmxlIGl0ZW0uXHJcbiAgICogQHBhcmFtIGVsZW1lbnQgRWxlbWVudCB0byB3aGljaCB0byBhdHRhY2ggdGhlIGRyYWdnaW5nIGZ1bmN0aW9uYWxpdHkuXHJcbiAgICogQHBhcmFtIGNvbmZpZyBPYmplY3QgdXNlZCB0byBjb25maWd1cmUgdGhlIGRyYWdnaW5nIGJlaGF2aW9yLlxyXG4gICAqL1xyXG4gIGNyZWF0ZURyYWc8VCA9IGFueT4oZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCBIVE1MRWxlbWVudCxcclxuICAgICAgICAgICAgICAgIGNvbmZpZzogRHJhZ1JlZkNvbmZpZyA9IERFRkFVTFRfQ09ORklHKTogRHJhZ1JlZjxUPiB7XHJcblxyXG4gICAgcmV0dXJuIG5ldyBEcmFnUmVmPFQ+KGVsZW1lbnQsIGNvbmZpZywgdGhpcy5fZG9jdW1lbnQsIHRoaXMuX25nWm9uZSwgdGhpcy5fdmlld3BvcnRSdWxlcixcclxuICAgICAgICB0aGlzLl9kcmFnRHJvcFJlZ2lzdHJ5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFR1cm5zIGFuIGVsZW1lbnQgaW50byBhIGRyb3AgbGlzdC5cclxuICAgKiBAcGFyYW0gZWxlbWVudCBFbGVtZW50IHRvIHdoaWNoIHRvIGF0dGFjaCB0aGUgZHJvcCBsaXN0IGZ1bmN0aW9uYWxpdHkuXHJcbiAgICovXHJcbiAgY3JlYXRlRHJvcExpc3Q8VCA9IGFueT4oZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCBIVE1MRWxlbWVudCk6IERyb3BMaXN0UmVmPFQ+IHtcclxuICAgIHJldHVybiBuZXcgRHJvcExpc3RSZWY8VD4oZWxlbWVudCwgdGhpcy5fZHJhZ0Ryb3BSZWdpc3RyeSwgdGhpcy5fZG9jdW1lbnQpO1xyXG4gIH1cclxufVxyXG4iXX0=