Pass data to a Modal Dialog
<Component name="Test">
<DataSource
id="team_members"
url="/api/team_members"
/>
<ModalDialog id="memberDetailsDialog" title="Team Member Details">
<VStack>
<!-- Avatar and Basic Info -->
<HStack>
<Avatar
url="{$param.avatar}"
size="lg"
name="{$param.name}"
/>
<VStack>
<Text variant="strong">{$param.name}</Text>
<Text variant="caption">{$param.role}</Text>
<Text variant="caption" color="blue">{$param.email}</Text>
</VStack>
</HStack>
<!-- Details Card -->
<Card>
<VStack>
<HStack>
<Text variant="strong">Department:</Text>
<Text>{$param.department}</Text>
</HStack>
<HStack>
<Text variant="strong">Start Date:</Text>
<Text>{$param.startDate}</Text>
</HStack>
<HStack>
<Text variant="strong">Employee ID:</Text>
<Text>#{$param.id}</Text>
</HStack>
</VStack>
</Card>
<!-- Actions -->
<HStack>
<Button
label="Send Email"
size="sm"
onClick="console.log('Email to:', $param.email)"
/>
<Button
label="View Calendar"
size="sm"
variant="secondary"
onClick="console.log('Calendar for:', $param.name)"
/>
</HStack>
</VStack>
</ModalDialog>
<Text variant="strong" marginBottom="1rem">Team Directory</Text>
<VStack>
<Items data="{team_members}">
<Card
cursor="pointer"
onClick="{
memberDetailsDialog.open({
id: $item.id,
name: $item.name,
role: $item.role,
email: $item.email,
avatar: $item.avatar,
department: $item.department,
startDate: $item.startDate
})
}"
>
<HStack>
<Avatar
url="{$item.avatar}"
size="sm"
name="{$item.name}"
/>
<VStack>
<Text variant="strong">{$item.name}</Text>
<Text variant="caption">{$item.role} - {$item.department}</Text>
</VStack>
</HStack>
</Card>
</Items>
</VStack>
</Component>Click on a team member to edit details
<Component name="Test">
<DataSource
id="team_members"
url="/api/team_members"
/>
<ModalDialog id="memberDetailsDialog" title="Team Member Details">
<VStack>
<!-- Avatar and Basic Info -->
<HStack>
<Avatar
url="{$param.avatar}"
size="lg"
name="{$param.name}"
/>
<VStack>
<Text variant="strong">{$param.name}</Text>
<Text variant="caption">{$param.role}</Text>
<Text variant="caption" color="blue">{$param.email}</Text>
</VStack>
</HStack>
<!-- Details Card -->
<Card>
<VStack>
<HStack>
<Text variant="strong">Department:</Text>
<Text>{$param.department}</Text>
</HStack>
<HStack>
<Text variant="strong">Start Date:</Text>
<Text>{$param.startDate}</Text>
</HStack>
<HStack>
<Text variant="strong">Employee ID:</Text>
<Text>#{$param.id}</Text>
</HStack>
</VStack>
</Card>
<!-- Actions -->
<HStack>
<Button
label="Send Email"
size="sm"
onClick="console.log('Email to:', $param.email)"
/>
<Button
label="View Calendar"
size="sm"
variant="secondary"
onClick="console.log('Calendar for:', $param.name)"
/>
</HStack>
</VStack>
</ModalDialog>
<Text variant="strong" marginBottom="1rem">Team Directory</Text>
<VStack>
<Items data="{team_members}">
<Card
cursor="pointer"
onClick="{
memberDetailsDialog.open({
id: $item.id,
name: $item.name,
role: $item.role,
email: $item.email,
avatar: $item.avatar,
department: $item.department,
startDate: $item.startDate
})
}"
>
<HStack>
<Avatar
url="{$item.avatar}"
size="sm"
name="{$item.name}"
/>
<VStack>
<Text variant="strong">{$item.name}</Text>
<Text variant="caption">{$item.role} - {$item.department}</Text>
</VStack>
</HStack>
</Card>
</Items>
</VStack>
</Component>