from message.message import Message, ClickMessage, msg from browser import window class Reset(ClickMessage): def update_model(self, model): pass class NoReset(Reset): def reset(self): return False # a "hack" message for reseting modals # # everytime a modal closes, run 100ms later model.modal = [] # this is done to achieve nice close animation # after setting model.modal, do view update to actually update the DOM class _ModalResetDelayed(Message): def update_model(self, model): model.modal_reset() class ModalNotOkClose(Reset): def update_model(self, model): # msg just creates a callback, need to actually run it! window.setTimeout(lambda: msg(_ModalResetDelayed)(None), 100)