materialize-angular
Version:
Material UI Angular library
180 lines • 14.3 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: app/completed-components/glossary/glossary.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @license
* Copyright Workylab. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://raw.githubusercontent.com/workylab/materialize-angular/master/LICENSE
*/
import { Component, ContentChildren, Input, QueryList } from '@angular/core';
import { config } from '../../config';
import { getOffseTop } from '../../utils/get-offset-top.util';
import { GlossaryItemComponent } from './glossary-item/glossary-item.component';
import { Router } from '@angular/router';
export class GlossaryComponent {
/**
* @param {?} router
*/
constructor(router) {
this.router = router;
this.className = GlossaryComponent.defaultProps.className;
this.scrollSpy = GlossaryComponent.defaultProps.scrollSpy;
this.topSpace = GlossaryComponent.defaultProps.topSpace;
this.prefix = config.components.prefix;
this.activeReferenceId = '';
this.onClickItem = this.onClickItem.bind(this);
this.registerOptions = this.registerOptions.bind(this);
this.update = this.update.bind(this);
}
/**
* @return {?}
*/
ngAfterViewInit() {
this.registerOptions();
setTimeout(this.update, 30);
if (this.scrollSpy) {
this.scrollSpy.onChangeEmitter.subscribe((/**
* @param {?} referenceId
* @return {?}
*/
(referenceId) => {
this.activeReferenceId = referenceId;
this.activeItemByReferenceId(referenceId);
}));
}
}
/**
* @return {?}
*/
update() {
this.activeReferenceId = this.getActiveReferenceId();
this.activeItemByReferenceId(this.activeReferenceId);
this.scrollTo(this.activeReferenceId);
}
/**
* @param {?} referenceId
* @return {?}
*/
scrollTo(referenceId) {
/** @type {?} */
const element = document.getElementById(referenceId);
if (element) {
/** @type {?} */
const elementOffsetTop = getOffseTop(element);
/** @type {?} */
const scrollTop = elementOffsetTop - this.topSpace;
setTimeout((/**
* @return {?}
*/
() => window.scrollTo(0, scrollTop)), 150);
}
}
/**
* @return {?}
*/
getActiveReferenceId() {
/** @type {?} */
const routerTree = this.router.parseUrl(this.router.url);
if (routerTree && routerTree.fragment) {
return routerTree.fragment;
}
return '';
}
/**
* @return {?}
*/
registerOptions() {
this.items.forEach((/**
* @param {?} item
* @return {?}
*/
item => {
item.onClickEmitter.subscribe(this.onClickItem);
}));
}
/**
* @param {?} referenceId
* @return {?}
*/
onClickItem(referenceId) {
this.activeReferenceId = referenceId;
this.activeItemByReferenceId(referenceId);
this.scrollTo(referenceId);
/** @type {?} */
const routerTree = this.router.parseUrl(this.router.url);
const { primary } = routerTree.root.children;
/** @type {?} */
const urlWithoutParams = primary
? primary.segments.map((/**
* @param {?} segment
* @return {?}
*/
segment => segment.path))
: routerTree.root.segments.map((/**
* @param {?} segment
* @return {?}
*/
segment => segment.path));
this.router.navigate(urlWithoutParams, { fragment: referenceId });
}
/**
* @param {?} referenceId
* @return {?}
*/
activeItemByReferenceId(referenceId) {
this.items.forEach((/**
* @param {?} item
* @return {?}
*/
item => {
item.isActive = item.referenceId === referenceId;
}));
}
}
GlossaryComponent.defaultProps = {
className: '',
scrollSpy: null,
topSpace: 0
};
GlossaryComponent.decorators = [
{ type: Component, args: [{
selector: `${config.components.prefix}-glossary`,
template: "<ul [ngClass]=\"className\">\n <ng-content></ng-content>\n</ul>\n"
}] }
];
/** @nocollapse */
GlossaryComponent.ctorParameters = () => [
{ type: Router }
];
GlossaryComponent.propDecorators = {
items: [{ type: ContentChildren, args: [GlossaryItemComponent,] }],
className: [{ type: Input }],
scrollSpy: [{ type: Input }],
topSpace: [{ type: Input }]
};
if (false) {
/** @type {?} */
GlossaryComponent.defaultProps;
/** @type {?} */
GlossaryComponent.prototype.items;
/** @type {?} */
GlossaryComponent.prototype.className;
/** @type {?} */
GlossaryComponent.prototype.scrollSpy;
/** @type {?} */
GlossaryComponent.prototype.topSpace;
/** @type {?} */
GlossaryComponent.prototype.prefix;
/** @type {?} */
GlossaryComponent.prototype.activeReferenceId;
/**
* @type {?}
* @private
*/
GlossaryComponent.prototype.router;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvc3NhcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbWF0ZXJpYWxpemUtYW5ndWxhci8iLCJzb3VyY2VzIjpbImFwcC9jb21wbGV0ZWQtY29tcG9uZW50cy9nbG9zc2FyeS9nbG9zc2FyeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBUUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFaEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTXpDLE1BQU0sT0FBTyxpQkFBaUI7Ozs7SUFpQjVCLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBUnpCLGNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO1FBQ3JELGNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO1FBQ3JELGFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO1FBRXJELFdBQU0sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUVsQyxzQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFHNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1B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LElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTzs7OztRQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsS0FBSyxXQUFXLENBQUM7UUFDbkQsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOztBQTNGZSw4QkFBWSxHQUFrQjtJQUM1QyxTQUFTLEVBQUUsRUFBRTtJQUNiLFNBQVMsRUFBRSxJQUFJO0lBQ2YsUUFBUSxFQUFFLENBQUM7Q0FDWixDQUFDOztZQVRILFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsR0FBSSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU8sV0FBVztnQkFDbEQsOEVBQXdDO2FBQ3pDOzs7O1lBTFEsTUFBTTs7O29CQWFaLGVBQWUsU0FBQyxxQkFBcUI7d0JBRXJDLEtBQUs7d0JBQ0wsS0FBSzt1QkFDTCxLQUFLOzs7O0lBVk4sK0JBSUU7O0lBRUYsa0NBQWdGOztJQUVoRixzQ0FBOEQ7O0lBQzlELHNDQUE4RDs7SUFDOUQscUNBQTREOztJQUU1RCxtQ0FBeUM7O0lBRXpDLDhDQUE4Qjs7Ozs7SUFFbEIsbUNBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IFdvcmt5bGFiLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS93b3JreWxhYi9tYXRlcmlhbGl6ZS1hbmd1bGFyL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIElucHV0LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJy4uLy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBnZXRPZmZzZVRvcCB9IGZyb20gJy4uLy4uL3V0aWxzL2dldC1vZmZzZXQtdG9wLnV0aWwnO1xuaW1wb3J0IHsgR2xvc3NhcnlJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9nbG9zc2FyeS1pdGVtL2dsb3NzYXJ5LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEdsb3NzYXJ5TW9kZWwgfSBmcm9tICcuL2dsb3NzYXJ5Lm1vZGVsJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogYCR7IGNvbmZpZy5jb21wb25lbnRzLnByZWZpeCB9LWdsb3NzYXJ5YCxcbiAgdGVtcGxhdGVVcmw6ICcuL2dsb3NzYXJ5LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBHbG9zc2FyeUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEdsb3NzYXJ5TW9kZWwge1xuICBzdGF0aWMgcmVhZG9ubHkgZGVmYXVsdFByb3BzOiBHbG9zc2FyeU1vZGVsID0ge1xuICAgIGNsYXNzTmFtZTogJycsXG4gICAgc2Nyb2xsU3B5OiBudWxsLFxuICAgIHRvcFNwYWNlOiAwXG4gIH07XG5cbiAgQENvbnRlbnRDaGlsZHJlbihHbG9zc2FyeUl0ZW1Db21wb25lbnQpIGl0ZW1zOiBRdWVyeUxpc3Q8R2xvc3NhcnlJdGVtQ29tcG9uZW50PjtcblxuICBASW5wdXQoKSBjbGFzc05hbWUgPSBHbG9zc2FyeUNvbXBvbmVudC5kZWZhdWx0UHJvcHMuY2xhc3NOYW1lO1xuICBASW5wdXQoKSBzY3JvbGxTcHkgPSBHbG9zc2FyeUNvbXBvbmVudC5kZWZhdWx0UHJvcHMuc2Nyb2xsU3B5O1xuICBASW5wdXQoKSB0b3BTcGFjZSA9IEdsb3NzYXJ5Q29tcG9uZW50LmRlZmF1bHRQcm9wcy50b3BTcGFjZTtcblxuICBwdWJsaWMgcHJlZml4ID0gY29uZmlnLmNvbXBvbmVudHMucHJlZml4O1xuXG4gIHB1YmxpYyBhY3RpdmVSZWZlcmVuY2VJZCA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcbiAgICB0aGlzLm9uQ2xpY2tJdGVtID0gdGhpcy5vbkNsaWNrSXRlbS5iaW5kKHRoaXMpO1xuICAgIHRoaXMucmVnaXN0ZXJPcHRpb25zID0gdGhpcy5yZWdpc3Rlck9wdGlvbnMuYmluZCh0aGlzKTtcbiAgICB0aGlzLnVwZGF0ZSA9IHRoaXMudXBkYXRlLmJpbmQodGhpcyk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5yZWdpc3Rlck9wdGlvbnMoKTtcblxuICAgIHNldFRpbWVvdXQodGhpcy51cGRhdGUsIDMwKTtcblxuICAgIGlmICh0aGlzLnNjcm9sbFNweSkge1xuICAgICAgdGhpcy5zY3JvbGxTcHkub25DaGFuZ2VFbWl0dGVyLnN1YnNjcmliZSgocmVmZXJlbmNlSWQ6IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLmFjdGl2ZVJlZmVyZW5jZUlkID0gcmVmZXJlbmNlSWQ7XG5cbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtQnlSZWZlcmVuY2VJZChyZWZlcmVuY2VJZCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGUoKSB7XG4gICAgdGhpcy5hY3RpdmVSZWZlcmVuY2VJZCA9IHRoaXMuZ2V0QWN0aXZlUmVmZXJlbmNlSWQoKTtcblxuICAgIHRoaXMuYWN0aXZlSXRlbUJ5UmVmZXJlbmNlSWQodGhpcy5hY3RpdmVSZWZlcmVuY2VJZCk7XG5cbiAgICB0aGlzLnNjcm9sbFRvKHRoaXMuYWN0aXZlUmVmZXJlbmNlSWQpO1xuICB9XG5cbiAgc2Nyb2xsVG8ocmVmZXJlbmNlSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChyZWZlcmVuY2VJZCk7XG5cbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgY29uc3QgZWxlbWVudE9mZnNldFRvcCA9IGdldE9mZnNlVG9wKGVsZW1lbnQpO1xuICAgICAgY29uc3Qgc2Nyb2xsVG9wID0gZWxlbWVudE9mZnNldFRvcCAtIHRoaXMudG9wU3BhY2U7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gd2luZG93LnNjcm9sbFRvKDAsIHNjcm9sbFRvcCksIDE1MCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0QWN0aXZlUmVmZXJlbmNlSWQoKTogc3RyaW5nIHtcbiAgICBjb25zdCByb3V0ZXJUcmVlID0gdGhpcy5yb3V0ZXIucGFyc2VVcmwodGhpcy5yb3V0ZXIudXJsKTtcblxuICAgIGlmIChyb3V0ZXJUcmVlICYmIHJvdXRlclRyZWUuZnJhZ21lbnQpIHtcbiAgICAgIHJldHVybiByb3V0ZXJUcmVlLmZyYWdtZW50O1xuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHJlZ2lzdGVyT3B0aW9ucygpIHtcbiAgICB0aGlzLml0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBpdGVtLm9uQ2xpY2tFbWl0dGVyLnN1YnNjcmliZSh0aGlzLm9uQ2xpY2tJdGVtKTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uQ2xpY2tJdGVtKHJlZmVyZW5jZUlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmFjdGl2ZVJlZmVyZW5jZUlkID0gcmVmZXJlbmNlSWQ7XG5cbiAgICB0aGlzLmFjdGl2ZUl0ZW1CeVJlZmVyZW5jZUlkKHJlZmVyZW5jZUlkKTtcbiAgICB0aGlzLnNjcm9sbFRvKHJlZmVyZW5jZUlkKTtcblxuICAgIGNvbnN0IHJvdXRlclRyZWUgPSB0aGlzLnJvdXRlci5wYXJzZVVybCh0aGlzLnJvdXRlci51cmwpO1xuICAgIGNvbnN0IHsgcHJpbWFyeSB9ID0gcm91dGVyVHJlZS5yb290LmNoaWxkcmVuO1xuXG4gICAgY29uc3QgdXJsV2l0aG91dFBhcmFtcyA9IHByaW1hcnlcbiAgICAgID8gcHJpbWFyeS5zZWdtZW50cy5tYXAoc2VnbWVudCA9PiBzZWdtZW50LnBhdGgpXG4gICAgICA6IHJvdXRlclRyZWUucm9vdC5zZWdtZW50cy5tYXAoc2VnbWVudCA9PiBzZWdtZW50LnBhdGgpO1xuXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUodXJsV2l0aG91dFBhcmFtcywgeyBmcmFnbWVudDogcmVmZXJlbmNlSWQgfSk7XG4gIH1cblxuICBhY3RpdmVJdGVtQnlSZWZlcmVuY2VJZChyZWZlcmVuY2VJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgaXRlbS5pc0FjdGl2ZSA9IGl0ZW0ucmVmZXJlbmNlSWQgPT09IHJlZmVyZW5jZUlkO1xuICAgIH0pO1xuICB9XG59XG4iXX0=