Consolidate some clicky table label styles.
authorNick Bowler <nbowler@draconx.ca>
Tue, 23 Feb 2021 23:26:47 +0000 (18:26 -0500)
committerNick Bowler <nbowler@draconx.ca>
Wed, 24 Feb 2021 03:52:58 +0000 (22:52 -0500)
There is a section of label styles that are the same for all headings,
and we can use a common class to avoid having to replicate the styles
for each column.

content/style.scss
layouts/clickytable.xsl

index 912fe4aa7796124d590af0929587a1dd08b8c594..e517d90c08b7270b49c70d24ae9fbfdb5e3e59cd 100644 (file)
@@ -273,41 +273,41 @@ $clickynames: name, date, size;
         opacity: 0;
         z-index: -2;
     }
+}
 
-    th.clicky-#{$col}>label {
-        white-space: nowrap;
-        cursor: pointer;
-        line-height: 1.5em;
+thead.clicky label {
+    white-space: nowrap;
+    line-height: 1.5em;
+    cursor: pointer;
 
-        &>* {
-            display: -moz-inline-box;
-            display: inline-block;
-            border: 1px dotted transparent;
-            vertical-align: middle;
-        }
+    &>* {
+        display: -moz-inline-box;
+        display: inline-block;
+        border: 1px dotted transparent;
+        vertical-align: middle;
+    }
 
-        // Expand the first label a bit so the table (hopefully)
-        // does not reshape as columns are selected.
-        &:first-child {
-            margin-right: 1.75em;
-            padding-right: 2px;
-        }
+    // Expand the first label a bit so the table (hopefully)
+    // does not reshape as columns are selected.
+    &:first-child {
+        margin-right: 1.75em;
+        padding-right: 2px;
+    }
 
-        &:active { color: $linkactivecolour; }
-        &:first-child:active>span, &~label:active>.svg {
-            border-color: $linkactivecolour;
-        }
+    &:active { color: $linkactivecolour; }
+    &:first-child:active>span, &~label:active>.svg {
+        border-color: $linkactivecolour;
+    }
 
-        .svg {
-            margin-left: 0.25em;
-        }
+    .svg {
+        margin-left: 0.25em;
+    }
 
-        .svg, svg, img.svgfallback {
-            height: 1.5em;
-            width: auto;
-        }
-        .svg svg { width: 1.5em; }
+    .svg, svg, img.svgfallback {
+        height: 1.5em;
+        width: auto;
     }
+    .svg svg { width: 1.5em; }
 }
 
 table.filelist {
index f06fef309146d89d90f952db5aacda20204f0daf..cf0fcb2a580738d0e493d8ca719144fcdda3628d 100644 (file)
   </div>
 </xsl:template>
 
+<xsl:template match='xhtml:table[@clicky]/xhtml:thead[*/xhtml:th/@clicky]'>
+  <xsl:copy>
+    <xsl:attribute name='class'>
+      <xsl:if test='@class'>
+        <xsl:value-of select='concat(@class, " ")' />
+      </xsl:if>
+      <xsl:text>clicky</xsl:text>
+    </xsl:attribute>
+    <xsl:apply-templates select='node()|@*[local-name() != "class"]' />
+  </xsl:copy>
+</xsl:template>
+
 <xsl:template match='xhtml:table[@clicky]/xhtml:thead/*/xhtml:th[@clicky]'>
   <xsl:copy>
     <xsl:attribute name='class'>