dispose method

  1. @override
void dispose()
override

disposes of the model releasing resources and removing bindings

Implementation

@override
// framework level dispose can happen asynchronously
void dispose() async {
  if (disposed) {
    Log().debug(
        'Framework model has already been disposed => <FML name="$templateName" url="$url"/>');
  }
  Log().debug(
      'Dispose called on framework model => <FML name="$templateName" url="$url"/>');

  disposed = true;

  // dispose header model
  header?.dispose();

  // dispose footer model
  footer?.dispose();

  // dispose drawer model
  drawer?.dispose();

  // clear event listeners
  manager.listeners.clear();

  // cleanup children
  super.dispose();
}