X-Git-Url: https://git.draconx.ca/gitweb/homepage.git/blobdiff_plain/c0c02f966518a01585b1f43bf5bdf35551c70e28..bc4daa2900c702913be7dc3e46441b192f44772a:/content/style.scss diff --git a/content/style.scss b/content/style.scss index 0c56cc4..22df5d9 100644 --- a/content/style.scss +++ b/content/style.scss @@ -137,12 +137,97 @@ table.cc { } } +$sortcols: name, date, size; +@each $col in $sortcols { + #filelist-#{$col}-sort { + &:checked { + & ~ table.filelist { + /* Update table header state */ + th.#{$col} { + label~label { + display: -moz-inline-box !important; + display: inline-block !important; + } + label { display: none; } + } + + /* Show only appropriate items from the sort body (forward) */ + tbody+tbody>tr.#{$col} { display: table-row; } + tbody+tbody>tr { display: none; } + } + + & ~ #filelist-#{$col}-rev:checked ~ table.filelist { + /* Show only appropriate items from sort body (reversed) */ + tbody+tbody>tr.#{$col}rev { display: table-row; } + tbody+tbody>tr { display: none; } + } + + /* Unhide associated checkbox for keyboard navigation */ + & ~ #filelist-#{$col}-rev { display: block !important; } + } + + &:focus ~ table.filelist th>label~label>span { + border: 1px dotted; + padding: 0; + } + + display: block !important; + position: absolute; + z-index: -1; + opacity: 0; + } + + #filelist-#{$col}-rev { + &:checked ~ table.filelist { + /* Update table header state */ + th.#{$col} { + img+img { + display: -moz-inline-box !important; + display: inline !important; + } + img { display: none; } + } + } + + &:focus ~ table.filelist th>label~label>img { + border: 1px dotted; + padding: 0; + } + + position: absolute; + z-index: -2; + opacity: 0; + } +} + +/* Enable the sorted tables only when non-default option is selected */ +#filelist-name-rev, #filelist-date-sort, #filelist-size-sort { + &:checked~table.filelist>tbody { + &+tbody { display: table-row-group !important; } + display: none; + } +} + table.filelist { &>tr>*:first-child, &>*>tr>*:first-child { &+td { min-width: 50%; } width: 0; } + th>label>* { padding: 1px; } + th>label, th>label>* { + white-space: nowrap; + vertical-align: middle; + display: -moz-inline-box; + display: inline-block; + cursor: pointer; + } + th img { margin-left: 0.5ex; } + + tbody+tbody { + border-bottom: solid 1px $ruledefaultcolour; + } + img { display: block; height: 1.5em;