fix: template defects
This commit is contained in:
@@ -1,17 +1,21 @@
|
||||
import {
|
||||
useCreateMarkdownTemplateSetting,
|
||||
useMarkdownTemplate,
|
||||
useMarkdownTemplates,
|
||||
useMarkdownTemplateSetting, useUpdateMarkdownTemplateSetting
|
||||
} from "../../../utils/queries/template-queries";
|
||||
import {useState} from "react";
|
||||
import {useUpdateMarkdownSetting} from "../../../utils/queries/setting-queries";
|
||||
} from "../../../utils/queries/markdown-template-queries";
|
||||
import {
|
||||
useCreateMarkdownTemplateSetting,
|
||||
useMarkdownTemplateSetting,
|
||||
useUpdateMarkdownTemplateSetting
|
||||
} from "../../../utils/queries/markdown-template-setting-queries";
|
||||
import React, {useEffect, useState} from "react";
|
||||
import {useUpdateMarkdownSetting} from "../../../utils/queries/markdown-setting-queries";
|
||||
|
||||
const MarkdownTemplateSettingPanel = ({markdownSetting, onClose}) => {
|
||||
const {data: setting, isFetching: settingIsFetching } = useMarkdownTemplateSetting(markdownSetting.template_setting_id || 0);
|
||||
const {data: setting, isFetching: settingIsFetching } = useMarkdownTemplateSetting(markdownSetting?.template_setting_id);
|
||||
const {data: templates, isFetching: templatesAreFetching}=useMarkdownTemplates();
|
||||
const {data: template, isFetching: templateIsFetching} = useMarkdownTemplate(setting?.template_id);
|
||||
const [selectedTemplate, setSelectedTemplate] = useState(template);
|
||||
const [selectedTemplateId, setSelectedTemplateId] = useState(template?.id ?? undefined);
|
||||
const [selectedTemplate, setSelectedTemplate] = useState(templates?.find(t => t.id === selectedTemplateId) || undefined);
|
||||
|
||||
const createMarkdownTemplateSetting = useCreateMarkdownTemplateSetting();
|
||||
const updateMarkdownSetting = useUpdateMarkdownSetting();
|
||||
@@ -33,7 +37,7 @@ const MarkdownTemplateSettingPanel = ({markdownSetting, onClose}) => {
|
||||
updateMarkdownTemplateSetting.mutate({
|
||||
id: setting.id,
|
||||
data: {
|
||||
template_id: selectedTemplate.id,
|
||||
template_id: selectedTemplateId,
|
||||
}
|
||||
}, {
|
||||
onSuccess: () => alert("Saved"),
|
||||
@@ -42,9 +46,17 @@ const MarkdownTemplateSettingPanel = ({markdownSetting, onClose}) => {
|
||||
onClose();
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
if(template?.id && selectedTemplateId === undefined) {
|
||||
setSelectedTemplateId(template?.id ?? undefined);
|
||||
setSelectedTemplate(templates?.find(t => t.id === selectedTemplateId) || undefined);
|
||||
}
|
||||
},[template, selectedTemplateId]);
|
||||
if (settingIsFetching || templatesAreFetching || templatesAreFetching || templateIsFetching) {
|
||||
return (<p>Loading...</p>);
|
||||
}
|
||||
console.log("template", template);
|
||||
console.log("selectedTemplateId", selectedTemplateId);
|
||||
return setting ? (
|
||||
<div className="box" style={{marginTop: "1rem"}}>
|
||||
<h4 className="title is-5">Template Setting</h4>
|
||||
@@ -52,12 +64,14 @@ const MarkdownTemplateSettingPanel = ({markdownSetting, onClose}) => {
|
||||
<label className="label">Use Template</label>
|
||||
<div className="select is-fullwidth">
|
||||
<select
|
||||
value={selectedTemplate.title}
|
||||
onChange={(e) => setSelectedTemplate(e.target.value)}
|
||||
value={selectedTemplateId}
|
||||
onChange={(e) => {
|
||||
setSelectedTemplateId(e.target.value);
|
||||
}}
|
||||
>
|
||||
<option value="">(default)</option>
|
||||
{templates.map((_template, index) => (
|
||||
<option key={index} value={_template}>{_template.title}</option>
|
||||
<option key={index} value={_template.id}>{_template.title}</option>
|
||||
))}
|
||||
|
||||
</select>
|
||||
@@ -77,7 +91,7 @@ const MarkdownTemplateSettingPanel = ({markdownSetting, onClose}) => {
|
||||
type="button"
|
||||
onClick={handleCreateTemplateSetting}
|
||||
>
|
||||
Create Template Setting
|
||||
Create Template Setting
|
||||
</button>
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user