UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

95 lines 7.5 kB
/** * @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==