Skip to content

Commit 4ff3600

Browse files
committed
Fixed attribute filter selection from workflow dataset
1 parent a6af083 commit 4ff3600

File tree

2 files changed

+20
-9
lines changed

2 files changed

+20
-9
lines changed

src/lib/components/v2/projects/datasets/FiltersCreationForm.svelte

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,19 +48,28 @@
4848
4949
/**
5050
* @param {string} key
51-
* @param {string} value
52-
* @param {string} type
51+
* @param {string|number|boolean} value
5352
*/
54-
export function importAttribute(key, value, type) {
55-
attributeFields = [...attributeFields, { key, value, type, error: '' }];
53+
export function importAttribute(key, value) {
54+
const newAttribute = { key, value: value.toString(), type: typeof value, error: '' };
55+
if (attributeFields.filter((a) => a.key === key).length > 0) {
56+
attributeFields = attributeFields.map((a) => (a.key === key ? newAttribute : a));
57+
} else {
58+
attributeFields = [...attributeFields, newAttribute];
59+
}
5660
}
5761
5862
/**
5963
* @param {string} key
6064
* @param {boolean} value
6165
*/
6266
export function importType(key, value) {
63-
typeFields = [...typeFields, { key, value, error: '' }];
67+
const newType = { key, value, error: '' };
68+
if (typeFields.filter((t) => t.key === key).length > 0) {
69+
typeFields = typeFields.map((t) => (t.key === key ? newType : t));
70+
} else {
71+
typeFields = [...typeFields, newType];
72+
}
6473
}
6574
6675
/**

src/lib/components/v2/workflow/InputFiltersTab.svelte

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
/** @type {string[]} */
2626
let datasetTypes = [];
2727
let selectedDatasetAttributeKey = '';
28+
/** @type {string|number|boolean} */
2829
let selectedDatasetAttributeValue = '';
2930
let selectedDatasetTypeKey = '';
3031
let selectedDatasetTypeValue = true;
@@ -126,8 +127,7 @@
126127
}
127128
128129
function addDatasetAttribute() {
129-
const attributeType = typeof datasetAttributes[selectedDatasetAttributeKey];
130-
form.importAttribute(selectedDatasetAttributeKey, selectedDatasetAttributeValue, attributeType);
130+
form.importAttribute(selectedDatasetAttributeKey, selectedDatasetAttributeValue);
131131
}
132132
133133
function onOpenAddDatasetTypeModal() {
@@ -144,7 +144,7 @@
144144
<FiltersCreationForm bind:this={form} />
145145

146146
{#if loadingDatasetFilters}
147-
<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true" />
147+
<span class="spinner-border spinner-border-sm mb-3" role="status" aria-hidden="true" />
148148
{:else}
149149
{#if Object.keys(datasetAttributes).length > 0}
150150
<button
@@ -213,7 +213,9 @@
213213
>
214214
<option value="">Select...</option>
215215
{#each datasetAttributes[selectedDatasetAttributeKey] as value}
216-
<option>{value}</option>
216+
<option {value}>
217+
{typeof value === 'boolean' ? (value ? 'True' : 'False') : value}
218+
</option>
217219
{/each}
218220
</select>
219221
{/if}

0 commit comments

Comments
 (0)