mirror of
https://github.com/bigskysoftware/htmx.git
synced 2025-10-02 15:25:26 +00:00
only return a promise for API usage
fixes https://github.com/bigskysoftware/htmx/issues/585
This commit is contained in:
parent
f4ff7ac949
commit
a1d320243d
@ -2134,7 +2134,8 @@ return (function () {
|
||||
if (context) {
|
||||
if (context instanceof Element || isType(context, 'String')) {
|
||||
return issueAjaxRequest(verb, path, null, null, {
|
||||
targetOverride: resolveTarget(context)
|
||||
targetOverride: resolveTarget(context),
|
||||
returnPromise: true
|
||||
});
|
||||
} else {
|
||||
return issueAjaxRequest(verb, path, resolveTarget(context.source), context.event,
|
||||
@ -2142,7 +2143,8 @@ return (function () {
|
||||
handler : context.handler,
|
||||
headers : context.headers,
|
||||
values : context.values,
|
||||
targetOverride: resolveTarget(context.target)
|
||||
targetOverride: resolveTarget(context.target),
|
||||
returnPromise: true
|
||||
});
|
||||
}
|
||||
} else {
|
||||
@ -2163,7 +2165,7 @@ return (function () {
|
||||
var resolve = null;
|
||||
var reject = null;
|
||||
etc = etc != null ? etc : {};
|
||||
if(typeof Promise !== "undefined"){
|
||||
if(etc.returnPromise && typeof Promise !== "undefined"){
|
||||
var promise = new Promise(function (_resolve, _reject) {
|
||||
resolve = _resolve;
|
||||
reject = _reject;
|
||||
|
@ -31,11 +31,20 @@
|
||||
|
||||
htmx.logAll();
|
||||
|
||||
this.server.respondWith("GET", "/test", function(xhr){
|
||||
xhr.respond(201, {}, '<form><input hx-trigger="keyup delay:1s changed" hx-swap="outerHTML" hx-get="/test" id="i1" value="blahblah"/></form>')
|
||||
// var i = 1;
|
||||
// this.server.respondWith("GET", "/test", function(xhr){
|
||||
// xhr.respond(201, {}, "" + i++);
|
||||
// });
|
||||
//
|
||||
// make('<div hx-get="/test" hx-trigger="load, every 5s">Init</div>');
|
||||
|
||||
let xhr;
|
||||
|
||||
htmx.on('htmx:beforeSend', function(evt) {
|
||||
xhr = evt.detail.xhr;
|
||||
});
|
||||
|
||||
make('<form hx-target="this"><input hx-trigger="keyup delay:1s changed" hx-swap="outerHTML" hx-get="/test" id="i1"/></form>');
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
@ -49,8 +58,14 @@ Autorespond: <input id="autorespond" type="checkbox" onclick="toggleAutoRespond(
|
||||
<hr/>
|
||||
|
||||
<div id="work-area" hx-history-elt>
|
||||
|
||||
<button hx-get="/foo" id="my-button">My Button</button>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
htmx.on('#my-button', 'click', function (evt) {
|
||||
xhr.abort();
|
||||
});
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
Loading…
x
Reference in New Issue
Block a user