@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
95 lines • 7.5 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: anchor-box.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { ContentChildren, Directive, Input, QueryList } from '@angular/core';
import { Subject } from 'rxjs';
import { AnchorDirective } from './anchor.directive';
export class AnchorBoxDirective {
constructor() {
this.refreshAnchorMap = new Subject();
}
/**
* @param {?} list
* @return {?}
*/
set anchorList(list) {
this.anchorMap = {};
this._anchorList = list;
this._anchorList.toArray().forEach((/**
* @param {?} targetAnchor
* @return {?}
*/
targetAnchor => {
this.anchorMap[targetAnchor.anchor] = targetAnchor;
targetAnchor.boxElement = this;
}));
this.refreshAnchorMap.next();
}
/**
* @return {?}
*/
get anchorList() {
return this._anchorList;
}
/**
* @param {?} anchorName
* @param {?=} forceActiveSource
* @param {?=} deactivateOtherAnchor
* @return {?}
*/
forceActiveAnchor(anchorName, forceActiveSource = 'scroll', deactivateOtherAnchor = true) {
this.anchorMap[anchorName].activeChangeBy = forceActiveSource;
this.anchorMap[anchorName].isActive = true;
if (deactivateOtherAnchor) {
Object.keys(this.anchorMap)
.filter((/**
* @param {?} name
* @return {?}
*/
name => name !== anchorName))
.map((/**
* @param {?} name
* @return {?}
*/
name => this.anchorMap[name]))
.forEach((/**
* @param {?} anchor
* @return {?}
*/
anchor => {
anchor.activeChangeBy = forceActiveSource;
anchor.isActive = false;
}));
}
}
}
AnchorBoxDirective.decorators = [
{ type: Directive, args: [{
selector: '[dAnchorBox]'
},] }
];
/** @nocollapse */
AnchorBoxDirective.ctorParameters = () => [];
AnchorBoxDirective.propDecorators = {
view: [{ type: Input }],
defaultAnchor: [{ type: Input }],
scrollTarget: [{ type: Input }],
anchorList: [{ type: ContentChildren, args: [AnchorDirective, { descendants: true },] }]
};
if (false) {
/** @type {?} */
AnchorBoxDirective.prototype.view;
/** @type {?} */
AnchorBoxDirective.prototype.defaultAnchor;
/** @type {?} */
AnchorBoxDirective.prototype.scrollTarget;
/** @type {?} */
AnchorBoxDirective.prototype.refreshAnchorMap;
/** @type {?} */
AnchorBoxDirective.prototype.anchorMap;
/** @type {?} */
AnchorBoxDirective.prototype._anchorList;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5jaG9yLWJveC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1kZXZ1aS9hbmNob3IvIiwic291cmNlcyI6WyJhbmNob3ItYm94LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFLckQsTUFBTSxPQUFPLGtCQUFrQjtJQTJCN0I7UUFwQkEscUJBQWdCLEdBQWlCLElBQUksT0FBTyxFQUFPLENBQUM7SUFxQnBELENBQUM7Ozs7O0lBZkQsSUFDSSxVQUFVLENBQUMsSUFBZ0M7UUFDN0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPOzs7O1FBQUMsWUFBWSxDQUFDLEVBQUU7WUFDOUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsWUFBWSxDQUFDO1lBQ25ELFlBQVksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ25DLENBQUMsRUFBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7Ozs7SUFDRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQzs7Ozs7OztJQUtELGlCQUFpQixDQUFDLFVBQWtCLEVBQUUsb0JBQThDLFFBQVEsRUFBRSxxQkFBcUIsR0FBRyxJQUFJO1FBQ3hILElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsY0FBYyxHQUFHLGlCQUFpQixDQUFDO1FBQzlELElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUMzQyxJQUFJLHFCQUFxQixFQUFFO1lBQ3pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztpQkFDcEIsTUFBTTs7OztZQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBQztpQkFDbkMsR0FBRzs7OztZQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBQztpQkFDakMsT0FBTzs7OztZQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNoQixNQUFNLENBQUMsY0FBYyxHQUFHLGlCQUFpQixDQUFDO2dCQUMxQyxNQUFNLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUMxQixDQUFDLEVBQUMsQ0FBQztTQUNWO0lBQ0gsQ0FBQzs7O1lBN0NGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYzthQUN6Qjs7Ozs7bUJBRUUsS0FBSzs0QkFJTCxLQUFLOzJCQUNMLEtBQUs7eUJBT0wsZUFBZSxTQUFDLGVBQWUsRUFBRSxFQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUM7Ozs7SUFackQsa0NBR0U7O0lBQ0YsMkNBQStCOztJQUMvQiwwQ0FBbUM7O0lBQ25DLDhDQUFvRDs7SUFDcEQsdUNBRUU7O0lBRUYseUNBQXdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIElucHV0LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFuY2hvckFjdGl2ZUNoYW5nZVNvdXJjZSwgSUFuY2hvckJveCB9IGZyb20gJy4vYW5jaG9yLnR5cGUnO1xyXG5pbXBvcnQgeyBBbmNob3JEaXJlY3RpdmUgfSBmcm9tICcuL2FuY2hvci5kaXJlY3RpdmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbZEFuY2hvckJveF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbmNob3JCb3hEaXJlY3RpdmUgaW1wbGVtZW50cyBJQW5jaG9yQm94IHtcclxuICBASW5wdXQoKSB2aWV3OiB7XHJcbiAgICB0b3A/OiBudW1iZXIsXHJcbiAgICBib3R0b20/OiBudW1iZXJcclxuICB9O1xyXG4gIEBJbnB1dCgpIGRlZmF1bHRBbmNob3I6IHN0cmluZztcclxuICBASW5wdXQoKSBzY3JvbGxUYXJnZXQ6IEhUTUxFbGVtZW50O1xyXG4gIHJlZnJlc2hBbmNob3JNYXA6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuICBhbmNob3JNYXA6IHtcclxuICAgIFthbmNob3I6IHN0cmluZ106IEFuY2hvckRpcmVjdGl2ZTtcclxuICB9O1xyXG5cclxuICBfYW5jaG9yTGlzdDogUXVlcnlMaXN0PEFuY2hvckRpcmVjdGl2ZT47XHJcbiAgQENvbnRlbnRDaGlsZHJlbihBbmNob3JEaXJlY3RpdmUsIHtkZXNjZW5kYW50czogdHJ1ZX0pXHJcbiAgc2V0IGFuY2hvckxpc3QobGlzdDogUXVlcnlMaXN0PEFuY2hvckRpcmVjdGl2ZT4pIHtcclxuICAgIHRoaXMuYW5jaG9yTWFwID0ge307XHJcbiAgICB0aGlzLl9hbmNob3JMaXN0ID0gbGlzdDtcclxuICAgIHRoaXMuX2FuY2hvckxpc3QudG9BcnJheSgpLmZvckVhY2godGFyZ2V0QW5jaG9yID0+IHtcclxuICAgICAgICB0aGlzLmFuY2hvck1hcFt0YXJnZXRBbmNob3IuYW5jaG9yXSA9IHRhcmdldEFuY2hvcjtcclxuICAgICAgICB0YXJnZXRBbmNob3IuYm94RWxlbWVudCA9IHRoaXM7XHJcbiAgICB9KTtcclxuICAgIHRoaXMucmVmcmVzaEFuY2hvck1hcC5uZXh0KCk7XHJcbiAgfVxyXG4gIGdldCBhbmNob3JMaXN0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FuY2hvckxpc3Q7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcblxyXG4gIGZvcmNlQWN0aXZlQW5jaG9yKGFuY2hvck5hbWU6IHN0cmluZywgZm9yY2VBY3RpdmVTb3VyY2U6IEFuY2hvckFjdGl2ZUNoYW5nZVNvdXJjZSA9ICdzY3JvbGwnLCBkZWFjdGl2YXRlT3RoZXJBbmNob3IgPSB0cnVlKSB7XHJcbiAgICB0aGlzLmFuY2hvck1hcFthbmNob3JOYW1lXS5hY3RpdmVDaGFuZ2VCeSA9IGZvcmNlQWN0aXZlU291cmNlO1xyXG4gICAgdGhpcy5hbmNob3JNYXBbYW5jaG9yTmFtZV0uaXNBY3RpdmUgPSB0cnVlO1xyXG4gICAgaWYgKGRlYWN0aXZhdGVPdGhlckFuY2hvcikge1xyXG4gICAgICBPYmplY3Qua2V5cyh0aGlzLmFuY2hvck1hcClcclxuICAgICAgICAgICAgLmZpbHRlcihuYW1lID0+IG5hbWUgIT09IGFuY2hvck5hbWUpXHJcbiAgICAgICAgICAgIC5tYXAobmFtZSA9PiB0aGlzLmFuY2hvck1hcFtuYW1lXSlcclxuICAgICAgICAgICAgLmZvckVhY2goYW5jaG9yID0+IHtcclxuICAgICAgICAgICAgICBhbmNob3IuYWN0aXZlQ2hhbmdlQnkgPSBmb3JjZUFjdGl2ZVNvdXJjZTtcclxuICAgICAgICAgICAgICBhbmNob3IuaXNBY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==