blob: f8602cd89899dac66e3af376c3ecf52070a23170 [file] [log] [blame]
import { Component, OnInit, Input } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import * as _ from 'lodash';
@Component({
selector: 'hi-json-viewer',
templateUrl: './json-viewer.component.html',
styleUrls: ['./json-viewer.component.scss'],
})
export class JsonViewerComponent implements OnInit {
// MODE 1: use directly in components
@Input() obj: any;
constructor(protected route: ActivatedRoute) {}
ngOnInit() {
// MODE 2: use in router
if (this.route.snapshot.data.path) {
const path = this.route.snapshot.data.path;
// try parent data first
this.obj = _.get(this.route.parent, `snapshot.data.${path}`);
if (this.obj == null) {
// try self data then
this.obj = _.get(this.route.snapshot.data, path);
}
}
}
}