Add input option to button_with_confirm to make mini submit forms.
This commit is contained in:
parent
e0544adc06
commit
ab4f240a30
1 changed files with 27 additions and 4 deletions
|
@ -171,20 +171,38 @@ function init_button_with_confirm()
|
|||
holder_stage2.classList.add("hidden");
|
||||
holder.appendChild(holder_stage2);
|
||||
|
||||
var span_prompt = document.createElement("span");
|
||||
span_prompt.innerText = (button.dataset.prompt || "Are you sure?") + " ";
|
||||
span_prompt.className = button.dataset.promptClass || "";
|
||||
holder_stage2.appendChild(span_prompt)
|
||||
var prompt;
|
||||
var input_source;
|
||||
if (button.dataset.isInput)
|
||||
{
|
||||
prompt = document.createElement("input");
|
||||
prompt.placeholder = button.dataset.prompt || "";
|
||||
input_source = prompt;
|
||||
}
|
||||
else
|
||||
{
|
||||
prompt = document.createElement("span");
|
||||
prompt.innerText = (button.dataset.prompt || "Are you sure?") + " ";
|
||||
input_source = undefined;
|
||||
}
|
||||
prompt.className = button.dataset.promptClass || "";
|
||||
holder_stage2.appendChild(prompt)
|
||||
delete button.dataset.prompt;
|
||||
delete button.dataset.promptClass;
|
||||
|
||||
var button_confirm = document.createElement("button");
|
||||
button_confirm.innerText = (button.dataset.confirm || button.innerText).trim();
|
||||
button_confirm.className = button.dataset.confirmClass || "";
|
||||
button_confirm.input_source = input_source;
|
||||
holder_stage2.appendChild(button_confirm);
|
||||
holder_stage2.appendChild(document.createTextNode(" "));
|
||||
if (button.dataset.isInput)
|
||||
{
|
||||
common.bind_box_to_button(prompt, button_confirm);
|
||||
}
|
||||
delete button.dataset.confirm;
|
||||
delete button.dataset.confirmClass;
|
||||
delete button.dataset.isInput;
|
||||
|
||||
var button_cancel = document.createElement("button");
|
||||
button_cancel.innerText = button.dataset.cancel || "Cancel";
|
||||
|
@ -207,6 +225,11 @@ function init_button_with_confirm()
|
|||
var holder = event.target.parentElement.parentElement;
|
||||
holder.getElementsByClassName("confirm_holder_stage1")[0].classList.add("hidden");
|
||||
holder.getElementsByClassName("confirm_holder_stage2")[0].classList.remove("hidden");
|
||||
var input = holder.getElementsByTagName("input");
|
||||
if (input)
|
||||
{
|
||||
input[0].focus();
|
||||
}
|
||||
}
|
||||
|
||||
button_cancel.onclick = function(event)
|
||||
|
|
Loading…
Reference in a new issue