@react-typed-forms/schemas 1.0.0-dev.10 → 1.0.0-dev.12
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/.rush/temp/package-deps_build.json +4 -4
- package/.rush/temp/shrinkwrap-deps.json +1 -2
- package/lib/controlRender.d.ts +5 -2
- package/lib/controlRender.js +14 -3
- package/lib/types.d.ts +3 -0
- package/lib/types.js +13 -1
- package/package.json +1 -1
- package/src/controlRender.tsx +31 -4
- package/src/types.ts +18 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"files": {
|
|
3
|
-
"packages/schemas/.rush/temp/shrinkwrap-deps.json": "
|
|
4
|
-
"packages/schemas/package.json": "
|
|
5
|
-
"packages/schemas/src/controlRender.tsx": "
|
|
3
|
+
"packages/schemas/.rush/temp/shrinkwrap-deps.json": "5ce6417fae765db5c61e400f851ecafe0ce756f0",
|
|
4
|
+
"packages/schemas/package.json": "e35f732d1357557b78889bff6ff7efe3ae39c99c",
|
|
5
|
+
"packages/schemas/src/controlRender.tsx": "7edc71570ea821a36f0260d9263dc41d577168ce",
|
|
6
6
|
"packages/schemas/src/hooks.ts": "4eb4946f7b1c685e0b51cd011b4d39a1fdd6aa2e",
|
|
7
7
|
"packages/schemas/src/index.ts": "67f656f1d7f717bce7e933b9f4d7dc5dc50274dc",
|
|
8
8
|
"packages/schemas/src/schemaBuilder.ts": "1af97440b88f064ad67aa804cbaa0f96622f0a6a",
|
|
9
|
-
"packages/schemas/src/types.ts": "
|
|
9
|
+
"packages/schemas/src/types.ts": "c013bf09120147d7a19e48ce4c8772ee34a2061c",
|
|
10
10
|
"packages/schemas/tsconfig.json": "52e4f044fa580f4e0ad5830f3cfca574e2788372"
|
|
11
11
|
},
|
|
12
12
|
"arguments": "rimraf ./lib/ && tsc "
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"../../packages/schemas": "../../packages/schemas:
|
|
3
|
-
"/@react-typed-forms/core/3.0.0-dev.102_react-dom@18.2.0+react@18.2.0": "sha512-LczmQbrZspcHjPJLT6dFq52k44SZAxyjeeE+0pIIoCUrhF5O/JnrLUqUUmUiRMXQb+skf3UrPkdalJpShdfxAA==",
|
|
2
|
+
"../../packages/schemas": "../../packages/schemas:vY3D5bPwBzOGJtSnpoQLPVXnewF01wtTbcozE4xaygA=:",
|
|
4
3
|
"/@types/prop-types/15.7.5": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==",
|
|
5
4
|
"/@types/react/18.0.22": "sha512-4yWc5PyCkZN8ke8K9rQHkTXxHIWHxLzzW6RI1kXVoepkD3vULpKzC2sDtAMKn78h92BRYuzf+7b/ms7ajE6hFw==",
|
|
6
5
|
"/@types/scheduler/0.16.2": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==",
|
package/lib/controlRender.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ActionControlDefinition, CompoundField, ControlDefinition, DataControlDefinition, DisplayControlDefinition, FieldOption, GroupedControlsDefinition, SchemaField } from "./types";
|
|
2
|
-
import
|
|
2
|
+
import { Key, ReactElement, ReactNode } from "react";
|
|
3
3
|
import { Control } from "@react-typed-forms/core";
|
|
4
4
|
export interface FormEditHooks {
|
|
5
5
|
useDataProperties(formState: FormEditState, definition: DataControlDefinition, field: SchemaField): DataControlProperties;
|
|
@@ -42,7 +42,10 @@ export interface FormRendererComponents {
|
|
|
42
42
|
renderDisplay: (props: DisplayRendererProps) => ReactElement;
|
|
43
43
|
renderAction: (props: ActionRendererProps) => ReactElement;
|
|
44
44
|
}
|
|
45
|
-
export declare
|
|
45
|
+
export declare function FormRendererProvider({ value, children, }: {
|
|
46
|
+
value: FormRendererComponents;
|
|
47
|
+
children: ReactNode;
|
|
48
|
+
}): JSX.Element;
|
|
46
49
|
export declare function useFormRendererComponents(): FormRendererComponents;
|
|
47
50
|
export interface DisplayRendererProps {
|
|
48
51
|
definition: DisplayControlDefinition;
|
package/lib/controlRender.js
CHANGED
|
@@ -23,14 +23,25 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.isGroupControl = exports.isDataControl = exports.fieldForControl = exports.controlForField = exports.renderControl = exports.controlTitle = exports.findField = exports.findCompoundField = exports.findScalarField = exports.elementValueForField = exports.defaultValueForField = exports.defaultValueForFields = exports.applyDefaultForField = exports.applyDefaultValues = exports.isCompoundField = exports.isScalarField = exports.useFormRendererComponents = exports.
|
|
26
|
+
exports.isGroupControl = exports.isDataControl = exports.fieldForControl = exports.controlForField = exports.renderControl = exports.controlTitle = exports.findField = exports.findCompoundField = exports.findScalarField = exports.elementValueForField = exports.defaultValueForField = exports.defaultValueForFields = exports.applyDefaultForField = exports.applyDefaultValues = exports.isCompoundField = exports.isScalarField = exports.useFormRendererComponents = exports.FormRendererProvider = void 0;
|
|
27
27
|
const types_1 = require("./types");
|
|
28
28
|
const react_1 = __importStar(require("react"));
|
|
29
29
|
const core_1 = require("@react-typed-forms/core");
|
|
30
30
|
const index_1 = require("./index");
|
|
31
|
-
|
|
31
|
+
let _FormRendererComponentsContext = null;
|
|
32
|
+
function FormRendererComponentsContext() {
|
|
33
|
+
if (!_FormRendererComponentsContext) {
|
|
34
|
+
_FormRendererComponentsContext = (0, react_1.createContext)(undefined);
|
|
35
|
+
}
|
|
36
|
+
return _FormRendererComponentsContext;
|
|
37
|
+
}
|
|
38
|
+
function FormRendererProvider({ value, children, }) {
|
|
39
|
+
const { Provider } = FormRendererComponentsContext();
|
|
40
|
+
return react_1.default.createElement(Provider, { value: value, children: children });
|
|
41
|
+
}
|
|
42
|
+
exports.FormRendererProvider = FormRendererProvider;
|
|
32
43
|
function useFormRendererComponents() {
|
|
33
|
-
const c = (0, react_1.useContext)(
|
|
44
|
+
const c = (0, react_1.useContext)(FormRendererComponentsContext());
|
|
34
45
|
if (!c) {
|
|
35
46
|
throw "Need to use FormRendererComponentContext.Provider";
|
|
36
47
|
}
|
package/lib/types.d.ts
CHANGED
|
@@ -229,3 +229,6 @@ export interface ControlVisitor<A> {
|
|
|
229
229
|
action(d: ActionControlDefinition): A;
|
|
230
230
|
}
|
|
231
231
|
export declare function visitControlDefinition<A>(x: ControlDefinition, visitor: ControlVisitor<A>, defaultValue: (c: ControlDefinition) => A): A;
|
|
232
|
+
export declare function dataControl(field: string, options?: Partial<DataControlDefinition>): DataControlDefinition;
|
|
233
|
+
export declare function fieldValueExpr(field: string, value: any): FieldValueExpression;
|
|
234
|
+
export declare function visibility(expr: EntityExpression): DynamicProperty;
|
package/lib/types.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.visitControlDefinition = exports.isActionControlsDefinition = exports.isDisplayControlsDefinition = exports.isGroupControlsDefinition = exports.isDataControlDefinition = exports.DisplayDataType = exports.GroupRenderType = exports.SyncTextType = exports.DataRenderType = exports.ControlAdornmentType = exports.ExpressionType = exports.DynamicPropertyType = exports.ControlDefinitionType = exports.FieldType = void 0;
|
|
3
|
+
exports.visibility = exports.fieldValueExpr = exports.dataControl = exports.visitControlDefinition = exports.isActionControlsDefinition = exports.isDisplayControlsDefinition = exports.isGroupControlsDefinition = exports.isDataControlDefinition = exports.DisplayDataType = exports.GroupRenderType = exports.SyncTextType = exports.DataRenderType = exports.ControlAdornmentType = exports.ExpressionType = exports.DynamicPropertyType = exports.ControlDefinitionType = exports.FieldType = void 0;
|
|
4
4
|
var FieldType;
|
|
5
5
|
(function (FieldType) {
|
|
6
6
|
FieldType["String"] = "String";
|
|
@@ -98,3 +98,15 @@ function visitControlDefinition(x, visitor, defaultValue) {
|
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
exports.visitControlDefinition = visitControlDefinition;
|
|
101
|
+
function dataControl(field, options) {
|
|
102
|
+
return Object.assign({ type: ControlDefinitionType.Data, field }, options);
|
|
103
|
+
}
|
|
104
|
+
exports.dataControl = dataControl;
|
|
105
|
+
function fieldValueExpr(field, value) {
|
|
106
|
+
return { type: ExpressionType.FieldValue, field, value };
|
|
107
|
+
}
|
|
108
|
+
exports.fieldValueExpr = fieldValueExpr;
|
|
109
|
+
function visibility(expr) {
|
|
110
|
+
return { type: DynamicPropertyType.Visible, expr };
|
|
111
|
+
}
|
|
112
|
+
exports.visibility = visibility;
|
package/package.json
CHANGED
package/src/controlRender.tsx
CHANGED
|
@@ -12,7 +12,14 @@ import {
|
|
|
12
12
|
SchemaField,
|
|
13
13
|
visitControlDefinition,
|
|
14
14
|
} from "./types";
|
|
15
|
-
import React, {
|
|
15
|
+
import React, {
|
|
16
|
+
Context,
|
|
17
|
+
createContext,
|
|
18
|
+
Key,
|
|
19
|
+
ReactElement,
|
|
20
|
+
ReactNode,
|
|
21
|
+
useContext,
|
|
22
|
+
} from "react";
|
|
16
23
|
import { Control, newControl } from "@react-typed-forms/core";
|
|
17
24
|
import { fieldDisplayName } from "./index";
|
|
18
25
|
|
|
@@ -88,12 +95,32 @@ export interface FormRendererComponents {
|
|
|
88
95
|
renderAction: (props: ActionRendererProps) => ReactElement;
|
|
89
96
|
}
|
|
90
97
|
|
|
91
|
-
|
|
98
|
+
let _FormRendererComponentsContext: Context<
|
|
92
99
|
FormRendererComponents | undefined
|
|
93
|
-
>
|
|
100
|
+
> | null = null;
|
|
101
|
+
|
|
102
|
+
function FormRendererComponentsContext() {
|
|
103
|
+
if (!_FormRendererComponentsContext) {
|
|
104
|
+
_FormRendererComponentsContext = createContext<
|
|
105
|
+
FormRendererComponents | undefined
|
|
106
|
+
>(undefined);
|
|
107
|
+
}
|
|
108
|
+
return _FormRendererComponentsContext;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export function FormRendererProvider({
|
|
112
|
+
value,
|
|
113
|
+
children,
|
|
114
|
+
}: {
|
|
115
|
+
value: FormRendererComponents;
|
|
116
|
+
children: ReactNode;
|
|
117
|
+
}) {
|
|
118
|
+
const { Provider } = FormRendererComponentsContext();
|
|
119
|
+
return <Provider value={value} children={children} />;
|
|
120
|
+
}
|
|
94
121
|
|
|
95
122
|
export function useFormRendererComponents() {
|
|
96
|
-
const c = useContext(FormRendererComponentsContext);
|
|
123
|
+
const c = useContext(FormRendererComponentsContext());
|
|
97
124
|
if (!c) {
|
|
98
125
|
throw "Need to use FormRendererComponentContext.Provider";
|
|
99
126
|
}
|
package/src/types.ts
CHANGED
|
@@ -319,3 +319,21 @@ export function visitControlDefinition<A>(
|
|
|
319
319
|
return defaultValue(x);
|
|
320
320
|
}
|
|
321
321
|
}
|
|
322
|
+
|
|
323
|
+
export function dataControl(
|
|
324
|
+
field: string,
|
|
325
|
+
options?: Partial<DataControlDefinition>
|
|
326
|
+
): DataControlDefinition {
|
|
327
|
+
return { type: ControlDefinitionType.Data, field, ...options };
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
export function fieldValueExpr(
|
|
331
|
+
field: string,
|
|
332
|
+
value: any
|
|
333
|
+
): FieldValueExpression {
|
|
334
|
+
return { type: ExpressionType.FieldValue, field, value };
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
export function visibility(expr: EntityExpression): DynamicProperty {
|
|
338
|
+
return { type: DynamicPropertyType.Visible, expr };
|
|
339
|
+
}
|