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); } } };