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