From 3a1c80c18928ed817327112a5df4a1a9f20b025e Mon Sep 17 00:00:00 2001 From: zadam Date: Sat, 9 Nov 2019 17:45:22 +0100 Subject: [PATCH] refactoring of legacy js events --- src/public/javascripts/desktop.js | 2 +- src/public/javascripts/dialogs/add_link.js | 4 ++-- src/public/javascripts/dialogs/attributes.js | 4 ++-- src/public/javascripts/dialogs/branch_prefix.js | 4 ++-- src/public/javascripts/dialogs/clone_to.js | 4 ++-- src/public/javascripts/dialogs/confirm.js | 2 +- src/public/javascripts/dialogs/export.js | 2 +- src/public/javascripts/dialogs/import.js | 2 +- src/public/javascripts/dialogs/info.js | 2 +- src/public/javascripts/dialogs/markdown_import.js | 2 +- src/public/javascripts/dialogs/options/change_password.js | 2 +- src/public/javascripts/dialogs/options/sync.js | 2 +- src/public/javascripts/dialogs/prompt.js | 4 ++-- src/public/javascripts/dialogs/protected_session.js | 4 ++-- src/public/javascripts/mobile.js | 2 +- src/public/javascripts/services/attributes.js | 2 +- src/public/javascripts/services/note_autocomplete.js | 2 +- src/public/javascripts/services/note_detail.js | 7 +++++-- src/public/javascripts/services/note_detail_empty.js | 2 +- .../javascripts/services/note_detail_protected_session.js | 2 +- src/public/javascripts/services/note_detail_text.js | 2 +- src/public/javascripts/services/search_notes.js | 6 +++--- 22 files changed, 34 insertions(+), 31 deletions(-) diff --git a/src/public/javascripts/desktop.js b/src/public/javascripts/desktop.js index 3b4ad63b3..4af63e07d 100644 --- a/src/public/javascripts/desktop.js +++ b/src/public/javascripts/desktop.js @@ -96,7 +96,7 @@ $("#logout-button").on('click', () => { .append($(``)); $("body").append($logoutForm); - $logoutForm.submit(); + $logoutForm.trigger('submit'); }); $("#tree").on("click", ".unhoist-button", hoistedNoteService.unhoist); diff --git a/src/public/javascripts/dialogs/add_link.js b/src/public/javascripts/dialogs/add_link.js index 76f7d7436..be8e8f244 100644 --- a/src/public/javascripts/dialogs/add_link.js +++ b/src/public/javascripts/dialogs/add_link.js @@ -19,7 +19,7 @@ export async function showDialog() { $dialog.modal(); - $autoComplete.val('').focus(); + $autoComplete.val('').trigger('focus'); $linkTitle.val(''); async function setDefaultLinkTitle(noteId) { @@ -51,7 +51,7 @@ export async function showDialog() { noteAutocompleteService.showRecentNotes($autoComplete); } -$form.submit(() => { +$form.on('submit', () => { const notePath = $autoComplete.getSelectedPath(); if (notePath) { diff --git a/src/public/javascripts/dialogs/attributes.js b/src/public/javascripts/dialogs/attributes.js index d373f4903..718337dbc 100644 --- a/src/public/javascripts/dialogs/attributes.js +++ b/src/public/javascripts/dialogs/attributes.js @@ -99,7 +99,7 @@ function AttributesModel() { await showAttributes(attributes); // attribute might not be rendered immediatelly so could not focus - setTimeout(() => $(".attribute-type-select:last").focus(), 1000); + setTimeout(() => $(".attribute-type-select:last").trigger('focus'), 1000); }; this.deleteAttribute = function(data, event) { @@ -129,7 +129,7 @@ function AttributesModel() { // we need to defocus from input (in case of enter-triggered save) because value is updated // on blur event (because of conflict with jQuery UI Autocomplete). Without this, input would // stay in focus, blur wouldn't be triggered and change wouldn't be updated in the viewmodel. - $saveAttributesButton.focus(); + $saveAttributesButton.trigger('focus'); if (!isValid()) { alert("Please fix all validation errors and try saving again."); diff --git a/src/public/javascripts/dialogs/branch_prefix.js b/src/public/javascripts/dialogs/branch_prefix.js index 4d67e5123..443ae7c30 100644 --- a/src/public/javascripts/dialogs/branch_prefix.js +++ b/src/public/javascripts/dialogs/branch_prefix.js @@ -41,10 +41,10 @@ async function savePrefix() { toastService.showMessage("Branch prefix has been saved."); } -$form.submit(() => { +$form.on('submit', () => { savePrefix(); return false; }); -$dialog.on('shown.bs.modal', () => $treePrefixInput.focus()); \ No newline at end of file +$dialog.on('shown.bs.modal', () => $treePrefixInput.trigger('focus')); \ No newline at end of file diff --git a/src/public/javascripts/dialogs/clone_to.js b/src/public/javascripts/dialogs/clone_to.js index d17dbff74..9ca17bc2f 100644 --- a/src/public/javascripts/dialogs/clone_to.js +++ b/src/public/javascripts/dialogs/clone_to.js @@ -26,13 +26,13 @@ export async function showDialog(noteId) { $dialog.modal(); - $noteAutoComplete.val('').focus(); + $noteAutoComplete.val('').trigger('focus'); noteAutocompleteService.initNoteAutocomplete($noteAutoComplete); noteAutocompleteService.showRecentNotes($noteAutoComplete); } -$form.submit(() => { +$form.on('submit', () => { const notePath = $noteAutoComplete.getSelectedPath(); if (notePath) { diff --git a/src/public/javascripts/dialogs/confirm.js b/src/public/javascripts/dialogs/confirm.js index 3739f9682..a2f9f5b0b 100644 --- a/src/public/javascripts/dialogs/confirm.js +++ b/src/public/javascripts/dialogs/confirm.js @@ -64,7 +64,7 @@ $dialog.on("hidden.bs.modal", () => { } if ($originallyFocused) { - $originallyFocused.focus(); + $originallyFocused.trigger('focus'); $originallyFocused = null; } }); diff --git a/src/public/javascripts/dialogs/export.js b/src/public/javascripts/dialogs/export.js index bd5857f17..3e8eb396a 100644 --- a/src/public/javascripts/dialogs/export.js +++ b/src/public/javascripts/dialogs/export.js @@ -49,7 +49,7 @@ export async function showDialog(node, defaultType) { $noteTitle.html(noteTitle); } -$form.submit(() => { +$form.on('submit', () => { $dialog.modal('hide'); const exportType = $dialog.find("input[name='export-type']:checked").val(); diff --git a/src/public/javascripts/dialogs/import.js b/src/public/javascripts/dialogs/import.js index 684daea09..d527bd6fe 100644 --- a/src/public/javascripts/dialogs/import.js +++ b/src/public/javascripts/dialogs/import.js @@ -35,7 +35,7 @@ export async function showDialog(node) { $dialog.modal(); } -$form.submit(() => { +$form.on('submit', () => { // disabling so that import is not triggered again. $importButton.attr("disabled", "disabled"); diff --git a/src/public/javascripts/dialogs/info.js b/src/public/javascripts/dialogs/info.js index 74465d35b..b3901344b 100644 --- a/src/public/javascripts/dialogs/info.js +++ b/src/public/javascripts/dialogs/info.js @@ -29,7 +29,7 @@ $dialog.on("hidden.bs.modal", () => { } if ($originallyFocused) { - $originallyFocused.focus(); + $originallyFocused.trigger('focus'); $originallyFocused = null; } }); diff --git a/src/public/javascripts/dialogs/markdown_import.js b/src/public/javascripts/dialogs/markdown_import.js index eb0791faa..56c78d879 100644 --- a/src/public/javascripts/dialogs/markdown_import.js +++ b/src/public/javascripts/dialogs/markdown_import.js @@ -51,6 +51,6 @@ async function sendForm() { $importButton.on('click', sendForm); -$dialog.on('shown.bs.modal', () => $importTextarea.focus()); +$dialog.on('shown.bs.modal', () => $importTextarea.trigger('focus')); utils.bindElShortcut($dialog, 'ctrl+return', sendForm); \ No newline at end of file diff --git a/src/public/javascripts/dialogs/options/change_password.js b/src/public/javascripts/dialogs/options/change_password.js index 171893def..ff94b9e00 100644 --- a/src/public/javascripts/dialogs/options/change_password.js +++ b/src/public/javascripts/dialogs/options/change_password.js @@ -31,7 +31,7 @@ export default class ChangePasswordOptions { this.$newPassword1 = $("#new-password1"); this.$newPassword2 = $("#new-password2"); - this.$form.submit(() => this.save()); + this.$form.on('submit', () => this.save()); } optionsLoaded(options) {} diff --git a/src/public/javascripts/dialogs/options/sync.js b/src/public/javascripts/dialogs/options/sync.js index b55d63b04..a7893bca0 100644 --- a/src/public/javascripts/dialogs/options/sync.js +++ b/src/public/javascripts/dialogs/options/sync.js @@ -47,7 +47,7 @@ export default class SyncOptions { this.$syncProxy = $("#sync-proxy"); this.$testSyncButton = $("#test-sync-button"); - this.$form.submit(() => this.save()); + this.$form.on('submit', () => this.save()); this.$testSyncButton.on('click', async () => { const result = await server.post('sync/test'); diff --git a/src/public/javascripts/dialogs/prompt.js b/src/public/javascripts/dialogs/prompt.js index 085948302..ca0567f40 100644 --- a/src/public/javascripts/dialogs/prompt.js +++ b/src/public/javascripts/dialogs/prompt.js @@ -44,7 +44,7 @@ $dialog.on('shown.bs.modal', () => { shownCb({ $dialog, $question, $answer, $form }); } - $answer.focus().select(); + $answer.trigger('focus').select(); }); $dialog.on("hidden.bs.modal", () => { @@ -53,7 +53,7 @@ $dialog.on("hidden.bs.modal", () => { } }); -$form.submit(() => { +$form.on('submit', () => { resolve($answer.val()); $dialog.modal('hide'); diff --git a/src/public/javascripts/dialogs/protected_session.js b/src/public/javascripts/dialogs/protected_session.js index dd2debb54..04c7c6f3e 100644 --- a/src/public/javascripts/dialogs/protected_session.js +++ b/src/public/javascripts/dialogs/protected_session.js @@ -7,7 +7,7 @@ const $passwordInput = $dialog.find(".protected-session-password"); export function show() { $dialog.modal(); - $passwordInput.focus(); + $passwordInput.trigger('focus'); } export function close() { @@ -18,7 +18,7 @@ export function close() { catch (e) {} } -$passwordForm.submit(() => { +$passwordForm.on('submit', () => { const password = $passwordInput.val(); $passwordInput.val(""); diff --git a/src/public/javascripts/mobile.js b/src/public/javascripts/mobile.js index ac370ba88..0a9074a34 100644 --- a/src/public/javascripts/mobile.js +++ b/src/public/javascripts/mobile.js @@ -137,7 +137,7 @@ $("#switch-to-desktop-button").on('click', () => { }); $("#log-out-button").on('click', () => { - $("#logout-form").submit(); + $("#logout-form").trigger('submit'); }); // this is done so that startNotePath is not used diff --git a/src/public/javascripts/services/attributes.js b/src/public/javascripts/services/attributes.js index 4e8b362e0..096a13ad4 100644 --- a/src/public/javascripts/services/attributes.js +++ b/src/public/javascripts/services/attributes.js @@ -213,7 +213,7 @@ class Attributes { $tr.after($new); - $new.find('input').focus(); + $new.find('input').trigger('focus'); }); const removeButton = $("") diff --git a/src/public/javascripts/services/note_autocomplete.js b/src/public/javascripts/services/note_autocomplete.js index 228a3e496..3a2d4acd1 100644 --- a/src/public/javascripts/services/note_autocomplete.js +++ b/src/public/javascripts/services/note_autocomplete.js @@ -36,7 +36,7 @@ function showRecentNotes($el) { $el.setSelectedPath(""); $el.autocomplete("val", ""); - $el.focus(); + $el.trigger('focus'); } function initNoteAutocomplete($el, options) { diff --git a/src/public/javascripts/services/note_detail.js b/src/public/javascripts/services/note_detail.js index c7c9e8b18..7d0d942c7 100644 --- a/src/public/javascripts/services/note_detail.js +++ b/src/public/javascripts/services/note_detail.js @@ -289,11 +289,14 @@ async function refreshTabs(sourceTabId, noteId) { } function focusOnTitle() { - getActiveTabContext().$noteTitle.focus(); + getActiveTabContext().$noteTitle.trigger('focus'); } function focusAndSelectTitle() { - getActiveTabContext().$noteTitle.focus().select(); + getActiveTabContext() + .$noteTitle + .trigger('focus') + .trigger('select'); } /** diff --git a/src/public/javascripts/services/note_detail_empty.js b/src/public/javascripts/services/note_detail_empty.js index 61db3ae8b..5a452f339 100644 --- a/src/public/javascripts/services/note_detail_empty.js +++ b/src/public/javascripts/services/note_detail_empty.js @@ -25,7 +25,7 @@ class NoteDetailEmpty { }); noteAutocompleteService.showRecentNotes(this.$autoComplete); - this.$autoComplete.focus(); + this.$autoComplete.trigger('focus'); } show() {} diff --git a/src/public/javascripts/services/note_detail_protected_session.js b/src/public/javascripts/services/note_detail_protected_session.js index fd16cd331..52e77a0eb 100644 --- a/src/public/javascripts/services/note_detail_protected_session.js +++ b/src/public/javascripts/services/note_detail_protected_session.js @@ -10,7 +10,7 @@ class NoteDetailProtectedSession { this.$passwordForm = ctx.$tabContent.find(".protected-session-password-form"); this.$passwordInput = ctx.$tabContent.find(".protected-session-password"); - this.$passwordForm.submit(() => { + this.$passwordForm.on('submit', () => { const password = this.$passwordInput.val(); this.$passwordInput.val(""); diff --git a/src/public/javascripts/services/note_detail_text.js b/src/public/javascripts/services/note_detail_text.js index d97752ab3..1e863aa9b 100644 --- a/src/public/javascripts/services/note_detail_text.js +++ b/src/public/javascripts/services/note_detail_text.js @@ -110,7 +110,7 @@ class NoteDetailText { } focus() { - this.$editorEl.focus(); + this.$editorEl.trigger('focus'); } show() {} diff --git a/src/public/javascripts/services/search_notes.js b/src/public/javascripts/services/search_notes.js index 0a092281e..2145ea02e 100644 --- a/src/public/javascripts/services/search_notes.js +++ b/src/public/javascripts/services/search_notes.js @@ -41,7 +41,7 @@ function showSearch() { } }); - $searchInput.focus(); + $searchInput.trigger('focus'); } function hideSearch() { @@ -75,7 +75,7 @@ async function doSearch(searchText) { if (searchText.trim().length === 0) { toastService.showMessage("Please enter search criteria first."); - $searchInput.focus(); + $searchInput.trigger('focus'); return; } @@ -151,7 +151,7 @@ function init() { } } -$searchInput.keyup(e => { +$searchInput.on('keyup',e => { const searchText = $searchInput.val(); if (e && e.which === $.ui.keyCode.ESCAPE || $.trim(searchText) === "") {