1
0
mirror of https://github.com/RaidMax/IW4M-Admin.git synced 2025-06-10 15:20:48 -05:00

add "advanced" search functionality

This commit is contained in:
RaidMax
2023-01-23 16:38:16 -06:00
parent c961d4e953
commit 4c51d86fae
24 changed files with 771 additions and 44 deletions

View File

@ -5,7 +5,7 @@ let startAt = null;
let isLoaderLoading = false;
let loadUri = '';
let loaderResponseId = '';
let additionalParams = [];
let additionalParams = undefined;
function initLoader(location, loaderId, count = 10, start = count, additional = []) {
loadUri = location;
@ -52,14 +52,23 @@ function loadMoreItems() {
showLoader();
isLoaderLoading = true;
let params = {offset: loaderOffset, count: loadCount, startAt: startAt};
for (let i = 0; i < additionalParams.length; i++) {
let param = additionalParams[i];
params[param.name] = param.value instanceof Function ? param.value() : param.value;
if (additionalParams instanceof Function) {
params = {
...params,
...flatParams(additionalParams())
}
} else {
for (let i = 0; i < additionalParams.length; i++) {
let param = additionalParams[i];
params[param.name] = param.value instanceof Function ? param.value() : param.value;
}
}
$.get(loadUri, params)
.done(function (response) {
$(loaderResponseId).append(response);
if (response.trim().length === 0) {
staleLoader();
loaderReachedEnd = true;
@ -82,3 +91,12 @@ function loadMoreItems() {
});
loaderOffset += loadCount;
}
function flatParams(params) {
return params.map(function (b) {
return {[b.name]: b.value}
}).reduce(function (prev, curr) {
for (const key in curr) prev[key] = curr[key];
return prev;
})
}