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 @@ + + + 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 @@
{{ getTime }}
+ @@ -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 }} - + +