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