diff --git a/client/src/components/Markdown/Elements/HistoryLink.vue b/client/src/components/Markdown/Elements/HistoryLink.vue
new file mode 100644
index 00000000000..6974fb7cea1
--- /dev/null
+++ b/client/src/components/Markdown/Elements/HistoryLink.vue
@@ -0,0 +1,67 @@
+
+
+
Click to Import History: {{ name }}.
+
+
+ Successfully Imported History: {{ name }}!
+
+
+
+ Failed to Import History: {{ name }}!
+ {{ error }}
+
+
+
+
+
diff --git a/client/src/components/Markdown/Markdown.vue b/client/src/components/Markdown/Markdown.vue
index 7f69d806748..2c09fd3c7f2 100644
--- a/client/src/components/Markdown/Markdown.vue
+++ b/client/src/components/Markdown/Markdown.vue
@@ -44,6 +44,7 @@
+
@@ -105,6 +106,7 @@ import HistoryDatasetLink from "./Elements/HistoryDatasetLink";
import HistoryDatasetIndex from "./Elements/HistoryDatasetIndex";
import HistoryDatasetCollectionDisplay from "./Elements/HistoryDatasetCollection/CollectionDisplay";
import HistoryDatasetDetails from "./Elements/HistoryDatasetDetails";
+import HistoryLink from "./Elements/HistoryLink";
import InvocationTime from "./Elements/InvocationTime";
import JobMetrics from "./Elements/JobMetrics";
import JobParameters from "./Elements/JobParameters";
@@ -137,6 +139,7 @@ export default {
HistoryDatasetDisplay,
HistoryDatasetIndex,
HistoryDatasetLink,
+ HistoryLink,
JobMetrics,
JobParameters,
LoadingSpan,
@@ -165,6 +168,7 @@ export default {
markdownObjects: [],
markdownErrors: [],
historyDatasets: {},
+ histories: {},
historyDatasetCollections: {},
workflows: {},
jobs: {},
@@ -201,6 +205,7 @@ export default {
this.markdownErrors = config.errors || [];
this.markdownObjects = this.splitMarkdown(markdown);
this.historyDatasets = config.history_datasets || {};
+ this.histories = config.histories || {};
this.historyDatasetCollections = config.history_dataset_collections || {};
this.workflows = config.workflows || {};
this.jobs = config.jobs || {};
diff --git a/client/src/components/Markdown/MarkdownDialog.vue b/client/src/components/Markdown/MarkdownDialog.vue
index ebc68a614be..f2accf3389d 100644
--- a/client/src/components/Markdown/MarkdownDialog.vue
+++ b/client/src/components/Markdown/MarkdownDialog.vue
@@ -54,6 +54,14 @@
@onOk="onWorkflow"
@onCancel="onCancel"
/>
+
@@ -120,9 +128,11 @@ export default {
jobsUrl: `${getAppRoot()}api/jobs`,
workflowsUrl: `${getAppRoot()}api/workflows`,
invocationsUrl: `${getAppRoot()}api/invocations`,
+ historiesUrl: `${getAppRoot()}api/histories?view=detailed&q=published&qv=True`,
selectedShow: false,
visualizationShow: false,
workflowShow: false,
+ historyShow: false,
jobShow: false,
invocationShow: false,
dataShow: false,
@@ -148,6 +158,9 @@ export default {
getWorkflows() {
return axios.get(this.workflowsUrl);
},
+ getHistories() {
+ return axios.get(this.historiesUrl);
+ },
onData(response) {
this.dataShow = false;
this.$emit("onInsert", `${this.argumentName}(history_dataset_id=${response})`);
@@ -164,6 +177,10 @@ export default {
this.invocationShow = false;
this.$emit("onInsert", `${this.argumentName}(invocation_id=${response.id})`);
},
+ onHistory(response) {
+ this.historyShow = false;
+ this.$emit("onInsert", `history_link(history_id=${response.id})`);
+ },
onWorkflow(response) {
this.workflowShow = false;
this.$emit("onInsert", `workflow_display(workflow_id=${response.id})`);
@@ -175,6 +192,8 @@ export default {
onCreate() {
if (this.argumentType == "workflow_id") {
this.workflowShow = true;
+ } else if (this.argumentType == "history_id") {
+ this.historyShow = true;
} else if (this.argumentType == "history_dataset_id") {
if (this.useLabels) {
this.selectedShow = true;
diff --git a/client/src/components/Markdown/MarkdownToolBox.vue b/client/src/components/Markdown/MarkdownToolBox.vue
index 5019acd9bcf..c6a8887c51d 100644
--- a/client/src/components/Markdown/MarkdownToolBox.vue
+++ b/client/src/components/Markdown/MarkdownToolBox.vue
@@ -10,7 +10,13 @@
{{ error }}
-
+
+