template: "#xos-sliceselector-select",
childViewContainer: "select",
childView: SliceSelectorOption,
+ caption: "Slice",
events: {"change select": "onSliceChanged"},
sliceChanged: function(id) {
console.log("sliceChanged " + id);
},
+
+ templateHelpers: function() { return {caption: this.options.caption || this.caption }; },
});
FilteredCompositeView = Marionette.CompositeView.extend( {
render: function() {
var view = this;
+ var fieldDisplayNames = view.options.fieldDisplayNames || view.fieldDisplayNames || {};
view.columnsByIndex = [];
view.columnsByFieldName = {};
inputType = view.options.inputType || view.inputType || {};
mRender = undefined;
mSearchText = undefined;
- sTitle = fieldNameToHumanReadable(fieldName);
+ sTitle = fieldName in fieldDisplayNames ? fieldDisplayNames[fieldName] : fieldNameToHumanReadable(fieldName);
bSortable = true;
if (fieldName=="backend_status") {
mRender = function(x,y,z) { return xosBackendStatusIconTemplate(z); };
"bJQueryUI": true,
"bStateSave": true,
"bServerSide": true,
+ "bFilter": ! (view.options.disableFilter || view.disableFilter),
+ "bPaginate": ! (view.options.disablePaginate || view.disablePaginate),
"aoColumns": view.columnsByIndex,
fnServerData: function(sSource, aoData, fnCallback, settings) {
aaData.sort(function(a,b) { return compareColumns(sortCols, sortDirs, a, b); });\r
\r
// slice it for pagination\r
- aaData = aaData.slice(iDisplayStart, iDisplayStart+iDisplayLength);\r
+ if (iDisplayLength >= 0) {\r
+ aaData = aaData.slice(iDisplayStart, iDisplayStart+iDisplayLength);\r
+ }\r
\r
return fnCallback({iTotalRecords: totalSize,\r
iTotalDisplayRecords: filteredSize,\r