forked from 0x2620/oxjs
some more work on map/listmap
This commit is contained in:
parent
a3c18e57b0
commit
4d9a8537ef
9 changed files with 140 additions and 77 deletions
|
|
@ -10,11 +10,13 @@ Ox.TextList <f:Ox.Element> TextList Object
|
|||
Fixme: There's probably more...
|
||||
addable <b>
|
||||
editable <b>
|
||||
format <f>
|
||||
id <s>
|
||||
removable <b>
|
||||
operator <s> default sort operator
|
||||
sort <f> function that maps values to sort values
|
||||
title <s>
|
||||
unique <b> If true, this column acts as unique id
|
||||
visible <b>
|
||||
width <n>
|
||||
columnsMovable <b|false>
|
||||
|
|
@ -274,10 +276,18 @@ Ox.TextList = function(options, self) {
|
|||
textAlign: v.align
|
||||
})
|
||||
.html(v.title)
|
||||
.bindEvent({
|
||||
.appendTo(that.$head.$content.$element);
|
||||
// if sort operator is set, bind click event
|
||||
if (v.operator) {
|
||||
that.$titles[i].bindEvent({
|
||||
anyclick: function(event, e) {
|
||||
clickColumn(v.id);
|
||||
},
|
||||
}
|
||||
});
|
||||
}
|
||||
// if columns are movable, bind drag events
|
||||
if (self.options.columnsMovable) {
|
||||
that.$titles[i].bindEvent({
|
||||
dragstart: function(event, e) {
|
||||
dragstartColumn(v.id, e);
|
||||
},
|
||||
|
|
@ -288,7 +298,7 @@ Ox.TextList = function(options, self) {
|
|||
dragendColumn(v.id, e);
|
||||
}
|
||||
})
|
||||
.appendTo(that.$head.$content.$element);
|
||||
}
|
||||
$order = $('<div>')
|
||||
.addClass('OxOrder')
|
||||
.html(Ox.UI.symbols['triangle_' + (
|
||||
|
|
@ -301,6 +311,7 @@ Ox.TextList = function(options, self) {
|
|||
$resize = new Ox.Element()
|
||||
.addClass('OxResize')
|
||||
.appendTo(that.$head.$content.$element);
|
||||
// if columns are resizable, bind click and drag events
|
||||
if (self.options.columnsResizable) {
|
||||
$resize.addClass('OxResizable')
|
||||
.bindEvent({
|
||||
|
|
@ -325,8 +336,6 @@ Ox.TextList = function(options, self) {
|
|||
that.$head.$content.css({
|
||||
width: (Ox.sum(self.columnWidths) + 2) + 'px'
|
||||
});
|
||||
//Ox.print('s.sC', self.selectedColumn)
|
||||
//Ox.print('s.cO', self.columnOffsets)
|
||||
if (getColumnPositionById(self.options.columns[self.selectedColumn].id) > -1) { // fixme: save in var
|
||||
toggleSelected(self.options.columns[self.selectedColumn].id);
|
||||
that.$titles[getColumnPositionById(self.options.columns[self.selectedColumn].id)].css({
|
||||
|
|
@ -721,11 +730,15 @@ Ox.TextList = function(options, self) {
|
|||
toggleSelected(self.options.columns[self.selectedColumn].id);
|
||||
}
|
||||
}
|
||||
that.$body.sortList(
|
||||
self.options.sort[0].key,
|
||||
self.options.sort[0].operator,
|
||||
self.options.columns[self.selectedColumn].sort
|
||||
);
|
||||
// fixme: strangely, sorting the list blocks toggling the selection,
|
||||
// so we use a timeout for now
|
||||
setTimeout(function() {
|
||||
that.$body.sortList(
|
||||
self.options.sort[0].key,
|
||||
self.options.sort[0].operator,
|
||||
self.options.columns[self.selectedColumn].sort
|
||||
);
|
||||
}, 10);
|
||||
return that;
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue