re add removed method with better behaviour and tests (#3986)
This commit is contained in:
parent
2c4310d9ff
commit
4e4d36a867
@ -63,3 +63,22 @@ def page(
|
|||||||
return render_fn
|
return render_fn
|
||||||
|
|
||||||
return decorator
|
return decorator
|
||||||
|
|
||||||
|
|
||||||
|
def get_decorated_pages(omit_implicit_routes=True) -> list[dict[str, Any]]:
|
||||||
|
"""Get the decorated pages.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
omit_implicit_routes: Whether to omit pages where the route will be implicitely guessed later.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
The decorated pages.
|
||||||
|
"""
|
||||||
|
return sorted(
|
||||||
|
[
|
||||||
|
page_data
|
||||||
|
for _, page_data in DECORATED_PAGES[get_config().app_name]
|
||||||
|
if not omit_implicit_routes or "route" in page_data
|
||||||
|
],
|
||||||
|
key=lambda x: x.get("route", ""),
|
||||||
|
)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
from reflex import text
|
from reflex import text
|
||||||
from reflex.config import get_config
|
from reflex.config import get_config
|
||||||
from reflex.page import DECORATED_PAGES, page
|
from reflex.page import DECORATED_PAGES, get_decorated_pages, page
|
||||||
|
|
||||||
|
|
||||||
def test_page_decorator():
|
def test_page_decorator():
|
||||||
@ -48,3 +48,32 @@ def test_page_decorator_with_kwargs():
|
|||||||
}
|
}
|
||||||
|
|
||||||
DECORATED_PAGES.clear()
|
DECORATED_PAGES.clear()
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_decorated_pages():
|
||||||
|
assert get_decorated_pages() == []
|
||||||
|
|
||||||
|
def foo_():
|
||||||
|
return text("foo")
|
||||||
|
|
||||||
|
page()(foo_)
|
||||||
|
|
||||||
|
assert get_decorated_pages() == []
|
||||||
|
assert get_decorated_pages(omit_implicit_routes=False) == [{}]
|
||||||
|
|
||||||
|
page(route="foo2")(foo_)
|
||||||
|
|
||||||
|
assert get_decorated_pages() == [{"route": "foo2"}]
|
||||||
|
assert get_decorated_pages(omit_implicit_routes=False) == [{}, {"route": "foo2"}]
|
||||||
|
|
||||||
|
page(route="foo3", title="Foo3")(foo_)
|
||||||
|
|
||||||
|
assert get_decorated_pages() == [
|
||||||
|
{"route": "foo2"},
|
||||||
|
{"route": "foo3", "title": "Foo3"},
|
||||||
|
]
|
||||||
|
assert get_decorated_pages(omit_implicit_routes=False) == [
|
||||||
|
{},
|
||||||
|
{"route": "foo2"},
|
||||||
|
{"route": "foo3", "title": "Foo3"},
|
||||||
|
]
|
||||||
|
Loading…
Reference in New Issue
Block a user