Files
Facilitor/APPL/SCF/scaffolding_m_list.inc
Jos Groot Lipman 823c9196ca FSN#31698 Rapportgenerator scaffolding aanscherpnig
svn path=/Website/trunk/; revision=24418
2015-03-11 20:44:51 +00:00

156 lines
6.0 KiB
PHP

<% /*
$Revision$
$Id$
File: scaffolding_list.asp
Description: Toont een lijst
Parameters:
Context: Vanuit scaffolding.inc
Note: model variabele is globaal beschikbaar
*/
%>
<%
function scaffolding_m_list(model, scf_params)
{
scf_params.list = scf_params.list || {};
scf_params.list.columns = scf_params.list.columns || [];
var transit = "";
if ("transit" in scf_params)
transit = "&" + scf_params.transit.name + "=" + safe.url(scf_params.transit.val);
var cols = getQParamArray("columns", []);
if (cols.length && cols[0])
scf_params.list.columns = cols;
var grps = getQParamArray("groups", []);
if (grps.length)
scf_params.list.groups = grps;
if (!scf_params.list.columns.length && "list" in model)
scf_params.list.columns = model.list.columns;
var modal = (model.parent_key != null); // dan doen we een detailrecord altijd modal
FCLTHeader.Requires({js: []});
if (model.autfunction)
var authparams = user.checkAutorisation(model.autfunction);
else
var authparams = { PRSreadlevel: -1, ALGreadlevel: -1 };
var showall = getQParamInt("showall", 0) == 1;
var outputmode = getQParamInt("outputmode", 0)
%>
<html>
<head>
<% FCLTMHeader.Generate({ outputmode: outputmode }); %>
<script>
function scf_show(row)
{
var key = row.getAttribute("ROWKEY");
<% if (modal) { %>
var url = "<%=scf_params.this_fullpath%>?mode=edit<%=transit%>&id=" + key;
FcltMgr.openModalDetail(url, "<%=safe.jsstring(model.record_name)%>", { callback: FcltMgr.reload });
<% } else { %>
$(row).addClass('dirty');
var url = "<%=scf_params.this_path%>?mode=wrap<%=transit%>&id=" + key;
FcltMgr.openDetail(url, "<%=safe.jsstring(model.record_name)%>");
<% } %>
}
</script>
</head>
<body id="listbody">
<%
PAGE_START();
var qrc = false;
HEADER({title: model.records_title, back:!qrc, home: !qrc, datatheme: jQFrontEndTheme });
CONTENT_START();
buttons = [];
buttons.push({ icon: "page_refresh.png", title: L("lcl_refresh"), action: "FcltMgr.reload()" });
if (model["REST_POST"] && authparams.PRSwritelevel < 9 && authparams.ALGwritelevel < 9)
{
var addurl = scf_params.this_path + "?mode=edit" + transit;
buttons.push({ icon: "plus.png", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + L("lcl_add") + " " + model.record_name + "')" });
}
var xxx_params = { filter : scf_params.filter || api2.qs2json(), columns: scf_params.list.columns, groupby: scf_params.list.groups };
var xxx_array = model.REST_GET(xxx_params);
function fnHeader(oRs)
{
var fld = scf_params.list.columns[0];
var field = model.fields[fld];
return ResultsetTable.formatValue(oRs.Fields(fld).Value, { datatype: field.typ});;
};
function fnDetail(oRs)
{
var fld = scf_params.list.columns[1];
var field = model.fields[fld];
return ResultsetTable.formatValue(oRs.Fields(fld).Value, { datatype: field.typ});;
};
function fnSubheader(oRs)
{
var fld = scf_params.list.columns[2];
var field = model.fields[fld];
var txt = "<div class='listkoptext'>" + (field.label?field.label + ":": "")
+ ResultsetTable.formatValue(oRs.Fields(fld).Value, { datatype: field.typ}) + "</div>"
var subs = [];
for (var i = 3; i < scf_params.list.columns.length; i++)
{
var fld = scf_params.list.columns[i];
var field = model.fields[fld];
subs.push((field.label?field.label + ": ":"")
+ ResultsetTable.formatValue(oRs.Fields(fld).Value, { datatype: field.typ})
);
}
return txt + "<div class='listbodytext'>" + subs.join("<br/>") + "</div>";
};
function fncolLink(oRs, processParams)
{
var url = "../" + scf_params.this_path + "?mode=edit" + transit + "&id=" + oRs.Fields("id").Value;
return url;
};
var rst = new ResultsetTable({ dataset: xxx_array,
keyColumn: ("id" in model.fields?"id":null),
ID: model.table,
title: model.records_title,
headerColumn: fnHeader,
detailColumn: scf_params.list.columns.length > 1?fnDetail:null,
subheaderColumn: scf_params.list.columns.length > 2?fnSubheader:null,
//groupColumn: "gebouw",
linkColumn: "fncolLink" in scf_params.list?scf_params.list.fncolLink:fncolLink,
showAll: true, // anders op 30 afgekapt
outputmode: outputmode,
buttons: buttons
});
function fnfncolCheck(fld)
{
return function (oRs)
{
if (oRs.Fields(fld).Value == 1)
return L("lcl_Yes")
else
return L("lcl_No")
}
}
//if (model["REST_PUT"])
// rst.addAction({ action: "scf_show", caption: L("lcl_edit"), isDefault: true } );
var cnt = rst.processResultset();
CONTENT_END();
FOOTER();
PAGE_END();
%>
</body>
</html>
<%
}
%>