let promises = [];
let scripts = [];
let optionalScripts = [];
function loadScript(url) {
return new Promise(function (resolve, reject) {
let script = document.createElement("script");
script.src = url;
script.async = false;
script.onload = function () {
resolve(url);
};
script.onerror = function () {
reject(url);
};
document.body.appendChild(script);
});
}
function init(optionalScripts) {
scripts.forEach(function (url) {
promises.push(loadScript(url));
});
if (optionalScripts) {
optionalScripts.forEach(function (url) {
promises.push(loadScript(url));
});
}
}
function scriptsActivator(
lazyload = false,
swiper = false,
popper = false,
bootstrap = false,
aos = false,
floatingLabels = false
) {
scripts = [];
scripts.push(
"/files/base/layout/js/_global-functions.js",
"/files/base/layout/js/_cookie-handling.js",
"/files/base/layout/js/_element-handling.js",
"/files/base/layout/js/_scrollToAnchor-handling.js"
);
if (lazyload) {
scripts.push(
"/files/base/layout/_vendor/node_modules/vanilla-lazyload/dist/lazyload.min.js"
);
options_lazyload = true;
} else {
options_lazyload = false;
}
if (swiper) {
scripts.push(
"/files/base/layout/_vendor/node_modules/swiper/swiper-bundle.min.js",
);
options_swiper = true;
} else {
options_swiper = false;
}
if (popper) {
scripts.push(
"/files/base/layout/_vendor/node_modules/@popperjs/core/dist/umd/popper.min.js"
);
options_popper = true;
} else {
options_popper = false;
}
if (bootstrap) {
scripts.push(
"/files/base/layout/_vendor/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"
);
options_bootstrap = true;
} else {
options_bootstrap = false;
}
if (aos) {
scripts.push(
"/files/base/layout/_vendor/node_modules/aos/dist/aos.js",
);
options_aos = true;
}
if (floatingLabels) {
scripts.push(
"/files/base/layout/js/_floating-labels.js",
);
options_floatingLabels = true;
}
else {
options_floatingLabels = false;
}
}
let themeScripts = [
"/files/base/layout/js/_theme/theme.js",
"/files/base/layout/js/run.js",
];
let finalPromise = [];
themeScripts.forEach(function (url) {
finalPromise.push(loadScript(url));
});