Skip to content

Commit 015a8ef

Browse files
authored
Merge pull request #139 from code0-tech/feat/#138
Fallback translations need to be reworked
2 parents 0abcc8b + d33c81d commit 015a8ef

10 files changed

Lines changed: 47 additions & 18 deletions

File tree

src/packages/ce/src/datatype/components/badges/NodeBadgeComponent.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {FlowService} from "@edition/flow/services/Flow.service";
1212
import {FlowTypeService} from "@edition/flowtype/services/FlowType.service";
1313
import {useParams} from "next/navigation";
1414
import {icon, IconString} from "@core/util/icons";
15+
import {FALLBACK_FLOW_TYPE_NAME, FALLBACK_FUNCTION_NAME} from "@core/util/fallback-translations";
1516

1617
export interface NodeBadgeComponentProps extends Omit<BadgeType, 'value' | 'children'> {
1718
value: NodeFunction | NodeFunctionIdWrapper
@@ -45,11 +46,11 @@ export const NodeBadgeComponent: React.FC<NodeBadgeComponentProps> = (props) =>
4546

4647
const name = React.useMemo(() => {
4748
if (definition) {
48-
return definition.names?.[0]?.content
49+
return definition.names?.[0]?.content ?? definition.__typename === "FunctionDefinition" ? FALLBACK_FUNCTION_NAME : FALLBACK_FLOW_TYPE_NAME
4950
} else if (isTrigger && node?.__typename === "FlowType") {
50-
return node.names?.[0]?.content
51+
return node.names?.[0]?.content ?? FALLBACK_FLOW_TYPE_NAME
5152
}
52-
return (functionService as FunctionService).getById((node as NodeFunction)?.functionDefinition?.id)?.names?.[0]?.content
53+
return (functionService as FunctionService).getById((node as NodeFunction)?.functionDefinition?.id)?.names?.[0]?.content ?? FALLBACK_FUNCTION_NAME
5354
}, [functionStore, node])
5455

5556
const lDefinition = React.useMemo(

src/packages/ce/src/flow/components/FlowCreateDialogComponent.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import {RuntimeService} from "@edition/runtime/services/Runtime.service";
3737
import {FlowService} from "@edition/flow/services/Flow.service";
3838
import Link from "next/link";
3939
import {icon, IconString} from "@core/util/icons";
40+
import {FALLBACK_FLOW_TYPE_NAME} from "@core/util/fallback-translations";
4041

4142
export interface FlowCreateDialogComponentProps {
4243
open?: boolean
@@ -207,7 +208,7 @@ export const FlowCreateDialogComponent: React.FC<FlowCreateDialogComponentProps>
207208
{selectedFlowTypeId ?
208209
<SelectedFlowTypeDisplayIcon size={12}
209210
color={hashToColor(selectedFlowTypeId)}/> : null}
210-
{selectedFlowType ? selectedFlowType?.names?.[0]?.content ?? "Missing name" : "Select trigger"}
211+
{selectedFlowType ? selectedFlowType?.names?.[0]?.content ?? FALLBACK_FLOW_TYPE_NAME : "Select trigger"}
211212
</Button>
212213
</MenuTrigger>
213214
<MenuPortal>
@@ -224,7 +225,7 @@ export const FlowCreateDialogComponent: React.FC<FlowCreateDialogComponentProps>
224225
setSelectedFlowTypeId(flowType.id)
225226
}}>
226227
<DisplayIcon size={16}/>
227-
{flowType.names?.[0]?.content ?? "Missing name"}
228+
{flowType.names?.[0]?.content ?? FALLBACK_FLOW_TYPE_NAME}
228229
</MenuItem>
229230
})}
230231
</Card>

src/packages/ce/src/flow/components/folder/FlowFolderContextMenuComponent.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
} from "@code0-tech/pictor/dist/components/context-menu/ContextMenu";
1717
import {Flex, Text, useService, useStore} from "@code0-tech/pictor";
1818
import {FlowTypeService} from "@edition/flowtype/services/FlowType.service";
19+
import {FALLBACK_FLOW_TYPE_NAME} from "@core/util/fallback-translations";
1920

