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_stage2.classList.add("hidden");
|
||||||
holder.appendChild(holder_stage2);
|
holder.appendChild(holder_stage2);
|
||||||
|
|
||||||
var span_prompt = document.createElement("span");
|
var prompt;
|
||||||
span_prompt.innerText = (button.dataset.prompt || "Are you sure?") + " ";
|
var input_source;
|
||||||
span_prompt.className = button.dataset.promptClass || "";
|
if (button.dataset.isInput)
|
||||||
holder_stage2.appendChild(span_prompt)
|
{
|
||||||
|
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.prompt;
|
||||||
delete button.dataset.promptClass;
|
delete button.dataset.promptClass;
|
||||||
|
|
||||||
var button_confirm = document.createElement("button");
|
var button_confirm = document.createElement("button");
|
||||||
button_confirm.innerText = (button.dataset.confirm || button.innerText).trim();
|
button_confirm.innerText = (button.dataset.confirm || button.innerText).trim();
|
||||||
button_confirm.className = button.dataset.confirmClass || "";
|
button_confirm.className = button.dataset.confirmClass || "";
|
||||||
|
button_confirm.input_source = input_source;
|
||||||
holder_stage2.appendChild(button_confirm);
|
holder_stage2.appendChild(button_confirm);
|
||||||
holder_stage2.appendChild(document.createTextNode(" "));
|
holder_stage2.appendChild(document.createTextNode(" "));
|
||||||
|
if (button.dataset.isInput)
|
||||||
|
{
|
||||||
|
common.bind_box_to_button(prompt, button_confirm);
|
||||||
|
}
|
||||||
delete button.dataset.confirm;
|
delete button.dataset.confirm;
|
||||||
delete button.dataset.confirmClass;
|
delete button.dataset.confirmClass;
|
||||||
|
delete button.dataset.isInput;
|
||||||
|
|
||||||
var button_cancel = document.createElement("button");
|
var button_cancel = document.createElement("button");
|
||||||
button_cancel.innerText = button.dataset.cancel || "Cancel";
|
button_cancel.innerText = button.dataset.cancel || "Cancel";
|
||||||
|
@ -207,6 +225,11 @@ function init_button_with_confirm()
|
||||||
var holder = event.target.parentElement.parentElement;
|
var holder = event.target.parentElement.parentElement;
|
||||||
holder.getElementsByClassName("confirm_holder_stage1")[0].classList.add("hidden");
|
holder.getElementsByClassName("confirm_holder_stage1")[0].classList.add("hidden");
|
||||||
holder.getElementsByClassName("confirm_holder_stage2")[0].classList.remove("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)
|
button_cancel.onclick = function(event)
|
||||||
|
|
Loading…
Reference in a new issue