Fossil SCM

Move table column sort indicator into CSS.

joel 2015-01-07 21:46 trunk
Commit d3eb877c06c1d645496dfcc7a8da45c2cc039e1d
2 files changed +8 -9 +14
+8 -9
--- src/report.c
+++ src/report.c
@@ -982,25 +982,24 @@
982982
@ this.tbody[0].appendChild(newRows[i]);
983983
@ }
984984
@ this.setHdrIcons();
985985
@ }
986986
@ this.setHdrIcons = function() {
987
- @ var arrowdiv = this.hdrRow.getElementsByClassName("sortarrow");
988
- @ while( arrowdiv[0] ){
989
- @ arrowdiv[0].parentNode.removeChild(arrowdiv[0]);
990
- @ }
991987
@ for (var i=0; i<this.hdrRow.cells.length; i++) {
992988
@ if( this.columnTypes[i]=='x' ) continue;
989
+ @ var sortType;
993990
@ if( this.prevColumn==i+1 ){
994
- @ arrow = "&darr;"
991
+ @ sortType = 'asc';
995992
@ }else if( this.prevColumn==(-1-i) ){
996
- @ arrow = "&uarr;"
993
+ @ sortType = 'desc'
997994
@ }else{
998
- @ arrow = "&diams;"
995
+ @ sortType = 'none';
999996
@ }
1000
- @ this.hdrRow.cells[i].innerHTML +=
1001
- @ "<span class='sortarrow'>" + arrow + "</div>";
997
+ @ var hdrCell = this.hdrRow.cells[i];
998
+ @ var clsName = hdrCell.className.replace(/\s*\bsort\s*\w+/, '');
999
+ @ clsName += ' sort ' + sortType;
1000
+ @ hdrCell.className = clsName;
10021001
@ }
10031002
@ }
10041003
@ this.sortText = function(a,b) {
10051004
@ var i = thisObject.sortIndex;
10061005
@ aa = a.cells[i].textContent.replace(/^\W+/,'').toLowerCase();
10071006
--- src/report.c
+++ src/report.c
@@ -982,25 +982,24 @@
982 @ this.tbody[0].appendChild(newRows[i]);
983 @ }
984 @ this.setHdrIcons();
985 @ }
986 @ this.setHdrIcons = function() {
987 @ var arrowdiv = this.hdrRow.getElementsByClassName("sortarrow");
988 @ while( arrowdiv[0] ){
989 @ arrowdiv[0].parentNode.removeChild(arrowdiv[0]);
990 @ }
991 @ for (var i=0; i<this.hdrRow.cells.length; i++) {
992 @ if( this.columnTypes[i]=='x' ) continue;
 
993 @ if( this.prevColumn==i+1 ){
994 @ arrow = "&darr;"
995 @ }else if( this.prevColumn==(-1-i) ){
996 @ arrow = "&uarr;"
997 @ }else{
998 @ arrow = "&diams;"
999 @ }
1000 @ this.hdrRow.cells[i].innerHTML +=
1001 @ "<span class='sortarrow'>" + arrow + "</div>";
 
 
1002 @ }
1003 @ }
1004 @ this.sortText = function(a,b) {
1005 @ var i = thisObject.sortIndex;
1006 @ aa = a.cells[i].textContent.replace(/^\W+/,'').toLowerCase();
1007
--- src/report.c
+++ src/report.c
@@ -982,25 +982,24 @@
982 @ this.tbody[0].appendChild(newRows[i]);
983 @ }
984 @ this.setHdrIcons();
985 @ }
986 @ this.setHdrIcons = function() {
 
 
 
 
987 @ for (var i=0; i<this.hdrRow.cells.length; i++) {
988 @ if( this.columnTypes[i]=='x' ) continue;
989 @ var sortType;
990 @ if( this.prevColumn==i+1 ){
991 @ sortType = 'asc';
992 @ }else if( this.prevColumn==(-1-i) ){
993 @ sortType = 'desc'
994 @ }else{
995 @ sortType = 'none';
996 @ }
997 @ var hdrCell = this.hdrRow.cells[i];
998 @ var clsName = hdrCell.className.replace(/\s*\bsort\s*\w+/, '');
999 @ clsName += ' sort ' + sortType;
1000 @ hdrCell.className = clsName;
1001 @ }
1002 @ }
1003 @ this.sortText = function(a,b) {
1004 @ var i = thisObject.sortIndex;
1005 @ aa = a.cells[i].textContent.replace(/^\W+/,'').toLowerCase();
1006
+14
--- src/style.c
+++ src/style.c
@@ -1280,10 +1280,24 @@
12801280
@ padding: 0px 1em 0.5ex 0px;
12811281
},
12821282
{ ".brlist table td", "Branch list table headers",
12831283
@ padding: 0px 2em 0px 0px;
12841284
},
1285
+ { "th.sort:after",
1286
+ "General styles for sortable column marker",
1287
+ @ margin-left: .4em;
1288
+ @ cursor: pointer;
1289
+ @ text-shadow: 0 0 0 #000; /* Makes arrow darker */
1290
+ },
1291
+ { "th.sort.asc:after",
1292
+ "Ascending sort column marker",
1293
+ @ content: '\2193';
1294
+ },
1295
+ { "th.sort.desc:after",
1296
+ "Descending sort column marker",
1297
+ @ content: '\2191';
1298
+ },
12851299
{ 0,
12861300
0,
12871301
0
12881302
}
12891303
};
12901304
--- src/style.c
+++ src/style.c
@@ -1280,10 +1280,24 @@
1280 @ padding: 0px 1em 0.5ex 0px;
1281 },
1282 { ".brlist table td", "Branch list table headers",
1283 @ padding: 0px 2em 0px 0px;
1284 },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1285 { 0,
1286 0,
1287 0
1288 }
1289 };
1290
--- src/style.c
+++ src/style.c
@@ -1280,10 +1280,24 @@
1280 @ padding: 0px 1em 0.5ex 0px;
1281 },
1282 { ".brlist table td", "Branch list table headers",
1283 @ padding: 0px 2em 0px 0px;
1284 },
1285 { "th.sort:after",
1286 "General styles for sortable column marker",
1287 @ margin-left: .4em;
1288 @ cursor: pointer;
1289 @ text-shadow: 0 0 0 #000; /* Makes arrow darker */
1290 },
1291 { "th.sort.asc:after",
1292 "Ascending sort column marker",
1293 @ content: '\2193';
1294 },
1295 { "th.sort.desc:after",
1296 "Descending sort column marker",
1297 @ content: '\2191';
1298 },
1299 { 0,
1300 0,
1301 0
1302 }
1303 };
1304

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button