1d2a594f0a
* 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
99 lines
3.4 KiB
TypeScript
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
|
|
])
|