@ng-flexy/layout
Version:
Flexy components and tools to build Angular 8+ applications
33 lines (32 loc) • 3.66 kB
JavaScript
import { Component, Input } from '@angular/core';
// TODO TOHINK - if & from control is from ng-flexy/form
export class FlexyLayoutComponent {
}
FlexyLayoutComponent.decorators = [
{ type: Component, args: [{
selector: 'flexy-layout',
template: `
<ng-template #tmplRef let-schema>
<ng-container *ngFor="let schemaItem of schema">
<ng-container *ngIf="!schemaItem['if'] || (schemaItem['formControl'] && schemaItem['formControl'].value)">
<ng-container *ngIf="schemaItem.componentType" flexyContainer [componentSchema]="schemaItem"></ng-container>
<ng-container *ngIf="!schemaItem.componentType">
<div flexyAttributes [componentSchema]="schemaItem">
<ng-container *ngIf="schemaItem.children">
<ng-container *ngTemplateOutlet="tmplRef; context: { $implicit: schemaItem.children }"></ng-container>
</ng-container>
</div>
</ng-container>
</ng-container>
</ng-container>
</ng-template>
<ng-content></ng-content>
<ng-container *ngTemplateOutlet="tmplRef; context: { $implicit: schema }"></ng-container>
`
// changeDetection: ChangeDetectionStrategy.OnPush
},] }
];
FlexyLayoutComponent.propDecorators = {
schema: [{ type: Input }]
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xheW91dC9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUd6RCx3REFBd0Q7QUF5QnhELE1BQU0sT0FBTyxvQkFBb0I7OztZQXZCaEMsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2dCQUN4QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCVDtnQkFDRCxrREFBa0Q7YUFDbkQ7OztxQkFFRSxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGbGV4eUxheW91dFNjaGVtYSB9IGZyb20gJy4uL21vZGVsL2xheW91dC1zY2hlbWEubW9kZWwnO1xuXG4vLyBUT0RPIFRPSElOSyAtIGlmICYgZnJvbSBjb250cm9sIGlzIGZyb20gbmctZmxleHkvZm9ybVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmbGV4eS1sYXlvdXQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy10ZW1wbGF0ZSAjdG1wbFJlZiBsZXQtc2NoZW1hPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc2NoZW1hSXRlbSBvZiBzY2hlbWFcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzY2hlbWFJdGVtWydpZiddIHx8IChzY2hlbWFJdGVtWydmb3JtQ29udHJvbCddICYmIHNjaGVtYUl0ZW1bJ2Zvcm1Db250cm9sJ10udmFsdWUpXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNjaGVtYUl0ZW0uY29tcG9uZW50VHlwZVwiIGZsZXh5Q29udGFpbmVyIFtjb21wb25lbnRTY2hlbWFdPVwic2NoZW1hSXRlbVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2NoZW1hSXRlbS5jb21wb25lbnRUeXBlXCI+XG4gICAgICAgICAgICA8ZGl2IGZsZXh5QXR0cmlidXRlcyBbY29tcG9uZW50U2NoZW1hXT1cInNjaGVtYUl0ZW1cIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNjaGVtYUl0ZW0uY2hpbGRyZW5cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidG1wbFJlZjsgY29udGV4dDogeyAkaW1wbGljaXQ6IHNjaGVtYUl0ZW0uY2hpbGRyZW4gfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRtcGxSZWY7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBzY2hlbWEgfVwiPjwvbmctY29udGFpbmVyPlxuICBgXG4gIC8vIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEZsZXh5TGF5b3V0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgc2NoZW1hOiBGbGV4eUxheW91dFNjaGVtYVtdO1xufVxuIl19