Render Note instance in forms

This commit is contained in:
Oliver Walters
2026-06-14 00:48:05 +00:00
parent b06f47815d
commit cc36bfb8e4
5 changed files with 26 additions and 3 deletions
@@ -325,5 +325,12 @@ export const ModelInformationDict: ModelDict = {
label_multiple: () => t`Tags`, label_multiple: () => t`Tags`,
api_endpoint: ApiEndpoints.tag_list, api_endpoint: ApiEndpoints.tag_list,
icon: 'tag' icon: 'tag'
},
notetemplate: {
label: () => t`Note Template`,
label_multiple: () => t`Note Templates`,
url_overview: '/settings/admin/notes',
api_endpoint: ApiEndpoints.note_list,
icon: 'notes'
} }
}; };
+2 -1
View File
@@ -39,7 +39,8 @@ export enum ModelType {
selectionlist = 'selectionlist', selectionlist = 'selectionlist',
selectionentry = 'selectionentry', selectionentry = 'selectionentry',
error = 'error', error = 'error',
tag = 'tag' tag = 'tag',
notetemplate = 'notetemplate'
} }
export enum PluginPanelKey { export enum PluginPanelKey {
@@ -58,6 +58,7 @@ import {
RenderSelectionList, RenderSelectionList,
RenderTag RenderTag
} from './Generic'; } from './Generic';
import { RenderNoteTemplate } from './Note';
import { import {
RenderPurchaseOrder, RenderPurchaseOrder,
RenderReturnOrder, RenderReturnOrder,
@@ -118,7 +119,8 @@ export const RendererLookup: ModelRendererDict = {
[ModelType.selectionlist]: RenderSelectionList, [ModelType.selectionlist]: RenderSelectionList,
[ModelType.selectionentry]: RenderSelectionEntry, [ModelType.selectionentry]: RenderSelectionEntry,
[ModelType.error]: RenderError, [ModelType.error]: RenderError,
[ModelType.tag]: RenderTag [ModelType.tag]: RenderTag,
[ModelType.notetemplate]: RenderNoteTemplate
}; };
/** /**
@@ -0,0 +1,13 @@
import type { ReactNode } from 'react';
import { RenderInlineModel } from './Instance';
export function RenderNoteTemplate({
instance
}: Readonly<{
instance: any;
}>): ReactNode {
return (
<RenderInlineModel primary={instance.title} suffix={instance.description} />
);
}
+1 -1
View File
@@ -345,13 +345,13 @@ export function useNoteFields({
field_type: 'related field', field_type: 'related field',
label: t`From Template`, label: t`From Template`,
description: t`Optionally pre-fill this note from an existing template`, description: t`Optionally pre-fill this note from an existing template`,
model: ModelType.notetemplate,
api_url: apiUrl(ApiEndpoints.note_list), api_url: apiUrl(ApiEndpoints.note_list),
filters: { filters: {
template: true, template: true,
model_type: modelType model_type: modelType
}, },
pk_field: 'pk', pk_field: 'pk',
render_description_field: 'description',
required: false, required: false,
onValueChange: (value: any) => fetchTemplate(value), onValueChange: (value: any) => fetchTemplate(value),
value: null value: null