draggable-item.service.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /**
  2. * @fileoverview added by tsickle
  3. * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  4. */
  5. import { Injectable } from '@angular/core';
  6. import { Subject } from 'rxjs';
  7. export class DraggableItemService {
  8. constructor() {
  9. this.onCapture = new Subject();
  10. }
  11. /**
  12. * @param {?} item
  13. * @return {?}
  14. */
  15. dragStart(item) {
  16. this.draggableItem = item;
  17. }
  18. /**
  19. * @return {?}
  20. */
  21. getItem() {
  22. return this.draggableItem;
  23. }
  24. /**
  25. * @param {?} overZoneIndex
  26. * @param {?} newIndex
  27. * @return {?}
  28. */
  29. captureItem(overZoneIndex, newIndex) {
  30. if (this.draggableItem.overZoneIndex !== overZoneIndex) {
  31. this.draggableItem.lastZoneIndex = this.draggableItem.overZoneIndex;
  32. this.draggableItem.overZoneIndex = overZoneIndex;
  33. this.onCapture.next(this.draggableItem);
  34. this.draggableItem = Object.assign({}, this.draggableItem, {
  35. overZoneIndex,
  36. i: newIndex
  37. });
  38. }
  39. return this.draggableItem;
  40. }
  41. /**
  42. * @return {?}
  43. */
  44. onCaptureItem() {
  45. return this.onCapture;
  46. }
  47. }
  48. DraggableItemService.decorators = [
  49. { type: Injectable }
  50. ];
  51. if (false) {
  52. /**
  53. * @type {?}
  54. * @private
  55. */
  56. DraggableItemService.prototype.draggableItem;
  57. /**
  58. * @type {?}
  59. * @private
  60. */
  61. DraggableItemService.prototype.onCapture;
  62. }
  63. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZ2dhYmxlLWl0ZW0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1ib290c3RyYXAvc29ydGFibGUvIiwic291cmNlcyI6WyJkcmFnZ2FibGUtaXRlbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJL0IsTUFBTSxPQUFPLG9CQUFvQjtJQURqQztRQUlVLGNBQVMsR0FBMkIsSUFBSSxPQUFPLEVBQWlCLENBQUM7SUEyQjNFLENBQUM7Ozs7O0lBekJDLFNBQVMsQ0FBQyxJQUFtQjtRQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDOzs7O0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOzs7Ozs7SUFFRCxXQUFXLENBQUMsYUFBcUIsRUFBRSxRQUFnQjtRQUNqRCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxLQUFLLGFBQWEsRUFBRTtZQUN0RCxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztZQUNwRSxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7WUFDakQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDekQsYUFBYTtnQkFDYixDQUFDLEVBQUUsUUFBUTthQUNaLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7Ozs7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7OztZQTlCRixVQUFVOzs7Ozs7O0lBRVQsNkNBQXFDOzs7OztJQUVyQyx5Q0FBeUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi9kcmFnZ2FibGUtaXRlbSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEcmFnZ2FibGVJdGVtU2VydmljZSB7XG4gIHByaXZhdGUgZHJhZ2dhYmxlSXRlbTogRHJhZ2dhYmxlSXRlbTtcblxuICBwcml2YXRlIG9uQ2FwdHVyZTogU3ViamVjdDxEcmFnZ2FibGVJdGVtPiA9IG5ldyBTdWJqZWN0PERyYWdnYWJsZUl0ZW0+KCk7XG5cbiAgZHJhZ1N0YXJ0KGl0ZW06IERyYWdnYWJsZUl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLmRyYWdnYWJsZUl0ZW0gPSBpdGVtO1xuICB9XG5cbiAgZ2V0SXRlbSgpOiBEcmFnZ2FibGVJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5kcmFnZ2FibGVJdGVtO1xuICB9XG5cbiAgY2FwdHVyZUl0ZW0ob3ZlclpvbmVJbmRleDogbnVtYmVyLCBuZXdJbmRleDogbnVtYmVyKTogRHJhZ2dhYmxlSXRlbSB7XG4gICAgaWYgKHRoaXMuZHJhZ2dhYmxlSXRlbS5vdmVyWm9uZUluZGV4ICE9PSBvdmVyWm9uZUluZGV4KSB7XG4gICAgICB0aGlzLmRyYWdnYWJsZUl0ZW0ubGFzdFpvbmVJbmRleCA9IHRoaXMuZHJhZ2dhYmxlSXRlbS5vdmVyWm9uZUluZGV4O1xuICAgICAgdGhpcy5kcmFnZ2FibGVJdGVtLm92ZXJab25lSW5kZXggPSBvdmVyWm9uZUluZGV4O1xuICAgICAgdGhpcy5vbkNhcHR1cmUubmV4dCh0aGlzLmRyYWdnYWJsZUl0ZW0pO1xuICAgICAgdGhpcy5kcmFnZ2FibGVJdGVtID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5kcmFnZ2FibGVJdGVtLCB7XG4gICAgICAgIG92ZXJab25lSW5kZXgsXG4gICAgICAgIGk6IG5ld0luZGV4XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5kcmFnZ2FibGVJdGVtO1xuICB9XG5cbiAgb25DYXB0dXJlSXRlbSgpOiBTdWJqZWN0PERyYWdnYWJsZUl0ZW0+IHtcbiAgICByZXR1cm4gdGhpcy5vbkNhcHR1cmU7XG4gIH1cbn1cbiJdfQ==