initial files
This commit is contained in:
97
public/javascript/loadOnce.js
Normal file
97
public/javascript/loadOnce.js
Normal file
@@ -0,0 +1,97 @@
|
||||
const auth = { objectGuid: getCookie('ObjectGUID'), sAMAccountName: getCookie('sAMAccountName') };
|
||||
const mainSocket = io.connect('/', { reconnect: true, auth: auth });
|
||||
const adminSocket = io.connect('/admin', { reconnect: true, auth: auth });
|
||||
|
||||
const container = document.getElementById('message-container');
|
||||
|
||||
|
||||
adminSocket.on('eventlog', (data) => {
|
||||
showMessage('EventLog',
|
||||
`${data.datetime}<br>${[-1,0].includes(data.levelId) ? '' : data.trace}<br><br>${(Array.isArray(data.message) ? data.message.split('\r\n').join('<br>').split('\t').join(' ') : data.message.split('\r\n').join('<br>').split('\t').join(' '))}`,
|
||||
data.levelId,
|
||||
() => {
|
||||
|
||||
} ,
|
||||
10000);
|
||||
});
|
||||
|
||||
mainSocket.on('event', (data) => {
|
||||
showMessage(data.pluginName,
|
||||
`[${data.datetime}]<br><br>${(Array.isArray(data.message) ? data.message.split('\r\n').join('<br>').split('\t').join(' ') : data.message.split('\r\n').join('<br>').split('\t').join(' '))}`,
|
||||
data.levelId,
|
||||
() => {
|
||||
|
||||
} ,
|
||||
10000);
|
||||
});
|
||||
|
||||
|
||||
|
||||
//-1=test, 0=success, 1=log, 2=warn, 4=error, 8=throw_exception
|
||||
function writeEventLog(levelId, pluginName, message) {
|
||||
adminSocket.emit('eventlog', {
|
||||
objectGuid: getCookie('ObjectGUID'),
|
||||
levelId: levelId,
|
||||
pluginName: pluginName,
|
||||
message: message.stack === undefined ? message : { message: message.message, stack: message.stack }
|
||||
});
|
||||
}
|
||||
|
||||
// levelId: if -1, then write no log entry
|
||||
// sendToParams: where clause to find objectGUIDs to send
|
||||
function sendUserEvent(pluginName, message, sendToParams, levelId = -1) {
|
||||
mainSocket.emit('event', {
|
||||
objectGuid: getCookie('ObjectGUID'),
|
||||
levelId: levelId,
|
||||
pluginName: pluginName,
|
||||
message: message.stack === undefined ? message : { message: message.message },
|
||||
sendToParams: sendToParams
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
{
|
||||
"status":"unload",
|
||||
"pluginName":"user_management",
|
||||
"metadata":{
|
||||
"name":"user_management",
|
||||
"menuName":"User Management",
|
||||
"description":"Beschreibung hier einfügen",
|
||||
"version":"0.9.25.11.14",
|
||||
"icon":"",
|
||||
"permissions":[],
|
||||
"config":{
|
||||
},
|
||||
"active":false
|
||||
},
|
||||
"levelId":0,
|
||||
"message":"Plugin user_management entladen",
|
||||
"authorized": true
|
||||
}
|
||||
*/
|
||||
mainSocket.on('plugin_status', payload => {
|
||||
const startMenuItem = document.querySelector(`[data-appname=${payload.metadata.name}]`);
|
||||
if(['load', 'unload', 'update'].includes(payload.status)) {
|
||||
if(payload.status == 'load') {
|
||||
if(payload.authorized) {
|
||||
startMenuItem.classList.remove('unload');
|
||||
startMenuItem.setAttribute('data-active', true);
|
||||
} else {
|
||||
startMenuItem.classList.add('unload');
|
||||
startMenuItem.setAttribute('data-active', false);
|
||||
}
|
||||
} else if(payload.status == 'unload') {
|
||||
startMenuItem.classList.add('unload');
|
||||
startMenuItem.setAttribute('data-active', false);
|
||||
} else if(payload.status == 'update') {
|
||||
if(payload.authorized && payload.metadata.active) {
|
||||
startMenuItem.classList.remove('unload');
|
||||
startMenuItem.setAttribute('data-active', true);
|
||||
} else if(!payload.authorized){
|
||||
startMenuItem.classList.add('unload');
|
||||
startMenuItem.setAttribute('data-active', false);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user