2021
export interface FlowFolderContextMenuComponentGroupData {
2122
name: string
@@ -63,7 +64,7 @@ export const FlowFolderContextMenuComponent: React.FC<FlowFolderContextMenuCompo
6364
return <ContextMenuItem key={flowType.id} onSelect={() => {
6465
props.onCreate?.(flowType.id)
6566
}}>
66-
{flowType.names!![0]?.content ?? flowType.id}
67+
{flowType.names?.[0]?.content ?? FALLBACK_FLOW_TYPE_NAME}
6768
</ContextMenuItem>
6869
})}
6970
</ContextMenuSubContent>

src/packages/ce/src/flow/hooks/Flow.edges.hook.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {FlowService} from "@edition/flow/services/Flow.service";
66
import {FunctionService} from "@edition/function/services/Function.service";
77
import {DatatypeService} from "@edition/datatype/services/Datatype.service";
88
import {DataTypeVariant, getTypesFromFunction, getTypesFromNode, getTypeVariant} from "@code0-tech/triangulum";
9+
import {FALLBACK_FUNCTION_PARAMETER_NAME} from "@core/util/fallback-translations";
910

1011
// @ts-ignore
1112
export const useEdges = (flowId: Flow['id'], namespaceId?: Namespace['id'], projectId?: NamespaceProject['id']): Edge<DFlowEdgeDataProps>[] => {
@@ -108,7 +109,7 @@ export const useEdges = (flowId: Flow['id'], namespaceId?: Namespace['id'], proj
108109
deletable: false,
109110
selectable: false,
110111
animated: true,
111-
label: parameterDefinition?.names!![0]?.content ?? index,
112+
label: parameterDefinition?.names!![0]?.content ?? FALLBACK_FUNCTION_PARAMETER_NAME,
112113
data: {
113114
color: hashToColor(parameterValue?.id || ""),
114115
type: 'group',

src/packages/ce/src/function/components/files/FunctionFileDefaultComponent.tsx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ import {useFlowValidation} from "@edition/flow/hooks/Flow.validation.hook";
1212
import {FunctionService} from "@edition/function/services/Function.service";
1313
import {FlowService} from "@edition/flow/services/Flow.service";
1414
import {DataTypeInputComponent} from "@edition/datatype/components/inputs/DataTypeInputComponent";
15+
import {
16+
FALLBACK_FUNCTION_PARAMETER_DESCRIPTION,
17+
FALLBACK_FUNCTION_PARAMETER_NAME
18+
} from "@core/util/fallback-translations";
1519

1620
export interface FunctionFileDefaultComponentProps {
1721
node: NodeFunction
@@ -51,7 +55,7 @@ export const FunctionFileDefaultComponent: React.FC<FunctionFileDefaultComponent
5155
values[index] = (_: any) => {
5256
const validationForParameter = validation?.find(v => v.parameterIndex === index && v.nodeId === node.id)
5357
if (validationForParameter) {
54-
return validationForParameter.message!![0]?.content || "Invalid value"
58+
return validationForParameter.message?.[0]?.content ?? "Invalid value"
5559
}
5660
return null
5761
}
@@ -121,8 +125,8 @@ export const FunctionFileDefaultComponent: React.FC<FunctionFileDefaultComponent
121125

122126
if (!parameterDefinition) return null
123127

124-
const title = parameterDefinition?.names ? parameterDefinition?.names!![0]?.content : parameterDefinition?.id
125-
const description = parameterDefinition?.descriptions ? parameterDefinition?.descriptions!![0]?.content : JSON.stringify(parameterDefinition.identifier)
128+
const title = parameterDefinition?.names?.[0]?.content ?? FALLBACK_FUNCTION_PARAMETER_NAME
129+
const description = parameterDefinition?.descriptions?.[0]?.content ?? FALLBACK_FUNCTION_PARAMETER_DESCRIPTION
126130

127131
return <div>
128132
{/*@ts-ignore*/}

src/packages/ce/src/function/components/files/FunctionFileTriggerComponent.tsx

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ import {useFlowValidation} from "@edition/flow/hooks/Flow.validation.hook";
77
import {DataTypeInputComponent} from "@edition/datatype/components/inputs/DataTypeInputComponent";
88
import {getTypesFromFunction} from "@code0-tech/triangulum";
99
import {DataTypeTypeInputComponent} from "@edition/datatype/components/inputs/datatype/DataTypeTypeInputComponent";
10+
import {
11+
FALLBACK_FLOW_TYPE_DESCRIPTION,
12+
FALLBACK_FLOW_TYPE_SETTING_DESCRIPTION,
13+
FALLBACK_FLOW_TYPE_SETTING_NAME
14+
} from "@core/util/fallback-translations";
1015

1116
export interface FunctionFileTriggerComponentProps {
1217
instance: Flow
@@ -48,7 +53,7 @@ export const FunctionFileTriggerComponent: React.FC<FunctionFileTriggerComponent
4853
values[index] = (_: any) => {
4954
const validationForSetting = validation?.find(v => v.parameterIndex === index && !v.nodeId)
5055
if (validationForSetting) {
51-
return validationForSetting.message!![0]?.content || "Invalid value"
56+
return validationForSetting.message?.[0]?.content || "Invalid value"
5257
}
5358
return null
5459
}
@@ -104,8 +109,8 @@ export const FunctionFileTriggerComponent: React.FC<FunctionFileTriggerComponent
104109

105110
if (!settingDefinition) return null
106111

107-
const title = settingDefinition.names!![0]?.content ?? ""
108-
const description = settingDefinition?.descriptions!![0]?.content ?? ""
112+
const title = settingDefinition.names?.[0]?.content ?? FALLBACK_FLOW_TYPE_SETTING_NAME
113+
const description = settingDefinition?.descriptions?.[0]?.content ?? FALLBACK_FLOW_TYPE_SETTING_DESCRIPTION
109114

110115
return <div>
111116
{/*@ts-ignore*/}

src/packages/ce/src/function/components/nodes/FunctionNodeDefaultComponent.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import {FunctionFileDefaultComponent} from "@edition/function/components/files/F
1515
import {NodeFunction} from "@code0-tech/sagittarius-graphql-types";
1616
import {underlineBySeverity} from "@core/util/inspection";
1717
import {icon, IconString} from "@core/util/icons";
18+
import {FALLBACK_FUNCTION_DISPLAY_MESSAGE, FALLBACK_FUNCTION_NAME} from "@core/util/fallback-translations";
1819

1920
export type FunctionNodeDefaultComponentProps = NodeProps<Node<FunctionNodeComponentProps>>
2021

@@ -70,7 +71,7 @@ export const FunctionNodeDefaultComponent: React.FC<FunctionNodeDefaultComponent
7071
.flatMap(p => p.trim() === "," ? [","] : p.trim() ? [p.trim()] : [])
7172
);
7273

73-
const displayMessage = React.useMemo(() => splitTemplate(definition?.displayMessages!![0]?.content ?? "").map(item => {
74+
const displayMessage = React.useMemo(() => splitTemplate(definition?.displayMessages?.[0]?.content ?? FALLBACK_FUNCTION_DISPLAY_MESSAGE).map(item => {
7475
const nodeParameter = node?.parameters?.nodes?.find(p => {
7576
const parameterDefinition = definition?.parameterDefinitions?.nodes?.find(pd => pd?.id == p?.parameterDefinition?.id)
7677
return parameterDefinition?.identifier == item
@@ -126,7 +127,7 @@ export const FunctionNodeDefaultComponent: React.FC<FunctionNodeDefaultComponent
126127
closeable: true,
127128
children: <>
128129
<DisplayIcon color={data.color} size={12}/>
129-
<Text size={"sm"}>{definition?.names!![0]?.content}</Text>
130+
<Text size={"sm"}>{definition?.names?.[0]?.content ?? FALLBACK_FUNCTION_NAME}</Text>
130131
</>,
131132
content: <FunctionFileDefaultComponent flowId={props.data.flowId} node={node}/>
132133
})

src/packages/ce/src/function/components/nodes/FunctionNodeTriggerComponent.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {IconVariable} from "@tabler/icons-react";
99
import {FunctionFileTriggerComponent} from "@edition/function/components/files/FunctionFileTriggerComponent";
1010
import {NodeFunction} from "@code0-tech/sagittarius-graphql-types";
1111
import {icon, IconString} from "@core/util/icons";
12+
import {FALLBACK_FLOW_TYPE_DISPLAY_MESSAGE, FALLBACK_FLOW_TYPE_NAME} from "@core/util/fallback-translations";
1213

1314

1415
export type FunctionNodeTriggerComponentProps = NodeProps<Node<FunctionNodeComponentProps>>
@@ -35,7 +36,7 @@ export const FunctionNodeTriggerComponent: React.FC<FunctionNodeTriggerComponent
3536
closeable: true,
3637
children: <>
3738
<DisplayIcon color={data.color} size={12}/>
38-
<Text size={"sm"}>{definition?.names!![0]?.content}</Text>
39+
<Text size={"sm"}>{definition?.names?.[0]?.content ?? FALLBACK_FLOW_TYPE_NAME}</Text>
3940
</>,
4041
content: <FunctionFileTriggerComponent instance={flow}/>,
4142
show: true
@@ -82,7 +83,7 @@ export const FunctionNodeTriggerComponent: React.FC<FunctionNodeTriggerComponent
8283
<Flex style={{gap: "0.7rem"}} align={"center"}>
8384
<DisplayIcon color={data.color} size={16}/>
8485
<Text display={"block"}>
85-
{definition?.displayMessages!![0]?.content ?? definition?.id}
86+
{definition?.displayMessages?.[0]?.content ?? FALLBACK_FLOW_TYPE_DISPLAY_MESSAGE}
8687
</Text>
8788
</Flex>
8889

src/packages/ce/src/function/hooks/FunctionNodeSuggestions.hook.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {DatatypeService} from "@edition/datatype/services/Datatype.service";
88
import React, {startTransition} from "react";
99
import {useNodeSuggestionsAction} from "@edition/flow/components/FlowWorkerProvider";
1010
import {icon, IconString} from "@core/util/icons";
11+
import {FALLBACK_FUNCTION_NAME} from "@core/util/fallback-translations";
1112

1213
export const useNodeSuggestions = (
1314
type?: string,
@@ -59,7 +60,7 @@ export const useNodeSuggestions = (
5960
return {
6061
path: [],
6162
type: FunctionSuggestionType.FUNCTION,
62-
displayText: [functionDefinition?.names![0]?.content as string],
63+
displayText: [functionDefinition?.names?.[0]?.content ?? FALLBACK_FUNCTION_NAME],
6364
value: suggestion,
6465
icon: <DisplayIcon color="#70ffb2" size={16}/>
6566
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
export const FALLBACK_FLOW_TYPE_NAME = "No trigger name available"
2+
export const FALLBACK_FLOW_TYPE_DESCRIPTION = "No trigger description available"
3+
export const FALLBACK_FLOW_TYPE_DISPLAY_MESSAGE = "No trigger display message available"
4+
5+
export const FALLBACK_FLOW_TYPE_SETTING_NAME = "No trigger setting name available"
6+
export const FALLBACK_FLOW_TYPE_SETTING_DESCRIPTION = "No trigger setting description available"
7+
8+
export const FALLBACK_FUNCTION_NAME = "No function name available"
9+
export const FALLBACK_FUNCTION_DESCRIPTION = "No function description available"
10+
export const FALLBACK_FUNCTION_DISPLAY_MESSAGE = "No function display message available"
11+
12+
export const FALLBACK_FUNCTION_PARAMETER_NAME = "No function parameter name available"
13+
export const FALLBACK_FUNCTION_PARAMETER_DESCRIPTION = "No function parameter description available"

0 commit comments

Comments
 (0)