mirror of
https://github.com/kunkunsh/kunkun.git
synced 2025-04-11 17:29:44 +00:00
Fix: form submit (#76)
* fix: worker template extension form submit * bump @kksh/api * update api package version
This commit is contained in:
parent
0cc744592f
commit
e719176b9c
@ -9,11 +9,13 @@
|
|||||||
"updateInternalDependencies": "patch",
|
"updateInternalDependencies": "patch",
|
||||||
"ignore": [
|
"ignore": [
|
||||||
"jarvis",
|
"jarvis",
|
||||||
|
"form-view",
|
||||||
"@kksh/desktop",
|
"@kksh/desktop",
|
||||||
"@kksh/supabase",
|
"@kksh/supabase",
|
||||||
"@kksh/utils",
|
"@kksh/utils",
|
||||||
"@kksh/extension",
|
"@kksh/extension",
|
||||||
"@kksh/schema",
|
"@kksh/schema",
|
||||||
"@kksh/supabase"
|
"@kksh/supabase",
|
||||||
|
"@kksh/ui"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
# kksh
|
# kksh
|
||||||
|
|
||||||
|
## 0.0.30
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies
|
||||||
|
- @kksh/api@0.0.53
|
||||||
|
|
||||||
## 0.0.29
|
## 0.0.29
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "kksh",
|
"name": "kksh",
|
||||||
"module": "dist/cli.js",
|
"module": "dist/cli.js",
|
||||||
"version": "0.0.29",
|
"version": "0.0.30",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"bin": {
|
"bin": {
|
||||||
"kksh": "./dist/cli.js",
|
"kksh": "./dist/cli.js",
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
# create-kunkun
|
# create-kunkun
|
||||||
|
|
||||||
|
## 0.1.40
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies
|
||||||
|
- @kksh/api@0.0.53
|
||||||
|
|
||||||
## 0.1.38
|
## 0.1.38
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "create-kunkun",
|
"name": "create-kunkun",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "0.1.39",
|
"version": "0.1.40",
|
||||||
"bin": {
|
"bin": {
|
||||||
"create-kunkun": "dist/index.mjs"
|
"create-kunkun": "dist/index.mjs"
|
||||||
},
|
},
|
||||||
|
@ -359,7 +359,14 @@
|
|||||||
{/snippet}
|
{/snippet}
|
||||||
</Templates.ListView>
|
</Templates.ListView>
|
||||||
{:else if loaded && formViewContent !== undefined}
|
{:else if loaded && formViewContent !== undefined}
|
||||||
<Templates.FormView {formViewContent} onGoBack={goBack} />
|
<Templates.FormView
|
||||||
|
{formViewContent}
|
||||||
|
onGoBack={goBack}
|
||||||
|
onSubmit={(formData: Record<string, string | number | boolean>) => {
|
||||||
|
console.log("formData", formData)
|
||||||
|
workerAPI?.onFormSubmit(formData)
|
||||||
|
}}
|
||||||
|
/>
|
||||||
{:else if loaded && markdownViewContent !== undefined}
|
{:else if loaded && markdownViewContent !== undefined}
|
||||||
<Templates.MarkdownView {markdownViewContent} onGoBack={goBack} />
|
<Templates.MarkdownView {markdownViewContent} onGoBack={goBack} />
|
||||||
{/if}
|
{/if}
|
||||||
|
@ -1,5 +1,11 @@
|
|||||||
# @kksh/api
|
# @kksh/api
|
||||||
|
|
||||||
|
## 0.0.53
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Add Show Debug option for worker template form view
|
||||||
|
|
||||||
## 0.0.48
|
## 0.0.48
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://jsr.io/schema/config-file.v1.json",
|
"$schema": "https://jsr.io/schema/config-file.v1.json",
|
||||||
"name": "@kunkun/api",
|
"name": "@kunkun/api",
|
||||||
"version": "0.0.52",
|
"version": "0.0.53",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"exports": {
|
"exports": {
|
||||||
".": "./src/index.ts",
|
".": "./src/index.ts",
|
||||||
@ -17,6 +17,6 @@
|
|||||||
"./dev": "./src/dev/index.ts",
|
"./dev": "./src/dev/index.ts",
|
||||||
"./events": "./src/events.ts",
|
"./events": "./src/events.ts",
|
||||||
"./extensions/jsr": "./src/extensions/jsr/index.ts"
|
"./extensions/jsr": "./src/extensions/jsr/index.ts"
|
||||||
},
|
},
|
||||||
"imports": {}
|
"imports": {}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@kksh/api",
|
"name": "@kksh/api",
|
||||||
"version": "0.0.52",
|
"version": "0.0.53",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"exports": {
|
"exports": {
|
||||||
".": "./src/index.ts",
|
".": "./src/index.ts",
|
||||||
|
@ -137,6 +137,7 @@ export class ArrayField
|
|||||||
export class Form implements IComponent<FormSchema.Form> {
|
export class Form implements IComponent<FormSchema.Form> {
|
||||||
nodeName: FormNodeName = FormNodeNameEnum.Form
|
nodeName: FormNodeName = FormNodeNameEnum.Form
|
||||||
fields: (AllFormFields | Form)[]
|
fields: (AllFormFields | Form)[]
|
||||||
|
showFormDataDebug?: boolean
|
||||||
key: string
|
key: string
|
||||||
title?: string
|
title?: string
|
||||||
description?: string
|
description?: string
|
||||||
@ -148,6 +149,7 @@ export class Form implements IComponent<FormSchema.Form> {
|
|||||||
this.title = model.title
|
this.title = model.title
|
||||||
this.description = model.description
|
this.description = model.description
|
||||||
this.submitBtnText = model.submitBtnText
|
this.submitBtnText = model.submitBtnText
|
||||||
|
this.showFormDataDebug = model.showFormDataDebug
|
||||||
}
|
}
|
||||||
|
|
||||||
toModel(): FormSchema.Form {
|
toModel(): FormSchema.Form {
|
||||||
|
@ -136,6 +136,7 @@ export type FormField = InferOutput<typeof FormField>
|
|||||||
export const Form: GenericSchema<Form> = object({
|
export const Form: GenericSchema<Form> = object({
|
||||||
nodeName: FormNodeName,
|
nodeName: FormNodeName,
|
||||||
key: string(),
|
key: string(),
|
||||||
|
showFormDataDebug: optional(boolean()),
|
||||||
fields: array(union([lazy(() => Form), FormField])),
|
fields: array(union([lazy(() => Form), FormField])),
|
||||||
title: optional(string()),
|
title: optional(string()),
|
||||||
description: optional(string()),
|
description: optional(string()),
|
||||||
@ -144,6 +145,7 @@ export const Form: GenericSchema<Form> = object({
|
|||||||
export type Form = {
|
export type Form = {
|
||||||
nodeName: FormNodeName
|
nodeName: FormNodeName
|
||||||
title?: string
|
title?: string
|
||||||
|
showFormDataDebug?: boolean
|
||||||
description?: string
|
description?: string
|
||||||
submitBtnText?: string
|
submitBtnText?: string
|
||||||
key: string
|
key: string
|
||||||
|
@ -21,7 +21,7 @@ export const breakingChangesVersionCheckpoints = [
|
|||||||
const checkpointVersions = breakingChangesVersionCheckpoints.map((c) => c.version)
|
const checkpointVersions = breakingChangesVersionCheckpoints.map((c) => c.version)
|
||||||
const sortedCheckpointVersions = sort(checkpointVersions)
|
const sortedCheckpointVersions = sort(checkpointVersions)
|
||||||
|
|
||||||
export const version = "0.0.52"
|
export const version = "0.0.53"
|
||||||
|
|
||||||
export function isVersionBetween(v: string, start: string, end: string) {
|
export function isVersionBetween(v: string, start: string, end: string) {
|
||||||
const vCleaned = clean(v)
|
const vCleaned = clean(v)
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
# demo-template-extension
|
# demo-template-extension
|
||||||
|
|
||||||
|
## 0.0.6
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies
|
||||||
|
- @kksh/api@0.0.53
|
||||||
|
|
||||||
## 0.0.5
|
## 0.0.5
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$schema": "../../schema/manifest-json-schema.json",
|
"$schema": "../../schema/manifest-json-schema.json",
|
||||||
"name": "demo-template-extension",
|
"name": "demo-template-extension",
|
||||||
"version": "0.0.5",
|
"version": "0.0.6",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"kunkun": {
|
"kunkun": {
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
# template-ext-sveltekit
|
# template-ext-sveltekit
|
||||||
|
|
||||||
|
## 0.0.6
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies
|
||||||
|
- @kksh/api@0.0.53
|
||||||
|
|
||||||
## 0.0.5
|
## 0.0.5
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://schema.kunkun.sh",
|
"$schema": "https://schema.kunkun.sh",
|
||||||
"name": "ext-sveltekit-exp",
|
"name": "ext-sveltekit-exp",
|
||||||
"version": "0.0.5",
|
"version": "0.0.6",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"kunkun": {
|
"kunkun": {
|
||||||
"name": "TODO: Change Display Name",
|
"name": "TODO: Change Display Name",
|
||||||
|
@ -25,10 +25,11 @@ class ExtensionTemplate extends WorkerExtension {
|
|||||||
const markdown = new Markdown(`# Hello World
|
const markdown = new Markdown(`# Hello World
|
||||||
<img src="https://github.com/huakunshen.png" />`)
|
<img src="https://github.com/huakunshen.png" />`)
|
||||||
// markdown.toModel
|
// markdown.toModel
|
||||||
return ui.render(markdown)
|
// return ui.render(markdown)
|
||||||
const form = new Form.Form({
|
const form = new Form.Form({
|
||||||
title: "Form 1",
|
title: "Form 1",
|
||||||
key: "form1",
|
key: "form1",
|
||||||
|
showFormDataDebug: true,
|
||||||
submitBtnText: "Download",
|
submitBtnText: "Download",
|
||||||
fields: [
|
fields: [
|
||||||
new Form.DateField({
|
new Form.DateField({
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
# template-ext-worker
|
# template-ext-worker
|
||||||
|
|
||||||
|
## 0.0.5
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies
|
||||||
|
- @kksh/api@0.0.53
|
||||||
|
|
||||||
## 0.0.4
|
## 0.0.4
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$schema": "./node_modules/@kksh/api/dist/schema.json",
|
"$schema": "./node_modules/@kksh/api/dist/schema.json",
|
||||||
"name": "template-ext-headless",
|
"name": "template-ext-headless",
|
||||||
"version": "0.0.4",
|
"version": "0.0.5",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"kunkun": {
|
"kunkun": {
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
# template-ext-next
|
# template-ext-next
|
||||||
|
|
||||||
|
## 0.1.4
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies
|
||||||
|
- @kksh/api@0.0.53
|
||||||
|
|
||||||
## 0.1.3
|
## 0.1.3
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$schema": "./node_modules/@kksh/api/dist/schema.json",
|
"$schema": "./node_modules/@kksh/api/dist/schema.json",
|
||||||
"name": "template-ext-next",
|
"name": "template-ext-next",
|
||||||
"version": "0.1.3",
|
"version": "0.1.4",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"kunkun": {
|
"kunkun": {
|
||||||
"name": "TODO: Change Display Name",
|
"name": "TODO: Change Display Name",
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
# template-ext-nuxt
|
# template-ext-nuxt
|
||||||
|
|
||||||
|
## 0.0.6
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies
|
||||||
|
- @kksh/api@0.0.53
|
||||||
|
|
||||||
## 0.0.5
|
## 0.0.5
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$schema": "./node_modules/@kksh/api/dist/schema.json",
|
"$schema": "./node_modules/@kksh/api/dist/schema.json",
|
||||||
"name": "template-ext-nuxt",
|
"name": "template-ext-nuxt",
|
||||||
"version": "0.0.5",
|
"version": "0.0.6",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"kunkun": {
|
"kunkun": {
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
# template-ext-react
|
# template-ext-react
|
||||||
|
|
||||||
|
## 0.0.5
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies
|
||||||
|
- @kksh/api@0.0.53
|
||||||
|
|
||||||
## 0.0.4
|
## 0.0.4
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"$schema": "./node_modules/@kksh/api/dist/schema.json",
|
"$schema": "./node_modules/@kksh/api/dist/schema.json",
|
||||||
"name": "template-ext-react",
|
"name": "template-ext-react",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"version": "0.0.4",
|
"version": "0.0.5",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"kunkun": {
|
"kunkun": {
|
||||||
"name": "TODO: Change Display Name",
|
"name": "TODO: Change Display Name",
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
# template-ext-svelte
|
# template-ext-svelte
|
||||||
|
|
||||||
|
## 0.0.5
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies
|
||||||
|
- @kksh/api@0.0.53
|
||||||
|
|
||||||
## 0.0.4
|
## 0.0.4
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"$schema": "./node_modules/@kksh/api/dist/schema.json",
|
"$schema": "./node_modules/@kksh/api/dist/schema.json",
|
||||||
"name": "template-ext-svelte",
|
"name": "template-ext-svelte",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"version": "0.0.4",
|
"version": "0.0.5",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"kunkun": {
|
"kunkun": {
|
||||||
"name": "TODO: Change Display Name",
|
"name": "TODO: Change Display Name",
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
# template-ext-sveltekit
|
# template-ext-sveltekit
|
||||||
|
|
||||||
|
## 0.0.6
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies
|
||||||
|
- @kksh/api@0.0.53
|
||||||
|
|
||||||
## 0.0.5
|
## 0.0.5
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$schema": "./node_modules/@kksh/api/dist/schema.json",
|
"$schema": "./node_modules/@kksh/api/dist/schema.json",
|
||||||
"name": "template-ext-sveltekit",
|
"name": "template-ext-sveltekit",
|
||||||
"version": "0.0.5",
|
"version": "0.0.6",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"kunkun": {
|
"kunkun": {
|
||||||
"name": "TODO: Change Display Name",
|
"name": "TODO: Change Display Name",
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
# template-ext-vue
|
# template-ext-vue
|
||||||
|
|
||||||
|
## 0.0.3
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies
|
||||||
|
- @kksh/api@0.0.53
|
||||||
|
|
||||||
## 0.0.2
|
## 0.0.2
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "template-ext-vue",
|
"name": "template-ext-vue",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"version": "0.0.2",
|
"version": "0.0.3",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
# template-ext-worker
|
# template-ext-worker
|
||||||
|
|
||||||
|
## 0.0.5
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies
|
||||||
|
- @kksh/api@0.0.53
|
||||||
|
|
||||||
## 0.0.4
|
## 0.0.4
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$schema": "./node_modules/@kksh/api/dist/schema.json",
|
"$schema": "./node_modules/@kksh/api/dist/schema.json",
|
||||||
"name": "template-ext-worker",
|
"name": "template-ext-worker",
|
||||||
"version": "0.0.4",
|
"version": "0.0.5",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"kunkun": {
|
"kunkun": {
|
||||||
|
@ -10,12 +10,16 @@
|
|||||||
|
|
||||||
let {
|
let {
|
||||||
date = $bindable(),
|
date = $bindable(),
|
||||||
|
dateValue = $bindable(),
|
||||||
class: className,
|
class: className,
|
||||||
value = $bindable()
|
value = $bindable()
|
||||||
}: { date?: DateValue; class?: string; value?: string } = $props()
|
}: { date?: Date; dateValue?: DateValue; class?: string; value?: string } = $props()
|
||||||
const valueString = $derived(date ? df.format(date.toDate(getLocalTimeZone())) : "")
|
const valueString = $derived(dateValue ? df.format(dateValue.toDate(getLocalTimeZone())) : "")
|
||||||
$effect(() => {
|
$effect(() => {
|
||||||
value = date ? date.toString() : ""
|
value = dateValue ? dateValue.toString() : ""
|
||||||
|
if (dateValue) {
|
||||||
|
date = dateValue?.toDate(getLocalTimeZone())
|
||||||
|
}
|
||||||
})
|
})
|
||||||
const items = [
|
const items = [
|
||||||
{ value: 0, label: "Today" },
|
{ value: 0, label: "Today" },
|
||||||
@ -32,12 +36,12 @@
|
|||||||
variant: "outline",
|
variant: "outline",
|
||||||
class: "w-[280px] justify-start text-left font-normal"
|
class: "w-[280px] justify-start text-left font-normal"
|
||||||
}),
|
}),
|
||||||
!date && "text-muted-foreground",
|
!dateValue && "text-muted-foreground",
|
||||||
className
|
className
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
<CalendarIcon class="mr-2 size-4" />
|
<CalendarIcon class="mr-2 size-4" />
|
||||||
{date ? df.format(date.toDate(getLocalTimeZone())) : "Pick a date"}
|
{dateValue ? df.format(dateValue.toDate(getLocalTimeZone())) : "Pick a date"}
|
||||||
</Popover.Trigger>
|
</Popover.Trigger>
|
||||||
<Popover.Content class="flex w-auto flex-col space-y-2 p-2">
|
<Popover.Content class="flex w-auto flex-col space-y-2 p-2">
|
||||||
<Select.Root
|
<Select.Root
|
||||||
@ -46,7 +50,7 @@
|
|||||||
controlledValue
|
controlledValue
|
||||||
onValueChange={(v: string) => {
|
onValueChange={(v: string) => {
|
||||||
if (!v) return
|
if (!v) return
|
||||||
date = today(getLocalTimeZone()).add({ days: Number.parseInt(v) })
|
dateValue = today(getLocalTimeZone()).add({ days: Number.parseInt(v) })
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Select.Trigger>
|
<Select.Trigger>
|
||||||
@ -59,7 +63,7 @@
|
|||||||
</Select.Content>
|
</Select.Content>
|
||||||
</Select.Root>
|
</Select.Root>
|
||||||
<div class="rounded-md border">
|
<div class="rounded-md border">
|
||||||
<Calendar.Calendar type="single" bind:value={date} />
|
<Calendar.Calendar type="single" bind:value={dateValue} />
|
||||||
</div>
|
</div>
|
||||||
</Popover.Content>
|
</Popover.Content>
|
||||||
</Popover.Root>
|
</Popover.Root>
|
||||||
|
@ -4,8 +4,15 @@
|
|||||||
import { ArrowLeftIcon } from "lucide-svelte"
|
import { ArrowLeftIcon } from "lucide-svelte"
|
||||||
import Form from "./form.svelte"
|
import Form from "./form.svelte"
|
||||||
|
|
||||||
let { formViewContent, onGoBack }: { formViewContent: FormSchema.Form; onGoBack: () => void } =
|
let {
|
||||||
$props()
|
formViewContent,
|
||||||
|
onGoBack,
|
||||||
|
onSubmit
|
||||||
|
}: {
|
||||||
|
formViewContent: FormSchema.Form
|
||||||
|
onGoBack: () => void
|
||||||
|
onSubmit?: (formData: Record<string, string | number | boolean>) => void
|
||||||
|
} = $props()
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div data-tauri-drag-region class="h-12 w-full"></div>
|
<div data-tauri-drag-region class="h-12 w-full"></div>
|
||||||
@ -14,5 +21,5 @@
|
|||||||
</Button>
|
</Button>
|
||||||
<main class="container flex flex-col gap-2 pb-4">
|
<main class="container flex flex-col gap-2 pb-4">
|
||||||
<h1 class="text-2xl font-bold">{formViewContent.title}</h1>
|
<h1 class="text-2xl font-bold">{formViewContent.title}</h1>
|
||||||
<Form {formViewContent} />
|
<Form {formViewContent} {onSubmit} />
|
||||||
</main>
|
</main>
|
||||||
|
@ -1,14 +1,12 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import type { DateValue } from "@internationalized/date"
|
|
||||||
import { FormNodeNameEnum, FormSchema } from "@kksh/api/models"
|
import { FormNodeNameEnum, FormSchema } from "@kksh/api/models"
|
||||||
import { Button, Checkbox, Form, Input, Label, Select } from "@kksh/svelte5"
|
import { Button, Checkbox, Input, Label, Select } from "@kksh/svelte5"
|
||||||
import { DatePickerWithPreset, Shiki } from "@kksh/ui"
|
import { DatePickerWithPreset } from "@kksh/ui"
|
||||||
import { buildFormSchema, cn } from "@kksh/ui/utils"
|
import { buildFormSchema, cn } from "@kksh/ui/utils"
|
||||||
import { onMount, tick } from "svelte"
|
import { onMount } from "svelte"
|
||||||
import SuperDebug, { defaults, superForm } from "sveltekit-superforms"
|
import SuperDebug, { defaults, superForm } from "sveltekit-superforms"
|
||||||
import { valibot, valibotClient } from "sveltekit-superforms/adapters"
|
import { valibot, valibotClient } from "sveltekit-superforms/adapters"
|
||||||
import * as v from "valibot"
|
import * as v from "valibot"
|
||||||
import DatePicker from "../../common/date/DatePicker.svelte"
|
|
||||||
import TauriLink from "../../common/TauriLink.svelte"
|
import TauriLink from "../../common/TauriLink.svelte"
|
||||||
|
|
||||||
let {
|
let {
|
||||||
@ -37,16 +35,15 @@
|
|||||||
validators: valibotClient(formSchema),
|
validators: valibotClient(formSchema),
|
||||||
SPA: true,
|
SPA: true,
|
||||||
onUpdate({ form, cancel }) {
|
onUpdate({ form, cancel }) {
|
||||||
cancel()
|
|
||||||
console.log($formData)
|
|
||||||
if (!form.valid) return
|
if (!form.valid) return
|
||||||
|
cancel()
|
||||||
const parsedData = v.parse(formSchema, $formData)
|
const parsedData = v.parse(formSchema, $formData)
|
||||||
console.log(parsedData)
|
|
||||||
onSubmit?.(parsedData)
|
onSubmit?.(parsedData)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
const { form: formData, enhance, errors } = $derived(form)
|
const { form: formData, enhance, errors } = $derived(form)
|
||||||
|
$inspect(formData)
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{#snippet error(messages?: string[])}
|
{#snippet error(messages?: string[])}
|
||||||
@ -83,7 +80,7 @@
|
|||||||
/>
|
/>
|
||||||
{:else if field.nodeName === FormNodeNameEnum.Date}
|
{:else if field.nodeName === FormNodeNameEnum.Date}
|
||||||
{@const field2 = field as FormSchema.DateField}
|
{@const field2 = field as FormSchema.DateField}
|
||||||
<DatePickerWithPreset class="w-full" bind:value={$formData[field2.key]} />
|
<DatePickerWithPreset class="w-full" bind:date={$formData[field2.key]} />
|
||||||
{:else if field.nodeName === FormNodeNameEnum.Select}
|
{:else if field.nodeName === FormNodeNameEnum.Select}
|
||||||
{@const field2 = field as FormSchema.SelectField}
|
{@const field2 = field as FormSchema.SelectField}
|
||||||
<Select.Root type="single" name="favoriteFruit" bind:value={$formData[field2.key]}>
|
<Select.Root type="single" name="favoriteFruit" bind:value={$formData[field2.key]}>
|
||||||
@ -141,4 +138,6 @@
|
|||||||
<Button type="submit">{formViewContent.submitBtnText ?? "Submit"}</Button>
|
<Button type="submit">{formViewContent.submitBtnText ?? "Submit"}</Button>
|
||||||
</form>
|
</form>
|
||||||
{/key}
|
{/key}
|
||||||
<!-- <SuperDebug data={$formData} /> -->
|
{#if formViewContent.showFormDataDebug}
|
||||||
|
<SuperDebug data={$formData} />
|
||||||
|
{/if}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user