Remove library.add() calls from Vue components

Updated components to import icon objects directly instead of using library.add(). Components now bind icons with :icon="faIconName" rather than icon="fa-icon-name".
This commit is contained in:
Dannon Baker
2025-11-02 12:58:32 -05:00
parent 3210592edc
commit 0d6de7d265
123 changed files with 225 additions and 597 deletions
@@ -1,13 +1,10 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faExternalLinkAlt } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { computed } from "vue";
import type { Citation } from ".";
library.add(faExternalLinkAlt);
interface Props {
citation: Citation;
outputFormat?: string;
@@ -1,14 +1,11 @@
<script lang="ts">
/* cannot use a setup block and get params injection in Vue 2.7 I think */
import { library } from "@fortawesome/fontawesome-svg-core";
import { faTimes } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import type { ICellRendererParams } from "ag-grid-community";
import { defineComponent } from "vue";
library.add(faTimes);
export default defineComponent({
components: {
FontAwesomeIcon,
@@ -16,6 +13,7 @@ export default defineComponent({
data() {
return {
params: {} as ICellRendererParams,
faTimes,
};
},
computed: {},
@@ -28,7 +26,7 @@ export default defineComponent({
</script>
<template>
<div>
<FontAwesomeIcon size="2x" icon="fa-times" @click="onRemove" />
<FontAwesomeIcon size="2x" :icon="faTimes" @click="onRemove" />
</div>
</template>
@@ -1,15 +1,12 @@
<script lang="ts">
/* cannot use a setup block and get params injection in Vue 2.7 I think */
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCheck, faExclamationTriangle } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import type { ICellRendererParams } from "ag-grid-community";
import { BPopover } from "bootstrap-vue";
import { defineComponent } from "vue";
library.add(faCheck, faExclamationTriangle);
export default defineComponent({
components: {
BPopover,
@@ -18,6 +15,8 @@ export default defineComponent({
data() {
return {
params: {} as ICellRendererParams,
faCheck,
faExclamationTriangle,
};
},
computed: {
@@ -48,9 +47,9 @@ export default defineComponent({
},
icon() {
if (this.isDuplicate || this.requiresPairing) {
return "fa-exclamation-triangle";
return this.faExclamationTriangle;
} else {
return "fa-check";
return this.faCheck;
}
},
},
@@ -1,6 +1,5 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faBars, faCog, faDatabase, faSave, faTable, faUser } from "@fortawesome/free-solid-svg-icons";
import { faBars, faCog, faDatabase, faSave, faTable } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import axios from "axios";
import { BAlert, BSpinner, BTab, BTabs } from "bootstrap-vue";
@@ -26,8 +25,6 @@ import Heading from "@/components/Common/Heading.vue";
import FormDisplay from "@/components/Form/FormDisplay.vue";
import LoadingSpan from "@/components/LoadingSpan.vue";
library.add(faBars, faCog, faDatabase, faSave, faTable, faUser);
interface Props {
collectionId: string;
}
@@ -1,7 +1,6 @@
<script lang="ts">
/* cannot use a setup block and get params injection in Vue 2.7 I think */
import { library } from "@fortawesome/fontawesome-svg-core";
import { faLink, faUndo, faUnlink } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import type { ICellRendererParams } from "ag-grid-community";
@@ -13,8 +12,6 @@ import { showHid } from "./useCollectionCreator";
type StoreType = ReturnType<typeof usePairingDatasetTargetsStore>;
library.add(faLink, faUndo, faUnlink);
export default defineComponent({
components: {
FontAwesomeIcon,
@@ -23,6 +20,9 @@ export default defineComponent({
return {
params: {} as ICellRendererParams,
showHid: showHid,
faLink,
faUndo,
faUnlink,
};
},
computed: {
@@ -97,8 +97,8 @@ export default defineComponent({
<template>
<div>
<div v-if="isPaired" class="paired-datasets-cell">
<FontAwesomeIcon size="2x" icon="fa-undo" class="paired-action-icon" @click="onSwap" />
<FontAwesomeIcon size="2x" icon="fa-unlink" class="paired-action-icon" @click="onUnpair" />
<FontAwesomeIcon size="2x" :icon="faUndo" class="paired-action-icon" @click="onSwap" />
<FontAwesomeIcon size="2x" :icon="faUnlink" class="paired-action-icon" @click="onUnpair" />
<div class="text-container">
<span>
<span class="direction">FORWARD</span>
@@ -126,7 +126,7 @@ export default defineComponent({
@drop="onDrop">
<FontAwesomeIcon
size="2x"
icon="fa-link"
:icon="faLink"
class="paired-action-icon"
:class="{ dragging: dragging, 'active-target': isUnpairedTarget, 'fa-beat': isUnpairedTarget }" />
</div>
@@ -1,11 +1,8 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faFileExcel } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BButton } from "bootstrap-vue";
library.add(faFileExcel);
interface Props {
title: string;
}
@@ -17,6 +14,6 @@ const emit = defineEmits(["click"]);
<template>
<BButton :title="title" role="button" variant="link" size="sm" class="ml-0" @click="emit('click')">
<FontAwesomeIcon icon="file-excel" />
<FontAwesomeIcon :icon="faFileExcel" />
</BButton>
</template>
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faAngleDoubleDown, faAngleDoubleUp, faSpinner, faTimes } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { watchImmediate } from "@vueuse/core";
@@ -11,8 +10,6 @@ import localize from "@/utils/localization";
import GFormInput from "../BaseComponents/Form/GFormInput.vue";
import GButton from "../BaseComponents/GButton.vue";
library.add(faAngleDoubleDown, faAngleDoubleUp, faSpinner, faTimes);
interface Props {
value?: string;
delay?: number;
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faAngleDoubleUp, faQuestion, faSearch } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BModal, BPopover } from "bootstrap-vue";
@@ -18,8 +17,6 @@ import FilterMenuMultiTags from "@/components/Common/FilterMenuMultiTags.vue";
import FilterMenuObjectStore from "@/components/Common/FilterMenuObjectStore.vue";
import FilterMenuRanged from "@/components/Common/FilterMenuRanged.vue";
library.add(faAngleDoubleUp, faQuestion, faSearch);
interface BackendFilterError {
err_msg: string;
err_code: number;
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faQuestion } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BButton, BDropdown, BDropdownItem, BInputGroup, BInputGroupAppend, BModal } from "bootstrap-vue";
@@ -12,8 +11,6 @@ import { errorMessageAsString } from "@/utils/simple-error";
import QuotaUsageBar from "@/components/User/DiskUsage/Quota/QuotaUsageBar.vue";
library.add(faQuestion);
type FilterValue = QuotaUsage | string | boolean | undefined;
type DatalistItem = { value: string; text: string };
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faQuestion } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import {
@@ -16,8 +15,6 @@ import { computed, ref, watch } from "vue";
import type { ValidFilter } from "@/utils/filtering";
library.add(faQuestion);
type FilterType = string | boolean | undefined;
interface Props {
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faTimes } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { computed, ref } from "vue";
@@ -10,8 +9,6 @@ import { useObjectStoreStore } from "@/stores/objectStoreStore";
import ObjectStoreSelect from "./ObjectStoreSelect.vue";
import SelectModal from "@/components/Dataset/DatasetStorage/SelectModal.vue";
library.add(faTimes);
interface FilterObjectStoreLinkProps {
value?: string;
objectStores: ConcreteObjectStoreModel[];
@@ -52,7 +49,7 @@ const selectionText = computed(() => {
</SelectModal>
<b-link href="#" @click="showModal = true">{{ selectionText }}</b-link>
<span v-if="value" v-b-tooltip.hover title="Remove Filter">
<FontAwesomeIcon icon="times" @click="onSelect(undefined)" />
<FontAwesomeIcon :icon="faTimes" @click="onSelect(undefined)" />
</span>
</span>
</template>
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faAngleDown, faAngleUp, faBars, faGripVertical } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BFormCheckbox } from "bootstrap-vue";
@@ -10,8 +9,6 @@ import { type ListViewMode, useUserStore } from "@/stores/userStore";
import GButton from "@/components/BaseComponents/GButton.vue";
import GButtonGroup from "@/components/BaseComponents/GButtonGroup.vue";
library.add(faAngleDown, faAngleUp, faBars, faGripVertical);
type SortBy = "create_time" | "update_time" | "name";
interface Props {
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faPen } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BButton, BFormInput, BInputGroup, BInputGroupAppend } from "bootstrap-vue";
@@ -7,8 +6,6 @@ import { computed, ref } from "vue";
import { markup } from "@/components/ObjectStore/configurationMarkdown";
library.add(faPen);
interface Props {
name: string;
label: string;
+6 -4
View File
@@ -1,15 +1,12 @@
<template>
<FontAwesomeIcon class="cursor-pointer" :title="title" :icon="['far', 'copy']" @click="copy(text, message)" />
<FontAwesomeIcon class="cursor-pointer" :title="title" :icon="faCopy" @click="copy(text, message)" />
</template>
<script>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCopy } from "@fortawesome/free-regular-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { copy } from "utils/clipboard";
library.add(faCopy);
export default {
components: {
FontAwesomeIcon,
@@ -29,6 +26,11 @@ export default {
required: false,
},
},
data() {
return {
faCopy,
};
},
methods: {
copy(text, message) {
copy(text, message);
@@ -1,14 +1,11 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCaretDown, faCopy, faEye, faPause, faTimesCircle } from "@fortawesome/free-solid-svg-icons";
import { faCaretDown, faCopy, faPause, faTimesCircle } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BLink } from "bootstrap-vue";
import { computed } from "vue";
import type { HDASummary } from "@/api";
library.add(faCaretDown, faCopy, faEye, faTimesCircle, faPause);
interface Props {
item: HDASummary;
}
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faBars, faCog, faDatabase, faExchangeAlt, faRedo, faSave, faUser } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import type { AxiosError } from "axios";
@@ -16,8 +15,6 @@ import GButton from "@/components/BaseComponents/GButton.vue";
import FormDisplay from "@/components/Form/FormDisplay.vue";
import LoadingSpan from "@/components/LoadingSpan.vue";
library.add(faBars, faCog, faDatabase, faExchangeAlt, faRedo, faSave, faUser);
interface Props {
datasetId: string;
}
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCopy, faExternalLinkAlt } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { computed } from "vue";
@@ -10,8 +9,6 @@ import localize from "@/utils/localization";
import DatasetSourceTransform from "@/components/DatasetInformation/DatasetSourceTransform.vue";
library.add(faCopy, faExternalLinkAlt);
interface Props {
source: DatasetSource;
}
-3
View File
@@ -1,5 +1,4 @@
<script setup>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faPaperPlane } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { storeToRefs } from "pinia";
@@ -8,8 +7,6 @@ import { computed } from "vue";
import TextShort from "@/components/Common/TextShort.vue";
library.add(faPaperPlane);
const eventStore = useEventStore();
const { multipleDragData } = storeToRefs(eventStore);
+1 -4
View File
@@ -1,10 +1,7 @@
<script setup>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faExternalLinkAlt } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
library.add(faExternalLinkAlt);
const props = defineProps({
href: {
type: String,
@@ -16,6 +13,6 @@ const props = defineProps({
<template>
<a target="_blank" :href="props.href">
<slot></slot>
<FontAwesomeIcon icon="external-link-alt" />
<FontAwesomeIcon :icon="faExternalLinkAlt" />
</a>
</template>
@@ -1,7 +1,9 @@
<template>
<div>
<div v-if="!url">
<GButton id="select-btn" @click="reset"> <FontAwesomeIcon icon="folder-open" /> {{ selectText }} </GButton>
<GButton id="select-btn" @click="reset">
<FontAwesomeIcon :icon="faFolderOpen" /> {{ selectText }}
</GButton>
<FilesDialog
:key="modalKey"
mode="directory"
@@ -12,7 +14,7 @@
<b-breadcrumb v-if="url" class="mb-0">
<b-breadcrumb-item title="Select another folder" class="align-items-center" @click="reset">
<GButton class="pathname" color="blue">
<FontAwesomeIcon icon="folder-open" /> {{ url.protocol }}
<FontAwesomeIcon :icon="faFolderOpen" /> {{ url.protocol }}
</GButton>
</b-breadcrumb-item>
<b-breadcrumb-item
@@ -45,8 +47,7 @@
</template>
<script>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faFolder, faFolderOpen } from "@fortawesome/free-solid-svg-icons";
import { faFolderOpen } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { FilesDialog } from "components/FilesDialog";
import { Toast } from "composables/toast";
@@ -56,8 +57,6 @@ import { errorMessageAsString } from "@/utils/simple-error";
import GButton from "@/components/BaseComponents/GButton.vue";
library.add(faFolder, faFolderOpen);
const getDefaultValues = () => ({
isModalShown: false,
url: "",
@@ -78,7 +77,12 @@ export default {
},
},
data() {
return { ...getDefaultValues(), modalKey: 0, selectText: _l("Select") };
return {
...getDefaultValues(),
modalKey: 0,
selectText: _l("Select"),
faFolderOpen,
};
},
computed: {
isValidName() {
@@ -1,5 +1,4 @@
<script setup>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faEdit } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BAlert } from "bootstrap-vue";
@@ -13,8 +12,6 @@ import { errorMessageAsString } from "@/utils/simple-error";
import GButton from "@/components/BaseComponents/GButton.vue";
library.add(faEdit);
const props = defineProps({
value: {
type: Object,
@@ -73,7 +70,7 @@ function onCancel() {
<div class="form-rules-edit">
<RulesDisplay :input-rules="displayRules" />
<GButton title="Edit Rules" @click="onEdit">
<FontAwesomeIcon icon="fa-edit" />
<FontAwesomeIcon :icon="faEdit" />
<span>Edit</span>
</GButton>
<LoadingSpan v-if="loading" message="Loading collection details"> </LoadingSpan>
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCheckSquare, faSquare } from "@fortawesome/free-regular-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { computed, type ComputedRef, onMounted, type PropType, ref, watch } from "vue";
@@ -13,8 +12,6 @@ import { type DataOption, isDataOption, itemUniqueKey } from "./FormData/types";
import StatelessTags from "@/components/TagsMultiselect/StatelessTags.vue";
library.add(faCheckSquare, faSquare);
const { ariaExpanded, onOpen, onClose } = useMultiselect();
type SelectValue = Record<string, unknown> | string | number | null;
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCaretDown } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BDropdown, BDropdownItemButton } from "bootstrap-vue";
@@ -13,8 +12,6 @@ import FormRadio from "./FormRadio.vue";
import FormSelect from "./FormSelect.vue";
import FormSelectMany from "./FormSelectMany/FormSelectMany.vue";
library.add(faCaretDown);
export interface SelectOption {
label: string;
value: any;
@@ -140,7 +137,7 @@ defineExpose({
<BDropdown toggle-class="inline-icon-button d-block px-1" variant="link" no-caret>
<template v-slot:button-content>
<FontAwesomeIcon icon="fa-caret-down"></FontAwesomeIcon>
<FontAwesomeIcon :icon="faCaretDown"></FontAwesomeIcon>
<span class="sr-only">select element preferences</span>
</template>
<BDropdownItemButton
+6 -7
View File
@@ -10,8 +10,8 @@
variant="link"
size="sm"
class="float-right">
<FontAwesomeIcon v-if="expanded" icon="chevron-up" class="fa-fw" />
<FontAwesomeIcon v-else icon="chevron-down" class="fa-fw" />
<FontAwesomeIcon v-if="expanded" :icon="faChevronUp" class="fa-fw" />
<FontAwesomeIcon v-else :icon="faChevronDown" class="fa-fw" />
</span>
</div>
<span class="portlet-title">
@@ -28,14 +28,10 @@
</template>
<script>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faChevronDown, faChevronUp } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { IconDefinition } from "font-awesome-6";
library.add(faChevronUp);
library.add(faChevronDown);
export default {
components: {
FontAwesomeIcon,
@@ -63,7 +59,10 @@ export default {
},
},
data() {
return {};
return {
faChevronUp,
faChevronDown,
};
},
computed: {
portletHeaderClasses() {
@@ -1,7 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCaretSquareDown, faCaretSquareUp } from "@fortawesome/free-regular-svg-icons";
import { faArrowsAltH, faExclamation, faTimes } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { sanitize } from "dompurify";
import type { ComputedRef } from "vue";
@@ -86,8 +83,6 @@ const emit = defineEmits<{
(e: "change", shouldRefresh: boolean): void;
}>();
library.add(faExclamation, faTimes, faArrowsAltH, faCaretSquareDown, faCaretSquareUp);
/** TODO: remove attrs computed.
useAttrs is *not* reactive, and does not play nice with type safety.
It is present for compatibility with the legacy "FormParameter" component,
-2
View File
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faThumbsDown, faThumbsUp } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BSkeleton } from "bootstrap-vue";
@@ -12,7 +11,6 @@ import { errorMessageAsString } from "@/utils/simple-error";
import GButton from "./BaseComponents/GButton.vue";
import LoadingSpan from "./LoadingSpan.vue";
library.add(faThumbsUp, faThumbsDown);
interface Props {
context?: string;
jobId: string;
@@ -1,11 +1,8 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faChevronDown, faChevronUp } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BLink } from "bootstrap-vue";
library.add(faChevronDown, faChevronUp);
interface Props {
detailsShowing?: boolean;
}
+3 -6
View File
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCaretDown, faCaretUp, faShieldAlt } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { useDebounceFn, useEventBus } from "@vueuse/core";
@@ -27,8 +26,6 @@ import UtcDate from "@/components/UtcDate.vue";
const eventBus = useEventBus<string>("grid-router-push");
const router = useRouter();
library.add(faCaretDown, faCaretUp, faShieldAlt);
interface Props {
// provide a grid configuration
gridConfig: GridConfig;
@@ -414,9 +411,9 @@ watch(operationMessage, () => {
<span v-if="sortBy === fieldEntry.key">
<FontAwesomeIcon
v-if="sortDesc"
icon="caret-down"
:icon="faCaretDown"
data-description="grid sort desc" />
<FontAwesomeIcon v-else icon="caret-up" data-description="grid sort asc" />
<FontAwesomeIcon v-else :icon="faCaretUp" data-description="grid sort asc" />
</span>
</BButton>
</span>
@@ -493,7 +490,7 @@ watch(operationMessage, () => {
@tag-click="applyFilter('tag', $event, true)" />
<span v-else v-localize> Not available. </span>
</div>
<FontAwesomeIcon v-else icon="fa-shield-alt" />
<FontAwesomeIcon v-else :icon="faShieldAlt" />
</td>
</tr>
<tr v-if="expanded.has(rowData)" data-description="grid expanded row">
-3
View File
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faPlus } from "@fortawesome/free-solid-svg-icons";
import { BNav, BNavItem } from "bootstrap-vue";
@@ -14,8 +13,6 @@ import GridList from "@/components/Grid/GridList.vue";
const userStore = useUserStore();
library.add(faPlus);
interface Props {
activeList?: "my" | "published";
username?: string;
@@ -1,6 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faPlus } from "@fortawesome/free-solid-svg-icons";
import { BNav, BNavItem } from "bootstrap-vue";
import visualizationsGridConfig from "@/components/Grid/configs/visualizations";
@@ -14,8 +12,6 @@ import GridList from "@/components/Grid/GridList.vue";
const userStore = useUserStore();
library.add(faPlus);
interface Props {
activeList?: "my" | "shared" | "published";
username?: string;
@@ -1,12 +1,9 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCheck, faTimes } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BBadge } from "bootstrap-vue";
import { computed } from "vue";
library.add(faCheck, faTimes);
interface Props {
itemName: string;
included: boolean;
@@ -21,8 +18,8 @@ const variant = computed(() => {
<template>
<BBadge :variant="variant">
<FontAwesomeIcon v-if="props.included" icon="check" />
<FontAwesomeIcon v-else icon="times" />
<FontAwesomeIcon v-if="props.included" :icon="faCheck" />
<FontAwesomeIcon v-else :icon="faTimes" />
{{ props.itemName }}
</BBadge>
</template>
@@ -1,13 +1,6 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCheckSquare, faSquare } from "@fortawesome/free-regular-svg-icons";
import {
faArrowCircleDown,
faArrowCircleUp,
faCheckCircle,
faExchangeAlt,
faSpinner,
} from "@fortawesome/free-solid-svg-icons";
import { faArrowCircleDown, faArrowCircleUp, faCheckCircle, faExchangeAlt } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BBadge, BButton, BCollapse } from "bootstrap-vue";
import { computed, ref } from "vue";
@@ -28,8 +21,6 @@ import ContentOptions from "./ContentOptions.vue";
import DatasetDetails from "./Dataset/DatasetDetails.vue";
import StatelessTags from "@/components/TagsMultiselect/StatelessTags.vue";
library.add(faArrowCircleUp, faArrowCircleDown, faCheckCircle, faExchangeAlt, faSpinner);
const router = useRouter();
const route = useRoute();
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faBug, faChartBar, faInfoCircle, faLink, faRedo, faSitemap } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BButton } from "bootstrap-vue";
@@ -15,8 +14,6 @@ import type { ItemUrls } from ".";
import DatasetDownload from "@/components/History/Content/Dataset/DatasetDownload.vue";
library.add(faBug, faChartBar, faInfoCircle, faLink, faRedo, faSitemap);
interface Props {
item: HDADetailed;
writable: boolean;
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faSave } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BButton, BDropdown, BDropdownItem } from "bootstrap-vue";
@@ -8,8 +7,6 @@ import { computed } from "vue";
import type { HDADetailed } from "@/api";
import { prependPath } from "@/utils/redirect";
library.add(faSave);
interface Props {
item: HDADetailed;
}
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faAngleDoubleLeft, faAngleLeft } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BButton } from "bootstrap-vue";
@@ -7,8 +6,6 @@ import { computed } from "vue";
import type { CollectionEntry } from "@/api";
library.add(faAngleDoubleLeft, faAngleLeft);
interface Props {
historyName: string;
selectedCollections: CollectionEntry[];
@@ -1,6 +1,5 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faDatabase, faEyeSlash, faHdd, faMapMarker, faSync, faTrash } from "@fortawesome/free-solid-svg-icons";
import { faDatabase, faEyeSlash, faMapMarker, faSync, faTrash } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { watchImmediate } from "@vueuse/core";
import { BButton, BButtonGroup } from "bootstrap-vue";
@@ -17,8 +16,6 @@ import { useUserStore } from "@/stores/userStore";
import GButton from "@/components/BaseComponents/GButton.vue";
library.add(faDatabase, faEyeSlash, faHdd, faMapMarker, faSync, faTrash);
const props = withDefaults(
defineProps<{
history: HistorySummaryExtended;
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faInfoCircle } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { useEventBus } from "@vueuse/core";
@@ -8,8 +7,6 @@ import { BAlert } from "bootstrap-vue";
import { useGlobalUploadModal } from "@/composables/globalUploadModal";
import localize from "@/utils/localization";
library.add(faInfoCircle);
const { emit } = useEventBus<string>("open-tool-section");
const props = withDefaults(
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faArchive, faBurn, faTrash } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BAlert } from "bootstrap-vue";
@@ -8,8 +7,6 @@ import { computed, ref } from "vue";
import { type AnyUser, type HistorySummary, userOwnsHistory } from "@/api";
import localize from "@/utils/localization";
library.add(faArchive, faBurn, faTrash);
interface Props {
history: HistorySummary;
currentUser: AnyUser;
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCog } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BDropdown, BDropdownItem, BDropdownText, BModal } from "bootstrap-vue";
@@ -14,8 +13,6 @@ import {
import { iframeRedirect } from "@/components/plugins/legacyNavigation";
import { useHistoryContentStats } from "@/composables/historyContentStats";
library.add(faCog);
interface Props {
history: HistorySummaryExtended;
}
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCheckSquare, faCompress } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
@@ -7,8 +6,6 @@ import type { HistorySummaryExtended } from "@/api";
import DefaultOperations from "@/components/History/CurrentHistory/HistoryOperations/DefaultOperations.vue";
library.add(faCheckSquare, faCompress);
interface Props {
history: HistorySummaryExtended;
hasMatches: boolean;
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faArchive, faBurn, faTrash } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BBadge } from "bootstrap-vue";
@@ -11,8 +10,6 @@ import localize from "@/utils/localization";
import UtcDate from "../UtcDate.vue";
library.add(faArchive, faBurn, faTrash);
const userStore = useUserStore();
const { currentUser } = storeToRefs(userStore);
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faPen, faSave, faUndo } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BButton, BFormInput, BFormTextarea } from "bootstrap-vue";
@@ -15,8 +14,6 @@ import ClickToEdit from "@/components/Collections/common/ClickToEdit.vue";
import TextSummary from "@/components/Common/TextSummary.vue";
import StatelessTags from "@/components/TagsMultiselect/StatelessTags.vue";
library.add(faPen, faSave, faUndo);
interface Props {
name?: string;
tags?: string[];
@@ -1,6 +1,5 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCheckSquare, faClock, faTimes, faUndo } from "@fortawesome/free-solid-svg-icons";
import { faCheckSquare, faClock, faUndo } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BAlert, BButton, BButtonGroup } from "bootstrap-vue";
import { storeToRefs } from "pinia";
@@ -26,8 +25,6 @@ const showAdvanced = ref(false);
const showSelectModal = ref(false);
const initialLoaded = ref(false);
library.add(faCheckSquare, faClock, faTimes, faUndo);
const { currentUser } = storeToRefs(useUserStore());
const { histories, currentHistory, historiesLoading } = storeToRefs(useHistoryStore());
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faTimes } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BButton } from "bootstrap-vue";
@@ -14,8 +13,6 @@ import HistoryNavigation from "@/components/History/CurrentHistory/HistoryNaviga
import HistoryPanel from "@/components/History/CurrentHistory/HistoryPanel.vue";
import LoadingSpan from "@/components/LoadingSpan.vue";
library.add(faTimes);
interface Props {
source: {
id: string;
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCheckSquare, faPlus } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { computed, type Ref, ref } from "vue";
@@ -18,8 +17,6 @@ import { useHistoryDragDrop } from "../../../composables/historyDragDrop";
import HistoryDropZone from "../CurrentHistory/HistoryDropZone.vue";
import MultipleViewItem from "./MultipleViewItem.vue";
library.add(faCheckSquare, faPlus);
const historyStore = useHistoryStore();
const props = withDefaults(
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faArchive, faBurn } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { computed } from "vue";
@@ -15,8 +14,6 @@ import { errorMessageAsString } from "@/utils/simple-error";
import GLink from "@/components/BaseComponents/GLink.vue";
import LoadingSpan from "@/components/LoadingSpan.vue";
library.add(faArchive, faBurn);
const router = useRouter();
const historyStore = useHistoryStore();
const userStore = useUserStore();
@@ -4,7 +4,7 @@
><a class="generated-export-link" :href="link">{{ link }}</a></b
>
<span v-b-tooltip.hover title="Copy export URL to your clipboard">
<FontAwesomeIcon class="copy-export-link" icon="link" style="cursor: pointer" @click="copyUrl" />
<FontAwesomeIcon class="copy-export-link" :icon="faLink" style="cursor: pointer" @click="copyUrl" />
</span>
<i
title="Information about when the history export was generated is included in the job details. Additionally, if there are issues with export, the job details may help figure out the underlying problem or communicate issues to your Galaxy administrator.">
@@ -17,7 +17,6 @@
</template>
<script>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faLink } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BModal } from "bootstrap-vue";
@@ -25,8 +24,6 @@ import { copy } from "utils/clipboard";
import JobInformation from "components/JobInformation/JobInformation.vue";
library.add(faLink);
export default {
components: { BModal, JobInformation, FontAwesomeIcon },
props: {
@@ -38,6 +35,7 @@ export default {
data() {
return {
details: false,
faLink,
};
},
computed: {
+6 -7
View File
@@ -37,15 +37,15 @@
stacked>
<b-form-radio value="externalUrl">
Export URL from another Galaxy instance
<FontAwesomeIcon icon="external-link-alt" />
<FontAwesomeIcon :icon="faExternalLinkAlt" />
</b-form-radio>
<b-form-radio value="upload">
Upload local file from your computer
<FontAwesomeIcon icon="upload" />
<FontAwesomeIcon :icon="faUpload" />
</b-form-radio>
<b-form-radio v-if="hasFileSources" value="remoteFilesUri">
Select a repository (e.g. Galaxy's FTP)
<FontAwesomeIcon icon="folder-open" />
<FontAwesomeIcon :icon="faFolderOpen" />
</b-form-radio>
</b-form-radio-group>
</b-form-group>
@@ -90,7 +90,6 @@
</template>
<script>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faExternalLinkAlt, faFolderOpen, faUpload } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { refDebounced } from "@vueuse/core";
@@ -112,9 +111,6 @@ import ExternalLink from "./ExternalLink";
import GButton from "./BaseComponents/GButton.vue";
import FilesInput from "components/FilesDialog/FilesInput.vue";
library.add(faFolderOpen);
library.add(faUpload);
library.add(faExternalLinkAlt);
Vue.use(BootstrapVue);
export default {
@@ -158,6 +154,9 @@ export default {
jobError: null,
jobId: null,
hasFileSources: false,
faExternalLinkAlt,
faFolderOpen,
faUpload,
};
},
computed: {
@@ -21,7 +21,7 @@
title="Advanced Filtering Help"
:size="size"
@click="onHelp">
<FontAwesomeIcon icon="question" />
<FontAwesomeIcon :icon="faQuestion" />
</BButton>
<BButton
v-b-tooltip.hover
@@ -29,7 +29,7 @@
title="Clear Filters (esc)"
:size="size"
@click="onReset">
<FontAwesomeIcon icon="times" />
<FontAwesomeIcon :icon="faTimes" />
</BButton>
</BInputGroupAppend>
</BInputGroup>
@@ -40,14 +40,11 @@
</template>
<script>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faQuestion, faTimes } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BButton, BInputGroup, BInputGroupAppend, BModal } from "bootstrap-vue";
import DebouncedInput from "components/DebouncedInput";
library.add(faTimes, faQuestion);
/**
* Component for the search/filter button on the top of Galaxy object index grids.
*/
@@ -90,6 +87,8 @@ export default {
return {
showHelp: false,
localFilter: this.value,
faQuestion,
faTimes,
};
},
watch: {
@@ -1,11 +1,8 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faGlobe, faLink, faShareAlt, faUsers } from "@fortawesome/free-solid-svg-icons";
import { faGlobe, faLink, faShareAlt } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BButton } from "bootstrap-vue";
library.add(faGlobe, faShareAlt, faLink, faUsers);
interface SharingIndicatorsProps {
object: {
deleted?: boolean;
@@ -30,7 +27,7 @@ const props = defineProps<SharingIndicatorsProps>();
variant="link"
title="Find all published items"
@click.prevent="$emit('filter', 'published')">
<FontAwesomeIcon icon="globe" />
<FontAwesomeIcon :icon="faGlobe" />
</BButton>
<BButton
v-if="props.object.importable"
@@ -40,7 +37,7 @@ const props = defineProps<SharingIndicatorsProps>();
variant="link"
title="Find all importable items"
@click.prevent="$emit('filter', 'importable')">
<FontAwesomeIcon icon="link" />
<FontAwesomeIcon :icon="faLink" />
</BButton>
<BButton
v-if="props.object.shared"
@@ -50,7 +47,7 @@ const props = defineProps<SharingIndicatorsProps>();
variant="link"
title="Find all items shared with me"
@click.prevent="$emit('filter', 'shared_with_me')">
<FontAwesomeIcon icon="share-alt" />
<FontAwesomeIcon :icon="faShareAlt" />
</BButton>
</span>
</template>
@@ -4,7 +4,7 @@
<div class="current-dataset chain-box">{{ datasetName }}</div>
<div v-if="inherit_chain && inherit_chain.length > 0">
<div v-for="({ name, dep }, i) in inherit_chain" :key="i">
<FontAwesomeIcon class="inheritance-arrow" size="3x" :icon="['fas', 'long-arrow-alt-up']" />
<FontAwesomeIcon class="inheritance-arrow" size="3x" :icon="faLongArrowAltUp" />
<div class="chain-box">{{ name }} in {{ dep }}</div>
</div>
</div>
@@ -12,7 +12,6 @@
</template>
<script>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faLongArrowAltUp } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
@@ -20,8 +19,6 @@ import { Services } from "./services";
import Heading from "../Common/Heading.vue";
library.add(faLongArrowAltUp);
export default {
components: { FontAwesomeIcon, Heading },
props: {
@@ -37,6 +34,7 @@ export default {
data() {
return {
inherit_chain: [],
faLongArrowAltUp,
};
},
created() {
@@ -28,12 +28,10 @@
</tr>
</template>
<script>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCompressAlt, faExpandAlt } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import HelpText from "components/Help/HelpText";
library.add(faCompressAlt, faExpandAlt);
export default {
components: {
FontAwesomeIcon,
@@ -50,6 +48,8 @@ export default {
mouseMoved: false,
expanded: false,
lastPos: 0,
faCompressAlt,
faExpandAlt,
};
},
computed: {
@@ -60,7 +60,7 @@ export default {
return this.expanded ? "code" : "code preview";
},
iconClass() {
return this.expanded ? ["fas", "compress-alt"] : ["fas", "expand-alt"];
return this.expanded ? this.faCompressAlt : this.faExpandAlt;
},
},
updated() {
@@ -2,7 +2,7 @@
<b-card border-variant="danger" :header="header">
<b-card-text>
<div @click="showInfo = true">
<a href="#">See full job details <FontAwesomeIcon icon="info-circle" /></a>
<a href="#">See full job details <FontAwesomeIcon :icon="faInfoCircle" /></a>
</div>
<div v-if="job.stderr" class="error-wrapper" @click="toggleExpanded">
Job Standard Error
@@ -18,7 +18,6 @@
</template>
<script>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faInfoCircle } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import BootstrapVue from "bootstrap-vue";
@@ -26,7 +25,6 @@ import Vue from "vue";
import JobInformation from "./JobInformation.vue";
library.add(faInfoCircle);
Vue.use(BootstrapVue);
export default {
@@ -45,6 +43,7 @@ export default {
return {
expanded: false,
showInfo: false,
faInfoCircle,
};
},
computed: {
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faQuestionCircle } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import type { GetComponentPropTypes } from "types/utilityTypes";
@@ -13,8 +12,6 @@ import BarChart from "./BarChart.vue";
import CarbonEmissionsCard from "./CarbonEmissionCard.vue";
import Heading from "@/components/Common/Heading.vue";
library.add(faQuestionCircle);
interface CarbonEmissionsProps {
estimatedServerInstance: {
name: string;
@@ -377,7 +374,7 @@ function getEnergyNeededText(energyNeededInKiloWattHours: number) {
class="align-self-start mt-2">
<span>
Learn more about how we calculate your carbon emissions data.
<FontAwesomeIcon icon="fa-question-circle" />
<FontAwesomeIcon :icon="faQuestionCircle" />
</span>
</router-link>
</div>
@@ -1,32 +1,20 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import {
faBolt,
faCar,
faGasPump,
faLightbulb,
faMobile,
faSmog,
faTree,
faTruck,
} from "@fortawesome/free-solid-svg-icons";
import { faBolt, faCar, faGasPump, faLightbulb, faMobile, faSmog, faTree } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
library.add(faBolt, faCar, faGasPump, faLightbulb, faMobile, faSmog, faTree, faTruck);
const props = defineProps<{
icon: "bolt" | "car" | "gasPump" | "lightbulb" | "mobilePhone" | "smog" | "tree";
}>();
</script>
<template>
<FontAwesomeIcon v-if="props.icon === 'car'" class="icon" icon="fa-car" />
<FontAwesomeIcon v-else-if="props.icon === 'gasPump'" class="icon" icon="fa-gas-pump" />
<FontAwesomeIcon v-else-if="props.icon === 'lightbulb'" class="icon" icon="fa-lightbulb" />
<FontAwesomeIcon v-else-if="props.icon === 'bolt'" class="icon" icon="fa-bolt" />
<FontAwesomeIcon v-else-if="props.icon === 'mobilePhone'" class="icon" icon="fa-mobile" />
<FontAwesomeIcon v-else-if="props.icon === 'smog'" class="icon" icon="fa-smog" />
<FontAwesomeIcon v-else-if="props.icon === 'tree'" class="icon" icon="fa-tree" />
<FontAwesomeIcon v-if="props.icon === 'car'" class="icon" :icon="faCar" />
<FontAwesomeIcon v-else-if="props.icon === 'gasPump'" class="icon" :icon="faGasPump" />
<FontAwesomeIcon v-else-if="props.icon === 'lightbulb'" class="icon" :icon="faLightbulb" />
<FontAwesomeIcon v-else-if="props.icon === 'bolt'" class="icon" :icon="faBolt" />
<FontAwesomeIcon v-else-if="props.icon === 'mobilePhone'" class="icon" :icon="faMobile" />
<FontAwesomeIcon v-else-if="props.icon === 'smog'" class="icon" :icon="faSmog" />
<FontAwesomeIcon v-else-if="props.icon === 'tree'" class="icon" :icon="faTree" />
</template>
<style scoped>
@@ -61,8 +61,6 @@
</template>
<script>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faInfoCircle } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import axios from "axios";
import { buildFields } from "components/Libraries/library-utils";
@@ -70,8 +68,6 @@ import UtcDate from "components/UtcDate";
import { getAppRoot } from "onload/loadConfig";
import _l from "utils/localization";
library.add(faInfoCircle);
export default {
components: {
FontAwesomeIcon,
@@ -128,9 +128,6 @@
</template>
<script>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faSave } from "@fortawesome/free-regular-svg-icons";
import { faBook, faDownload, faPencilAlt, faRedo, faTimes, faUsers } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import CopyToClipboard from "components/CopyToClipboard";
import { buildFields } from "components/Libraries/library-utils";
@@ -146,8 +143,6 @@ import { mapState } from "pinia";
import { useUserStore } from "@/stores/userStore";
library.add(faUsers, faRedo, faBook, faDownload, faPencilAlt, faTimes, faSave);
export default {
components: {
LibraryBreadcrumb,
@@ -45,8 +45,6 @@
</template>
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faQuestion } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { computed, ref } from "vue";
@@ -56,8 +54,6 @@ import CellEditor from "./Editor/CellEditor.vue";
import TextEditor from "./Editor/TextEditor.vue";
import MarkdownHelp from "@/components/Markdown/MarkdownHelp.vue";
library.add(faQuestion);
const props = defineProps<{
markdownText: string;
mode: "report" | "page";
@@ -1,13 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import {
faChevronLeft,
faChevronRight,
faExclamationCircle,
faExclamationTriangle,
faInfoCircle,
faTimes,
} from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BButton } from "bootstrap-vue";
import { computed, ref, watch } from "vue";
@@ -20,8 +11,6 @@ import { match } from "@/utils/utils";
import Heading from "@/components/Common/Heading.vue";
library.add(faInfoCircle, faTimes, faChevronRight, faChevronLeft, faExclamationTriangle, faExclamationCircle);
type BroadcastNotificationCreateRequest = components["schemas"]["BroadcastNotificationCreateRequest"];
type Options =
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faBell } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BNavItem } from "bootstrap-vue";
@@ -10,8 +9,6 @@ import { useNotificationsStore } from "@/stores/notificationsStore";
import Popper from "components/Popper/Popper.vue";
library.add(faBell);
defineProps({
tooltipPlacement: {
type: String,
@@ -1,6 +1,5 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCog, faHourglassHalf, faRetweet } from "@fortawesome/free-solid-svg-icons";
import { faCheck, faCog, faRetweet, faTrash } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BAlert, BButton, BButtonGroup, BCollapse, BFormCheckbox } from "bootstrap-vue";
import { storeToRefs } from "pinia";
@@ -14,8 +13,6 @@ import LoadingSpan from "@/components/LoadingSpan.vue";
import NotificationCard from "@/components/Notifications/NotificationCard.vue";
import NotificationsPreferences from "@/components/User/Notifications/NotificationsPreferences.vue";
library.add(faCog, faHourglassHalf, faRetweet);
const notificationsStore = useNotificationsStore();
const { notifications, loadingNotifications } = storeToRefs(notificationsStore);
@@ -122,12 +119,12 @@ function togglePreferences() {
<div v-if="haveSelected">
<BButton size="sm" variant="outline-primary" @click="updateNotifications({ seen: true })">
<FontAwesomeIcon icon="check" />
<FontAwesomeIcon :icon="faCheck" />
Mark as read
</BButton>
<BButton size="sm" variant="outline-primary" @click="updateNotifications({ deleted: true })">
<FontAwesomeIcon icon="trash" />
<FontAwesomeIcon :icon="faTrash" />
Delete
</BButton>
</div>
@@ -143,7 +140,7 @@ function togglePreferences() {
:pressed="showUnread"
variant="outline-primary"
@click="showUnread = !showUnread">
<FontAwesomeIcon icon="check" />
<FontAwesomeIcon :icon="faCheck" />
Unread
</BButton>
@@ -153,7 +150,7 @@ function togglePreferences() {
:pressed="showShared"
variant="outline-primary"
@click="showShared = !showShared">
<FontAwesomeIcon icon="retweet" />
<FontAwesomeIcon :icon="faRetweet" />
Shared
</BButton>
</BButtonGroup>
@@ -43,8 +43,6 @@
</template>
<script>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faEye, faSave, faUsers } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import BootstrapVue from "bootstrap-vue";
import MarkdownEditor from "components/Markdown/MarkdownEditor";
@@ -57,8 +55,6 @@ import ObjectPermissionsModal from "./ObjectPermissionsModal.vue";
Vue.use(BootstrapVue);
library.add(faEye, faSave, faUsers);
export default {
components: {
MarkdownEditor,
@@ -8,12 +8,8 @@
</template>
<script>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faExternalLinkAlt } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
library.add(faExternalLinkAlt);
export default {
components: { FontAwesomeIcon },
props: {
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faFilter } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { useEventBus } from "@vueuse/core";
@@ -13,8 +12,6 @@ import Tool from "./Tool.vue";
import ToolPanelLabel from "./ToolPanelLabel.vue";
import ToolPanelLinks from "./ToolPanelLinks.vue";
library.add(faFilter);
const emit = defineEmits<{
(e: "onClick", tool: any, evt: Event): void;
(e: "onFilter", filter: string): void;
@@ -1,13 +1,9 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faChevronLeft, faChevronRight } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { computed, ref, watch } from "vue";
import DraggableSeparator from "@/components/Common/DraggableSeparator.vue";
library.add(faChevronLeft, faChevronRight);
const DEFAULT_WIDTH = 300;
interface Props {
@@ -1,6 +1,5 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faColumns, faPlus, faUndo } from "@fortawesome/free-solid-svg-icons";
import { faPlus, faUndo } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BBadge, BButton, BButtonGroup } from "bootstrap-vue";
import { storeToRefs } from "pinia";
@@ -22,8 +21,6 @@ import ActivityPanel from "@/components/Panels/ActivityPanel.vue";
const route = useRoute();
const router = useRouter();
library.add(faColumns, faPlus, faUndo);
const filter = ref("");
const showAdvanced = ref(false);
const loading = ref(false);
-4
View File
@@ -17,8 +17,6 @@
</template>
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faTimesCircle } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import type { Placement } from "@popperjs/core";
import type { PropType } from "vue";
@@ -26,8 +24,6 @@ import { ref } from "vue";
import { type Trigger, usePopper } from "./usePopper";
library.add(faTimesCircle);
const props = defineProps({
arrow: { type: Boolean, default: true },
disabled: { type: Boolean, default: false },
@@ -17,7 +17,7 @@
size="sm"
title="Edit Creator"
@click="onEdit(index)">
<FontAwesomeIcon icon="edit" />
<FontAwesomeIcon :icon="faEdit" />
</BButton>
<BButton
v-b-tooltip.hover
@@ -26,7 +26,7 @@
size="sm"
title="Remove Creator"
@click="onRemove(index)">
<FontAwesomeIcon icon="times" />
<FontAwesomeIcon :icon="faTimes" />
</BButton>
</template>
</CreatorViewer>
@@ -43,7 +43,6 @@
</template>
<script>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faEdit, faTimes } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
@@ -51,9 +50,6 @@ import CreatorViewer from "./CreatorViewer";
import OrganizationForm from "./OrganizationForm";
import PersonForm from "./PersonForm";
library.add(faTimes);
library.add(faEdit);
export default {
components: {
FontAwesomeIcon,
@@ -69,6 +65,8 @@ export default {
},
data() {
return {
faEdit,
faTimes,
creatorsCurrent: [],
editIndex: null,
};
@@ -4,7 +4,7 @@
<div v-for="attribute in displayedAttributes" :key="attribute.key" role="group" class="form-group">
<label :for="attribute.key">{{ attribute.label }}</label>
<span v-b-tooltip.hover title="Hide Attribute"
><FontAwesomeIcon icon="eye-slash" @click="onHide(attribute.key)"
><FontAwesomeIcon :icon="faEyeSlash" @click="onHide(attribute.key)"
/></span>
<div v-if="currentErrors[attribute.key]" class="error">{{ currentErrors[attribute.key] }}</div>
<b-form-input
@@ -25,8 +25,7 @@
</template>
<script>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faEyeSlash, faLink } from "@fortawesome/free-solid-svg-icons";
import { faEyeSlash } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import ThingFormMixin from "./ThingFormMixin";
@@ -44,8 +43,6 @@ const ATTRIBUTES_INFO = [
];
const ATTRIBUTES = ATTRIBUTES_INFO.map((a) => a.key);
library.add(faEyeSlash, faLink);
export default {
components: {
FontAwesomeIcon,
@@ -74,6 +71,7 @@ export default {
show[attribute] = showAttribute;
}
return {
faEyeSlash,
attributeInfo: ATTRIBUTES_INFO,
show: show,
currentValues: currentValues,
@@ -1,6 +1,6 @@
<template>
<span itemprop="creator" itemscope itemtype="https://schema.org/Organization">
<FontAwesomeIcon ref="button" icon="building" />
<FontAwesomeIcon ref="button" :icon="faBuilding" />
<b-popover
triggers="click blur"
:placement="hoverPlacement"
@@ -20,7 +20,7 @@
</span>
<a v-if="url" v-b-tooltip.hover title="Organization URL" :href="url" target="_blank">
<link itemprop="url" :href="url" />
<FontAwesomeIcon icon="external-link-alt" />
<FontAwesomeIcon :icon="faExternalLinkAlt" />
</a>
<meta
v-for="attribute in explicitMetaAttributes"
@@ -32,14 +32,11 @@
</template>
<script>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faBuilding, faExternalLinkAlt } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import ThingViewerMixin from "./ThingViewerMixin";
library.add(faExternalLinkAlt, faBuilding);
export default {
components: {
FontAwesomeIcon,
@@ -56,6 +53,8 @@ export default {
},
data() {
return {
faBuilding,
faExternalLinkAlt,
implicitMicrodataProperties: ["name", "email", "url", "identifier"],
thing: this.organization,
};
@@ -4,7 +4,7 @@
<div v-for="attribute in displayedAttributes" :key="attribute.key" role="group" class="form-group">
<label :for="attribute.key">{{ attribute.label }}</label>
<span v-b-tooltip.hover title="Hide Attribute"
><FontAwesomeIcon icon="eye-slash" @click="onHide(attribute.key)"
><FontAwesomeIcon :icon="faEyeSlash" @click="onHide(attribute.key)"
/></span>
<div v-if="currentErrors[attribute.key]" class="error">{{ currentErrors[attribute.key] }}</div>
<b-form-input
@@ -25,8 +25,7 @@
</template>
<script>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faEyeSlash, faLink } from "@fortawesome/free-solid-svg-icons";
import { faEyeSlash } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import ThingFormMixin from "./ThingFormMixin";
@@ -49,8 +48,6 @@ const ATTRIBUTES_INFO = [
];
const ATTRIBUTES = ATTRIBUTES_INFO.map((a) => a.key);
library.add(faEyeSlash, faLink);
export default {
components: {
FontAwesomeIcon,
@@ -79,6 +76,7 @@ export default {
show[attribute] = showAttribute;
}
return {
faEyeSlash,
attributeInfo: ATTRIBUTES_INFO,
show: show,
currentValues: currentValues,
@@ -1,6 +1,6 @@
<template>
<span itemprop="creator" itemscope itemtype="https://schema.org/Person">
<FontAwesomeIcon ref="button" icon="user" />
<FontAwesomeIcon ref="button" :icon="faUser" />
<b-popover
triggers="click blur"
:placement="hoverPlacement"
@@ -27,7 +27,7 @@
</a>
<a v-if="url" v-b-tooltip.hover title="URL" :href="url" target="_blank">
<link itemprop="url" :href="url" />
<FontAwesomeIcon icon="external-link-alt" />
<FontAwesomeIcon :icon="faExternalLinkAlt" />
</a>
<meta
v-for="attribute in explicitMetaAttributes"
@@ -39,15 +39,12 @@
</template>
<script>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faOrcid } from "@fortawesome/free-brands-svg-icons";
import { faExternalLinkAlt, faUser } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import ThingViewerMixin from "./ThingViewerMixin";
library.add(faOrcid, faUser, faExternalLinkAlt);
export default {
components: {
FontAwesomeIcon,
@@ -64,6 +61,9 @@ export default {
},
data() {
return {
faOrcid,
faUser,
faExternalLinkAlt,
implicitMicrodataProperties: ["name", "givenName", "email", "familyName", "url", "identifier"],
thing: this.person,
};
@@ -1,12 +1,9 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faTimes } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BButton, BFormInput, BInputGroup, BInputGroupAppend } from "bootstrap-vue";
import { computed } from "vue";
library.add(faTimes);
interface Props {
value: string;
title?: string;
@@ -36,7 +33,7 @@ const placeholder = computed(() => `search ${props.title.toLowerCase()}`);
<BInputGroup class="w-100">
<BFormInput v-model="filter" :placeholder="placeholder" debounce="500" />
<BInputGroupAppend>
<BButton :disabled="!filter" @click="filter = ''"><FontAwesomeIcon icon="times" /></BButton>
<BButton :disabled="!filter" @click="filter = ''"><FontAwesomeIcon :icon="faTimes" /></BButton>
</BInputGroupAppend>
</BInputGroup>
</template>
@@ -1,5 +1,5 @@
<script setup lang="ts">
import { type IconDefinition, library } from "@fortawesome/fontawesome-svg-core";
import type { IconDefinition } from "@fortawesome/fontawesome-svg-core";
import { faCheckSquare, faMinusSquare, faSquare } from "@fortawesome/free-regular-svg-icons";
import { faCaretLeft, faCheck, faFolder, faSpinner, faTimes } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
@@ -16,8 +16,6 @@ import Heading from "@/components/Common/Heading.vue";
import DataDialogSearch from "@/components/SelectionDialog/DataDialogSearch.vue";
import StatelessTags from "@/components/TagsMultiselect/StatelessTags.vue";
library.add(faCaretLeft, faCheck, faCheckSquare, faFolder, faMinusSquare, faSpinner, faSquare, faTimes);
const LABEL_FIELD: FieldEntry = { key: "label", sortable: true };
const SELECT_ICON_FIELD: FieldEntry = { key: "__select_icon__", label: "", sortable: false };
@@ -1,6 +1,5 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCheck, faCopy, faEdit } from "@fortawesome/free-solid-svg-icons";
import { faCheck, faEdit } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BButton } from "bootstrap-vue";
import { computed, nextTick, ref } from "vue";
@@ -9,8 +8,6 @@ import { copy } from "@/utils/clipboard";
import SlugInput from "./SlugInput.vue";
library.add(faCopy, faEdit, faCheck);
const props = defineProps<{
prefix: string;
slug: string;
@@ -77,10 +74,10 @@ function onCopyOut() {
title="Edit URL"
size="md"
@click="onEdit">
<FontAwesomeIcon icon="edit" fixed-width />
<FontAwesomeIcon :icon="faEdit" fixed-width />
</BButton>
<BButton v-else v-b-tooltip.hover class="inline-icon-button" title="Done" size="md" @click="onSubmit">
<FontAwesomeIcon icon="check" fixed-width />
<FontAwesomeIcon :icon="faCheck" fixed-width />
</BButton>
<BButton
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCopy } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { useDebounce } from "@vueuse/core";
@@ -12,8 +11,6 @@ import { copy } from "@/utils/clipboard";
import ZoomControl from "@/components/Workflow/Editor/ZoomControl.vue";
import WorkflowPublished from "@/components/Workflow/Published/WorkflowPublished.vue";
library.add(faCopy);
const props = defineProps<{
id: string;
}>();
@@ -141,7 +138,7 @@ const clipboardTitle = computed(() => (copied.value ? "Copied!" : "Copy URL"));
variant="primary"
@click="onCopy"
@blur="onCopyOut">
<FontAwesomeIcon icon="copy" />
<FontAwesomeIcon :icon="faCopy" />
</BButton>
</BInputGroupAppend>
</BInputGroup>
@@ -1,6 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCaretDown, faCaretUp, faCopy, faEdit, faUserPlus, faUserSlash } from "@fortawesome/free-solid-svg-icons";
import axios from "axios";
import { BFormCheckbox } from "bootstrap-vue";
import { computed, nextTick, reactive, ref, watch } from "vue";
@@ -20,8 +18,6 @@ import ErrorMessages from "./ErrorMessages.vue";
import UserSharing from "./UserSharing.vue";
import Heading from "@/components/Common/Heading.vue";
library.add(faCopy, faEdit, faUserPlus, faUserSlash, faCaretDown, faCaretUp);
const props = defineProps<{
id: string;
pluralName: string;
+4 -4
View File
@@ -9,8 +9,8 @@
:size="size"
@click="onDownload(config)">
Generate
<FontAwesomeIcon v-if="waiting" icon="spinner" spin />
<FontAwesomeIcon v-else icon="download" />
<FontAwesomeIcon v-if="waiting" :icon="faSpinner" spin />
<FontAwesomeIcon v-else :icon="faDownload" />
</GButton>
</template>
@@ -19,7 +19,6 @@
A Galaxy Button with logic for interfacing with Galaxy's short term storage
component (STS).
*/
import { library } from "@fortawesome/fontawesome-svg-core";
import { faDownload, faSpinner } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import axios from "axios";
@@ -31,7 +30,6 @@ import { useConfig } from "@/composables/config";
import GButton from "./BaseComponents/GButton.vue";
library.add(faDownload, faSpinner);
export default {
components: {
FontAwesomeIcon,
@@ -75,6 +73,8 @@ export default {
},
data() {
return {
faDownload,
faSpinner,
waiting: false,
delay: 200,
};
@@ -6,7 +6,6 @@
* not a fully featured Multiselect alternative
*/
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCheck, faChevronUp, faPlus, faTags, faTimes } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { useElementBounding, whenever } from "@vueuse/core";
@@ -17,8 +16,6 @@ import Vue2Teleport from "vue2-teleport";
import { useUid } from "@/composables/utils/uid";
import { normalizeTag } from "@/stores/userTagsStore";
library.add(faCheck, faChevronUp, faPlus, faTags, faTimes);
const props = withDefaults(
defineProps<{
options: Array<string>;
@@ -309,12 +306,12 @@ whenever(isOpen, async () => {
title="close"
@click="close(true)"
@keydown.tab="onCloseButtonTab">
<FontAwesomeIcon icon="fa-chevron-up" />
<FontAwesomeIcon :icon="faChevronUp" />
</button>
</fieldset>
<button v-else ref="openButton" class="toggle-button" @click="open">
{{ props.placeholder }}
<FontAwesomeIcon icon="fa-tags" />
<FontAwesomeIcon :icon="faTags" />
</button>
<Vue2Teleport v-if="isOpen" :to="`#${getPopupLayerId()}`">
@@ -357,14 +354,14 @@ whenever(isOpen, async () => {
<template v-if="highlightedOption === i">
<FontAwesomeIcon
class="headless-multiselect__needs-highlight"
icon="fa-times"
:icon="faTimes"
fixed-width />
<span class="sr-only">remove tag</span>
</template>
<FontAwesomeIcon v-else icon="fa-check" fixed-width />
<FontAwesomeIcon v-else :icon="faCheck" fixed-width />
</span>
<span v-else class="headless-multiselect__info">
<FontAwesomeIcon class="headless-multiselect__needs-highlight" icon="fa-plus" fixed-width />
<FontAwesomeIcon class="headless-multiselect__needs-highlight" :icon="faPlus" fixed-width />
<span class="sr-only">add tag</span>
</span>
</button>
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faTimes } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { computed } from "vue";
@@ -20,8 +19,6 @@ const emit = defineEmits<{
(e: "deleted", tag: string): void;
}>();
library.add(faTimes);
const color = computed(() => keyedColorScheme(props.option));
function onClick() {
@@ -54,7 +51,7 @@ const searched = computed(() => props.option?.toLowerCase() === props.search?.to
class="px-1 py-0 tag-delete-button"
tabindex="-1"
@click.prevent.stop="onDelete">
<FontAwesomeIcon icon="fa-times"></FontAwesomeIcon>
<FontAwesomeIcon :icon="faTimes"></FontAwesomeIcon>
</b-button>
</div>
</template>
+10 -8
View File
@@ -9,7 +9,7 @@
variant="link"
size="sm"
@click="copyBibtex">
<FontAwesomeIcon icon="copy" />
<FontAwesomeIcon :icon="faCopy" />
</b-button>
<CitationItem
v-for="(citation, index) in citations"
@@ -25,7 +25,7 @@
title="Learn more about Galaxy Requirements"
href="https://galaxyproject.org/tools/requirements/"
target="_blank">
See details <FontAwesomeIcon icon="external-link-alt" />
See details <FontAwesomeIcon :icon="faExternalLinkAlt" />
</a>
<div v-for="(requirement, index) in requirements" :key="index">
- {{ requirement.name }}
@@ -43,10 +43,13 @@
<template v-if="xref.type == 'bio.tools'">
bio.tools: {{ xref.value }} (<a :href="`https://bio.tools/${xref.value}`" target="_blank"
>bio.tools
<FontAwesomeIcon v-b-tooltip.hover title="Visit bio.tools page" icon="external-link-alt" /> </a
<FontAwesomeIcon v-b-tooltip.hover title="Visit bio.tools page" :icon="faExternalLinkAlt" /> </a
>) (<a :href="`https://openebench.bsc.es/tool/${xref.value}`" target="_blank"
>OpenEBench
<FontAwesomeIcon v-b-tooltip.hover title="Visit OpenEBench page" icon="external-link-alt" /> </a
<FontAwesomeIcon
v-b-tooltip.hover
title="Visit OpenEBench page"
:icon="faExternalLinkAlt" /> </a
>)
</template>
<template v-else-if="xref.type == 'bioconductor'">
@@ -66,8 +69,7 @@
</template>
<script>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faAngleDoubleDown, faAngleDoubleUp, faCopy, faQuestion } from "@fortawesome/free-solid-svg-icons";
import { faCopy, faExternalLinkAlt } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { getCitations } from "components/Citation/services";
import License from "components/License/License";
@@ -76,8 +78,6 @@ import { copy } from "utils/clipboard";
import CitationItem from "components/Citation/CitationItem.vue";
library.add(faQuestion, faCopy, faAngleDoubleDown, faAngleDoubleUp);
export default {
components: {
CitationItem,
@@ -109,6 +109,8 @@ export default {
data() {
return {
citations: [],
faCopy,
faExternalLinkAlt,
};
},
computed: {
@@ -1,5 +1,4 @@
<script setup>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faEye } from "@fortawesome/free-regular-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { useConfig } from "composables/config";
@@ -9,8 +8,6 @@ import { useUserStore } from "@/stores/userStore";
import ToolSource from "./ToolSource.vue";
library.add(faEye);
const { config } = useConfig(true);
const { currentUser } = storeToRefs(useUserStore());
@@ -29,7 +26,7 @@ const props = defineProps({
<template>
<div v-if="config.enable_tool_source_display || (currentUser && currentUser.is_admin)">
<b-dropdown-item v-b-modal.tool-source-viewer>
<FontAwesomeIcon icon="far fa-eye" /><span v-localize>View Tool source</span>
<FontAwesomeIcon :icon="faEye" /><span v-localize>View Tool source</span>
</b-dropdown-item>
<b-modal
id="tool-source-viewer"
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCaretDown } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BButton, BCollapse } from "bootstrap-vue";
@@ -19,8 +18,6 @@ const props = defineProps<{
owner?: string;
}>();
library.add(faCaretDown);
const { trainingAvailable, trainingCategories, tutorialDetails, allTutorialsUrl, versionAvailable } =
useToolTrainingMaterial(props.id, props.name, props.version, props.owner);
@@ -61,13 +58,13 @@ const tutorialText = computed(() => {
Tutorials available in {{ trainingCategories.length }}
{{ trainingCategories.length > 1 ? "categories" : "category" }}
</b>
<FontAwesomeIcon icon="caret-down" />
<FontAwesomeIcon :icon="faCaretDown" />
</BButton>
<BCollapse :id="collapseId">
<div v-for="category in trainingCategories" :key="category">
<BButton v-b-toggle="idForCategory(category)" class="ui-link ml-3">
{{ category }} ({{ tutorialsInCategory(category).length }})
<FontAwesomeIcon icon="caret-down" />
<FontAwesomeIcon :icon="faCaretDown" />
</BButton>
<BCollapse :id="idForCategory(category)">
<ul class="d-flex flex-column my-1">
@@ -8,7 +8,7 @@
There is an InteractiveTool result view available,
<a v-b-tooltip title="Open Interactive Tool" :href="entryPointsForJob(jobId)[0].target" target="_blank">
Open
<FontAwesomeIcon icon="external-link-alt" />
<FontAwesomeIcon :icon="faExternalLinkAlt" />
</a>
</span>
<span v-else>
@@ -23,7 +23,7 @@
<span v-if="entryPoint.active">
<a v-b-tooltip title="Open Interactive Tool" :href="entryPoint.target" target="_blank">
(Open
<FontAwesomeIcon icon="external-link-alt" />)
<FontAwesomeIcon :icon="faExternalLinkAlt" />)
</a>
</span>
<span v-else> (waiting to become active...) </span>
@@ -37,15 +37,12 @@
</template>
<script>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faExternalLinkAlt } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { getAppRoot } from "onload/loadConfig";
import { mapState } from "pinia";
import { useEntryPointStore } from "stores/entryPointStore";
library.add(faExternalLinkAlt);
export default {
components: {
FontAwesomeIcon,
@@ -56,6 +53,11 @@ export default {
required: true,
},
},
data() {
return {
faExternalLinkAlt,
};
},
computed: {
...mapState(useEntryPointStore, ["entryPointsForJob"]),
interactiveToolsLink: function () {
@@ -1,11 +1,8 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faChevronUp } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BButton } from "bootstrap-vue";
library.add(faChevronUp);
interface Props {
offset: number;
}
@@ -22,7 +19,7 @@ const props = withDefaults(defineProps<Props>(), {
:title="props.offset > 100 ? 'Scroll To Top' : ''"
variant="info"
@click="$emit('click')">
<FontAwesomeIcon icon="fa-chevron-up" />
<FontAwesomeIcon :icon="faChevronUp" />
</BButton>
</template>
@@ -1,5 +1,4 @@
<script setup>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCheck, faEdit, faExclamation, faFolderOpen, faLaptop } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BDropdown, BDropdownItem } from "bootstrap-vue";
@@ -11,8 +10,6 @@ import { DEFAULT_FILE_NAME } from "./utils";
import UploadSettings from "./UploadSettings.vue";
library.add(faCheck, faEdit, faExclamation, faFolderOpen, faLaptop);
const props = defineProps({
fileContent: {
type: String,
@@ -158,15 +155,15 @@ function onDrop(evt) {
text="Select"
:variant="fileSize > 0 ? 'secondary' : 'primary'">
<BDropdownItem @click="uploadFile.click()">
<FontAwesomeIcon icon="fa-laptop" />
<FontAwesomeIcon :icon="faLaptop" />
<span v-localize>Choose local file</span>
</BDropdownItem>
<BDropdownItem v-if="hasRemoteFiles" @click="inputRemoteFiles">
<FontAwesomeIcon icon="fa-folder-open" />
<FontAwesomeIcon :icon="faFolderOpen" />
<span v-localize>Choose from repository</span>
</BDropdownItem>
<BDropdownItem @click="inputPaste">
<FontAwesomeIcon icon="fa-edit" />
<FontAwesomeIcon :icon="faEdit" />
<span v-localize>Paste/Fetch data</span>
</BDropdownItem>
</BDropdown>
@@ -196,9 +193,9 @@ function onDrop(evt) {
<div>
<FontAwesomeIcon v-if="['running', 'queued'].includes(status)" icon="fa-spinner" spin fixed-width />
<FontAwesomeIcon v-else-if="status === 'error'" icon="fa-exclamation-triangle" fixed-width />
<FontAwesomeIcon v-else-if="fileSize > 0" icon="fa-check" fixed-width />
<FontAwesomeIcon v-else-if="optional" class="text-info" icon="fa-check" fixed-width />
<FontAwesomeIcon v-else icon="fa-exclamation" fixed-width />
<FontAwesomeIcon v-else-if="fileSize > 0" :icon="faCheck" fixed-width />
<FontAwesomeIcon v-else-if="optional" class="text-info" :icon="faCheck" fixed-width />
<FontAwesomeIcon v-else :icon="faExclamation" fixed-width />
</div>
</div>
<div v-if="info" v-localize class="upload-text-message font-weight-bold">
+3 -6
View File
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faEdit, faFolderOpen, faLaptop } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { useDebounceFn } from "@vueuse/core";
@@ -18,8 +17,6 @@ import UploadExtension from "./UploadExtension.vue";
import UploadSelect from "./UploadSelect.vue";
import UploadSettings from "./UploadSettings.vue";
library.add(faEdit, faLaptop, faFolderOpen);
const { isAnonymous } = storeToRefs(useUserStore());
const fileField: Ref<HTMLInputElement | null> = ref(null);
@@ -129,9 +126,9 @@ initializeExplorableArchive();
<div :id="`upload-row-${index}`" class="upload-row rounded my-1 p-2" :class="`upload-${status}`">
<div class="d-flex justify-content-around align-items-center">
<div>
<FontAwesomeIcon v-if="fileMode == 'new'" icon="fa-edit" fixed-width />
<FontAwesomeIcon v-if="fileMode == 'local'" icon="fa-laptop" fixed-width />
<FontAwesomeIcon v-if="fileMode == 'url'" icon="fa-folder-open" fixed-width />
<FontAwesomeIcon v-if="fileMode == 'new'" :icon="faEdit" fixed-width />
<FontAwesomeIcon v-if="fileMode == 'local'" :icon="faLaptop" fixed-width />
<FontAwesomeIcon v-if="fileMode == 'url'" :icon="faFolderOpen" fixed-width />
</div>
<b-input
ref="fileField"
+5 -8
View File
@@ -1,5 +1,4 @@
<script setup>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faEdit, faFile, faFolderOpen, faLock } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { getGalaxyInstance } from "app";
@@ -14,8 +13,6 @@ import { RULES_TYPES } from "./utils.js";
import UploadSelect from "./UploadSelect.vue";
library.add(faEdit, faFile, faFolderOpen, faLock);
const props = defineProps({
hasCallback: {
type: Boolean,
@@ -129,26 +126,26 @@ function inputRemote() {
class="upload-box upload-rule-source-content"
placeholder="Insert tabular source data here."
:disabled="isDisabled" />
<FontAwesomeIcon v-if="isDisabled" class="upload-text-lock" icon="fa-lock" />
<FontAwesomeIcon v-if="isDisabled" class="upload-text-lock" :icon="faLock" />
<div class="upload-footer text-center">
<span class="upload-footer-title">Upload type:</span>
<UploadSelect v-model="dataType" class="rule-data-type" :options="RULES_TYPES" :searchable="false" />
</div>
<div class="upload-buttons d-flex justify-content-end">
<BButton @click="inputPaste">
<FontAwesomeIcon icon="fa-edit" />
<FontAwesomeIcon :icon="faEdit" />
<span v-localize>Paste data</span>
</BButton>
<BButton data-description="rules dataset dialog" @click="inputDialog">
<FontAwesomeIcon icon="fa-file" />
<FontAwesomeIcon :icon="faFile" />
<span v-localize>Choose dataset</span>
</BButton>
<BButton v-if="ftpUploadSite" @click="inputFtp">
<FontAwesomeIcon icon="fa-folder-open" />
<FontAwesomeIcon :icon="faFolderOpen" />
<span v-localize>Import FTP files</span>
</BButton>
<BButton @click="inputRemote">
<FontAwesomeIcon icon="fa-folder-open" />
<FontAwesomeIcon :icon="faFolderOpen" />
<span v-localize>Choose from repository</span>
</BButton>
<BButton
@@ -1,5 +1,4 @@
<script setup>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faSearch } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { computed } from "vue";
@@ -8,8 +7,6 @@ import { findExtension } from "./utils";
import Popper from "@/components/Popper/Popper.vue";
library.add(faSearch);
const props = defineProps({
extension: {
type: String,
@@ -27,7 +24,7 @@ const details = computed(() => findExtension(props.listExtensions, props.extensi
<template>
<Popper placement="bottom" mode="light">
<template v-slot:reference>
<FontAwesomeIcon icon="fa-search" />
<FontAwesomeIcon :icon="faSearch" />
</template>
<div class="p-2">
<div v-if="details && details.description">
@@ -1,11 +1,8 @@
<script setup>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faSquare } from "@fortawesome/free-regular-svg-icons";
import { faCheckSquare } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
library.add(faCheckSquare, faSquare);
defineProps({
title: {
type: String,
@@ -23,8 +20,8 @@ const emit = defineEmits("click");
<template>
<tr @click="emit('click')">
<td>
<FontAwesomeIcon v-if="value" class="px-2" icon="fas fa-check-square" fa-fw />
<FontAwesomeIcon v-else class="px-2" icon="far fa-square" fa-fw />
<FontAwesomeIcon v-if="value" class="px-2" :icon="faCheckSquare" fa-fw />
<FontAwesomeIcon v-else class="px-2" :icon="faSquare" fa-fw />
</td>
<td class="text-left">
<span v-localize class="pr-2">{{ title }}</span>
@@ -1,5 +1,4 @@
<script setup>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faExclamationCircle } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { computed } from "vue";
@@ -10,8 +9,6 @@ import UploadExtension from "./UploadExtension.vue";
import UploadSelect from "./UploadSelect.vue";
import Popper from "@/components/Popper/Popper.vue";
library.add(faExclamationCircle);
const props = defineProps({
disabled: {
type: Boolean,
@@ -45,7 +42,7 @@ const warnText = computed(() => details.value.upload_warning);
@input="(newValue) => emit('input', newValue)" />
<Popper v-if="warnText" placement="bottom" mode="light">
<template v-slot:reference>
<FontAwesomeIcon icon="fa-exclamation-circle" class="selection-warning" />
<FontAwesomeIcon :icon="faExclamationCircle" class="selection-warning" />
</template>
<div class="p-2">
{{ warnText }}
@@ -1,13 +1,10 @@
<script setup>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCog } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import UploadOption from "./UploadOption.vue";
import Popper from "@/components/Popper/Popper.vue";
library.add(faCog);
defineProps({
deferred: {
type: Boolean,
@@ -33,7 +30,7 @@ const emit = defineEmits(["input"]);
<template>
<Popper placement="bottom" title="Upload Configuration" mode="primary-title" trigger="click">
<template v-slot:reference>
<FontAwesomeIcon class="cursor-pointer" icon="fa-cog" />
<FontAwesomeIcon class="cursor-pointer" :icon="faCog" />
</template>
<div class="upload-settings-content px-2 py-2 no-highlight">
<table class="upload-settings-table grid">
@@ -1,6 +1,5 @@
<script setup>
import { library } from "@fortawesome/fontawesome-svg-core";
import { faEye, faEyeSlash, faKey, faTrash } from "@fortawesome/free-solid-svg-icons";
import { faEye, faEyeSlash } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { getGalaxyInstance } from "app";
import CopyToClipboard from "components/CopyToClipboard";
@@ -9,8 +8,6 @@ import { ref } from "vue";
import svc from "./model/service";
library.add(faEye, faEyeSlash, faKey, faTrash);
defineProps({
item: {
type: Object,
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faArchive } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { computed } from "vue";
@@ -8,8 +7,6 @@ import { bytesToString } from "@/utils/utils";
import type { DataValuePoint } from "./Charts";
library.add(faArchive);
interface RecoverableItemSizeTooltipProps {
data: DataValuePoint;
isRecoverable: boolean;
@@ -27,7 +24,7 @@ const prettySize = computed(() => bytesToString(props.data?.value ?? 0));
<div>
<div class="h-md mx-2">{{ label }}</div>
<b class="h-md m-2">{{ prettySize }}</b>
<div v-if="isArchived" class="text-muted mx-2"><FontAwesomeIcon icon="archive" /> This item is archived</div>
<div v-if="isArchived" class="text-muted mx-2"><FontAwesomeIcon :icon="faArchive" /> This item is archived</div>
<div v-if="isRecoverable" class="text-muted mx-2">Recoverable storage space</div>
</div>
</template>
@@ -1,4 +1,3 @@
import { library } from "@fortawesome/fontawesome-svg-core";
import { faAngleDoubleDown, faAngleDoubleUp } from "@fortawesome/free-solid-svg-icons";
import { computed, onMounted, ref } from "vue";
@@ -10,8 +9,6 @@ import type { DataValuePoint } from "./Charts";
import { bytesLabelFormatter, bytesValueFormatter } from "./Charts/formatters";
import { type ItemSizeSummary, purgeDatasetById, undeleteDatasetById } from "./service";
library.add(faAngleDoubleUp, faAngleDoubleDown);
interface DataLoader {
(): Promise<void>;
}
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faExclamationCircle } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { ref, watch } from "vue";
@@ -7,8 +6,6 @@ import { ref, watch } from "vue";
import type { NotificationCategory, NotificationChannel, UserNotificationPreferences } from "@/api/notifications";
import { snakeCaseToTitleCase } from "@/utils/strings";
library.add(faExclamationCircle);
interface NotificationsChannelSettingsProps {
preferences: UserNotificationPreferences;
category: NotificationCategory;
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faCheckCircle, faExclamationCircle, faSave } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { BAlert, BButton } from "bootstrap-vue";
@@ -21,8 +20,6 @@ import AsyncButton from "@/components/Common/AsyncButton.vue";
import BreadcrumbHeading from "@/components/Common/BreadcrumbHeading.vue";
import LoadingSpan from "@/components/LoadingSpan.vue";
library.add(faCheckCircle, faExclamationCircle, faSave);
interface NotificationsPreferencesProps {
embedded?: boolean;
headerSize?: string;
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faTrashAlt } from "@fortawesome/free-regular-svg-icons";
import { faCompressAlt, faObjectGroup, faPalette } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
@@ -21,8 +20,6 @@ import { selectAllText } from "./utilities";
import ColorSelector from "./ColorSelector.vue";
import DraggablePan from "@/components/Workflow/Editor/DraggablePan.vue";
library.add(faObjectGroup, faTrashAlt, faPalette, faCompressAlt);
const props = defineProps<{
comment: FrameWorkflowComment;
rootOffset: UseElementBoundingReturn;
@@ -277,7 +274,7 @@ const position = computed(() => ({ x: props.comment.position[0], y: props.commen
@pan-by="(p) => emit('pan-by', p)" />
<div class="frame-comment-header">
<FontAwesomeIcon icon="fas fa-object-group" />
<FontAwesomeIcon :icon="faObjectGroup" />
<!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions vuejs-accessibility/click-events-have-key-events -->
<span
ref="editableElement"
@@ -298,7 +295,7 @@ const position = computed(() => ({ x: props.comment.position[0], y: props.commen
variant="outline-primary"
title="Fit to content"
@click="onFitToContent">
<FontAwesomeIcon icon="fa-compress-alt" class="prevent-zoom" />
<FontAwesomeIcon :icon="faCompressAlt" class="prevent-zoom" />
</BButton>
<BButton
class="button prevent-zoom"
@@ -306,10 +303,10 @@ const position = computed(() => ({ x: props.comment.position[0], y: props.commen
title="Color"
:pressed="showColorSelector"
@click="() => (showColorSelector = !showColorSelector)">
<FontAwesomeIcon icon="fa-palette" class="prevent-zoom" />
<FontAwesomeIcon :icon="faPalette" class="prevent-zoom" />
</BButton>
<BButton class="button prevent-zoom" variant="dark" title="Delete comment" @click="() => emit('remove')">
<FontAwesomeIcon icon="far fa-trash-alt" class="prevent-zoom" />
<FontAwesomeIcon :icon="faTrashAlt" class="prevent-zoom" />
</BButton>
</BButtonGroup>
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faTrashAlt } from "@fortawesome/free-regular-svg-icons";
import { faPalette } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
@@ -19,8 +18,6 @@ import { selectAllText } from "./utilities";
import ColorSelector from "./ColorSelector.vue";
import DraggablePan from "@/components/Workflow/Editor/DraggablePan.vue";
library.add(faTrashAlt, faPalette);
const props = defineProps<{
comment: MarkdownWorkflowComment;
rootOffset: UseElementBoundingReturn;
@@ -175,10 +172,10 @@ const position = computed(() => ({ x: props.comment.position[0], y: props.commen
title="Color"
:pressed="showColorSelector"
@click="() => (showColorSelector = !showColorSelector)">
<FontAwesomeIcon icon="fa-palette" class="prevent-zoom" />
<FontAwesomeIcon :icon="faPalette" class="prevent-zoom" />
</BButton>
<BButton class="button prevent-zoom" variant="dark" title="Delete comment" @click="() => emit('remove')">
<FontAwesomeIcon icon="far fa-trash-alt" class="prevent-zoom" />
<FontAwesomeIcon :icon="faTrashAlt" class="prevent-zoom" />
</BButton>
</BButtonGroup>
@@ -1,5 +1,4 @@
<script setup lang="ts">
import { library } from "@fortawesome/fontawesome-svg-core";
import { faTrashAlt } from "@fortawesome/free-regular-svg-icons";
import { faPalette } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
@@ -18,8 +17,6 @@ import { selectAllText } from "./utilities";
import ColorSelector from "./ColorSelector.vue";
import DraggablePan from "@/components/Workflow/Editor/DraggablePan.vue";
library.add(faTrashAlt, faPalette);
const props = defineProps<{
comment: TextWorkflowComment;
rootOffset: UseElementBoundingReturn;
@@ -239,7 +236,7 @@ const position = computed(() => ({ x: props.comment.position[0], y: props.commen
title="Color"
:pressed="showColorSelector"
@click="() => (showColorSelector = !showColorSelector)">
<FontAwesomeIcon icon="fa-palette" class="prevent-zoom" />
<FontAwesomeIcon :icon="faPalette" class="prevent-zoom" />
</BButton>
<BButton
class="button prevent-zoom"
@@ -256,7 +253,7 @@ const position = computed(() => ({ x: props.comment.position[0], y: props.commen
<FontAwesomeIcon :icon="['gxd', 'textLarger']" class="prevent-zoom" />
</BButton>
<BButton class="button prevent-zoom" variant="dark" title="Delete comment" @click="() => emit('remove')">
<FontAwesomeIcon icon="far fa-trash-alt" class="prevent-zoom" />
<FontAwesomeIcon :icon="faTrashAlt" class="prevent-zoom" />
</BButton>
</BButtonGroup>

Some files were not shown because too many files have changed in this diff Show More