Loading client/src/components/Sharing/Embeds/WorkflowEmbed.vue +2 −7 Original line number Diff line number Diff line Loading @@ -6,8 +6,8 @@ import { useDebounce } from "@vueuse/core"; import { BButton, BFormCheckbox, BFormInput, BInputGroup, BInputGroupAppend } from "bootstrap-vue"; import { computed, reactive, ref } from "vue"; import { getAppRoot } from "@/onload/loadConfig"; import { copy } from "@/utils/clipboard"; import { getFullAppUrl } from "@/utils/utils"; import ZoomControl from "@/components/Workflow/Editor/ZoomControl.vue"; import WorkflowPublished from "@/components/Workflow/Published/WorkflowPublished.vue"; Loading Loading @@ -39,13 +39,8 @@ function onChangePosition(event: Event, xy: "x" | "y") { } } const root = computed(() => { const port = window.location.port ? `:${window.location.port}` : ""; return `${window.location.protocol}//${window.location.hostname}${port}${getAppRoot()}`; }); const embedUrl = computed(() => { let url = `${root.value}published/workflow?id=${props.id}&embed=true`; let url = getFullAppUrl(`published/workflow?id=${props.id}&embed=true`); url += `&buttons=${settings.buttons}`; url += `&about=${settings.about}`; url += `&heading=${settings.heading}`; Loading client/src/components/Sharing/SharingPage.vue +2 −6 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ import { getGalaxyInstance } from "@/app"; import { useToast } from "@/composables/toast"; import { getAppRoot } from "@/onload/loadConfig"; import { errorMessageAsString } from "@/utils/simple-error"; import { getFullAppUrl } from "@/utils/utils"; import type { Item, ShareOption } from "./item"; Loading Loading @@ -52,11 +53,6 @@ const item = ref<Item>({ extra: defaultExtra(), }); const itemRoot = computed(() => { const port = window.location.port ? `:${window.location.port}` : ""; return `${window.location.protocol}//${window.location.hostname}${port}${getAppRoot()}`; }); const itemUrl = reactive({ prefix: "", slug: "", Loading @@ -68,7 +64,7 @@ watch( if (value) { const index = value.lastIndexOf("/"); itemUrl.prefix = itemRoot.value + value.substring(0, index + 1); itemUrl.prefix = getFullAppUrl(value.substring(0, index + 1)); itemUrl.slug = value.substring(index + 1); } }, Loading client/src/components/Workflow/Published/WorkflowInformation.vue +2 −7 Original line number Diff line number Diff line Loading @@ -5,8 +5,8 @@ import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome"; import { computed } from "vue"; import { RouterLink } from "vue-router"; import { getAppRoot } from "@/onload/loadConfig"; import { useUserStore } from "@/stores/userStore"; import { getFullAppUrl } from "@/utils/utils"; import Heading from "@/components/Common/Heading.vue"; import CopyToClipboard from "@/components/CopyToClipboard.vue"; Loading Loading @@ -42,17 +42,12 @@ const gravatarSource = computed( const publishedByUser = computed(() => `/workflows/list_published?owner=${props.workflowInfo?.owner}`); const root = computed(() => { const port = window.location.port ? `:${window.location.port}` : ""; return `${window.location.protocol}//${window.location.hostname}${port}${getAppRoot()}`; }); const relativeLink = computed(() => { return `/published/workflow?id=${props.workflowInfo.id}`; }); const fullLink = computed(() => { return `${root.value}${relativeLink.value.substring(1)}`; return getFullAppUrl(relativeLink.value.substring(1)); }); const userOwned = computed(() => { Loading client/src/components/Workflow/WorkflowActionsExtend.vue +29 −11 Original line number Diff line number Diff line <script setup lang="ts"> import { library } from "@fortawesome/fontawesome-svg-core"; import { faStar as farStar } from "@fortawesome/free-regular-svg-icons"; import { faCaretDown, faCopy, faDownload, faFileExport, faShareAlt, faStar, faTrashRestore, } from "@fortawesome/free-solid-svg-icons"; import { faCopy, faDownload, faLink, faShareAlt, faTrashRestore } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome"; import { BButton } from "bootstrap-vue"; import { storeToRefs } from "pinia"; Loading @@ -19,9 +10,11 @@ import { copyWorkflow, undeleteWorkflow } from "@/components/Workflow/workflows. import { useConfirmDialog } from "@/composables/confirmDialog"; import { Toast } from "@/composables/toast"; import { useUserStore } from "@/stores/userStore"; import { copy } from "@/utils/clipboard"; import { withPrefix } from "@/utils/redirect"; import { getFullAppUrl } from "@/utils/utils"; library.add(faCaretDown, faCopy, faDownload, faFileExport, faShareAlt, farStar, faStar, faTrashRestore); library.add(faCopy, faDownload, faLink, faShareAlt, faTrashRestore); interface Props { workflow: any; Loading Loading @@ -72,11 +65,36 @@ async function onRestore() { Toast.info("Workflow restored"); } } const relativeLink = computed(() => { return `/published/workflow?id=${props.workflow.id}`; }); const fullLink = computed(() => { return getFullAppUrl(relativeLink.value.substring(1)); }); function onCopyPublicLink() { copy(fullLink.value); Toast.success("Link to workflow copied"); } </script> <template> <div class="workflow-actions-extend flex-gapx-1"> <BButtonGroup> <BButton v-if="workflow.published && !workflow.deleted" id="workflow-copy-public-button" v-b-tooltip.hover.noninteractive :size="buttonSize" title="Copy link to workflow" variant="outline-primary" @click="onCopyPublicLink"> <FontAwesomeIcon :icon="faLink" fixed-width /> <span class="compact-view">Link to Workflow</span> </BButton> <BButton v-if="!isAnonymous && !shared && !workflow.deleted" id="workflow-copy-button" Loading client/src/components/Workflow/WorkflowIndicators.vue +3 −3 Original line number Diff line number Diff line <script setup lang="ts"> import { library } from "@fortawesome/fontawesome-svg-core"; import { faGlobe, faLink, faShieldAlt, faUser, faUsers } from "@fortawesome/free-solid-svg-icons"; import { faFileImport, faGlobe, faShieldAlt, faUser, faUsers } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome"; import { BBadge, BButton } from "bootstrap-vue"; import { computed } from "vue"; Loading @@ -12,7 +12,7 @@ import { copy } from "@/utils/clipboard"; import UtcDate from "@/components/UtcDate.vue"; library.add(faShieldAlt, faLink, faGlobe, faUsers, faUser); library.add(faFileImport, faGlobe, faShieldAlt, faUsers, faUser); interface Props { workflow: any; Loading Loading @@ -116,7 +116,7 @@ function onViewUserPublished() { size="sm" class="workflow-external-link inline-icon-button" :title="sourceTitle"> <FontAwesomeIcon :icon="faLink" fixed-width @click="onCopyLink" /> <FontAwesomeIcon :icon="faFileImport" fixed-width @click="onCopyLink" /> </BButton> <span class="mr-1"> Loading Loading
client/src/components/Sharing/Embeds/WorkflowEmbed.vue +2 −7 Original line number Diff line number Diff line Loading @@ -6,8 +6,8 @@ import { useDebounce } from "@vueuse/core"; import { BButton, BFormCheckbox, BFormInput, BInputGroup, BInputGroupAppend } from "bootstrap-vue"; import { computed, reactive, ref } from "vue"; import { getAppRoot } from "@/onload/loadConfig"; import { copy } from "@/utils/clipboard"; import { getFullAppUrl } from "@/utils/utils"; import ZoomControl from "@/components/Workflow/Editor/ZoomControl.vue"; import WorkflowPublished from "@/components/Workflow/Published/WorkflowPublished.vue"; Loading Loading @@ -39,13 +39,8 @@ function onChangePosition(event: Event, xy: "x" | "y") { } } const root = computed(() => { const port = window.location.port ? `:${window.location.port}` : ""; return `${window.location.protocol}//${window.location.hostname}${port}${getAppRoot()}`; }); const embedUrl = computed(() => { let url = `${root.value}published/workflow?id=${props.id}&embed=true`; let url = getFullAppUrl(`published/workflow?id=${props.id}&embed=true`); url += `&buttons=${settings.buttons}`; url += `&about=${settings.about}`; url += `&heading=${settings.heading}`; Loading
client/src/components/Sharing/SharingPage.vue +2 −6 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ import { getGalaxyInstance } from "@/app"; import { useToast } from "@/composables/toast"; import { getAppRoot } from "@/onload/loadConfig"; import { errorMessageAsString } from "@/utils/simple-error"; import { getFullAppUrl } from "@/utils/utils"; import type { Item, ShareOption } from "./item"; Loading Loading @@ -52,11 +53,6 @@ const item = ref<Item>({ extra: defaultExtra(), }); const itemRoot = computed(() => { const port = window.location.port ? `:${window.location.port}` : ""; return `${window.location.protocol}//${window.location.hostname}${port}${getAppRoot()}`; }); const itemUrl = reactive({ prefix: "", slug: "", Loading @@ -68,7 +64,7 @@ watch( if (value) { const index = value.lastIndexOf("/"); itemUrl.prefix = itemRoot.value + value.substring(0, index + 1); itemUrl.prefix = getFullAppUrl(value.substring(0, index + 1)); itemUrl.slug = value.substring(index + 1); } }, Loading
client/src/components/Workflow/Published/WorkflowInformation.vue +2 −7 Original line number Diff line number Diff line Loading @@ -5,8 +5,8 @@ import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome"; import { computed } from "vue"; import { RouterLink } from "vue-router"; import { getAppRoot } from "@/onload/loadConfig"; import { useUserStore } from "@/stores/userStore"; import { getFullAppUrl } from "@/utils/utils"; import Heading from "@/components/Common/Heading.vue"; import CopyToClipboard from "@/components/CopyToClipboard.vue"; Loading Loading @@ -42,17 +42,12 @@ const gravatarSource = computed( const publishedByUser = computed(() => `/workflows/list_published?owner=${props.workflowInfo?.owner}`); const root = computed(() => { const port = window.location.port ? `:${window.location.port}` : ""; return `${window.location.protocol}//${window.location.hostname}${port}${getAppRoot()}`; }); const relativeLink = computed(() => { return `/published/workflow?id=${props.workflowInfo.id}`; }); const fullLink = computed(() => { return `${root.value}${relativeLink.value.substring(1)}`; return getFullAppUrl(relativeLink.value.substring(1)); }); const userOwned = computed(() => { Loading
client/src/components/Workflow/WorkflowActionsExtend.vue +29 −11 Original line number Diff line number Diff line <script setup lang="ts"> import { library } from "@fortawesome/fontawesome-svg-core"; import { faStar as farStar } from "@fortawesome/free-regular-svg-icons"; import { faCaretDown, faCopy, faDownload, faFileExport, faShareAlt, faStar, faTrashRestore, } from "@fortawesome/free-solid-svg-icons"; import { faCopy, faDownload, faLink, faShareAlt, faTrashRestore } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome"; import { BButton } from "bootstrap-vue"; import { storeToRefs } from "pinia"; Loading @@ -19,9 +10,11 @@ import { copyWorkflow, undeleteWorkflow } from "@/components/Workflow/workflows. import { useConfirmDialog } from "@/composables/confirmDialog"; import { Toast } from "@/composables/toast"; import { useUserStore } from "@/stores/userStore"; import { copy } from "@/utils/clipboard"; import { withPrefix } from "@/utils/redirect"; import { getFullAppUrl } from "@/utils/utils"; library.add(faCaretDown, faCopy, faDownload, faFileExport, faShareAlt, farStar, faStar, faTrashRestore); library.add(faCopy, faDownload, faLink, faShareAlt, faTrashRestore); interface Props { workflow: any; Loading Loading @@ -72,11 +65,36 @@ async function onRestore() { Toast.info("Workflow restored"); } } const relativeLink = computed(() => { return `/published/workflow?id=${props.workflow.id}`; }); const fullLink = computed(() => { return getFullAppUrl(relativeLink.value.substring(1)); }); function onCopyPublicLink() { copy(fullLink.value); Toast.success("Link to workflow copied"); } </script> <template> <div class="workflow-actions-extend flex-gapx-1"> <BButtonGroup> <BButton v-if="workflow.published && !workflow.deleted" id="workflow-copy-public-button" v-b-tooltip.hover.noninteractive :size="buttonSize" title="Copy link to workflow" variant="outline-primary" @click="onCopyPublicLink"> <FontAwesomeIcon :icon="faLink" fixed-width /> <span class="compact-view">Link to Workflow</span> </BButton> <BButton v-if="!isAnonymous && !shared && !workflow.deleted" id="workflow-copy-button" Loading
client/src/components/Workflow/WorkflowIndicators.vue +3 −3 Original line number Diff line number Diff line <script setup lang="ts"> import { library } from "@fortawesome/fontawesome-svg-core"; import { faGlobe, faLink, faShieldAlt, faUser, faUsers } from "@fortawesome/free-solid-svg-icons"; import { faFileImport, faGlobe, faShieldAlt, faUser, faUsers } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome"; import { BBadge, BButton } from "bootstrap-vue"; import { computed } from "vue"; Loading @@ -12,7 +12,7 @@ import { copy } from "@/utils/clipboard"; import UtcDate from "@/components/UtcDate.vue"; library.add(faShieldAlt, faLink, faGlobe, faUsers, faUser); library.add(faFileImport, faGlobe, faShieldAlt, faUsers, faUser); interface Props { workflow: any; Loading Loading @@ -116,7 +116,7 @@ function onViewUserPublished() { size="sm" class="workflow-external-link inline-icon-button" :title="sourceTitle"> <FontAwesomeIcon :icon="faLink" fixed-width @click="onCopyLink" /> <FontAwesomeIcon :icon="faFileImport" fixed-width @click="onCopyLink" /> </BButton> <span class="mr-1"> Loading