TableList: add clearButton and clearButtonTooltip options, update CSS
This commit is contained in:
parent
3e57cbd785
commit
a01ab0ab58
4 changed files with 47 additions and 3 deletions
|
@ -1355,6 +1355,16 @@ Lists
|
||||||
.OxTableList .OxBar .OxSelect > input {
|
.OxTableList .OxBar .OxSelect > input {
|
||||||
margin-right: -3px;
|
margin-right: -3px;
|
||||||
}
|
}
|
||||||
|
.OxTableList .OxBar .OxClear {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
height: 8px;
|
||||||
|
padding: 4px 1px;
|
||||||
|
border-width: 0 1px 0 0;
|
||||||
|
border-style: solid;
|
||||||
|
margin-right: -2px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
.OxTableList .OxBody {
|
.OxTableList .OxBody {
|
||||||
float: left;
|
float: left;
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
/*@
|
/*@
|
||||||
Ox.TableList <f> TableList Widget
|
Ox.TableList <f> TableList Widget
|
||||||
options <o> Options object
|
options <o> Options object
|
||||||
|
clearButton <b|false> If true and columns are visible, show clear button
|
||||||
|
clearButtonTooltip <s|''> Clear button tooltip
|
||||||
columns <[o]|[]> Columns
|
columns <[o]|[]> Columns
|
||||||
# Fixme: There's probably more...
|
# Fixme: There's probably more...
|
||||||
editable <b> ...
|
editable <b> ...
|
||||||
|
@ -54,6 +56,8 @@ Ox.TableList = function(options, self) {
|
||||||
self = self || {};
|
self = self || {};
|
||||||
var that = Ox.Element({}, self)
|
var that = Ox.Element({}, self)
|
||||||
.defaults({
|
.defaults({
|
||||||
|
clearButton: false,
|
||||||
|
clearButtonTooltip: '',
|
||||||
columns: [],
|
columns: [],
|
||||||
columnsMovable: false,
|
columnsMovable: false,
|
||||||
columnsRemovable: false,
|
columnsRemovable: false,
|
||||||
|
@ -94,6 +98,7 @@ Ox.TableList = function(options, self) {
|
||||||
},
|
},
|
||||||
selected: function() {
|
selected: function() {
|
||||||
that.$body.options({selected: self.options.selected});
|
that.$body.options({selected: self.options.selected});
|
||||||
|
updateClearButton();
|
||||||
},
|
},
|
||||||
sort: function() {
|
sort: function() {
|
||||||
updateColumn();
|
updateColumn();
|
||||||
|
@ -213,7 +218,27 @@ Ox.TableList = function(options, self) {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
.bindEvent('change', changeColumns)
|
.bindEvent('change', changeColumns)
|
||||||
.appendTo(that.$bar.$element);
|
.appendTo(that.$bar);
|
||||||
|
} else if (self.options.clearButton) {
|
||||||
|
self.$clearButton = Ox.Element({
|
||||||
|
element: '<img>',
|
||||||
|
tooltip: self.options.clearButtonTooltip
|
||||||
|
})
|
||||||
|
.addClass('OxClear')
|
||||||
|
.attr({src: Ox.UI.getImageURL('symbolClose')})
|
||||||
|
.css({
|
||||||
|
right: Math.floor(Ox.UI.SCROLLBAR_SIZE - 8) / 2 + 'px'
|
||||||
|
})
|
||||||
|
[self.options.selected.length ? 'show' : 'hide']()
|
||||||
|
.bindEvent({
|
||||||
|
anyclick: function() {
|
||||||
|
self.$clearButton.hide();
|
||||||
|
self.options.selected = [];
|
||||||
|
that.$body.options({selected: self.options.selected});
|
||||||
|
that.triggerEvent('select', {ids: []});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.appendTo(that.$bar);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -271,6 +296,7 @@ Ox.TableList = function(options, self) {
|
||||||
that.editCell(data.id, data.key);
|
that.editCell(data.id, data.key);
|
||||||
} else if (event == 'select') {
|
} else if (event == 'select') {
|
||||||
self.options.selected = data.ids;
|
self.options.selected = data.ids;
|
||||||
|
updateClearButton();
|
||||||
}
|
}
|
||||||
that.triggerEvent(event, data);
|
that.triggerEvent(event, data);
|
||||||
})
|
})
|
||||||
|
@ -826,6 +852,12 @@ Ox.TableList = function(options, self) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function updateClearButton() {
|
||||||
|
if (self.options.clearButton) {
|
||||||
|
self.$clearButton[self.options.selected.length ? 'show' : 'hide']();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function updateColumn() {
|
function updateColumn() {
|
||||||
var columnId = self.options.columns[self.selectedColumn].id,
|
var columnId = self.options.columns[self.selectedColumn].id,
|
||||||
isSelected = columnId == self.options.sort[0].key;
|
isSelected = columnId == self.options.sort[0].key;
|
||||||
|
|
|
@ -545,7 +545,8 @@ Lists
|
||||||
.OxThemeClassic .OxTableList .OxHead .OxResize .OxCenter {
|
.OxThemeClassic .OxTableList .OxHead .OxResize .OxCenter {
|
||||||
background: rgb(192, 192, 192);
|
background: rgb(192, 192, 192);
|
||||||
}
|
}
|
||||||
.OxThemeClassic .OxTableList .OxHead .OxSelect {
|
.OxThemeClassic .OxTableList .OxHead .OxSelect,
|
||||||
|
.OxThemeClassic .OxTableList .OxBar .OxClear {
|
||||||
border-color: rgb(192, 192, 192);
|
border-color: rgb(192, 192, 192);
|
||||||
}
|
}
|
||||||
.OxThemeClassic .OxTableList .OxBody .OxItem .OxCell {
|
.OxThemeClassic .OxTableList .OxBody .OxItem .OxCell {
|
||||||
|
|
|
@ -536,7 +536,8 @@ Lists
|
||||||
.OxThemeModern .OxTableList .OxHead .OxResize .OxCenter {
|
.OxThemeModern .OxTableList .OxHead .OxResize .OxCenter {
|
||||||
background: rgb(24, 24, 24);
|
background: rgb(24, 24, 24);
|
||||||
}
|
}
|
||||||
.OxThemeModern .OxTableList .OxHead .OxSelect {
|
.OxThemeModern .OxTableList .OxHead .OxSelect,
|
||||||
|
.OxThemeModern .OxTableList .OxBar .OxClear {
|
||||||
border-color: rgb(24, 24, 24);
|
border-color: rgb(24, 24, 24);
|
||||||
}
|
}
|
||||||
.OxThemeModern .OxTableList .OxBody .OxItem .OxCell {
|
.OxThemeModern .OxTableList .OxBody .OxItem .OxCell {
|
||||||
|
|
Loading…
Reference in a new issue