User:Crissov/Collapsing
Appearance
When to do what
[edit]collapseColsOptin | collapseColsOptout | hasClass(Cols[i], 'collapsible') | hasClass(Cols[i], 'nocollapse') | CollapseCols[i] |
---|---|---|---|---|
0 | 0 | 0 | 0 | CollapseCols isn’t used for 00xy |
0 | 0 | 0 | 1 | CollapseCols isn’t used for 00xy, error: x0y1 should never happen |
0 | 0 | 1 | 0 | CollapseCols isn’t used for 00xy, error: 0x1y should never happen |
0 | 0 | 1 | 1 | CollapseCols isn’t used for 00xy, error: 0x1y and x0y1 should never happen, authors mustn’t do xy11 |
0 | 1 | 0 | 0 | 1 |
0 | 1 | 0 | 1 | 0 |
0 | 1 | 1 | 0 | error: 0x1y should never happen |
0 | 1 | 1 | 1 | error: 0x1y should never happen, authors mustn’t do xy11 |
1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | error: x0y1 should never happen |
1 | 0 | 1 | 0 | 1 |
1 | 0 | 1 | 1 | error: x0y1 should never happen, authors mustn’t do xy11 |
1 | 1 | 0 | 0 | 1 default |
1 | 1 | 0 | 1 | 0 |
1 | 1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 0 authors mustn’t do xy11 |
0 || 1 || 0 || 0 = 1 1 || 0 || 1 || 0 = 1 1 || 1 || 0 || 0 = 1 (default) 1 || 1 || 1 || 0 = 1 0 || 1 || 0 || 1 = 0 1 || 1 || 0 || 1 = 0 1 || 0 || 0 || 0 = 0 1 || 1 || 1 || 1 = 0 A B a b
0 = B¬ab || A(Bab || ¬B¬a¬b) 1 otherwise
=> ¬(B¬ab || A(Bab || ¬B¬a¬b)) = ¬(B¬ab || A(B=a=b)) = ¬(B¬ab || ABab || A¬B¬a¬b) = ¬(B¬ab) && ¬(ABab || A¬B¬a¬b) = (¬B|a|¬b) && (¬A || ¬(Bab || ¬B¬a¬b) ) = (¬B|a|¬b) && (¬A || ( ¬(Bab) && ¬(¬B¬a¬b) ) ) = (¬B|a|¬b) && (¬A || ( ¬(Bab) && (B|a|b) ) ) = ¬( Bb( ¬A¬a || A ) || ¬B¬bA¬a ) = ¬( Bb( ¬A¬a || A ) || ¬(B|b|¬A|a) ) = ¬(Bb( ¬A¬a || A )) && (B|b|¬A|a)
for ( var i = 0; i < Cols.length; i++ ) {
var collapsible = hasClass(Cols[i], 'collapsible');
var nocollapse = hasClass(Cols[i], 'nocollapse');
CollapseCols[i] = !( ( collapseColsOptout
&& !collapsible
&& nocollapse
)
|| ( collapseColsOptin
&& ( ( collapseColsOptout == collapsible )
&& ( collapseColsOptout == nocollapse )
) ) );
}