magnetar/fe_calckey/frontend/client/src/widgets/post-form.vue

47 lines
1.2 KiB
Vue
Raw Normal View History

2023-07-07 19:22:30 +00:00
<template>
<XPostForm
class="_panel mkw-postForm"
:fixed="true"
:autofocus="false"
:show-mfm-cheat-sheet="true"
/>
2023-07-07 19:22:30 +00:00
</template>
<script lang="ts" setup>
import {} from "vue";
import { GetFormResultType } from "@/scripts/form";
import {
useWidgetPropsManager,
Widget,
WidgetComponentEmits,
WidgetComponentExpose,
WidgetComponentProps,
2023-07-07 19:22:30 +00:00
} from "./widget";
import XPostForm from "@/components/MkPostForm.vue";
const name = "postForm";
const widgetPropsDef = {};
type WidgetProps = GetFormResultType<typeof widgetPropsDef>;
// 現時点ではvueの制限によりimportしたtypeをジェネリックに渡せない
//const props = defineProps<WidgetComponentProps<WidgetProps>>();
//const emit = defineEmits<WidgetComponentEmits<WidgetProps>>();
const props = defineProps<{ widget?: Widget<WidgetProps> }>();
const emit = defineEmits<{ (ev: "updateProps", props: WidgetProps) }>();
const { widgetProps, configure } = useWidgetPropsManager(
name,
widgetPropsDef,
props,
2024-04-08 01:10:23 +00:00
emit,
2023-07-07 19:22:30 +00:00
);
defineExpose<WidgetComponentExpose>({
name,
configure,
id: props.widget ? props.widget.id : null,
2023-07-07 19:22:30 +00:00
});
</script>