mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-03 20:06:08 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			60 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
const $dialog = $("#prompt-dialog");
 | 
						|
const $dialogBody = $dialog.find(".modal-body");
 | 
						|
 | 
						|
let $question;
 | 
						|
let $answer;
 | 
						|
 | 
						|
const $form = $("#prompt-dialog-form");
 | 
						|
 | 
						|
let resolve;
 | 
						|
let shownCb;
 | 
						|
 | 
						|
function ask({ message, defaultValue, shown }) {
 | 
						|
    glob.activeDialog = $dialog;
 | 
						|
 | 
						|
    shownCb = shown;
 | 
						|
 | 
						|
    $question = $("<label>")
 | 
						|
        .prop("for", "prompt-dialog-answer")
 | 
						|
        .text(message);
 | 
						|
 | 
						|
    $answer = $("<input>")
 | 
						|
        .prop("type", "text")
 | 
						|
        .prop("id", "prompt-dialog-answer")
 | 
						|
        .addClass("form-control")
 | 
						|
        .val(defaultValue || "");
 | 
						|
 | 
						|
    $dialogBody.empty().append(
 | 
						|
        $("<div>")
 | 
						|
            .addClass("form-group")
 | 
						|
            .append($question)
 | 
						|
            .append($answer));
 | 
						|
 | 
						|
    $dialog.modal();
 | 
						|
 | 
						|
    return new Promise((res, rej) => { resolve = res; });
 | 
						|
}
 | 
						|
 | 
						|
$dialog.on('shown.bs.modal', () => {
 | 
						|
    if (shownCb) {
 | 
						|
        shownCb({ $dialog, $question, $answer, $form });
 | 
						|
    }
 | 
						|
 | 
						|
    $answer.focus().select();
 | 
						|
});
 | 
						|
 | 
						|
$dialog.on("hidden.bs.modal", () => {
 | 
						|
    if (resolve) {
 | 
						|
        resolve(null);
 | 
						|
    }
 | 
						|
});
 | 
						|
 | 
						|
$form.submit(() => {
 | 
						|
    resolve($answer.val());
 | 
						|
 | 
						|
    $dialog.modal('hide');
 | 
						|
});
 | 
						|
 | 
						|
export default {
 | 
						|
    ask
 | 
						|
} |