mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-03 20:06:08 +01:00 
			
		
		
		
	fix all dialogs
This commit is contained in:
		@@ -201,7 +201,7 @@ function getMimeTypeClass(mime) {
 | 
			
		||||
 | 
			
		||||
function closeActiveDialog() {
 | 
			
		||||
    if (glob.activeDialog) {
 | 
			
		||||
        glob.activeDialog.hide();
 | 
			
		||||
        bootstrap.Modal.getOrCreateInstance(glob.activeDialog).hide();
 | 
			
		||||
        glob.activeDialog = null;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -245,7 +245,7 @@ async function openDialog($dialog, closeActDialog = true) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    saveFocusedElement();
 | 
			
		||||
    bootstrap.Modal.getInstance($dialog).show();
 | 
			
		||||
    bootstrap.Modal.getOrCreateInstance($dialog).show();
 | 
			
		||||
 | 
			
		||||
    $dialog.on('hidden.bs.modal', () => {
 | 
			
		||||
        $(".aa-input").autocomplete("close");
 | 
			
		||||
 
 | 
			
		||||
@@ -8,8 +8,8 @@ const TPL = `
 | 
			
		||||
    <div class="modal-dialog modal-lg" role="document">
 | 
			
		||||
        <div class="modal-content">
 | 
			
		||||
            <div class="modal-header">
 | 
			
		||||
                <h5 class="modal-title me-auto">${t("about.title")}</h5>
 | 
			
		||||
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close" style="margin-left: 0;"></button>
 | 
			
		||||
                <h5 class="modal-title">${t("about.title")}</h5>
 | 
			
		||||
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="modal-body">
 | 
			
		||||
                <table class="table table-borderless text-nowrap">
 | 
			
		||||
@@ -52,8 +52,6 @@ const TPL = `
 | 
			
		||||
export default class AboutDialog extends BasicWidget {
 | 
			
		||||
    doRender() {
 | 
			
		||||
        this.$widget = $(TPL);
 | 
			
		||||
        bootstrap.Modal.getOrCreateInstance(this.$widget);
 | 
			
		||||
 | 
			
		||||
        this.$appVersion = this.$widget.find(".app-version");
 | 
			
		||||
        this.$dbVersion = this.$widget.find(".db-version");
 | 
			
		||||
        this.$syncVersion = this.$widget.find(".sync-version");
 | 
			
		||||
 
 | 
			
		||||
@@ -9,11 +9,9 @@ const TPL = `
 | 
			
		||||
    <div class="modal-dialog modal-lg" style="max-width: 1000px" role="document">
 | 
			
		||||
        <div class="modal-content">
 | 
			
		||||
            <div class="modal-header">
 | 
			
		||||
                <h5 class="modal-title me-auto">${t('add_link.add_link')}</h5>
 | 
			
		||||
 | 
			
		||||
                <h5 class="modal-title flex-grow-1">${t('add_link.add_link')}</h5>
 | 
			
		||||
                <button type="button" class="help-button" title="${t('add_link.help_on_links')}" data-help-page="links.html">?</button>
 | 
			
		||||
 | 
			
		||||
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="${t('add_link.close')}" style="margin-left: 0 !important;"></button>
 | 
			
		||||
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="${t('add_link.close')}"></button>
 | 
			
		||||
            </div>
 | 
			
		||||
            <form class="add-link-form">
 | 
			
		||||
                <div class="modal-body">
 | 
			
		||||
@@ -60,8 +58,6 @@ const TPL = `
 | 
			
		||||
export default class AddLinkDialog extends BasicWidget {
 | 
			
		||||
    doRender() {
 | 
			
		||||
        this.$widget = $(TPL);
 | 
			
		||||
        bootstrap.Modal.getOrCreateInstance(this.$widget);
 | 
			
		||||
 | 
			
		||||
        this.$form = this.$widget.find(".add-link-form");
 | 
			
		||||
        this.$autoComplete = this.$widget.find(".add-link-note-autocomplete");
 | 
			
		||||
        this.$linkTitle = this.$widget.find(".link-title");
 | 
			
		||||
 
 | 
			
		||||
@@ -14,13 +14,9 @@ const TPL = `<div class="branch-prefix-dialog modal fade mx-auto" tabindex="-1"
 | 
			
		||||
        <form class="branch-prefix-form">
 | 
			
		||||
            <div class="modal-content">
 | 
			
		||||
                <div class="modal-header">
 | 
			
		||||
                    <h5 class="modal-title mr-auto">${t('branch_prefix.edit_branch_prefix')}</h5>
 | 
			
		||||
 | 
			
		||||
                    <h5 class="modal-title flex-grow-1">${t('branch_prefix.edit_branch_prefix')}</h5>
 | 
			
		||||
                    <button class="help-button" type="button" data-help-page="tree-concepts.html#prefix" title="${t('branch_prefix.help_on_tree_prefix')}">?</button>
 | 
			
		||||
 | 
			
		||||
                    <button type="button" class="close" data-dismiss="modal" aria-label="${t('branch_prefix.close')}" style="margin-left: 0;">
 | 
			
		||||
                        <span aria-hidden="true">×</span>
 | 
			
		||||
                    </button>
 | 
			
		||||
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="${t('branch_prefix.close')}"></button>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="modal-body">
 | 
			
		||||
                    <div class="form-group">
 | 
			
		||||
@@ -28,13 +24,10 @@ const TPL = `<div class="branch-prefix-dialog modal fade mx-auto" tabindex="-1"
 | 
			
		||||
 | 
			
		||||
                        <div class="input-group">
 | 
			
		||||
                            <input class="branch-prefix-input form-control">
 | 
			
		||||
 | 
			
		||||
                            <div class="input-group-append">
 | 
			
		||||
                            <div class="branch-prefix-note-title input-group-text"></div>                            
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="modal-footer">
 | 
			
		||||
                    <button class="btn btn-primary btn-sm">${t('branch_prefix.save')}</button>
 | 
			
		||||
                </div>
 | 
			
		||||
@@ -46,6 +39,7 @@ const TPL = `<div class="branch-prefix-dialog modal fade mx-auto" tabindex="-1"
 | 
			
		||||
export default class BranchPrefixDialog extends BasicWidget {
 | 
			
		||||
    doRender() {
 | 
			
		||||
        this.$widget = $(TPL);
 | 
			
		||||
        this.modal = bootstrap.Modal.getOrCreateInstance(this.$widget);
 | 
			
		||||
        this.$form = this.$widget.find(".branch-prefix-form");
 | 
			
		||||
        this.$treePrefixInput = this.$widget.find(".branch-prefix-input");
 | 
			
		||||
        this.$noteTitle = this.$widget.find('.branch-prefix-note-title');
 | 
			
		||||
@@ -60,7 +54,7 @@ export default class BranchPrefixDialog extends BasicWidget {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    async refresh(notePath) {
 | 
			
		||||
        const {noteId, parentNoteId} = treeService.getNoteIdAndParentIdFromUrl(notePath);
 | 
			
		||||
        const { noteId, parentNoteId } = treeService.getNoteIdAndParentIdFromUrl(notePath);
 | 
			
		||||
 | 
			
		||||
        if (!noteId || !parentNoteId) {
 | 
			
		||||
            return;
 | 
			
		||||
@@ -97,9 +91,9 @@ export default class BranchPrefixDialog extends BasicWidget {
 | 
			
		||||
    async savePrefix() {
 | 
			
		||||
        const prefix = this.$treePrefixInput.val();
 | 
			
		||||
 | 
			
		||||
        await server.put(`branches/${branchId}/set-prefix`, {prefix: prefix});
 | 
			
		||||
        await server.put(`branches/${branchId}/set-prefix`, { prefix: prefix });
 | 
			
		||||
 | 
			
		||||
        this.$widget.modal('hide');
 | 
			
		||||
        this.modal.hide();
 | 
			
		||||
 | 
			
		||||
        toastService.showMessage(t('branch_prefix.branch_prefix_saved'));
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -38,8 +38,7 @@ const TPL = `
 | 
			
		||||
    <div class="modal-dialog modal-xl" role="document">
 | 
			
		||||
        <div class="modal-content">
 | 
			
		||||
            <div class="modal-header">
 | 
			
		||||
                <h5 class="modal-title mr-auto">${t('bulk_actions.bulk_actions')}</h5>
 | 
			
		||||
 | 
			
		||||
                <h5 class="modal-title">${t('bulk_actions.bulk_actions')}</h5>
 | 
			
		||||
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="${t('bulk_actions.close')}"></button>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="modal-body">
 | 
			
		||||
@@ -68,8 +67,6 @@ const TPL = `
 | 
			
		||||
export default class BulkActionsDialog extends BasicWidget {
 | 
			
		||||
    doRender() {
 | 
			
		||||
        this.$widget = $(TPL);
 | 
			
		||||
        bootstrap.Modal.getOrCreateInstance(this.$widget);
 | 
			
		||||
 | 
			
		||||
        this.$includeDescendants = this.$widget.find(".include-descendants");
 | 
			
		||||
        this.$includeDescendants.on("change", () => this.refresh());
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -13,13 +13,9 @@ const TPL = `
 | 
			
		||||
    <div class="modal-dialog modal-lg" style="max-width: 1000px" role="document">
 | 
			
		||||
        <div class="modal-content">
 | 
			
		||||
            <div class="modal-header">
 | 
			
		||||
                <h5 class="modal-title mr-auto">${t('clone_to.clone_notes_to')}</h5>
 | 
			
		||||
 | 
			
		||||
                <h5 class="modal-title flex-grow-1">${t('clone_to.clone_notes_to')}</h5>
 | 
			
		||||
                <button type="button" class="help-button" title="${t('clone_to.help_on_links')}" data-help-page="cloning-notes.html">?</button>
 | 
			
		||||
 | 
			
		||||
                <button type="button" class="close" data-dismiss="modal" aria-label="Close" style="margin-left: 0 !important;">
 | 
			
		||||
                    <span aria-hidden="true">×</span>
 | 
			
		||||
                </button>
 | 
			
		||||
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
 | 
			
		||||
            </div>
 | 
			
		||||
            <form class="clone-to-form">
 | 
			
		||||
                <div class="modal-body">
 | 
			
		||||
@@ -81,9 +77,9 @@ export default class CloneToDialog extends BasicWidget {
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    async cloneNoteIdsToEvent({noteIds}) {
 | 
			
		||||
    async cloneNoteIdsToEvent({ noteIds }) {
 | 
			
		||||
        if (!noteIds || noteIds.length === 0) {
 | 
			
		||||
            noteIds = [ appContext.tabManager.getActiveContextNoteId() ];
 | 
			
		||||
            noteIds = [appContext.tabManager.getActiveContextNoteId()];
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this.clonedNoteIds = [];
 | 
			
		||||
@@ -111,7 +107,7 @@ export default class CloneToDialog extends BasicWidget {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    async cloneNotesTo(notePath) {
 | 
			
		||||
        const {noteId, parentNoteId} = treeService.getNoteIdAndParentIdFromUrl(notePath);
 | 
			
		||||
        const { noteId, parentNoteId } = treeService.getNoteIdAndParentIdFromUrl(notePath);
 | 
			
		||||
        const targetBranchId = await froca.getBranchId(parentNoteId, noteId);
 | 
			
		||||
 | 
			
		||||
        for (const cloneNoteId of this.clonedNoteIds) {
 | 
			
		||||
@@ -120,7 +116,7 @@ export default class CloneToDialog extends BasicWidget {
 | 
			
		||||
            const clonedNote = await froca.getNote(cloneNoteId);
 | 
			
		||||
            const targetNote = await froca.getBranch(targetBranchId).getNote();
 | 
			
		||||
 | 
			
		||||
            toastService.showMessage(t('clone_to.note_cloned', {clonedTitle: clonedNote.title, targetTitle: targetNote.title}));
 | 
			
		||||
            toastService.showMessage(t('clone_to.note_cloned', { clonedTitle: clonedNote.title, targetTitle: targetNote.title }));
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -8,11 +8,8 @@ const TPL = `
 | 
			
		||||
    <div class="modal-dialog modal-dialog-scrollable" role="document">
 | 
			
		||||
        <div class="modal-content">
 | 
			
		||||
            <div class="modal-header">
 | 
			
		||||
                <h5 class="modal-title mr-auto">${t('confirm.confirmation')}</h5>
 | 
			
		||||
 | 
			
		||||
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
 | 
			
		||||
                    <span aria-hidden="true">×</span>
 | 
			
		||||
                </button>
 | 
			
		||||
                <h5 class="modal-title">${t('confirm.confirmation')}</h5>
 | 
			
		||||
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="modal-body">
 | 
			
		||||
                <div class="confirm-dialog-content"></div>
 | 
			
		||||
@@ -40,6 +37,7 @@ export default class ConfirmDialog extends BasicWidget {
 | 
			
		||||
 | 
			
		||||
    doRender() {
 | 
			
		||||
        this.$widget = $(TPL);
 | 
			
		||||
        this.modal = bootstrap.Modal.getOrCreateInstance(this.$widget);
 | 
			
		||||
        this.$confirmContent = this.$widget.find(".confirm-dialog-content");
 | 
			
		||||
        this.$okButton = this.$widget.find(".confirm-dialog-ok-button");
 | 
			
		||||
        this.$cancelButton = this.$widget.find(".confirm-dialog-cancel-button");
 | 
			
		||||
@@ -62,7 +60,7 @@ export default class ConfirmDialog extends BasicWidget {
 | 
			
		||||
        this.$okButton.on('click', () => this.doResolve(true));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    showConfirmDialogEvent({message, callback}) {
 | 
			
		||||
    showConfirmDialogEvent({ message, callback }) {
 | 
			
		||||
        this.$originallyFocused = $(':focus');
 | 
			
		||||
 | 
			
		||||
        this.$custom.hide();
 | 
			
		||||
@@ -75,15 +73,15 @@ export default class ConfirmDialog extends BasicWidget {
 | 
			
		||||
 | 
			
		||||
        this.$confirmContent.empty().append(message);
 | 
			
		||||
 | 
			
		||||
        this.$widget.modal();
 | 
			
		||||
        this.modal.show();
 | 
			
		||||
 | 
			
		||||
        this.resolve = callback;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    showConfirmDeleteNoteBoxWithNoteDialogEvent({title, callback}) {
 | 
			
		||||
    showConfirmDeleteNoteBoxWithNoteDialogEvent({ title, callback }) {
 | 
			
		||||
        glob.activeDialog = this.$widget;
 | 
			
		||||
 | 
			
		||||
        this.$confirmContent.text(`${t('confirm.are_you_sure_remove_note', {title: title})}`);
 | 
			
		||||
        this.$confirmContent.text(`${t('confirm.are_you_sure_remove_note', { title: title })}`);
 | 
			
		||||
 | 
			
		||||
        this.$custom.empty()
 | 
			
		||||
            .append("<br/>")
 | 
			
		||||
@@ -104,7 +102,7 @@ export default class ConfirmDialog extends BasicWidget {
 | 
			
		||||
 | 
			
		||||
        this.$custom.show();
 | 
			
		||||
 | 
			
		||||
        this.$widget.modal();
 | 
			
		||||
        this.modal.show();
 | 
			
		||||
 | 
			
		||||
        this.resolve = callback;
 | 
			
		||||
    }
 | 
			
		||||
@@ -117,6 +115,6 @@ export default class ConfirmDialog extends BasicWidget {
 | 
			
		||||
 | 
			
		||||
        this.resolve = null;
 | 
			
		||||
 | 
			
		||||
        this.$widget.modal("hide");
 | 
			
		||||
        this.modal.hide();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -10,27 +10,18 @@ const TPL = `
 | 
			
		||||
    <div class="modal-dialog modal-dialog-scrollable modal-xl" role="document">
 | 
			
		||||
        <div class="modal-content">
 | 
			
		||||
            <div class="modal-header">
 | 
			
		||||
                <h4 class="modal-title mr-auto">${t('delete_notes.delete_notes_preview')}</h4>
 | 
			
		||||
 | 
			
		||||
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
 | 
			
		||||
                    <span aria-hidden="true">×</span>
 | 
			
		||||
                </button>
 | 
			
		||||
                <h4 class="modal-title">${t('delete_notes.delete_notes_preview')}</h4>
 | 
			
		||||
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="modal-body">
 | 
			
		||||
                <div class="checkbox">
 | 
			
		||||
                    <label>
 | 
			
		||||
                        <input class="delete-all-clones" value="1" type="checkbox">
 | 
			
		||||
 | 
			
		||||
                        ${t('delete_notes.delete_all_clones_description')}
 | 
			
		||||
                    </label>
 | 
			
		||||
                <div class="form-checkbox">
 | 
			
		||||
                    <input class="delete-all-clones form-check-input" value="1" type="checkbox">
 | 
			
		||||
                    <label class="form-check-label">${t('delete_notes.delete_all_clones_description')}</label>
 | 
			
		||||
                </div>
 | 
			
		||||
 | 
			
		||||
                <div class="checkbox">
 | 
			
		||||
                    <label title="${t('delete_notes.erase_notes_description')}">
 | 
			
		||||
                        <input class="erase-notes" value="1" type="checkbox">
 | 
			
		||||
 | 
			
		||||
                        ${t('delete_notes.erase_notes_warning')}
 | 
			
		||||
                    </label>
 | 
			
		||||
                <div class="form-checkbox" style="margin-bottom: 1rem">
 | 
			
		||||
                    <input class="erase-notes form-check-input" value="1" type="checkbox">
 | 
			
		||||
                    <label class="form-check-label">${t('delete_notes.erase_notes_warning')}</label>
 | 
			
		||||
                </div>
 | 
			
		||||
 | 
			
		||||
                <div class="delete-notes-list-wrapper">
 | 
			
		||||
 
 | 
			
		||||
@@ -34,9 +34,7 @@ const TPL = `
 | 
			
		||||
        <div class="modal-content">
 | 
			
		||||
            <div class="modal-header">
 | 
			
		||||
                <h5 class="modal-title">${t('export.export_note_title')} <span class="export-note-title"></span></h5>
 | 
			
		||||
                <button type="button" class="close" data-dismiss="modal" aria-label="${t('export.close')}">
 | 
			
		||||
                    <span aria-hidden="true">×</span>
 | 
			
		||||
                </button>
 | 
			
		||||
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="${t('export.close')}"></button>
 | 
			
		||||
            </div>
 | 
			
		||||
            <form class="export-form">
 | 
			
		||||
                <div class="modal-body">
 | 
			
		||||
@@ -127,6 +125,7 @@ export default class ExportDialog extends BasicWidget {
 | 
			
		||||
 | 
			
		||||
    doRender() {
 | 
			
		||||
        this.$widget = $(TPL);
 | 
			
		||||
        this.modal = bootstrap.Modal.getOrCreateInstance(this.$widget);
 | 
			
		||||
        this.$form = this.$widget.find(".export-form");
 | 
			
		||||
        this.$noteTitle = this.$widget.find(".export-note-title");
 | 
			
		||||
        this.$subtreeFormats = this.$widget.find(".export-subtree-formats");
 | 
			
		||||
@@ -137,7 +136,7 @@ export default class ExportDialog extends BasicWidget {
 | 
			
		||||
        this.$opmlVersions = this.$widget.find(".opml-versions");
 | 
			
		||||
 | 
			
		||||
        this.$form.on('submit', () => {
 | 
			
		||||
            this.$widget.modal('hide');
 | 
			
		||||
            this.modal.hide();
 | 
			
		||||
 | 
			
		||||
            const exportType = this.$widget.find("input[name='export-type']:checked").val();
 | 
			
		||||
 | 
			
		||||
@@ -188,7 +187,7 @@ export default class ExportDialog extends BasicWidget {
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    async showExportDialogEvent({notePath, defaultType}) {
 | 
			
		||||
    async showExportDialogEvent({ notePath, defaultType }) {
 | 
			
		||||
        this.taskId = '';
 | 
			
		||||
        this.$exportButton.removeAttr("disabled");
 | 
			
		||||
 | 
			
		||||
@@ -208,7 +207,7 @@ export default class ExportDialog extends BasicWidget {
 | 
			
		||||
 | 
			
		||||
        utils.openDialog(this.$widget);
 | 
			
		||||
 | 
			
		||||
        const {noteId, parentNoteId} = treeService.getNoteIdAndParentIdFromUrl(notePath);
 | 
			
		||||
        const { noteId, parentNoteId } = treeService.getNoteIdAndParentIdFromUrl(notePath);
 | 
			
		||||
 | 
			
		||||
        this.branchId = await froca.getBranchId(parentNoteId, noteId);
 | 
			
		||||
        this.$noteTitle.text(await treeService.getNoteTitle(noteId));
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@ const TPL = `
 | 
			
		||||
    <div class="modal-dialog" role="document" style="min-width: 100%; height: 100%; margin: 0;">
 | 
			
		||||
        <div class="modal-content" style="height: auto;">
 | 
			
		||||
            <div class="modal-header">
 | 
			
		||||
                <h5 class="modal-title me-auto">${t('help.fullDocumentation')}</h5>
 | 
			
		||||
                <h5 class="modal-title">${t('help.fullDocumentation')}</h5>
 | 
			
		||||
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="${t('help.close')}"></button>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="modal-body" style="overflow: auto; height: calc(100vh - 70px);">
 | 
			
		||||
@@ -152,7 +152,6 @@ const TPL = `
 | 
			
		||||
export default class HelpDialog extends BasicWidget {
 | 
			
		||||
    doRender() {
 | 
			
		||||
        this.$widget = $(TPL);
 | 
			
		||||
        bootstrap.Modal.getOrCreateInstance(this.$widget);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    showHelpEvent() {
 | 
			
		||||
 
 | 
			
		||||
@@ -11,9 +11,7 @@ const TPL = `
 | 
			
		||||
        <div class="modal-content">
 | 
			
		||||
            <div class="modal-header">
 | 
			
		||||
                <h5 class="modal-title">${t('include_note.dialog_title')}</h5>
 | 
			
		||||
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
 | 
			
		||||
                    <span aria-hidden="true">×</span>
 | 
			
		||||
                </button>
 | 
			
		||||
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
 | 
			
		||||
            </div>
 | 
			
		||||
            <form class="include-note-form">
 | 
			
		||||
                <div class="modal-body">
 | 
			
		||||
@@ -27,22 +25,16 @@ const TPL = `
 | 
			
		||||
                    ${t('include_note.box_size_prompt')}
 | 
			
		||||
 | 
			
		||||
                    <div class="form-check">
 | 
			
		||||
                        <label class="form-check-label">
 | 
			
		||||
                        <input class="form-check-input" type="radio" name="include-note-box-size" value="small">
 | 
			
		||||
                            ${t('include_note.box_size_small')}
 | 
			
		||||
                        </label>
 | 
			
		||||
                        <label class="form-check-label">${t('include_note.box_size_small')}</label>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div class="form-check">
 | 
			
		||||
                        <label class="form-check-label">
 | 
			
		||||
                        <input class="form-check-input" type="radio" name="include-note-box-size" value="medium" checked>
 | 
			
		||||
                            ${t('include_note.box_size_medium')}
 | 
			
		||||
                        </label>
 | 
			
		||||
                        <label class="form-check-label">${t('include_note.box_size_medium')}</label>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div class="form-check">
 | 
			
		||||
                        <label class="form-check-label">
 | 
			
		||||
                        <input class="form-check-input" type="radio" name="include-note-box-size" value="full">
 | 
			
		||||
                            ${t('include_note.box_size_full')}
 | 
			
		||||
                        </label>
 | 
			
		||||
                        <label class="form-check-label">${t('include_note.box_size_full')}</label>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="modal-footer">
 | 
			
		||||
@@ -56,13 +48,14 @@ const TPL = `
 | 
			
		||||
export default class IncludeNoteDialog extends BasicWidget {
 | 
			
		||||
    doRender() {
 | 
			
		||||
        this.$widget = $(TPL);
 | 
			
		||||
        this.modal = bootstrap.Modal.getOrCreateInstance(this.$widget);
 | 
			
		||||
        this.$form = this.$widget.find(".include-note-form");
 | 
			
		||||
        this.$autoComplete = this.$widget.find(".include-note-autocomplete");
 | 
			
		||||
        this.$form.on('submit', () => {
 | 
			
		||||
            const notePath = this.$autoComplete.getSelectedNotePath();
 | 
			
		||||
 | 
			
		||||
            if (notePath) {
 | 
			
		||||
                this.$widget.modal('hide');
 | 
			
		||||
                this.modal.hide();
 | 
			
		||||
                this.includeNote(notePath);
 | 
			
		||||
            } else {
 | 
			
		||||
                logError("No noteId to include.");
 | 
			
		||||
@@ -72,7 +65,7 @@ export default class IncludeNoteDialog extends BasicWidget {
 | 
			
		||||
        })
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    async showIncludeNoteDialogEvent({textTypeWidget}) {
 | 
			
		||||
    async showIncludeNoteDialogEvent({ textTypeWidget }) {
 | 
			
		||||
        this.textTypeWidget = textTypeWidget;
 | 
			
		||||
        await this.refresh();
 | 
			
		||||
        utils.openDialog(this.$widget);
 | 
			
		||||
 
 | 
			
		||||
@@ -7,11 +7,8 @@ const TPL = `
 | 
			
		||||
    <div class="modal-dialog" role="document">
 | 
			
		||||
        <div class="modal-content">
 | 
			
		||||
            <div class="modal-header">
 | 
			
		||||
                <h5 class="modal-title mr-auto">${t("info.modalTitle")}</h5>
 | 
			
		||||
 | 
			
		||||
                <button type="button" class="close" data-dismiss="modal" aria-label="${t("info.closeButton")}">
 | 
			
		||||
                    <span aria-hidden="true">×</span>
 | 
			
		||||
                </button>
 | 
			
		||||
                <h5 class="modal-title">${t("info.modalTitle")}</h5>
 | 
			
		||||
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="${t("info.closeButton")}"></button>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="modal-body">
 | 
			
		||||
                <div class="info-dialog-content"></div>
 | 
			
		||||
@@ -33,6 +30,7 @@ export default class InfoDialog extends BasicWidget {
 | 
			
		||||
 | 
			
		||||
    doRender() {
 | 
			
		||||
        this.$widget = $(TPL);
 | 
			
		||||
        this.modal = bootstrap.Modal.getOrCreateInstance(this.$widget);
 | 
			
		||||
        this.$infoContent = this.$widget.find(".info-dialog-content");
 | 
			
		||||
        this.$okButton = this.$widget.find(".info-dialog-ok-button");
 | 
			
		||||
 | 
			
		||||
@@ -49,10 +47,10 @@ export default class InfoDialog extends BasicWidget {
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        this.$okButton.on('click', () => this.$widget.modal("hide"));
 | 
			
		||||
        this.$okButton.on('click', () => this.modal.hide());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    showInfoDialogEvent({message, callback}) {
 | 
			
		||||
    showInfoDialogEvent({ message, callback }) {
 | 
			
		||||
        this.$originallyFocused = $(':focus');
 | 
			
		||||
 | 
			
		||||
        this.$infoContent.text(message);
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,6 @@ const TPL = `<div class="jump-to-note-dialog modal mx-auto" tabindex="-1" role="
 | 
			
		||||
                <div class="input-group">
 | 
			
		||||
                    <input class="jump-to-note-autocomplete form-control" placeholder="${t('jump_to_note.search_placeholder')}">
 | 
			
		||||
                </div>
 | 
			
		||||
 | 
			
		||||
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="modal-body">
 | 
			
		||||
@@ -36,7 +35,7 @@ export default class JumpToNoteDialog extends BasicWidget {
 | 
			
		||||
 | 
			
		||||
    doRender() {
 | 
			
		||||
        this.$widget = $(TPL);
 | 
			
		||||
        bootstrap.Modal.getOrCreateInstance(this.$widget);
 | 
			
		||||
        this.modal = bootstrap.Modal.getOrCreateInstance(this.$widget);
 | 
			
		||||
 | 
			
		||||
        this.$autoComplete = this.$widget.find(".jump-to-note-autocomplete");
 | 
			
		||||
        this.$results = this.$widget.find(".jump-to-note-results");
 | 
			
		||||
@@ -96,6 +95,6 @@ export default class JumpToNoteDialog extends BasicWidget {
 | 
			
		||||
 | 
			
		||||
        this.triggerCommand('searchNotes', { searchString });
 | 
			
		||||
 | 
			
		||||
        this.$widget.modal('hide');
 | 
			
		||||
        this.modal.hide();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -12,9 +12,7 @@ const TPL = `
 | 
			
		||||
        <div class="modal-content">
 | 
			
		||||
            <div class="modal-header">
 | 
			
		||||
                <h5 class="modal-title">${t("markdown_import.dialog_title")}</h5>
 | 
			
		||||
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
 | 
			
		||||
                    <span aria-hidden="true">×</span>
 | 
			
		||||
                </button>
 | 
			
		||||
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="modal-body">
 | 
			
		||||
                <p>${t("markdown_import.modal_body_text")}</p>
 | 
			
		||||
@@ -37,6 +35,7 @@ export default class MarkdownImportDialog extends BasicWidget {
 | 
			
		||||
 | 
			
		||||
    doRender() {
 | 
			
		||||
        this.$widget = $(TPL);
 | 
			
		||||
        this.modal = bootstrap.Modal.getOrCreateInstance(this.$widget);
 | 
			
		||||
        this.$importTextarea = this.$widget.find('.markdown-import-textarea');
 | 
			
		||||
        this.$importButton = this.$widget.find('.markdown-import-button');
 | 
			
		||||
 | 
			
		||||
@@ -48,7 +47,7 @@ export default class MarkdownImportDialog extends BasicWidget {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    async convertMarkdownToHtml(markdownContent) {
 | 
			
		||||
        const {htmlContent} = await server.post('other/render-markdown', { markdownContent });
 | 
			
		||||
        const { htmlContent } = await server.post('other/render-markdown', { markdownContent });
 | 
			
		||||
 | 
			
		||||
        const textEditor = await appContext.tabManager.getActiveContext().getTextEditor();
 | 
			
		||||
 | 
			
		||||
@@ -70,7 +69,7 @@ export default class MarkdownImportDialog extends BasicWidget {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (utils.isElectron()) {
 | 
			
		||||
            const {clipboard} = utils.dynamicRequire('electron');
 | 
			
		||||
            const { clipboard } = utils.dynamicRequire('electron');
 | 
			
		||||
            const text = clipboard.readText();
 | 
			
		||||
 | 
			
		||||
            this.convertMarkdownToHtml(text);
 | 
			
		||||
@@ -83,7 +82,7 @@ export default class MarkdownImportDialog extends BasicWidget {
 | 
			
		||||
    async sendForm() {
 | 
			
		||||
        const text = this.$importTextarea.val();
 | 
			
		||||
 | 
			
		||||
        this.$widget.modal('hide');
 | 
			
		||||
        this.modal.hide();
 | 
			
		||||
 | 
			
		||||
        await this.convertMarkdownToHtml(text);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,18 +5,15 @@ import froca from "../../services/froca.js";
 | 
			
		||||
import branchService from "../../services/branches.js";
 | 
			
		||||
import treeService from "../../services/tree.js";
 | 
			
		||||
import BasicWidget from "../basic_widget.js";
 | 
			
		||||
import { t } from "../../services/i18n.js"; // Added import
 | 
			
		||||
import { t } from "../../services/i18n.js";
 | 
			
		||||
 | 
			
		||||
const TPL = `
 | 
			
		||||
<div class="move-to-dialog modal mx-auto" tabindex="-1" role="dialog">
 | 
			
		||||
    <div class="modal-dialog modal-lg" style="max-width: 1000px" role="document">
 | 
			
		||||
        <div class="modal-content">
 | 
			
		||||
            <div class="modal-header">
 | 
			
		||||
                <h5 class="modal-title mr-auto">${t("move_to.dialog_title")}</h5>
 | 
			
		||||
                
 | 
			
		||||
                <button type="button" class="close" data-dismiss="modal" aria-label="Close" style="margin-left: 0 !important;">
 | 
			
		||||
                    <span aria-hidden="true">×</span>
 | 
			
		||||
                </button>
 | 
			
		||||
                <h5 class="modal-title me-auto">${t("move_to.dialog_title")}</h5>
 | 
			
		||||
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
 | 
			
		||||
            </div>
 | 
			
		||||
            <form class="move-to-form">
 | 
			
		||||
                <div class="modal-body">
 | 
			
		||||
 
 | 
			
		||||
@@ -23,9 +23,8 @@ const TPL = `
 | 
			
		||||
    <div class="modal-dialog" style="max-width: 500px;" role="document">
 | 
			
		||||
        <div class="modal-content">
 | 
			
		||||
            <div class="modal-header">
 | 
			
		||||
                <h5 class="modal-title me-auto">${t("note_type_chooser.modal_title")}</h5>
 | 
			
		||||
 | 
			
		||||
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close" style="margin-left: 0 !important;"></button>
 | 
			
		||||
                <h5 class="modal-title">${t("note_type_chooser.modal_title")}</h5>
 | 
			
		||||
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="modal-body">
 | 
			
		||||
                ${t("note_type_chooser.modal_body")}
 | 
			
		||||
 
 | 
			
		||||
@@ -7,11 +7,8 @@ const TPL = `
 | 
			
		||||
    <div class="modal-dialog modal-md" role="document">
 | 
			
		||||
        <div class="modal-content">
 | 
			
		||||
            <div class="modal-header">
 | 
			
		||||
                <h5 class="modal-title mr-auto">${t("password_not_set.title")}</h5>
 | 
			
		||||
 | 
			
		||||
                <button type="button" class="close" data-dismiss="modal" aria-label="Close" style="margin-left: 0;">
 | 
			
		||||
                    <span aria-hidden="true">×</span>
 | 
			
		||||
                </button>
 | 
			
		||||
                <h5 class="modal-title">${t("password_not_set.title")}</h5>
 | 
			
		||||
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="modal-body">
 | 
			
		||||
                ${t("password_not_set.body1")}
 | 
			
		||||
@@ -26,8 +23,10 @@ const TPL = `
 | 
			
		||||
export default class PasswordNoteSetDialog extends BasicWidget {
 | 
			
		||||
    doRender() {
 | 
			
		||||
        this.$widget = $(TPL);
 | 
			
		||||
        this.modal = bootstrap.Modal.getOrCreateInstance(this.$widget);
 | 
			
		||||
        this.$openPasswordOptionsButton = this.$widget.find(".open-password-options-button");
 | 
			
		||||
        this.$openPasswordOptionsButton.on("click", () => {
 | 
			
		||||
            this.modal.hide();
 | 
			
		||||
            this.triggerCommand("showOptions", { section: '_optionsPassword' });
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -8,13 +8,10 @@ const TPL = `
 | 
			
		||||
        <div class="modal-content">
 | 
			
		||||
            <form class="prompt-dialog-form">
 | 
			
		||||
                <div class="modal-header">
 | 
			
		||||
                    <h5 class="prompt-title modal-title mr-auto">${t("prompt.title")}</h5>
 | 
			
		||||
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
 | 
			
		||||
                        <span aria-hidden="true">×</span>
 | 
			
		||||
                    </button>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="modal-body">
 | 
			
		||||
                    <h5 class="prompt-title modal-title">${t("prompt.title")}</h5>
 | 
			
		||||
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="modal-body"></div>
 | 
			
		||||
                <div class="modal-footer">
 | 
			
		||||
                    <button class="prompt-dialog-ok-button btn btn-primary btn-sm">${t("prompt.ok")}</button>
 | 
			
		||||
                </div>
 | 
			
		||||
@@ -33,6 +30,7 @@ export default class PromptDialog extends BasicWidget {
 | 
			
		||||
 | 
			
		||||
    doRender() {
 | 
			
		||||
        this.$widget = $(TPL);
 | 
			
		||||
        this.modal = bootstrap.Modal.getOrCreateInstance(this.$widget);
 | 
			
		||||
        this.$dialogBody = this.$widget.find(".modal-body");
 | 
			
		||||
        this.$form = this.$widget.find(".prompt-dialog-form");
 | 
			
		||||
        this.$question = null;
 | 
			
		||||
@@ -61,7 +59,7 @@ export default class PromptDialog extends BasicWidget {
 | 
			
		||||
            e.preventDefault();
 | 
			
		||||
            this.resolve(this.$answer.val());
 | 
			
		||||
 | 
			
		||||
            this.$widget.modal('hide');
 | 
			
		||||
            this.modal.hide();
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -8,11 +8,9 @@ const TPL = `
 | 
			
		||||
    <div class="modal-dialog modal-md" role="document">
 | 
			
		||||
        <div class="modal-content">
 | 
			
		||||
            <div class="modal-header">
 | 
			
		||||
                <h5 class="modal-title me-auto">${t("protected_session_password.modal_title")}</h5>
 | 
			
		||||
 | 
			
		||||
                <h5 class="modal-title flex-grow-1">${t("protected_session_password.modal_title")}</h5>
 | 
			
		||||
                <button class="help-button" type="button" data-help-page="protected-notes.html" title="${t("protected_session_password.help_title")}">?</button>
 | 
			
		||||
 | 
			
		||||
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="${t("protected_session_password.close_label")}"  style="margin-left: 0;"></button>
 | 
			
		||||
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="${t("protected_session_password.close_label")}"></button>
 | 
			
		||||
            </div>
 | 
			
		||||
            <form class="protected-session-password-form">
 | 
			
		||||
                <div class="modal-body">
 | 
			
		||||
@@ -30,7 +28,7 @@ const TPL = `
 | 
			
		||||
export default class ProtectedSessionPasswordDialog extends BasicWidget {
 | 
			
		||||
    doRender() {
 | 
			
		||||
        this.$widget = $(TPL);
 | 
			
		||||
        bootstrap.Modal.getOrCreateInstance(this.$widget);
 | 
			
		||||
        this.modal = bootstrap.Modal.getOrCreateInstance(this.$widget);
 | 
			
		||||
 | 
			
		||||
        this.$passwordForm = this.$widget.find(".protected-session-password-form");
 | 
			
		||||
        this.$passwordInput = this.$widget.find(".protected-session-password");
 | 
			
		||||
@@ -51,6 +49,6 @@ export default class ProtectedSessionPasswordDialog extends BasicWidget {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    closeProtectedSessionPasswordDialogEvent() {
 | 
			
		||||
        this.$widget.modal('hide');
 | 
			
		||||
        this.modal.hide();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -16,10 +16,7 @@ const TPL = `
 | 
			
		||||
        <div class="modal-content">
 | 
			
		||||
            <div class="modal-header">
 | 
			
		||||
                <h5 class="modal-title flex-grow-1">${t('recent_changes.title')}</h5>
 | 
			
		||||
                
 | 
			
		||||
                <button class="erase-deleted-notes-now-button btn btn-sm" style="padding: 0 10px">
 | 
			
		||||
                    ${t('recent_changes.erase_notes_button')}</button>
 | 
			
		||||
                
 | 
			
		||||
                <button class="erase-deleted-notes-now-button btn btn-sm" style="padding: 0 10px">${t('recent_changes.erase_notes_button')}</button>
 | 
			
		||||
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="modal-body">
 | 
			
		||||
@@ -32,7 +29,7 @@ const TPL = `
 | 
			
		||||
export default class RecentChangesDialog extends BasicWidget {
 | 
			
		||||
    doRender() {
 | 
			
		||||
        this.$widget = $(TPL);
 | 
			
		||||
        bootstrap.Modal.getOrCreateInstance(this.$widget);
 | 
			
		||||
        this.modal = bootstrap.Modal.getOrCreateInstance(this.$widget);
 | 
			
		||||
 | 
			
		||||
        this.$content = this.$widget.find(".recent-changes-content");
 | 
			
		||||
        this.$eraseDeletedNotesNow = this.$widget.find(".erase-deleted-notes-now-button");
 | 
			
		||||
@@ -93,7 +90,7 @@ export default class RecentChangesDialog extends BasicWidget {
 | 
			
		||||
                                if (await dialogService.confirm(text)) {
 | 
			
		||||
                                    await server.put(`notes/${change.noteId}/undelete`);
 | 
			
		||||
 | 
			
		||||
                                    this.$widget.modal('hide');
 | 
			
		||||
                                    this.modal.hide();
 | 
			
		||||
 | 
			
		||||
                                    await ws.waitForMaxKnownEntityChangeId();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -41,13 +41,10 @@ const TPL = `
 | 
			
		||||
        <div class="modal-content">
 | 
			
		||||
            <div class="modal-header">
 | 
			
		||||
                <h5 class="modal-title flex-grow-1">${t("revisions.note_revisions")}</h5>
 | 
			
		||||
 | 
			
		||||
                <button class="revisions-erase-all-revisions-button btn btn-sm"
 | 
			
		||||
                        title="${t("revisions.delete_all_revisions")}"
 | 
			
		||||
                        style="padding: 0 10px 0 10px;" type="button">${t("revisions.delete_all_button")}</button>
 | 
			
		||||
 | 
			
		||||
                <button class="help-button" type="button" data-help-page="note-revisions.html" title="${t("revisions.help_title")}">?</button>
 | 
			
		||||
 | 
			
		||||
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="modal-body" style="display: flex; height: 80vh;">
 | 
			
		||||
@@ -84,7 +81,7 @@ export default class RevisionsDialog extends BasicWidget {
 | 
			
		||||
 | 
			
		||||
    doRender() {
 | 
			
		||||
        this.$widget = $(TPL);
 | 
			
		||||
        bootstrap.Modal.getOrCreateInstance(this.$widget);
 | 
			
		||||
        this.modal = bootstrap.Modal.getOrCreateInstance(this.$widget);
 | 
			
		||||
 | 
			
		||||
        this.$list = this.$widget.find(".revision-list");
 | 
			
		||||
        this.$listDropdown = this.$widget.find(".revision-list-dropdown");
 | 
			
		||||
@@ -113,7 +110,7 @@ export default class RevisionsDialog extends BasicWidget {
 | 
			
		||||
            if (await dialogService.confirm(text)) {
 | 
			
		||||
                await server.remove(`notes/${this.note.noteId}/revisions`);
 | 
			
		||||
 | 
			
		||||
                this.$widget.modal('hide');
 | 
			
		||||
                this.modal.hide();
 | 
			
		||||
 | 
			
		||||
                toastService.showMessage(t("revisions.revisions_deleted"));
 | 
			
		||||
            }
 | 
			
		||||
@@ -193,7 +190,7 @@ export default class RevisionsDialog extends BasicWidget {
 | 
			
		||||
            if (await dialogService.confirm(text)) {
 | 
			
		||||
                await server.post(`revisions/${revisionItem.revisionId}/restore`);
 | 
			
		||||
 | 
			
		||||
                this.$widget.modal('hide');
 | 
			
		||||
                this.modal.hide();
 | 
			
		||||
 | 
			
		||||
                toastService.showMessage(t("revisions.revision_restored"));
 | 
			
		||||
            }
 | 
			
		||||
 
 | 
			
		||||
@@ -7,61 +7,45 @@ const TPL = `<div class="sort-child-notes-dialog modal mx-auto" tabindex="-1" ro
 | 
			
		||||
    <div class="modal-dialog modal-lg" style="max-width: 500px" role="document">
 | 
			
		||||
        <div class="modal-content">
 | 
			
		||||
            <div class="modal-header">
 | 
			
		||||
                <h5 class="modal-title mr-auto">${t("sort_child_notes.sort_children_by")}</h5>
 | 
			
		||||
                <button type="button" class="close" data-dismiss="modal" aria-label="Close" style="margin-left: 0 !important;">
 | 
			
		||||
                    <span aria-hidden="true">×</span>
 | 
			
		||||
                </button>
 | 
			
		||||
                <h5 class="modal-title">${t("sort_child_notes.sort_children_by")}</h5>
 | 
			
		||||
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
 | 
			
		||||
            </div>
 | 
			
		||||
            <form class="sort-child-notes-form">
 | 
			
		||||
                <div class="modal-body">
 | 
			
		||||
                    <h5>${t("sort_child_notes.sorting_criteria")}</h5>
 | 
			
		||||
                    <div class="form-check">
 | 
			
		||||
                        <label class="form-check-label">
 | 
			
		||||
                        <input class="form-check-input" type="radio" name="sort-by" value="title" checked>
 | 
			
		||||
                            ${t("sort_child_notes.title")}
 | 
			
		||||
                        </label>
 | 
			
		||||
                        <label class="form-check-label">${t("sort_child_notes.title")}</label>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div class="form-check">
 | 
			
		||||
                        <label class="form-check-label">
 | 
			
		||||
                        <input class="form-check-input" type="radio" name="sort-by" value="dateCreated">
 | 
			
		||||
                            ${t("sort_child_notes.date_created")}
 | 
			
		||||
                        </label>
 | 
			
		||||
                        <label class="form-check-label">${t("sort_child_notes.date_created")}</label>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div class="form-check">
 | 
			
		||||
                        <label class="form-check-label">
 | 
			
		||||
                        <input class="form-check-input" type="radio" name="sort-by" value="dateModified">
 | 
			
		||||
                            ${t("sort_child_notes.date_modified")}
 | 
			
		||||
                        </label>
 | 
			
		||||
                        <label class="form-check-label">${t("sort_child_notes.date_modified")}</label>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <br/>
 | 
			
		||||
                    <h5>${t("sort_child_notes.sorting_direction")}</h5>
 | 
			
		||||
                    <div class="form-check">
 | 
			
		||||
                        <label class="form-check-label">
 | 
			
		||||
                        <input class="form-check-input" type="radio" name="sort-direction" value="asc" checked>
 | 
			
		||||
                            ${t("sort_child_notes.ascending")}
 | 
			
		||||
                        </label>
 | 
			
		||||
                        <label class="form-check-label">${t("sort_child_notes.ascending")}</label>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div class="form-check">
 | 
			
		||||
                        <label class="form-check-label">
 | 
			
		||||
                        <input class="form-check-input" type="radio" name="sort-direction" value="desc">
 | 
			
		||||
                            ${t("sort_child_notes.descending")}
 | 
			
		||||
                        </label>
 | 
			
		||||
                        <label class="form-check-label">${t("sort_child_notes.descending")}</label>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <br />
 | 
			
		||||
                    <h5>${t("sort_child_notes.folders")}</h5>
 | 
			
		||||
                    <div class="form-check">
 | 
			
		||||
                        <label class="form-check-label">
 | 
			
		||||
                        <input class="form-check-input" type="checkbox" name="sort-folders-first" value="1">
 | 
			
		||||
                            ${t("sort_child_notes.sort_folders_at_top")}
 | 
			
		||||
                        </label>
 | 
			
		||||
                        <label class="form-check-label">${t("sort_child_notes.sort_folders_at_top")}</label>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <br />
 | 
			
		||||
                    <h5>${t("sort_child_notes.natural_sort")}</h5>
 | 
			
		||||
                    <div class="form-check">
 | 
			
		||||
                        <label class="form-check-label">
 | 
			
		||||
                        <input class="form-check-input" type="checkbox" name="sort-natural" value="1">
 | 
			
		||||
                            ${t("sort_child_notes.sort_with_respect_to_different_character_sorting")}
 | 
			
		||||
                        </label>
 | 
			
		||||
                        <label class="form-check-label">${t("sort_child_notes.sort_with_respect_to_different_character_sorting")}</label>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <br />
 | 
			
		||||
                    <div class="form-check">
 | 
			
		||||
 
 | 
			
		||||
@@ -47,7 +47,7 @@ export default class UploadAttachmentsDialog extends BasicWidget {
 | 
			
		||||
 | 
			
		||||
    doRender() {
 | 
			
		||||
        this.$widget = $(TPL);
 | 
			
		||||
        bootstrap.Modal.getOrCreateInstance(this.$widget);
 | 
			
		||||
        this.modal = bootstrap.Modal.getOrCreateInstance(this.$widget);
 | 
			
		||||
 | 
			
		||||
        this.$form = this.$widget.find(".upload-attachment-form");
 | 
			
		||||
        this.$noteTitle = this.$widget.find(".upload-attachment-note-title");
 | 
			
		||||
@@ -96,7 +96,7 @@ export default class UploadAttachmentsDialog extends BasicWidget {
 | 
			
		||||
            shrinkImages: boolToString(this.$shrinkImagesCheckbox),
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        this.$widget.modal('hide');
 | 
			
		||||
        this.modal.hide();
 | 
			
		||||
 | 
			
		||||
        await importService.uploadFiles('attachments', parentNoteId, files, options);
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user