nxt-json-view 4.1.0 → 15.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/esm2020/lib/json-view/json-view.component.mjs +21 -0
- package/esm2020/lib/json-view-item/json-view-item.component.mjs +104 -0
- package/esm2020/lib/json-view.module.mjs +27 -0
- package/esm2020/lib/utils/utils.mjs +1 -1
- package/esm2020/nxt-json-view.mjs +1 -1
- package/esm2020/public-api.mjs +4 -4
- package/fesm2015/nxt-json-view.mjs +18 -19
- package/fesm2015/nxt-json-view.mjs.map +1 -1
- package/fesm2020/nxt-json-view.mjs +18 -19
- package/fesm2020/nxt-json-view.mjs.map +1 -1
- package/lib/json-view/json-view.component.d.ts +14 -0
- package/lib/{nxt-json-view/json-view-item → json-view-item}/json-view-item.component.d.ts +1 -1
- package/lib/json-view.module.d.ts +9 -0
- package/lib/utils/utils.d.ts +1 -1
- package/package.json +11 -6
- package/public-api.d.ts +3 -3
- package/esm2020/lib/nxt-json-view/json-view-item/json-view-item.component.mjs +0 -104
- package/esm2020/lib/nxt-json-view/nxt-json-view/nxt-json-view.component.mjs +0 -21
- package/esm2020/lib/nxt-json-view/nxt-json-view.module.mjs +0 -29
- package/lib/nxt-json-view/nxt-json-view/nxt-json-view.component.d.ts +0 -14
- package/lib/nxt-json-view/nxt-json-view.module.d.ts +0 -9
- /package/{nxt-json-view.d.ts → index.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ A JSON View component for Angular 13+ (an angular based JSON display component)
|
|
|
4
4
|
|
|
5
5
|
## Demo
|
|
6
6
|
|
|
7
|
-
<https://liquid-js.github.io/nxt-json-view
|
|
7
|
+
<https://liquid-js.github.io/nxt-components/json-view>
|
|
8
8
|
|
|
9
9
|
## installation
|
|
10
10
|
|
|
@@ -20,10 +20,10 @@ npm install nxt-json-view --save
|
|
|
20
20
|
npm install nxt-json-view --save
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
- Import in module `
|
|
23
|
+
- Import in module `JsonViewModule`
|
|
24
24
|
|
|
25
25
|
```ts
|
|
26
|
-
import {
|
|
26
|
+
import { JsonViewModule } from 'nxt-json-view';
|
|
27
27
|
|
|
28
28
|
@NgModule({
|
|
29
29
|
declarations: [
|
|
@@ -31,7 +31,7 @@ import { NxtJsonViewModule } from 'nxt-json-view';
|
|
|
31
31
|
],
|
|
32
32
|
imports: [
|
|
33
33
|
BrowserModule,
|
|
34
|
-
|
|
34
|
+
JsonViewModule
|
|
35
35
|
],
|
|
36
36
|
bootstrap: [AppComponent]
|
|
37
37
|
})
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Component, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../json-view-item/json-view-item.component";
|
|
4
|
+
export class JsonViewComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.level = 0;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
JsonViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
JsonViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: JsonViewComponent, selector: "nxt-json-view", inputs: { data: "data", levelOpen: "levelOpen", levelLabels: "levelLabels" }, ngImport: i0, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"level\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.JsonViewItemComponent, selector: "nxt-json-view-item", inputs: ["data", "key", "level", "levelOpen", "levelLabels"] }] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewComponent, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{ selector: 'nxt-json-view', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"level\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n" }]
|
|
14
|
+
}], propDecorators: { data: [{
|
|
15
|
+
type: Input
|
|
16
|
+
}], levelOpen: [{
|
|
17
|
+
type: Input
|
|
18
|
+
}], levelLabels: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}] } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2pzb24tdmlldy9zcmMvbGliL2pzb24tdmlldy9qc29uLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvanNvbi12aWV3L3NyYy9saWIvanNvbi12aWV3L2pzb24tdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQTs7O0FBUW5FLE1BQU0sT0FBTyxpQkFBaUI7SUFOOUI7UUFhSSxVQUFLLEdBQVcsQ0FBQyxDQUFBO0tBRXBCOzs4R0FUWSxpQkFBaUI7a0dBQWpCLGlCQUFpQixtSUNSOUIsME9BT0E7MkZEQ2EsaUJBQWlCO2tCQU43QixTQUFTOytCQUNJLGVBQWUsaUJBR1YsaUJBQWlCLENBQUMsUUFBUTs4QkFJaEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdueHQtanNvbi12aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vanNvbi12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9qc29uLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZFxufSlcbmV4cG9ydCBjbGFzcyBKc29uVmlld0NvbXBvbmVudCB7XG5cbiAgICBASW5wdXQoKSBkYXRhOiBhbnlcbiAgICBASW5wdXQoKSBsZXZlbE9wZW4/OiBudW1iZXJcbiAgICBASW5wdXQoKSBsZXZlbExhYmVscz86IHsgW2tleTogbnVtYmVyXTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB9XG5cbiAgICBrZXk/OiBzdHJpbmdcbiAgICBsZXZlbDogbnVtYmVyID0gMFxuXG59XG4iLCI8ZGl2IGNsYXNzPVwibnh0LWpzb24tdmlld1wiPlxuICAgIDxueHQtanNvbi12aWV3LWl0ZW0gW2RhdGFdPVwiZGF0YVwiXG4gICAgICAgIFtsZXZlbF09XCJsZXZlbFwiXG4gICAgICAgIFtsZXZlbE9wZW5dPVwibGV2ZWxPcGVuXCJcbiAgICAgICAgW2xldmVsTGFiZWxzXT1cImxldmVsTGFiZWxzXCJcbiAgICAgICAgY2xhc3M9XCJqc29uLXZpZXdcIj48L254dC1qc29uLXZpZXctaXRlbT5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { Component, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { isArray, isBoolean, isNumber, isObject, isString, isUndefined } from '../utils/utils';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class JsonViewItemComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.level = 0;
|
|
8
|
+
this.isOpen = false;
|
|
9
|
+
this.hasChildren = false;
|
|
10
|
+
this.isObject = false;
|
|
11
|
+
this.isArray = false;
|
|
12
|
+
this.isInit = false;
|
|
13
|
+
this._levelLabels = {};
|
|
14
|
+
}
|
|
15
|
+
set data(data) {
|
|
16
|
+
this._data = data;
|
|
17
|
+
if (this.isInit) {
|
|
18
|
+
this.init();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
get data() {
|
|
22
|
+
return this._data;
|
|
23
|
+
}
|
|
24
|
+
ngOnInit() {
|
|
25
|
+
this.init();
|
|
26
|
+
this.isInit = true;
|
|
27
|
+
}
|
|
28
|
+
init() {
|
|
29
|
+
this.levelLabelHandle();
|
|
30
|
+
this.levelOpenHandle();
|
|
31
|
+
this.childrenKeysHandle();
|
|
32
|
+
this.dataHandle();
|
|
33
|
+
}
|
|
34
|
+
levelLabelHandle() {
|
|
35
|
+
if (this.levelLabels !== undefined) {
|
|
36
|
+
this._levelLabels = this.levelLabels[this.level] || {};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
levelOpenHandle() {
|
|
40
|
+
if (!isUndefined(this.levelOpen) && (this.level <= this.levelOpen)) {
|
|
41
|
+
this.isOpen = true;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
childrenKeysHandle() {
|
|
45
|
+
if (isObject(this.data)) {
|
|
46
|
+
this.childrenKeys = Object.keys(this.data);
|
|
47
|
+
if (this.childrenKeys && this.childrenKeys.length) {
|
|
48
|
+
this.hasChildren = true;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
dataHandle() {
|
|
53
|
+
if (isObject(this.data)) {
|
|
54
|
+
this.isObject = true;
|
|
55
|
+
this.dataType = 'Object';
|
|
56
|
+
if (isArray(this.data)) {
|
|
57
|
+
this.isArray = true;
|
|
58
|
+
this.dataType = 'Array';
|
|
59
|
+
}
|
|
60
|
+
if (this.key && this._levelLabels[this.key]) {
|
|
61
|
+
this.dataType = this._levelLabels[this.key];
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this.value = this.data;
|
|
66
|
+
if (isString(this.data)) {
|
|
67
|
+
this.valueType = 'string';
|
|
68
|
+
}
|
|
69
|
+
else if (isNumber(this.data)) {
|
|
70
|
+
this.valueType = 'number';
|
|
71
|
+
}
|
|
72
|
+
else if (isBoolean(this.data)) {
|
|
73
|
+
this.valueType = 'boolean';
|
|
74
|
+
}
|
|
75
|
+
else if (null === this.data) {
|
|
76
|
+
this.valueType = 'null';
|
|
77
|
+
this.value = 'null';
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
toggle() {
|
|
82
|
+
if (!(this.childrenKeys && this.childrenKeys.length)) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
this.isOpen = !this.isOpen;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
JsonViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
89
|
+
JsonViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: { data: "data", key: "key", level: "level", levelOpen: "levelOpen", levelLabels: "levelLabels" }, ngImport: i0, template: "<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n", styles: [".json-view a{cursor:pointer;text-decoration:none}.json-view .toggler{width:1em;padding:0;display:block;text-align:center;float:left}.json-view .collapse:before{content:\"-\"}.json-view .expand:before{content:\"+\"}.json-view .key{color:#92278f}.json-view .value{color:#000}.json-view .value .string{color:#3ab54a}.json-view .value .number{color:#25aae2}.json-view .value .boolean{color:#aa0d91}.json-view .value .null{color:#f1592a}.json-view .children{margin-left:1em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: ["data", "key", "level", "levelOpen", "levelLabels"] }] });
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewItemComponent, decorators: [{
|
|
91
|
+
type: Component,
|
|
92
|
+
args: [{ selector: 'nxt-json-view-item', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n", styles: [".json-view a{cursor:pointer;text-decoration:none}.json-view .toggler{width:1em;padding:0;display:block;text-align:center;float:left}.json-view .collapse:before{content:\"-\"}.json-view .expand:before{content:\"+\"}.json-view .key{color:#92278f}.json-view .value{color:#000}.json-view .value .string{color:#3ab54a}.json-view .value .number{color:#25aae2}.json-view .value .boolean{color:#aa0d91}.json-view .value .null{color:#f1592a}.json-view .children{margin-left:1em}\n"] }]
|
|
93
|
+
}], propDecorators: { data: [{
|
|
94
|
+
type: Input
|
|
95
|
+
}], key: [{
|
|
96
|
+
type: Input
|
|
97
|
+
}], level: [{
|
|
98
|
+
type: Input
|
|
99
|
+
}], levelOpen: [{
|
|
100
|
+
type: Input
|
|
101
|
+
}], levelLabels: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}] } });
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi12aWV3LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvanNvbi12aWV3L3NyYy9saWIvanNvbi12aWV3LWl0ZW0vanNvbi12aWV3LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvanNvbi12aWV3L3NyYy9saWIvanNvbi12aWV3LWl0ZW0vanNvbi12aWV3LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7OztBQVE5RixNQUFNLE9BQU8scUJBQXFCO0lBTmxDO1FBbUJhLFVBQUssR0FBVyxDQUFDLENBQUE7UUFJMUIsV0FBTSxHQUFZLEtBQUssQ0FBQTtRQUV2QixnQkFBVyxHQUFZLEtBQUssQ0FBQTtRQUk1QixhQUFRLEdBQVksS0FBSyxDQUFBO1FBQ3pCLFlBQU8sR0FBWSxLQUFLLENBQUE7UUFDeEIsV0FBTSxHQUFZLEtBQUssQ0FBQTtRQUN2QixpQkFBWSxHQUE4QixFQUFFLENBQUE7S0FvRS9DO0lBNUZHLElBQ0ksSUFBSSxDQUFDLElBQXFCO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFBO1FBQ2pCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNiLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtTQUNkO0lBQ0wsQ0FBQztJQUNELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQTtJQUNyQixDQUFDO0lBaUJELFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDWCxJQUFJ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Q1RsQywyaUNBNkJBLGcxQkRwQmEscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0ksb0JBQW9CLGlCQUdmLGlCQUFpQixDQUFDLFFBQVE7OEJBS3JDLElBQUk7c0JBRFAsS0FBSztnQkFVRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgaXNBcnJheSwgaXNCb29sZWFuLCBpc051bWJlciwgaXNPYmplY3QsIGlzU3RyaW5nLCBpc1VuZGVmaW5lZCB9IGZyb20gJy4uL3V0aWxzL3V0aWxzJ1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ254dC1qc29uLXZpZXctaXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2pzb24tdmlldy1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9qc29uLXZpZXctaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIEpzb25WaWV3SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSBfZGF0YT86IGFueVxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRhdGEoZGF0YTogYW55IHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX2RhdGEgPSBkYXRhXG4gICAgICAgIGlmICh0aGlzLmlzSW5pdCkge1xuICAgICAgICAgICAgdGhpcy5pbml0KClcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgZGF0YSgpOiBhbnkgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YVxuICAgIH1cbiAgICBASW5wdXQoKSBrZXk/OiBzdHJpbmdcbiAgICBASW5wdXQoKSBsZXZlbDogbnVtYmVyID0gMFxuICAgIEBJbnB1dCgpIGxldmVsT3Blbj86IG51bWJlclxuICAgIEBJbnB1dCgpIGxldmVsTGFiZWxzPzogeyBba2V5OiBudW1iZXJdOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IH1cblxuICAgIGlzT3BlbjogYm9vbGVhbiA9IGZhbHNlXG4gICAgY2hpbGRyZW5LZXlzPzogc3RyaW5nW11cbiAgICBoYXNDaGlsZHJlbjogYm9vbGVhbiA9IGZhbHNlXG4gICAgZGF0YVR5cGU/OiBzdHJpbmdcbiAgICB2YWx1ZTogYW55XG4gICAgdmFsdWVUeXBlPzogc3RyaW5nXG4gICAgaXNPYmplY3Q6IGJvb2xlYW4gPSBmYWxzZVxuICAgIGlzQXJyYXk6IGJvb2xlYW4gPSBmYWxzZVxuICAgIGlzSW5pdDogYm9vbGVhbiA9IGZhbHNlXG4gICAgX2xldmVsTGFiZWxzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmluaXQoKVxuICAgICAgICB0aGlzLmlzSW5pdCA9IHRydWVcbiAgICB9XG5cbiAgICBpbml0KCkge1xuICAgICAgICB0aGlzLmxldmVsTGFiZWxIYW5kbGUoKVxuICAgICAgICB0aGlzLmxldmVsT3BlbkhhbmRsZSgpXG4gICAgICAgIHRoaXMuY2hpbGRyZW5LZXlzSGFuZGxlKClcbiAgICAgICAgdGhpcy5kYXRhSGFuZGxlKClcbiAgICB9XG5cbiAgICBsZXZlbExhYmVsSGFuZGxlKCkge1xuICAgICAgICBpZiAodGhpcy5sZXZlbExhYmVscyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLl9sZXZlbExhYmVscyA9IHRoaXMubGV2ZWxMYWJlbHNbdGhpcy5sZXZlbF0gfHwge31cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxldmVsT3BlbkhhbmRsZSgpIHtcbiAgICAgICAgaWYgKCFpc1VuZGVmaW5lZCh0aGlzLmxldmVsT3BlbikgJiYgKHRoaXMubGV2ZWwgPD0gdGhpcy5sZXZlbE9wZW4pKSB7XG4gICAgICAgICAgICB0aGlzLmlzT3BlbiA9IHRydWVcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoaWxkcmVuS2V5c0hhbmRsZSgpIHtcbiAgICAgICAgaWYgKGlzT2JqZWN0KHRoaXMuZGF0YSkpIHtcbiAgICAgICAgICAgIHRoaXMuY2hpbGRyZW5LZXlzID0gT2JqZWN0LmtleXModGhpcy5kYXRhKVxuICAgICAgICAgICAgaWYgKHRoaXMuY2hpbGRyZW5LZXlzICYmIHRoaXMuY2hpbGRyZW5LZXlzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzQ2hpbGRyZW4gPSB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkYXRhSGFuZGxlKCkge1xuICAgICAgICBpZiAoaXNPYmplY3QodGhpcy5kYXRhKSkge1xuICAgICAgICAgICAgdGhpcy5pc09iamVjdCA9IHRydWVcbiAgICAgICAgICAgIHRoaXMuZGF0YVR5cGUgPSAnT2JqZWN0J1xuICAgICAgICAgICAgaWYgKGlzQXJyYXkodGhpcy5kYXRhKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNBcnJheSA9IHRydWVcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFUeXBlID0gJ0FycmF5J1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMua2V5ICYmIHRoaXMuX2xldmVsTGFiZWxzW3RoaXMua2V5XSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YVR5cGUgPSB0aGlzLl9sZXZlbExhYmVsc1t0aGlzLmtleV1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmRhdGFcbiAgICAgICAgICAgIGlmIChpc1N0cmluZyh0aGlzLmRhdGEpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVR5cGUgPSAnc3RyaW5nJ1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc051bWJlcih0aGlzLmRhdGEpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVR5cGUgPSAnbnVtYmVyJ1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc0Jvb2xlYW4odGhpcy5kYXRhKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVUeXBlID0gJ2Jvb2xlYW4nXG4gICAgICAgICAgICB9IGVsc2UgaWYgKG51bGwgPT09IHRoaXMuZGF0YSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVUeXBlID0gJ251bGwnXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9ICdudWxsJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9nZ2xlKCkge1xuICAgICAgICBpZiAoISh0aGlzLmNoaWxkcmVuS2V5cyAmJiB0aGlzLmNoaWxkcmVuS2V5cy5sZW5ndGgpKSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzT3BlbiA9ICF0aGlzLmlzT3BlblxuICAgIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImpzb24tdmlld1wiPlxuICAgIDxhIChjbGljayk9XCJ0b2dnbGUoKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRvZ2dsZXJcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieydjb2xsYXBzZSc6IGlzT3BlbiwgJ2V4cGFuZCc6ICFpc09wZW59XCJcbiAgICAgICAgICAgIFtzdHlsZS52aXNpYmlsaXR5XT1cImhhc0NoaWxkcmVuPyd2aXNpYmxlJzonaGlkZGVuJ1wiPjwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJrZXlcIlxuICAgICAgICAgICAgKm5nSWY9XCJrZXlcIj5cbiAgICAgICAgICAgIDxzcGFuPnt7a2V5fX08L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj46IDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzT2JqZWN0XCI+XG4gICAgICAgICAgICAgICAge3sgZGF0YVR5cGUgfX1cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzQXJyYXlcIj5bIHt7ICRhbnkoZGF0YSk/Lmxlbmd0aCB9fSBdPC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXNPYmplY3QgJiYgdmFsdWVUeXBlXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ2YWx1ZVR5cGVcIj57eyB2YWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvYT5cbiAgICA8ZGl2IGNsYXNzPVwiY2hpbGRyZW5cIlxuICAgICAgICAqbmdJZj1cImhhc0NoaWxkcmVuICYmIGlzT3BlblwiPlxuICAgICAgICA8bnh0LWpzb24tdmlldy1pdGVtICpuZ0Zvcj1cImxldCBfa2V5IG9mIGNoaWxkcmVuS2V5c1wiXG4gICAgICAgICAgICBbZGF0YV09XCJkYXRhW19rZXldXCJcbiAgICAgICAgICAgIFtrZXldPVwiX2tleVwiXG4gICAgICAgICAgICBbbGV2ZWxdPVwibGV2ZWwrMVwiXG4gICAgICAgICAgICBbbGV2ZWxPcGVuXT1cImxldmVsT3BlblwiXG4gICAgICAgICAgICBbbGV2ZWxMYWJlbHNdPVwibGV2ZWxMYWJlbHNcIj48L254dC1qc29uLXZpZXctaXRlbT5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { JsonViewItemComponent } from './json-view-item/json-view-item.component';
|
|
4
|
+
import { JsonViewComponent } from './json-view/json-view.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class JsonViewModule {
|
|
7
|
+
}
|
|
8
|
+
JsonViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
JsonViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, declarations: [JsonViewItemComponent,
|
|
10
|
+
JsonViewComponent], imports: [CommonModule], exports: [JsonViewComponent] });
|
|
11
|
+
JsonViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, imports: [CommonModule] });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
declarations: [
|
|
16
|
+
JsonViewItemComponent,
|
|
17
|
+
JsonViewComponent
|
|
18
|
+
],
|
|
19
|
+
imports: [
|
|
20
|
+
CommonModule
|
|
21
|
+
],
|
|
22
|
+
exports: [
|
|
23
|
+
JsonViewComponent
|
|
24
|
+
]
|
|
25
|
+
}]
|
|
26
|
+
}] });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi12aWV3Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2pzb24tdmlldy9zcmMvbGliL2pzb24tdmlldy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFDakYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUE7O0FBY25FLE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsaUJBVm5CLHFCQUFxQjtRQUNyQixpQkFBaUIsYUFHakIsWUFBWSxhQUdaLGlCQUFpQjs0R0FHWixjQUFjLFlBTm5CLFlBQVk7MkZBTVAsY0FBYztrQkFaMUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YscUJBQXFCO3dCQUNyQixpQkFBaUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3FCQUNmO29CQUNELE9BQU8sRUFBRTt3QkFDTCxpQkFBaUI7cUJBQ3BCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgSnNvblZpZXdJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9qc29uLXZpZXctaXRlbS9qc29uLXZpZXctaXRlbS5jb21wb25lbnQnXG5pbXBvcnQgeyBKc29uVmlld0NvbXBvbmVudCB9IGZyb20gJy4vanNvbi12aWV3L2pzb24tdmlldy5jb21wb25lbnQnXG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEpzb25WaWV3SXRlbUNvbXBvbmVudCxcbiAgICAgICAgSnNvblZpZXdDb21wb25lbnRcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEpzb25WaWV3Q29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBKc29uVmlld01vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -16,4 +16,4 @@ export function isNumber(value) {
|
|
|
16
16
|
export function isBoolean(value) {
|
|
17
17
|
return typeof value === 'boolean';
|
|
18
18
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9qc29uLXZpZXcvc3JjL2xpYi91dGlscy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQVU7SUFDL0IsT0FBTyxLQUFLLEtBQUssSUFBSSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQTtBQUN0RCxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxLQUFVO0lBQzlCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUMvQixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBSSxLQUFvQjtJQUMvQyxPQUFPLE9BQU8sS0FBSyxLQUFLLFdBQVcsQ0FBQTtBQUN2QyxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUFVO0lBQy9CLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFBO0FBQ3BDLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQVU7SUFDL0IsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUE7QUFDcEMsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBVTtJQUNoQyxPQUFPLE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FBQTtBQUNyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0KHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBvYmplY3Qge1xuICAgIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FycmF5KHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyB1bmtub3duW10ge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVbmRlZmluZWQ8VD4odmFsdWU6IFQgfCB1bmRlZmluZWQpOiB2YWx1ZSBpcyB1bmRlZmluZWQge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmluZyh2YWx1ZTogYW55KTogdmFsdWUgaXMgc3RyaW5nIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOdW1iZXIodmFsdWU6IGFueSk6IHZhbHVlIGlzIG51bWJlciB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcidcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQm9vbGVhbih2YWx1ZTogYW55KTogdmFsdWUgaXMgYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nXG59XG4iXX0=
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* Generated bundle index. Do not edit.
|
|
3
3
|
*/
|
|
4
4
|
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnh0LWpzb24tdmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2pzb24tdmlldy9zcmMvbnh0LWpzb24tdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './lib/
|
|
2
|
-
export * from './lib/
|
|
3
|
-
export * from './lib/
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './lib/json-view-item/json-view-item.component';
|
|
2
|
+
export * from './lib/json-view.module';
|
|
3
|
+
export * from './lib/json-view/json-view.component';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2pzb24tdmlldy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtDQUErQyxDQUFBO0FBQzdELGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxxQ0FBcUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2pzb24tdmlldy1pdGVtL2pzb24tdmlldy1pdGVtLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2pzb24tdmlldy5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9qc29uLXZpZXcvanNvbi12aWV3LmNvbXBvbmVudCdcbiJdfQ==
|
|
@@ -105,9 +105,9 @@ class JsonViewItemComponent {
|
|
|
105
105
|
this.isOpen = !this.isOpen;
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
|
-
JsonViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
109
|
-
JsonViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
108
|
+
JsonViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
109
|
+
JsonViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: { data: "data", key: "key", level: "level", levelOpen: "levelOpen", levelLabels: "levelLabels" }, ngImport: i0, template: "<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n", styles: [".json-view a{cursor:pointer;text-decoration:none}.json-view .toggler{width:1em;padding:0;display:block;text-align:center;float:left}.json-view .collapse:before{content:\"-\"}.json-view .expand:before{content:\"+\"}.json-view .key{color:#92278f}.json-view .value{color:#000}.json-view .value .string{color:#3ab54a}.json-view .value .number{color:#25aae2}.json-view .value .boolean{color:#aa0d91}.json-view .value .null{color:#f1592a}.json-view .children{margin-left:1em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: ["data", "key", "level", "levelOpen", "levelLabels"] }] });
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewItemComponent, decorators: [{
|
|
111
111
|
type: Component,
|
|
112
112
|
args: [{ selector: 'nxt-json-view-item', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n", styles: [".json-view a{cursor:pointer;text-decoration:none}.json-view .toggler{width:1em;padding:0;display:block;text-align:center;float:left}.json-view .collapse:before{content:\"-\"}.json-view .expand:before{content:\"+\"}.json-view .key{color:#92278f}.json-view .value{color:#000}.json-view .value .string{color:#3ab54a}.json-view .value .number{color:#25aae2}.json-view .value .boolean{color:#aa0d91}.json-view .value .null{color:#f1592a}.json-view .children{margin-left:1em}\n"] }]
|
|
113
113
|
}], propDecorators: { data: [{
|
|
@@ -122,16 +122,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
|
|
|
122
122
|
type: Input
|
|
123
123
|
}] } });
|
|
124
124
|
|
|
125
|
-
class
|
|
125
|
+
class JsonViewComponent {
|
|
126
126
|
constructor() {
|
|
127
127
|
this.level = 0;
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
130
|
+
JsonViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
131
|
+
JsonViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: JsonViewComponent, selector: "nxt-json-view", inputs: { data: "data", levelOpen: "levelOpen", levelLabels: "levelLabels" }, ngImport: i0, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"level\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: ["data", "key", "level", "levelOpen", "levelLabels"] }] });
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewComponent, decorators: [{
|
|
133
133
|
type: Component,
|
|
134
|
-
args: [{ selector: 'nxt-json-view', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"level\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n"
|
|
134
|
+
args: [{ selector: 'nxt-json-view', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"level\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n" }]
|
|
135
135
|
}], propDecorators: { data: [{
|
|
136
136
|
type: Input
|
|
137
137
|
}], levelOpen: [{
|
|
@@ -140,26 +140,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
|
|
|
140
140
|
type: Input
|
|
141
141
|
}] } });
|
|
142
142
|
|
|
143
|
-
class
|
|
143
|
+
class JsonViewModule {
|
|
144
144
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
]] });
|
|
151
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NxtJsonViewModule, decorators: [{
|
|
145
|
+
JsonViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
146
|
+
JsonViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, declarations: [JsonViewItemComponent,
|
|
147
|
+
JsonViewComponent], imports: [CommonModule], exports: [JsonViewComponent] });
|
|
148
|
+
JsonViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, imports: [CommonModule] });
|
|
149
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, decorators: [{
|
|
152
150
|
type: NgModule,
|
|
153
151
|
args: [{
|
|
154
152
|
declarations: [
|
|
155
153
|
JsonViewItemComponent,
|
|
156
|
-
|
|
154
|
+
JsonViewComponent
|
|
157
155
|
],
|
|
158
156
|
imports: [
|
|
159
157
|
CommonModule
|
|
160
158
|
],
|
|
161
159
|
exports: [
|
|
162
|
-
|
|
160
|
+
JsonViewComponent
|
|
163
161
|
]
|
|
164
162
|
}]
|
|
165
163
|
}] });
|
|
@@ -168,4 +166,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
|
|
|
168
166
|
* Generated bundle index. Do not edit.
|
|
169
167
|
*/
|
|
170
168
|
|
|
171
|
-
export {
|
|
169
|
+
export { JsonViewComponent, JsonViewItemComponent, JsonViewModule };
|
|
170
|
+
//# sourceMappingURL=nxt-json-view.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nxt-json-view.mjs","sources":["../../../projects/nxt-json-view/src/lib/utils/utils.ts","../../../projects/nxt-json-view/src/lib/nxt-json-view/json-view-item/json-view-item.component.ts","../../../projects/nxt-json-view/src/lib/nxt-json-view/json-view-item/json-view-item.component.html","../../../projects/nxt-json-view/src/lib/nxt-json-view/nxt-json-view/nxt-json-view.component.ts","../../../projects/nxt-json-view/src/lib/nxt-json-view/nxt-json-view/nxt-json-view.component.html","../../../projects/nxt-json-view/src/lib/nxt-json-view/nxt-json-view.module.ts","../../../projects/nxt-json-view/src/nxt-json-view.ts"],"sourcesContent":["export function isObject(value: any): value is object {\n return value !== null && typeof value === 'object'\n}\n\nexport function isArray(value: any): value is Array<unknown> {\n return Array.isArray(value)\n}\n\nexport function isUndefined<T>(value: T | undefined): value is undefined {\n return typeof value === 'undefined'\n}\n\nexport function isString(value: any): value is string {\n return typeof value === 'string'\n}\n\nexport function isNumber(value: any): value is number {\n return typeof value === 'number'\n}\n\nexport function isBoolean(value: any): value is boolean {\n return typeof value === 'boolean'\n}\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core'\nimport { isArray, isBoolean, isNumber, isObject, isString, isUndefined } from '../../utils/utils'\n\n@Component({\n selector: 'nxt-json-view-item',\n templateUrl: './json-view-item.component.html',\n styleUrls: ['./json-view-item.component.scss'],\n encapsulation: ViewEncapsulation.Emulated\n})\nexport class JsonViewItemComponent implements OnInit {\n private _data?: any\n @Input()\n set data(data: any | undefined) {\n this._data = data\n if (this.isInit) {\n this.init()\n }\n }\n get data(): any | undefined {\n return this._data\n }\n @Input() key?: string\n @Input() level: number = 0\n @Input() levelOpen?: number\n @Input() levelLabels?: { [key: number]: { [key: string]: string } }\n\n isOpen: boolean = false\n childrenKeys?: string[]\n hasChildren: boolean = false\n dataType?: string\n value: any\n valueType?: string\n isObject: boolean = false\n isArray: boolean = false\n isInit: boolean = false\n _levelLabels: { [key: string]: string } = {}\n\n ngOnInit() {\n this.init()\n this.isInit = true\n }\n\n init() {\n this.levelLabelHandle()\n this.levelOpenHandle()\n this.childrenKeysHandle()\n this.dataHandle()\n }\n\n levelLabelHandle() {\n if (this.levelLabels !== undefined) {\n this._levelLabels = this.levelLabels[this.level] || {}\n }\n }\n\n levelOpenHandle() {\n if (!isUndefined(this.levelOpen) && (this.level <= this.levelOpen)) {\n this.isOpen = true\n }\n }\n\n childrenKeysHandle() {\n if (isObject(this.data)) {\n this.childrenKeys = Object.keys(this.data)\n if (this.childrenKeys && this.childrenKeys.length) {\n this.hasChildren = true\n }\n }\n }\n\n dataHandle() {\n if (isObject(this.data)) {\n this.isObject = true\n this.dataType = 'Object'\n if (isArray(this.data)) {\n this.isArray = true\n this.dataType = 'Array'\n }\n if (this.key && this._levelLabels[this.key]) {\n this.dataType = this._levelLabels[this.key]\n }\n } else {\n this.value = this.data\n if (isString(this.data)) {\n this.valueType = 'string'\n } else if (isNumber(this.data)) {\n this.valueType = 'number'\n } else if (isBoolean(this.data)) {\n this.valueType = 'boolean'\n } else if (null === this.data) {\n this.valueType = 'null'\n this.value = 'null'\n }\n }\n }\n\n toggle() {\n if (!(this.childrenKeys && this.childrenKeys.length)) {\n return\n }\n this.isOpen = !this.isOpen\n }\n\n}\n","<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n","import { Component, Input, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'nxt-json-view',\n templateUrl: './nxt-json-view.component.html',\n styleUrls: ['./nxt-json-view.component.scss'],\n encapsulation: ViewEncapsulation.Emulated\n})\nexport class NxtJsonViewComponent {\n\n @Input() data: any\n @Input() levelOpen?: number\n @Input() levelLabels?: { [key: number]: { [key: string]: string } }\n\n key?: string\n level: number = 0\n\n}\n","<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"level\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { JsonViewItemComponent } from './json-view-item/json-view-item.component'\nimport { NxtJsonViewComponent } from './nxt-json-view/nxt-json-view.component'\n\n@NgModule({\n declarations: [\n JsonViewItemComponent,\n NxtJsonViewComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n NxtJsonViewComponent\n ]\n})\nexport class NxtJsonViewModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nxt-json-view.mjs","sources":["../../../packages/json-view/src/lib/utils/utils.ts","../../../packages/json-view/src/lib/json-view-item/json-view-item.component.ts","../../../packages/json-view/src/lib/json-view-item/json-view-item.component.html","../../../packages/json-view/src/lib/json-view/json-view.component.ts","../../../packages/json-view/src/lib/json-view/json-view.component.html","../../../packages/json-view/src/lib/json-view.module.ts","../../../packages/json-view/src/nxt-json-view.ts"],"sourcesContent":["export function isObject(value: any): value is object {\n return value !== null && typeof value === 'object'\n}\n\nexport function isArray(value: any): value is unknown[] {\n return Array.isArray(value)\n}\n\nexport function isUndefined<T>(value: T | undefined): value is undefined {\n return typeof value === 'undefined'\n}\n\nexport function isString(value: any): value is string {\n return typeof value === 'string'\n}\n\nexport function isNumber(value: any): value is number {\n return typeof value === 'number'\n}\n\nexport function isBoolean(value: any): value is boolean {\n return typeof value === 'boolean'\n}\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core'\nimport { isArray, isBoolean, isNumber, isObject, isString, isUndefined } from '../utils/utils'\n\n@Component({\n selector: 'nxt-json-view-item',\n templateUrl: './json-view-item.component.html',\n styleUrls: ['./json-view-item.component.scss'],\n encapsulation: ViewEncapsulation.Emulated\n})\nexport class JsonViewItemComponent implements OnInit {\n private _data?: any\n @Input()\n set data(data: any | undefined) {\n this._data = data\n if (this.isInit) {\n this.init()\n }\n }\n get data(): any | undefined {\n return this._data\n }\n @Input() key?: string\n @Input() level: number = 0\n @Input() levelOpen?: number\n @Input() levelLabels?: { [key: number]: { [key: string]: string } }\n\n isOpen: boolean = false\n childrenKeys?: string[]\n hasChildren: boolean = false\n dataType?: string\n value: any\n valueType?: string\n isObject: boolean = false\n isArray: boolean = false\n isInit: boolean = false\n _levelLabels: { [key: string]: string } = {}\n\n ngOnInit() {\n this.init()\n this.isInit = true\n }\n\n init() {\n this.levelLabelHandle()\n this.levelOpenHandle()\n this.childrenKeysHandle()\n this.dataHandle()\n }\n\n levelLabelHandle() {\n if (this.levelLabels !== undefined) {\n this._levelLabels = this.levelLabels[this.level] || {}\n }\n }\n\n levelOpenHandle() {\n if (!isUndefined(this.levelOpen) && (this.level <= this.levelOpen)) {\n this.isOpen = true\n }\n }\n\n childrenKeysHandle() {\n if (isObject(this.data)) {\n this.childrenKeys = Object.keys(this.data)\n if (this.childrenKeys && this.childrenKeys.length) {\n this.hasChildren = true\n }\n }\n }\n\n dataHandle() {\n if (isObject(this.data)) {\n this.isObject = true\n this.dataType = 'Object'\n if (isArray(this.data)) {\n this.isArray = true\n this.dataType = 'Array'\n }\n if (this.key && this._levelLabels[this.key]) {\n this.dataType = this._levelLabels[this.key]\n }\n } else {\n this.value = this.data\n if (isString(this.data)) {\n this.valueType = 'string'\n } else if (isNumber(this.data)) {\n this.valueType = 'number'\n } else if (isBoolean(this.data)) {\n this.valueType = 'boolean'\n } else if (null === this.data) {\n this.valueType = 'null'\n this.value = 'null'\n }\n }\n }\n\n toggle() {\n if (!(this.childrenKeys && this.childrenKeys.length)) {\n return\n }\n this.isOpen = !this.isOpen\n }\n\n}\n","<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n","import { Component, Input, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'nxt-json-view',\n templateUrl: './json-view.component.html',\n styleUrls: ['./json-view.component.scss'],\n encapsulation: ViewEncapsulation.Emulated\n})\nexport class JsonViewComponent {\n\n @Input() data: any\n @Input() levelOpen?: number\n @Input() levelLabels?: { [key: number]: { [key: string]: string } }\n\n key?: string\n level: number = 0\n\n}\n","<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"level\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { JsonViewItemComponent } from './json-view-item/json-view-item.component'\nimport { JsonViewComponent } from './json-view/json-view.component'\n\n@NgModule({\n declarations: [\n JsonViewItemComponent,\n JsonViewComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n JsonViewComponent\n ]\n})\nexport class JsonViewModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.JsonViewItemComponent"],"mappings":"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"}
|
|
@@ -105,9 +105,9 @@ class JsonViewItemComponent {
|
|
|
105
105
|
this.isOpen = !this.isOpen;
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
|
-
JsonViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
109
|
-
JsonViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
108
|
+
JsonViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
109
|
+
JsonViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: { data: "data", key: "key", level: "level", levelOpen: "levelOpen", levelLabels: "levelLabels" }, ngImport: i0, template: "<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n", styles: [".json-view a{cursor:pointer;text-decoration:none}.json-view .toggler{width:1em;padding:0;display:block;text-align:center;float:left}.json-view .collapse:before{content:\"-\"}.json-view .expand:before{content:\"+\"}.json-view .key{color:#92278f}.json-view .value{color:#000}.json-view .value .string{color:#3ab54a}.json-view .value .number{color:#25aae2}.json-view .value .boolean{color:#aa0d91}.json-view .value .null{color:#f1592a}.json-view .children{margin-left:1em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: ["data", "key", "level", "levelOpen", "levelLabels"] }] });
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewItemComponent, decorators: [{
|
|
111
111
|
type: Component,
|
|
112
112
|
args: [{ selector: 'nxt-json-view-item', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n", styles: [".json-view a{cursor:pointer;text-decoration:none}.json-view .toggler{width:1em;padding:0;display:block;text-align:center;float:left}.json-view .collapse:before{content:\"-\"}.json-view .expand:before{content:\"+\"}.json-view .key{color:#92278f}.json-view .value{color:#000}.json-view .value .string{color:#3ab54a}.json-view .value .number{color:#25aae2}.json-view .value .boolean{color:#aa0d91}.json-view .value .null{color:#f1592a}.json-view .children{margin-left:1em}\n"] }]
|
|
113
113
|
}], propDecorators: { data: [{
|
|
@@ -122,16 +122,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
|
|
|
122
122
|
type: Input
|
|
123
123
|
}] } });
|
|
124
124
|
|
|
125
|
-
class
|
|
125
|
+
class JsonViewComponent {
|
|
126
126
|
constructor() {
|
|
127
127
|
this.level = 0;
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
130
|
+
JsonViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
131
|
+
JsonViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: JsonViewComponent, selector: "nxt-json-view", inputs: { data: "data", levelOpen: "levelOpen", levelLabels: "levelLabels" }, ngImport: i0, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"level\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: ["data", "key", "level", "levelOpen", "levelLabels"] }] });
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewComponent, decorators: [{
|
|
133
133
|
type: Component,
|
|
134
|
-
args: [{ selector: 'nxt-json-view', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"level\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n"
|
|
134
|
+
args: [{ selector: 'nxt-json-view', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"level\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n" }]
|
|
135
135
|
}], propDecorators: { data: [{
|
|
136
136
|
type: Input
|
|
137
137
|
}], levelOpen: [{
|
|
@@ -140,26 +140,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
|
|
|
140
140
|
type: Input
|
|
141
141
|
}] } });
|
|
142
142
|
|
|
143
|
-
class
|
|
143
|
+
class JsonViewModule {
|
|
144
144
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
]] });
|
|
151
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NxtJsonViewModule, decorators: [{
|
|
145
|
+
JsonViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
146
|
+
JsonViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, declarations: [JsonViewItemComponent,
|
|
147
|
+
JsonViewComponent], imports: [CommonModule], exports: [JsonViewComponent] });
|
|
148
|
+
JsonViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, imports: [CommonModule] });
|
|
149
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, decorators: [{
|
|
152
150
|
type: NgModule,
|
|
153
151
|
args: [{
|
|
154
152
|
declarations: [
|
|
155
153
|
JsonViewItemComponent,
|
|
156
|
-
|
|
154
|
+
JsonViewComponent
|
|
157
155
|
],
|
|
158
156
|
imports: [
|
|
159
157
|
CommonModule
|
|
160
158
|
],
|
|
161
159
|
exports: [
|
|
162
|
-
|
|
160
|
+
JsonViewComponent
|
|
163
161
|
]
|
|
164
162
|
}]
|
|
165
163
|
}] });
|
|
@@ -168,4 +166,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
|
|
|
168
166
|
* Generated bundle index. Do not edit.
|
|
169
167
|
*/
|
|
170
168
|
|
|
171
|
-
export {
|
|
169
|
+
export { JsonViewComponent, JsonViewItemComponent, JsonViewModule };
|
|
170
|
+
//# sourceMappingURL=nxt-json-view.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nxt-json-view.mjs","sources":["../../../projects/nxt-json-view/src/lib/utils/utils.ts","../../../projects/nxt-json-view/src/lib/nxt-json-view/json-view-item/json-view-item.component.ts","../../../projects/nxt-json-view/src/lib/nxt-json-view/json-view-item/json-view-item.component.html","../../../projects/nxt-json-view/src/lib/nxt-json-view/nxt-json-view/nxt-json-view.component.ts","../../../projects/nxt-json-view/src/lib/nxt-json-view/nxt-json-view/nxt-json-view.component.html","../../../projects/nxt-json-view/src/lib/nxt-json-view/nxt-json-view.module.ts","../../../projects/nxt-json-view/src/nxt-json-view.ts"],"sourcesContent":["export function isObject(value: any): value is object {\n return value !== null && typeof value === 'object'\n}\n\nexport function isArray(value: any): value is Array<unknown> {\n return Array.isArray(value)\n}\n\nexport function isUndefined<T>(value: T | undefined): value is undefined {\n return typeof value === 'undefined'\n}\n\nexport function isString(value: any): value is string {\n return typeof value === 'string'\n}\n\nexport function isNumber(value: any): value is number {\n return typeof value === 'number'\n}\n\nexport function isBoolean(value: any): value is boolean {\n return typeof value === 'boolean'\n}\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core'\nimport { isArray, isBoolean, isNumber, isObject, isString, isUndefined } from '../../utils/utils'\n\n@Component({\n selector: 'nxt-json-view-item',\n templateUrl: './json-view-item.component.html',\n styleUrls: ['./json-view-item.component.scss'],\n encapsulation: ViewEncapsulation.Emulated\n})\nexport class JsonViewItemComponent implements OnInit {\n private _data?: any\n @Input()\n set data(data: any | undefined) {\n this._data = data\n if (this.isInit) {\n this.init()\n }\n }\n get data(): any | undefined {\n return this._data\n }\n @Input() key?: string\n @Input() level: number = 0\n @Input() levelOpen?: number\n @Input() levelLabels?: { [key: number]: { [key: string]: string } }\n\n isOpen: boolean = false\n childrenKeys?: string[]\n hasChildren: boolean = false\n dataType?: string\n value: any\n valueType?: string\n isObject: boolean = false\n isArray: boolean = false\n isInit: boolean = false\n _levelLabels: { [key: string]: string } = {}\n\n ngOnInit() {\n this.init()\n this.isInit = true\n }\n\n init() {\n this.levelLabelHandle()\n this.levelOpenHandle()\n this.childrenKeysHandle()\n this.dataHandle()\n }\n\n levelLabelHandle() {\n if (this.levelLabels !== undefined) {\n this._levelLabels = this.levelLabels[this.level] || {}\n }\n }\n\n levelOpenHandle() {\n if (!isUndefined(this.levelOpen) && (this.level <= this.levelOpen)) {\n this.isOpen = true\n }\n }\n\n childrenKeysHandle() {\n if (isObject(this.data)) {\n this.childrenKeys = Object.keys(this.data)\n if (this.childrenKeys && this.childrenKeys.length) {\n this.hasChildren = true\n }\n }\n }\n\n dataHandle() {\n if (isObject(this.data)) {\n this.isObject = true\n this.dataType = 'Object'\n if (isArray(this.data)) {\n this.isArray = true\n this.dataType = 'Array'\n }\n if (this.key && this._levelLabels[this.key]) {\n this.dataType = this._levelLabels[this.key]\n }\n } else {\n this.value = this.data\n if (isString(this.data)) {\n this.valueType = 'string'\n } else if (isNumber(this.data)) {\n this.valueType = 'number'\n } else if (isBoolean(this.data)) {\n this.valueType = 'boolean'\n } else if (null === this.data) {\n this.valueType = 'null'\n this.value = 'null'\n }\n }\n }\n\n toggle() {\n if (!(this.childrenKeys && this.childrenKeys.length)) {\n return\n }\n this.isOpen = !this.isOpen\n }\n\n}\n","<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n","import { Component, Input, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'nxt-json-view',\n templateUrl: './nxt-json-view.component.html',\n styleUrls: ['./nxt-json-view.component.scss'],\n encapsulation: ViewEncapsulation.Emulated\n})\nexport class NxtJsonViewComponent {\n\n @Input() data: any\n @Input() levelOpen?: number\n @Input() levelLabels?: { [key: number]: { [key: string]: string } }\n\n key?: string\n level: number = 0\n\n}\n","<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"level\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { JsonViewItemComponent } from './json-view-item/json-view-item.component'\nimport { NxtJsonViewComponent } from './nxt-json-view/nxt-json-view.component'\n\n@NgModule({\n declarations: [\n JsonViewItemComponent,\n NxtJsonViewComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n NxtJsonViewComponent\n ]\n})\nexport class NxtJsonViewModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nxt-json-view.mjs","sources":["../../../packages/json-view/src/lib/utils/utils.ts","../../../packages/json-view/src/lib/json-view-item/json-view-item.component.ts","../../../packages/json-view/src/lib/json-view-item/json-view-item.component.html","../../../packages/json-view/src/lib/json-view/json-view.component.ts","../../../packages/json-view/src/lib/json-view/json-view.component.html","../../../packages/json-view/src/lib/json-view.module.ts","../../../packages/json-view/src/nxt-json-view.ts"],"sourcesContent":["export function isObject(value: any): value is object {\n return value !== null && typeof value === 'object'\n}\n\nexport function isArray(value: any): value is unknown[] {\n return Array.isArray(value)\n}\n\nexport function isUndefined<T>(value: T | undefined): value is undefined {\n return typeof value === 'undefined'\n}\n\nexport function isString(value: any): value is string {\n return typeof value === 'string'\n}\n\nexport function isNumber(value: any): value is number {\n return typeof value === 'number'\n}\n\nexport function isBoolean(value: any): value is boolean {\n return typeof value === 'boolean'\n}\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core'\nimport { isArray, isBoolean, isNumber, isObject, isString, isUndefined } from '../utils/utils'\n\n@Component({\n selector: 'nxt-json-view-item',\n templateUrl: './json-view-item.component.html',\n styleUrls: ['./json-view-item.component.scss'],\n encapsulation: ViewEncapsulation.Emulated\n})\nexport class JsonViewItemComponent implements OnInit {\n private _data?: any\n @Input()\n set data(data: any | undefined) {\n this._data = data\n if (this.isInit) {\n this.init()\n }\n }\n get data(): any | undefined {\n return this._data\n }\n @Input() key?: string\n @Input() level: number = 0\n @Input() levelOpen?: number\n @Input() levelLabels?: { [key: number]: { [key: string]: string } }\n\n isOpen: boolean = false\n childrenKeys?: string[]\n hasChildren: boolean = false\n dataType?: string\n value: any\n valueType?: string\n isObject: boolean = false\n isArray: boolean = false\n isInit: boolean = false\n _levelLabels: { [key: string]: string } = {}\n\n ngOnInit() {\n this.init()\n this.isInit = true\n }\n\n init() {\n this.levelLabelHandle()\n this.levelOpenHandle()\n this.childrenKeysHandle()\n this.dataHandle()\n }\n\n levelLabelHandle() {\n if (this.levelLabels !== undefined) {\n this._levelLabels = this.levelLabels[this.level] || {}\n }\n }\n\n levelOpenHandle() {\n if (!isUndefined(this.levelOpen) && (this.level <= this.levelOpen)) {\n this.isOpen = true\n }\n }\n\n childrenKeysHandle() {\n if (isObject(this.data)) {\n this.childrenKeys = Object.keys(this.data)\n if (this.childrenKeys && this.childrenKeys.length) {\n this.hasChildren = true\n }\n }\n }\n\n dataHandle() {\n if (isObject(this.data)) {\n this.isObject = true\n this.dataType = 'Object'\n if (isArray(this.data)) {\n this.isArray = true\n this.dataType = 'Array'\n }\n if (this.key && this._levelLabels[this.key]) {\n this.dataType = this._levelLabels[this.key]\n }\n } else {\n this.value = this.data\n if (isString(this.data)) {\n this.valueType = 'string'\n } else if (isNumber(this.data)) {\n this.valueType = 'number'\n } else if (isBoolean(this.data)) {\n this.valueType = 'boolean'\n } else if (null === this.data) {\n this.valueType = 'null'\n this.value = 'null'\n }\n }\n }\n\n toggle() {\n if (!(this.childrenKeys && this.childrenKeys.length)) {\n return\n }\n this.isOpen = !this.isOpen\n }\n\n}\n","<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n","import { Component, Input, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'nxt-json-view',\n templateUrl: './json-view.component.html',\n styleUrls: ['./json-view.component.scss'],\n encapsulation: ViewEncapsulation.Emulated\n})\nexport class JsonViewComponent {\n\n @Input() data: any\n @Input() levelOpen?: number\n @Input() levelLabels?: { [key: number]: { [key: string]: string } }\n\n key?: string\n level: number = 0\n\n}\n","<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"level\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { JsonViewItemComponent } from './json-view-item/json-view-item.component'\nimport { JsonViewComponent } from './json-view/json-view.component'\n\n@NgModule({\n declarations: [\n JsonViewItemComponent,\n JsonViewComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n JsonViewComponent\n ]\n})\nexport class JsonViewModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.JsonViewItemComponent"],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class JsonViewComponent {
|
|
3
|
+
data: any;
|
|
4
|
+
levelOpen?: number;
|
|
5
|
+
levelLabels?: {
|
|
6
|
+
[key: number]: {
|
|
7
|
+
[key: string]: string;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
key?: string;
|
|
11
|
+
level: number;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<JsonViewComponent, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<JsonViewComponent, "nxt-json-view", never, { "data": "data"; "levelOpen": "levelOpen"; "levelLabels": "levelLabels"; }, {}, never, never, false, never>;
|
|
14
|
+
}
|
|
@@ -32,5 +32,5 @@ export declare class JsonViewItemComponent implements OnInit {
|
|
|
32
32
|
dataHandle(): void;
|
|
33
33
|
toggle(): void;
|
|
34
34
|
static ɵfac: i0.ɵɵFactoryDeclaration<JsonViewItemComponent, never>;
|
|
35
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<JsonViewItemComponent, "nxt-json-view-item", never, { "data": "data"; "key": "key"; "level": "level"; "levelOpen": "levelOpen"; "levelLabels": "levelLabels"; }, {}, never, never>;
|
|
35
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<JsonViewItemComponent, "nxt-json-view-item", never, { "data": "data"; "key": "key"; "level": "level"; "levelOpen": "levelOpen"; "levelLabels": "levelLabels"; }, {}, never, never, false, never>;
|
|
36
36
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./json-view-item/json-view-item.component";
|
|
3
|
+
import * as i2 from "./json-view/json-view.component";
|
|
4
|
+
import * as i3 from "@angular/common";
|
|
5
|
+
export declare class JsonViewModule {
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<JsonViewModule, never>;
|
|
7
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<JsonViewModule, [typeof i1.JsonViewItemComponent, typeof i2.JsonViewComponent], [typeof i3.CommonModule], [typeof i2.JsonViewComponent]>;
|
|
8
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<JsonViewModule>;
|
|
9
|
+
}
|
package/lib/utils/utils.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare function isObject(value: any): value is object;
|
|
2
|
-
export declare function isArray(value: any): value is
|
|
2
|
+
export declare function isArray(value: any): value is unknown[];
|
|
3
3
|
export declare function isUndefined<T>(value: T | undefined): value is undefined;
|
|
4
4
|
export declare function isString(value: any): value is string;
|
|
5
5
|
export declare function isNumber(value: any): value is number;
|
package/package.json
CHANGED
|
@@ -1,25 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nxt-json-view",
|
|
3
|
-
"
|
|
3
|
+
"description": "Angular component for interactive json view.",
|
|
4
|
+
"bugs": "https://github.com/Liquid-JS/nxt-components/issues",
|
|
5
|
+
"version": "15.0.0",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": "https://github.com/Liquid-JS/nxt-components.git",
|
|
8
|
+
"homepage": "https://github.com/Liquid-JS/nxt-components/tree/master/packages/json-view",
|
|
4
9
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^
|
|
6
|
-
"@angular/core": "^
|
|
10
|
+
"@angular/common": "^15.2.1",
|
|
11
|
+
"@angular/core": "^15.2.1"
|
|
7
12
|
},
|
|
8
13
|
"dependencies": {
|
|
9
|
-
"tslib": "^2.
|
|
14
|
+
"tslib": "^2.5.0"
|
|
10
15
|
},
|
|
11
16
|
"module": "fesm2015/nxt-json-view.mjs",
|
|
12
17
|
"es2020": "fesm2020/nxt-json-view.mjs",
|
|
13
18
|
"esm2020": "esm2020/nxt-json-view.mjs",
|
|
14
19
|
"fesm2020": "fesm2020/nxt-json-view.mjs",
|
|
15
20
|
"fesm2015": "fesm2015/nxt-json-view.mjs",
|
|
16
|
-
"typings": "
|
|
21
|
+
"typings": "index.d.ts",
|
|
17
22
|
"exports": {
|
|
18
23
|
"./package.json": {
|
|
19
24
|
"default": "./package.json"
|
|
20
25
|
},
|
|
21
26
|
".": {
|
|
22
|
-
"types": "./
|
|
27
|
+
"types": "./index.d.ts",
|
|
23
28
|
"esm2020": "./esm2020/nxt-json-view.mjs",
|
|
24
29
|
"es2020": "./fesm2020/nxt-json-view.mjs",
|
|
25
30
|
"es2015": "./fesm2015/nxt-json-view.mjs",
|
package/public-api.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './lib/
|
|
2
|
-
export * from './lib/
|
|
3
|
-
export * from './lib/
|
|
1
|
+
export * from './lib/json-view-item/json-view-item.component';
|
|
2
|
+
export * from './lib/json-view.module';
|
|
3
|
+
export * from './lib/json-view/json-view.component';
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { isArray, isBoolean, isNumber, isObject, isString, isUndefined } from '../../utils/utils';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
export class JsonViewItemComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.level = 0;
|
|
8
|
-
this.isOpen = false;
|
|
9
|
-
this.hasChildren = false;
|
|
10
|
-
this.isObject = false;
|
|
11
|
-
this.isArray = false;
|
|
12
|
-
this.isInit = false;
|
|
13
|
-
this._levelLabels = {};
|
|
14
|
-
}
|
|
15
|
-
set data(data) {
|
|
16
|
-
this._data = data;
|
|
17
|
-
if (this.isInit) {
|
|
18
|
-
this.init();
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
get data() {
|
|
22
|
-
return this._data;
|
|
23
|
-
}
|
|
24
|
-
ngOnInit() {
|
|
25
|
-
this.init();
|
|
26
|
-
this.isInit = true;
|
|
27
|
-
}
|
|
28
|
-
init() {
|
|
29
|
-
this.levelLabelHandle();
|
|
30
|
-
this.levelOpenHandle();
|
|
31
|
-
this.childrenKeysHandle();
|
|
32
|
-
this.dataHandle();
|
|
33
|
-
}
|
|
34
|
-
levelLabelHandle() {
|
|
35
|
-
if (this.levelLabels !== undefined) {
|
|
36
|
-
this._levelLabels = this.levelLabels[this.level] || {};
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
levelOpenHandle() {
|
|
40
|
-
if (!isUndefined(this.levelOpen) && (this.level <= this.levelOpen)) {
|
|
41
|
-
this.isOpen = true;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
childrenKeysHandle() {
|
|
45
|
-
if (isObject(this.data)) {
|
|
46
|
-
this.childrenKeys = Object.keys(this.data);
|
|
47
|
-
if (this.childrenKeys && this.childrenKeys.length) {
|
|
48
|
-
this.hasChildren = true;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
dataHandle() {
|
|
53
|
-
if (isObject(this.data)) {
|
|
54
|
-
this.isObject = true;
|
|
55
|
-
this.dataType = 'Object';
|
|
56
|
-
if (isArray(this.data)) {
|
|
57
|
-
this.isArray = true;
|
|
58
|
-
this.dataType = 'Array';
|
|
59
|
-
}
|
|
60
|
-
if (this.key && this._levelLabels[this.key]) {
|
|
61
|
-
this.dataType = this._levelLabels[this.key];
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
this.value = this.data;
|
|
66
|
-
if (isString(this.data)) {
|
|
67
|
-
this.valueType = 'string';
|
|
68
|
-
}
|
|
69
|
-
else if (isNumber(this.data)) {
|
|
70
|
-
this.valueType = 'number';
|
|
71
|
-
}
|
|
72
|
-
else if (isBoolean(this.data)) {
|
|
73
|
-
this.valueType = 'boolean';
|
|
74
|
-
}
|
|
75
|
-
else if (null === this.data) {
|
|
76
|
-
this.valueType = 'null';
|
|
77
|
-
this.value = 'null';
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
toggle() {
|
|
82
|
-
if (!(this.childrenKeys && this.childrenKeys.length)) {
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
this.isOpen = !this.isOpen;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
JsonViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: JsonViewItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
89
|
-
JsonViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: { data: "data", key: "key", level: "level", levelOpen: "levelOpen", levelLabels: "levelLabels" }, ngImport: i0, template: "<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n", styles: [".json-view a{cursor:pointer;text-decoration:none}.json-view .toggler{width:1em;padding:0;display:block;text-align:center;float:left}.json-view .collapse:before{content:\"-\"}.json-view .expand:before{content:\"+\"}.json-view .key{color:#92278f}.json-view .value{color:#000}.json-view .value .string{color:#3ab54a}.json-view .value .number{color:#25aae2}.json-view .value .boolean{color:#aa0d91}.json-view .value .null{color:#f1592a}.json-view .children{margin-left:1em}\n"], components: [{ type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: ["data", "key", "level", "levelOpen", "levelLabels"] }], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
90
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: JsonViewItemComponent, decorators: [{
|
|
91
|
-
type: Component,
|
|
92
|
-
args: [{ selector: 'nxt-json-view-item', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n", styles: [".json-view a{cursor:pointer;text-decoration:none}.json-view .toggler{width:1em;padding:0;display:block;text-align:center;float:left}.json-view .collapse:before{content:\"-\"}.json-view .expand:before{content:\"+\"}.json-view .key{color:#92278f}.json-view .value{color:#000}.json-view .value .string{color:#3ab54a}.json-view .value .number{color:#25aae2}.json-view .value .boolean{color:#aa0d91}.json-view .value .null{color:#f1592a}.json-view .children{margin-left:1em}\n"] }]
|
|
93
|
-
}], propDecorators: { data: [{
|
|
94
|
-
type: Input
|
|
95
|
-
}], key: [{
|
|
96
|
-
type: Input
|
|
97
|
-
}], level: [{
|
|
98
|
-
type: Input
|
|
99
|
-
}], levelOpen: [{
|
|
100
|
-
type: Input
|
|
101
|
-
}], levelLabels: [{
|
|
102
|
-
type: Input
|
|
103
|
-
}] } });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi12aWV3LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWpzb24tdmlldy9zcmMvbGliL254dC1qc29uLXZpZXcvanNvbi12aWV3LWl0ZW0vanNvbi12aWV3LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWpzb24tdmlldy9zcmMvbGliL254dC1qc29uLXZpZXcvanNvbi12aWV3LWl0ZW0vanNvbi12aWV3LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7OztBQVFqRyxNQUFNLE9BQU8scUJBQXFCO0lBTmxDO1FBbUJhLFVBQUssR0FBVyxDQUFDLENBQUE7UUFJMUIsV0FBTSxHQUFZLEtBQUssQ0FBQTtRQUV2QixnQkFBVyxHQUFZLEtBQUssQ0FBQTtRQUk1QixhQUFRLEdBQVksS0FBSyxDQUFBO1FBQ3pCLFlBQU8sR0FBWSxLQUFLLENBQUE7UUFDeEIsV0FBTSxHQUFZLEtBQUssQ0FBQTtRQUN2QixpQkFBWSxHQUE4QixFQUFFLENBQUE7S0FvRS9DO0lBNUZHLElBQ0ksSUFBSSxDQUFDLElBQXFCO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFBO1FBQ2pCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNiLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtTQUNkO0lBQ0wsQ0FBQztJQUNELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQTtJQUNyQixDQUFDO0lBaUJELFFB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SUFDOUIsQ0FBQzs7a0hBNUZRLHFCQUFxQjtzR0FBckIscUJBQXFCLG9LQ1RsQywyaUNBNkJBLDRmRHBCYSxxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDSSxvQkFBb0IsaUJBR2YsaUJBQWlCLENBQUMsUUFBUTs4QkFLckMsSUFBSTtzQkFEUCxLQUFLO2dCQVVHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBpc0FycmF5LCBpc0Jvb2xlYW4sIGlzTnVtYmVyLCBpc09iamVjdCwgaXNTdHJpbmcsIGlzVW5kZWZpbmVkIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbHMnXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbnh0LWpzb24tdmlldy1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vanNvbi12aWV3LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2pzb24tdmlldy1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWRcbn0pXG5leHBvcnQgY2xhc3MgSnNvblZpZXdJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwcml2YXRlIF9kYXRhPzogYW55XG4gICAgQElucHV0KClcbiAgICBzZXQgZGF0YShkYXRhOiBhbnkgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fZGF0YSA9IGRhdGFcbiAgICAgICAgaWYgKHRoaXMuaXNJbml0KSB7XG4gICAgICAgICAgICB0aGlzLmluaXQoKVxuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBkYXRhKCk6IGFueSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhXG4gICAgfVxuICAgIEBJbnB1dCgpIGtleT86IHN0cmluZ1xuICAgIEBJbnB1dCgpIGxldmVsOiBudW1iZXIgPSAwXG4gICAgQElucHV0KCkgbGV2ZWxPcGVuPzogbnVtYmVyXG4gICAgQElucHV0KCkgbGV2ZWxMYWJlbHM/OiB7IFtrZXk6IG51bWJlcl06IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfVxuXG4gICAgaXNPcGVuOiBib29sZWFuID0gZmFsc2VcbiAgICBjaGlsZHJlbktleXM/OiBzdHJpbmdbXVxuICAgIGhhc0NoaWxkcmVuOiBib29sZWFuID0gZmFsc2VcbiAgICBkYXRhVHlwZT86IHN0cmluZ1xuICAgIHZhbHVlOiBhbnlcbiAgICB2YWx1ZVR5cGU/OiBzdHJpbmdcbiAgICBpc09iamVjdDogYm9vbGVhbiA9IGZhbHNlXG4gICAgaXNBcnJheTogYm9vbGVhbiA9IGZhbHNlXG4gICAgaXNJbml0OiBib29sZWFuID0gZmFsc2VcbiAgICBfbGV2ZWxMYWJlbHM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaW5pdCgpXG4gICAgICAgIHRoaXMuaXNJbml0ID0gdHJ1ZVxuICAgIH1cblxuICAgIGluaXQoKSB7XG4gICAgICAgIHRoaXMubGV2ZWxMYWJlbEhhbmRsZSgpXG4gICAgICAgIHRoaXMubGV2ZWxPcGVuSGFuZGxlKClcbiAgICAgICAgdGhpcy5jaGlsZHJlbktleXNIYW5kbGUoKVxuICAgICAgICB0aGlzLmRhdGFIYW5kbGUoKVxuICAgIH1cblxuICAgIGxldmVsTGFiZWxIYW5kbGUoKSB7XG4gICAgICAgIGlmICh0aGlzLmxldmVsTGFiZWxzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2xldmVsTGFiZWxzID0gdGhpcy5sZXZlbExhYmVsc1t0aGlzLmxldmVsXSB8fCB7fVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGV2ZWxPcGVuSGFuZGxlKCkge1xuICAgICAgICBpZiAoIWlzVW5kZWZpbmVkKHRoaXMubGV2ZWxPcGVuKSAmJiAodGhpcy5sZXZlbCA8PSB0aGlzLmxldmVsT3BlbikpIHtcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2hpbGRyZW5LZXlzSGFuZGxlKCkge1xuICAgICAgICBpZiAoaXNPYmplY3QodGhpcy5kYXRhKSkge1xuICAgICAgICAgICAgdGhpcy5jaGlsZHJlbktleXMgPSBPYmplY3Qua2V5cyh0aGlzLmRhdGEpXG4gICAgICAgICAgICBpZiAodGhpcy5jaGlsZHJlbktleXMgJiYgdGhpcy5jaGlsZHJlbktleXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYXNDaGlsZHJlbiA9IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRhdGFIYW5kbGUoKSB7XG4gICAgICAgIGlmIChpc09iamVjdCh0aGlzLmRhdGEpKSB7XG4gICAgICAgICAgICB0aGlzLmlzT2JqZWN0ID0gdHJ1ZVxuICAgICAgICAgICAgdGhpcy5kYXRhVHlwZSA9ICdPYmplY3QnXG4gICAgICAgICAgICBpZiAoaXNBcnJheSh0aGlzLmRhdGEpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0FycmF5ID0gdHJ1ZVxuICAgICAgICAgICAgICAgIHRoaXMuZGF0YVR5cGUgPSAnQXJyYXknXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5rZXkgJiYgdGhpcy5fbGV2ZWxMYWJlbHNbdGhpcy5rZXldKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhVHlwZSA9IHRoaXMuX2xldmVsTGFiZWxzW3RoaXMua2V5XVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZGF0YVxuICAgICAgICAgICAgaWYgKGlzU3RyaW5nKHRoaXMuZGF0YSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlVHlwZSA9ICdzdHJpbmcnXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzTnVtYmVyKHRoaXMuZGF0YSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlVHlwZSA9ICdudW1iZXInXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzQm9vbGVhbih0aGlzLmRhdGEpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVR5cGUgPSAnYm9vbGVhbidcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobnVsbCA9PT0gdGhpcy5kYXRhKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVR5cGUgPSAnbnVsbCdcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gJ251bGwnXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0b2dnbGUoKSB7XG4gICAgICAgIGlmICghKHRoaXMuY2hpbGRyZW5LZXlzICYmIHRoaXMuY2hpbGRyZW5LZXlzLmxlbmd0aCkpIHtcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNPcGVuID0gIXRoaXMuaXNPcGVuXG4gICAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwianNvbi12aWV3XCI+XG4gICAgPGEgKGNsaWNrKT1cInRvZ2dsZSgpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidG9nZ2xlclwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2NvbGxhcHNlJzogaXNPcGVuLCAnZXhwYW5kJzogIWlzT3Blbn1cIlxuICAgICAgICAgICAgW3N0eWxlLnZpc2liaWxpdHldPVwiaGFzQ2hpbGRyZW4/J3Zpc2libGUnOidoaWRkZW4nXCI+PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImtleVwiXG4gICAgICAgICAgICAqbmdJZj1cImtleVwiPlxuICAgICAgICAgICAgPHNwYW4+e3trZXl9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuPjogPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWVcIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNPYmplY3RcIj5cbiAgICAgICAgICAgICAgICB7eyBkYXRhVHlwZSB9fVxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNBcnJheVwiPlsge3sgJGFueShkYXRhKT8ubGVuZ3RoIH19IF08L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpc09iamVjdCAmJiB2YWx1ZVR5cGVcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInZhbHVlVHlwZVwiPnt7IHZhbHVlIH19PC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgPC9hPlxuICAgIDxkaXYgY2xhc3M9XCJjaGlsZHJlblwiXG4gICAgICAgICpuZ0lmPVwiaGFzQ2hpbGRyZW4gJiYgaXNPcGVuXCI+XG4gICAgICAgIDxueHQtanNvbi12aWV3LWl0ZW0gKm5nRm9yPVwibGV0IF9rZXkgb2YgY2hpbGRyZW5LZXlzXCJcbiAgICAgICAgICAgIFtkYXRhXT1cImRhdGFbX2tleV1cIlxuICAgICAgICAgICAgW2tleV09XCJfa2V5XCJcbiAgICAgICAgICAgIFtsZXZlbF09XCJsZXZlbCsxXCJcbiAgICAgICAgICAgIFtsZXZlbE9wZW5dPVwibGV2ZWxPcGVuXCJcbiAgICAgICAgICAgIFtsZXZlbExhYmVsc109XCJsZXZlbExhYmVsc1wiPjwvbnh0LWpzb24tdmlldy1pdGVtPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../json-view-item/json-view-item.component";
|
|
4
|
-
export class NxtJsonViewComponent {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.level = 0;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
NxtJsonViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NxtJsonViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
-
NxtJsonViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: NxtJsonViewComponent, selector: "nxt-json-view", inputs: { data: "data", levelOpen: "levelOpen", levelLabels: "levelLabels" }, ngImport: i0, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"level\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n", styles: [""], components: [{ type: i1.JsonViewItemComponent, selector: "nxt-json-view-item", inputs: ["data", "key", "level", "levelOpen", "levelLabels"] }] });
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NxtJsonViewComponent, decorators: [{
|
|
12
|
-
type: Component,
|
|
13
|
-
args: [{ selector: 'nxt-json-view', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"level\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n", styles: [""] }]
|
|
14
|
-
}], propDecorators: { data: [{
|
|
15
|
-
type: Input
|
|
16
|
-
}], levelOpen: [{
|
|
17
|
-
type: Input
|
|
18
|
-
}], levelLabels: [{
|
|
19
|
-
type: Input
|
|
20
|
-
}] } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnh0LWpzb24tdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtanNvbi12aWV3L3NyYy9saWIvbnh0LWpzb24tdmlldy9ueHQtanNvbi12aWV3L254dC1qc29uLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWpzb24tdmlldy9zcmMvbGliL254dC1qc29uLXZpZXcvbnh0LWpzb24tdmlldy9ueHQtanNvbi12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFBOzs7QUFRbkUsTUFBTSxPQUFPLG9CQUFvQjtJQU5qQztRQWFJLFVBQUssR0FBVyxDQUFDLENBQUE7S0FFcEI7O2lIQVRZLG9CQUFvQjtxR0FBcEIsb0JBQW9CLG1JQ1JqQywwT0FPQTsyRkRDYSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0ksZUFBZSxpQkFHVixpQkFBaUIsQ0FBQyxRQUFROzhCQUloQyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ254dC1qc29uLXZpZXcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ueHQtanNvbi12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ueHQtanNvbi12aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWRcbn0pXG5leHBvcnQgY2xhc3MgTnh0SnNvblZpZXdDb21wb25lbnQge1xuXG4gICAgQElucHV0KCkgZGF0YTogYW55XG4gICAgQElucHV0KCkgbGV2ZWxPcGVuPzogbnVtYmVyXG4gICAgQElucHV0KCkgbGV2ZWxMYWJlbHM/OiB7IFtrZXk6IG51bWJlcl06IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfVxuXG4gICAga2V5Pzogc3RyaW5nXG4gICAgbGV2ZWw6IG51bWJlciA9IDBcblxufVxuIiwiPGRpdiBjbGFzcz1cIm54dC1qc29uLXZpZXdcIj5cbiAgICA8bnh0LWpzb24tdmlldy1pdGVtIFtkYXRhXT1cImRhdGFcIlxuICAgICAgICBbbGV2ZWxdPVwibGV2ZWxcIlxuICAgICAgICBbbGV2ZWxPcGVuXT1cImxldmVsT3BlblwiXG4gICAgICAgIFtsZXZlbExhYmVsc109XCJsZXZlbExhYmVsc1wiXG4gICAgICAgIGNsYXNzPVwianNvbi12aWV3XCI+PC9ueHQtanNvbi12aWV3LWl0ZW0+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { JsonViewItemComponent } from './json-view-item/json-view-item.component';
|
|
4
|
-
import { NxtJsonViewComponent } from './nxt-json-view/nxt-json-view.component';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class NxtJsonViewModule {
|
|
7
|
-
}
|
|
8
|
-
NxtJsonViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NxtJsonViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
-
NxtJsonViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NxtJsonViewModule, declarations: [JsonViewItemComponent,
|
|
10
|
-
NxtJsonViewComponent], imports: [CommonModule], exports: [NxtJsonViewComponent] });
|
|
11
|
-
NxtJsonViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NxtJsonViewModule, imports: [[
|
|
12
|
-
CommonModule
|
|
13
|
-
]] });
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NxtJsonViewModule, decorators: [{
|
|
15
|
-
type: NgModule,
|
|
16
|
-
args: [{
|
|
17
|
-
declarations: [
|
|
18
|
-
JsonViewItemComponent,
|
|
19
|
-
NxtJsonViewComponent
|
|
20
|
-
],
|
|
21
|
-
imports: [
|
|
22
|
-
CommonModule
|
|
23
|
-
],
|
|
24
|
-
exports: [
|
|
25
|
-
NxtJsonViewComponent
|
|
26
|
-
]
|
|
27
|
-
}]
|
|
28
|
-
}] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnh0LWpzb24tdmlldy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtanNvbi12aWV3L3NyYy9saWIvbnh0LWpzb24tdmlldy9ueHQtanNvbi12aWV3Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQTtBQUNqRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTs7QUFjOUUsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQVZ0QixxQkFBcUI7UUFDckIsb0JBQW9CLGFBR3BCLFlBQVksYUFHWixvQkFBb0I7K0dBR2YsaUJBQWlCLFlBUGpCO1lBQ0wsWUFBWTtTQUNmOzJGQUtRLGlCQUFpQjtrQkFaN0IsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YscUJBQXFCO3dCQUNyQixvQkFBb0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3FCQUNmO29CQUNELE9BQU8sRUFBRTt3QkFDTCxvQkFBb0I7cUJBQ3ZCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgSnNvblZpZXdJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9qc29uLXZpZXctaXRlbS9qc29uLXZpZXctaXRlbS5jb21wb25lbnQnXG5pbXBvcnQgeyBOeHRKc29uVmlld0NvbXBvbmVudCB9IGZyb20gJy4vbnh0LWpzb24tdmlldy9ueHQtanNvbi12aWV3LmNvbXBvbmVudCdcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgSnNvblZpZXdJdGVtQ29tcG9uZW50LFxuICAgICAgICBOeHRKc29uVmlld0NvbXBvbmVudFxuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgTnh0SnNvblZpZXdDb21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE54dEpzb25WaWV3TW9kdWxlIHsgfVxuIl19
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
export declare class NxtJsonViewComponent {
|
|
3
|
-
data: any;
|
|
4
|
-
levelOpen?: number;
|
|
5
|
-
levelLabels?: {
|
|
6
|
-
[key: number]: {
|
|
7
|
-
[key: string]: string;
|
|
8
|
-
};
|
|
9
|
-
};
|
|
10
|
-
key?: string;
|
|
11
|
-
level: number;
|
|
12
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NxtJsonViewComponent, never>;
|
|
13
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NxtJsonViewComponent, "nxt-json-view", never, { "data": "data"; "levelOpen": "levelOpen"; "levelLabels": "levelLabels"; }, {}, never, never>;
|
|
14
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./json-view-item/json-view-item.component";
|
|
3
|
-
import * as i2 from "./nxt-json-view/nxt-json-view.component";
|
|
4
|
-
import * as i3 from "@angular/common";
|
|
5
|
-
export declare class NxtJsonViewModule {
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NxtJsonViewModule, never>;
|
|
7
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<NxtJsonViewModule, [typeof i1.JsonViewItemComponent, typeof i2.NxtJsonViewComponent], [typeof i3.CommonModule], [typeof i2.NxtJsonViewComponent]>;
|
|
8
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<NxtJsonViewModule>;
|
|
9
|
-
}
|
|
File without changes
|