home · contact · privacy
Enhance layouts.
authorChristian Heller <c.heller@plomlompom.de>
Mon, 3 Jun 2024 02:16:48 +0000 (04:16 +0200)
committerChristian Heller <c.heller@plomlompom.de>
Mon, 3 Jun 2024 02:16:48 +0000 (04:16 +0200)
templates/_base.html
templates/_macros.html
templates/calendar.html
templates/day.html
templates/todo.html
templates/todos.html

index 0e384651d0f392a46ad97046849cf3f3f7955d07..7c1050693747b13e4c46452d26d192ace91b0e46 100644 (file)
@@ -21,6 +21,10 @@ td, th, tr, table {
   vertical-align: top;
   margin-top: 1em;
   padding: 0;
+  border-collapse: collapse;
+}
+a {
+  color: black;
 }
 {% block css %}
 {% endblock %}
index b1f0104e134363bc9b8dcd24f6d6066d08996f00..cb1bb452d16f3671ab7108a159b1c581ec063890 100644 (file)
@@ -25,7 +25,7 @@
 <input type="checkbox" name="{{title}}" value="{{item.id_}}" checked />
 </td>
 <td>
-<a href="{{type_name}}?id={{item.id_}}">{% if historical %}{{item.title_then}}{% else %}{{item.title.newest|e}}{% endif %}</a>
+<a href="{{type_name}}?id={{item.id_}}">{% if historical is true %}{{item.title_then}}{% else %}{{item.title.newest|e}}{% endif %}</a>
 </td>
 </tr>
 {% endfor %}
index 46742624270f9c1c8b10a528c2af18d4f6a2cd32..42c821ae7a31de4bce3161e945cb3ec0b7919609 100644 (file)
@@ -8,15 +8,19 @@ tr.week_row td {
   background-color: black;
   padding: 0;
   margin: 0;
+  border-top: 0.2em solid white;
 }
 tr.month_row td {
-  border: 0.1em solid black;
-  text-align: center;
+  border-top: 0.2em solid white;
   color: white;
   background-color: #555555;
 }
