Skip to content

Commit 16d7a41

Browse files
imp(layout): add template name property in AbstractLayout
1 parent 70eefde commit 16d7a41

1 file changed

Lines changed: 16 additions & 16 deletions

File tree

trame_client/ui/core.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,8 @@ def css_unit(v):
2121
def iframe_url_builder_default(layout):
2222
base_url = layout.iframe_base_url
2323
server = layout.server
24-
template_name = layout._template_name
25-
src = f"{base_url}:{server.port}/index.html?ui={template_name[16:]}&reconnect=auto"
26-
elem_id = f"{server.name}_{template_name}"
24+
src = f"{base_url}:{server.port}/index.html?ui={layout.template_name}&reconnect=auto"
25+
elem_id = f"{server.name}_{layout._template_name}"
2726

2827
return {
2928
"id": elem_id,
@@ -36,9 +35,8 @@ def iframe_url_builder_default(layout):
3635
def iframe_url_builder_serverproxy(layout):
3736
base_url = layout.iframe_base_url
3837
server = layout.server
39-
template_name = layout._template_name
40-
src = f"{base_url}/{server.port}/index.html?ui={template_name[16:]}&reconnect=auto"
41-
elem_id = f"{server.name}_{template_name}"
38+
src = f"{base_url}/{server.port}/index.html?ui={layout.template_name}&reconnect=auto"
39+
elem_id = f"{server.name}_{layout._template_name}"
4240

4341
return {
4442
"id": elem_id,
@@ -53,11 +51,10 @@ def iframe_url_builder_jupyter_extension(layout):
5351

5452
www_endpoint = os.environ.get("TRAME_JUPYTER_ENDPOINT", "/trame-jupyter-server")
5553
server = layout.server
56-
template_name = layout._template_name
5754
url_base = f"{www_endpoint}/{server.client_type}/index.html"
58-
url_query = f"ui={template_name[16:]}&server={server.name}&wsProxy&reconnect=auto"
55+
url_query = f"ui={layout.template_name}&server={server.name}&wsProxy&reconnect=auto"
5956
src = f"{url_base}?{url_query}"
60-
elem_id = f"{server.name}_{template_name}"
57+
elem_id = f"{server.name}_{layout._template_name}"
6158

6259
# Check if server/kernel are collocated
6360
www_path = os.environ.get("TRAME_JUPYTER_WWW")
@@ -66,7 +63,7 @@ def iframe_url_builder_jupyter_extension(layout):
6663
server_www = Path(www_path) / "servers" / server.name
6764
url_base = f"{www_endpoint}/servers/{server.name}/index.html"
6865
url_query = (
69-
f"ui={template_name[16:]}&server={server.name}&wsProxy&reconnect=auto"
66+
f"ui={layout.template_name}&server={server.name}&wsProxy&reconnect=auto"
7067
)
7168
src = f"{url_base}?{url_query}"
7269
if not server_www.exists():
@@ -86,13 +83,12 @@ def iframe_url_builder_jupyter_extension(layout):
8683

8784
def iframe_url_builder_jupyter_hub(layout):
8885
server = layout.server
89-
template_name = layout._template_name
9086
url_base = (
9187
f"{os.environ['JUPYTERHUB_SERVICE_PREFIX']}proxy/{server.port}/index.html"
9288
)
93-
url_query = f"ui={template_name[16:]}&reconnect=auto"
89+
url_query = f"ui={layout.template_name}&reconnect=auto"
9490
src = f"{url_base}?{url_query}"
95-
elem_id = f"{server.name}_{template_name}"
91+
elem_id = f"{server.name}_{layout._template_name}"
9692

9793
return {
9894
"id": elem_id,
@@ -105,11 +101,10 @@ def iframe_url_builder_jupyter_hub(layout):
105101
def iframe_url_builder_jupyter_hub_host(layout):
106102
host = os.environ.get("HOSTNAME")
107103
server = layout.server
108-
template_name = layout._template_name
109104
url_base = f"{os.environ['JUPYTERHUB_SERVICE_PREFIX']}proxy/{host}:{server.port}/index.html"
110-
url_query = f"ui={template_name[16:]}&reconnect=auto"
105+
url_query = f"ui={layout.template_name}&reconnect=auto"
111106
src = f"{url_base}?{url_query}"
112-
elem_id = f"{server.name}_{template_name}"
107+
elem_id = f"{server.name}_{layout._template_name}"
113108

114109
return {
115110
"id": elem_id,
@@ -176,6 +171,11 @@ def __init__(
176171
self.iframe_base_url = base_url
177172
self._iframe_builder = get_iframe_builder(iframe_builder)
178173

174+
@property
175+
def template_name(self):
176+
"""Layout template name without the 'trame__template_' prefix"""
177+
return self._template_name[16:]
178+
179179
@property
180180
def iframe_builder(self):
181181
"""Instance of iframe builder responsible for generating the iframe tag for mainly for Jupyter"""

0 commit comments

Comments
 (0)