From cf144e5b28e9eb03dcf5933c276aa448c7360f9a Mon Sep 17 00:00:00 2001 From: Jonas Weinz Date: Sun, 4 Jun 2023 18:51:06 +0200 Subject: [PATCH] many small improvements --- build.sh | 2 +- ...bootstrap_templates-0.2.0-py3-none-any.whl | Bin 0 -> 54594 bytes examples/01_hello_world/main.py | 3 +- ...bootstrap_templates-0.2.0-py3-none-any.whl | Bin 53278 -> 54594 bytes examples/01_hello_world/serviceWorker.js | 13 +- ...bootstrap_templates-0.2.0-py3-none-any.whl | Bin 53278 -> 54594 bytes examples/02_image_filter/serviceWorker.js | 13 +- ...bootstrap_templates-0.2.0-py3-none-any.whl | Bin 53278 -> 54594 bytes examples/03_numpy_grid_demo/serviceWorker.js | 13 +- examples/04_cell_detector/main.py | 211 ++++++++++++----- ...bootstrap_templates-0.2.0-py3-none-any.whl | Bin 53278 -> 54594 bytes examples/04_cell_detector/serviceWorker.js | 13 +- pyscript_bootstrap_templates/HTML.py | 22 ++ .../__pycache__/__init__.cpython-310.pyc | Bin 214 -> 0 bytes .../__pycache__/cli_interface.cpython-310.pyc | Bin 10022 -> 0 bytes .../__pycache__/create.cpython-310.pyc | Bin 4760 -> 0 bytes .../bootstrap_HTML.py | 11 +- .../bootstrap_HTML_container.py | 216 ++++++++++++++++++ .../bootstrap_templates.py | 127 +++++++++- pyscript_bootstrap_templates/cli_interface.py | 13 +- 20 files changed, 583 insertions(+), 74 deletions(-) create mode 100644 dist/pyscript_bootstrap_templates-0.2.0-py3-none-any.whl delete mode 100644 pyscript_bootstrap_templates/__pycache__/__init__.cpython-310.pyc delete mode 100644 pyscript_bootstrap_templates/__pycache__/cli_interface.cpython-310.pyc delete mode 100644 pyscript_bootstrap_templates/__pycache__/create.cpython-310.pyc diff --git a/build.sh b/build.sh index f761f8c..1231cd6 100755 --- a/build.sh +++ b/build.sh @@ -1,6 +1,6 @@ #!/bin/bash -rm -rf ./dist/ +#rm -rf ./dist/ python setup.py bdist_wheel wheel_files=( dist/*whl ) diff --git a/dist/pyscript_bootstrap_templates-0.2.0-py3-none-any.whl b/dist/pyscript_bootstrap_templates-0.2.0-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..d8ece2b1ff6d8196f6f3df1c703cf42342cd9b74 GIT binary patch literal 54594 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 literal 0 HcmV?d00001 diff --git a/examples/01_hello_world/main.py b/examples/01_hello_world/main.py index f7829a8..b41f49e 100644 --- a/examples/01_hello_world/main.py +++ b/examples/01_hello_world/main.py @@ -20,6 +20,8 @@ toast_container.position_end = 0 def onclick(_): + # NOTE: you can also use app.toast(...) and app.alert_success(...) to show toasts + # and alerts at the default bottom right position alert = bHTML.AlertSuccess("You clicked me!", parent=app.main) alert.w = 25 toast = bHTML.Toast("You clicked me!", parent=toast_container) @@ -27,4 +29,3 @@ def onclick(_): toast.show() btn.onclick = onclick - \ No newline at end of file diff --git a/examples/01_hello_world/resources/pyscript_bootstrap_templates-0.2.0-py3-none-any.whl b/examples/01_hello_world/resources/pyscript_bootstrap_templates-0.2.0-py3-none-any.whl index e1a2da09d125d3f46e29ce749b2714d21e68a381..d8ece2b1ff6d8196f6f3df1c703cf42342cd9b74 100644 GIT binary patch delta 28075 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 xCi!;|rDwed+%6M;8D9Mcx1aB$IJfAd~LT2Y>Bd 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 { return response; })()); }); +self.addEventListener('activate', (event) => { + event.waitUntil( + caches.keys().then((keyList) => { + return Promise.all(keyList.map((key) => { + if(key !== pwa_version) { + return caches.delete(key); + } + })); + }) + ); +}); \ No newline at end of file diff --git a/examples/02_image_filter/resources/pyscript_bootstrap_templates-0.2.0-py3-none-any.whl b/examples/02_image_filter/resources/pyscript_bootstrap_templates-0.2.0-py3-none-any.whl index e1a2da09d125d3f46e29ce749b2714d21e68a381..d8ece2b1ff6d8196f6f3df1c703cf42342cd9b74 100644 GIT binary patch delta 28075 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 xCi!;|rDwed+%6M;8D9Mcx1aB$IJfAd~LT2Y>Bd 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 { return response; })()); }); +self.addEventListener('activate', (event) => { + event.waitUntil( + caches.keys().then((keyList) => { + return Promise.all(keyList.map((key) => { + if(key !== pwa_version) { + return caches.delete(key); + } + })); + }) + ); +}); \ No newline at end of file diff --git a/examples/03_numpy_grid_demo/resources/pyscript_bootstrap_templates-0.2.0-py3-none-any.whl b/examples/03_numpy_grid_demo/resources/pyscript_bootstrap_templates-0.2.0-py3-none-any.whl index e1a2da09d125d3f46e29ce749b2714d21e68a381..d8ece2b1ff6d8196f6f3df1c703cf42342cd9b74 100644 GIT binary patch delta 28075 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 xCi!;|rDwed+%6M;8D9Mcx1aB$IJfAd~LT2Y>Bd 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 { return response; })()); }); +self.addEventListener('activate', (event) => { + event.waitUntil( + caches.keys().then((keyList) => { + return Promise.all(keyList.map((key) => { + if(key !== pwa_version) { + return caches.delete(key); + } + })); + }) + ); +}); \ No newline at end of file diff --git a/examples/04_cell_detector/main.py b/examples/04_cell_detector/main.py index 774ac2f..0296ddb 100644 --- a/examples/04_cell_detector/main.py +++ b/examples/04_cell_detector/main.py @@ -9,13 +9,13 @@ import numpy as np from PIL import Image import cv2 -loaded_img = None +loaded_img:np.ndarray = None -app = bootstrap_templates.PyScriptBootstrapDashboard(parent_element="pyscript_app", brand_name="Pyscript Cell Detector") +app = bootstrap_templates.PyScriptBootstrapDashboard(parent_element="pyscript_app", brand_name="Pyscript Cell Colony Detector") main_div = bHTML.BootstrapContainer(parent=app.main) main_div.w = 100 -result_div = bHTML.BootstrapContainer(parent=main_div) +result_div = bHTML.BootstrapContainer (parent=main_div) def process_image(image, @@ -24,13 +24,20 @@ def process_image(image, hough_param2 = 500, minRadius = 100, maxRadius=500, - inner_hough_circles=True): + inner_hough_param1 = 25, + inner_hough_param2 = 50, + inner_hough_circles=True, + cell_colony_color_channel:int = None): for child in result_div.children: child.destroy() - #image = cv2.imread(str(test_img_path), cv2.IMREAD_COLOR) + # Convert the image to grayscale - gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) + if cell_colony_color_channel is None: + gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) + else: + gray = image.astype(float)[...,cell_colony_color_channel] + gray = (255 * gray / gray.max()).astype(np.uint8) # Use median blur to reduce noise gray = cv2.medianBlur(gray, 5) @@ -46,7 +53,7 @@ def process_image(image, maxRadius=maxRadius) if circles is None: - bHTML.AlertDanger("No cell areas detected in image", parent=app.main) + app.alert_danger("No cell areas detected in image") return False # Convert to integers @@ -84,7 +91,14 @@ def process_image(image, for well, well_gray in zip(first_wells, first_wells_gray): - circles = cv2.HoughCircles(well_gray, cv2.HOUGH_GRADIENT, 1, minDist=hough_min_dist, param1=50, param2=50, minRadius=(well.shape[0] // 2) - 50, maxRadius=(well.shape[0] // 2) - 10) + circles = cv2.HoughCircles(well_gray, + cv2.HOUGH_GRADIENT, + 1, + minDist=hough_min_dist, + param1=inner_hough_param1, + param2=inner_hough_param2, + minRadius=int((min(well.shape[0],well.shape[1]) // 2)*0.79), + maxRadius=int((min(well.shape[0],well.shape[1]) // 2)*0.95)) if circles is not None: circles = np.uint16(np.around(circles)) i = circles[0,:][0] @@ -109,9 +123,11 @@ def process_image(image, second_wells = first_wells second_wells_gray = first_wells_gray + tabs = {} - for well, well_gray in zip(second_wells, second_wells_gray): + for well in second_wells: + well_gray = cv2.cvtColor(well, cv2.COLOR_BGR2GRAY) _, binary = cv2.threshold(255 - well_gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU) @@ -120,29 +136,37 @@ def process_image(image, cleaned = cv2.morphologyEx(binary, cv2.MORPH_OPEN, kernel) - radius = well.shape[0] // 2 -1 + radius = min(well.shape[0], well.shape[1]) // 2 -1 # Now clear all pixels outside the circular well. # We do this by creating a mask for the well and applying it to the image. well_mask = np.zeros_like(cleaned, dtype=np.uint8) - cv2.circle(well_mask, (radius, radius), radius, 1, thickness=-1) + cv2.circle(well_mask, (well.shape[1] // 2, well.shape[0] // 2), radius, 1, thickness=-1) cleaned = cleaned * well_mask circle = well_mask > 0 # now create an image overlay to display ratio = np.sum((cleaned > 0).astype(int)) / np.sum(circle.astype(int)) - div_result = bHTML.BootstrapContainer(f"ratio: {ratio * 100}%", parent=result_div) + div_result = bHTML.BootstrapContainer(f"ratio: {ratio * 100}%") div_result.shadow = bHTML.Shadow.LARGE div_result.rounded = True - div_result.w = 50 + div_result.w = 75 + div_result.h = 75 + div_result.rounded_size = 50 + div_result.p = 3 + well = well.copy() well[cleaned > 0,0] = 255 final_img = bHTML.Image.from_numpy_array(well, parent=div_result) final_img.rounded = True - final_img.rounded_size = 10 + final_img.rounded_size = 50 final_img.shadow = bHTML.Shadow.LARGE final_img.w = 100 + tabs[f"Well #{len(tabs) + 1}"] = div_result + + tabs = bHTML.Tabs(tabs, parent=result_div) + tabs.w = 100 div = bHTML.BootstrapContainer("Controls", parent=app.sidebar) @@ -150,64 +174,135 @@ div.font_size = 4 image_input = bInputs.InputFile(label_text="choose image file", parent=app.sidebar) -i_hough_min_dist = bInputs.InputInt("hough min distance [px]", parent=app.sidebar) -i_hough_min_dist.value = 500 - -i_hough_param1 = bInputs.InputInt("hough param1", parent=app.sidebar) -i_hough_param1.value = 80 - -i_hough_param2 = bInputs.InputInt("hough param2", parent=app.sidebar) -i_hough_param2.value = 500 - -i_hough_min_radius = bInputs.InputInt("hough min radius [px]", parent=app.sidebar) -i_hough_min_radius.value = 100 - -i_hough_max_radius = bInputs.InputInt("hough max radius [px]", parent=app.sidebar) -i_hough_max_radius.value = 500 - - - btn = bHTML.ButtonPrimary("Process", parent=app.sidebar) btn.w = 100 +btn.mt = 3 +btn.mb = 3 +btn.ml = 4 +btn.mr = 4 + +i_hough_min_dist = bInputs.InputInt("hough min distance [px]", + parent=app.sidebar, + help_text="minimal distance between wells in pixels") +i_hough_min_dist.value = 500 + +i_hough_param1 = bInputs.InputInt("hough param1", + parent=app.sidebar, + help_text="parameter for canny edge detector") +i_hough_param1.value = 80 + +i_hough_param2 = bInputs.InputInt("hough param2", + parent=app.sidebar, + help_text="increase this value to prevent false circle detection") +i_hough_param2.value = 500 + +i_hough_min_radius = bInputs.InputInt("hough min radius [px]", + parent=app.sidebar, + help_text="min radius for circle detection") +i_hough_min_radius.value = 100 + +i_hough_max_radius = bInputs.InputInt("hough max radius [px]", + parent=app.sidebar, + help_text="max radius for circle detection") +i_hough_max_radius.value = 500 + +i_inner_hough = bInputs.InputCheckboxSingle("nested hough transform?", + parent=app.sidebar, + help_text="if set, circle detection will be applied twice on detected wells") +i_inner_hough.value = True +i_inner_hough.m = 3 + +i_inner_hough_param1 = bInputs.InputInt("inner hough param1", parent=app.sidebar) +i_inner_hough_param1.value = 25 + +i_inner_hough_param2 = bInputs.InputInt("inner hough param2", parent=app.sidebar) +i_inner_hough_param2.value = 50 + +i_use_color_channel = bInputs.InputSelect(["all", + "red", + "green", + "blue"], + label_text="cell colony color channel", + parent=app.sidebar, + help_text="if cells are more present in a specific channel, select it here") +i_use_color_channel.value = "blue" + + def on_image_change(f, *args): - global loaded_img - f.seek(0) - img = np.array(Image.open(f)) - for child in result_div.children: - child.destroy() - - output = bHTML.Image.from_numpy_array(img, parent=result_div) - output.rounded = True - output.rounded_size = 10 - output.shadow = bHTML.Shadow.LARGE - output.w=50 - - loaded_img = img + + try: + global loaded_img + f.seek(0) + img = np.array(Image.open(f)) + for child in result_div.children: + child.destroy() + + bHTML.BootstrapContainer("input image:", parent=result_div) + output = bHTML.Image.from_numpy_array(img, parent=result_div) + output.rounded = True + output.rounded_size = 10 + output.shadow = bHTML.Shadow.LARGE + output.width = "100%" + output.height = "100%" + + loaded_img = img + + app.toast("successfully loaded image", "info") + #toast = bHTML.Toast("successfully loaded image", title="info", parent=toast_container) + #toast.animation = True + #toast.show() + except Exception as e: + for child in result_div.children: + child.destroy() + bHTML.AlertDanger(f"error while loading image: {str(e)}", parent=alert_container) + image_input.onchange = on_image_change def on_click(*args, **kwargs): if loaded_img is None: - bHTML.AlertDanger("No image loaded", parent=app.main) + app.alert_danger("No image loaded") return - - h_min_dist = int(i_hough_min_dist.value) - h_param1 = int(i_hough_param1.value) - h_param2 = int(i_hough_param2.value) - h_min_radius = int(i_hough_min_radius.value) - h_max_radius = int(i_hough_max_radius.value) + for child in result_div.children: + child.destroy() + + try: + h_min_dist = int(i_hough_min_dist.value) + h_param1 = int(i_hough_param1.value) + h_param2 = int(i_hough_param2.value) + h_inner_param1 = int(i_inner_hough_param1.value) + h_inner_param2 = int(i_inner_hough_param2.value) + h_min_radius = int(i_hough_min_radius.value) + h_max_radius = int(i_hough_max_radius.value) + inner_hough = bool(i_inner_hough.value) + color_channel = { + "all": None, + "red": 0, + "green": 1, + "blue": 2 + }[i_use_color_channel.value] - process_image(loaded_img, - hough_min_dist=h_min_dist, - hough_param1=h_param1, - hough_param2=h_param2, - minRadius=h_min_radius, - maxRadius=h_max_radius, - inner_hough_circles=True) + + process_image(loaded_img, + hough_min_dist=h_min_dist, + hough_param1=h_param1, + hough_param2=h_param2, + minRadius=h_min_radius, + maxRadius=h_max_radius, + inner_hough_param1=h_inner_param1, + inner_hough_param2=h_inner_param2, + inner_hough_circles=inner_hough, + cell_colony_color_channel=color_channel) + app.toast("successfully processed image", title="info") + + except Exception as e: + for child in result_div.children: + child.destroy() + app.alert_danger(f"error while processing image: {str(e)}") btn.onclick = on_click diff --git a/examples/04_cell_detector/resources/pyscript_bootstrap_templates-0.2.0-py3-none-any.whl b/examples/04_cell_detector/resources/pyscript_bootstrap_templates-0.2.0-py3-none-any.whl index e1a2da09d125d3f46e29ce749b2714d21e68a381..d8ece2b1ff6d8196f6f3df1c703cf42342cd9b74 100644 GIT binary patch delta 28075 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 xCi!;|rDwed+%6M;8D9Mcx1aB$IJfAd~LT2Y>Bd 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 { return response; })()); }); +self.addEventListener('activate', (event) => { + event.waitUntil( + caches.keys().then((keyList) => { + return Promise.all(keyList.map((key) => { + if(key !== pwa_version) { + return caches.delete(key); + } + })); + }) + ); +}); \ No newline at end of file diff --git a/pyscript_bootstrap_templates/HTML.py b/pyscript_bootstrap_templates/HTML.py index 13147e7..1a947d0 100644 --- a/pyscript_bootstrap_templates/HTML.py +++ b/pyscript_bootstrap_templates/HTML.py @@ -68,6 +68,7 @@ class Element(object): self._display = self.element.style.display self.element.style.display = "none" + def show(self) -> None: if self._display is None: return @@ -209,6 +210,27 @@ class Element(object): def write(self, object): self.element.write(self.id, object) # type: ignore + + def set_style(self, property_name: str, value: str) -> None: + """Set a CSS style property on this element.""" + setattr(self._element.style, property_name, value) + + def get_style(self, property_name: str) -> str: + """Get the value of a CSS style property on this element.""" + try: + return getattr(self._element.style, property_name) + except AttributeError: + return None + + def remove_style(self, property_name: str) -> None: + """Remove a CSS style property from this element.""" + setattr(self._element.style, property_name, None) + + def set_styles(self, **styles) -> None: + """Set multiple CSS style properties on this element.""" + for property_name, value in styles.items(): + self.set_style(property_name, value) + class A(Element): diff --git a/pyscript_bootstrap_templates/__pycache__/__init__.cpython-310.pyc b/pyscript_bootstrap_templates/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index a66062b5f5d69863c05043a324954f9d782e0cb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 214 zcmd1j<>g`kf^LE86fq$E7{oyaj6jY95EpX*i4=w?h7`tN22G|aRs%gFJp(^Y##`L+ z@nxw+#hLke@$oAeikN`vz{IZ<{fzwFRQ;^{yu@OCm;CI~+|<01RQ>eKlAzRr{9^rr z%Hrgr%z_f#r2PDn;*z4o0^O3-+=86Ml2n9bJX|s!AsHW^nU`4-AFo$Xd5gm)H$SB` OC)Ez*(qfS991H-~mpi%u diff --git a/pyscript_bootstrap_templates/__pycache__/cli_interface.cpython-310.pyc b/pyscript_bootstrap_templates/__pycache__/cli_interface.cpython-310.pyc deleted file mode 100644 index be569c1aeb532a65920e1b7b53269612a484b269..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10022 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 I67+BW3k5!LVgLXD diff --git a/pyscript_bootstrap_templates/bootstrap_HTML.py b/pyscript_bootstrap_templates/bootstrap_HTML.py index 5ccb562..8f5de7a 100644 --- a/pyscript_bootstrap_templates/bootstrap_HTML.py +++ b/pyscript_bootstrap_templates/bootstrap_HTML.py @@ -796,16 +796,22 @@ class Col(BootstrapContainer): class_name: str = None, parent: HTML.Element = None, col: int = None, + col_xs: int = None, col_sm: int = None, col_md: int = None, col_lg: int = None, col_xl: int = None, col_xxl: int = None) -> None: + + super().__init__(inner_html, id, class_name, parent) + + if col is not None: self.col = col - super().__init__(inner_html, id, class_name, parent) + if col_xs is not None: + self.col_xs = col_xs if col_sm is not None: self.col_sm = col_sm @@ -1110,6 +1116,9 @@ class NavbarBrand(HTML.A, BootstrapContainer): parent=parent) self.set_attribute("href", href) + self.ms = 3 + self.me = 3 + class Navbar(BootstrapContainer): diff --git a/pyscript_bootstrap_templates/bootstrap_HTML_container.py b/pyscript_bootstrap_templates/bootstrap_HTML_container.py index cdbd534..db3cf20 100644 --- a/pyscript_bootstrap_templates/bootstrap_HTML_container.py +++ b/pyscript_bootstrap_templates/bootstrap_HTML_container.py @@ -314,6 +314,15 @@ class BootstrapContainer(HTML.Div): def text_align(self, value: Union[TextAlign, None]): self._set_enum_property( value=value, prefix="text-", enum_class=TextAlign, enum_values=_TEXT_ALIGNS) + + @property + def text_align_xs(self) -> Union[TextAlign, None]: + return self._get_enum_property(prefix="text-", enum_class=TextAlign, enum_values=_TEXT_ALIGNS, breakpoint="xs") + + @text_align_xs.setter + def text_align_xs(self, value: Union[TextAlign, None]): + self._set_enum_property(value=value, prefix="text-", + enum_class=TextAlign, enum_values=_TEXT_ALIGNS, breakpoint="xs") @property def text_align_sm(self) -> Union[TextAlign, None]: @@ -558,6 +567,15 @@ class BootstrapContainer(HTML.Div): def display_property(self, value: Union[DisplayProperty, None]): self._set_enum_property( value=value, prefix="d-", enum_class=DisplayProperty, enum_values=_DISPLAY_PROPERTIES) + + @property + def display_property_xs(self) -> Union[DisplayProperty, None]: + return self._get_enum_property(prefix="d-", enum_class=DisplayProperty, enum_values=_DISPLAY_PROPERTIES, breakpoint="xs") + + @display_property_xs.setter + def display_property_xs(self, value: Union[DisplayProperty, None]): + self._set_enum_property(value=value, prefix="d-", enum_class=DisplayProperty, + enum_values=_DISPLAY_PROPERTIES, breakpoint="xs") @property def display_property_sm(self) -> Union[DisplayProperty, None]: @@ -1112,6 +1130,17 @@ class BootstrapContainer(HTML.Div): @p.setter def p(self, value: Union[int, str, None]): self._set_css_param_number("p-", value) + + @property + def p_xs(self) -> Union[int, str, None]: + """ + element's padding for small screens. By default, bootstrap defines the values 0,1,2,3,4,5,auto + """ + return self._get_css_param_number("p-", "xs") + + @p_xs.setter + def p_xs(self, value: Union[int, str, None]): + self._set_css_param_number("p-", value, "xs") @property def p_sm(self) -> Union[int, str, None]: @@ -1178,6 +1207,17 @@ class BootstrapContainer(HTML.Div): @px.setter def px(self, value: Union[int, str, None]): self._set_css_param_number("px-", value) + + @property + def px_xs(self) -> Union[int, str, None]: + """ + element's horizontal padding for small screens. By default, bootstrap defines the values 0,1,2,3,4,5,auto + """ + return self._get_css_param_number("px-", "xs") + + @px_xs.setter + def px_xs(self, value: Union[int, str, None]): + self._set_css_param_number("px-", value, "xs") @property def px_sm(self) -> Union[int, str, None]: @@ -1245,6 +1285,17 @@ class BootstrapContainer(HTML.Div): def py(self, value: Union[int, str, None]): self._set_css_param_number("py-", value) + @property + def py_xs(self) -> Union[int, str, None]: + """ + element's vertical padding for small screens. By default, bootstrap defines the values 0,1,2,3,4,5,auto + """ + return self._get_css_param_number("py-", "xs") + + @py_xs.setter + def py_xs(self, value: Union[int, str, None]): + self._set_css_param_number("py-", value, "xs") + @property def py_sm(self) -> Union[int, str, None]: """ @@ -1311,6 +1362,17 @@ class BootstrapContainer(HTML.Div): def pt(self, value: Union[int, str, None]): self._set_css_param_number("pt-", value) + @property + def pt_xs(self) -> Union[int, str, None]: + """ + element's top padding for small screens. By default, bootstrap defines the values 0,1,2,3,4,5,auto + """ + return self._get_css_param_number("pt-", "xs") + + @pt_xs.setter + def pt_xs(self, value: Union[int, str, None]): + self._set_css_param_number("pt-", value, "xs") + @property def pt_sm(self) -> Union[int, str, None]: """ @@ -1376,6 +1438,17 @@ class BootstrapContainer(HTML.Div): @pb.setter def pb(self, value: Union[int, str, None]): self._set_css_param_number("pb-", value) + + @property + def pb_xs(self) -> Union[int, str, None]: + """ + element's bottom padding for small screens. By default, bootstrap defines the values 0,1,2,3,4,5,auto + """ + return self._get_css_param_number("pb-", "xs") + + @pb_xs.setter + def pb_xs(self, value: Union[int, str, None]): + self._set_css_param_number("pb-", value, "xs") @property def pb_sm(self) -> Union[int, str, None]: @@ -1442,6 +1515,17 @@ class BootstrapContainer(HTML.Div): @ps.setter def ps(self, value: Union[int, str, None]): self._set_css_param_number("ps-", value) + + @property + def ps_xs(self) -> Union[int, str, None]: + """ + element's start padding (left for LTR languages) for small screens. By default, bootstrap defines the values 0,1,2,3,4,5,auto + """ + return self._get_css_param_number("ps-", "xs") + + @ps_xs.setter + def ps_xs(self, value: Union[int, str, None]): + self._set_css_param_number("ps-", value, "xs") @property def ps_sm(self) -> Union[int, str, None]: @@ -1508,6 +1592,17 @@ class BootstrapContainer(HTML.Div): @pe.setter def pe(self, value: Union[int, str, None]): self._set_css_param_number("pe-", value) + + @property + def pe_xs(self) -> Union[int, str, None]: + """ + element's end padding (right for LTR languages) for small screens. By default, bootstrap defines the values 0,1,2,3,4,5,auto + """ + return self._get_css_param_number("pe-", "xs") + + @pe_xs.setter + def pe_xs(self, value: Union[int, str, None]): + self._set_css_param_number("pe-", value, "xs") @property def pe_sm(self) -> Union[int, str, None]: @@ -1576,6 +1671,17 @@ class BootstrapContainer(HTML.Div): @m.setter def m(self, value: Union[int, str, None]): self._set_css_param_number("m-", value) + + @property + def m_xs(self) -> Union[int, str, None]: + """ + element's margin for small screens. By default, bootstrap defines the values 0,1,2,3,4,5,auto + """ + return self._get_css_param_number("m-", "xs") + + @m_xs.setter + def m_xs(self, value: Union[int, str, None]): + self._set_css_param_number("m-", value, "xs") @property def m_sm(self) -> Union[int, str, None]: @@ -1642,6 +1748,17 @@ class BootstrapContainer(HTML.Div): @mx.setter def mx(self, value: Union[int, str, None]): self._set_css_param_number("mx-", value) + + @property + def mx_xs(self) -> Union[int, str, None]: + """ + element's margin-left and margin-right for small screens. By default, bootstrap defines the values 0,1,2,3,4,5,auto + """ + return self._get_css_param_number("mx-", "xs") + + @mx_xs.setter + def mx_xs(self, value: Union[int, str, None]): + self._set_css_param_number("mx-", value, "xs") @property def mx_sm(self) -> Union[int, str, None]: @@ -1708,6 +1825,17 @@ class BootstrapContainer(HTML.Div): @my.setter def my(self, value: Union[int, str, None]): self._set_css_param_number("my-", value) + + @property + def my_xs(self) -> Union[int, str, None]: + """ + element's margin-top and margin-bottom for small screens. By default, bootstrap defines the values 0,1,2,3,4,5,auto + """ + return self._get_css_param_number("my-", "xs") + + @my_xs.setter + def my_xs(self, value: Union[int, str, None]): + self._set_css_param_number("my-", value, "xs") @property def my_sm(self) -> Union[int, str, None]: @@ -1774,6 +1902,17 @@ class BootstrapContainer(HTML.Div): @mt.setter def mt(self, value: Union[int, str, None]): self._set_css_param_number("mt-", value) + + @property + def mt_xs(self) -> Union[int, str, None]: + """ + element's margin-top for small screens. By default, bootstrap defines the values 0,1,2,3,4,5,auto + """ + return self._get_css_param_number("mt-", "xs") + + @mt_xs.setter + def mt_xs(self, value: Union[int, str, None]): + self._set_css_param_number("mt-", value, "xs") @property def mt_sm(self) -> Union[int, str, None]: @@ -1840,6 +1979,17 @@ class BootstrapContainer(HTML.Div): @mb.setter def mb(self, value: Union[int, str, None]): self._set_css_param_number("mb-", value) + + @property + def mb_xs(self) -> Union[int, str, None]: + """ + element's margin-bottom for small screens. By default, bootstrap defines the values 0,1,2,3,4,5,auto + """ + return self._get_css_param_number("mb-", "xs") + + @mb_xs.setter + def mb_xs(self, value: Union[int, str, None]): + self._set_css_param_number("mb-", value, "xs") @property def mb_sm(self) -> Union[int, str, None]: @@ -1907,6 +2057,17 @@ class BootstrapContainer(HTML.Div): def ms(self, value: Union[int, str, None]): self._set_css_param_number("ms-", value) + @property + def ms_xs(self) -> Union[int, str, None]: + """ + element's start margin (left for LTR languages) for small screens. By default, bootstrap defines the values 0,1,2,3,4,5,auto + """ + return self._get_css_param_number("ms-", "xs") + + @ms_xs.setter + def ms_xs(self, value: Union[int, str, None]): + self._set_css_param_number("ms-", value, "xs") + @property def ms_sm(self) -> Union[int, str, None]: """ @@ -1972,6 +2133,17 @@ class BootstrapContainer(HTML.Div): @me.setter def me(self, value: Union[int, str, None]): self._set_css_param_number("me-", value) + + @property + def me_xs(self) -> Union[int, str, None]: + """ + element's end margin (right for LTR languages) for small screens. By default, bootstrap defines the values 0,1,2,3,4,5,auto + """ + return self._get_css_param_number("me-", "xs") + + @me_xs.setter + def me_xs(self, value: Union[int, str, None]): + self._set_css_param_number("me-", value, "xs") @property def me_sm(self) -> Union[int, str, None]: @@ -2041,6 +2213,17 @@ class BootstrapContainer(HTML.Div): def g(self, value: Union[int, str, None]): self._set_css_param_number("g-", value) + @property + def g_xs(self) -> Union[int, str, None]: + """ + gutter (gutters are the space between the element and its content) for small screens. By default, bootstrap defines the values 0,1,2,3,4,5 + """ + return self._get_css_param_number("g-", "xs") + + @g_xs.setter + def g_xs(self, value: Union[int, str, None]): + self._set_css_param_number("g-", value, "xs") + @property def g_sm(self) -> Union[int, str, None]: """ @@ -2107,6 +2290,17 @@ class BootstrapContainer(HTML.Div): def gx(self, value: Union[int, str, None]): self._set_css_param_number("gx-", value) + @property + def gx_xs(self) -> Union[int, str, None]: + """ + horizontal gutter (gutters are the space between the element and its content) for small screens. By default, bootstrap defines the values 0,1,2,3,4,5 + """ + return self._get_css_param_number("gx-", "xs") + + @gx_xs.setter + def gx_xs(self, value: Union[int, str, None]): + self._set_css_param_number("gx-", value, "xs") + @property def gx_sm(self) -> Union[int, str, None]: """ @@ -2173,6 +2367,17 @@ class BootstrapContainer(HTML.Div): def gy(self, value: Union[int, str, None]): self._set_css_param_number("gy-", value) + @property + def gy_xs(self) -> Union[int, str, None]: + """ + vertical gutter (gutters are the space between the element and its content) for small screens. By default, bootstrap defines the values 0,1,2,3,4,5 + """ + return self._get_css_param_number("gy-", "xs") + + @gy_xs.setter + def gy_xs(self, value: Union[int, str, None]): + self._set_css_param_number("gy-", value, "xs") + @property def gy_sm(self) -> Union[int, str, None]: """ @@ -2240,6 +2445,17 @@ class BootstrapContainer(HTML.Div): @col.setter def col(self, value: Union[int, str, None]): self._set_css_param_number("col-", value) + + @property + def col_xs(self) -> Union[int, str, None]: + """ + column class for very small screens. By default, bootstrap defines the values 1,2,3,4,5,6,7,8,9,10,11,12 + """ + return self._get_css_param_number("col-", "xs") + + @col_xs.setter + def col_xs(self, value: Union[int, str, None]): + self._set_css_param_number("col-", value, "xs") @property def col_sm(self) -> Union[int, str, None]: diff --git a/pyscript_bootstrap_templates/bootstrap_templates.py b/pyscript_bootstrap_templates/bootstrap_templates.py index 619b817..bc50065 100644 --- a/pyscript_bootstrap_templates/bootstrap_templates.py +++ b/pyscript_bootstrap_templates/bootstrap_templates.py @@ -10,20 +10,112 @@ class PyScriptBootstrapApp(object): self._main_div.vh_100 = True self._main_div.p = 0 + self._main_div.m = 0 + + self._main_div.col_xs = 12 + self._main_div.col = 12 + + self._parent_element = document.getElementById(parent_element) self._parent_element.appendChild(self._main_div.element) + self._toast_container = bHTML.ToastContainer(parent=self._main_div) + self._toast_container.position_end = 0 + self._toast_container.position_bottom = 0 + + self._alert_container = bHTML.BootstrapContainer(parent=self._main_div) + self._alert_container.position_end = 0 + self._alert_container.position_bottom = 0 + self._alert_container.position = bHTML.Position.ABSOLUTE + + def _alert(self, message: str, alert_class: type): + return alert_class(message, parent=self._alert_container) + bHTML.Al + @property def main(self) -> HTML.Div: return self._main_div + + @property + def toast_container(self) -> bHTML.ToastContainer: + return self._toast_container + + @property + def alert_container(self) -> bHTML.BootstrapContainer: + return self._alert_container + + def toast(self, message: str, title: str, animation: bool = True, show: bool = True) -> bHTML.Toast: + """ + show a toast on the default toast location (bottom right) + """ + toast = bHTML.Toast(inner_html=message, title=title, parent=self._toast_container) + toast.animation = animation + if show: + toast.show() + return toast + + def alert(self, message:str) -> bHTML.Alert: + """ + show an alert on the default alert location (bottom right) + """ + return self._alert(message, bHTML.Alert) + + def alert_success(self, message:str) -> bHTML.AlertSuccess: + """ + show an alert on the default alert location (bottom right) + """ + return self._alert(message, bHTML.AlertSuccess) + + def alert_info(self, message:str) -> bHTML.AlertInfo: + """ + show an alert on the default alert location (bottom right) + """ + return self._alert(message, bHTML.AlertInfo) + + def alert_warning(self, message:str) -> bHTML.AlertWarning: + """ + show an alert on the default alert location (bottom right) + """ + return self._alert(message, bHTML.AlertWarning) + + def alert_danger(self, message:str) -> bHTML.AlertDanger: + """ + show an alert on the default alert location (bottom right) + """ + return self._alert(message, bHTML.AlertDanger) + + def alert_primary(self, message:str) -> bHTML.AlertPrimary: + """ + show an alert on the default alert location (bottom right) + """ + return self._alert(message, bHTML.AlertPrimary) + + def alert_secondary(self, message:str) -> bHTML.AlertSecondary: + """ + show an alert on the default alert location (bottom right) + """ + return self._alert(message, bHTML.AlertSecondary) + + def alert_light(self, message:str) -> bHTML.AlertLight: + """ + show an alert on the default alert location (bottom right) + """ + return self._alert(message, bHTML.AlertLight) + + def alert_dark(self, message:str) -> bHTML.AlertDark: + """ + show an alert on the default alert location (bottom right) + """ + return self._alert(message, bHTML.AlertDark) class PyScriptBootstrapDashboard(PyScriptBootstrapApp): def __init__(self, parent_element:str = "pyscript_app", brand_name = "Dashboard"): super().__init__(parent_element) - self._sidebar = bHTML.Col(id="sidebar", col_sm=5, col_md=4, col_lg=3, col_xl=3) + self._sidebar = bHTML.Col(id="sidebar", col=12, col_sm=12, col_md=4, col_lg=3, col_xl=3) + self._sidebar.style = {"height": "100vh", "overflow": "auto"} self._navbar = bHTML.NavbarDark( parent=self._main_div, @@ -32,13 +124,30 @@ class PyScriptBootstrapDashboard(PyScriptBootstrapApp): toggle_button_for_target=self.sidebar ) - self._navbar.position = bHTML.Position.STICKY_TOP - self._navbar.w = 100 + self._navbar.position = bHTML.Position.FIXED_TOP + self._navbar.height = "4em" + self._navbar.ps = 5 + self._navbar.pe = 5 + self._navbar.col = 12 + + + top_margin_dummy = bHTML.BootstrapContainer(id="top_margin_dummy", parent=self._main_div) + top_margin_dummy.height = "3.5em" # have it slightly less high than navbar + top_margin_dummy.width = "100vw" + top_margin_dummy.m = 0 + top_margin_dummy.p = 0 row = bHTML.Row(parent=self._main_div) - row.h = 100 row.w = 100 + + row.height = "calc(100vh - 4em)" + row.p = 0 + row.m = 0 + row.col_xs = 12 + row.col = 12 + + row.display_property = bHTML.DisplayProperty.INLINE_FLEX row.append_child(self.sidebar) @@ -49,17 +158,19 @@ class PyScriptBootstrapDashboard(PyScriptBootstrapApp): self._sidebar.position = bHTML.Position.STATIC self._sidebar.collapsable = True self._sidebar.mw = 100 + self._sidebar.height = "calc(100vh - 4em)" self._sidebar.shadow = bHTML.Shadow.LARGE - self._sidebar.overflow = bHTML.Overflow.HIDDEN + self._sidebar.overflow = bHTML.Overflow.SCROLL self._modal = bHTML.Modal(parent=self._main_div, title="Modal") - self._main_area = bHTML.Col(id="main_area", parent=row, col_lg=9, col_xl=9) + self._main_area = bHTML.Col(id="main_area", parent=row, col=12, col_sm=12, col_md=8, col_lg=9, col_xl=9) + self._main_area.p = 4 - self._main_area.overflow = bHTML.Overflow.HIDDEN - #self._main_area.vh_100 = True + self._main_area.overflow = bHTML.Overflow.SCROLL + self._main_area.height = "calc(100vh - 4em)" self._main_area.mw = 100 def show_modal(self): diff --git a/pyscript_bootstrap_templates/cli_interface.py b/pyscript_bootstrap_templates/cli_interface.py index aae48f3..7e291d0 100644 --- a/pyscript_bootstrap_templates/cli_interface.py +++ b/pyscript_bootstrap_templates/cli_interface.py @@ -106,6 +106,17 @@ self.addEventListener('fetch', event => {{ return response; }})()); +}}); +self.addEventListener('activate', (event) => {{ + event.waitUntil( + caches.keys().then((keyList) => {{ + return Promise.all(keyList.map((key) => {{ + if(key !== pwa_version) {{ + return caches.delete(key); + }} + }})); + }}) + ); }}); """ @@ -306,7 +317,7 @@ def main(): argument_parser.add_argument("--bootstrap-js-url", type=str, help="the url of the bootstrap js file", default="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js") argument_parser.add_argument("--pyscript-bootstrap-templates-wheel-url", type=str, - help="the url of the pyscript bootstrap templates wheel file", default="https://the-cake-is-a-lie.net/gogs/jonas/pyscript-bootstrap-templates/raw/branch/main/dist/pyscript_bootstrap_templates-0.1.0-py3-none-any.whl") + help="the url of the pyscript bootstrap templates wheel file", default="https://the-cake-is-a-lie.net/gogs/jonas/pyscript-bootstrap-templates/raw/branch/main/dist/pyscript_bootstrap_templates-0.2.0-py3-none-any.whl") argument_parser.add_argument("--pwa-bg-color", type=str, help="background color for pwa configuration", default="#000000") argument_parser.add_argument("--pwa-theme-color", type=str, help="theme color for pwa configuration", default="#ffffff")