@silver-formily/vue 1.0.0 → 1.0.1
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.
|
@@ -1,30 +1,23 @@
|
|
|
1
1
|
import { Schema as F } from "@formily/json-schema";
|
|
2
2
|
import { lazyMerge as R } from "@formily/shared";
|
|
3
3
|
import { defineComponent as d, computed as u, provide as c, h as i, Fragment as f, inject as g, shallowRef as j, watch as I } from "vue";
|
|
4
|
-
import "./ArrayField.mjs";
|
|
5
|
-
import "./ExpressionScope.mjs";
|
|
6
|
-
import "./Field.mjs";
|
|
7
|
-
import "./FormConsumer.mjs";
|
|
8
|
-
import "./FormProvider.mjs";
|
|
9
|
-
import "./ObjectField.mjs";
|
|
10
|
-
import M from "./RecursionField.mjs";
|
|
11
|
-
import "./VoidField.mjs";
|
|
12
4
|
import "@formily/core";
|
|
13
5
|
import "@formily/reactive-vue";
|
|
14
|
-
import { SchemaMarkupSymbol as h, SchemaOptionsSymbol as
|
|
15
|
-
import { resolveSchemaProps as
|
|
16
|
-
import { schemaFieldProps as
|
|
6
|
+
import { SchemaMarkupSymbol as h, SchemaOptionsSymbol as M, SchemaExpressionScopeSymbol as N } from "../shared/context.mjs";
|
|
7
|
+
import { resolveSchemaProps as S } from "../utils/resolveSchemaProps.mjs";
|
|
8
|
+
import { schemaFieldProps as k, markupSchemaProps as y } from "../utils/schemaFieldProps.mjs";
|
|
9
|
+
import D from "./RecursionField.mjs";
|
|
17
10
|
const v = {
|
|
18
11
|
nonameId: 0
|
|
19
12
|
};
|
|
20
13
|
function P() {
|
|
21
14
|
return `NO_NAME_FIELD_$${v.nonameId++}`;
|
|
22
15
|
}
|
|
23
|
-
function
|
|
16
|
+
function $(l = {}) {
|
|
24
17
|
const b = d({
|
|
25
18
|
name: "SchemaField",
|
|
26
19
|
inheritAttrs: !1,
|
|
27
|
-
props:
|
|
20
|
+
props: k,
|
|
28
21
|
setup(a, { slots: n }) {
|
|
29
22
|
const e = u(
|
|
30
23
|
() => F.isSchemaInstance(a.schema) ? a.schema : new F({
|
|
@@ -40,16 +33,16 @@ function K(l = {}) {
|
|
|
40
33
|
...a.components
|
|
41
34
|
}
|
|
42
35
|
}));
|
|
43
|
-
return c(h, e), c(
|
|
36
|
+
return c(h, e), c(M, s), c(N, o), () => {
|
|
44
37
|
v.nonameId = 0;
|
|
45
|
-
const r = n.default?.(), m = Array.isArray(r) ? r : r ? [r] : [], A = i(
|
|
38
|
+
const r = n.default?.(), m = Array.isArray(r) ? r : r ? [r] : [], A = i(D, {
|
|
46
39
|
...a,
|
|
47
40
|
schema: e.value
|
|
48
41
|
});
|
|
49
42
|
return i(f, null, [...m, A]);
|
|
50
43
|
};
|
|
51
44
|
}
|
|
52
|
-
}),
|
|
45
|
+
}), p = d({
|
|
53
46
|
name: "MarkupField",
|
|
54
47
|
props: {
|
|
55
48
|
type: String,
|
|
@@ -59,14 +52,14 @@ function K(l = {}) {
|
|
|
59
52
|
const e = g(h, null);
|
|
60
53
|
if (!e || !e.value)
|
|
61
54
|
return () => null;
|
|
62
|
-
const o = a.name || P(), s = (m) => e.value.items ? e.value.addProperty(o, m) : e.value.setItems(
|
|
55
|
+
const o = a.name || P(), s = (m) => e.value.items ? e.value.addProperty(o, m) : e.value.setItems(S(a)), r = j();
|
|
63
56
|
return I(
|
|
64
57
|
e,
|
|
65
58
|
() => {
|
|
66
59
|
if (e.value.type === "object" || e.value.type === "void")
|
|
67
|
-
r.value = e.value.addProperty(o,
|
|
60
|
+
r.value = e.value.addProperty(o, S(a));
|
|
68
61
|
else if (e.value.type === "array") {
|
|
69
|
-
const m = s(
|
|
62
|
+
const m = s(S(a));
|
|
70
63
|
r.value = Array.isArray(m) ? m[0] : m;
|
|
71
64
|
}
|
|
72
65
|
},
|
|
@@ -78,7 +71,7 @@ function K(l = {}) {
|
|
|
78
71
|
props: { ...y },
|
|
79
72
|
setup(e, { slots: o }) {
|
|
80
73
|
return () => i(
|
|
81
|
-
|
|
74
|
+
p,
|
|
82
75
|
{
|
|
83
76
|
...e,
|
|
84
77
|
type: a
|
|
@@ -89,7 +82,7 @@ function K(l = {}) {
|
|
|
89
82
|
});
|
|
90
83
|
return {
|
|
91
84
|
SchemaField: b,
|
|
92
|
-
SchemaMarkupField:
|
|
85
|
+
SchemaMarkupField: p,
|
|
93
86
|
SchemaStringField: t("string", "SchemaStringField"),
|
|
94
87
|
SchemaObjectField: t("object", "SchemaObjectField"),
|
|
95
88
|
SchemaArrayField: t("array", "SchemaArrayField"),
|
|
@@ -101,6 +94,6 @@ function K(l = {}) {
|
|
|
101
94
|
};
|
|
102
95
|
}
|
|
103
96
|
export {
|
|
104
|
-
|
|
97
|
+
$ as createSchemaField
|
|
105
98
|
};
|
|
106
99
|
//# sourceMappingURL=SchemaField.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaField.mjs","sources":["../../src/components/SchemaField.ts"],"sourcesContent":["import type { ISchema, SchemaTypes } from '@formily/json-schema'\nimport type {\n ISchemaFieldProps,\n ISchemaFieldVueFactoryOptions,\n SchemaExpressionScope,\n SchemaVueComponents,\n
|
|
1
|
+
{"version":3,"file":"SchemaField.mjs","sources":["../../src/components/SchemaField.ts"],"sourcesContent":["import type { ISchema, SchemaTypes } from '@formily/json-schema'\nimport type {\n ISchemaFieldProps,\n ISchemaFieldVueFactoryOptions,\n SchemaExpressionScope,\n SchemaVueComponents,\n} from '../types'\nimport type { MarkupSchemaProps } from '../utils/schemaFieldProps'\nimport { Schema } from '@formily/json-schema'\nimport { lazyMerge } from '@formily/shared'\nimport { computed, defineComponent, Fragment, h, inject, provide, shallowRef, watch } from 'vue'\nimport { SchemaExpressionScopeSymbol, SchemaMarkupSymbol, SchemaOptionsSymbol } from '../shared'\nimport { resolveSchemaProps } from '../utils/resolveSchemaProps'\nimport {\n markupSchemaProps,\n schemaFieldProps,\n} from '../utils/schemaFieldProps'\nimport RecursionField from './RecursionField'\n\nconst env = {\n nonameId: 0,\n}\n\nfunction getRandomName() {\n return `NO_NAME_FIELD_$${env.nonameId++}`\n}\n\nexport function createSchemaField<Components extends SchemaVueComponents = SchemaVueComponents>(\n options: ISchemaFieldVueFactoryOptions<Components> = {},\n) {\n const SchemaField = defineComponent({\n name: 'SchemaField',\n inheritAttrs: false,\n props: schemaFieldProps,\n setup(props: ISchemaFieldProps, { slots }) {\n const schemaRef = computed(() =>\n Schema.isSchemaInstance(props.schema)\n ? props.schema\n : new Schema({\n type: 'object',\n ...props.schema,\n }),\n )\n\n const scopeRef = computed<SchemaExpressionScope>(() =>\n lazyMerge({} as SchemaExpressionScope, options.scope ?? {}, props.scope ?? {}),\n )\n\n const optionsRef = computed(() => ({\n ...options,\n components: {\n ...options.components,\n ...props.components,\n },\n }))\n\n provide(SchemaMarkupSymbol, schemaRef)\n provide(SchemaOptionsSymbol, optionsRef)\n provide(SchemaExpressionScopeSymbol, scopeRef)\n\n return () => {\n env.nonameId = 0\n\n const slotContent = slots.default?.()\n const normalizedSlots = Array.isArray(slotContent)\n ? slotContent\n : slotContent\n ? [slotContent]\n : []\n\n const recursionNode = h(RecursionField, {\n ...props,\n schema: schemaRef.value,\n })\n\n return h(Fragment, null, [...normalizedSlots, recursionNode])\n }\n },\n })\n\n const MarkupField = defineComponent({\n name: 'MarkupField',\n props: {\n type: String,\n ...markupSchemaProps,\n },\n setup(props: MarkupSchemaProps, { slots }) {\n const parentRef = inject(SchemaMarkupSymbol, null)\n if (!parentRef || !parentRef.value)\n return () => null\n\n const name = props.name || getRandomName()\n const appendArraySchema = (schema: ISchema) => {\n if (parentRef.value.items) {\n return parentRef.value.addProperty(name, schema)\n }\n else {\n return parentRef.value.setItems(resolveSchemaProps(props))\n }\n }\n\n const schemaRef = shallowRef()\n\n watch(\n parentRef,\n () => {\n if (parentRef.value.type === 'object' || parentRef.value.type === 'void') {\n schemaRef.value = parentRef.value.addProperty(name, resolveSchemaProps(props))\n }\n else if (parentRef.value.type === 'array') {\n const schema = appendArraySchema(resolveSchemaProps(props))\n schemaRef.value = Array.isArray(schema) ? schema[0] : schema\n }\n },\n { immediate: true },\n )\n provide(SchemaMarkupSymbol, schemaRef)\n\n return () => h(Fragment, null, slots.default?.())\n },\n })\n\n const SchemaFieldFactory = (type: SchemaTypes, name: string) => {\n return defineComponent({\n name,\n props: { ...markupSchemaProps },\n setup(props, { slots }) {\n return () =>\n h(\n MarkupField,\n {\n ...props,\n type,\n },\n slots,\n )\n },\n })\n }\n\n return {\n SchemaField,\n SchemaMarkupField: MarkupField,\n SchemaStringField: SchemaFieldFactory('string', 'SchemaStringField'),\n SchemaObjectField: SchemaFieldFactory('object', 'SchemaObjectField'),\n SchemaArrayField: SchemaFieldFactory('array', 'SchemaArrayField'),\n SchemaBooleanField: SchemaFieldFactory('boolean', 'SchemaBooleanField'),\n SchemaDateField: SchemaFieldFactory('date', 'SchemaDateField'),\n SchemaDateTimeField: SchemaFieldFactory('datetime', 'SchemaDatetimeField'),\n SchemaVoidField: SchemaFieldFactory('void', 'SchemaVoidField'),\n SchemaNumberField: SchemaFieldFactory('number', 'SchemaNumberField'),\n }\n}\n"],"names":["env","getRandomName","createSchemaField","options","SchemaField","defineComponent","schemaFieldProps","props","slots","schemaRef","computed","Schema","scopeRef","lazyMerge","optionsRef","provide","SchemaMarkupSymbol","SchemaOptionsSymbol","SchemaExpressionScopeSymbol","slotContent","normalizedSlots","recursionNode","h","RecursionField","Fragment","MarkupField","markupSchemaProps","parentRef","inject","name","appendArraySchema","schema","resolveSchemaProps","shallowRef","watch","SchemaFieldFactory","type"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@silver-formily/vue",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.1",
|
|
5
5
|
"description": "Vue3 版本的 @formily/vue",
|
|
6
6
|
"author": "hezhengxu",
|
|
7
7
|
"license": "MIT",
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
"build": "vite build",
|
|
15
15
|
"lint": "eslint .",
|
|
16
16
|
"lint:fix": "eslint . --fix",
|
|
17
|
-
"dev": "vitepress dev docs",
|
|
17
|
+
"docs:dev": "vitepress dev docs",
|
|
18
|
+
"docs:build": "vitepress build docs",
|
|
18
19
|
"commit": "czg",
|
|
19
20
|
"lint-staged": "lint-staged",
|
|
20
21
|
"release": "release-it",
|