@nu-art/json-to-object-renderer 0.400.4 → 0.400.7
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/ATS_JsonToObject/ATS_JsonToObject.d.ts +2 -4
- package/ATS_JsonToObject/ATS_JsonToObject.js +13 -25
- package/ATS_JsonToObject/ATS_JsonToObject.scss +1 -1
- package/ATS_JsonToObject/index.js +1 -18
- package/Editor_JsonToObject.d.ts +4 -4
- package/Editor_JsonToObject.js +17 -27
- package/Editor_JsonToObject.scss +1 -1
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/package.json +6 -6
- package/ATS_JsonToObject/ATS_JsonToObject.js.map +0 -1
- package/ATS_JsonToObject/index.js.map +0 -1
- package/Editor_JsonToObject.js.map +0 -1
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { AppToolsScreen, ComponentSync, EditableItem } from '@nu-art/thunderstorm
|
|
2
|
-
import { InferProps, InferState } from '@nu-art/thunderstorm/frontend/utils/types';
|
|
3
|
-
import React from 'react';
|
|
1
|
+
import { AppToolsScreen, ComponentSync, EditableItem, InferProps, InferState } from '@nu-art/thunderstorm-frontend';
|
|
4
2
|
type ATS_JsonToObject_Props = {};
|
|
5
3
|
type ATS_JsonToObject_State = {
|
|
6
4
|
editable: EditableItem<TestType>;
|
|
@@ -19,6 +17,6 @@ export declare class ATS_JsonToObject extends ComponentSync<ATS_JsonToObject_Pro
|
|
|
19
17
|
};
|
|
20
18
|
protected deriveStateFromProps(nextProps: InferProps<this>, state: InferState<this>): InferState<this>;
|
|
21
19
|
constructor(p: ATS_JsonToObject_Props);
|
|
22
|
-
render():
|
|
20
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
23
21
|
}
|
|
24
22
|
export {};
|
|
@@ -1,19 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ATS_JsonToObject = void 0;
|
|
7
|
-
const index_1 = require("@nu-art/thunderstorm/frontend/index");
|
|
8
|
-
const Editor_JsonToObject_js_1 = require("../Editor_JsonToObject.js");
|
|
9
|
-
const ts_common_1 = require("@nu-art/ts-common");
|
|
10
|
-
const react_1 = __importDefault(require("react"));
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ComponentSync, EditableItem, LL_V_L, TS_Button, TS_PropRenderer } from '@nu-art/thunderstorm-frontend';
|
|
3
|
+
import { Editor_JsonToObject } from '../Editor_JsonToObject.js';
|
|
4
|
+
import { tsValidateString } from '@nu-art/ts-common';
|
|
11
5
|
const validator = {
|
|
12
|
-
a:
|
|
13
|
-
b:
|
|
14
|
-
c:
|
|
6
|
+
a: tsValidateString(-1),
|
|
7
|
+
b: tsValidateString(-1),
|
|
8
|
+
c: tsValidateString(-1)
|
|
15
9
|
};
|
|
16
|
-
class ATS_JsonToObject extends
|
|
10
|
+
export class ATS_JsonToObject extends ComponentSync {
|
|
17
11
|
static screen = { name: `DevTool - JsonToObject`, renderer: this };
|
|
18
12
|
static defaultProps = {
|
|
19
13
|
modules: [],
|
|
@@ -21,22 +15,16 @@ class ATS_JsonToObject extends index_1.ComponentSync {
|
|
|
21
15
|
};
|
|
22
16
|
deriveStateFromProps(nextProps, state) {
|
|
23
17
|
state.freeText ??= false;
|
|
24
|
-
state.editable ??= new
|
|
18
|
+
state.editable ??= new EditableItem({}).setAutoSave(true);
|
|
25
19
|
return state;
|
|
26
20
|
}
|
|
27
21
|
constructor(p) {
|
|
28
22
|
super(p);
|
|
29
23
|
}
|
|
30
24
|
render() {
|
|
31
|
-
return
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
react_1.default.createElement(index_1.TS_PropRenderer.Vertical, { label: 'property a' }, item.a ?? 'no A'),
|
|
36
|
-
react_1.default.createElement(index_1.TS_PropRenderer.Vertical, { label: 'property b' }, item.b ?? 'no B'));
|
|
37
|
-
} }),
|
|
38
|
-
react_1.default.createElement(index_1.TS_Button, { onClick: () => this.reDeriveState({ freeText: !this.state.freeText }) }, "toggle"));
|
|
25
|
+
return _jsxs(LL_V_L, { children: [_jsx(Editor_JsonToObject, { isFreeTextMode: this.state.freeText, validator: validator, editable: this.state.editable, renderer: (editable) => {
|
|
26
|
+
const item = editable.item;
|
|
27
|
+
return _jsxs(LL_V_L, { children: [_jsx(TS_PropRenderer.Vertical, { label: 'property a', children: item.a ?? 'no A' }), _jsx(TS_PropRenderer.Vertical, { label: 'property b', children: item.b ?? 'no B' })] });
|
|
28
|
+
} }), _jsx(TS_Button, { onClick: () => this.reDeriveState({ freeText: !this.state.freeText }), children: "toggle" })] });
|
|
39
29
|
}
|
|
40
30
|
}
|
|
41
|
-
exports.ATS_JsonToObject = ATS_JsonToObject;
|
|
42
|
-
//# sourceMappingURL=ATS_JsonToObject.js.map
|
|
@@ -1,18 +1 @@
|
|
|
1
|
-
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./ATS_JsonToObject.js"), exports);
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
export * from './ATS_JsonToObject.js';
|
package/Editor_JsonToObject.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { EditableContentType, EditableItem, TS_EditableContent } from '@nu-art/thunderstorm-frontend';
|
|
2
3
|
import { ValidatorTypeResolver } from '@nu-art/ts-common';
|
|
3
|
-
import
|
|
4
|
-
import { InferProps, InferState } from '@nu-art/thunderstorm/frontend/utils/types';
|
|
4
|
+
import { InferProps, InferState } from '@nu-art/thunderstorm-frontend/utils/types';
|
|
5
5
|
import './Editor_JsonToObject.scss';
|
|
6
6
|
type Props<T> = {
|
|
7
7
|
validator: ValidatorTypeResolver<EditableContentType<T>>;
|
|
@@ -15,7 +15,7 @@ type State = {
|
|
|
15
15
|
};
|
|
16
16
|
export declare class Editor_JsonToObject<T> extends TS_EditableContent<T, Props<T>, State> {
|
|
17
17
|
protected deriveStateFromProps(nextProps: InferProps<this>, _state: InferState<this>): InferState<this>;
|
|
18
|
-
render():
|
|
18
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
19
19
|
private validateItem;
|
|
20
20
|
}
|
|
21
21
|
export {};
|
package/Editor_JsonToObject.js
CHANGED
|
@@ -1,43 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const index_1 = require("@nu-art/thunderstorm/frontend/index");
|
|
8
|
-
const ts_common_1 = require("@nu-art/ts-common");
|
|
9
|
-
const react_1 = __importDefault(require("react"));
|
|
10
|
-
const index_2 = require("@nu-art/thunderstorm/frontend/components/TS_V2_TextArea/index");
|
|
11
|
-
require("./Editor_JsonToObject.scss");
|
|
12
|
-
class Editor_JsonToObject extends index_1.TS_EditableContent {
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { TS_EditableContent } from '@nu-art/thunderstorm-frontend';
|
|
3
|
+
import { __stringify, tsValidateResult } from '@nu-art/ts-common';
|
|
4
|
+
import { TS_TextAreaV2 } from '@nu-art/thunderstorm-frontend/components/TS_V2_TextArea/index';
|
|
5
|
+
import './Editor_JsonToObject.scss';
|
|
6
|
+
export class Editor_JsonToObject extends TS_EditableContent {
|
|
13
7
|
deriveStateFromProps(nextProps, _state) {
|
|
14
8
|
const state = super.deriveStateFromProps(nextProps, _state);
|
|
15
9
|
state.isFreeTextMode = nextProps.isFreeTextMode;
|
|
16
|
-
const value = nextProps.editable.item ?
|
|
10
|
+
const value = nextProps.editable.item ? __stringify(nextProps.editable.item, true) : '';
|
|
17
11
|
state.value = value;
|
|
18
12
|
state.isValid = this.validateItem(value).isValid;
|
|
19
13
|
return state;
|
|
20
14
|
}
|
|
21
15
|
render() {
|
|
22
16
|
const { isFreeTextMode, value, editable, isValid } = this.state;
|
|
23
|
-
return
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
await editable.updateObj(item);
|
|
33
|
-
} }));
|
|
17
|
+
return _jsxs(_Fragment, { children: [!isFreeTextMode && this.props.renderer(editable), isFreeTextMode && _jsx(TS_TextAreaV2, { className: 'ts-json-to-object', resizeWithText: true, "data-valid": isValid, type: "text", value: value, onChange: async (value) => {
|
|
18
|
+
const { isValid } = this.validateItem(value);
|
|
19
|
+
return this.setState({ isValid });
|
|
20
|
+
}, onBlur: async (value) => {
|
|
21
|
+
const { isValid, item } = this.validateItem(value);
|
|
22
|
+
if (!isValid)
|
|
23
|
+
return this.setState({ isValid, value });
|
|
24
|
+
await editable.updateObj(item);
|
|
25
|
+
} })] });
|
|
34
26
|
}
|
|
35
27
|
validateItem(value) {
|
|
36
28
|
let isValid;
|
|
37
29
|
let item = {};
|
|
38
30
|
try {
|
|
39
31
|
item = JSON.parse(value);
|
|
40
|
-
isValid =
|
|
32
|
+
isValid = tsValidateResult(item, this.props.validator) === undefined;
|
|
41
33
|
}
|
|
42
34
|
catch (e) {
|
|
43
35
|
isValid = false;
|
|
@@ -45,5 +37,3 @@ class Editor_JsonToObject extends index_1.TS_EditableContent {
|
|
|
45
37
|
return { isValid, item };
|
|
46
38
|
}
|
|
47
39
|
}
|
|
48
|
-
exports.Editor_JsonToObject = Editor_JsonToObject;
|
|
49
|
-
//# sourceMappingURL=Editor_JsonToObject.js.map
|
package/Editor_JsonToObject.scss
CHANGED
package/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Editor_JsonToObject.js';
|
package/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Editor_JsonToObject.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nu-art/json-to-object-renderer",
|
|
3
|
-
"version": "0.400.
|
|
3
|
+
"version": "0.400.7",
|
|
4
4
|
"description": "Thunderstorm",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"TacB0sS",
|
|
@@ -37,17 +37,17 @@
|
|
|
37
37
|
"linkDirectory": true
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@nu-art/firebase": "0.400.
|
|
41
|
-
"@nu-art/
|
|
42
|
-
"@nu-art/ts-
|
|
43
|
-
"@nu-art/
|
|
40
|
+
"@nu-art/firebase-shared": "0.400.7",
|
|
41
|
+
"@nu-art/thunderstorm-frontend": "0.400.7",
|
|
42
|
+
"@nu-art/ts-common": "0.400.7",
|
|
43
|
+
"@nu-art/ts-styles": "0.400.7",
|
|
44
|
+
"@nu-art/thunderstorm-shared": "0.400.7",
|
|
44
45
|
"react": "^18.0.0"
|
|
45
46
|
},
|
|
46
47
|
"devDependencies": {
|
|
47
48
|
"@types/react": "^18.0.0"
|
|
48
49
|
},
|
|
49
50
|
"unitConfig": {
|
|
50
|
-
"customTSConfig": true,
|
|
51
51
|
"type": "typescript-lib"
|
|
52
52
|
},
|
|
53
53
|
"type": "module",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ATS_JsonToObject.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/json-to-object-renderer/src/main/","sources":["ATS_JsonToObject/ATS_JsonToObject.tsx"],"names":[],"mappings":";;;;;;AAAA,+DAAoI;AAEpI,sEAA8D;AAC9D,iDAA0E;AAC1E,kDAA0B;AAc1B,MAAM,SAAS,GAAoC;IAClD,CAAC,EAAE,IAAA,4BAAgB,EAAC,CAAC,CAAC,CAAC;IACvB,CAAC,EAAE,IAAA,4BAAgB,EAAC,CAAC,CAAC,CAAC;IACvB,CAAC,EAAE,IAAA,4BAAgB,EAAC,CAAC,CAAC,CAAC;CACvB,CAAC;AAEF,MAAa,gBACZ,SAAQ,qBAA6D;IAErE,MAAM,CAAC,MAAM,GAAmB,EAAC,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;IAEjF,MAAM,CAAC,YAAY,GAAG;QACrB,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;KACjC,CAAC;IAEQ,oBAAoB,CAAC,SAA2B,EAAE,KAAuB;QAClF,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC;QACzB,KAAK,CAAC,QAAQ,KAAK,IAAI,oBAAY,CAAW,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC;IACd,CAAC;IAED,YAAY,CAAyB;QACpC,KAAK,CAAC,CAAC,CAAC,CAAC;IACV,CAAC;IAED,MAAM;QACL,OAAO,8BAAC,cAAM;YACb,8BAAC,4CAAmB,IACnB,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC7B,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;oBACtB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;oBAC3B,OAAO,8BAAC,cAAM;wBACb,8BAAC,uBAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,IAAG,IAAI,CAAC,CAAC,IAAI,MAAM,CAA4B;wBAC5F,8BAAC,uBAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,IAAG,IAAI,CAAC,CAAC,IAAI,MAAM,CAA4B,CACpF,CAAC;gBACX,CAAC,GACA;YACF,8BAAC,iBAAS,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,EAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAC,CAAC,aAAoB,CAC1F,CAAC;IACX,CAAC;;AApCF,4CAqCC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/json-to-object-renderer/src/main/","sources":["ATS_JsonToObject/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Editor_JsonToObject.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/json-to-object-renderer/src/main/","sources":["Editor_JsonToObject.tsx"],"names":[],"mappings":";;;;;;AAAA,+DAA0G;AAC1G,iDAAuF;AACvF,kDAAuC;AACvC,yFAA4F;AAE5F,sCAAoC;AAcpC,MAAa,mBACZ,SAAQ,0BAAsC;IAEpC,oBAAoB,CAAC,SAA2B,EAAE,MAAwB;QACnF,MAAM,KAAK,GAAG,KAAK,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAqB,CAAC;QAChF,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;QAEhD,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,uBAAW,EAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QACpB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;QAEjD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM;QACL,MAAM,EAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9D,OAAO;YACL,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAChD,cAAc,IAAI,8BAAC,qBAAa,IAChC,SAAS,EAAE,mBAAmB,EAC9B,cAAc,sBACF,OAAO,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;oBACzB,MAAM,EAAC,OAAO,EAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC;gBACjC,CAAC,EACD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;oBACvB,MAAM,EAAC,OAAO,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBACjD,IAAI,CAAC,OAAO;wBACX,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;oBAExC,MAAM,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC,GACA,CAEA,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,KAAa;QACjC,IAAI,OAAgB,CAAC;QACrB,IAAI,IAAI,GAAG,EAA4B,CAAC;QACxC,IAAI,CAAC;YACJ,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAA2B,CAAC;YACnD,OAAO,GAAG,IAAA,4BAAgB,EAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC;QACtE,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACjB,OAAO,GAAG,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;IACxB,CAAC;CACD;AAnDD,kDAmDC"}
|