Fossil SCM
Move table column sort indicator into CSS.
Commit
d3eb877c06c1d645496dfcc7a8da45c2cc039e1d
Parent
4c803826adde3dd…
2 files changed
+8
-9
+14
+8
-9
| --- src/report.c | ||
| +++ src/report.c | ||
| @@ -982,25 +982,24 @@ | ||
| 982 | 982 | @ this.tbody[0].appendChild(newRows[i]); |
| 983 | 983 | @ } |
| 984 | 984 | @ this.setHdrIcons(); |
| 985 | 985 | @ } |
| 986 | 986 | @ this.setHdrIcons = function() { |
| 987 | - @ var arrowdiv = this.hdrRow.getElementsByClassName("sortarrow"); | |
| 988 | - @ while( arrowdiv[0] ){ | |
| 989 | - @ arrowdiv[0].parentNode.removeChild(arrowdiv[0]); | |
| 990 | - @ } | |
| 991 | 987 | @ for (var i=0; i<this.hdrRow.cells.length; i++) { |
| 992 | 988 | @ if( this.columnTypes[i]=='x' ) continue; |
| 989 | + @ var sortType; | |
| 993 | 990 | @ if( this.prevColumn==i+1 ){ |
| 994 | - @ arrow = "↓" | |
| 991 | + @ sortType = 'asc'; | |
| 995 | 992 | @ }else if( this.prevColumn==(-1-i) ){ |
| 996 | - @ arrow = "↑" | |
| 993 | + @ sortType = 'desc' | |
| 997 | 994 | @ }else{ |
| 998 | - @ arrow = "♦" | |
| 995 | + @ sortType = 'none'; | |
| 999 | 996 | @ } |
| 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; | |
| 1002 | 1001 | @ } |
| 1003 | 1002 | @ } |
| 1004 | 1003 | @ this.sortText = function(a,b) { |
| 1005 | 1004 | @ var i = thisObject.sortIndex; |
| 1006 | 1005 | @ aa = a.cells[i].textContent.replace(/^\W+/,'').toLowerCase(); |
| 1007 | 1006 |
| --- 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 = "↓" |
| 995 | @ }else if( this.prevColumn==(-1-i) ){ |
| 996 | @ arrow = "↑" |
| 997 | @ }else{ |
| 998 | @ arrow = "♦" |
| 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 @@ | ||
| 1280 | 1280 | @ padding: 0px 1em 0.5ex 0px; |
| 1281 | 1281 | }, |
| 1282 | 1282 | { ".brlist table td", "Branch list table headers", |
| 1283 | 1283 | @ padding: 0px 2em 0px 0px; |
| 1284 | 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 | + }, | |
| 1285 | 1299 | { 0, |
| 1286 | 1300 | 0, |
| 1287 | 1301 | 0 |
| 1288 | 1302 | } |
| 1289 | 1303 | }; |
| 1290 | 1304 |
| --- 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 |