diff --git a/client/src/components/Form/FormDisplay.vue b/client/src/components/Form/FormDisplay.vue index e51dfe7e39b1..5bf7c3544376 100644 --- a/client/src/components/Form/FormDisplay.vue +++ b/client/src/components/Form/FormDisplay.vue @@ -16,8 +16,11 @@ + + + + diff --git a/client/src/components/Masthead/Masthead.vue b/client/src/components/Masthead/Masthead.vue index 0390029c3951..a122410528be 100644 --- a/client/src/components/Masthead/Masthead.vue +++ b/client/src/components/Masthead/Masthead.vue @@ -10,6 +10,7 @@ import { useConfig } from "@/composables/config"; import { useUserStore } from "@/stores/userStore"; import { loadWebhookMenuItems } from "./_webhooks"; +import HelpModeSwitch from "./HelpModeSwitch"; import MastheadItem from "./MastheadItem"; import QuotaMeter from "./QuotaMeter"; import { getActiveTab } from "./utilities"; @@ -138,6 +139,9 @@ onMounted(() => { :active-tab="activeTab" @open-url="emit('open-url', $event)" /> + + + diff --git a/client/src/components/Panels/HelpModeText.vue b/client/src/components/Panels/HelpModeText.vue new file mode 100644 index 000000000000..85cc1f52445d --- /dev/null +++ b/client/src/components/Panels/HelpModeText.vue @@ -0,0 +1,87 @@ + + + diff --git a/client/src/entry/analysis/modules/Analysis.vue b/client/src/entry/analysis/modules/Analysis.vue index df91d66c4655..4e4bde89c9d3 100644 --- a/client/src/entry/analysis/modules/Analysis.vue +++ b/client/src/entry/analysis/modules/Analysis.vue @@ -3,16 +3,19 @@ import { onMounted, onUnmounted, ref } from "vue"; import { useRouter } from "vue-router/composables"; import { usePanels } from "@/composables/usePanels"; +import { useHelpModeStatusStore } from "@/stores/helpmode/helpModeStatusStore"; import CenterFrame from "./CenterFrame.vue"; import ActivityBar from "@/components/ActivityBar/ActivityBar.vue"; import HistoryIndex from "@/components/History/Index.vue"; import FlexPanel from "@/components/Panels/FlexPanel.vue"; +import HelpModeText from "@/components/Panels/HelpModeText.vue"; import DragAndDropModal from "@/components/Upload/DragAndDropModal.vue"; const router = useRouter(); const showCenter = ref(false); const { showPanels } = usePanels(); +const status = useHelpModeStatusStore(); // methods function hideCenter() { @@ -46,5 +49,6 @@ onUnmounted(() => { + diff --git a/client/src/stores/helpmode/helpModeStatusStore.js b/client/src/stores/helpmode/helpModeStatusStore.js new file mode 100644 index 000000000000..282168b17ade --- /dev/null +++ b/client/src/stores/helpmode/helpModeStatusStore.js @@ -0,0 +1,20 @@ +import { defineStore } from "pinia"; + +import { useHelpModeTextStore } from "./helpModeTextStore"; + +export const useHelpModeStatusStore = defineStore("helpModeStatusStore", { + state: () => { + return { + helpmodestatus: false, + }; + }, + + actions: { + setHelpModeStatus(status) { + this.helpmodestatus = status; + if (status == false) { + useHelpModeTextStore().clearHelpModeText(); + } + }, + }, +}); diff --git a/client/src/stores/helpmode/helpModeTextStore.js b/client/src/stores/helpmode/helpModeTextStore.js new file mode 100644 index 000000000000..330c0e3dc422 --- /dev/null +++ b/client/src/stores/helpmode/helpModeTextStore.js @@ -0,0 +1,25 @@ +import { defineStore } from "pinia"; + +import config from "./helpTextConfig.yml"; + +export const useHelpModeTextStore = defineStore("helpModeText", { + state: () => { + return { + helpmodetext: "Welcome to Galaxy Help Mode!", + }; + }, + + actions: { + addHelpModeText(text) { + const file_path = config[text]; + fetch("https://raw.githubusercontent.com/assuntad23/galaxy-help-markdown/main/" + file_path) + .then((response) => response.text()) + .then((text) => { + this.helpmodetext = text; + }); + }, + clearHelpModeText() { + this.helpmodetext = "Welcome to Galaxy Help Mode!"; + }, + }, +}); diff --git a/client/src/stores/helpmode/helpTextConfig.yml b/client/src/stores/helpmode/helpTextConfig.yml new file mode 100644 index 000000000000..6ba27d638556 --- /dev/null +++ b/client/src/stores/helpmode/helpTextConfig.yml @@ -0,0 +1,2 @@ +tool_form_base: tools/tool_form_base.md +collection_builder: collections/collection_builder.md diff --git a/client/webpack.config.js b/client/webpack.config.js index 6ca6b748151d..c9b1aca21f0b 100644 --- a/client/webpack.config.js +++ b/client/webpack.config.js @@ -13,6 +13,7 @@ const scriptsBase = path.join(__dirname, "src"); const testsBase = path.join(__dirname, "tests"); const libsBase = path.join(scriptsBase, "libs"); const styleBase = path.join(scriptsBase, "style"); +const helpTextConfigPath = path.join(scriptsBase, "stores", "helpMode"); const modulesExcludedFromLibs = [ "jspdf", @@ -104,6 +105,11 @@ module.exports = (env = {}, argv = {}) => { test: /\.vue$/, loader: "vue-loader", }, + { + test: /\.ya?ml$/, + include: helpTextConfigPath, + loader: "yaml-loader", + }, { test: /\.tsx?$/, exclude: /node_modules/, diff --git a/database/info.txt b/database/info.txt deleted file mode 100644 index 5b316a096c27..000000000000 --- a/database/info.txt +++ /dev/null @@ -1 +0,0 @@ -This folder contains the data \ No newline at end of file