86 lines
3.4 KiB
JavaScript
86 lines
3.4 KiB
JavaScript
const { service } = require('@root/server.js');
|
|
const { localPath, cache, runtimeFile } = require('@root/globalize.js');
|
|
|
|
module.exports = {
|
|
renderWindow: async function(app, view, data = {}, extraData = {}, res) {
|
|
const name = res.req.body.name;
|
|
const label = res.req.body.viewLabel;
|
|
try {
|
|
const plugin = cache.startMenuItems.find(plugin => plugin.name == name);
|
|
const windowData = plugin.menu.items.find(item => item.label == label);
|
|
|
|
// Alle Daten zusammenführen
|
|
const templateData = {
|
|
...{ appname: plugin.menu.label, label: label, section: plugin.section },
|
|
...windowData,
|
|
// ...data,
|
|
...extraData
|
|
};
|
|
// console.log(templateData)
|
|
|
|
// Zuerst Plugin-View rendern
|
|
app.render(view, templateData, (err, contentHtml) => {
|
|
if (err) {
|
|
service.get('eventManager').write(res.req.cookies.ObjectGUID, 4, name, err);
|
|
return res.status(500).send(err.message);
|
|
}
|
|
// Dann Window-Partial rendern
|
|
app.render('partials/window', {
|
|
layout: false,
|
|
contentHtml,
|
|
...templateData
|
|
}, (err, html) => {
|
|
if (err) {
|
|
service.get('eventManager').write(res.req.cookies.ObjectGUID, 4, name, err);
|
|
return res.status(500).send(err.message);
|
|
}
|
|
res.status(200).send(html);
|
|
});
|
|
});
|
|
|
|
} catch (err) {
|
|
service.get('eventManager').write(res.req.cookies.ObjectGUID, 4, name, err);
|
|
res.status(500).send(err.message);
|
|
}
|
|
},
|
|
renderView: async function(app, view, data = {}, res) {
|
|
const payload = res.req.body;
|
|
|
|
try {
|
|
|
|
// console.log(app.locals.startMenuItems.find(name == ).menu.items.find(item => ))
|
|
// Alle Daten zusammenführen
|
|
const templateData = {
|
|
...payload,
|
|
...{ appname: payload.name, section: 'view' },
|
|
...{ name: payload.name, view: payload.view, viewLabel: payload.viewLabel},
|
|
...data,
|
|
};
|
|
// console.log(templateData)
|
|
// Zuerst Plugin-View rendern
|
|
app.render(view, templateData, (err, contentHtml) => {
|
|
|
|
if (err) {
|
|
service.get('eventManager').write(res.req.cookies.ObjectGUID, 4, payload.name, err);
|
|
return res.status(500).send(err.message);
|
|
}
|
|
// Dann Window-Partial rendern
|
|
app.render('partials/child', {
|
|
layout: false,
|
|
contentHtml,
|
|
...templateData
|
|
}, (err, html) => {
|
|
if (err) {
|
|
service.get('eventManager').write(res.req.cookies.ObjectGUID, 4, payload.name, err);
|
|
return res.status(500).send(err.message);
|
|
}
|
|
res.status(200).send(html);
|
|
});
|
|
});
|
|
|
|
} catch (err) {
|
|
service.get('eventManager').write(res.req.cookies.ObjectGUID, 4, payload.name, err);
|
|
res.status(500).send(err.message);
|
|
}
|
|
}
|
|
}; |