LPX55 commited on
Commit
ce7438d
·
1 Parent(s): 2680f30

Refactor tab close functionality to return visibility state directly for Extra Space, SAM2.1 Masking Tool, and Custom IFrame Loader

Browse files
Files changed (1) hide show
  1. app.py +10 -40
app.py CHANGED
@@ -154,14 +154,8 @@ print(client.predict("Alex", 5, False, api_name="/greet"))
154
  gr.HTML('<iframe src="https://huggingface.co/spaces/gradio/calculator" width="100%" height="600" style="border:none;"></iframe>')
155
  close_btn = gr.Button("Close Tab")
156
  def close_tab():
157
- return False
158
- close_btn.click(fn=close_tab, outputs=extra_space_open)
159
- else:
160
- gr.Markdown("Tab closed. Click below to reopen.")
161
- reopen_btn = gr.Button("Reopen Tab")
162
- def reopen_tab():
163
- return True
164
- reopen_btn.click(fn=reopen_tab, outputs=extra_space_open)
165
 
166
  with gr.Tab("SAM2.1 Masking Tool (gr.load)", visible=False) as sam_tab:
167
  @gr.render(inputs=sam_tab_open)
@@ -171,14 +165,8 @@ print(client.predict("Alex", 5, False, api_name="/greet"))
171
  sam_interface = gr.load("LPX55/SAM2_1-Image-Predictor-Masking-Tool-CPU", src="spaces")
172
  close_btn = gr.Button("Close Tab")
173
  def close_tab():
174
- return False
175
- close_btn.click(fn=close_tab, outputs=sam_tab_open)
176
- else:
177
- gr.Markdown("Tab closed. Click below to reopen.")
178
- reopen_btn = gr.Button("Reopen Tab")
179
- def reopen_tab():
180
- return True
181
- reopen_btn.click(fn=reopen_tab, outputs=sam_tab_open)
182
 
183
  with gr.Tab("SAM2.1 Masking Tool (iframe)", visible=False) as sam_iframe_tab:
184
  @gr.render(inputs=sam_iframe_tab_open)
@@ -188,14 +176,8 @@ print(client.predict("Alex", 5, False, api_name="/greet"))
188
  gr.HTML('<iframe src="https://lpx55-sam2-1-image-predictor-masking-tool-cpu.hf.space" width="100%" height="800" style="border:none;"></iframe>')
189
  close_btn = gr.Button("Close Tab")
190
  def close_tab():
191
- return False
192
- close_btn.click(fn=close_tab, outputs=sam_iframe_tab_open)
193
- else:
194
- gr.Markdown("Tab closed. Click below to reopen.")
195
- reopen_btn = gr.Button("Reopen Tab")
196
- def reopen_tab():
197
- return True
198
- reopen_btn.click(fn=reopen_tab, outputs=sam_iframe_tab_open)
199
 
200
  with gr.Tab("SAM2.1 Masking Tool (API Proxy)", visible=False) as sam_api_tab:
201
  @gr.render(inputs=sam_api_tab_open)
@@ -229,14 +211,8 @@ print(client.predict("Alex", 5, False, api_name="/greet"))
229
  api_btn.click(fn=call_sam_api, inputs=api_image, outputs=api_output)
230
  close_btn = gr.Button("Close Tab")
231
  def close_tab():
232
- return False
233
- close_btn.click(fn=close_tab, outputs=sam_api_tab_open)
234
- else:
235
- gr.Markdown("Tab closed. Click below to reopen.")
236
- reopen_btn = gr.Button("Reopen Tab")
237
- def reopen_tab():
238
- return True
239
- reopen_btn.click(fn=reopen_tab, outputs=sam_api_tab_open)
240
 
241
  with gr.Tab("Custom IFrame Loader") as custom_iframe_tab:
242
  @gr.render(inputs=custom_iframe_tab_open)
@@ -253,14 +229,8 @@ print(client.predict("Alex", 5, False, api_name="/greet"))
253
  load_custom_iframe_btn.click(fn=load_custom_iframe, inputs=custom_url, outputs=custom_iframe)
254
  close_btn = gr.Button("Close Tab")
255
  def close_tab():
256
- return False
257
- close_btn.click(fn=close_tab, outputs=custom_iframe_tab_open)
258
- else:
259
- gr.Markdown("Tab closed. Click below to reopen.")
260
- reopen_btn = gr.Button("Reopen Tab")
261
- def reopen_tab():
262
- return True
263
- reopen_btn.click(fn=reopen_tab, outputs=custom_iframe_tab_open)
264
 
265
  def show_tab():
266
  return gr.Tab(visible=True)
 
154
  gr.HTML('<iframe src="https://huggingface.co/spaces/gradio/calculator" width="100%" height="600" style="border:none;"></iframe>')
155
  close_btn = gr.Button("Close Tab")
156
  def close_tab():
157
+ return gr.Tab(visible=False), False
158
+ close_btn.click(fn=close_tab, outputs=[extra_space_tab, extra_space_open])
 
 
 
 
 
 
159
 
160
  with gr.Tab("SAM2.1 Masking Tool (gr.load)", visible=False) as sam_tab:
161
  @gr.render(inputs=sam_tab_open)
 
165
  sam_interface = gr.load("LPX55/SAM2_1-Image-Predictor-Masking-Tool-CPU", src="spaces")
166
  close_btn = gr.Button("Close Tab")
167
  def close_tab():
168
+ return gr.Tab(visible=False), False
169
+ close_btn.click(fn=close_tab, outputs=[sam_tab, sam_tab_open])
 
 
 
 
 
 
170
 
171
  with gr.Tab("SAM2.1 Masking Tool (iframe)", visible=False) as sam_iframe_tab:
172
  @gr.render(inputs=sam_iframe_tab_open)
 
176
  gr.HTML('<iframe src="https://lpx55-sam2-1-image-predictor-masking-tool-cpu.hf.space" width="100%" height="800" style="border:none;"></iframe>')
177
  close_btn = gr.Button("Close Tab")
178
  def close_tab():
179
+ return gr.Tab(visible=False), False
180
+ close_btn.click(fn=close_tab, outputs=[sam_iframe_tab, sam_iframe_tab_open])
 
 
 
 
 
 
181
 
182
  with gr.Tab("SAM2.1 Masking Tool (API Proxy)", visible=False) as sam_api_tab:
183
  @gr.render(inputs=sam_api_tab_open)
 
211
  api_btn.click(fn=call_sam_api, inputs=api_image, outputs=api_output)
212
  close_btn = gr.Button("Close Tab")
213
  def close_tab():
214
+ return gr.Tab(visible=False), False
215
+ close_btn.click(fn=close_tab, outputs=[sam_api_tab, sam_api_tab_open])
 
 
 
 
 
 
216
 
217
  with gr.Tab("Custom IFrame Loader") as custom_iframe_tab:
218
  @gr.render(inputs=custom_iframe_tab_open)
 
229
  load_custom_iframe_btn.click(fn=load_custom_iframe, inputs=custom_url, outputs=custom_iframe)
230
  close_btn = gr.Button("Close Tab")
231
  def close_tab():
232
+ return gr.Tab(visible=False), False
233
+ close_btn.click(fn=close_tab, outputs=[custom_iframe_tab, custom_iframe_tab_open])
 
 
 
 
 
 
234
 
235
  def show_tab():
236
  return gr.Tab(visible=True)