initial files
This commit is contained in:
85
src/services/renderWindow.js
Normal file
85
src/services/renderWindow.js
Normal file
@@ -0,0 +1,85 @@
|
||||
const { service } = require('@root/server.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 = app.locals.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);
|
||||
}
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user