Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .changeset/fuzzy-houses-notice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@ensembleui/react-kitchen-sink": patch
"@ensembleui/react-runtime": patch
---

Added support for dynamic searchKey in search widget
2 changes: 2 additions & 0 deletions apps/kitchen-sink/src/ensemble/screens/home.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ View:
header:
title:
Header:
inputs:
searchKey: id

styles:
className: topView
Expand Down
5 changes: 3 additions & 2 deletions apps/kitchen-sink/src/ensemble/widgets/Header.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
Widget:
inputs:
- message
- searchKey
onLoad:
executeCode:
executeCode:
body: |
console.log("hello from header", message);
onComplete:
Expand Down Expand Up @@ -42,7 +43,7 @@ Widget:
template:
Text:
text: ${user.firstName + ' ' + user.lastName}
searchKey: id
searchKey: ${searchKey}
onSearch:
invokeAPI:
name: findUsers
Expand Down
8 changes: 4 additions & 4 deletions packages/runtime/src/widgets/Search.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ export const Search: React.FC<SearchProps> = ({
});

const { id, rootRef, values } = useRegisterBindings(
{ styles, value, ...rest, widgetName, initialValue },
{ styles, value, ...rest, widgetName, initialValue, searchKey },
rest.id,
{
setValue,
Expand All @@ -81,12 +81,12 @@ export const Search: React.FC<SearchProps> = ({
(option: unknown): string | number => {
return get(
option,
searchKey
? [itemTemplate?.name ?? "", searchKey]
values?.searchKey
? [itemTemplate?.name ?? "", values.searchKey]
: [(itemTemplate?.value || itemTemplate?.name) ?? ""],
) as string | number;
},
[itemTemplate?.name, itemTemplate?.value, searchKey],
[itemTemplate?.name, itemTemplate?.value, values?.searchKey],
);

const renderOptions = useMemo(() => {
Expand Down
Loading