nxt-json-view 14.0.0 → 16.0.0-alpha.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 +22 -38
- package/esm2020/lib/json-view/json-view.component.mjs +18 -0
- package/esm2020/lib/json-view-item/json-view-item.component.mjs +105 -0
- package/esm2020/lib/json-view.module.mjs +27 -0
- package/esm2020/lib/utils/interfaces.mjs +2 -0
- package/esm2020/lib/utils/utils.mjs +7 -1
- package/esm2020/nxt-json-view.mjs +1 -1
- package/esm2020/public-api.mjs +3 -4
- package/fesm2015/nxt-json-view.mjs +27 -23
- package/fesm2015/nxt-json-view.mjs.map +1 -1
- package/fesm2020/nxt-json-view.mjs +27 -23
- package/fesm2020/nxt-json-view.mjs.map +1 -1
- package/lib/json-view/json-view.component.d.ts +12 -0
- package/lib/{nxt-json-view/json-view-item → json-view-item}/json-view-item.component.d.ts +4 -6
- package/lib/json-view.module.d.ts +9 -0
- package/lib/utils/interfaces.d.ts +5 -0
- package/lib/utils/utils.d.ts +7 -1
- package/package.json +9 -4
- 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 -27
- 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/README.md
CHANGED
|
@@ -1,49 +1,43 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Angular JSON viewer
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://github.com/Liquid-JS/nxt-components/blob/master/LICENSE)
|
|
4
|
+
[](https://www.npmjs.com/package/nxt-json-view)
|
|
5
|
+
[](https://www.npmjs.com/package/nxt-json-view)
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
An interactive JSON view component for Angular.
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
## Quick links
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
- [Demo](https://liquid-js.github.io/nxt-components/demo/json-view)
|
|
12
|
+
- [Getting started](https://liquid-js.github.io/nxt-components/demo/json-view/getting-started)
|
|
13
|
+
- [API docs](https://liquid-js.github.io/nxt-components/docs/nxt-json-view)
|
|
10
14
|
|
|
11
|
-
|
|
12
|
-
npm install nxt-json-view --save
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
## use
|
|
16
|
-
|
|
17
|
-
- Install the dependency package:`nxt-json-view`
|
|
15
|
+
### Installing
|
|
18
16
|
|
|
19
17
|
```sh
|
|
20
|
-
npm install nxt-json-view
|
|
18
|
+
npm install --save nxt-json-view
|
|
21
19
|
```
|
|
22
20
|
|
|
23
|
-
|
|
21
|
+
### Import JSON view module
|
|
24
22
|
|
|
25
23
|
```ts
|
|
26
|
-
import {
|
|
24
|
+
import { JsonViewModule } from 'nxt-json-view'
|
|
27
25
|
|
|
28
26
|
@NgModule({
|
|
29
|
-
|
|
30
|
-
AppComponent
|
|
31
|
-
],
|
|
27
|
+
...
|
|
32
28
|
imports: [
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
]
|
|
36
|
-
bootstrap: [AppComponent]
|
|
29
|
+
...
|
|
30
|
+
JsonViewModule
|
|
31
|
+
]
|
|
37
32
|
})
|
|
38
|
-
export class AppModule { }
|
|
39
33
|
```
|
|
40
34
|
|
|
41
|
-
|
|
35
|
+
### Prepare JSON data
|
|
42
36
|
|
|
43
|
-
```
|
|
37
|
+
```ts
|
|
44
38
|
data = {
|
|
45
39
|
"name": "nxt-json-view",
|
|
46
|
-
"url": "https://github.com/
|
|
40
|
+
"url": "https://github.com/Liquid-JS/nxt-components/tree/master/packages/json-view",
|
|
47
41
|
"string": "github",
|
|
48
42
|
"number": 88,
|
|
49
43
|
"boolean": true,
|
|
@@ -63,21 +57,11 @@ data = {
|
|
|
63
57
|
],
|
|
64
58
|
"date": new Date(),
|
|
65
59
|
"null": null
|
|
66
|
-
}
|
|
60
|
+
}
|
|
67
61
|
```
|
|
68
62
|
|
|
69
|
-
|
|
63
|
+
### Use it in a template
|
|
70
64
|
|
|
71
65
|
```html
|
|
72
66
|
<nxt-json-view [data]="data"></nxt-json-view>
|
|
73
67
|
```
|
|
74
|
-
|
|
75
|
-
# Document
|
|
76
|
-
|
|
77
|
-
- `data` - `Object` - Data
|
|
78
|
-
- `levelOpen` - `number` - Initialize the number of layers to be expanded (initial value: 0)
|
|
79
|
-
|
|
80
|
-
# stand by
|
|
81
|
-
|
|
82
|
-
- If the project is helpful to you, please click on the star,Thank you
|
|
83
|
-
- If you have ideas, questions, and bugs about the project, welcome to discuss.
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
}
|
|
6
|
+
JsonViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7
|
+
JsonViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", 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]=\"0\"\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"] }] });
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewComponent, decorators: [{
|
|
9
|
+
type: Component,
|
|
10
|
+
args: [{ selector: 'nxt-json-view', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"0\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n" }]
|
|
11
|
+
}], propDecorators: { data: [{
|
|
12
|
+
type: Input
|
|
13
|
+
}], levelOpen: [{
|
|
14
|
+
type: Input
|
|
15
|
+
}], levelLabels: [{
|
|
16
|
+
type: Input
|
|
17
|
+
}] } });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2pzb24tdmlldy9zcmMvbGliL2pzb24tdmlldy9qc29uLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvanNvbi12aWV3L3NyYy9saWIvanNvbi12aWV3L2pzb24tdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQTs7O0FBU25FLE1BQU0sT0FBTyxpQkFBaUI7OzhHQUFqQixpQkFBaUI7a0dBQWpCLGlCQUFpQixtSUNUOUIsc09BT0E7MkZERWEsaUJBQWlCO2tCQU43QixTQUFTOytCQUNJLGVBQWUsaUJBR1YsaUJBQWlCLENBQUMsUUFBUTs4QkFJaEMsSUFBSTtzQkFBWixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IExldmVsTGFiZWxzIH0gZnJvbSAnLi4vdXRpbHMvaW50ZXJmYWNlcydcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdueHQtanNvbi12aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vanNvbi12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9qc29uLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZFxufSlcbmV4cG9ydCBjbGFzcyBKc29uVmlld0NvbXBvbmVudCB7XG4gICAgLyoqIEpTT04gZGF0YSwgYW55IHZhbGlkIEpTT04gb2JqZWN0ICovXG4gICAgQElucHV0KCkgZGF0YTogYW55XG4gICAgLyoqIEluaXRpYWwgbnVtYmVyIG9mIGxldmVscyB0byBiZSBleHBhbmRlZCAqL1xuICAgIEBJbnB1dCgpIGxldmVsT3Blbj86IG51bWJlclxuICAgIC8qKiBDdXN0b20gbGFiZWxzIGZvciBlbGVtZW50cyB3aXRoaW4gdGhlIGhpZXJhcmN5ICovXG4gICAgQElucHV0KCkgbGV2ZWxMYWJlbHM/OiBMZXZlbExhYmVsc1xufVxuIiwiPGRpdiBjbGFzcz1cIm54dC1qc29uLXZpZXdcIj5cbiAgICA8bnh0LWpzb24tdmlldy1pdGVtIFtkYXRhXT1cImRhdGFcIlxuICAgICAgICBbbGV2ZWxdPVwiMFwiXG4gICAgICAgIFtsZXZlbE9wZW5dPVwibGV2ZWxPcGVuXCJcbiAgICAgICAgW2xldmVsTGFiZWxzXT1cImxldmVsTGFiZWxzXCJcbiAgICAgICAgY2xhc3M9XCJqc29uLXZpZXdcIj48L254dC1qc29uLXZpZXctaXRlbT5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,105 @@
|
|
|
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
|
+
/** @internal */
|
|
6
|
+
export class JsonViewItemComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.level = 0;
|
|
9
|
+
this.isOpen = false;
|
|
10
|
+
this.hasChildren = false;
|
|
11
|
+
this.isObject = false;
|
|
12
|
+
this.isArray = false;
|
|
13
|
+
this.isInit = false;
|
|
14
|
+
this._levelLabels = {};
|
|
15
|
+
}
|
|
16
|
+
set data(data) {
|
|
17
|
+
this._data = data;
|
|
18
|
+
if (this.isInit) {
|
|
19
|
+
this.init();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
get data() {
|
|
23
|
+
return this._data;
|
|
24
|
+
}
|
|
25
|
+
ngOnInit() {
|
|
26
|
+
this.init();
|
|
27
|
+
this.isInit = true;
|
|
28
|
+
}
|
|
29
|
+
init() {
|
|
30
|
+
this.levelLabelHandle();
|
|
31
|
+
this.levelOpenHandle();
|
|
32
|
+
this.childrenKeysHandle();
|
|
33
|
+
this.dataHandle();
|
|
34
|
+
}
|
|
35
|
+
levelLabelHandle() {
|
|
36
|
+
if (this.levelLabels !== undefined) {
|
|
37
|
+
this._levelLabels = this.levelLabels[this.level] || {};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
levelOpenHandle() {
|
|
41
|
+
if (!isUndefined(this.levelOpen) && (this.level <= this.levelOpen)) {
|
|
42
|
+
this.isOpen = true;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
childrenKeysHandle() {
|
|
46
|
+
if (isObject(this.data)) {
|
|
47
|
+
this.childrenKeys = Object.keys(this.data);
|
|
48
|
+
if (this.childrenKeys && this.childrenKeys.length) {
|
|
49
|
+
this.hasChildren = true;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
dataHandle() {
|
|
54
|
+
if (isObject(this.data)) {
|
|
55
|
+
this.isObject = true;
|
|
56
|
+
this.dataType = 'Object';
|
|
57
|
+
if (isArray(this.data)) {
|
|
58
|
+
this.isArray = true;
|
|
59
|
+
this.dataType = 'Array';
|
|
60
|
+
}
|
|
61
|
+
if (this.key && this._levelLabels[this.key]) {
|
|
62
|
+
this.dataType = this._levelLabels[this.key];
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
this.value = this.data;
|
|
67
|
+
if (isString(this.data)) {
|
|
68
|
+
this.valueType = 'string';
|
|
69
|
+
}
|
|
70
|
+
else if (isNumber(this.data)) {
|
|
71
|
+
this.valueType = 'number';
|
|
72
|
+
}
|
|
73
|
+
else if (isBoolean(this.data)) {
|
|
74
|
+
this.valueType = 'boolean';
|
|
75
|
+
}
|
|
76
|
+
else if (null === this.data) {
|
|
77
|
+
this.valueType = 'null';
|
|
78
|
+
this.value = 'null';
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
toggle() {
|
|
83
|
+
if (!(this.childrenKeys && this.childrenKeys.length)) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
this.isOpen = !this.isOpen;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
JsonViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
90
|
+
JsonViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", 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:var(--nxt-json-view-color-key, #92278f)}.json-view .value{color:var(--nxt-json-view-color-value, #000000)}.json-view .value .string{color:var(--nxt-json-view-color-string, #3ab54a)}.json-view .value .number{color:var(--nxt-json-view-color-number, #25aae2)}.json-view .value .boolean{color:var(--nxt-json-view-color-boolean, #aa0d91)}.json-view .value .null{color:var(--nxt-json-view-color-null, #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"] }] });
|
|
91
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewItemComponent, decorators: [{
|
|
92
|
+
type: Component,
|
|
93
|
+
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:var(--nxt-json-view-color-key, #92278f)}.json-view .value{color:var(--nxt-json-view-color-value, #000000)}.json-view .value .string{color:var(--nxt-json-view-color-string, #3ab54a)}.json-view .value .number{color:var(--nxt-json-view-color-number, #25aae2)}.json-view .value .boolean{color:var(--nxt-json-view-color-boolean, #aa0d91)}.json-view .value .null{color:var(--nxt-json-view-color-null, #f1592a)}.json-view .children{margin-left:1em}\n"] }]
|
|
94
|
+
}], propDecorators: { data: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}], key: [{
|
|
97
|
+
type: Input
|
|
98
|
+
}], level: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], levelOpen: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], levelLabels: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}] } });
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi12aWV3LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvanNvbi12aWV3L3NyYy9saWIvanNvbi12aWV3LWl0ZW0vanNvbi12aWV3LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvanNvbi12aWV3L3NyYy9saWIvanNvbi12aWV3LWl0ZW0vanNvbi12aWV3LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7OztBQUU5RixnQkFBZ0I7QUFPaEIsTUFBTSxPQUFPLHFCQUFxQjtJQU5sQztRQW1CYSxVQUFLLEdBQVcsQ0FBQyxDQUFBO1FBSTFCLFdBQU0sR0FBWSxLQUFLLENBQUE7UUFFdkIsZ0JBQVcsR0FBWSxLQUFLLENBQUE7UUFJNUIsYUFBUSxHQUFZLEtBQUssQ0FBQTtRQUN6QixZQUFPLEdBQVksS0FBSyxDQUFBO1FBQ3hCLFdBQU0sR0FBWSxLQUFLLENBQUE7UUFDdkIsaUJBQVksR0FBOEIsRUFBRSxDQUFBO0tBb0UvQztJQTVGRyxJQUNJLElBQUksQ0FBQyxJQUFxQjtRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQTtRQUNqQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDYixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7U0FDZDtJQUNMLENBQUM7SUFDRCxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUE7SUFDckIsQ0FBQztJQWlCRCxRQUFRO1FBQ0osSUFBSSxDQUFDLElBQUksRUFBRSxD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QXJCLHFCQUFxQixvS0NYbEMsMmlDQTZCQSxnaUNEbEJhLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNJLG9CQUFvQixpQkFHZixpQkFBaUIsQ0FBQyxRQUFROzhCQUtyQyxJQUFJO3NCQURQLEtBQUs7Z0JBVUcsR0FBRztzQkFBWCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IExldmVsTGFiZWxzIH0gZnJvbSAnLi4vdXRpbHMvaW50ZXJmYWNlcydcbmltcG9ydCB7IGlzQXJyYXksIGlzQm9vbGVhbiwgaXNOdW1iZXIsIGlzT2JqZWN0LCBpc1N0cmluZywgaXNVbmRlZmluZWQgfSBmcm9tICcuLi91dGlscy91dGlscydcblxuLyoqIEBpbnRlcm5hbCAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdueHQtanNvbi12aWV3LWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9qc29uLXZpZXctaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vanNvbi12aWV3LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZFxufSlcbmV4cG9ydCBjbGFzcyBKc29uVmlld0l0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHByaXZhdGUgX2RhdGE/OiBhbnlcbiAgICBASW5wdXQoKVxuICAgIHNldCBkYXRhKGRhdGE6IGFueSB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9kYXRhID0gZGF0YVxuICAgICAgICBpZiAodGhpcy5pc0luaXQpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdCgpXG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IGRhdGEoKTogYW55IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGFcbiAgICB9XG4gICAgQElucHV0KCkga2V5Pzogc3RyaW5nXG4gICAgQElucHV0KCkgbGV2ZWw6IG51bWJlciA9IDBcbiAgICBASW5wdXQoKSBsZXZlbE9wZW4/OiBudW1iZXJcbiAgICBASW5wdXQoKSBsZXZlbExhYmVscz86IExldmVsTGFiZWxzXG5cbiAgICBpc09wZW46IGJvb2xlYW4gPSBmYWxzZVxuICAgIGNoaWxkcmVuS2V5cz86IHN0cmluZ1tdXG4gICAgaGFzQ2hpbGRyZW46IGJvb2xlYW4gPSBmYWxzZVxuICAgIGRhdGFUeXBlPzogc3RyaW5nXG4gICAgdmFsdWU6IGFueVxuICAgIHZhbHVlVHlwZT86IHN0cmluZ1xuICAgIGlzT2JqZWN0OiBib29sZWFuID0gZmFsc2VcbiAgICBpc0FycmF5OiBib29sZWFuID0gZmFsc2VcbiAgICBpc0luaXQ6IGJvb2xlYW4gPSBmYWxzZVxuICAgIF9sZXZlbExhYmVsczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbml0KClcbiAgICAgICAgdGhpcy5pc0luaXQgPSB0cnVlXG4gICAgfVxuXG4gICAgaW5pdCgpIHtcbiAgICAgICAgdGhpcy5sZXZlbExhYmVsSGFuZGxlKClcbiAgICAgICAgdGhpcy5sZXZlbE9wZW5IYW5kbGUoKVxuICAgICAgICB0aGlzLmNoaWxkcmVuS2V5c0hhbmRsZSgpXG4gICAgICAgIHRoaXMuZGF0YUhhbmRsZSgpXG4gICAgfVxuXG4gICAgbGV2ZWxMYWJlbEhhbmRsZSgpIHtcbiAgICAgICAgaWYgKHRoaXMubGV2ZWxMYWJlbHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5fbGV2ZWxMYWJlbHMgPSB0aGlzLmxldmVsTGFiZWxzW3RoaXMubGV2ZWxdIHx8IHt9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsZXZlbE9wZW5IYW5kbGUoKSB7XG4gICAgICAgIGlmICghaXNVbmRlZmluZWQodGhpcy5sZXZlbE9wZW4pICYmICh0aGlzLmxldmVsIDw9IHRoaXMubGV2ZWxPcGVuKSkge1xuICAgICAgICAgICAgdGhpcy5pc09wZW4gPSB0cnVlXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGlsZHJlbktleXNIYW5kbGUoKSB7XG4gICAgICAgIGlmIChpc09iamVjdCh0aGlzLmRhdGEpKSB7XG4gICAgICAgICAgICB0aGlzLmNoaWxkcmVuS2V5cyA9IE9iamVjdC5rZXlzKHRoaXMuZGF0YSlcbiAgICAgICAgICAgIGlmICh0aGlzLmNoaWxkcmVuS2V5cyAmJiB0aGlzLmNoaWxkcmVuS2V5cy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhc0NoaWxkcmVuID0gdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGF0YUhhbmRsZSgpIHtcbiAgICAgICAgaWYgKGlzT2JqZWN0KHRoaXMuZGF0YSkpIHtcbiAgICAgICAgICAgIHRoaXMuaXNPYmplY3QgPSB0cnVlXG4gICAgICAgICAgICB0aGlzLmRhdGFUeXBlID0gJ09iamVjdCdcbiAgICAgICAgICAgIGlmIChpc0FycmF5KHRoaXMuZGF0YSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzQXJyYXkgPSB0cnVlXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhVHlwZSA9ICdBcnJheSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmtleSAmJiB0aGlzLl9sZXZlbExhYmVsc1t0aGlzLmtleV0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFUeXBlID0gdGhpcy5fbGV2ZWxMYWJlbHNbdGhpcy5rZXldXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5kYXRhXG4gICAgICAgICAgICBpZiAoaXNTdHJpbmcodGhpcy5kYXRhKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVUeXBlID0gJ3N0cmluZydcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNOdW1iZXIodGhpcy5kYXRhKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVUeXBlID0gJ251bWJlcidcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNCb29sZWFuKHRoaXMuZGF0YSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlVHlwZSA9ICdib29sZWFuJ1xuICAgICAgICAgICAgfSBlbHNlIGlmIChudWxsID09PSB0aGlzLmRhdGEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlVHlwZSA9ICdudWxsJ1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSAnbnVsbCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRvZ2dsZSgpIHtcbiAgICAgICAgaWYgKCEodGhpcy5jaGlsZHJlbktleXMgJiYgdGhpcy5jaGlsZHJlbktleXMubGVuZ3RoKSkge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc09wZW4gPSAhdGhpcy5pc09wZW5cbiAgICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJqc29uLXZpZXdcIj5cbiAgICA8YSAoY2xpY2spPVwidG9nZ2xlKClcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b2dnbGVyXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnY29sbGFwc2UnOiBpc09wZW4sICdleHBhbmQnOiAhaXNPcGVufVwiXG4gICAgICAgICAgICBbc3R5bGUudmlzaWJpbGl0eV09XCJoYXNDaGlsZHJlbj8ndmlzaWJsZSc6J2hpZGRlbidcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwia2V5XCJcbiAgICAgICAgICAgICpuZ0lmPVwia2V5XCI+XG4gICAgICAgICAgICA8c3Bhbj57e2tleX19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4+OiA8L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc09iamVjdFwiPlxuICAgICAgICAgICAgICAgIHt7IGRhdGFUeXBlIH19XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc0FycmF5XCI+WyB7eyAkYW55KGRhdGEpPy5sZW5ndGggfX0gXTwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWlzT2JqZWN0ICYmIHZhbHVlVHlwZVwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwidmFsdWVUeXBlXCI+e3sgdmFsdWUgfX08L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2E+XG4gICAgPGRpdiBjbGFzcz1cImNoaWxkcmVuXCJcbiAgICAgICAgKm5nSWY9XCJoYXNDaGlsZHJlbiAmJiBpc09wZW5cIj5cbiAgICAgICAgPG54dC1qc29uLXZpZXctaXRlbSAqbmdGb3I9XCJsZXQgX2tleSBvZiBjaGlsZHJlbktleXNcIlxuICAgICAgICAgICAgW2RhdGFdPVwiZGF0YVtfa2V5XVwiXG4gICAgICAgICAgICBba2V5XT1cIl9rZXlcIlxuICAgICAgICAgICAgW2xldmVsXT1cImxldmVsKzFcIlxuICAgICAgICAgICAgW2xldmVsT3Blbl09XCJsZXZlbE9wZW5cIlxuICAgICAgICAgICAgW2xldmVsTGFiZWxzXT1cImxldmVsTGFiZWxzXCI+PC9ueHQtanNvbi12aWV3LWl0ZW0+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -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.3", ngImport: i0, type: JsonViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
JsonViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: JsonViewModule, declarations: [JsonViewItemComponent,
|
|
10
|
+
JsonViewComponent], imports: [CommonModule], exports: [JsonViewComponent] });
|
|
11
|
+
JsonViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewModule, imports: [CommonModule] });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", 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==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2pzb24tdmlldy9zcmMvbGliL3V0aWxzL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTGV2ZWxMYWJlbHMge1xuICAgIFtsZXZlbDogbnVtYmVyXTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfVxufVxuIl19
|
|
@@ -1,19 +1,25 @@
|
|
|
1
|
+
/** @internal */
|
|
1
2
|
export function isObject(value) {
|
|
2
3
|
return value !== null && typeof value === 'object';
|
|
3
4
|
}
|
|
5
|
+
/** @internal */
|
|
4
6
|
export function isArray(value) {
|
|
5
7
|
return Array.isArray(value);
|
|
6
8
|
}
|
|
9
|
+
/** @internal */
|
|
7
10
|
export function isUndefined(value) {
|
|
8
11
|
return typeof value === 'undefined';
|
|
9
12
|
}
|
|
13
|
+
/** @internal */
|
|
10
14
|
export function isString(value) {
|
|
11
15
|
return typeof value === 'string';
|
|
12
16
|
}
|
|
17
|
+
/** @internal */
|
|
13
18
|
export function isNumber(value) {
|
|
14
19
|
return typeof value === 'number';
|
|
15
20
|
}
|
|
21
|
+
/** @internal */
|
|
16
22
|
export function isBoolean(value) {
|
|
17
23
|
return typeof value === 'boolean';
|
|
18
24
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9qc29uLXZpZXcvc3JjL2xpYi91dGlscy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUFDaEIsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUFVO0lBQy9CLE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUE7QUFDdEQsQ0FBQztBQUVELGdCQUFnQjtBQUNoQixNQUFNLFVBQVUsT0FBTyxDQUFDLEtBQVU7SUFDOUIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBQy9CLENBQUM7QUFFRCxnQkFBZ0I7QUFDaEIsTUFBTSxVQUFVLFdBQVcsQ0FBSSxLQUFvQjtJQUMvQyxPQUFPLE9BQU8sS0FBSyxLQUFLLFdBQVcsQ0FBQTtBQUN2QyxDQUFDO0FBRUQsZ0JBQWdCO0FBQ2hCLE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBVTtJQUMvQixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQTtBQUNwQyxDQUFDO0FBRUQsZ0JBQWdCO0FBQ2hCLE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBVTtJQUMvQixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQTtBQUNwQyxDQUFDO0FBRUQsZ0JBQWdCO0FBQ2hCLE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBVTtJQUNoQyxPQUFPLE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FBQTtBQUNyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0KHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBvYmplY3Qge1xuICAgIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnXG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0FycmF5KHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyB1bmtub3duW10ge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKVxufVxuXG4vKiogQGludGVybmFsICovXG5leHBvcnQgZnVuY3Rpb24gaXNVbmRlZmluZWQ8VD4odmFsdWU6IFQgfCB1bmRlZmluZWQpOiB2YWx1ZSBpcyB1bmRlZmluZWQge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnXG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmluZyh2YWx1ZTogYW55KTogdmFsdWUgaXMgc3RyaW5nIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJ1xufVxuXG4vKiogQGludGVybmFsICovXG5leHBvcnQgZnVuY3Rpb24gaXNOdW1iZXIodmFsdWU6IGFueSk6IHZhbHVlIGlzIG51bWJlciB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcidcbn1cblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQm9vbGVhbih2YWx1ZTogYW55KTogdmFsdWUgaXMgYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nXG59XG4iXX0=
|
|
@@ -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,3 @@
|
|
|
1
|
-
export * from './lib/
|
|
2
|
-
export * from './lib/
|
|
3
|
-
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL254dC1qc29uLXZpZXcvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2REFBNkQsQ0FBQTtBQUMzRSxjQUFjLDBDQUEwQyxDQUFBO0FBQ3hELGNBQWMsMkRBQTJELENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9ueHQtanNvbi12aWV3L2pzb24tdmlldy1pdGVtL2pzb24tdmlldy1pdGVtLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL254dC1qc29uLXZpZXcvbnh0LWpzb24tdmlldy5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ueHQtanNvbi12aWV3L254dC1qc29uLXZpZXcvbnh0LWpzb24tdmlldy5jb21wb25lbnQnXG4iXX0=
|
|
1
|
+
export * from './lib/json-view.module';
|
|
2
|
+
export * from './lib/json-view/json-view.component';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2pzb24tdmlldy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFBO0FBQ3RDLGNBQWMscUNBQXFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9qc29uLXZpZXcubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvanNvbi12aWV3L2pzb24tdmlldy5jb21wb25lbnQnXG5leHBvcnQgeyBMZXZlbExhYmVscyB9IGZyb20gJy4vbGliL3V0aWxzL2ludGVyZmFjZXMnXG4iXX0=
|
|
@@ -1,27 +1,34 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, ViewEncapsulation, Input, NgModule } from '@angular/core';
|
|
3
1
|
import * as i1 from '@angular/common';
|
|
4
2
|
import { CommonModule } from '@angular/common';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { Component, ViewEncapsulation, Input, NgModule } from '@angular/core';
|
|
5
5
|
|
|
6
|
+
/** @internal */
|
|
6
7
|
function isObject(value) {
|
|
7
8
|
return value !== null && typeof value === 'object';
|
|
8
9
|
}
|
|
10
|
+
/** @internal */
|
|
9
11
|
function isArray(value) {
|
|
10
12
|
return Array.isArray(value);
|
|
11
13
|
}
|
|
14
|
+
/** @internal */
|
|
12
15
|
function isUndefined(value) {
|
|
13
16
|
return typeof value === 'undefined';
|
|
14
17
|
}
|
|
18
|
+
/** @internal */
|
|
15
19
|
function isString(value) {
|
|
16
20
|
return typeof value === 'string';
|
|
17
21
|
}
|
|
22
|
+
/** @internal */
|
|
18
23
|
function isNumber(value) {
|
|
19
24
|
return typeof value === 'number';
|
|
20
25
|
}
|
|
26
|
+
/** @internal */
|
|
21
27
|
function isBoolean(value) {
|
|
22
28
|
return typeof value === 'boolean';
|
|
23
29
|
}
|
|
24
30
|
|
|
31
|
+
/** @internal */
|
|
25
32
|
class JsonViewItemComponent {
|
|
26
33
|
constructor() {
|
|
27
34
|
this.level = 0;
|
|
@@ -105,11 +112,11 @@ class JsonViewItemComponent {
|
|
|
105
112
|
this.isOpen = !this.isOpen;
|
|
106
113
|
}
|
|
107
114
|
}
|
|
108
|
-
JsonViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
109
|
-
JsonViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
115
|
+
JsonViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
116
|
+
JsonViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", 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:var(--nxt-json-view-color-key, #92278f)}.json-view .value{color:var(--nxt-json-view-color-value, #000000)}.json-view .value .string{color:var(--nxt-json-view-color-string, #3ab54a)}.json-view .value .number{color:var(--nxt-json-view-color-number, #25aae2)}.json-view .value .boolean{color:var(--nxt-json-view-color-boolean, #aa0d91)}.json-view .value .null{color:var(--nxt-json-view-color-null, #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"] }] });
|
|
117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewItemComponent, decorators: [{
|
|
111
118
|
type: Component,
|
|
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
|
|
119
|
+
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:var(--nxt-json-view-color-key, #92278f)}.json-view .value{color:var(--nxt-json-view-color-value, #000000)}.json-view .value .string{color:var(--nxt-json-view-color-string, #3ab54a)}.json-view .value .number{color:var(--nxt-json-view-color-number, #25aae2)}.json-view .value .boolean{color:var(--nxt-json-view-color-boolean, #aa0d91)}.json-view .value .null{color:var(--nxt-json-view-color-null, #f1592a)}.json-view .children{margin-left:1em}\n"] }]
|
|
113
120
|
}], propDecorators: { data: [{
|
|
114
121
|
type: Input
|
|
115
122
|
}], key: [{
|
|
@@ -122,16 +129,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
122
129
|
type: Input
|
|
123
130
|
}] } });
|
|
124
131
|
|
|
125
|
-
class
|
|
126
|
-
constructor() {
|
|
127
|
-
this.level = 0;
|
|
128
|
-
}
|
|
132
|
+
class JsonViewComponent {
|
|
129
133
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
134
|
+
JsonViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
135
|
+
JsonViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", 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]=\"0\"\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"] }] });
|
|
136
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewComponent, decorators: [{
|
|
133
137
|
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]=\"
|
|
138
|
+
args: [{ selector: 'nxt-json-view', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"0\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n" }]
|
|
135
139
|
}], propDecorators: { data: [{
|
|
136
140
|
type: Input
|
|
137
141
|
}], levelOpen: [{
|
|
@@ -140,24 +144,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
140
144
|
type: Input
|
|
141
145
|
}] } });
|
|
142
146
|
|
|
143
|
-
class
|
|
147
|
+
class JsonViewModule {
|
|
144
148
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
149
|
+
JsonViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
150
|
+
JsonViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: JsonViewModule, declarations: [JsonViewItemComponent,
|
|
151
|
+
JsonViewComponent], imports: [CommonModule], exports: [JsonViewComponent] });
|
|
152
|
+
JsonViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewModule, imports: [CommonModule] });
|
|
153
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewModule, decorators: [{
|
|
150
154
|
type: NgModule,
|
|
151
155
|
args: [{
|
|
152
156
|
declarations: [
|
|
153
157
|
JsonViewItemComponent,
|
|
154
|
-
|
|
158
|
+
JsonViewComponent
|
|
155
159
|
],
|
|
156
160
|
imports: [
|
|
157
161
|
CommonModule
|
|
158
162
|
],
|
|
159
163
|
exports: [
|
|
160
|
-
|
|
164
|
+
JsonViewComponent
|
|
161
165
|
]
|
|
162
166
|
}]
|
|
163
167
|
}] });
|
|
@@ -166,5 +170,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
166
170
|
* Generated bundle index. Do not edit.
|
|
167
171
|
*/
|
|
168
172
|
|
|
169
|
-
export {
|
|
173
|
+
export { JsonViewComponent, JsonViewModule };
|
|
170
174
|
//# 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":["i1.JsonViewItemComponent"],"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":["/** @internal */\nexport function isObject(value: any): value is object {\n return value !== null && typeof value === 'object'\n}\n\n/** @internal */\nexport function isArray(value: any): value is unknown[] {\n return Array.isArray(value)\n}\n\n/** @internal */\nexport function isUndefined<T>(value: T | undefined): value is undefined {\n return typeof value === 'undefined'\n}\n\n/** @internal */\nexport function isString(value: any): value is string {\n return typeof value === 'string'\n}\n\n/** @internal */\nexport function isNumber(value: any): value is number {\n return typeof value === 'number'\n}\n\n/** @internal */\nexport function isBoolean(value: any): value is boolean {\n return typeof value === 'boolean'\n}\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core'\nimport { LevelLabels } from '../utils/interfaces'\nimport { isArray, isBoolean, isNumber, isObject, isString, isUndefined } from '../utils/utils'\n\n/** @internal */\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?: LevelLabels\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'\nimport { LevelLabels } from '../utils/interfaces'\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 /** JSON data, any valid JSON object */\n @Input() data: any\n /** Initial number of levels to be expanded */\n @Input() levelOpen?: number\n /** Custom labels for elements within the hierarcy */\n @Input() levelLabels?: LevelLabels\n}\n","<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"0\"\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":";;;;;AAAA;AACM,SAAU,QAAQ,CAAC,KAAU,EAAA;IAC/B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAA;AACtD,CAAC;AAED;AACM,SAAU,OAAO,CAAC,KAAU,EAAA;AAC9B,IAAA,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC;AAED;AACM,SAAU,WAAW,CAAI,KAAoB,EAAA;AAC/C,IAAA,OAAO,OAAO,KAAK,KAAK,WAAW,CAAA;AACvC,CAAC;AAED;AACM,SAAU,QAAQ,CAAC,KAAU,EAAA;AAC/B,IAAA,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAA;AACpC,CAAC;AAED;AACM,SAAU,QAAQ,CAAC,KAAU,EAAA;AAC/B,IAAA,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAA;AACpC,CAAC;AAED;AACM,SAAU,SAAS,CAAC,KAAU,EAAA;AAChC,IAAA,OAAO,OAAO,KAAK,KAAK,SAAS,CAAA;AACrC;;ACxBA;MAOa,qBAAqB,CAAA;AANlC,IAAA,WAAA,GAAA;AAmBa,QAAA,IAAK,CAAA,KAAA,GAAW,CAAC,CAAA;AAI1B,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK,CAAA;AAEvB,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK,CAAA;AAI5B,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAA;AACzB,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAA;AACxB,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK,CAAA;AACvB,QAAA,IAAY,CAAA,YAAA,GAA8B,EAAE,CAAA;KAoE/C;IA5FG,IACI,IAAI,CAAC,IAAqB,EAAA;AAC1B,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,IAAI,EAAE,CAAA;AACd,SAAA;KACJ;AACD,IAAA,IAAI,IAAI,GAAA;QACJ,OAAO,IAAI,CAAC,KAAK,CAAA;KACpB;IAiBD,QAAQ,GAAA;QACJ,IAAI,CAAC,IAAI,EAAE,CAAA;AACX,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;KACrB;IAED,IAAI,GAAA;QACA,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,eAAe,EAAE,CAAA;QACtB,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzB,IAAI,CAAC,UAAU,EAAE,CAAA;KACpB;IAED,gBAAgB,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;AAChC,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;AACzD,SAAA;KACJ;IAED,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;AAChE,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;AACrB,SAAA;KACJ;IAED,kBAAkB,GAAA;AACd,QAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACrB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC1C,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;AAC/C,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;AAC1B,aAAA;AACJ,SAAA;KACJ;IAED,UAAU,GAAA;AACN,QAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACrB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;AACpB,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;AACxB,YAAA,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACpB,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;AACnB,gBAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;AAC1B,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC9C,aAAA;AACJ,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAA;AACtB,YAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACrB,gBAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;AAC5B,aAAA;AAAM,iBAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC5B,gBAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;AAC5B,aAAA;AAAM,iBAAA,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC7B,gBAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;AAC7B,aAAA;AAAM,iBAAA,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;AAC3B,gBAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAA;AACvB,gBAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAA;AACtB,aAAA;AACJ,SAAA;KACJ;IAED,MAAM,GAAA;AACF,QAAA,IAAI,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;YAClD,OAAM;AACT,SAAA;AACD,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAA;KAC7B;;kHA5FQ,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sGAArB,qBAAqB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,GAAA,EAAA,KAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECXlC,2iCA6BA,EAAA,MAAA,EAAA,CAAA,yqBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDlBa,qBAAqB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;+BACI,oBAAoB,EAAA,aAAA,EAGf,iBAAiB,CAAC,QAAQ,EAAA,QAAA,EAAA,2iCAAA,EAAA,MAAA,EAAA,CAAA,yqBAAA,CAAA,EAAA,CAAA;8BAKrC,IAAI,EAAA,CAAA;sBADP,KAAK;gBAUG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;;;MEjBG,iBAAiB,CAAA;;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,mICT9B,sOAOA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,qBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDEa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;+BACI,eAAe,EAAA,aAAA,EAGV,iBAAiB,CAAC,QAAQ,EAAA,QAAA,EAAA,sOAAA,EAAA,CAAA;8BAIhC,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAEG,WAAW,EAAA,CAAA;sBAAnB,KAAK;;;MEEG,cAAc,CAAA;;2GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,iBAVnB,qBAAqB;AACrB,QAAA,iBAAiB,CAAA,EAAA,OAAA,EAAA,CAGjB,YAAY,CAAA,EAAA,OAAA,EAAA,CAGZ,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAGZ,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YANnB,YAAY,CAAA,EAAA,CAAA,CAAA;2FAMP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAZ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE;wBACV,qBAAqB;wBACrB,iBAAiB;AACpB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,YAAY;AACf,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,iBAAiB;AACpB,qBAAA;iBACJ,CAAA;;;AChBD;;AAEG;;;;"}
|
|
@@ -1,27 +1,34 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, ViewEncapsulation, Input, NgModule } from '@angular/core';
|
|
3
1
|
import * as i1 from '@angular/common';
|
|
4
2
|
import { CommonModule } from '@angular/common';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { Component, ViewEncapsulation, Input, NgModule } from '@angular/core';
|
|
5
5
|
|
|
6
|
+
/** @internal */
|
|
6
7
|
function isObject(value) {
|
|
7
8
|
return value !== null && typeof value === 'object';
|
|
8
9
|
}
|
|
10
|
+
/** @internal */
|
|
9
11
|
function isArray(value) {
|
|
10
12
|
return Array.isArray(value);
|
|
11
13
|
}
|
|
14
|
+
/** @internal */
|
|
12
15
|
function isUndefined(value) {
|
|
13
16
|
return typeof value === 'undefined';
|
|
14
17
|
}
|
|
18
|
+
/** @internal */
|
|
15
19
|
function isString(value) {
|
|
16
20
|
return typeof value === 'string';
|
|
17
21
|
}
|
|
22
|
+
/** @internal */
|
|
18
23
|
function isNumber(value) {
|
|
19
24
|
return typeof value === 'number';
|
|
20
25
|
}
|
|
26
|
+
/** @internal */
|
|
21
27
|
function isBoolean(value) {
|
|
22
28
|
return typeof value === 'boolean';
|
|
23
29
|
}
|
|
24
30
|
|
|
31
|
+
/** @internal */
|
|
25
32
|
class JsonViewItemComponent {
|
|
26
33
|
constructor() {
|
|
27
34
|
this.level = 0;
|
|
@@ -105,11 +112,11 @@ class JsonViewItemComponent {
|
|
|
105
112
|
this.isOpen = !this.isOpen;
|
|
106
113
|
}
|
|
107
114
|
}
|
|
108
|
-
JsonViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
109
|
-
JsonViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
115
|
+
JsonViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
116
|
+
JsonViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", 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:var(--nxt-json-view-color-key, #92278f)}.json-view .value{color:var(--nxt-json-view-color-value, #000000)}.json-view .value .string{color:var(--nxt-json-view-color-string, #3ab54a)}.json-view .value .number{color:var(--nxt-json-view-color-number, #25aae2)}.json-view .value .boolean{color:var(--nxt-json-view-color-boolean, #aa0d91)}.json-view .value .null{color:var(--nxt-json-view-color-null, #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"] }] });
|
|
117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewItemComponent, decorators: [{
|
|
111
118
|
type: Component,
|
|
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
|
|
119
|
+
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:var(--nxt-json-view-color-key, #92278f)}.json-view .value{color:var(--nxt-json-view-color-value, #000000)}.json-view .value .string{color:var(--nxt-json-view-color-string, #3ab54a)}.json-view .value .number{color:var(--nxt-json-view-color-number, #25aae2)}.json-view .value .boolean{color:var(--nxt-json-view-color-boolean, #aa0d91)}.json-view .value .null{color:var(--nxt-json-view-color-null, #f1592a)}.json-view .children{margin-left:1em}\n"] }]
|
|
113
120
|
}], propDecorators: { data: [{
|
|
114
121
|
type: Input
|
|
115
122
|
}], key: [{
|
|
@@ -122,16 +129,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
122
129
|
type: Input
|
|
123
130
|
}] } });
|
|
124
131
|
|
|
125
|
-
class
|
|
126
|
-
constructor() {
|
|
127
|
-
this.level = 0;
|
|
128
|
-
}
|
|
132
|
+
class JsonViewComponent {
|
|
129
133
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
134
|
+
JsonViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
135
|
+
JsonViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", 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]=\"0\"\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"] }] });
|
|
136
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewComponent, decorators: [{
|
|
133
137
|
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]=\"
|
|
138
|
+
args: [{ selector: 'nxt-json-view', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"0\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n" }]
|
|
135
139
|
}], propDecorators: { data: [{
|
|
136
140
|
type: Input
|
|
137
141
|
}], levelOpen: [{
|
|
@@ -140,24 +144,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
140
144
|
type: Input
|
|
141
145
|
}] } });
|
|
142
146
|
|
|
143
|
-
class
|
|
147
|
+
class JsonViewModule {
|
|
144
148
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
149
|
+
JsonViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
150
|
+
JsonViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: JsonViewModule, declarations: [JsonViewItemComponent,
|
|
151
|
+
JsonViewComponent], imports: [CommonModule], exports: [JsonViewComponent] });
|
|
152
|
+
JsonViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewModule, imports: [CommonModule] });
|
|
153
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewModule, decorators: [{
|
|
150
154
|
type: NgModule,
|
|
151
155
|
args: [{
|
|
152
156
|
declarations: [
|
|
153
157
|
JsonViewItemComponent,
|
|
154
|
-
|
|
158
|
+
JsonViewComponent
|
|
155
159
|
],
|
|
156
160
|
imports: [
|
|
157
161
|
CommonModule
|
|
158
162
|
],
|
|
159
163
|
exports: [
|
|
160
|
-
|
|
164
|
+
JsonViewComponent
|
|
161
165
|
]
|
|
162
166
|
}]
|
|
163
167
|
}] });
|
|
@@ -166,5 +170,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
166
170
|
* Generated bundle index. Do not edit.
|
|
167
171
|
*/
|
|
168
172
|
|
|
169
|
-
export {
|
|
173
|
+
export { JsonViewComponent, JsonViewModule };
|
|
170
174
|
//# 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":["i1.JsonViewItemComponent"],"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":["/** @internal */\nexport function isObject(value: any): value is object {\n return value !== null && typeof value === 'object'\n}\n\n/** @internal */\nexport function isArray(value: any): value is unknown[] {\n return Array.isArray(value)\n}\n\n/** @internal */\nexport function isUndefined<T>(value: T | undefined): value is undefined {\n return typeof value === 'undefined'\n}\n\n/** @internal */\nexport function isString(value: any): value is string {\n return typeof value === 'string'\n}\n\n/** @internal */\nexport function isNumber(value: any): value is number {\n return typeof value === 'number'\n}\n\n/** @internal */\nexport function isBoolean(value: any): value is boolean {\n return typeof value === 'boolean'\n}\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core'\nimport { LevelLabels } from '../utils/interfaces'\nimport { isArray, isBoolean, isNumber, isObject, isString, isUndefined } from '../utils/utils'\n\n/** @internal */\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?: LevelLabels\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'\nimport { LevelLabels } from '../utils/interfaces'\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 /** JSON data, any valid JSON object */\n @Input() data: any\n /** Initial number of levels to be expanded */\n @Input() levelOpen?: number\n /** Custom labels for elements within the hierarcy */\n @Input() levelLabels?: LevelLabels\n}\n","<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"0\"\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,12 @@
|
|
|
1
|
+
import { LevelLabels } from '../utils/interfaces';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class JsonViewComponent {
|
|
4
|
+
/** JSON data, any valid JSON object */
|
|
5
|
+
data: any;
|
|
6
|
+
/** Initial number of levels to be expanded */
|
|
7
|
+
levelOpen?: number;
|
|
8
|
+
/** Custom labels for elements within the hierarcy */
|
|
9
|
+
levelLabels?: LevelLabels;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<JsonViewComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<JsonViewComponent, "nxt-json-view", never, { "data": "data"; "levelOpen": "levelOpen"; "levelLabels": "levelLabels"; }, {}, never, never, false, never>;
|
|
12
|
+
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
|
+
import { LevelLabels } from '../utils/interfaces';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
4
|
+
/** @internal */
|
|
3
5
|
export declare class JsonViewItemComponent implements OnInit {
|
|
4
6
|
private _data?;
|
|
5
7
|
set data(data: any | undefined);
|
|
@@ -7,11 +9,7 @@ export declare class JsonViewItemComponent implements OnInit {
|
|
|
7
9
|
key?: string;
|
|
8
10
|
level: number;
|
|
9
11
|
levelOpen?: number;
|
|
10
|
-
levelLabels?:
|
|
11
|
-
[key: number]: {
|
|
12
|
-
[key: string]: string;
|
|
13
|
-
};
|
|
14
|
-
};
|
|
12
|
+
levelLabels?: LevelLabels;
|
|
15
13
|
isOpen: boolean;
|
|
16
14
|
childrenKeys?: string[];
|
|
17
15
|
hasChildren: boolean;
|
|
@@ -32,5 +30,5 @@ export declare class JsonViewItemComponent implements OnInit {
|
|
|
32
30
|
dataHandle(): void;
|
|
33
31
|
toggle(): void;
|
|
34
32
|
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, false>;
|
|
33
|
+
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
34
|
}
|
|
@@ -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,6 +1,12 @@
|
|
|
1
|
+
/** @internal */
|
|
1
2
|
export declare function isObject(value: any): value is object;
|
|
2
|
-
|
|
3
|
+
/** @internal */
|
|
4
|
+
export declare function isArray(value: any): value is unknown[];
|
|
5
|
+
/** @internal */
|
|
3
6
|
export declare function isUndefined<T>(value: T | undefined): value is undefined;
|
|
7
|
+
/** @internal */
|
|
4
8
|
export declare function isString(value: any): value is string;
|
|
9
|
+
/** @internal */
|
|
5
10
|
export declare function isNumber(value: any): value is number;
|
|
11
|
+
/** @internal */
|
|
6
12
|
export declare function isBoolean(value: any): value is boolean;
|
package/package.json
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
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": "16.0.0-alpha.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.3",
|
|
11
|
+
"@angular/core": "^15.2.3"
|
|
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",
|
package/public-api.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './lib/
|
|
2
|
-
export * from './lib/
|
|
3
|
-
export
|
|
1
|
+
export * from './lib/json-view.module';
|
|
2
|
+
export * from './lib/json-view/json-view.component';
|
|
3
|
+
export { LevelLabels } from './lib/utils/interfaces';
|
|
@@ -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: "14.2.12", ngImport: i0, type: JsonViewItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
89
|
-
JsonViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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: "14.2.12", 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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SUFDOUIsQ0FBQzs7bUhBNUZRLHFCQUFxQjt1R0FBckIscUJBQXFCLG9LQ1RsQywyaUNBNkJBLGcxQkRwQmEscUJBQXFCOzRGQUFyQixxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0ksb0JBQW9CLGlCQUdmLGlCQUFpQixDQUFDLFFBQVE7OEJBS3JDLElBQUk7c0JBRFAsS0FBSztnQkFVRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgaXNBcnJheSwgaXNCb29sZWFuLCBpc051bWJlciwgaXNPYmplY3QsIGlzU3RyaW5nLCBpc1VuZGVmaW5lZCB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJ1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ254dC1qc29uLXZpZXctaXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2pzb24tdmlldy1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9qc29uLXZpZXctaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIEpzb25WaWV3SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSBfZGF0YT86IGFueVxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRhdGEoZGF0YTogYW55IHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX2RhdGEgPSBkYXRhXG4gICAgICAgIGlmICh0aGlzLmlzSW5pdCkge1xuICAgICAgICAgICAgdGhpcy5pbml0KClcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgZGF0YSgpOiBhbnkgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YVxuICAgIH1cbiAgICBASW5wdXQoKSBrZXk/OiBzdHJpbmdcbiAgICBASW5wdXQoKSBsZXZlbDogbnVtYmVyID0gMFxuICAgIEBJbnB1dCgpIGxldmVsT3Blbj86IG51bWJlclxuICAgIEBJbnB1dCgpIGxldmVsTGFiZWxzPzogeyBba2V5OiBudW1iZXJdOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IH1cblxuICAgIGlzT3BlbjogYm9vbGVhbiA9IGZhbHNlXG4gICAgY2hpbGRyZW5LZXlzPzogc3RyaW5nW11cbiAgICBoYXNDaGlsZHJlbjogYm9vbGVhbiA9IGZhbHNlXG4gICAgZGF0YVR5cGU/OiBzdHJpbmdcbiAgICB2YWx1ZTogYW55XG4gICAgdmFsdWVUeXBlPzogc3RyaW5nXG4gICAgaXNPYmplY3Q6IGJvb2xlYW4gPSBmYWxzZVxuICAgIGlzQXJyYXk6IGJvb2xlYW4gPSBmYWxzZVxuICAgIGlzSW5pdDogYm9vbGVhbiA9IGZhbHNlXG4gICAgX2xldmVsTGFiZWxzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmluaXQoKVxuICAgICAgICB0aGlzLmlzSW5pdCA9IHRydWVcbiAgICB9XG5cbiAgICBpbml0KCkge1xuICAgICAgICB0aGlzLmxldmVsTGFiZWxIYW5kbGUoKVxuICAgICAgICB0aGlzLmxldmVsT3BlbkhhbmRsZSgpXG4gICAgICAgIHRoaXMuY2hpbGRyZW5LZXlzSGFuZGxlKClcbiAgICAgICAgdGhpcy5kYXRhSGFuZGxlKClcbiAgICB9XG5cbiAgICBsZXZlbExhYmVsSGFuZGxlKCkge1xuICAgICAgICBpZiAodGhpcy5sZXZlbExhYmVscyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLl9sZXZlbExhYmVscyA9IHRoaXMubGV2ZWxMYWJlbHNbdGhpcy5sZXZlbF0gfHwge31cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxldmVsT3BlbkhhbmRsZSgpIHtcbiAgICAgICAgaWYgKCFpc1VuZGVmaW5lZCh0aGlzLmxldmVsT3BlbikgJiYgKHRoaXMubGV2ZWwgPD0gdGhpcy5sZXZlbE9wZW4pKSB7XG4gICAgICAgICAgICB0aGlzLmlzT3BlbiA9IHRydWVcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoaWxkcmVuS2V5c0hhbmRsZSgpIHtcbiAgICAgICAgaWYgKGlzT2JqZWN0KHRoaXMuZGF0YSkpIHtcbiAgICAgICAgICAgIHRoaXMuY2hpbGRyZW5LZXlzID0gT2JqZWN0LmtleXModGhpcy5kYXRhKVxuICAgICAgICAgICAgaWYgKHRoaXMuY2hpbGRyZW5LZXlzICYmIHRoaXMuY2hpbGRyZW5LZXlzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzQ2hpbGRyZW4gPSB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkYXRhSGFuZGxlKCkge1xuICAgICAgICBpZiAoaXNPYmplY3QodGhpcy5kYXRhKSkge1xuICAgICAgICAgICAgdGhpcy5pc09iamVjdCA9IHRydWVcbiAgICAgICAgICAgIHRoaXMuZGF0YVR5cGUgPSAnT2JqZWN0J1xuICAgICAgICAgICAgaWYgKGlzQXJyYXkodGhpcy5kYXRhKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNBcnJheSA9IHRydWVcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFUeXBlID0gJ0FycmF5J1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMua2V5ICYmIHRoaXMuX2xldmVsTGFiZWxzW3RoaXMua2V5XSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YVR5cGUgPSB0aGlzLl9sZXZlbExhYmVsc1t0aGlzLmtleV1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmRhdGFcbiAgICAgICAgICAgIGlmIChpc1N0cmluZyh0aGlzLmRhdGEpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVR5cGUgPSAnc3RyaW5nJ1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc051bWJlcih0aGlzLmRhdGEpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVR5cGUgPSAnbnVtYmVyJ1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc0Jvb2xlYW4odGhpcy5kYXRhKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVUeXBlID0gJ2Jvb2xlYW4nXG4gICAgICAgICAgICB9IGVsc2UgaWYgKG51bGwgPT09IHRoaXMuZGF0YSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVUeXBlID0gJ251bGwnXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9ICdudWxsJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9nZ2xlKCkge1xuICAgICAgICBpZiAoISh0aGlzLmNoaWxkcmVuS2V5cyAmJiB0aGlzLmNoaWxkcmVuS2V5cy5sZW5ndGgpKSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzT3BlbiA9ICF0aGlzLmlzT3BlblxuICAgIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImpzb24tdmlld1wiPlxuICAgIDxhIChjbGljayk9XCJ0b2dnbGUoKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRvZ2dsZXJcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieydjb2xsYXBzZSc6IGlzT3BlbiwgJ2V4cGFuZCc6ICFpc09wZW59XCJcbiAgICAgICAgICAgIFtzdHlsZS52aXNpYmlsaXR5XT1cImhhc0NoaWxkcmVuPyd2aXNpYmxlJzonaGlkZGVuJ1wiPjwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJrZXlcIlxuICAgICAgICAgICAgKm5nSWY9XCJrZXlcIj5cbiAgICAgICAgICAgIDxzcGFuPnt7a2V5fX08L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj46IDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzT2JqZWN0XCI+XG4gICAgICAgICAgICAgICAge3sgZGF0YVR5cGUgfX1cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzQXJyYXlcIj5bIHt7ICRhbnkoZGF0YSk/Lmxlbmd0aCB9fSBdPC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXNPYmplY3QgJiYgdmFsdWVUeXBlXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ2YWx1ZVR5cGVcIj57eyB2YWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvYT5cbiAgICA8ZGl2IGNsYXNzPVwiY2hpbGRyZW5cIlxuICAgICAgICAqbmdJZj1cImhhc0NoaWxkcmVuICYmIGlzT3BlblwiPlxuICAgICAgICA8bnh0LWpzb24tdmlldy1pdGVtICpuZ0Zvcj1cImxldCBfa2V5IG9mIGNoaWxkcmVuS2V5c1wiXG4gICAgICAgICAgICBbZGF0YV09XCJkYXRhW19rZXldXCJcbiAgICAgICAgICAgIFtrZXldPVwiX2tleVwiXG4gICAgICAgICAgICBbbGV2ZWxdPVwibGV2ZWwrMVwiXG4gICAgICAgICAgICBbbGV2ZWxPcGVuXT1cImxldmVsT3BlblwiXG4gICAgICAgICAgICBbbGV2ZWxMYWJlbHNdPVwibGV2ZWxMYWJlbHNcIj48L254dC1qc29uLXZpZXctaXRlbT5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -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: "14.2.12", ngImport: i0, type: NxtJsonViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
-
NxtJsonViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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: [""], 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: "14.2.12", 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" }]
|
|
14
|
-
}], propDecorators: { data: [{
|
|
15
|
-
type: Input
|
|
16
|
-
}], levelOpen: [{
|
|
17
|
-
type: Input
|
|
18
|
-
}], levelLabels: [{
|
|
19
|
-
type: Input
|
|
20
|
-
}] } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnh0LWpzb24tdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtanNvbi12aWV3L3NyYy9saWIvbnh0LWpzb24tdmlldy9ueHQtanNvbi12aWV3L254dC1qc29uLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWpzb24tdmlldy9zcmMvbGliL254dC1qc29uLXZpZXcvbnh0LWpzb24tdmlldy9ueHQtanNvbi12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFBOzs7QUFRbkUsTUFBTSxPQUFPLG9CQUFvQjtJQU5qQztRQWFJLFVBQUssR0FBVyxDQUFDLENBQUE7S0FFcEI7O2tIQVRZLG9CQUFvQjtzR0FBcEIsb0JBQW9CLG1JQ1JqQywwT0FPQTs0RkRDYSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0ksZUFBZSxpQkFHVixpQkFBaUIsQ0FBQyxRQUFROzhCQUloQyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ254dC1qc29uLXZpZXcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ueHQtanNvbi12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ueHQtanNvbi12aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWRcbn0pXG5leHBvcnQgY2xhc3MgTnh0SnNvblZpZXdDb21wb25lbnQge1xuXG4gICAgQElucHV0KCkgZGF0YTogYW55XG4gICAgQElucHV0KCkgbGV2ZWxPcGVuPzogbnVtYmVyXG4gICAgQElucHV0KCkgbGV2ZWxMYWJlbHM/OiB7IFtrZXk6IG51bWJlcl06IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfVxuXG4gICAga2V5Pzogc3RyaW5nXG4gICAgbGV2ZWw6IG51bWJlciA9IDBcblxufVxuIiwiPGRpdiBjbGFzcz1cIm54dC1qc29uLXZpZXdcIj5cbiAgICA8bnh0LWpzb24tdmlldy1pdGVtIFtkYXRhXT1cImRhdGFcIlxuICAgICAgICBbbGV2ZWxdPVwibGV2ZWxcIlxuICAgICAgICBbbGV2ZWxPcGVuXT1cImxldmVsT3BlblwiXG4gICAgICAgIFtsZXZlbExhYmVsc109XCJsZXZlbExhYmVsc1wiXG4gICAgICAgIGNsYXNzPVwianNvbi12aWV3XCI+PC9ueHQtanNvbi12aWV3LWl0ZW0+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,27 +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: "14.2.12", ngImport: i0, type: NxtJsonViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
-
NxtJsonViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: NxtJsonViewModule, declarations: [JsonViewItemComponent,
|
|
10
|
-
NxtJsonViewComponent], imports: [CommonModule], exports: [NxtJsonViewComponent] });
|
|
11
|
-
NxtJsonViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NxtJsonViewModule, imports: [CommonModule] });
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NxtJsonViewModule, decorators: [{
|
|
13
|
-
type: NgModule,
|
|
14
|
-
args: [{
|
|
15
|
-
declarations: [
|
|
16
|
-
JsonViewItemComponent,
|
|
17
|
-
NxtJsonViewComponent
|
|
18
|
-
],
|
|
19
|
-
imports: [
|
|
20
|
-
CommonModule
|
|
21
|
-
],
|
|
22
|
-
exports: [
|
|
23
|
-
NxtJsonViewComponent
|
|
24
|
-
]
|
|
25
|
-
}]
|
|
26
|
-
}] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnh0LWpzb24tdmlldy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtanNvbi12aWV3L3NyYy9saWIvbnh0LWpzb24tdmlldy9ueHQtanNvbi12aWV3Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQTtBQUNqRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTs7QUFjOUUsTUFBTSxPQUFPLGlCQUFpQjs7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLGlCQVZ0QixxQkFBcUI7UUFDckIsb0JBQW9CLGFBR3BCLFlBQVksYUFHWixvQkFBb0I7Z0hBR2YsaUJBQWlCLFlBTnRCLFlBQVk7NEZBTVAsaUJBQWlCO2tCQVo3QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDVixxQkFBcUI7d0JBQ3JCLG9CQUFvQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLFlBQVk7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLG9CQUFvQjtxQkFDdkI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBKc29uVmlld0l0ZW1Db21wb25lbnQgfSBmcm9tICcuL2pzb24tdmlldy1pdGVtL2pzb24tdmlldy1pdGVtLmNvbXBvbmVudCdcbmltcG9ydCB7IE54dEpzb25WaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9ueHQtanNvbi12aWV3L254dC1qc29uLXZpZXcuY29tcG9uZW50J1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBKc29uVmlld0l0ZW1Db21wb25lbnQsXG4gICAgICAgIE54dEpzb25WaWV3Q29tcG9uZW50XG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBOeHRKc29uVmlld0NvbXBvbmVudFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTnh0SnNvblZpZXdNb2R1bGUgeyB9XG4iXX0=
|
|
@@ -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, false>;
|
|
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
|
-
}
|