+table {
+  width: 100%;
+}
 tr.day_row td {
   background-color: #cccccc;
+  border-top: 0.2em solid white;
 }
 td.day_name {
   padding-right: 0.5em;
index 2e1a380502f2e10e934b7d4f5eab86254ebd8c8d..0165c9ede5593a8cfde064c72d6bb45fc779a8ba 100644 (file)
@@ -8,23 +8,45 @@ td, th, tr, table {
   padding: 0;
   margin: 0;
 }
+table {
+  border-collapse: collapse;
+}
 th {
   border: 1px solid black;
 }
-td.min_width {
-  min-width: 1em;
-}
 td.cond_line_0 {
-  background-color: #ffbbbb;
+  border-top: 1px solid white;
+  background-color: #dddddd;
 }
 td.cond_line_1 {
-  background-color: #bbffbb;
+  border-top: 1px solid white;
+  background-color: #efefef;
 }
 td.cond_line_2 {
-  background-color: #bbbbff;
+  border-top: 1px solid white;
+  background-color: #fffff;
+}
+td.cond_line_corner {
+  max-width: 0px;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: clip;
 }
 td.todo_line {
-  border-bottom: 1px solid #bbbbbb;
+  border-bottom: 1px solid #dddddd;
+  height: 1.7em;
+}
+tr.inactive td.todo_line {
+  background-color: #efefef;
+}
+td.left_border {
+  border-left: 1px solid black;
+}
+td.right_border {
+  border-right: 1px solid black;
+}
+input {
+  height: 100%;
 }
 {% endblock %}
 
@@ -32,38 +54,42 @@ td.todo_line {
 
 {% macro show_node_undone(node, indent) %}
 {% if not node.todo.is_done %}
-<tr>
+<tr {% if node.seen or not node.todo.is_doable %}class="inactive"{% endif %}>
 {% if not node.seen %}
 <input type="hidden" name="todo_id" value="{{node.todo.id_}}" />
 {% endif %}
 
 {% for condition in conditions_present %}
-<td class="cond_line_{{loop.index0 % 3}} {% if not condition.is_active %}min_width{% endif %}">{% if condition in node.todo.conditions and not condition.is_active %}O{% elif condition in node.todo.blockers and condition.is_active %}!{% endif %}</td>
+<td class="cond_line_{{loop.index0 % 3}}">
+{% if condition in node.todo.conditions and not condition.is_active %}
+O&nbsp;
+{% elif condition in node.todo.blockers and condition.is_active %}
+!&nbsp;
+{% endif %}
+</td>
 {% endfor %}
 
-<td class="todo_line">-&gt;</td>
 {% if node.seen %}
-<td class="todo_line"></td>
+<td class="todo_line left_border"></td>
 <td class="todo_line">{% if node.todo.effort %}{{ node.todo.effort }}{% endif %}</td>
 {% else %}
-<td class="todo_line"><input name="done" type="checkbox" value="{{node.todo.id_}}" {% if not node.todo.is_doable %}disabled{% endif %}/></td>
+<td class="todo_line left_border"><input name="done" type="checkbox" value="{{node.todo.id_}}" {% if not node.todo.is_doable %}disabled{% endif %}/></td>
 <td class="todo_line"><input name="effort" type="number" step=0.1 size=5 placeholder={{node.todo.effort_then}} value={{node.todo.effort}} /></td>
 {% endif %}
-<td class="todo_line">
-{% for i in range(indent) %}&nbsp; {% endfor %} +
+<td class="todo_line right_border">
+{% for i in range(indent) %}&nbsp; &nbsp; {% endfor %} +
 {% if node.seen %}({% endif %}<a href="todo?id={{node.todo.id_}}">{{node.todo.title_then|e}}</a>{% if node.seen %}){% endif %}
 </td>
-<td class="todo_line">-&gt;</td>
 
 {% for condition in conditions_present|reverse %}
-<td class="cond_line_{{(conditions_present|length - loop.index) % 3}} {% if condition in node.todo.enables or condition in node.todo.disables %}min_width{% endif %}">{% if condition in node.todo.enables %}+{% elif condition in node.todo.disables %}!{% endif %}</td>
+<td class="cond_line_{{(conditions_present|length - loop.index) % 3}} {% if condition in node.todo.enables or condition in node.todo.disables %}min_width{% endif %}">{% if condition in node.todo.enables %}&nbsp;+{% elif condition in node.todo.disables %}&nbsp;!{% endif %}</td>
 {% endfor %}
 
-<td>
+<td colspan=2>
 {% if node.seen %}
 {{node.todo.comment|e}}
 {% else %}
-<input name="comment" value="{{node.todo.comment|e}}" />
+<input name="comment" value="{{node.todo.comment|e}}" style="width: 100%" />
 {% endif %}
 </td>
 
@@ -122,14 +148,12 @@ comment: <input name="day_comment" value="{{day.comment|e}}" />
 <input type="submit" value="OK" /><br />
 add todo: <input name="new_todo" list="processes" autocomplete="off" />
 
-<h4>todo</h4>
+<h4>to do</h4>
 
 <table>
 
 <tr>
-<th colspan={{ conditions_present|length}}>c</th>
-<th colspan=5>states</th>
-<th colspan={{ conditions_present|length}}>t</th>
+<th colspan={{ conditions_present|length + 3 + conditions_present|length }}>states</th>
 <th>add enabler</th>
 <th>add disabler</th>
 </tr>
@@ -141,24 +165,27 @@ add todo: <input name="new_todo" list="processes" autocomplete="off" />
 {% for _ in conditions_present %}
 {% if outer_loop.index > loop.index %}
 <td class="cond_line_{{loop.index0 % 3}}">
-{% else %}
+{% elif outer_loop.index < loop.index %}
 <td class="cond_line_{{outer_loop.index0 % 3}}">
-{% endif %}
-{% if outer_loop.index == loop.index  %}
+{% else %}
+<td class="cond_line_{{outer_loop.index0 % 3}} cond_line_corner">X
 {% endif %}
 </td>
 {% endfor %}
 
 <td class="cond_line_{{loop.index0 % 3}}">[{% if condition.is_active %}X{% else %}&nbsp;{% endif %}]</td>
-<td colspan=4 class="cond_line_{{loop.index0 % 3}}"><a href="condition?id={{condition.id_}}">{{condition.title.at(day.date)|e}}</a></td>
+<td colspan=2 class="cond_line_{{loop.index0 % 3}}"><a href="condition?id={{condition.id_}}">{{condition.title.at(day.date)|e}}</a></td>
 
 {% for _ in conditions_present %}
-{% if outer_loop.index0 + loop.index0 < conditions_present|length %}
+{% if outer_loop.index0 + loop.index < conditions_present|length %}
 <td class="cond_line_{{outer_loop.index0 % 3}}">
-{% else %}
+{% elif outer_loop.index0 + loop.index > conditions_present|length %}
 <td class="cond_line_{{(conditions_present|length - loop.index) % 3}}">
+{% else %}
+<td class="cond_line_{{outer_loop.index0 % 3}} cond_line_corner">&nbsp;X
 {% endif %}
 {% endfor %}
+
 {% set list_name = "todos_for_%s"|format(condition.id_) %}
 <td><input name="new_todo" list="{{list_name}}" autocomplete="off" /></td>
 {{ macros.datalist_of_titles(list_name, enablers_for[condition.id_]) }}
@@ -174,11 +201,11 @@ add todo: <input name="new_todo" list="processes" autocomplete="off" />
 {% for condition in conditions_present %}
 <td class="cond_line_{{loop.index0 % 3}}"></td>
 {% endfor %}
-<th colspan=5>doables</th>
+<th class="left_border right_border vertical_borders" colspan=3>doables</th>
 {% for condition in conditions_present %}
 <td class="cond_line_{{(conditions_present|length - loop.index) % 3}}"></td>
 {% endfor %}
-<th>comments</th>
+<th colspan=2>comments</th>
 </tr>
 {% for node in top_nodes %}
 {{ show_node_undone(node, 0) }}
index 0d4773c0c25b0d1c70f12a9b4654eb8cd2cbe081..a2ef536eaf8230b21be7d3049db878a5a34c7cec 100644 (file)
 
 <tr>
 <th>conditions</th>
-<td>{{ macros.simple_checkbox_table("condition", todo.conditions, "condition", "condition_candidates", historical=true) }}</td>
+<td>{{ macros.simple_checkbox_table("condition", todo.conditions, "condition", "condition_candidates") }}</td>
 </tr>
 
 <tr>
 <th>blockers</th>
-<td>{{ macros.simple_checkbox_table("blocker", todo.blockers, "condition", "condition_candidates", historical=true) }}</td>
+<td>{{ macros.simple_checkbox_table("blocker", todo.blockers, "condition", "condition_candidates") }}</td>
 </tr>
 
 <tr>
 <th>enables</th>
-<td>{{ macros.simple_checkbox_table("enables", todo.enables, "condition", "condition_candidates", historical=true) }}</td>
+<td>{{ macros.simple_checkbox_table("enables", todo.enables, "condition", "condition_candidates") }}</td>
 </tr>
 
 <tr>
 <th>disables</th>
-<td>{{ macros.simple_checkbox_table("disables", todo.disables, "condition", "condition_candidates", historical=true) }}</td>
+<td>{{ macros.simple_checkbox_table("disables", todo.disables, "condition", "condition_candidates") }}</td>
 </tr>
 
 <tr>
index 6b733e059335b4e0c751e9ad750b0fde54b00f73..3dd1f3f7a7dad3c510d3b4a8384a3bff95dc3ca1 100644 (file)
@@ -25,9 +25,9 @@ in comment  <input name="comment_pattern" value="{{comment_pattern}}" />
 {% for todo in todos %}
 <tr>
 <td>[{% if todo.is_done %}x{% else %} {% endif %}]</td>
-<td><a href="{{todo.date}}">{{todo.date}}</a></td>
+<td><a href="day?date={{todo.date}}">{{todo.date}}</a></td>
 <td><a href="todo?id={{todo.id_}}">{{todo.title_then}}</a></td>
-<td><a href="{{todo.comment}}">{{todo.comment}}</a></td>
+<td>{{todo.comment}}</td>
 </tr>
 {% endfor %}
 </table>