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
52 lines
1.3 KiB
Vue
52 lines
1.3 KiB
Vue
<template>
|
|
<FormTextInput
|
|
:name="fieldName"
|
|
:disabled="!control.enabled"
|
|
:model-value="modelValue"
|
|
:rules="validator"
|
|
:label="control.label"
|
|
:show-clear="isRequired"
|
|
show-label
|
|
type="datetime-local"
|
|
size="lg"
|
|
max="9999-12-31T23:59"
|
|
:placeholder="appliedOptions['placeholder']"
|
|
:help="control.description"
|
|
:validate-on-value-update="validateOnValueUpdate"
|
|
@update:model-value="handleChange"
|
|
/>
|
|
</template>
|
|
<script setup lang="ts">
|
|
import type { ControlElement } from '@jsonforms/core'
|
|
import { rendererProps, useJsonFormsControl } from '@jsonforms/vue'
|
|
import { useJsonRendererBaseSetup } from '~/lib/form/composables/jsonRenderers'
|
|
|
|
const zuluTimeSuffix = ':00.000Z'
|
|
|
|
const props = defineProps({
|
|
...rendererProps<ControlElement>()
|
|
})
|
|
|
|
const toISOString = (inputDateTime: string) => {
|
|
return inputDateTime ? inputDateTime + zuluTimeSuffix : undefined
|
|
}
|
|
|
|
const {
|
|
handleChange,
|
|
control,
|
|
validator,
|
|
appliedOptions,
|
|
fieldName,
|
|
validateOnValueUpdate,
|
|
isRequired
|
|
} = useJsonRendererBaseSetup(useJsonFormsControl(props), {
|
|
onChangeValueConverter: (val) => toISOString(val as string)
|
|
})
|
|
|
|
const modelValue = computed(() =>
|
|
control.value.data
|
|
? (control.value.data as string).replace(zuluTimeSuffix, '')
|
|
: undefined
|
|
)
|
|
</script>
|