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