Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit7c71ba6

Browse files
committed
add margin to widgets and add item template to PyList
1 parent40c58c3 commit7c71ba6

File tree

3 files changed

+58
-53
lines changed

3 files changed

+58
-53
lines changed

‎pyscriptjs/src/components/pybox.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export class PyBox extends HTMLElement {
1919

2020
connectedCallback(){
2121
letmainDiv=document.createElement('div');
22-
addClasses(mainDiv,["flex"])
22+
addClasses(mainDiv,["flex","mx-8"])
2323

2424
// Hack: for some reason when moving children, the editor box duplicates children
2525
// meaning that we end up with 2 editors, if there's a <py-repl> inside the <py-box>

‎pyscriptjs/src/components/pyrepl.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ export class PyRepl extends BaseEvalElement {
9898
})
9999

100100
letmainDiv=document.createElement('div');
101-
addClasses(mainDiv,["parentBox","group","flex","flex-col","mt-2","border-2","border-gray-200","rounded-lg"])
101+
addClasses(mainDiv,["parentBox","group","flex","flex-col","mt-2","border-2","border-gray-200","rounded-lg","mx-8"])
102102
// add Editor to main PyScript div
103103

104104
// Butons DIV

‎pyscriptjs/src/interpreter.ts

Lines changed: 56 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ def create(what, id_=None, classes=''):
130130
add_classes(element, classes)
131131
return Element(id_, element)
132132
133+
133134
class PyWidgetTheme:
134135
def __init__(self, main_style_classes):
135136
self.main_style_classes = main_style_classes
@@ -139,57 +140,6 @@ class PyWidgetTheme:
139140
widget.classList.add(klass)
140141
141142
142-
class PyListTemplate:
143-
theme = PyWidgetTheme("flex flex-col-reverse mt-8 mx-4")
144-
145-
146-
def __init__(self, parent):
147-
self.parent = parent
148-
self._children = []
149-
self._id = self.parent.id
150-
151-
@property
152-
def children(self):
153-
return self._children
154-
155-
@property
156-
def data(self):
157-
return [c.data for c in self._children]
158-
159-
def render_children(self):
160-
return [c.element.innerHTML.replace("\\n", "") for c in self._children]
161-
162-
def connect(self):
163-
self.md = main_div = document.createElement('div');
164-
main_div.id = self._id + "-list-tasks-container"
165-
166-
if self.theme:
167-
self.theme.theme_it(main_div)
168-
169-
self.parent.appendChild(main_div)
170-
171-
def add(self, child):
172-
child.register_parent(self)
173-
return self._add(child)
174-
175-
def _add(self, child_elem):
176-
console.log("appending child", child_elem.element)
177-
self.pre_child_append(child_elem)
178-
child_elem.pre_append()
179-
self._children.append(child_elem)
180-
self.md.appendChild(child_elem.create().element)
181-
child_elem.post_append()
182-
self.child_appended(child_elem)
183-
return child_elem
184-
185-
def pre_child_append(self, child):
186-
pass
187-
188-
def child_appended(self, child):
189-
"""Overwrite me to define logic"""
190-
pass
191-
192-
193143
class PyItemTemplate(Element):
194144
label_fields = None
195145
@@ -253,6 +203,61 @@ class PyItemTemplate(Element):
253203
254204
def render_content(self):
255205
return ' - '.join([self.data[f] for f in self.labels])
206+
207+
class PyListTemplate:
208+
theme = PyWidgetTheme("flex flex-col-reverse mt-8 mx-8")
209+
item_class = PyItemTemplate
210+
211+
def __init__(self, parent):
212+
self.parent = parent
213+
self._children = []
214+
self._id = self.parent.id
215+
216+
@property
217+
def children(self):
218+
return self._children
219+
220+
@property
221+
def data(self):
222+
return [c.data for c in self._children]
223+
224+
def render_children(self):
225+
return [c.element.innerHTML.replace("\\n", "") for c in self._children]
226+
227+
def connect(self):
228+
self.md = main_div = document.createElement('div');
229+
main_div.id = self._id + "-list-tasks-container"
230+
231+
if self.theme:
232+
self.theme.theme_it(main_div)
233+
234+
self.parent.appendChild(main_div)
235+
236+
def add(self, *args, **kws):
237+
if not isinstance(args[0], self.item_class):
238+
child = self.item_class(*args, **kws)
239+
else:
240+
child = args[0]
241+
child.register_parent(self)
242+
return self._add(child)
243+
244+
def _add(self, child_elem):
245+
console.log("appending child", child_elem.element)
246+
self.pre_child_append(child_elem)
247+
child_elem.pre_append()
248+
self._children.append(child_elem)
249+
self.md.appendChild(child_elem.create().element)
250+
child_elem.post_append()
251+
self.child_appended(child_elem)
252+
return child_elem
253+
254+
def pre_child_append(self, child):
255+
pass
256+
257+
def child_appended(self, child):
258+
"""Overwrite me to define logic"""
259+
pass
260+
256261
257262
258263
class OutputCtxManager:

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp