Read spinner button function from onclick instead of data-onclick.
I think my original reason for doing this was to prevent the button from being operational until after the spinner initialization has completed, so you don't get any weird half-functional spinner buttons. However, in practice I'm finding that I constantly forget about this and it adds tedium to creating spinner buttons. Will review if any actual problems come up.
This commit is contained in:
parent
d6ca8206b4
commit
a56b5274c9
3 changed files with 5 additions and 8 deletions
|
@ -80,9 +80,6 @@ function init_button_with_spinner()
|
||||||
When you're ready for the spinner to disappear, call
|
When you're ready for the spinner to disappear, call
|
||||||
window[button.dataset.spinnerCloser]().
|
window[button.dataset.spinnerCloser]().
|
||||||
|
|
||||||
Required:
|
|
||||||
data-onclick: The string that would normally be the button's onclick.
|
|
||||||
|
|
||||||
Optional:
|
Optional:
|
||||||
data-spinner-id: If you want to use your own element as the spinner,
|
data-spinner-id: If you want to use your own element as the spinner,
|
||||||
give its ID here. Otherwise a new one will be created.
|
give its ID here. Otherwise a new one will be created.
|
||||||
|
@ -139,7 +136,7 @@ function init_button_with_spinner()
|
||||||
spin.show(spin_delay);
|
spin.show(spin_delay);
|
||||||
button.disabled = true;
|
button.disabled = true;
|
||||||
}
|
}
|
||||||
// It is expected that the function referenced by data-onclick will call
|
// It is expected that the function referenced by onclick will call
|
||||||
// window[button.dataset.spinnerCloser]() when appropriate, since from
|
// window[button.dataset.spinnerCloser]() when appropriate, since from
|
||||||
// our perspective we cannot be sure when to close the spinner.
|
// our perspective we cannot be sure when to close the spinner.
|
||||||
button.dataset.spinnerCloser = "spinner_closer_" + spinner.spinner_button_index;
|
button.dataset.spinnerCloser = "spinner_closer_" + spinner.spinner_button_index;
|
||||||
|
@ -150,7 +147,8 @@ function init_button_with_spinner()
|
||||||
button.disabled = false;
|
button.disabled = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped_onclick = Function(button.dataset.onclick);
|
var wrapped_onclick = button.onclick;
|
||||||
|
button.removeAttribute('onclick');
|
||||||
button.onclick = function()
|
button.onclick = function()
|
||||||
{
|
{
|
||||||
if (button.dataset.spinnerGroup)
|
if (button.dataset.spinnerGroup)
|
||||||
|
@ -163,7 +161,6 @@ function init_button_with_spinner()
|
||||||
}
|
}
|
||||||
return wrapped_onclick();
|
return wrapped_onclick();
|
||||||
}
|
}
|
||||||
delete button.dataset.onclick;
|
|
||||||
|
|
||||||
spinner.spinner_button_index += 1;
|
spinner.spinner_button_index += 1;
|
||||||
});
|
});
|
||||||
|
|
|
@ -117,7 +117,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="refresh_metadata_area">
|
<div id="refresh_metadata_area">
|
||||||
<button class="green_button button_with_spinner" id="refresh_metadata_button" data-spinner-delay="500" data-onclick="refresh_metadata_form();">Refresh metadata</button>
|
<button class="green_button button_with_spinner" id="refresh_metadata_button" data-spinner-delay="500" onclick="refresh_metadata_form();">Refresh metadata</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="searchhidden_area">
|
<div id="searchhidden_area">
|
||||||
|
|
|
@ -244,7 +244,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div id="hovering_tools">
|
<div id="hovering_tools">
|
||||||
{% if photo.simple_mimetype == "video" %}
|
{% if photo.simple_mimetype == "video" %}
|
||||||
<button id="generate_thumbnail_button" class="green_button button_with_spinner" data-onclick="generate_thumbnail_for_video(event)">Capture thumbnail</button>
|
<button id="generate_thumbnail_button" class="green_button button_with_spinner" onclick="generate_thumbnail_for_video(event)">Capture thumbnail</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<button
|
<button
|
||||||
class="red_button button_with_confirm"
|
class="red_button button_with_confirm"
|
||||||
|
|
Loading…
Reference in a new issue