@silver-formily/vue 2.0.3 → 2.0.4
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaField.mjs","sources":["../../src/components/SchemaField.ts"],"sourcesContent":["import type { ISchema, SchemaTypes } from '@formily/json-schema'\r\nimport type {\r\n ISchemaFieldProps,\r\n ISchemaFieldVueFactoryOptions,\r\n SchemaExpressionScope,\r\n SchemaVueComponents,\r\n} from '../types'\r\nimport type { MarkupSchemaProps } from '../utils/schemaFieldProps'\r\nimport { Schema } from '@formily/json-schema'\r\nimport { lazyMerge } from '@formily/shared'\r\nimport { computed, defineComponent, Fragment, h, inject, provide, shallowRef, watch } from 'vue'\r\nimport { SchemaExpressionScopeSymbol, SchemaMarkupSymbol, SchemaOptionsSymbol } from '../shared'\r\nimport { resolveSchemaProps } from '../utils/resolveSchemaProps'\r\nimport { markupSchemaProps, schemaFieldProps } from '../utils/schemaFieldProps'\r\nimport RecursionField from './RecursionField'\r\n\r\nconst env = {\r\n nonameId: 0,\r\n}\r\n\r\nfunction getRandomName() {\r\n return `NO_NAME_FIELD_$${env.nonameId++}`\r\n}\r\n\r\nexport function createSchemaField<Components extends SchemaVueComponents = SchemaVueComponents>(\r\n options: ISchemaFieldVueFactoryOptions<Components> = {},\r\n) {\r\n const SchemaField = defineComponent({\r\n name: 'SchemaField',\r\n inheritAttrs: false,\r\n props: schemaFieldProps,\r\n setup(props: ISchemaFieldProps, { slots }) {\r\n const schemaRef = computed(() =>\r\n Schema.isSchemaInstance(props.schema)\r\n ? props.schema\r\n : new Schema({\r\n type: 'object',\r\n ...props.schema,\r\n }),\r\n )\r\n\r\n const scopeRef = computed<SchemaExpressionScope>(() =>\r\n lazyMerge({} as SchemaExpressionScope, options.scope ?? {}, props.scope ?? {}),\r\n )\r\n\r\n const optionsRef = computed(() => ({\r\n ...options,\r\n components: {\r\n ...options.components,\r\n ...props.components,\r\n },\r\n }))\r\n\r\n provide(SchemaMarkupSymbol, schemaRef)\r\n provide(SchemaOptionsSymbol, optionsRef)\r\n provide(SchemaExpressionScopeSymbol, scopeRef)\r\n\r\n return () => {\r\n env.nonameId = 0\r\n\r\n const slotContent = slots.default?.()\r\n const normalizedSlots = Array.isArray(slotContent)\r\n ? slotContent\r\n : slotContent\r\n ? [slotContent]\r\n : []\r\n\r\n const recursionNode = h(RecursionField, {\r\n ...props,\r\n schema: schemaRef.value,\r\n })\r\n\r\n return h(Fragment, null, [...normalizedSlots, recursionNode])\r\n }\r\n },\r\n })\r\n\r\n const MarkupField = defineComponent({\r\n name: 'MarkupField',\r\n props: {\r\n type: String,\r\n ...markupSchemaProps,\r\n },\r\n setup(props: MarkupSchemaProps, { slots }) {\r\n const parentRef = inject(SchemaMarkupSymbol, null)\r\n if (!parentRef || !parentRef.value)\r\n return () => null\r\n\r\n const name = props.name || getRandomName()\r\n const appendArraySchema = (schema: ISchema) => {\r\n if (parentRef.value.items) {\r\n return parentRef.value.addProperty(name, schema)\r\n }\r\n else {\r\n return parentRef.value.setItems(resolveSchemaProps(props))\r\n }\r\n }\r\n\r\n const schemaRef = shallowRef()\r\n\r\n watch(\r\n parentRef,\r\n () => {\r\n if (parentRef.value.type === 'object' || parentRef.value.type === 'void') {\r\n schemaRef.value = parentRef.value.addProperty(name, resolveSchemaProps(props))\r\n }\r\n else if (parentRef.value.type === 'array') {\r\n const schema = appendArraySchema(resolveSchemaProps(props))\r\n schemaRef.value = Array.isArray(schema) ? schema[0] : schema\r\n }\r\n },\r\n { immediate: true },\r\n )\r\n provide(SchemaMarkupSymbol, schemaRef)\r\n\r\n return () => h(Fragment, null, slots.default?.())\
|
|
1
|
+
{"version":3,"file":"SchemaField.mjs","sources":["../../src/components/SchemaField.ts"],"sourcesContent":["import type { ISchema, SchemaTypes } from '@formily/json-schema'\r\nimport type {\r\n ISchemaFieldProps,\r\n ISchemaFieldVueFactoryOptions,\r\n SchemaExpressionScope,\r\n SchemaVueComponents,\r\n} from '../types'\r\nimport type { MarkupSchemaProps } from '../utils/schemaFieldProps'\r\nimport { Schema } from '@formily/json-schema'\r\nimport { lazyMerge } from '@formily/shared'\r\nimport { computed, defineComponent, Fragment, h, inject, provide, shallowRef, watch } from 'vue'\r\nimport { SchemaExpressionScopeSymbol, SchemaMarkupSymbol, SchemaOptionsSymbol } from '../shared'\r\nimport { resolveSchemaProps } from '../utils/resolveSchemaProps'\r\nimport { markupSchemaProps, schemaFieldProps } from '../utils/schemaFieldProps'\r\nimport RecursionField from './RecursionField'\r\n\r\nconst env = {\r\n nonameId: 0,\r\n}\r\n\r\nfunction getRandomName() {\r\n return `NO_NAME_FIELD_$${env.nonameId++}`\r\n}\r\n\r\nexport function createSchemaField<Components extends SchemaVueComponents = SchemaVueComponents>(\r\n options: ISchemaFieldVueFactoryOptions<Components> = {},\r\n) {\r\n const SchemaField = defineComponent({\r\n name: 'SchemaField',\r\n inheritAttrs: false,\r\n props: schemaFieldProps,\r\n setup(props: ISchemaFieldProps, { slots }) {\r\n const schemaRef = computed(() =>\r\n Schema.isSchemaInstance(props.schema)\r\n ? props.schema\r\n : new Schema({\r\n type: 'object',\r\n ...props.schema,\r\n }),\r\n )\r\n\r\n const scopeRef = computed<SchemaExpressionScope>(() =>\r\n lazyMerge({} as SchemaExpressionScope, options.scope ?? {}, props.scope ?? {}),\r\n )\r\n\r\n const optionsRef = computed(() => ({\r\n ...options,\r\n components: {\r\n ...options.components,\r\n ...props.components,\r\n },\r\n }))\r\n\r\n provide(SchemaMarkupSymbol, schemaRef)\r\n provide(SchemaOptionsSymbol, optionsRef)\r\n provide(SchemaExpressionScopeSymbol, scopeRef)\r\n\r\n return () => {\r\n env.nonameId = 0\r\n\r\n const slotContent = slots.default?.()\r\n const normalizedSlots = Array.isArray(slotContent)\r\n ? slotContent\r\n : slotContent\r\n ? [slotContent]\r\n : []\r\n\r\n const recursionNode = h(RecursionField, {\r\n ...props,\r\n schema: schemaRef.value,\r\n })\r\n\r\n return h(Fragment, null, [...normalizedSlots, recursionNode])\r\n }\r\n },\r\n })\r\n\r\n const MarkupField = defineComponent({\r\n name: 'MarkupField',\r\n props: {\r\n type: String,\r\n ...markupSchemaProps,\r\n },\r\n setup(props: MarkupSchemaProps, { slots }) {\r\n const parentRef = inject(SchemaMarkupSymbol, null)\r\n if (!parentRef || !parentRef.value)\r\n return () => null\r\n\r\n const name = props.name || getRandomName()\r\n const appendArraySchema = (schema: ISchema) => {\r\n if (parentRef.value.items) {\r\n return parentRef.value.addProperty(name, schema)\r\n }\r\n else {\r\n return parentRef.value.setItems(resolveSchemaProps(props))\r\n }\r\n }\r\n\r\n const schemaRef = shallowRef()\r\n\r\n watch(\r\n parentRef,\r\n () => {\r\n if (parentRef.value.type === 'object' || parentRef.value.type === 'void') {\r\n schemaRef.value = parentRef.value.addProperty(name, resolveSchemaProps(props))\r\n }\r\n else if (parentRef.value.type === 'array') {\r\n const schema = appendArraySchema(resolveSchemaProps(props))\r\n schemaRef.value = Array.isArray(schema) ? schema[0] : schema\r\n }\r\n },\r\n { immediate: true },\r\n )\r\n provide(SchemaMarkupSymbol, schemaRef)\r\n\r\n return () => h(Fragment, null, slots.default?.() ?? [])\n },\n })\n\r\n const SchemaFieldFactory = (type: SchemaTypes, name: string) => {\r\n return defineComponent({\r\n name,\r\n props: { ...markupSchemaProps },\r\n setup(props, { slots }) {\r\n return () =>\r\n h(\r\n MarkupField,\r\n {\r\n ...props,\r\n type,\r\n },\r\n slots,\r\n )\r\n },\r\n })\r\n }\r\n\r\n return {\r\n SchemaField,\r\n SchemaMarkupField: MarkupField,\r\n SchemaStringField: SchemaFieldFactory('string', 'SchemaStringField'),\r\n SchemaObjectField: SchemaFieldFactory('object', 'SchemaObjectField'),\r\n SchemaArrayField: SchemaFieldFactory('array', 'SchemaArrayField'),\r\n SchemaBooleanField: SchemaFieldFactory('boolean', 'SchemaBooleanField'),\r\n SchemaDateField: SchemaFieldFactory('date', 'SchemaDateField'),\r\n SchemaDateTimeField: SchemaFieldFactory('datetime', 'SchemaDatetimeField'),\r\n SchemaVoidField: SchemaFieldFactory('void', 'SchemaVoidField'),\r\n SchemaNumberField: SchemaFieldFactory('number', 'SchemaNumberField'),\r\n }\r\n}\r\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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"}
|