From 9a1d9475892c9fe613ce3989ff0ffd99c2274a9e Mon Sep 17 00:00:00 2001 From: huangjx Date: Tue, 21 Sep 2021 23:24:48 +0800 Subject: [PATCH] fixed the issue of not being able to hit enter key to submit a form --- appinfo/info.xml | 2 +- src/index.js | 7 ------- src/inputAction.js | 23 ++++++++++++++--------- src/inputBox.js | 2 +- src/settings.js | 5 ++++- 5 files changed, 20 insertions(+), 19 deletions(-) diff --git a/appinfo/info.xml b/appinfo/info.xml index a9c3d73..e7f0cae 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -5,7 +5,7 @@ Aria2 and youtube-dl web gui for nextcloud built-in torrent search;Start and stop Aria2 process, manage Aria2 from the web; Download videos from youtube, twitter and other sites; - 0.1.1 + 0.1.2 agpl jiaxinhuang NCDownloader diff --git a/src/index.js b/src/index.js index 03f8781..3250375 100644 --- a/src/index.js +++ b/src/index.js @@ -18,13 +18,6 @@ $(document).on('ajaxSend', function (elm, xhr, settings) { }) window.addEventListener('DOMContentLoaded', function () { - document.addEventListener("keydown", function (event) { - if (event.key === "Enter") { - event.preventDefault(); - return false; - } - } - ); inputAction.run(); updatePage.run(); buttonActions.run(); diff --git a/src/inputAction.js b/src/inputAction.js index 96ef404..9815b8e 100644 --- a/src/inputAction.js +++ b/src/inputAction.js @@ -1,7 +1,6 @@ import helper from './helper' import $ from 'jquery' import Http from './http' -import 'tippy.js/dist/tippy.css'; import { translate as t, translatePlural as n } from '@nextcloud/l10n' import inputBox from './inputBox' import nctable from './ncTable' @@ -37,8 +36,8 @@ const createInputBox = (event, type) => { let container; if (type === 'search') { let selectOptions = []; - selectOptions.push({name:'bitSearch',label:'BITSEARCH',default:0}); - selectOptions.push({name:'TPB',label:'THEPIRATEBAY',selected:1}); + selectOptions.push({ name: 'bitSearch', label: 'BITSEARCH', selected: 0 }); + selectOptions.push({ name: 'TPB', label: 'THEPIRATEBAY', selected: 1 }); container = inputBox.getInstance(name, type, path).createOptions(selectOptions).create().addSpinner(); //container.appendChild(inputBox.createLoading()); } else { @@ -75,7 +74,7 @@ const inputHandler = (event) => { return; } if (inputData.type === 'ytdl') { - helper.message(t("ncdownloader", "Please check your download folder for progress"), 5000); + helper.message(t("ncdownloader", "Your download has started!"), 5000); } if (inputData.type === 'search') { //a scheduled 60s-interval update is running in the background, this is to prevent it from interfering when searching @@ -83,12 +82,19 @@ const inputHandler = (event) => { nctable.getInstance().loading(); } const successCallback = (data, element) => { - //data = JSON.parse(data.target.response) - if (data !== null && data.hasOwnProperty("file")) { + if (!data) { + helper.message(t("ncdownloader", "Something must have gone wrong!")); + return; + } + if (data.hasOwnProperty("error")) { + helper.message(t("ncdownloader", data.error)); + } else if (data.hasOwnProperty("message")) { + helper.message(t("ncdownloader", data.message)); + } else if (data.hasOwnProperty("file")) { helper.message(t("ncdownloader", "Downloading" + " " + data.file)); } - toggleSpinner(element); if (data && data.title) { + toggleSpinner(element); const tableInst = nctable.getInstance(data.title, data.row); tableInst.actionLink = false; tableInst.rowClass = "table-row-search"; @@ -107,7 +113,6 @@ export default { $("#app-navigation").on("click", "#new-download-ytdl", (event) => createInputBox(event, 'ytdl')); $("#app-navigation").on("click", "#new-download", (event) => createInputBox(event, '')); $("#app-navigation").on("click", "#torrent-search-button", (event) => createInputBox(event, 'search')); - - $("#ncdownloader-form-wrapper").on("click", "#form-input-button", (event) => inputHandler(event)) + $("#ncdownloader-form-wrapper").on("click", "#form-input-button", (event) => inputHandler(event)); } } \ No newline at end of file diff --git a/src/inputBox.js b/src/inputBox.js index 6c1ac82..bbb02bd 100644 --- a/src/inputBox.js +++ b/src/inputBox.js @@ -88,7 +88,7 @@ class inputBox { } _createButton() { let button = document.createElement('button'); - button.setAttribute('type', this.btnName); + button.setAttribute('type', 'submit'); button.setAttribute('id', 'form-input-button'); //buttonInput.setAttribute('value', t('ncdownloader', helper.ucfirst(btnName))); let text = document.createTextNode(t('ncdownloader', helper.ucfirst(this.btnName))); diff --git a/src/settings.js b/src/settings.js index 85c4493..da10ec9 100644 --- a/src/settings.js +++ b/src/settings.js @@ -8,8 +8,10 @@ import autoComplete from './autoComplete'; import eventHandler from './eventHandler'; import aria2Options from './aria2Options'; import helper from './helper'; + 'use strict'; window.addEventListener('DOMContentLoaded', function () { + eventHandler.add('click', '.ncdownloader-admin-settings', 'input[type="button"]', function (event) { e.stopPropagation(); OC_msg.startSaving('#ncdownloader-message-banner'); @@ -98,7 +100,8 @@ window.addEventListener('DOMContentLoaded', function () { } let input = []; for (let key in data) { - input.push({ name: key, value: data[key], id: key }); + if (aria2Options.includes(key)) + input.push({ name: key, value: data[key], id: key }); } settingsForm.getInstance().render(input); }).send();