Files
speckle-server/packages/frontend-2/lib/form/jsonRenderers.ts
T
Kristaps Fabians Geikins 1d2a594f0a chore: upgrade TS 5.2 -> 5.7.3 & ESLint to 9.20.1 (#4032)
* chore: upgrade TS 5.2 -> 5.7.3

* vite dts fix

* lint fix

* resolutions fix

* ui comp build fix

* precommit fix?

* latest eslint version

* autoloader fix

* undo unnecessary viewer change

* eslint fixes fe2 + trying disabled type linting

* lint fixes
2025-02-20 14:18:18 +02:00

99 lines
3.4 KiB
TypeScript

import {
type JsonFormsRendererRegistryEntry,
and,
isBooleanControl,
isDateControl,
isDateTimeControl,
isEnumControl,
isIntegerControl,
isMultiLineControl,
isNumberControl,
isOneOfEnumControl,
isStringControl,
isTimeControl,
rankWith,
schemaTypeIs
} from '@jsonforms/core'
import { vanillaRenderers } from '@jsonforms/vue-vanilla'
import ArrayListRenderer from '~/components/form/json/ArrayListRenderer.vue'
import BooleanControlRenderer from '~/components/form/json/BooleanControlRenderer.vue'
import DateControlRenderer from '~/components/form/json/DateControlRenderer.vue'
import DateTimeControlRenderer from '~/components/form/json/DateTimeControlRenderer.vue'
import EnumControlRenderer from '~/components/form/json/EnumControlRenderer.vue'
import EnumOneOfControlRenderer from '~/components/form/json/EnumOneOfControlRenderer.vue'
import IntegerControlRenderer from '~/components/form/json/IntegerControlRenderer.vue'
import MultiStringControlRenderer from '~/components/form/json/MultiStringControlRenderer.vue'
import NumberControlRenderer from '~/components/form/json/NumberControlRenderer.vue'
import StringControlRenderer from '~/components/form/json/StringControlRenderer.vue'
import TimeControlRenderer from '~/components/form/json/TimeControlRenderer.vue'
export const stringControlRenderer: JsonFormsRendererRegistryEntry = {
renderer: StringControlRenderer as unknown,
tester: rankWith(3, isStringControl)
}
export const booleanControlRenderer: JsonFormsRendererRegistryEntry = {
renderer: BooleanControlRenderer as unknown,
tester: rankWith(3, isBooleanControl)
}
export const enumControlRenderer: JsonFormsRendererRegistryEntry = {
renderer: EnumControlRenderer as unknown,
tester: rankWith(6, isEnumControl)
}
export const enumOneOfControlRenderer: JsonFormsRendererRegistryEntry = {
renderer: EnumOneOfControlRenderer as unknown,
tester: rankWith(6, isOneOfEnumControl)
}
export const integerControlRenderer: JsonFormsRendererRegistryEntry = {
renderer: IntegerControlRenderer as unknown,
tester: rankWith(3, isIntegerControl)
}
export const multiStringControlRenderer: JsonFormsRendererRegistryEntry = {
renderer: MultiStringControlRenderer as unknown,
tester: rankWith(4, and(isStringControl, isMultiLineControl))
}
export const numberControlRenderer: JsonFormsRendererRegistryEntry = {
renderer: NumberControlRenderer as unknown,
tester: rankWith(3, isNumberControl)
}
export const dateControlRenderer: JsonFormsRendererRegistryEntry = {
renderer: DateControlRenderer as unknown,
tester: rankWith(4, isDateControl)
}
export const dateTimeControlRenderer: JsonFormsRendererRegistryEntry = {
renderer: DateTimeControlRenderer as unknown,
tester: rankWith(4, isDateTimeControl)
}
export const timeControlRenderer: JsonFormsRendererRegistryEntry = {
renderer: TimeControlRenderer as unknown,
tester: rankWith(4, isTimeControl)
}
export const arrayListRenderer: JsonFormsRendererRegistryEntry = {
renderer: ArrayListRenderer as unknown,
tester: rankWith(3, schemaTypeIs('array'))
}
export const renderers: JsonFormsRendererRegistryEntry[] = markRaw([
...vanillaRenderers,
stringControlRenderer,
booleanControlRenderer,
enumControlRenderer,
enumOneOfControlRenderer,
integerControlRenderer,
multiStringControlRenderer,
numberControlRenderer,
dateControlRenderer,
dateTimeControlRenderer,
timeControlRenderer,
arrayListRenderer
])