fix(automate): set default input values in function input form (#4728)
This commit is contained in:
@@ -7,15 +7,18 @@
|
||||
:uischema="finalUiSchema"
|
||||
:data="data || {}"
|
||||
:readonly="readonly"
|
||||
:ajv="ajv"
|
||||
@change="onChange"
|
||||
/>
|
||||
</form>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { createAjv } from '@jsonforms/core'
|
||||
import type { JsonSchema, UISchemaElement } from '@jsonforms/core'
|
||||
import { JsonForms, type JsonFormsChangeEvent } from '@jsonforms/vue'
|
||||
import type { Nullable, Optional } from '@speckle/shared'
|
||||
import { useMounted } from '@vueuse/core'
|
||||
import type Ajv from 'ajv'
|
||||
import { omit } from 'lodash-es'
|
||||
import { useForm } from 'vee-validate'
|
||||
import { renderers } from '~/lib/form/jsonRenderers'
|
||||
@@ -39,6 +42,8 @@ const { validate } = useForm()
|
||||
const isMounted = useMounted()
|
||||
const internalRef = ref<Nullable<{ jsonforms: { core: JsonFormsChangeEvent } }>>(null)
|
||||
const data = defineModel<Record<string, unknown>>('data')
|
||||
// @jsonforms/core vendors ajv with incorrect types for this util
|
||||
const ajv = createAjv({ useDefaults: true }) as unknown as Ajv
|
||||
|
||||
const finalSchema = computed(() => {
|
||||
const base = props.schema
|
||||
|
||||
@@ -29,8 +29,8 @@
|
||||
"@datadog/browser-rum": "^5.11.0",
|
||||
"@headlessui/vue": "^1.7.13",
|
||||
"@heroicons/vue": "^2.0.12",
|
||||
"@jsonforms/core": "^3.3.0",
|
||||
"@jsonforms/vue": "^3.3.0",
|
||||
"@jsonforms/core": "^3.5.1",
|
||||
"@jsonforms/vue": "^3.5.1",
|
||||
"@jsonforms/vue-vanilla": "^3.3.0",
|
||||
"@speckle/shared": "workspace:^",
|
||||
"@speckle/ui-components": "workspace:^",
|
||||
@@ -116,6 +116,7 @@
|
||||
"@types/ua-parser-js": "^0.7.39",
|
||||
"@typescript-eslint/eslint-plugin": "^7.12.0",
|
||||
"@typescript-eslint/parser": "^7.12.0",
|
||||
"ajv": "^8.17.1",
|
||||
"autoprefixer": "^10.4.14",
|
||||
"browserify-zlib": "^0.2.0",
|
||||
"chromatic": "^6.11.4",
|
||||
|
||||
@@ -355,14 +355,31 @@ const mocks: SpeckleModuleMocksConfig = FF_AUTOMATE_MODULE_ENABLED
|
||||
},
|
||||
'Required Boolean': {
|
||||
description: faker.lorem.sentence(5),
|
||||
default: true,
|
||||
type: 'boolean'
|
||||
},
|
||||
Enum: {
|
||||
description: faker.lorem.sentence(5),
|
||||
type: 'string',
|
||||
default: 'bar',
|
||||
oneOf: [
|
||||
{
|
||||
const: 'foo',
|
||||
title: 'FOO'
|
||||
},
|
||||
{
|
||||
const: 'bar',
|
||||
title: 'BAR'
|
||||
}
|
||||
]
|
||||
},
|
||||
Integer: {
|
||||
description: faker.lorem.sentence(5),
|
||||
type: 'integer'
|
||||
},
|
||||
'Required Integer': {
|
||||
description: faker.lorem.sentence(5),
|
||||
default: 2,
|
||||
type: 'integer'
|
||||
},
|
||||
String: {
|
||||
@@ -371,6 +388,7 @@ const mocks: SpeckleModuleMocksConfig = FF_AUTOMATE_MODULE_ENABLED
|
||||
},
|
||||
'Required String': {
|
||||
description: faker.lorem.sentence(5),
|
||||
default: 'Foobar',
|
||||
type: 'string'
|
||||
}
|
||||
},
|
||||
|
||||
@@ -11877,15 +11877,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@jsonforms/core@npm:^3.3.0":
|
||||
version: 3.3.0
|
||||
resolution: "@jsonforms/core@npm:3.3.0"
|
||||
"@jsonforms/core@npm:^3.5.1":
|
||||
version: 3.5.1
|
||||
resolution: "@jsonforms/core@npm:3.5.1"
|
||||
dependencies:
|
||||
"@types/json-schema": "npm:^7.0.3"
|
||||
ajv: "npm:^8.6.1"
|
||||
ajv-formats: "npm:^2.1.0"
|
||||
lodash: "npm:^4.17.21"
|
||||
checksum: 10/75e183195111cd376d44001edb0d60ba1160754bf5409d20444148464acfeb188cb3632650f2d41a1665292239bc22b27cd0097def19618c3acbedf1e0440db2
|
||||
checksum: 10/f8ef9f86e07d20d1d3feec5bc96fff85a743b8ae98558c57ca8991945d58167c1f04ea701919f39d1b2453bdd340c7b469d71927ded3a079eadd947af4695686
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -11902,15 +11902,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@jsonforms/vue@npm:^3.3.0":
|
||||
version: 3.3.0
|
||||
resolution: "@jsonforms/vue@npm:3.3.0"
|
||||
"@jsonforms/vue@npm:^3.5.1":
|
||||
version: 3.5.1
|
||||
resolution: "@jsonforms/vue@npm:3.5.1"
|
||||
dependencies:
|
||||
lodash: "npm:^4.17.21"
|
||||
peerDependencies:
|
||||
"@jsonforms/core": 3.3.0
|
||||
"@jsonforms/core": 3.5.1
|
||||
vue: ^3.2.26
|
||||
checksum: 10/3cea4a4f2a5267cbf045972a416045b34cee376e1eb60c268d4882b676c83b87e7f34eb2038fe4df8b8e41e6e28240ea524b458afca38f3552059d037f9c577d
|
||||
checksum: 10/55717175334d1634cb9079426f738c1b7d62aca0d5eb60824e2ee4e8a753bc979173ccefc1621fe045504330a3fd0bf60641076ff045decd4230bae48ac0e15a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -15669,8 +15669,8 @@ __metadata:
|
||||
"@graphql-codegen/visitor-plugin-common": "npm:^5.7.1"
|
||||
"@headlessui/vue": "npm:^1.7.13"
|
||||
"@heroicons/vue": "npm:^2.0.12"
|
||||
"@jsonforms/core": "npm:^3.3.0"
|
||||
"@jsonforms/vue": "npm:^3.3.0"
|
||||
"@jsonforms/core": "npm:^3.5.1"
|
||||
"@jsonforms/vue": "npm:^3.5.1"
|
||||
"@jsonforms/vue-vanilla": "npm:^3.3.0"
|
||||
"@nuxt/devtools": "npm:^1.7.0"
|
||||
"@nuxt/eslint": "npm:^1.1.0"
|
||||
@@ -15721,6 +15721,7 @@ __metadata:
|
||||
"@vue/apollo-composable": "npm:@speckle/apollo-composable@4.2.1-patch.1"
|
||||
"@vue/apollo-ssr": "npm:4.0.0"
|
||||
"@vueuse/core": "npm:^10.9.0"
|
||||
ajv: "npm:^8.17.1"
|
||||
apollo-upload-client: "npm:^18.0.1"
|
||||
autoprefixer: "npm:^10.4.14"
|
||||
browserify-zlib: "npm:^0.2.0"
|
||||
@@ -21815,6 +21816,18 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ajv@npm:^8.17.1":
|
||||
version: 8.17.1
|
||||
resolution: "ajv@npm:8.17.1"
|
||||
dependencies:
|
||||
fast-deep-equal: "npm:^3.1.3"
|
||||
fast-uri: "npm:^3.0.1"
|
||||
json-schema-traverse: "npm:^1.0.0"
|
||||
require-from-string: "npm:^2.0.2"
|
||||
checksum: 10/ee3c62162c953e91986c838f004132b6a253d700f1e51253b99791e2dbfdb39161bc950ebdc2f156f8568035bb5ed8be7bd78289cd9ecbf3381fe8f5b82e3f33
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ajv@npm:^8.6.1, ajv@npm:~8.12.0":
|
||||
version: 8.12.0
|
||||
resolution: "ajv@npm:8.12.0"
|
||||
@@ -29359,6 +29372,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fast-uri@npm:^3.0.1":
|
||||
version: 3.0.6
|
||||
resolution: "fast-uri@npm:3.0.6"
|
||||
checksum: 10/43c87cd03926b072a241590e49eca0e2dfe1d347ddffd4b15307613b42b8eacce00a315cf3c7374736b5f343f27e27ec88726260eb03a758336d507d6fbaba0a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fast-url-parser@npm:^1.1.3":
|
||||
version: 1.1.3
|
||||
resolution: "fast-url-parser@npm:1.1.3"
|
||||
|
||||
Reference in New Issue
Block a user