Skip to content

Commit e115bdd

Browse files
committed
Make no AJAX call when there are only component updates with value null
1 parent d2e5fab commit e115bdd

1 file changed

Lines changed: 22 additions & 9 deletions

File tree

view/base/templates/script/ajax-queue.phtml

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,16 @@ if ($interval < 10) {
8383
this.requests = [];
8484
this.post(requests);
8585
},
86-
async post(requests) {
86+
async post(incomingRequests) {
8787
this.setLoading(true);
8888

89+
requests = incomingRequests.filter(request => request.update !== null);
90+
if (requests.length === 0) {
91+
this.afterPostSuccess(incomingRequests);
92+
this.afterPostFinally(incomingRequests);
93+
return;
94+
}
95+
8996
await fetch('<?= $escaper->escapeUrl($componentUtil->getPostUrl(
9097
)) ?>?form_key=' + LokiComponentFormKey + '&isAjax=true', {
9198
method: 'POST',
@@ -112,21 +119,27 @@ if ($interval < 10) {
112119
}
113120

114121
this.updateTargetsAfterPost(requests, html);
115-
requests.forEach(request => {
116-
request.component.afterPostSuccess();
117-
});
122+
this.afterPostSuccess(incomingRequests);
118123
})
119124
.catch(error => {
120125
Alpine.store('Message').addErrorMessage(error);
121126
})
122127
.finally(() => {
123-
requests.forEach(request => {
124-
request.component.afterPostFinally();
125-
});
126-
127-
this.setLoading(false);
128+
this.afterPostFinally(incomingRequests);
128129
});
129130
},
131+
afterPostSuccess(requests) {
132+
requests.forEach(request => {
133+
request.component.afterPostSuccess();
134+
});
135+
},
136+
afterPostFinally(requests) {
137+
requests.forEach(request => {
138+
request.component.afterPostFinally();
139+
});
140+
141+
this.setLoading(false);
142+
},
130143
getPostHeaders() {
131144
return {
132145
'X-Alpine-Request': true,

0 commit comments

Comments
 (0)