From 705515096ec13cb67d735bd482935f079c4c25b3 Mon Sep 17 00:00:00 2001 From: Laila Los <44241786+ElectronicBlueberry@users.noreply.github.com> Date: Wed, 21 Jun 2023 12:48:09 +0200 Subject: [PATCH 1/4] add FormTags element --- .../src/components/Form/Elements/FormTags.vue | 23 +++++++++++++++++++ client/src/components/Form/FormElement.vue | 5 ++++ .../src/components/Form/parameterTypes.d.ts | 3 ++- .../TagsMultiselect/StatelessTags.vue | 6 +++-- .../Workflow/Editor/Forms/FormOutput.vue | 6 +++-- 5 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 client/src/components/Form/Elements/FormTags.vue diff --git a/client/src/components/Form/Elements/FormTags.vue b/client/src/components/Form/Elements/FormTags.vue new file mode 100644 index 00000000000..e4883d444d5 --- /dev/null +++ b/client/src/components/Form/Elements/FormTags.vue @@ -0,0 +1,23 @@ + + + diff --git a/client/src/components/Form/FormElement.vue b/client/src/components/Form/FormElement.vue index 7dc7dcffa28..f49bf72a1b0 100644 --- a/client/src/components/Form/FormElement.vue +++ b/client/src/components/Form/FormElement.vue @@ -12,6 +12,7 @@ import FormOptionalText from "./Elements/FormOptionalText.vue"; import FormRulesEdit from "./Elements/FormRulesEdit.vue"; import FormUpload from "./Elements/FormUpload.vue"; import FormDrilldown from "./Elements/FormDrilldown/FormDrilldown.vue"; +import FormTags from "./Elements/FormTags.vue"; import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome"; import { ref, computed, useAttrs } from "vue"; import { library } from "@fortawesome/fontawesome-svg-core"; @@ -285,6 +286,10 @@ const isOptional = computed(() => !isRequired.value && attrs.value["optional"] ! :data-label="props.title" :type="props.type ?? (attrs.options ? 'select' : 'text')" :attributes="attrs" /> + diff --git a/client/src/components/Form/parameterTypes.d.ts b/client/src/components/Form/parameterTypes.d.ts index e3c7ca53574..93f1a5406a5 100644 --- a/client/src/components/Form/parameterTypes.d.ts +++ b/client/src/components/Form/parameterTypes.d.ts @@ -27,4 +27,5 @@ export type FormParameterTypes = | "ftpfile" | "upload" | "rules" - | "data_dialog"; + | "data_dialog" + | "tags"; diff --git a/client/src/components/TagsMultiselect/StatelessTags.vue b/client/src/components/TagsMultiselect/StatelessTags.vue index 66e57fb2f01..7cab63b018f 100644 --- a/client/src/components/TagsMultiselect/StatelessTags.vue +++ b/client/src/components/TagsMultiselect/StatelessTags.vue @@ -17,6 +17,7 @@ interface StatelessTagsProps { clickable?: boolean; useToggleLink?: boolean; maxVisibleTags?: number; + placeholder?: string; } const props = withDefaults(defineProps(), { @@ -25,6 +26,7 @@ const props = withDefaults(defineProps(), { clickable: false, useToggleLink: true, maxVisibleTags: 5, + placeholder: "Add Tags", }); const emit = defineEmits<{ @@ -117,8 +119,8 @@ function onTagClicked(tag: string) { - Add Tags + {{ props.placeholder }} diff --git a/client/src/components/Workflow/Editor/Forms/FormOutput.vue b/client/src/components/Workflow/Editor/Forms/FormOutput.vue index 1b6a10a257c..8d5bbf18cc8 100644 --- a/client/src/components/Workflow/Editor/Forms/FormOutput.vue +++ b/client/src/components/Workflow/Editor/Forms/FormOutput.vue @@ -21,15 +21,17 @@ From 9eae51fdf63e50d350c469f1e6b263192d9689b4 Mon Sep 17 00:00:00 2001 From: Laila Los <44241786+ElectronicBlueberry@users.noreply.github.com> Date: Wed, 21 Jun 2023 12:48:39 +0200 Subject: [PATCH 2/4] fix tags component autocomplete rendering --- client/src/components/TagsMultiselect/StatelessTags.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/client/src/components/TagsMultiselect/StatelessTags.vue b/client/src/components/TagsMultiselect/StatelessTags.vue index 7cab63b018f..41607a2cb7a 100644 --- a/client/src/components/TagsMultiselect/StatelessTags.vue +++ b/client/src/components/TagsMultiselect/StatelessTags.vue @@ -329,6 +329,7 @@ function onTagClicked(tag: string) { .multiselect__option--selected { .multiselect-option { color: $brand-primary; + background-color: $brand-secondary; .info:not(.highlighted) { display: inline-block; From 84ac0bfb8ad70bc203113d5b6fbfa8d7195b702a Mon Sep 17 00:00:00 2001 From: Laila Los <44241786+ElectronicBlueberry@users.noreply.github.com> Date: Wed, 21 Jun 2023 13:49:49 +0200 Subject: [PATCH 3/4] display tags on output node --- .../TagsMultiselect/StatelessTags.vue | 5 +- .../components/Workflow/Editor/NodeOutput.vue | 76 ++++++++++++++----- client/src/style/scss/ui.scss | 4 + 3 files changed, 64 insertions(+), 21 deletions(-) diff --git a/client/src/components/TagsMultiselect/StatelessTags.vue b/client/src/components/TagsMultiselect/StatelessTags.vue index 41607a2cb7a..96498452fc5 100644 --- a/client/src/components/TagsMultiselect/StatelessTags.vue +++ b/client/src/components/TagsMultiselect/StatelessTags.vue @@ -18,6 +18,7 @@ interface StatelessTagsProps { useToggleLink?: boolean; maxVisibleTags?: number; placeholder?: string; + noPadding?: boolean; } const props = withDefaults(defineProps(), { @@ -115,7 +116,7 @@ function onTagClicked(tag: string) {