UNPKG

liberry

Version:

liberry is a command utility to help you easily set up, develop, and host your own project pattern library.

45 lines (41 loc) 1.67 kB
import {Component, SkipSelf, Input, Host, ViewChildren, Inject, Injector, forwardRef, QueryList, HostListener} from '@angular/core'; import {RouteParams} from '@angular/router'; import metadata from 'liberry'; import createPrototypeChain from "app/utilities/createPrototypeChain"; import componentBuilder from 'app/utilities/componentBuilder'; import {objectPath} from "app/utilities/objectPath"; import {LibraryMetadata, Parent} from 'app/constants/DependencyTokens'; import provideAsParent from 'app/providers/provideAsParent'; import {BehaviorSubject} from 'rxjs/BehaviorSubject'; import _ from "lodash"; export var RepeaterComponents = componentBuilder(metadata.site.repeaters, "Repeater", (repeater) => { @Component({ selector: `[${repeater.name}-repeater]`, template: repeater.html, providers: [provideAsParent(RepeaterComponent)] }) class RepeaterComponent { constructor( private _routeParams: RouteParams, public libraryMetadata: LibraryMetadata, @SkipSelf() public parent: Parent ) { this.url = _routeParams.params; this.library = libraryMetadata.library; }; public context; public url; public library; public observableContext = new BehaviorSubject<Object>(undefined); public id = `${repeater.name}Repeater` ngOnInit() { //console.log(`init: ${component.name}Component`, `parent: ${this.parent.id}`, this.parent); var cmp = this; this.parent.observableContext.subscribe((context) => { //debugger; cmp.observableContext.next(cmp.context); }); } } return RepeaterComponent; });