mirror of
https://github.com/wazuh/wazuh-docker.git
synced 2025-11-02 21:13:30 +00:00
113 lines
4.3 KiB
Handlebars
113 lines
4.3 KiB
Handlebars
var kbnCsp = JSON.parse(document.querySelector('kbn-csp').getAttribute('data'));
|
|
window.__kbnStrictCsp__ = kbnCsp.strictCsp;
|
|
window.__kbnThemeTag__ = "{{themeTag}}";
|
|
window.__kbnPublicPath__ = {{publicPathMap}};
|
|
window.__kbnBundles__ = {{kbnBundlesLoaderSource}}
|
|
|
|
if (window.__kbnStrictCsp__ && window.__kbnCspNotEnforced__) {
|
|
var legacyBrowserError = document.getElementById('kbn_legacy_browser_error');
|
|
legacyBrowserError.style.display = 'flex';
|
|
} else {
|
|
if (!window.__kbnCspNotEnforced__ && window.console) {
|
|
window.console.log("^ A single error about an inline script not firing due to content security policy is expected!");
|
|
}
|
|
var loadingMessage = document.getElementById('kbn_loading_message');
|
|
loadingMessage.style.display = 'flex';
|
|
|
|
window.onload = function () {
|
|
//WAZUH
|
|
var interval = setInterval(() => {
|
|
var title = document.querySelector("#kibana-body > div > div.app-wrapper.hidden-chrome > div > div.application > div > ul > div.euiText.euiText--medium > div")
|
|
if (!!title) {
|
|
clearInterval(interval);
|
|
var content = document.querySelector("#kibana-body > div");
|
|
content.classList.add("wz-login")
|
|
title.textContent = "Welcome to Wazuh";
|
|
var subtitle = document.querySelector("#kibana-body > div > div.app-wrapper.hidden-chrome > div > div.application > div > ul > div.euiText.euiText--small > div")
|
|
subtitle.textContent = "The Open Source Security Platform";
|
|
var logo = document.querySelector("#kibana-body > div > div.app-wrapper.hidden-chrome > div > div.application > div > ul > figure");
|
|
logo.remove();
|
|
var logoContainer = document.querySelector("#kibana-body > div > div.app-wrapper.hidden-chrome > div > div.application > div > ul");
|
|
$(logoContainer).prepend('<span class="loginWelcome__logo"></span>');
|
|
}
|
|
})
|
|
//
|
|
|
|
function failure() {
|
|
// make subsequent calls to failure() noop
|
|
failure = function () {};
|
|
|
|
var err = document.createElement('h1');
|
|
err.style['color'] = 'white';
|
|
err.style['font-family'] = 'monospace';
|
|
err.style['text-align'] = 'center';
|
|
err.style['background'] = '#F44336';
|
|
err.style['padding'] = '25px';
|
|
err.innerText = document.querySelector('[data-error-message]').dataset.errorMessage;
|
|
|
|
document.body.innerHTML = err.outerHTML;
|
|
}
|
|
|
|
var stylesheetTarget = document.querySelector('head meta[name="add-styles-here"]')
|
|
function loadStyleSheet(url, cb) {
|
|
var dom = document.createElement('link');
|
|
dom.rel = 'stylesheet';
|
|
dom.type = 'text/css';
|
|
dom.href = url;
|
|
dom.addEventListener('error', failure);
|
|
dom.addEventListener('load', cb);
|
|
document.head.insertBefore(dom, stylesheetTarget);
|
|
}
|
|
|
|
var scriptsTarget = document.querySelector('head meta[name="add-scripts-here"]')
|
|
function loadScript(url, cb) {
|
|
var dom = document.createElement('script');
|
|
{{!-- NOTE: async = false is used to trigger async-download/ordered-execution as outlined here: https://www.html5rocks.com/en/tutorials/speed/script-loading/ --}}
|
|
dom.async = false;
|
|
dom.src = url;
|
|
dom.addEventListener('error', failure);
|
|
dom.addEventListener('load', cb);
|
|
document.head.insertBefore(dom, scriptsTarget);
|
|
}
|
|
|
|
function load(urls, cb) {
|
|
var pending = urls.length;
|
|
urls.forEach(function (url) {
|
|
var innerCb = function () {
|
|
pending = pending - 1;
|
|
if (pending === 0 && typeof cb === 'function') {
|
|
cb();
|
|
}
|
|
}
|
|
|
|
if (typeof url !== 'string') {
|
|
load(url, innerCb);
|
|
} else if (url.slice(-4) === '.css') {
|
|
loadStyleSheet(url, innerCb);
|
|
} else {
|
|
loadScript(url, innerCb);
|
|
}
|
|
});
|
|
}
|
|
|
|
load([
|
|
{{#each jsDependencyPaths}}
|
|
'{{this}}',
|
|
{{/each}}
|
|
], function () {
|
|
{{#unless legacyBundlePath}}
|
|
__kbnBundles__.get('entry/core/public').__kbnBootstrap__();
|
|
{{/unless}}
|
|
|
|
load([
|
|
{{#if legacyBundlePath}}
|
|
'{{legacyBundlePath}}',
|
|
{{/if}}
|
|
{{#each styleSheetPaths}}
|
|
'{{this}}',
|
|
{{/each}}
|
|
]);
|
|
});
|
|
}
|
|
}
|