@uniprank/ngx-scrollspy 1.1.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +102 -81
- package/fesm2022/uniprank-ngx-scrollspy.mjs +389 -0
- package/fesm2022/uniprank-ngx-scrollspy.mjs.map +1 -0
- package/index.d.ts +6 -0
- package/lib/ngx-scrollspy.module.d.ts +24 -1
- package/lib/ngx-scrollspy.module.d.ts.map +1 -0
- package/lib/scroll-direction.enum.d.ts +1 -0
- package/lib/scroll-direction.enum.d.ts.map +1 -0
- package/lib/scroll-element.directive.d.ts +12 -9
- package/lib/scroll-element.directive.d.ts.map +1 -0
- package/lib/scroll-element.interface.d.ts +1 -0
- package/lib/scroll-element.interface.d.ts.map +1 -0
- package/lib/scroll-item.directive.d.ts +12 -12
- package/lib/scroll-item.directive.d.ts.map +1 -0
- package/lib/scroll-object.interface.d.ts +1 -0
- package/lib/scroll-object.interface.d.ts.map +1 -0
- package/lib/scroll-spy.directive.d.ts +11 -10
- package/lib/scroll-spy.directive.d.ts.map +1 -0
- package/lib/scroll-spy.service.d.ts +13 -10
- package/lib/scroll-spy.service.d.ts.map +1 -0
- package/package.json +20 -13
- package/public-api.d.ts +3 -1
- package/public-api.d.ts.map +1 -0
- package/uniprank-ngx-scrollspy.d.ts.map +1 -0
- package/CHANGELOG.md +0 -32
- package/bundles/uniprank-ngx-scrollspy.umd.js +0 -708
- package/bundles/uniprank-ngx-scrollspy.umd.js.map +0 -1
- package/bundles/uniprank-ngx-scrollspy.umd.min.js +0 -2
- package/bundles/uniprank-ngx-scrollspy.umd.min.js.map +0 -1
- package/esm2015/lib/ngx-scrollspy.module.js +0 -25
- package/esm2015/lib/scroll-direction.enum.js +0 -6
- package/esm2015/lib/scroll-element.directive.js +0 -48
- package/esm2015/lib/scroll-element.interface.js +0 -1
- package/esm2015/lib/scroll-item.directive.js +0 -48
- package/esm2015/lib/scroll-object.interface.js +0 -1
- package/esm2015/lib/scroll-spy.directive.js +0 -50
- package/esm2015/lib/scroll-spy.service.js +0 -206
- package/esm2015/public-api.js +0 -14
- package/esm2015/uniprank-ngx-scrollspy.js +0 -6
- package/fesm2015/uniprank-ngx-scrollspy.js +0 -379
- package/fesm2015/uniprank-ngx-scrollspy.js.map +0 -1
- package/uniprank-ngx-scrollspy.d.ts +0 -5
- package/uniprank-ngx-scrollspy.metadata.json +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"uniprank-ngx-scrollspy.umd.js","sources":["../../../library/ngx-scrollspy/src/lib/scroll-direction.enum.ts","../../../library/ngx-scrollspy/src/lib/scroll-spy.service.ts","../../../library/ngx-scrollspy/src/lib/scroll-spy.directive.ts","../../../library/ngx-scrollspy/src/lib/scroll-element.directive.ts","../../../library/ngx-scrollspy/src/lib/scroll-item.directive.ts","../../../node_modules/tslib/tslib.es6.js","../../../library/ngx-scrollspy/src/lib/ngx-scrollspy.module.ts","../../../library/ngx-scrollspy/src/public-api.ts","../../../library/ngx-scrollspy/src/uniprank-ngx-scrollspy.ts"],"sourcesContent":["export enum ScrollDirectionEnum {\n vertical = 'vertical',\n horizontal = 'horizontal'\n}\n","import { Injectable, ElementRef, Inject, InjectionToken, Optional } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { BehaviorSubject, Observable, Subject, fromEvent } from 'rxjs';\nimport { auditTime, takeUntil } from 'rxjs/operators';\n\nimport { ScrollObjectInterface } from './scroll-object.interface';\nimport { ScrollElementInterface } from './scroll-element.interface';\nimport { ScrollDirectionEnum } from './scroll-direction.enum';\n\nconst defaultElementId = 'window';\n\nexport const SPY_CONFIG = new InjectionToken<SpyConfig>(null);\n\nexport interface SpyConfig {\n /**\n * @param boolean lookAhead\n * Set the first scroll item active even when the scroll element has not yet been reached\n */\n lookAhead?: boolean;\n /**\n * @param boolean activateOnlySetItems\n * Set the the scroll items active only when the scroll element reached the set offset and is still in the viewport\n */\n activateOnlySetItems?: boolean;\n /**\n * @param boolean activateOnlySetItems\n * Set the the scroll items active only when the scroll element reached the set offset and is still in the viewport\n */\n attributeType?: 'id' | 'data-id';\n}\n\n@Injectable()\nexport class ScrollSpyService {\n private _scrollItems: { [itemId: string]: ScrollObjectInterface } = {};\n private _scrollElements: { [scrollElementId: string]: ScrollElementInterface } = {};\n private _$scrollElementListener: { [scrollElementId: string]: BehaviorSubject<ScrollObjectInterface> } = {};\n\n private _scrollElementListener: { [scrollElementId: string]: ScrollObjectInterface } = {};\n\n private _onStopListening = new Subject();\n private _resizeEvents = fromEvent(window, 'resize').pipe(auditTime(300), takeUntil(this._onStopListening));\n private _scrollEvents = fromEvent(window, 'scroll').pipe(auditTime(10), takeUntil(this._onStopListening));\n\n private _lookAhead: boolean;\n private _activateOnlySetItems: boolean;\n\n readonly attributeType: 'id' | 'data-id';\n\n constructor(@Inject(DOCUMENT) private doc: any, @Inject(SPY_CONFIG) @Optional() config?: SpyConfig) {\n this._initScrollElementListener(\n defaultElementId,\n this._generateScrollElement(defaultElementId, new ElementRef(doc.documentElement || doc.body), ScrollDirectionEnum.vertical)\n );\n\n this._resizeEvents.subscribe(() => this._windowScroll());\n this._scrollEvents.subscribe(() => this._windowScroll());\n this._windowScroll();\n if (config !== null) {\n this._lookAhead = config.lookAhead;\n this._activateOnlySetItems = config.activateOnlySetItems;\n this.attributeType = config.attributeType;\n } else {\n this._lookAhead = false;\n this._activateOnlySetItems = false;\n this.attributeType = 'id';\n }\n }\n\n private _initScrollElementListener(scrollElementId: string, scrollElement: ScrollElementInterface): void {\n this._scrollElements[scrollElementId] = scrollElement;\n this._scrollElementListener[scrollElementId] = null;\n this._$scrollElementListener[scrollElementId] = new BehaviorSubject(null);\n }\n\n private _windowScroll() {\n this.updateScrollElement(defaultElementId);\n }\n\n private _generateScrollElement(\n scrollElementId: string,\n elementRef: ElementRef,\n direction: ScrollDirectionEnum,\n offset: number = 0\n ): ScrollElementInterface {\n return {\n id: scrollElementId,\n elementRef,\n direction,\n offset\n };\n }\n\n public setOffset(scrollElementId: string, offset: number): void {\n this._checkScrollElementExists(scrollElementId);\n this._scrollElements[scrollElementId].offset = offset;\n }\n\n public setScrollElement(scrollElementId: string, elementRef: ElementRef, direction: ScrollDirectionEnum, offset: number = 0): void {\n this._checkScrollElementNotExists(scrollElementId);\n this._initScrollElementListener(scrollElementId, this._generateScrollElement(scrollElementId, elementRef, direction, offset));\n }\n\n private _checkScrollElementNotExists(scrollElementId: string): void {\n if (this._scrollElements[scrollElementId] != null) {\n throw new Error(`ScrollSpyService: The scroll element with the id [${scrollElementId}] exists.`);\n }\n }\n\n public setItem(itemId: string, elementRef: ElementRef, scrollElementId = defaultElementId): void {\n this._checkItemNotExists(itemId);\n this._scrollItems[itemId] = this._generateScrollObject(itemId, elementRef, scrollElementId);\n this._setDefaultItem(itemId, scrollElementId);\n }\n\n private _checkItemNotExists(itemId: string): void {\n if (this._scrollItems[itemId] != null) {\n throw new Error(`ScrollSpyService: The scroll item with the id [${itemId}] exists.`);\n }\n }\n\n private _generateScrollObject(id: string, elementRef: ElementRef, scrollElementId: string): ScrollObjectInterface {\n return {\n id,\n scrollElementId,\n elementRef,\n nativeElement: elementRef.nativeElement\n };\n }\n\n private _setDefaultItem(itemId: string, scrollElementId: string): void {\n if (this._lookAhead) {\n return;\n }\n const _value = this._scrollElementListener[scrollElementId];\n if (_value == null) {\n this._setScrollElementListener(scrollElementId, this._scrollItems[itemId]);\n }\n }\n\n private _setScrollElementListener(scrollElementId: string, scrollObject: ScrollObjectInterface): void {\n this._scrollElementListener[scrollElementId] = scrollObject;\n setTimeout(() => this._$scrollElementListener[scrollElementId].next(scrollObject));\n }\n\n public changeScrollElement(itemId: string, oldElementId: string, newElementId: string, override = false) {\n this._checkScrollElementExists(oldElementId);\n this._checkScrollElementExists(newElementId);\n this._checkItemExists(itemId);\n\n const _scrollItem = this._scrollItems[itemId];\n if ((_scrollItem.scrollElementId !== defaultElementId && override) || _scrollItem.scrollElementId === defaultElementId) {\n this._scrollItems[itemId].scrollElementId = newElementId;\n }\n\n this._setDefaultItem(itemId, newElementId);\n\n const _oldElements = this._getElementItems(oldElementId);\n if (_oldElements.length > 0) {\n this._setDefaultItem(_oldElements[0].id, oldElementId);\n }\n }\n\n private _getElementItems(scrollElementId: string): Array<ScrollObjectInterface> {\n const _items = [];\n for (const key in this._scrollItems) {\n if (this._scrollItems.hasOwnProperty(key)) {\n const value = this._scrollItems[key];\n if (value.scrollElementId === scrollElementId) {\n _items.push(value);\n }\n }\n }\n return _items;\n }\n\n private _checkItemExists(itemId: string): void {\n if (this._scrollItems[itemId] == null) {\n throw new Error(`ScrollSpyService: The scroll item with the id [${itemId}] doesn't exist.`);\n }\n }\n\n public observe(scrollElementId: string = defaultElementId): Observable<ScrollObjectInterface> {\n this._checkScrollElementExists(scrollElementId);\n return this._$scrollElementListener[scrollElementId].asObservable();\n }\n\n private _checkScrollElementExists(scrollElementId: string): void {\n if (this._scrollElements[scrollElementId] == null) {\n throw new Error(`ScrollSpyService: The scroll element with the id [${scrollElementId}] doesn't exist.`);\n }\n }\n\n public updateScrollElement(scrollElementId: string): void {\n this._checkScrollElementExists(scrollElementId);\n\n const _element = this._scrollElements[scrollElementId];\n const _elementItems = this._getElementItems(scrollElementId);\n\n const _nextActiveItem = this._getActiveItem(_element, _elementItems);\n const _currentActiveItem = this._scrollElementListener[scrollElementId];\n\n if (_currentActiveItem == null) {\n if (_nextActiveItem != null) {\n this._setScrollElementListener(scrollElementId, _nextActiveItem);\n }\n } else if (_nextActiveItem != null) {\n if (_currentActiveItem.id !== _nextActiveItem.id) {\n this._setScrollElementListener(scrollElementId, _nextActiveItem);\n }\n } else if (_nextActiveItem == null && this._lookAhead) {\n this._setScrollElementListener(scrollElementId, null);\n }\n }\n\n private _getActiveItem(scrollElement: ScrollElementInterface, listOfElements: Array<ScrollObjectInterface>): ScrollObjectInterface {\n const _direction = scrollElement.direction;\n let _scrollObject = null;\n\n const nativeElement = scrollElement.elementRef.nativeElement;\n listOfElements.forEach((_element) => {\n let _active = false;\n switch (_direction) {\n case ScrollDirectionEnum.horizontal:\n const _scrollLeft = scrollElement.id.toLowerCase() === 'window' ? (window && window.pageXOffset) || 0 : nativeElement.scrollLeft;\n _active = _element.nativeElement.offsetLeft <= _scrollLeft + scrollElement.offset;\n break;\n\n default: {\n const _scrollTop = scrollElement.id.toLowerCase() === 'window' ? (window && window.pageYOffset) || 0 : nativeElement.scrollTop;\n if (this._activateOnlySetItems) {\n _active =\n _element.nativeElement.offsetTop < _scrollTop + scrollElement.offset &&\n _element.nativeElement.offsetTop + _element.nativeElement.offsetHeight > _scrollTop + scrollElement.offset;\n } else {\n _active = _element.nativeElement.offsetTop <= _scrollTop + scrollElement.offset;\n }\n }\n }\n if (_active) {\n _scrollObject = _element;\n }\n });\n return _scrollObject;\n }\n\n public deleteScrollElement(scrollElementId: string): void {\n if (scrollElementId === 'window') {\n this._setScrollElementListener(scrollElementId, null);\n } else {\n this._checkScrollElementExists(scrollElementId);\n delete this._scrollElements[scrollElementId];\n delete this._$scrollElementListener[scrollElementId];\n delete this._scrollElementListener[scrollElementId];\n }\n }\n\n public deleteItem(itemId: string): void {\n if (this._scrollItems[itemId] != null) {\n delete this._scrollItems[itemId];\n }\n }\n}\n","import { Directive, AfterViewInit, Input, ElementRef, HostBinding, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { ScrollSpyService } from './scroll-spy.service';\n\n@Directive({\n selector: '[uniScrollSpy]'\n})\nexport class ScrollSpyDirective implements AfterViewInit, OnDestroy {\n @HostBinding('class.active') classActive = false;\n\n @Input('uniScrollSpy') itemId: string;\n @Input() scrollElement = 'window';\n\n private _subscriber: Subscription;\n\n constructor(private _el: ElementRef, private _scrollSpyService: ScrollSpyService, private _cdr: ChangeDetectorRef) {}\n\n ngOnDestroy(): void {\n if (this._subscriber) {\n this._subscriber.unsubscribe();\n }\n this._scrollSpyService.deleteItem(this.itemId);\n }\n\n ngAfterViewInit(): void {\n this._subscriber = this._scrollSpyService.observe(this.scrollElement).subscribe((element) => {\n if (element != null) {\n const _active = element.id === this.itemId;\n setTimeout(() => {\n this.classActive = _active;\n this._cdr.markForCheck();\n });\n }\n });\n this._scrollSpyService.setItem(this.itemId, this._el, this.scrollElement);\n\n let _keyType = 'id';\n if (this._scrollSpyService.attributeType === 'data-id') {\n _keyType = 'data-id';\n }\n this._el.nativeElement.setAttribute(_keyType, this.itemId);\n }\n}\n","import { Directive, HostListener, ElementRef, Input, OnInit, OnDestroy, ContentChildren, QueryList, AfterViewInit } from '@angular/core';\n\nimport { ScrollDirectionEnum } from './scroll-direction.enum';\nimport { ScrollSpyService } from './scroll-spy.service';\nimport { ScrollSpyDirective } from './scroll-spy.directive';\n\n@Directive({\n selector: '[uniScrollElement]'\n})\nexport class ScrollElementDirective implements OnInit, AfterViewInit, OnDestroy {\n @Input('uniScrollElement') elementId: string;\n @Input() direction: ScrollDirectionEnum = ScrollDirectionEnum.vertical;\n\n @ContentChildren(ScrollSpyDirective, { descendants: true })\n private _scrollSpyElements: QueryList<ScrollSpyDirective>;\n\n @HostListener('scroll', ['$event'])\n onScroll($event) {\n this._scrollSpyService.updateScrollElement(this.elementId);\n }\n\n constructor(private _el: ElementRef, private _scrollSpyService: ScrollSpyService) {}\n\n ngOnInit(): void {\n this._scrollSpyService.setScrollElement(this.elementId, this._el, this.direction);\n if (this._scrollSpyService.attributeType === 'id') {\n this._el.nativeElement.setAttribute('id', this.elementId);\n } else {\n this._el.nativeElement.setAttribute('data-id', this.elementId);\n }\n }\n\n ngAfterViewInit(): void {\n const _scrollSpyElements: ScrollSpyDirective[] = this._scrollSpyElements.toArray();\n _scrollSpyElements.forEach((element) => {\n this._scrollSpyService.changeScrollElement(element.itemId, element.scrollElement, this.elementId);\n });\n }\n\n ngOnDestroy(): void {\n this._scrollSpyService.deleteScrollElement(this.elementId);\n }\n}\n","import { Directive, Input, Output, EventEmitter, OnDestroy, HostBinding, AfterViewInit, ChangeDetectorRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { ScrollSpyService } from './scroll-spy.service';\n\n@Directive({\n selector: '[uniScrollItem]'\n})\nexport class ScrollItemDirective implements OnDestroy, AfterViewInit {\n @HostBinding('class.active') classActive = false;\n\n @Input('uniScrollItem') itemId: string;\n @Input() scrollElement = 'window';\n\n @Output() activeEvent: EventEmitter<boolean> = new EventEmitter();\n\n private _subscriber: Subscription;\n\n constructor(private _scrollSpyService: ScrollSpyService, private _cdr: ChangeDetectorRef) {}\n\n ngOnDestroy(): void {\n if (this._subscriber) {\n this._subscriber.unsubscribe();\n }\n }\n\n ngAfterViewInit(): void {\n this._subscriber = this._scrollSpyService.observe(this.scrollElement).subscribe((element) => {\n let _active;\n if (element != null) {\n _active = element.id === this.itemId;\n this.activeEvent.emit(_active);\n } else {\n _active = false;\n }\n\n setTimeout(() => {\n this.classActive = _active;\n this._cdr.markForCheck();\n });\n });\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { NgModule, Provider, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\n\nimport { ScrollSpyDirective } from './scroll-spy.directive';\nimport { ScrollItemDirective } from './scroll-item.directive';\nimport { ScrollElementDirective } from './scroll-element.directive';\n\nimport { SPY_CONFIG, SpyConfig, ScrollSpyService } from './scroll-spy.service';\nimport { CommonModule } from '@angular/common';\n\nconst directives: any[] = [ScrollSpyDirective, ScrollItemDirective, ScrollElementDirective];\nconst components: any[] = [];\nconst providers: Provider[] = [ScrollSpyService];\n\n@NgModule({\n imports: [CommonModule],\n declarations: [...directives, ...components],\n exports: [...directives, ...components]\n})\nexport class NgxScrollspyModule {\n public static forRoot(parameters: SpyConfig = { lookAhead: false }): ModuleWithProviders<NgxScrollspyModule> {\n return {\n ngModule: NgxScrollspyModule,\n providers: [...providers, { provide: SPY_CONFIG, useValue: parameters }]\n };\n }\n}\n","/*\n * Public API Surface of ngx-scrollspy\n */\n// enums\nexport { ScrollDirectionEnum } from './lib/scroll-direction.enum';\n\n// interfaces\nexport { ScrollObjectInterface } from './lib/scroll-object.interface';\nexport { ScrollElementInterface } from './lib/scroll-element.interface';\n\n// services\nexport { ScrollSpyService } from './lib/scroll-spy.service';\n\n// directives\nexport { ScrollElementDirective } from './lib/scroll-element.directive';\nexport { ScrollItemDirective } from './lib/scroll-item.directive';\nexport { ScrollSpyDirective } from './lib/scroll-spy.directive';\n\n// modules\nexport { NgxScrollspyModule } from './lib/ngx-scrollspy.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {SPY_CONFIG as ɵa} from './lib/scroll-spy.service';"],"names":["ScrollDirectionEnum","InjectionToken","Subject","fromEvent","auditTime","takeUntil","ElementRef","BehaviorSubject","Injectable","Inject","DOCUMENT","Optional","Directive","ChangeDetectorRef","HostBinding","Input","ContentChildren","HostListener","EventEmitter","Output","NgModule","CommonModule"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@uniprank/ngx-scrollspy",["exports","@angular/core","@angular/common","rxjs","rxjs/operators"],t):t(((e=e||self).uniprank=e.uniprank||{},e.uniprank["ngx-scrollspy"]={}),e.ng.core,e.ng.common,e.rxjs,e.rxjs.operators)}(this,(function(e,t,r,l,i){"use strict";var n;(n=e.ScrollDirectionEnum||(e.ScrollDirectionEnum={})).vertical="vertical",n.horizontal="horizontal";var o="window",s=new t.InjectionToken(null),c=function(){function r(r,n){var s=this;this.doc=r,this._scrollItems={},this._scrollElements={},this._$scrollElementListener={},this._scrollElementListener={},this._onStopListening=new l.Subject,this._resizeEvents=l.fromEvent(window,"resize").pipe(i.auditTime(300),i.takeUntil(this._onStopListening)),this._scrollEvents=l.fromEvent(window,"scroll").pipe(i.auditTime(10),i.takeUntil(this._onStopListening)),this._initScrollElementListener(o,this._generateScrollElement(o,new t.ElementRef(r.documentElement||r.body),e.ScrollDirectionEnum.vertical)),this._resizeEvents.subscribe((function(){return s._windowScroll()})),this._scrollEvents.subscribe((function(){return s._windowScroll()})),this._windowScroll(),null!==n?(this._lookAhead=n.lookAhead,this._activateOnlySetItems=n.activateOnlySetItems,this.attributeType=n.attributeType):(this._lookAhead=!1,this._activateOnlySetItems=!1,this.attributeType="id")}return r.prototype._initScrollElementListener=function(e,t){this._scrollElements[e]=t,this._scrollElementListener[e]=null,this._$scrollElementListener[e]=new l.BehaviorSubject(null)},r.prototype._windowScroll=function(){this.updateScrollElement(o)},r.prototype._generateScrollElement=function(e,t,r,l){return void 0===l&&(l=0),{id:e,elementRef:t,direction:r,offset:l}},r.prototype.setOffset=function(e,t){this._checkScrollElementExists(e),this._scrollElements[e].offset=t},r.prototype.setScrollElement=function(e,t,r,l){void 0===l&&(l=0),this._checkScrollElementNotExists(e),this._initScrollElementListener(e,this._generateScrollElement(e,t,r,l))},r.prototype._checkScrollElementNotExists=function(e){if(null!=this._scrollElements[e])throw new Error("ScrollSpyService: The scroll element with the id ["+e+"] exists.")},r.prototype.setItem=function(e,t,r){void 0===r&&(r=o),this._checkItemNotExists(e),this._scrollItems[e]=this._generateScrollObject(e,t,r),this._setDefaultItem(e,r)},r.prototype._checkItemNotExists=function(e){if(null!=this._scrollItems[e])throw new Error("ScrollSpyService: The scroll item with the id ["+e+"] exists.")},r.prototype._generateScrollObject=function(e,t,r){return{id:e,scrollElementId:r,elementRef:t,nativeElement:t.nativeElement}},r.prototype._setDefaultItem=function(e,t){this._lookAhead||null==this._scrollElementListener[t]&&this._setScrollElementListener(t,this._scrollItems[e])},r.prototype._setScrollElementListener=function(e,t){var r=this;this._scrollElementListener[e]=t,setTimeout((function(){return r._$scrollElementListener[e].next(t)}))},r.prototype.changeScrollElement=function(e,t,r,l){void 0===l&&(l=!1),this._checkScrollElementExists(t),this._checkScrollElementExists(r),this._checkItemExists(e);var i=this._scrollItems[e];(i.scrollElementId!==o&&l||i.scrollElementId===o)&&(this._scrollItems[e].scrollElementId=r),this._setDefaultItem(e,r);var n=this._getElementItems(t);n.length>0&&this._setDefaultItem(n[0].id,t)},r.prototype._getElementItems=function(e){var t=[];for(var r in this._scrollItems)if(this._scrollItems.hasOwnProperty(r)){var l=this._scrollItems[r];l.scrollElementId===e&&t.push(l)}return t},r.prototype._checkItemExists=function(e){if(null==this._scrollItems[e])throw new Error("ScrollSpyService: The scroll item with the id ["+e+"] doesn't exist.")},r.prototype.observe=function(e){return void 0===e&&(e=o),this._checkScrollElementExists(e),this._$scrollElementListener[e].asObservable()},r.prototype._checkScrollElementExists=function(e){if(null==this._scrollElements[e])throw new Error("ScrollSpyService: The scroll element with the id ["+e+"] doesn't exist.")},r.prototype.updateScrollElement=function(e){this._checkScrollElementExists(e);var t=this._scrollElements[e],r=this._getElementItems(e),l=this._getActiveItem(t,r),i=this._scrollElementListener[e];null==i?null!=l&&this._setScrollElementListener(e,l):null!=l?i.id!==l.id&&this._setScrollElementListener(e,l):null==l&&this._lookAhead&&this._setScrollElementListener(e,null)},r.prototype._getActiveItem=function(t,r){var l=this,i=t.direction,n=null,o=t.elementRef.nativeElement;return r.forEach((function(r){var s=!1;switch(i){case e.ScrollDirectionEnum.horizontal:var c="window"===t.id.toLowerCase()?window&&window.pageXOffset||0:o.scrollLeft;s=r.nativeElement.offsetLeft<=c+t.offset;break;default:var a="window"===t.id.toLowerCase()?window&&window.pageYOffset||0:o.scrollTop;s=l._activateOnlySetItems?r.nativeElement.offsetTop<a+t.offset&&r.nativeElement.offsetTop+r.nativeElement.offsetHeight>a+t.offset:r.nativeElement.offsetTop<=a+t.offset}s&&(n=r)})),n},r.prototype.deleteScrollElement=function(e){"window"===e?this._setScrollElementListener(e,null):(this._checkScrollElementExists(e),delete this._scrollElements[e],delete this._$scrollElementListener[e],delete this._scrollElementListener[e])},r.prototype.deleteItem=function(e){null!=this._scrollItems[e]&&delete this._scrollItems[e]},r}();c.decorators=[{type:t.Injectable}],c.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[r.DOCUMENT]}]},{type:void 0,decorators:[{type:t.Inject,args:[s]},{type:t.Optional}]}]};var a=function(){function e(e,t,r){this._el=e,this._scrollSpyService=t,this._cdr=r,this.classActive=!1,this.scrollElement="window"}return e.prototype.ngOnDestroy=function(){this._subscriber&&this._subscriber.unsubscribe(),this._scrollSpyService.deleteItem(this.itemId)},e.prototype.ngAfterViewInit=function(){var e=this;this._subscriber=this._scrollSpyService.observe(this.scrollElement).subscribe((function(t){if(null!=t){var r=t.id===e.itemId;setTimeout((function(){e.classActive=r,e._cdr.markForCheck()}))}})),this._scrollSpyService.setItem(this.itemId,this._el,this.scrollElement);var t="id";"data-id"===this._scrollSpyService.attributeType&&(t="data-id"),this._el.nativeElement.setAttribute(t,this.itemId)},e}();a.decorators=[{type:t.Directive,args:[{selector:"[uniScrollSpy]"}]}],a.ctorParameters=function(){return[{type:t.ElementRef},{type:c},{type:t.ChangeDetectorRef}]},a.propDecorators={classActive:[{type:t.HostBinding,args:["class.active"]}],itemId:[{type:t.Input,args:["uniScrollSpy"]}],scrollElement:[{type:t.Input}]};var h=function(){function t(t,r){this._el=t,this._scrollSpyService=r,this.direction=e.ScrollDirectionEnum.vertical}return t.prototype.onScroll=function(e){this._scrollSpyService.updateScrollElement(this.elementId)},t.prototype.ngOnInit=function(){this._scrollSpyService.setScrollElement(this.elementId,this._el,this.direction),"id"===this._scrollSpyService.attributeType?this._el.nativeElement.setAttribute("id",this.elementId):this._el.nativeElement.setAttribute("data-id",this.elementId)},t.prototype.ngAfterViewInit=function(){var e=this;this._scrollSpyElements.toArray().forEach((function(t){e._scrollSpyService.changeScrollElement(t.itemId,t.scrollElement,e.elementId)}))},t.prototype.ngOnDestroy=function(){this._scrollSpyService.deleteScrollElement(this.elementId)},t}();h.decorators=[{type:t.Directive,args:[{selector:"[uniScrollElement]"}]}],h.ctorParameters=function(){return[{type:t.ElementRef},{type:c}]},h.propDecorators={elementId:[{type:t.Input,args:["uniScrollElement"]}],direction:[{type:t.Input}],_scrollSpyElements:[{type:t.ContentChildren,args:[a,{descendants:!0}]}],onScroll:[{type:t.HostListener,args:["scroll",["$event"]]}]};var u=function(){function e(e,r){this._scrollSpyService=e,this._cdr=r,this.classActive=!1,this.scrollElement="window",this.activeEvent=new t.EventEmitter}return e.prototype.ngOnDestroy=function(){this._subscriber&&this._subscriber.unsubscribe()},e.prototype.ngAfterViewInit=function(){var e=this;this._subscriber=this._scrollSpyService.observe(this.scrollElement).subscribe((function(t){var r;null!=t?(r=t.id===e.itemId,e.activeEvent.emit(r)):r=!1,setTimeout((function(){e.classActive=r,e._cdr.markForCheck()}))}))},e}();u.decorators=[{type:t.Directive,args:[{selector:"[uniScrollItem]"}]}],u.ctorParameters=function(){return[{type:c},{type:t.ChangeDetectorRef}]},u.propDecorators={classActive:[{type:t.HostBinding,args:["class.active"]}],itemId:[{type:t.Input,args:["uniScrollItem"]}],scrollElement:[{type:t.Input}],activeEvent:[{type:t.Output}]};Object.create;function m(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var l,i,n=r.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(l=n.next()).done;)o.push(l.value)}catch(e){i={error:e}}finally{try{l&&!l.done&&(r=n.return)&&r.call(n)}finally{if(i)throw i.error}}return o}function p(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(m(arguments[t]));return e}Object.create;var d=[a,u,h],f=[],E=[c],_=function(){function e(){}return e.forRoot=function(t){return void 0===t&&(t={lookAhead:!1}),{ngModule:e,providers:p(E,[{provide:s,useValue:t}])}},e}();_.decorators=[{type:t.NgModule,args:[{imports:[r.CommonModule],declarations:p(d,f),exports:p(d,f)}]}],e.NgxScrollspyModule=_,e.ScrollElementDirective=h,e.ScrollItemDirective=u,e.ScrollSpyDirective=a,e.ScrollSpyService=c,e.ɵa=s,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
|
-
//# sourceMappingURL=uniprank-ngx-scrollspy.umd.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../library/ngx-scrollspy/src/lib/scroll-direction.enum.ts","../../../library/ngx-scrollspy/src/lib/scroll-spy.service.ts","../../../library/ngx-scrollspy/src/lib/scroll-spy.directive.ts","../../../library/ngx-scrollspy/src/lib/scroll-element.directive.ts","../../../library/ngx-scrollspy/src/lib/scroll-item.directive.ts","../../../node_modules/tslib/tslib.es6.js","../../../library/ngx-scrollspy/src/lib/ngx-scrollspy.module.ts"],"names":["ScrollDirectionEnum","defaultElementId","SPY_CONFIG","InjectionToken","ScrollSpyService","doc","config","_this","this","_scrollItems","_scrollElements","_$scrollElementListener","_scrollElementListener","_onStopListening","Subject","_resizeEvents","fromEvent","window","pipe","auditTime","takeUntil","_scrollEvents","_initScrollElementListener","_generateScrollElement","ElementRef","documentElement","body","vertical","subscribe","_windowScroll","_lookAhead","lookAhead","_activateOnlySetItems","activateOnlySetItems","attributeType","prototype","scrollElementId","scrollElement","BehaviorSubject","updateScrollElement","elementRef","direction","offset","id","setOffset","_checkScrollElementExists","setScrollElement","_checkScrollElementNotExists","Error","setItem","itemId","_checkItemNotExists","_generateScrollObject","_setDefaultItem","nativeElement","_setScrollElementListener","scrollObject","setTimeout","next","changeScrollElement","oldElementId","newElementId","override","_checkItemExists","_scrollItem","_oldElements","_getElementItems","length","_items","key","hasOwnProperty","value","push","observe","asObservable","_element","_elementItems","_nextActiveItem","_getActiveItem","_currentActiveItem","listOfElements","_direction","_scrollObject","forEach","_active","horizontal","_scrollLeft","toLowerCase","pageXOffset","scrollLeft","offsetLeft","_scrollTop","pageYOffset","scrollTop","offsetTop","offsetHeight","deleteScrollElement","deleteItem","Injectable","Inject","args","DOCUMENT","type","Optional","ScrollSpyDirective","_el","_scrollSpyService","_cdr","classActive","ngOnDestroy","_subscriber","unsubscribe","ngAfterViewInit","element","_active_1","markForCheck","_keyType","setAttribute","Directive","selector","ChangeDetectorRef","HostBinding","Input","ScrollElementDirective","onScroll","$event","elementId","ngOnInit","_scrollSpyElements","toArray","ContentChildren","descendants","HostListener","ScrollItemDirective","activeEvent","EventEmitter","emit","Output","Object","create","__read","o","n","m","Symbol","iterator","r","e","i","call","ar","done","error","__spread","arguments","concat","directives","components","providers","NgxScrollspyModule","forRoot","parameters","ngModule","provide","useValue","NgModule","imports","CommonModule","declarations","exports"],"mappings":"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","sourcesContent":["export enum ScrollDirectionEnum {\n vertical = 'vertical',\n horizontal = 'horizontal'\n}\n","import { Injectable, ElementRef, Inject, InjectionToken, Optional } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { BehaviorSubject, Observable, Subject, fromEvent } from 'rxjs';\nimport { auditTime, takeUntil } from 'rxjs/operators';\n\nimport { ScrollObjectInterface } from './scroll-object.interface';\nimport { ScrollElementInterface } from './scroll-element.interface';\nimport { ScrollDirectionEnum } from './scroll-direction.enum';\n\nconst defaultElementId = 'window';\n\nexport const SPY_CONFIG = new InjectionToken<SpyConfig>(null);\n\nexport interface SpyConfig {\n /**\n * @param boolean lookAhead\n * Set the first scroll item active even when the scroll element has not yet been reached\n */\n lookAhead?: boolean;\n /**\n * @param boolean activateOnlySetItems\n * Set the the scroll items active only when the scroll element reached the set offset and is still in the viewport\n */\n activateOnlySetItems?: boolean;\n /**\n * @param boolean activateOnlySetItems\n * Set the the scroll items active only when the scroll element reached the set offset and is still in the viewport\n */\n attributeType?: 'id' | 'data-id';\n}\n\n@Injectable()\nexport class ScrollSpyService {\n private _scrollItems: { [itemId: string]: ScrollObjectInterface } = {};\n private _scrollElements: { [scrollElementId: string]: ScrollElementInterface } = {};\n private _$scrollElementListener: { [scrollElementId: string]: BehaviorSubject<ScrollObjectInterface> } = {};\n\n private _scrollElementListener: { [scrollElementId: string]: ScrollObjectInterface } = {};\n\n private _onStopListening = new Subject();\n private _resizeEvents = fromEvent(window, 'resize').pipe(auditTime(300), takeUntil(this._onStopListening));\n private _scrollEvents = fromEvent(window, 'scroll').pipe(auditTime(10), takeUntil(this._onStopListening));\n\n private _lookAhead: boolean;\n private _activateOnlySetItems: boolean;\n\n readonly attributeType: 'id' | 'data-id';\n\n constructor(@Inject(DOCUMENT) private doc: any, @Inject(SPY_CONFIG) @Optional() config?: SpyConfig) {\n this._initScrollElementListener(\n defaultElementId,\n this._generateScrollElement(defaultElementId, new ElementRef(doc.documentElement || doc.body), ScrollDirectionEnum.vertical)\n );\n\n this._resizeEvents.subscribe(() => this._windowScroll());\n this._scrollEvents.subscribe(() => this._windowScroll());\n this._windowScroll();\n if (config !== null) {\n this._lookAhead = config.lookAhead;\n this._activateOnlySetItems = config.activateOnlySetItems;\n this.attributeType = config.attributeType;\n } else {\n this._lookAhead = false;\n this._activateOnlySetItems = false;\n this.attributeType = 'id';\n }\n }\n\n private _initScrollElementListener(scrollElementId: string, scrollElement: ScrollElementInterface): void {\n this._scrollElements[scrollElementId] = scrollElement;\n this._scrollElementListener[scrollElementId] = null;\n this._$scrollElementListener[scrollElementId] = new BehaviorSubject(null);\n }\n\n private _windowScroll() {\n this.updateScrollElement(defaultElementId);\n }\n\n private _generateScrollElement(\n scrollElementId: string,\n elementRef: ElementRef,\n direction: ScrollDirectionEnum,\n offset: number = 0\n ): ScrollElementInterface {\n return {\n id: scrollElementId,\n elementRef,\n direction,\n offset\n };\n }\n\n public setOffset(scrollElementId: string, offset: number): void {\n this._checkScrollElementExists(scrollElementId);\n this._scrollElements[scrollElementId].offset = offset;\n }\n\n public setScrollElement(scrollElementId: string, elementRef: ElementRef, direction: ScrollDirectionEnum, offset: number = 0): void {\n this._checkScrollElementNotExists(scrollElementId);\n this._initScrollElementListener(scrollElementId, this._generateScrollElement(scrollElementId, elementRef, direction, offset));\n }\n\n private _checkScrollElementNotExists(scrollElementId: string): void {\n if (this._scrollElements[scrollElementId] != null) {\n throw new Error(`ScrollSpyService: The scroll element with the id [${scrollElementId}] exists.`);\n }\n }\n\n public setItem(itemId: string, elementRef: ElementRef, scrollElementId = defaultElementId): void {\n this._checkItemNotExists(itemId);\n this._scrollItems[itemId] = this._generateScrollObject(itemId, elementRef, scrollElementId);\n this._setDefaultItem(itemId, scrollElementId);\n }\n\n private _checkItemNotExists(itemId: string): void {\n if (this._scrollItems[itemId] != null) {\n throw new Error(`ScrollSpyService: The scroll item with the id [${itemId}] exists.`);\n }\n }\n\n private _generateScrollObject(id: string, elementRef: ElementRef, scrollElementId: string): ScrollObjectInterface {\n return {\n id,\n scrollElementId,\n elementRef,\n nativeElement: elementRef.nativeElement\n };\n }\n\n private _setDefaultItem(itemId: string, scrollElementId: string): void {\n if (this._lookAhead) {\n return;\n }\n const _value = this._scrollElementListener[scrollElementId];\n if (_value == null) {\n this._setScrollElementListener(scrollElementId, this._scrollItems[itemId]);\n }\n }\n\n private _setScrollElementListener(scrollElementId: string, scrollObject: ScrollObjectInterface): void {\n this._scrollElementListener[scrollElementId] = scrollObject;\n setTimeout(() => this._$scrollElementListener[scrollElementId].next(scrollObject));\n }\n\n public changeScrollElement(itemId: string, oldElementId: string, newElementId: string, override = false) {\n this._checkScrollElementExists(oldElementId);\n this._checkScrollElementExists(newElementId);\n this._checkItemExists(itemId);\n\n const _scrollItem = this._scrollItems[itemId];\n if ((_scrollItem.scrollElementId !== defaultElementId && override) || _scrollItem.scrollElementId === defaultElementId) {\n this._scrollItems[itemId].scrollElementId = newElementId;\n }\n\n this._setDefaultItem(itemId, newElementId);\n\n const _oldElements = this._getElementItems(oldElementId);\n if (_oldElements.length > 0) {\n this._setDefaultItem(_oldElements[0].id, oldElementId);\n }\n }\n\n private _getElementItems(scrollElementId: string): Array<ScrollObjectInterface> {\n const _items = [];\n for (const key in this._scrollItems) {\n if (this._scrollItems.hasOwnProperty(key)) {\n const value = this._scrollItems[key];\n if (value.scrollElementId === scrollElementId) {\n _items.push(value);\n }\n }\n }\n return _items;\n }\n\n private _checkItemExists(itemId: string): void {\n if (this._scrollItems[itemId] == null) {\n throw new Error(`ScrollSpyService: The scroll item with the id [${itemId}] doesn't exist.`);\n }\n }\n\n public observe(scrollElementId: string = defaultElementId): Observable<ScrollObjectInterface> {\n this._checkScrollElementExists(scrollElementId);\n return this._$scrollElementListener[scrollElementId].asObservable();\n }\n\n private _checkScrollElementExists(scrollElementId: string): void {\n if (this._scrollElements[scrollElementId] == null) {\n throw new Error(`ScrollSpyService: The scroll element with the id [${scrollElementId}] doesn't exist.`);\n }\n }\n\n public updateScrollElement(scrollElementId: string): void {\n this._checkScrollElementExists(scrollElementId);\n\n const _element = this._scrollElements[scrollElementId];\n const _elementItems = this._getElementItems(scrollElementId);\n\n const _nextActiveItem = this._getActiveItem(_element, _elementItems);\n const _currentActiveItem = this._scrollElementListener[scrollElementId];\n\n if (_currentActiveItem == null) {\n if (_nextActiveItem != null) {\n this._setScrollElementListener(scrollElementId, _nextActiveItem);\n }\n } else if (_nextActiveItem != null) {\n if (_currentActiveItem.id !== _nextActiveItem.id) {\n this._setScrollElementListener(scrollElementId, _nextActiveItem);\n }\n } else if (_nextActiveItem == null && this._lookAhead) {\n this._setScrollElementListener(scrollElementId, null);\n }\n }\n\n private _getActiveItem(scrollElement: ScrollElementInterface, listOfElements: Array<ScrollObjectInterface>): ScrollObjectInterface {\n const _direction = scrollElement.direction;\n let _scrollObject = null;\n\n const nativeElement = scrollElement.elementRef.nativeElement;\n listOfElements.forEach((_element) => {\n let _active = false;\n switch (_direction) {\n case ScrollDirectionEnum.horizontal:\n const _scrollLeft = scrollElement.id.toLowerCase() === 'window' ? (window && window.pageXOffset) || 0 : nativeElement.scrollLeft;\n _active = _element.nativeElement.offsetLeft <= _scrollLeft + scrollElement.offset;\n break;\n\n default: {\n const _scrollTop = scrollElement.id.toLowerCase() === 'window' ? (window && window.pageYOffset) || 0 : nativeElement.scrollTop;\n if (this._activateOnlySetItems) {\n _active =\n _element.nativeElement.offsetTop < _scrollTop + scrollElement.offset &&\n _element.nativeElement.offsetTop + _element.nativeElement.offsetHeight > _scrollTop + scrollElement.offset;\n } else {\n _active = _element.nativeElement.offsetTop <= _scrollTop + scrollElement.offset;\n }\n }\n }\n if (_active) {\n _scrollObject = _element;\n }\n });\n return _scrollObject;\n }\n\n public deleteScrollElement(scrollElementId: string): void {\n if (scrollElementId === 'window') {\n this._setScrollElementListener(scrollElementId, null);\n } else {\n this._checkScrollElementExists(scrollElementId);\n delete this._scrollElements[scrollElementId];\n delete this._$scrollElementListener[scrollElementId];\n delete this._scrollElementListener[scrollElementId];\n }\n }\n\n public deleteItem(itemId: string): void {\n if (this._scrollItems[itemId] != null) {\n delete this._scrollItems[itemId];\n }\n }\n}\n","import { Directive, AfterViewInit, Input, ElementRef, HostBinding, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { ScrollSpyService } from './scroll-spy.service';\n\n@Directive({\n selector: '[uniScrollSpy]'\n})\nexport class ScrollSpyDirective implements AfterViewInit, OnDestroy {\n @HostBinding('class.active') classActive = false;\n\n @Input('uniScrollSpy') itemId: string;\n @Input() scrollElement = 'window';\n\n private _subscriber: Subscription;\n\n constructor(private _el: ElementRef, private _scrollSpyService: ScrollSpyService, private _cdr: ChangeDetectorRef) {}\n\n ngOnDestroy(): void {\n if (this._subscriber) {\n this._subscriber.unsubscribe();\n }\n this._scrollSpyService.deleteItem(this.itemId);\n }\n\n ngAfterViewInit(): void {\n this._subscriber = this._scrollSpyService.observe(this.scrollElement).subscribe((element) => {\n if (element != null) {\n const _active = element.id === this.itemId;\n setTimeout(() => {\n this.classActive = _active;\n this._cdr.markForCheck();\n });\n }\n });\n this._scrollSpyService.setItem(this.itemId, this._el, this.scrollElement);\n\n let _keyType = 'id';\n if (this._scrollSpyService.attributeType === 'data-id') {\n _keyType = 'data-id';\n }\n this._el.nativeElement.setAttribute(_keyType, this.itemId);\n }\n}\n","import { Directive, HostListener, ElementRef, Input, OnInit, OnDestroy, ContentChildren, QueryList, AfterViewInit } from '@angular/core';\n\nimport { ScrollDirectionEnum } from './scroll-direction.enum';\nimport { ScrollSpyService } from './scroll-spy.service';\nimport { ScrollSpyDirective } from './scroll-spy.directive';\n\n@Directive({\n selector: '[uniScrollElement]'\n})\nexport class ScrollElementDirective implements OnInit, AfterViewInit, OnDestroy {\n @Input('uniScrollElement') elementId: string;\n @Input() direction: ScrollDirectionEnum = ScrollDirectionEnum.vertical;\n\n @ContentChildren(ScrollSpyDirective, { descendants: true })\n private _scrollSpyElements: QueryList<ScrollSpyDirective>;\n\n @HostListener('scroll', ['$event'])\n onScroll($event) {\n this._scrollSpyService.updateScrollElement(this.elementId);\n }\n\n constructor(private _el: ElementRef, private _scrollSpyService: ScrollSpyService) {}\n\n ngOnInit(): void {\n this._scrollSpyService.setScrollElement(this.elementId, this._el, this.direction);\n if (this._scrollSpyService.attributeType === 'id') {\n this._el.nativeElement.setAttribute('id', this.elementId);\n } else {\n this._el.nativeElement.setAttribute('data-id', this.elementId);\n }\n }\n\n ngAfterViewInit(): void {\n const _scrollSpyElements: ScrollSpyDirective[] = this._scrollSpyElements.toArray();\n _scrollSpyElements.forEach((element) => {\n this._scrollSpyService.changeScrollElement(element.itemId, element.scrollElement, this.elementId);\n });\n }\n\n ngOnDestroy(): void {\n this._scrollSpyService.deleteScrollElement(this.elementId);\n }\n}\n","import { Directive, Input, Output, EventEmitter, OnDestroy, HostBinding, AfterViewInit, ChangeDetectorRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { ScrollSpyService } from './scroll-spy.service';\n\n@Directive({\n selector: '[uniScrollItem]'\n})\nexport class ScrollItemDirective implements OnDestroy, AfterViewInit {\n @HostBinding('class.active') classActive = false;\n\n @Input('uniScrollItem') itemId: string;\n @Input() scrollElement = 'window';\n\n @Output() activeEvent: EventEmitter<boolean> = new EventEmitter();\n\n private _subscriber: Subscription;\n\n constructor(private _scrollSpyService: ScrollSpyService, private _cdr: ChangeDetectorRef) {}\n\n ngOnDestroy(): void {\n if (this._subscriber) {\n this._subscriber.unsubscribe();\n }\n }\n\n ngAfterViewInit(): void {\n this._subscriber = this._scrollSpyService.observe(this.scrollElement).subscribe((element) => {\n let _active;\n if (element != null) {\n _active = element.id === this.itemId;\n this.activeEvent.emit(_active);\n } else {\n _active = false;\n }\n\n setTimeout(() => {\n this.classActive = _active;\n this._cdr.markForCheck();\n });\n });\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { NgModule, Provider, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\n\nimport { ScrollSpyDirective } from './scroll-spy.directive';\nimport { ScrollItemDirective } from './scroll-item.directive';\nimport { ScrollElementDirective } from './scroll-element.directive';\n\nimport { SPY_CONFIG, SpyConfig, ScrollSpyService } from './scroll-spy.service';\nimport { CommonModule } from '@angular/common';\n\nconst directives: any[] = [ScrollSpyDirective, ScrollItemDirective, ScrollElementDirective];\nconst components: any[] = [];\nconst providers: Provider[] = [ScrollSpyService];\n\n@NgModule({\n imports: [CommonModule],\n declarations: [...directives, ...components],\n exports: [...directives, ...components]\n})\nexport class NgxScrollspyModule {\n public static forRoot(parameters: SpyConfig = { lookAhead: false }): ModuleWithProviders<NgxScrollspyModule> {\n return {\n ngModule: NgxScrollspyModule,\n providers: [...providers, { provide: SPY_CONFIG, useValue: parameters }]\n };\n }\n}\n"]}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { ScrollSpyDirective } from './scroll-spy.directive';
|
|
3
|
-
import { ScrollItemDirective } from './scroll-item.directive';
|
|
4
|
-
import { ScrollElementDirective } from './scroll-element.directive';
|
|
5
|
-
import { SPY_CONFIG, ScrollSpyService } from './scroll-spy.service';
|
|
6
|
-
import { CommonModule } from '@angular/common';
|
|
7
|
-
const directives = [ScrollSpyDirective, ScrollItemDirective, ScrollElementDirective];
|
|
8
|
-
const components = [];
|
|
9
|
-
const providers = [ScrollSpyService];
|
|
10
|
-
export class NgxScrollspyModule {
|
|
11
|
-
static forRoot(parameters = { lookAhead: false }) {
|
|
12
|
-
return {
|
|
13
|
-
ngModule: NgxScrollspyModule,
|
|
14
|
-
providers: [...providers, { provide: SPY_CONFIG, useValue: parameters }]
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
NgxScrollspyModule.decorators = [
|
|
19
|
-
{ type: NgModule, args: [{
|
|
20
|
-
imports: [CommonModule],
|
|
21
|
-
declarations: [...directives, ...components],
|
|
22
|
-
exports: [...directives, ...components]
|
|
23
|
-
},] }
|
|
24
|
-
];
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNjcm9sbHNweS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJyYXJ5L25neC1zY3JvbGxzcHkvc3JjL2xpYi9uZ3gtc2Nyb2xsc3B5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFxRCxNQUFNLGVBQWUsQ0FBQztBQUU1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsVUFBVSxFQUFhLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE1BQU0sVUFBVSxHQUFVLENBQUMsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztBQUM1RixNQUFNLFVBQVUsR0FBVSxFQUFFLENBQUM7QUFDN0IsTUFBTSxTQUFTLEdBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBT2pELE1BQU0sT0FBTyxrQkFBa0I7SUFDcEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUF3QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7UUFDOUQsT0FBTztZQUNILFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsU0FBUyxFQUFFLENBQUMsR0FBRyxTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQztTQUMzRSxDQUFDO0lBQ04sQ0FBQzs7O1lBWEosUUFBUSxTQUFDO2dCQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztnQkFDdkIsWUFBWSxFQUFFLENBQUMsR0FBRyxVQUFVLEVBQUUsR0FBRyxVQUFVLENBQUM7Z0JBQzVDLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLEdBQUcsVUFBVSxDQUFDO2FBQzFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIFByb3ZpZGVyLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBTa2lwU2VsZiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2Nyb2xsU3B5RGlyZWN0aXZlIH0gZnJvbSAnLi9zY3JvbGwtc3B5LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTY3JvbGxJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9zY3JvbGwtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2Nyb2xsRWxlbWVudERpcmVjdGl2ZSB9IGZyb20gJy4vc2Nyb2xsLWVsZW1lbnQuZGlyZWN0aXZlJztcblxuaW1wb3J0IHsgU1BZX0NPTkZJRywgU3B5Q29uZmlnLCBTY3JvbGxTcHlTZXJ2aWNlIH0gZnJvbSAnLi9zY3JvbGwtc3B5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuY29uc3QgZGlyZWN0aXZlczogYW55W10gPSBbU2Nyb2xsU3B5RGlyZWN0aXZlLCBTY3JvbGxJdGVtRGlyZWN0aXZlLCBTY3JvbGxFbGVtZW50RGlyZWN0aXZlXTtcbmNvbnN0IGNvbXBvbmVudHM6IGFueVtdID0gW107XG5jb25zdCBwcm92aWRlcnM6IFByb3ZpZGVyW10gPSBbU2Nyb2xsU3B5U2VydmljZV07XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbLi4uZGlyZWN0aXZlcywgLi4uY29tcG9uZW50c10sXG4gICAgZXhwb3J0czogWy4uLmRpcmVjdGl2ZXMsIC4uLmNvbXBvbmVudHNdXG59KVxuZXhwb3J0IGNsYXNzIE5neFNjcm9sbHNweU1vZHVsZSB7XG4gICAgcHVibGljIHN0YXRpYyBmb3JSb290KHBhcmFtZXRlcnM6IFNweUNvbmZpZyA9IHsgbG9va0FoZWFkOiBmYWxzZSB9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hTY3JvbGxzcHlNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBOZ3hTY3JvbGxzcHlNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFsuLi5wcm92aWRlcnMsIHsgcHJvdmlkZTogU1BZX0NPTkZJRywgdXNlVmFsdWU6IHBhcmFtZXRlcnMgfV1cbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export var ScrollDirectionEnum;
|
|
2
|
-
(function (ScrollDirectionEnum) {
|
|
3
|
-
ScrollDirectionEnum["vertical"] = "vertical";
|
|
4
|
-
ScrollDirectionEnum["horizontal"] = "horizontal";
|
|
5
|
-
})(ScrollDirectionEnum || (ScrollDirectionEnum = {}));
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWRpcmVjdGlvbi5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicmFyeS9uZ3gtc2Nyb2xsc3B5L3NyYy9saWIvc2Nyb2xsLWRpcmVjdGlvbi5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLG1CQUdYO0FBSEQsV0FBWSxtQkFBbUI7SUFDM0IsNENBQXFCLENBQUE7SUFDckIsZ0RBQXlCLENBQUE7QUFDN0IsQ0FBQyxFQUhXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFHOUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTY3JvbGxEaXJlY3Rpb25FbnVtIHtcbiAgICB2ZXJ0aWNhbCA9ICd2ZXJ0aWNhbCcsXG4gICAgaG9yaXpvbnRhbCA9ICdob3Jpem9udGFsJ1xufVxuIl19
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { Directive, HostListener, ElementRef, Input, ContentChildren, QueryList } from '@angular/core';
|
|
2
|
-
import { ScrollDirectionEnum } from './scroll-direction.enum';
|
|
3
|
-
import { ScrollSpyService } from './scroll-spy.service';
|
|
4
|
-
import { ScrollSpyDirective } from './scroll-spy.directive';
|
|
5
|
-
export class ScrollElementDirective {
|
|
6
|
-
constructor(_el, _scrollSpyService) {
|
|
7
|
-
this._el = _el;
|
|
8
|
-
this._scrollSpyService = _scrollSpyService;
|
|
9
|
-
this.direction = ScrollDirectionEnum.vertical;
|
|
10
|
-
}
|
|
11
|
-
onScroll($event) {
|
|
12
|
-
this._scrollSpyService.updateScrollElement(this.elementId);
|
|
13
|
-
}
|
|
14
|
-
ngOnInit() {
|
|
15
|
-
this._scrollSpyService.setScrollElement(this.elementId, this._el, this.direction);
|
|
16
|
-
if (this._scrollSpyService.attributeType === 'id') {
|
|
17
|
-
this._el.nativeElement.setAttribute('id', this.elementId);
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
this._el.nativeElement.setAttribute('data-id', this.elementId);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
ngAfterViewInit() {
|
|
24
|
-
const _scrollSpyElements = this._scrollSpyElements.toArray();
|
|
25
|
-
_scrollSpyElements.forEach((element) => {
|
|
26
|
-
this._scrollSpyService.changeScrollElement(element.itemId, element.scrollElement, this.elementId);
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
ngOnDestroy() {
|
|
30
|
-
this._scrollSpyService.deleteScrollElement(this.elementId);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
ScrollElementDirective.decorators = [
|
|
34
|
-
{ type: Directive, args: [{
|
|
35
|
-
selector: '[uniScrollElement]'
|
|
36
|
-
},] }
|
|
37
|
-
];
|
|
38
|
-
ScrollElementDirective.ctorParameters = () => [
|
|
39
|
-
{ type: ElementRef },
|
|
40
|
-
{ type: ScrollSpyService }
|
|
41
|
-
];
|
|
42
|
-
ScrollElementDirective.propDecorators = {
|
|
43
|
-
elementId: [{ type: Input, args: ['uniScrollElement',] }],
|
|
44
|
-
direction: [{ type: Input }],
|
|
45
|
-
_scrollSpyElements: [{ type: ContentChildren, args: [ScrollSpyDirective, { descendants: true },] }],
|
|
46
|
-
onScroll: [{ type: HostListener, args: ['scroll', ['$event'],] }]
|
|
47
|
-
};
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWVsZW1lbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicmFyeS9uZ3gtc2Nyb2xsc3B5L3NyYy9saWIvc2Nyb2xsLWVsZW1lbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQXFCLGVBQWUsRUFBRSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXpJLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSzVELE1BQU0sT0FBTyxzQkFBc0I7SUFZL0IsWUFBb0IsR0FBZSxFQUFVLGlCQUFtQztRQUE1RCxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQVZ2RSxjQUFTLEdBQXdCLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztJQVVZLENBQUM7SUFKcEYsUUFBUSxDQUFDLE1BQU07UUFDWCxJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFJRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEYsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxLQUFLLElBQUksRUFBRTtZQUMvQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM3RDthQUFNO1lBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDbEU7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLE1BQU0sa0JBQWtCLEdBQXlCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuRixrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvRCxDQUFDOzs7WUFuQ0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxvQkFBb0I7YUFDakM7OztZQVJpQyxVQUFVO1lBR25DLGdCQUFnQjs7O3dCQU9wQixLQUFLLFNBQUMsa0JBQWtCO3dCQUN4QixLQUFLO2lDQUVMLGVBQWUsU0FBQyxrQkFBa0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7dUJBR3pELFlBQVksU0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgT25EZXN0cm95LCBDb250ZW50Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTY3JvbGxEaXJlY3Rpb25FbnVtIH0gZnJvbSAnLi9zY3JvbGwtZGlyZWN0aW9uLmVudW0nO1xuaW1wb3J0IHsgU2Nyb2xsU3B5U2VydmljZSB9IGZyb20gJy4vc2Nyb2xsLXNweS5zZXJ2aWNlJztcbmltcG9ydCB7IFNjcm9sbFNweURpcmVjdGl2ZSB9IGZyb20gJy4vc2Nyb2xsLXNweS5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t1bmlTY3JvbGxFbGVtZW50XSdcbn0pXG5leHBvcnQgY2xhc3MgU2Nyb2xsRWxlbWVudERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoJ3VuaVNjcm9sbEVsZW1lbnQnKSBlbGVtZW50SWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBkaXJlY3Rpb246IFNjcm9sbERpcmVjdGlvbkVudW0gPSBTY3JvbGxEaXJlY3Rpb25FbnVtLnZlcnRpY2FsO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihTY3JvbGxTcHlEaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBwcml2YXRlIF9zY3JvbGxTcHlFbGVtZW50czogUXVlcnlMaXN0PFNjcm9sbFNweURpcmVjdGl2ZT47XG5cbiAgICBASG9zdExpc3RlbmVyKCdzY3JvbGwnLCBbJyRldmVudCddKVxuICAgIG9uU2Nyb2xsKCRldmVudCkge1xuICAgICAgICB0aGlzLl9zY3JvbGxTcHlTZXJ2aWNlLnVwZGF0ZVNjcm9sbEVsZW1lbnQodGhpcy5lbGVtZW50SWQpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsOiBFbGVtZW50UmVmLCBwcml2YXRlIF9zY3JvbGxTcHlTZXJ2aWNlOiBTY3JvbGxTcHlTZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Njcm9sbFNweVNlcnZpY2Uuc2V0U2Nyb2xsRWxlbWVudCh0aGlzLmVsZW1lbnRJZCwgdGhpcy5fZWwsIHRoaXMuZGlyZWN0aW9uKTtcbiAgICAgICAgaWYgKHRoaXMuX3Njcm9sbFNweVNlcnZpY2UuYXR0cmlidXRlVHlwZSA9PT0gJ2lkJykge1xuICAgICAgICAgICAgdGhpcy5fZWwubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2lkJywgdGhpcy5lbGVtZW50SWQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZWwubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtaWQnLCB0aGlzLmVsZW1lbnRJZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IF9zY3JvbGxTcHlFbGVtZW50czogU2Nyb2xsU3B5RGlyZWN0aXZlW10gPSB0aGlzLl9zY3JvbGxTcHlFbGVtZW50cy50b0FycmF5KCk7XG4gICAgICAgIF9zY3JvbGxTcHlFbGVtZW50cy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9zY3JvbGxTcHlTZXJ2aWNlLmNoYW5nZVNjcm9sbEVsZW1lbnQoZWxlbWVudC5pdGVtSWQsIGVsZW1lbnQuc2Nyb2xsRWxlbWVudCwgdGhpcy5lbGVtZW50SWQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2Nyb2xsU3B5U2VydmljZS5kZWxldGVTY3JvbGxFbGVtZW50KHRoaXMuZWxlbWVudElkKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWVsZW1lbnQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicmFyeS9uZ3gtc2Nyb2xsc3B5L3NyYy9saWIvc2Nyb2xsLWVsZW1lbnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNjcm9sbERpcmVjdGlvbkVudW0gfSBmcm9tICcuL3Njcm9sbC1kaXJlY3Rpb24uZW51bSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2Nyb2xsRWxlbWVudEludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuICAgIGRpcmVjdGlvbjogU2Nyb2xsRGlyZWN0aW9uRW51bTtcbiAgICBvZmZzZXQ6IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { Directive, Input, Output, EventEmitter, HostBinding, ChangeDetectorRef } from '@angular/core';
|
|
2
|
-
import { ScrollSpyService } from './scroll-spy.service';
|
|
3
|
-
export class ScrollItemDirective {
|
|
4
|
-
constructor(_scrollSpyService, _cdr) {
|
|
5
|
-
this._scrollSpyService = _scrollSpyService;
|
|
6
|
-
this._cdr = _cdr;
|
|
7
|
-
this.classActive = false;
|
|
8
|
-
this.scrollElement = 'window';
|
|
9
|
-
this.activeEvent = new EventEmitter();
|
|
10
|
-
}
|
|
11
|
-
ngOnDestroy() {
|
|
12
|
-
if (this._subscriber) {
|
|
13
|
-
this._subscriber.unsubscribe();
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
ngAfterViewInit() {
|
|
17
|
-
this._subscriber = this._scrollSpyService.observe(this.scrollElement).subscribe((element) => {
|
|
18
|
-
let _active;
|
|
19
|
-
if (element != null) {
|
|
20
|
-
_active = element.id === this.itemId;
|
|
21
|
-
this.activeEvent.emit(_active);
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
_active = false;
|
|
25
|
-
}
|
|
26
|
-
setTimeout(() => {
|
|
27
|
-
this.classActive = _active;
|
|
28
|
-
this._cdr.markForCheck();
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
ScrollItemDirective.decorators = [
|
|
34
|
-
{ type: Directive, args: [{
|
|
35
|
-
selector: '[uniScrollItem]'
|
|
36
|
-
},] }
|
|
37
|
-
];
|
|
38
|
-
ScrollItemDirective.ctorParameters = () => [
|
|
39
|
-
{ type: ScrollSpyService },
|
|
40
|
-
{ type: ChangeDetectorRef }
|
|
41
|
-
];
|
|
42
|
-
ScrollItemDirective.propDecorators = {
|
|
43
|
-
classActive: [{ type: HostBinding, args: ['class.active',] }],
|
|
44
|
-
itemId: [{ type: Input, args: ['uniScrollItem',] }],
|
|
45
|
-
scrollElement: [{ type: Input }],
|
|
46
|
-
activeEvent: [{ type: Output }]
|
|
47
|
-
};
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicmFyeS9uZ3gtc2Nyb2xsc3B5L3NyYy9saWIvc2Nyb2xsLWl0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWEsV0FBVyxFQUFpQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqSSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUt4RCxNQUFNLE9BQU8sbUJBQW1CO0lBVTVCLFlBQW9CLGlCQUFtQyxFQUFVLElBQXVCO1FBQXBFLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQVQzRCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUd4QyxrQkFBYSxHQUFHLFFBQVEsQ0FBQztRQUV4QixnQkFBVyxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBSXlCLENBQUM7SUFFNUYsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2xDO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3hGLElBQUksT0FBTyxDQUFDO1lBQ1osSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFO2dCQUNqQixPQUFPLEdBQUcsT0FBTyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNsQztpQkFBTTtnQkFDSCxPQUFPLEdBQUcsS0FBSyxDQUFDO2FBQ25CO1lBRUQsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQztnQkFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7O1lBcENKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2FBQzlCOzs7WUFKUSxnQkFBZ0I7WUFIK0QsaUJBQWlCOzs7MEJBU3BHLFdBQVcsU0FBQyxjQUFjO3FCQUUxQixLQUFLLFNBQUMsZUFBZTs0QkFDckIsS0FBSzswQkFFTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgSG9zdEJpbmRpbmcsIEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2Nyb2xsU3B5U2VydmljZSB9IGZyb20gJy4vc2Nyb2xsLXNweS5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdW5pU2Nyb2xsSXRlbV0nXG59KVxuZXhwb3J0IGNsYXNzIFNjcm9sbEl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuYWN0aXZlJykgY2xhc3NBY3RpdmUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgndW5pU2Nyb2xsSXRlbScpIGl0ZW1JZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHNjcm9sbEVsZW1lbnQgPSAnd2luZG93JztcblxuICAgIEBPdXRwdXQoKSBhY3RpdmVFdmVudDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHJpdmF0ZSBfc3Vic2NyaWJlcjogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfc2Nyb2xsU3B5U2VydmljZTogU2Nyb2xsU3B5U2VydmljZSwgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fc3Vic2NyaWJlcikge1xuICAgICAgICAgICAgdGhpcy5fc3Vic2NyaWJlci51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpYmVyID0gdGhpcy5fc2Nyb2xsU3B5U2VydmljZS5vYnNlcnZlKHRoaXMuc2Nyb2xsRWxlbWVudCkuc3Vic2NyaWJlKChlbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBsZXQgX2FjdGl2ZTtcbiAgICAgICAgICAgIGlmIChlbGVtZW50ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICBfYWN0aXZlID0gZWxlbWVudC5pZCA9PT0gdGhpcy5pdGVtSWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVFdmVudC5lbWl0KF9hY3RpdmUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBfYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xhc3NBY3RpdmUgPSBfYWN0aXZlO1xuICAgICAgICAgICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLW9iamVjdC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJyYXJ5L25neC1zY3JvbGxzcHkvc3JjL2xpYi9zY3JvbGwtb2JqZWN0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNjcm9sbE9iamVjdEludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBzY3JvbGxFbGVtZW50SWQ6IHN0cmluZztcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuICAgIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xufVxuIl19
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { Directive, Input, ElementRef, HostBinding, ChangeDetectorRef } from '@angular/core';
|
|
2
|
-
import { ScrollSpyService } from './scroll-spy.service';
|
|
3
|
-
export class ScrollSpyDirective {
|
|
4
|
-
constructor(_el, _scrollSpyService, _cdr) {
|
|
5
|
-
this._el = _el;
|
|
6
|
-
this._scrollSpyService = _scrollSpyService;
|
|
7
|
-
this._cdr = _cdr;
|
|
8
|
-
this.classActive = false;
|
|
9
|
-
this.scrollElement = 'window';
|
|
10
|
-
}
|
|
11
|
-
ngOnDestroy() {
|
|
12
|
-
if (this._subscriber) {
|
|
13
|
-
this._subscriber.unsubscribe();
|
|
14
|
-
}
|
|
15
|
-
this._scrollSpyService.deleteItem(this.itemId);
|
|
16
|
-
}
|
|
17
|
-
ngAfterViewInit() {
|
|
18
|
-
this._subscriber = this._scrollSpyService.observe(this.scrollElement).subscribe((element) => {
|
|
19
|
-
if (element != null) {
|
|
20
|
-
const _active = element.id === this.itemId;
|
|
21
|
-
setTimeout(() => {
|
|
22
|
-
this.classActive = _active;
|
|
23
|
-
this._cdr.markForCheck();
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
this._scrollSpyService.setItem(this.itemId, this._el, this.scrollElement);
|
|
28
|
-
let _keyType = 'id';
|
|
29
|
-
if (this._scrollSpyService.attributeType === 'data-id') {
|
|
30
|
-
_keyType = 'data-id';
|
|
31
|
-
}
|
|
32
|
-
this._el.nativeElement.setAttribute(_keyType, this.itemId);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
ScrollSpyDirective.decorators = [
|
|
36
|
-
{ type: Directive, args: [{
|
|
37
|
-
selector: '[uniScrollSpy]'
|
|
38
|
-
},] }
|
|
39
|
-
];
|
|
40
|
-
ScrollSpyDirective.ctorParameters = () => [
|
|
41
|
-
{ type: ElementRef },
|
|
42
|
-
{ type: ScrollSpyService },
|
|
43
|
-
{ type: ChangeDetectorRef }
|
|
44
|
-
];
|
|
45
|
-
ScrollSpyDirective.propDecorators = {
|
|
46
|
-
classActive: [{ type: HostBinding, args: ['class.active',] }],
|
|
47
|
-
itemId: [{ type: Input, args: ['uniScrollSpy',] }],
|
|
48
|
-
scrollElement: [{ type: Input }]
|
|
49
|
-
};
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLXNweS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJyYXJ5L25neC1zY3JvbGxzcHkvc3JjL2xpYi9zY3JvbGwtc3B5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2SCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUt4RCxNQUFNLE9BQU8sa0JBQWtCO0lBUTdCLFlBQW9CLEdBQWUsRUFBVSxpQkFBbUMsRUFBVSxJQUF1QjtRQUE3RixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQW1CO1FBUHBGLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBR3hDLGtCQUFhLEdBQUcsUUFBUSxDQUFDO0lBSWtGLENBQUM7SUFFckgsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2hDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzFGLElBQUksT0FBTyxJQUFJLElBQUksRUFBRTtnQkFDbkIsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUMzQyxVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNkLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO29CQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUMzQixDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFMUUsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsS0FBSyxTQUFTLEVBQUU7WUFDdEQsUUFBUSxHQUFHLFNBQVMsQ0FBQztTQUN0QjtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdELENBQUM7OztZQXJDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjthQUMzQjs7O1lBUHlDLFVBQVU7WUFHM0MsZ0JBQWdCO1lBSHFELGlCQUFpQjs7OzBCQVM1RixXQUFXLFNBQUMsY0FBYztxQkFFMUIsS0FBSyxTQUFDLGNBQWM7NEJBQ3BCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEFmdGVyVmlld0luaXQsIElucHV0LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjcm9sbFNweVNlcnZpY2UgfSBmcm9tICcuL3Njcm9sbC1zcHkuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t1bmlTY3JvbGxTcHldJ1xufSlcbmV4cG9ydCBjbGFzcyBTY3JvbGxTcHlEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFjdGl2ZScpIGNsYXNzQWN0aXZlID0gZmFsc2U7XG5cbiAgQElucHV0KCd1bmlTY3JvbGxTcHknKSBpdGVtSWQ6IHN0cmluZztcbiAgQElucHV0KCkgc2Nyb2xsRWxlbWVudCA9ICd3aW5kb3cnO1xuXG4gIHByaXZhdGUgX3N1YnNjcmliZXI6IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbDogRWxlbWVudFJlZiwgcHJpdmF0ZSBfc2Nyb2xsU3B5U2VydmljZTogU2Nyb2xsU3B5U2VydmljZSwgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3Vic2NyaWJlcikge1xuICAgICAgdGhpcy5fc3Vic2NyaWJlci51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLl9zY3JvbGxTcHlTZXJ2aWNlLmRlbGV0ZUl0ZW0odGhpcy5pdGVtSWQpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmliZXIgPSB0aGlzLl9zY3JvbGxTcHlTZXJ2aWNlLm9ic2VydmUodGhpcy5zY3JvbGxFbGVtZW50KS5zdWJzY3JpYmUoKGVsZW1lbnQpID0+IHtcbiAgICAgIGlmIChlbGVtZW50ICE9IG51bGwpIHtcbiAgICAgICAgY29uc3QgX2FjdGl2ZSA9IGVsZW1lbnQuaWQgPT09IHRoaXMuaXRlbUlkO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmNsYXNzQWN0aXZlID0gX2FjdGl2ZTtcbiAgICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuX3Njcm9sbFNweVNlcnZpY2Uuc2V0SXRlbSh0aGlzLml0ZW1JZCwgdGhpcy5fZWwsIHRoaXMuc2Nyb2xsRWxlbWVudCk7XG5cbiAgICBsZXQgX2tleVR5cGUgPSAnaWQnO1xuICAgIGlmICh0aGlzLl9zY3JvbGxTcHlTZXJ2aWNlLmF0dHJpYnV0ZVR5cGUgPT09ICdkYXRhLWlkJykge1xuICAgICAgX2tleVR5cGUgPSAnZGF0YS1pZCc7XG4gICAgfVxuICAgIHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKF9rZXlUeXBlLCB0aGlzLml0ZW1JZCk7XG4gIH1cbn1cbiJdfQ==
|