From 208f7b63df726ebee97591fdd9cefbfe73e9607e Mon Sep 17 00:00:00 2001 From: ValueOn AG Date: Tue, 21 Apr 2026 23:56:19 +0200 Subject: [PATCH] ui build fix --- src/api/workflowApi.ts | 3 ++- src/components/FlowEditor/editor/NodeConfigPanel.tsx | 9 +++++++-- src/components/FolderTree/actions/registry.ts | 4 ++-- src/pages/basedata/PromptsPage.tsx | 2 ++ src/pages/views/redmine/RedmineBrowserView.tsx | 9 --------- src/utils/attributeTypeMapper.ts | 3 ++- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/api/workflowApi.ts b/src/api/workflowApi.ts index 8c7a9e2..de467e5 100644 --- a/src/api/workflowApi.ts +++ b/src/api/workflowApi.ts @@ -26,7 +26,8 @@ export interface NodeTypeParameter { export interface PortField { name: string; type: string; - description: Record; + /** Plain string or per-language map from the API catalog. */ + description: string | Record; required: boolean; } diff --git a/src/components/FlowEditor/editor/NodeConfigPanel.tsx b/src/components/FlowEditor/editor/NodeConfigPanel.tsx index 48ab651..8265257 100644 --- a/src/components/FlowEditor/editor/NodeConfigPanel.tsx +++ b/src/components/FlowEditor/editor/NodeConfigPanel.tsx @@ -128,6 +128,7 @@ export const NodeConfigPanel: React.FC = ({ node, schemaNames={def?.accepts ?? []} catalog={portTypeCatalog} emptyLabel={t('keine Felder')} + language={language} /> ))} @@ -144,6 +145,7 @@ export const NodeConfigPanel: React.FC = ({ node, schemaNames={def?.schema ? [def.schema] : []} catalog={portTypeCatalog} emptyLabel={t('keine Felder')} + language={language} /> ))} @@ -175,9 +177,10 @@ interface _PortFieldListProps { schemaNames: string[]; catalog: Record; emptyLabel: string; + language: string; } -const _PortFieldList: React.FC<_PortFieldListProps> = ({ portIndex, schemaNames, catalog, emptyLabel }) => { +const _PortFieldList: React.FC<_PortFieldListProps> = ({ portIndex, schemaNames, catalog, emptyLabel, language }) => { if (!schemaNames.length) return null; return (
@@ -209,7 +212,9 @@ const _PortFieldList: React.FC<_PortFieldListProps> = ({ portIndex, schemaNames, {`: ${f.type}`} {!f.required && {' (optional)'}} {f.description && ( -
{f.description}
+
+ {getLabel(f.description, language)} +
)} ))} diff --git a/src/components/FolderTree/actions/registry.ts b/src/components/FolderTree/actions/registry.ts index 0ba618c..c2b83bb 100644 --- a/src/components/FolderTree/actions/registry.ts +++ b/src/components/FolderTree/actions/registry.ts @@ -43,14 +43,14 @@ export interface ResolvedActions { drag: FileAction[]; } -const _IDENTITY: BuiltinCallbacks['t'] = (s) => s; +const _IDENTITY: NonNullable = (s) => s; /** Built-in-Definitionen, die aus den heute hartcodierten Callbacks abgeleitet werden. * Diese erscheinen NUR in den neuen Kanälen (Menu, Sheet, Shortcut) — die Inline-Icons * werden weiterhin direkt vom FolderTree-Renderer gezeichnet, damit die bestehende * "Stable-Trio + dynamische Aktionen"-Logik unangetastet bleibt. */ function _buildBuiltins(cb: BuiltinCallbacks): FileAction[] { - const t = cb.t ?? _IDENTITY; + const t: NonNullable = cb.t ?? _IDENTITY; const list: FileAction[] = []; if (cb.onSendToChat) { diff --git a/src/pages/basedata/PromptsPage.tsx b/src/pages/basedata/PromptsPage.tsx index ff359d0..ae55350 100644 --- a/src/pages/basedata/PromptsPage.tsx +++ b/src/pages/basedata/PromptsPage.tsx @@ -102,6 +102,8 @@ export const PromptsPage: React.FC = () => { maxWidth: 250, fkSource: '/api/users/', fkDisplayField: 'username', + frontendFormat: undefined, + frontendFormatLabels: undefined, }); return cols; diff --git a/src/pages/views/redmine/RedmineBrowserView.tsx b/src/pages/views/redmine/RedmineBrowserView.tsx index de00d61..cce9851 100644 --- a/src/pages/views/redmine/RedmineBrowserView.tsx +++ b/src/pages/views/redmine/RedmineBrowserView.tsx @@ -36,7 +36,6 @@ import { Forest, FlatRow, ORPHAN_ROOT_ID, - TreeNode, buildForest, collectAllIds, flattenForest, @@ -313,14 +312,6 @@ export const RedmineBrowserView: React.FC = () => { }); }, []); - const _toggleAssignee = useCallback((id: number) => { - setSelectedAssigneeIds(prev => { - const next = new Set(prev); - if (next.has(id)) next.delete(id); else next.add(id); - return next; - }); - }, []); - const _toggleRelType = useCallback((rt: string) => { setSelectedRelTypes(prev => { const next = new Set(prev); diff --git a/src/utils/attributeTypeMapper.ts b/src/utils/attributeTypeMapper.ts index 658b304..f9e3517 100644 --- a/src/utils/attributeTypeMapper.ts +++ b/src/utils/attributeTypeMapper.ts @@ -8,7 +8,8 @@ export type AttributeType = | 'select' | 'multiselect' | 'multilingual' - | 'integer' + | 'integer' + | 'int' | 'float' | 'number' | 'timestamp'