diff --git a/web/static/components/transfer/transfer-templates.js b/web/static/components/transfer/transfer-templates.js index 0e75c94a8..3f441c28b 100644 --- a/web/static/components/transfer/transfer-templates.js +++ b/web/static/components/transfer/transfer-templates.js @@ -1,4 +1,5 @@ import { escapeHTML } from "../../util.js"; +import { TransferMode } from "../../models/transfer-model.js"; /** * @module TransferTemplates @@ -7,21 +8,27 @@ import { escapeHTML } from "../../util.js"; /** * Gets mode-specific options template HTML - * @param {boolean} isGetMode - Whether in GET transfer mode + * @param {TransferMode[keyof TransferMode]} mode - The transfer mode * @returns {string} Mode-specific options template HTML */ -export function getModeSpecificOptionsTemplate(isGetMode) { - return isGetMode - ? `
File extension override:
` - : `
+export function getModeSpecificOptionsTemplate(mode) { + let responseHTML = ""; + if (mode === TransferMode.TT_DATA_GET) { + responseHTML = `
File extension override:
`; + } else if (mode === TransferMode.TT_DATA_PUT) { + responseHTML = `
`; + } + + return responseHTML; } /** * Gets the transfer options template HTML + * @param {TransferMode[keyof TransferMode]} mode - The transfer mode * @returns {string} Transfer options template HTML */ -export function getTransferOptionsTemplate() { +export function getTransferOptionsTemplate(mode) { return `
Transfer Encryption:  @@ -30,18 +37,19 @@ export function getTransferOptionsTemplate() {  
- ${getModeSpecificOptionsTemplate()} + ${getModeSpecificOptionsTemplate(mode)} `; } /** * Gets the dialog template HTML * @param {Object} labels - The labels for dialog elements + * @param {TransferMode[keyof TransferMode]} mode - The transfer mode * @param {string} labels.record - Record label text * @param {string} labels.endpoint - Endpoint label text * @returns {string} The dialog template HTML */ -export function getDialogTemplate(labels) { +export function getDialogTemplate(labels, mode) { return `
${labels.record}:
@@ -63,7 +71,7 @@ export function getDialogTemplate(labels) { size='7' style='width: 100%;' disabled> - ${getTransferOptionsTemplate()} + ${getTransferOptionsTemplate(mode)}
@@ -86,7 +94,7 @@ export function createMatchesHtml(endpoints) { html.push(` + )} `); }); diff --git a/web/static/components/transfer/transfer-ui-manager.js b/web/static/components/transfer/transfer-ui-manager.js index 834e876be..268460068 100644 --- a/web/static/components/transfer/transfer-ui-manager.js +++ b/web/static/components/transfer/transfer-ui-manager.js @@ -211,7 +211,7 @@ export class TransferUIManager { */ createDialog(labels) { this.state.frame = $(document.createElement("div")); - this.state.frame.html(getDialogTemplate(labels)); + this.state.frame.html(getDialogTemplate(labels, this.#controller.model.mode)); return this.state.frame; } diff --git a/web/static/models/transfer-model.js b/web/static/models/transfer-model.js index 200c1fa27..6272b816f 100644 --- a/web/static/models/transfer-model.js +++ b/web/static/models/transfer-model.js @@ -94,11 +94,15 @@ export class TransferModel { * @returns {Object} Record info */ getRecordInfo(item) { - if (item.size === 0) return { info: "(empty)", selectable: false }; - if (item.locked) return { info: "(locked)", selectable: false }; - return { - info: util.sizeToString(item.size), - selectable: true, - }; + if (item.size === 0) { + return { info: "(empty)", selectable: false }; + } else if (item.locked) { + return { info: "(locked)", selectable: false }; + } else { + return { + info: util.sizeToString(item.size), + selectable: true, + }; + } } }