|
@@ -1,3 +1,4 @@
|
|
|
+from collections import deque
|
|
|
from typing import Optional
|
|
|
|
|
|
from ..dependencies import register_component
|
|
@@ -17,8 +18,12 @@ class Log(Element):
|
|
|
"""
|
|
|
super().__init__('log')
|
|
|
self._props['max_lines'] = max_lines
|
|
|
+ self._props['lines'] = ''
|
|
|
self.classes('border whitespace-pre font-mono')
|
|
|
self.style('opacity: 1 !important; cursor: text !important')
|
|
|
+ self.lines: deque[str] = deque(maxlen=max_lines)
|
|
|
|
|
|
def push(self, line: str) -> None:
|
|
|
+ self.lines.extend(line.splitlines())
|
|
|
+ self._props['lines'] = '\n'.join(self.lines)
|
|
|
self.run_method('push', line)
|