[Kimchi-devel] [v2 2/3] UI: Update Grid Widget
huoyuxin at linux.vnet.ibm.com
huoyuxin at linux.vnet.ibm.com
Wed Feb 11 07:16:36 UTC 2015
From: Yu Xin Huo <huoyuxin at linux.vnet.ibm.com>
Signed-off-by: Yu Xin Huo <huoyuxin at linux.vnet.ibm.com>
---
ui/css/theme-default/datagrid.css | 11 +++--------
ui/js/widgets/grid.js | 28 +++++++++++++++++++---------
2 files changed, 22 insertions(+), 17 deletions(-)
diff --git a/ui/css/theme-default/datagrid.css b/ui/css/theme-default/datagrid.css
index 583b827..14d28c3 100644
--- a/ui/css/theme-default/datagrid.css
+++ b/ui/css/theme-default/datagrid.css
@@ -21,7 +21,7 @@
}
.grid .header {
- padding-bottom: 1px;
+ padding-bottom: 3px;
border-bottom: solid 2px #ededed;
}
@@ -39,11 +39,6 @@
cursor: pointer;
}
-.grid .header > span:first-child,
-.grid .body .row > span:first-child {
- padding-left: 10px;
-}
-
.grid .body .row {
height: 46px;
line-height: 46px;
@@ -55,9 +50,9 @@
}
.grid .body .odd {
- background-color: #fcfcfc;
+ background-color: #ffffff;
}
.grid .body .even {
- background-color: #ffffff;
+ background-color: #f9f9f9;
}
diff --git a/ui/js/widgets/grid.js b/ui/js/widgets/grid.js
index 047fb78..21316fb 100644
--- a/ui/js/widgets/grid.js
+++ b/ui/js/widgets/grid.js
@@ -64,17 +64,19 @@ $.widget("kimchi.grid", {
$('.icon-angle-down', columnCell).removeClass('icon-angle-down').addClass('icon-down-dir');
}
var container = $(this.element.children().get(1));
- var keys = [], map = {};
+ var nodes = [];
container.children().each(function(){
- var key = $($(this).children().get(column)).attr('val');
- keys.push(key);
- map[key] = $(this);
+ nodes.push($(this));
});
- keys.sort();
- if(!assending) keys.reverse();
+ nodes.sort(function(a, b){
+ aVal = $(a.children().get(column)).attr('val');
+ bVal = $(b.children().get(column)).attr('val');
+ return aVal.localeCompare(bVal);
+ });
+ if(!assending) nodes.reverse();
container.empty();
- for(var i=0;i<keys.length;i++){
- container.append(map[keys[i]]);
+ for(var i=0;i<nodes.length;i++){
+ container.append(nodes[i]);
}
this._setRowBackgroud();
},
@@ -84,7 +86,7 @@ $.widget("kimchi.grid", {
container.children().each(function(){
var hide = true;
$(this).children().each(function(){
- if($(this).attr('val').toLowerCase().indexOf(keyword)!=-1){
+ if($(this).attr('val')&&$(this).attr('val').toLowerCase().indexOf(keyword)!=-1){
hide = false;
return false;
}
@@ -93,6 +95,14 @@ $.widget("kimchi.grid", {
});
this._setRowBackgroud();
},
+ addRow: function(rowNode){
+ $(rowNode).addClass('row');
+ this._setRowBackgroud();
+ },
+ deleteRow: function(rowNode){
+ $(rowNode).remove();
+ this._setRowBackgroud();
+ },
_destroy: function() {
this.element.removeClass('grid');
var head = $(this.element.children().get(0));
--
1.7.1
More information about the Kimchi-devel
mailing list