@kldit/cms
Version:
A CMS Framework for @kldit/mvc
62 lines (54 loc) • 1.28 kB
JavaScript
const CMS = require('@kldit/cms/lib/CMS');
const util = require('@kldit/mvc/lib/util');
const LayoutObject = require('@kldit/cms/lib/LayoutObject');
module.exports = async function (cms)
{
var ctPath = cms.currentTable.join(",");
var json = {
title: util.renderJsLine(cms.page.edit.title, cms),
toolbar: [],
"modal-params": cms.page.edit["modal-params"],
optsbar: [],
container: []
};
var form = {
type: "form",
action: "edit-content/save/" + ctPath + "/" + cms.rawMapId,
method: "post",
buttons:
{
submit:
{
position: "toolbar",
title: cms.page.edit["submit-button-name"] ? cms.page.edit["submit-button-name"] : "Salvar",
class: "btn-primary"
},
cancel:
{
position: "toolbar",
title: "Cancelar",
class: "btn-default"
}
},
subs: []
};
if(cms.page.edit.readonly)
{
delete form.buttons.submit;
form.readonly = true;
form.buttons.cancel.title = "Fechar";
}
if(cms.page.edit.action)
{
form.action = util.renderJsLine(cms.page.edit.action, cms);
}
var edit = cms.page.edit;
var l = edit.layout ? edit.layout : 'layout';
var layout = CMS.config[cms.mapName][l];
for(var obj of layout)
{
form.subs.push(await LayoutObject.create(obj, cms));
}
json.container.push(form);
return json;
}