diff --git a/frontend/src/components/taskSelection/action.js b/frontend/src/components/taskSelection/action.js index 3da539ea60..0a22c359b5 100644 --- a/frontend/src/components/taskSelection/action.js +++ b/frontend/src/components/taskSelection/action.js @@ -25,6 +25,7 @@ import { CompletionTabForValidation, SidebarToggle, ReopenEditor, + DownloadTaskAsGPX, } from './actionSidebars'; import { fetchLocalJSONAPI } from '../../network/genericJSONRequest'; import { MultipleTaskHistoriesAccordion } from './multipleTaskHistories'; @@ -267,11 +268,12 @@ export function TaskMapAction({ project, projectIsReady, tasks, activeTasks, act editor={activeEditor} callEditor={callEditor} /> + {editor === 'ID' && ( ( -
+
diff --git a/frontend/src/components/taskSelection/actionSidebars.js b/frontend/src/components/taskSelection/actionSidebars.js index e070776137..bd9865efd7 100644 --- a/frontend/src/components/taskSelection/actionSidebars.js +++ b/frontend/src/components/taskSelection/actionSidebars.js @@ -21,6 +21,7 @@ import { PlusIcon, } from '../svgIcons'; import { getEditors } from '../../utils/editorsList'; +import { getTaskGpxUrl } from '../../utils/openEditor'; import { htmlFromMarkdown } from '../../utils/htmlFromMarkdown'; import { pushToLocalJSONAPI, fetchLocalJSONAPI } from '../../network/genericJSONRequest'; import { CommentInputField } from '../comments/commentInput'; @@ -539,7 +540,7 @@ export function ReopenEditor({ project, action, editor, callEditor }: Object) { ); return ( -
+
@@ -561,6 +562,20 @@ export function ReopenEditor({ project, action, editor, callEditor }: Object) { ); } +export function DownloadTaskAsGPX({ project, tasksIds }: Object) { + var url = getTaskGpxUrl(project.projectId, tasksIds) + '&as_file=true'; + return ( +
+ + + + + + +
+ ); +} + export function SidebarToggle({ setShowSidebar }: Object) { const iDContext = useSelector((state) => state.editor.context); return ( diff --git a/frontend/src/components/taskSelection/messages.js b/frontend/src/components/taskSelection/messages.js index f974814f9d..f234f1de99 100644 --- a/frontend/src/components/taskSelection/messages.js +++ b/frontend/src/components/taskSelection/messages.js @@ -127,6 +127,14 @@ export default defineMessages({ id: 'project.editor.open_editor', defaultMessage: 'Open editor', }, + download: { + id: 'project.download.download', + defaultMessage: 'Download', + }, + asGPX: { + id: 'project.download.asGPX', + defaultMessage: ' task as GPX', + }, showSidebar: { id: 'project.sidebar.show', defaultMessage: 'Show sidebar',