Skip to content

Commit

Permalink
type hint stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
Archmonger committed Jul 4, 2022
1 parent 52cc355 commit f607359
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 15 deletions.
1 change: 0 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
"python.linting.pylintEnabled": true,
"python.linting.pylintArgs": [],
"python.languageServer": "Pylance",
"python.analysis.typeCheckingMode": "off",
"python.formatting.provider": "black",
"python.sortImports.args": [
"--src=${workspaceFolder}"
Expand Down
7 changes: 5 additions & 2 deletions conreq/_core/home/components/navbar.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,12 @@ def _update_page_title():


def _get_page_title(state: HomepageState):
if state._viewport_selector == ViewportSelector.primary:
if state._viewport_primary and state._viewport_selector == ViewportSelector.primary:
return state._viewport_primary.page_title or _default_page_title()
if state._viewport_selector == ViewportSelector.secondary:
if (
state._viewport_secondary
and state._viewport_selector == ViewportSelector.secondary
):
return state._viewport_secondary.page_title or _default_page_title()
return _default_page_title()

Expand Down
8 changes: 4 additions & 4 deletions conreq/_core/home/components/protocol.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from idom.core.types import ComponentType, VdomDict, _OwnType
from idom.core.types import ComponentType, VdomDict


class ConditionalRender:
class ConditionalRender(ComponentType):
def __init__(self, element: ComponentType, should_render: bool) -> None:
self.key = None
self.type = self.__class__
Expand All @@ -11,5 +11,5 @@ def __init__(self, element: ComponentType, should_render: bool) -> None:
def render(self) -> VdomDict | ComponentType | None:
return self.element

def should_render(self, new_object: _OwnType) -> bool:
return new_object.render_flag
def should_render(self, new: "ConditionalRender") -> bool:
return new.render_flag
5 changes: 3 additions & 2 deletions conreq/_core/home/components/sidebar.py
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,7 @@ async def username_on_click(_):
def _nav_tab_class(state: HomepageState, tab: NavTab):
if (
state._viewport_selector is not ViewportSelector._initial
and tab.viewport
and tab.viewport.component
is state.__getattribute__(f"_viewport_{state._viewport_selector}").component
):
Expand Down Expand Up @@ -215,8 +216,8 @@ def nav_group(
state: HomepageState,
set_state,
group: NavGroup,
top_tabs: list[NavTab] = None,
bottom_tabs: list[NavTab] = None,
top_tabs: list[NavTab] | None = None,
bottom_tabs: list[NavTab] | None = None,
):
_top_tabs = top_tabs or []
_bottom_tabs = bottom_tabs or []
Expand Down
12 changes: 6 additions & 6 deletions conreq/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,10 @@ class ViewportSelector:
@dataclass
class Viewport:
component: Callable
selector: ViewportSelector = ViewportSelector.auto
selector: str = ViewportSelector.auto
html_class: str = ""
padding: bool = True
auth: AuthLevel = AuthLevel.user
auth: str = AuthLevel.user
page_title: str | None = None
expires: bool = True
timestamp: datetime = field(default_factory=datetime.now)
Expand All @@ -54,7 +54,7 @@ class NavTab:
name: str
viewport: Viewport | None = None
on_click: Callable | None = None
auth: AuthLevel = AuthLevel.user
auth: str = AuthLevel.user

def __eq__(self, __o: object) -> bool:
return _compare_names(self, __o)
Expand All @@ -67,7 +67,7 @@ class Tab:
html_class: str = ""
padding: bool = True
on_click: Callable | None = None
auth: AuthLevel = AuthLevel.user
auth: str = AuthLevel.user

def __eq__(self, __o: object) -> bool:
return _compare_names(self, __o)
Expand All @@ -76,7 +76,7 @@ def __eq__(self, __o: object) -> bool:
@dataclass(order=True)
class NavGroup:
name: str
icon: Icon = None
icon: Icon | None = None
tabs: SortedSet[NavTab] = field(default_factory=SortedSet)

def __eq__(self, __o: object) -> bool:
Expand All @@ -97,7 +97,7 @@ class HomepageState:
# TODO: Set as immutable and remove all copy() calls
_viewport_intent: Viewport | None = None
"""The viewport that needs to be loaded."""
_viewport_selector: ViewportSelector = ViewportSelector._initial
_viewport_selector: str = ViewportSelector._initial
"""The currently visible viewport."""
_viewport_primary: Viewport | None = None
_viewport_secondary: Viewport | None = None
Expand Down

0 comments on commit f607359

Please sign in to comment.