mirror of
https://github.com/zadam/trilium.git
synced 2025-03-01 14:22:32 +01:00
Merge remote-tracking branch 'origin/stable'
This commit is contained in:
commit
81e226af6f
2
package-lock.json
generated
2
package-lock.json
generated
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "trilium",
|
"name": "trilium",
|
||||||
"version": "0.46.3-beta",
|
"version": "0.46.4-beta",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
54
src/public/app/dialogs/delete_notes.js
Normal file
54
src/public/app/dialogs/delete_notes.js
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
const $dialog = $("#delete-notes-dialog");
|
||||||
|
const $confirmContent = $("#delete-notes-dialog-content");
|
||||||
|
const $okButton = $("#delete-notes-dialog-ok-button");
|
||||||
|
const $cancelButton = $("#delete-notes-dialog-cancel-button");
|
||||||
|
const $custom = $("#delete-notes-dialog-custom");
|
||||||
|
|
||||||
|
const DELETE_NOTE_BUTTON_ID = "delete-notes-dialog-delete-note";
|
||||||
|
|
||||||
|
let $originallyFocused; // element focused before the dialog was opened so we can return to it afterwards
|
||||||
|
|
||||||
|
export function showDialog(message) {
|
||||||
|
$originallyFocused = $(':focus');
|
||||||
|
|
||||||
|
$custom.hide();
|
||||||
|
|
||||||
|
glob.activeDialog = $dialog;
|
||||||
|
|
||||||
|
if (typeof message === 'string') {
|
||||||
|
message = $("<div>").text(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
$confirmContent.empty().append(message);
|
||||||
|
|
||||||
|
$dialog.modal();
|
||||||
|
|
||||||
|
return new Promise((res, rej) => { resolve = res; });
|
||||||
|
}
|
||||||
|
|
||||||
|
export function isDeleteNoteChecked() {
|
||||||
|
return $("#" + DELETE_NOTE_BUTTON_ID + ":checked").length > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
$dialog.on('shown.bs.modal', () => $okButton.trigger("focus"));
|
||||||
|
|
||||||
|
$dialog.on("hidden.bs.modal", () => {
|
||||||
|
if (resolve) {
|
||||||
|
resolve(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($originallyFocused) {
|
||||||
|
$originallyFocused.trigger('focus');
|
||||||
|
$originallyFocused = null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
function doResolve(ret) {
|
||||||
|
resolve(ret);
|
||||||
|
resolve = null;
|
||||||
|
|
||||||
|
$dialog.modal("hide");
|
||||||
|
}
|
||||||
|
|
||||||
|
$cancelButton.on('click', () => doResolve(false));
|
||||||
|
$okButton.on('click', () => doResolve(true));
|
@ -74,6 +74,9 @@ async function deleteNotes(branchIdsToDelete) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const deleteNotesDialog = await import("../dialogs/delete_notes.js");
|
||||||
|
deleteNotesDialog.showDialog();
|
||||||
|
|
||||||
const $deleteClonesCheckbox = $('<div class="form-check">')
|
const $deleteClonesCheckbox = $('<div class="form-check">')
|
||||||
.append($('<input type="checkbox" class="form-check-input" id="delete-clones-checkbox">'))
|
.append($('<input type="checkbox" class="form-check-input" id="delete-clones-checkbox">'))
|
||||||
.append($('<label for="delete-clones-checkbox">')
|
.append($('<label for="delete-clones-checkbox">')
|
||||||
@ -93,11 +96,7 @@ async function deleteNotes(branchIdsToDelete) {
|
|||||||
.append($nodeTitles)
|
.append($nodeTitles)
|
||||||
.append($deleteClonesCheckbox);
|
.append($deleteClonesCheckbox);
|
||||||
|
|
||||||
const confirmDialog = await import('../dialogs/confirm.js');
|
return false;
|
||||||
|
|
||||||
if (!await confirmDialog.confirm($confirmText)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
const deleteClones = $deleteClonesCheckbox.find("input").is(":checked");
|
const deleteClones = $deleteClonesCheckbox.find("input").is(":checked");
|
||||||
|
|
||||||
|
@ -40,6 +40,7 @@
|
|||||||
<%- include('dialogs/backend_log.ejs') %>
|
<%- include('dialogs/backend_log.ejs') %>
|
||||||
<%- include('dialogs/include_note.ejs') %>
|
<%- include('dialogs/include_note.ejs') %>
|
||||||
<%- include('dialogs/sort_child_notes.ejs') %>
|
<%- include('dialogs/sort_child_notes.ejs') %>
|
||||||
|
<%- include('dialogs/delete_notes.ejs') %>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
window.baseApiUrl = 'api/';
|
window.baseApiUrl = 'api/';
|
||||||
|
23
src/views/dialogs/delete_notes.ejs
Normal file
23
src/views/dialogs/delete_notes.ejs
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<div id="delete-notes-dialog" class="modal mx-auto" tabindex="-1" role="dialog">
|
||||||
|
<div class="modal-dialog modal-dialog-scrollable" role="document">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title mr-auto">Delete notes</h5>
|
||||||
|
|
||||||
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||||
|
<span aria-hidden="true">×</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
... delete
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button class="btn btn-sm" id="delete-notes-dialog-cancel-button">Cancel</button>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<button class="btn btn-primary btn-sm" id="delete-notes-dialog-ok-button">OK</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
Loading…
x
Reference in New Issue
Block a user