TableList: don't require 'keys' if 'items' is array
This commit is contained in:
parent
6e2a837f1c
commit
8296d3c405
1 changed files with 15 additions and 10 deletions
|
@ -108,13 +108,6 @@ Ox.TableList = function(options, self) {
|
||||||
keys: find
|
keys: find
|
||||||
});
|
});
|
||||||
|
|
||||||
self.options.sort = self.options.sort.map(function(sort) {
|
|
||||||
return Ox.isString(sort) ? {
|
|
||||||
key: sort.replace(/^[\+\-]/, ''),
|
|
||||||
operator: sort[0] == '-' ? '-' : '+'
|
|
||||||
} : sort;
|
|
||||||
});
|
|
||||||
|
|
||||||
self.options.columns.forEach(function(column) { // fixme: can this go into a generic ox.js function?
|
self.options.columns.forEach(function(column) { // fixme: can this go into a generic ox.js function?
|
||||||
// fixme: and can't these just remain undefined?
|
// fixme: and can't these just remain undefined?
|
||||||
if (Ox.isUndefined(column.align)) {
|
if (Ox.isUndefined(column.align)) {
|
||||||
|
@ -142,6 +135,13 @@ Ox.TableList = function(options, self) {
|
||||||
key: self.options.unique,
|
key: self.options.unique,
|
||||||
operator: Ox.getObjectById(self.options.columns, self.options.unique).operator
|
operator: Ox.getObjectById(self.options.columns, self.options.unique).operator
|
||||||
}];
|
}];
|
||||||
|
} else{
|
||||||
|
self.options.sort = self.options.sort.map(function(sort) {
|
||||||
|
return Ox.isString(sort) ? {
|
||||||
|
key: sort.replace(/^[\+\-]/, ''),
|
||||||
|
operator: sort[0] == '-' ? '-' : '+'
|
||||||
|
} : sort;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
Ox.extend(self, {
|
Ox.extend(self, {
|
||||||
|
@ -149,6 +149,7 @@ Ox.TableList = function(options, self) {
|
||||||
defaultColumnWidths: self.options.columns.map(function(column) {
|
defaultColumnWidths: self.options.columns.map(function(column) {
|
||||||
return column.defaultWidth || column.width;
|
return column.defaultWidth || column.width;
|
||||||
}),
|
}),
|
||||||
|
hasItemsArray: Ox.isArray(self.options.items),
|
||||||
itemHeight: 16,
|
itemHeight: 16,
|
||||||
page: 0,
|
page: 0,
|
||||||
pageLength: 100,
|
pageLength: 100,
|
||||||
|
@ -229,7 +230,11 @@ Ox.TableList = function(options, self) {
|
||||||
itemWidth: getItemWidth(),
|
itemWidth: getItemWidth(),
|
||||||
format: self.format, // fixme: not needed, happens in TableList
|
format: self.format, // fixme: not needed, happens in TableList
|
||||||
keys: Ox.unique(
|
keys: Ox.unique(
|
||||||
self.visibleColumns.map(function(column) {
|
(
|
||||||
|
self.hasItemsArray
|
||||||
|
? self.options.columns
|
||||||
|
: self.visibleColumns
|
||||||
|
).map(function(column) {
|
||||||
return column.id;
|
return column.id;
|
||||||
})
|
})
|
||||||
.concat(self.options.unique)
|
.concat(self.options.unique)
|
||||||
|
@ -296,7 +301,7 @@ Ox.TableList = function(options, self) {
|
||||||
self.columnWidths.splice(index, 0, column.width);
|
self.columnWidths.splice(index, 0, column.width);
|
||||||
that.$head.$content.empty();
|
that.$head.$content.empty();
|
||||||
constructHead();
|
constructHead();
|
||||||
that.$body.options({
|
!self.hasItemsArray && that.$body.options({
|
||||||
keys: self.visibleColumns.map(function(column) {
|
keys: self.visibleColumns.map(function(column) {
|
||||||
return column.id;
|
return column.id;
|
||||||
}).concat(self.options.keys)
|
}).concat(self.options.keys)
|
||||||
|
@ -747,7 +752,7 @@ Ox.TableList = function(options, self) {
|
||||||
that.$body.$content.css({
|
that.$body.$content.css({
|
||||||
width: itemWidth + 'px'
|
width: itemWidth + 'px'
|
||||||
});
|
});
|
||||||
that.$body.options({
|
!self.hasItemsArray && that.$body.options({
|
||||||
keys: self.visibleColumns.map(function(column) {
|
keys: self.visibleColumns.map(function(column) {
|
||||||
return column.id;
|
return column.id;
|
||||||
}).concat(self.options.keys)
|
}).concat(self.options.keys)
|
||||||
|
|
Loading…
Reference in a new issue