I guess it’s worth remembering you can do this all in python now
from anvil.js import window
class MyForm(MyFormTemplate):
...
def handle_unload(self, e):
if ...: # delete_proposal condition
e.returnValue = ""
e.preventDefault()
# rest of the logic for delete_proposal
# hook up form_show and form_hide events
def form_show(self, **event_args):
window.onbeforeunload = self.handle_unload
def form_hide(self, **event_args):
window.onbeforeunload = None