|
6 | 6 | <title>OpenKNX-Applikationen/-Module und unterstützte Geräte</title> |
7 | 7 | <link rel="stylesheet" href="css/table_header_rotate.css"> |
8 | 8 | <style> |
9 | | - {% for col in range(1, 1 + (modules_sorted | length) + (devices_sorted | length) + 1) %}table:has(td:nth-child({{col}}):hover, th:nth-child({{col}}):hover) td:nth-child({{col}}).isPart, |
| 9 | + {% set col_count = 1 + (modules_sorted | length) + (devices_sorted | length) %} |
| 10 | + {% for col in range(2, col_count + 1) %}table:has(td:nth-child({{col}}):hover, th:nth-child({{col}}):hover) td:nth-child({{col}}).isPart, |
10 | 11 | {% endfor %} |
11 | 12 | tbody tr:hover { |
12 | 13 | background-color: #dfd; |
13 | 14 | } |
| 15 | + {% for col in range(2, col_count + 1) %}table:has(td:nth-child({{col}}):hover, th:nth-child({{col}}):hover) thead th.rotate45:nth-child({{col}}) div span, |
| 16 | + {% endfor %} |
| 17 | + .DUMMY-DUMMY-DUMMY |
| 18 | + { |
| 19 | + border-bottom: 2px solid #9f9; |
| 20 | + } |
14 | 21 | </style> |
15 | 22 | </head> |
16 | 23 | <body> |
17 | 24 | <table class="openknxTitleTable"> |
18 | 25 | <caption>OpenKNX-Applikationen/-Module und unterstützte Geräte</caption> |
| 26 | + <colgroup> |
| 27 | + <col class="before-new-cols" /> |
| 28 | + {% for module, count in modules_sorted if count > 1 %} |
| 29 | + <col data-ofm="{{module}}" /> |
| 30 | + {% endfor %} |
| 31 | + <col data-ofm="*special*" /> |
| 32 | + {% for device, count in devices_sorted if count > 1 %} |
| 33 | + <col data-dev="{{device}}" /> |
| 34 | + {% endfor %} |
| 35 | + <col data-dev="*special*" /> |
| 36 | + <col data-dev="*other*" /> |
| 37 | + </colgroup> |
19 | 38 | <thead> |
20 | 39 | <tr> |
21 | | - <th></th> |
| 40 | + <th class="before-new-cols"></th> |
22 | 41 | {% for module, count in modules_sorted if count > 1 %} |
23 | | - <th class="rotate" data-ofm="{{module}}"><div><span>{{ module }}</span></div></th> |
| 42 | + <th class="rotate45" data-ofm="{{module}}"><div><span>{{ module }}</span></div></th> |
24 | 43 | {% endfor %} |
25 | | - <th class="singleModules" data-ofm="*special*">Einmalig verwendete Module:</th> |
| 44 | + <th class="singleModules before-new-cols" data-ofm="*special*">Einmalig verwendete Module:</th> |
26 | 45 | {% for device, count in devices_sorted if count > 1 %} |
27 | | - <th class="rotate" data-dev="{{device}}"><div><span>{{ device }}</span></div></th> |
| 46 | + <th class="rotate45" data-dev="{{device}}"><div><span>{{ device }}</span></div></th> |
28 | 47 | {% endfor %} |
29 | 48 | <th class="singleModules" data-dev="*special*">Spezielle Geräte:</th> |
30 | | - <th class="rotate" data-dev="*other*"><div><span>Sonstige Geräte</span></div></th> |
| 49 | + <th class="rotate90" data-dev="*other*"><div><span>Sonstige Geräte</span></div></th> |
31 | 50 | </tr> |
32 | 51 | </thead> |
33 | 52 | <tbody> |
34 | 53 | {% for oamName, oam_details in oam_data.items() %} |
35 | 54 | {% set oamModules = oam_details['modules'] %} |
36 | 55 | {% set oamDevices = oam_details['devices'] %} |
37 | 56 | {% set oamDescription = oam_details['description'] %} |
38 | | - <tr> |
39 | | - <th data-oam="{{oamName}}">{{ oamName }}{% if oamDescription %}<div class="oam-details">{{ oamDescription }}</div>{% endif %}</th> |
| 57 | + <tr data-oam="{{oamName}}"> |
| 58 | + <th class="before-new-cols">{{ oamName }}{% if oamDescription %}<div class="oam-details">{{ oamDescription }}</div>{% endif %}</th> |
40 | 59 |
|
41 | 60 | {% for module, count in modules_sorted if count > 1 %} |
42 | | - <td data-oam="{{oamName}}" data-ofm="{{module}}" class="isPart">{% if module in oamModules %}■{% else %}{% endif %}</td> |
| 61 | + <td data-ofm="{{module}}" class="isPart">{% if module in oamModules %}■{% endif %}</td> |
43 | 62 | {% endfor %} |
44 | | - <td class="left">{{ modules_sorted | selectattr('1', 'equalto', 1) | map(attribute='0') | select('in', oamModules) | join(', ') }}</td> |
| 63 | + <td class="left before-new-cols" data-ofm="*special*">{{ modules_sorted | selectattr('1', 'equalto', 1) | map(attribute='0') | select('in', oamModules) | join(', ') }}</td> |
45 | 64 |
|
46 | 65 | {% for device, count in devices_sorted if count > 1 %} |
47 | | - <td data-oam="{{oamName}}" data-dev="{{device}}" class="isPart">{% if device in oamDevices %}■{% else %}{% endif %}</td> |
| 66 | + <td data-dev="{{device}}" class="isPart">{% if device in oamDevices %}■{% endif %}</td> |
48 | 67 | {% endfor %} |
49 | 68 | <td class="left">{{ devices_sorted | selectattr('1', 'equalto', 1) | map(attribute='0') | select('in', oamDevices) | join(', ') }}</td> |
50 | 69 |
|
|
0 commit comments