{:else if type === SEARCH_ATTRIBUTE_TYPE.INT || type === SEARCH_ATTRIBUTE_TYPE.DOUBLE}
+ {:else if type === SEARCH_ATTRIBUTE_TYPE.KEYWORDLIST}
+
{:else}
{/if}
diff --git a/src/lib/components/workflow/search-attribute-input/list-input.svelte b/src/lib/components/workflow/search-attribute-input/list-input.svelte
new file mode 100644
index 000000000..5761438db
--- /dev/null
+++ b/src/lib/components/workflow/search-attribute-input/list-input.svelte
@@ -0,0 +1,33 @@
+
+
+
+ translate('workflows.remove-keyword-label', { keyword: chip })}
+/>
diff --git a/src/lib/components/workflow/search-attribute-input/number-input.svelte b/src/lib/components/workflow/search-attribute-input/number-input.svelte
index d7081f24e..d3575b1c1 100644
--- a/src/lib/components/workflow/search-attribute-input/number-input.svelte
+++ b/src/lib/components/workflow/search-attribute-input/number-input.svelte
@@ -12,7 +12,7 @@
value = _value;
});
- function getValue(value: number | string) {
+ function getValue(value: SearchAttributeInputValue) {
const _numValue = Number(value);
const isZero = value === 0 || value === '0';
if (_numValue || isZero) return _numValue;
diff --git a/src/lib/services/workflow-service.ts b/src/lib/services/workflow-service.ts
index af748b4dd..b3276b56d 100644
--- a/src/lib/services/workflow-service.ts
+++ b/src/lib/services/workflow-service.ts
@@ -484,9 +484,7 @@ export const setSearchAttributes = (
const searchAttributes: SearchAttribute = {};
attributes.forEach((attribute) => {
- searchAttributes[attribute.attribute] = setBase64Payload(
- String(attribute.value),
- );
+ searchAttributes[attribute.attribute] = setBase64Payload(attribute.value);
});
return searchAttributes;
diff --git a/src/lib/stores/search-attributes.ts b/src/lib/stores/search-attributes.ts
index 2df989710..e0c51c180 100644
--- a/src/lib/stores/search-attributes.ts
+++ b/src/lib/stores/search-attributes.ts
@@ -52,7 +52,7 @@ export type SearchAttributeOption = {
type: SearchAttributeType;
};
-export type SearchAttributeInputValue = string | number;
+export type SearchAttributeInputValue = string | number | string[];
export type SearchAttributeInput = {
attribute: string;
diff --git a/src/lib/utilities/encode-payload.ts b/src/lib/utilities/encode-payload.ts
index a4bb0910e..e1f5f41e5 100644
--- a/src/lib/utilities/encode-payload.ts
+++ b/src/lib/utilities/encode-payload.ts
@@ -20,7 +20,7 @@ export const getSinglePayload = (decodedValue: string): string => {
return '';
};
-export const setBase64Payload = (payload: string, encoding = 'json/plain') => {
+export const setBase64Payload = (payload: unknown, encoding = 'json/plain') => {
return {
metadata: {
encoding: btoa(encoding),