From 94dd29acaef6c7c0fa94444c61b33ba3f2fd1cae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ji=C5=99=C3=AD=20Setni=C4=8Dka?= <setnicka@seznam.cz>
Date: Fri, 15 Jan 2021 20:51:36 +0100
Subject: [PATCH] =?UTF-8?q?Table:=20Bu=C5=88ky=20zalo=C5=BEen=C3=A9=20na?=
 =?UTF-8?q?=20Cell=20vracej=C3=AD=20i=20<td>=20element?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Umožňuje <td> element modifikovat, například pomocí rowspan, nebo ho
naopak vůbec neuvést (například buňka na jejíž místo sahá rowspan jiné).
---
 mo/web/table.py | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/mo/web/table.py b/mo/web/table.py
index 8ce5bfb7..fcd476a5 100644
--- a/mo/web/table.py
+++ b/mo/web/table.py
@@ -37,7 +37,7 @@ class Cell:
         return self.text
 
     def to_html(self) -> str:
-        return escape(self.text)
+        return '<td>' + escape(self.text)
 
 
 class Row:
@@ -63,7 +63,7 @@ class CellLink(Cell):
         self.hint = hint
 
     def to_html(self) -> str:
-        a = '<a href="' + escape(self.url) + '"'
+        a = '<td><a href="' + escape(self.url) + '"'
         if self.hint:
             a += ' title="' + escape(self.hint) + '"'
         return a + '>' + escape(self.text) + '</a>'
@@ -81,7 +81,7 @@ class CellCheckbox(Cell):
         self.checked = checked
 
     def to_html(self) -> str:
-        ch = f'<input type="checkbox" name="{self.name}" value="{self.value}"'
+        ch = f'<td><input type="checkbox" name="{self.name}" value="{self.value}"'
         if self.checked:
             ch += ' checked'
         return ch + '>'
@@ -113,10 +113,9 @@ class Table:
             for c in self.columns:
                 val = r.get(c.key)
                 if isinstance(val, Cell):
-                    vals = val.to_html()
+                    tab.append(val.to_html())
                 else:
-                    vals = escape(str(val))
-                tab.append(f'\t<td>{vals}')
+                    tab.append(f'\t<td>{escape(str(val))}')
 
         tab.append('</table>')
         if self.show_downlink:
-- 
GitLab