feat: dialog headers
This commit is contained in:
@@ -24,6 +24,7 @@ const props = defineProps<{
|
|||||||
validate: Validate<T>
|
validate: Validate<T>
|
||||||
items: T[]
|
items: T[]
|
||||||
load(): Promise<T[]>
|
load(): Promise<T[]>
|
||||||
|
name?: string
|
||||||
}>()
|
}>()
|
||||||
|
|
||||||
type Key = keyof T
|
type Key = keyof T
|
||||||
@@ -64,6 +65,9 @@ async function handleSave() {
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<Dialog v-model:visible="showCreate">
|
<Dialog v-model:visible="showCreate">
|
||||||
|
<template #header>
|
||||||
|
<h1>{{ props.updateMode ? 'Изменить' : 'Создать' }} {{ props.name?.toLowerCase() }}</h1>
|
||||||
|
</template>
|
||||||
<div class="flex flex-col justify-start gap-5 min-h-[40vh]">
|
<div class="flex flex-col justify-start gap-5 min-h-[40vh]">
|
||||||
<div v-for="key in keys" v-show="!props.scheme[key].hidden && !props.scheme[key].readonly"
|
<div v-for="key in keys" v-show="!props.scheme[key].hidden && !props.scheme[key].readonly"
|
||||||
class="flex items-center gap-5">
|
class="flex items-center gap-5">
|
||||||
|
|||||||
@@ -80,6 +80,7 @@ watch(() => props.items, () => {
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<DialogWindow
|
<DialogWindow
|
||||||
|
:name
|
||||||
:load
|
:load
|
||||||
:items
|
:items
|
||||||
:validate
|
:validate
|
||||||
@@ -99,6 +100,7 @@ watch(() => props.items, () => {
|
|||||||
</template>
|
</template>
|
||||||
</DialogWindow>
|
</DialogWindow>
|
||||||
<DialogWindow
|
<DialogWindow
|
||||||
|
:name
|
||||||
:load
|
:load
|
||||||
:items
|
:items
|
||||||
:validate
|
:validate
|
||||||
|
|||||||
Reference in New Issue
Block a user