initialize method

dynamic initialize()

Implementation

initialize()
{
  // initialize event handlers
  if (!initialized)
  {
    functions[S.fromEnum(EventTypes.alert)]         = _handleEventAlert;
    functions[S.fromEnum(EventTypes.animate)]       = _handleEventAnimate;
    functions[S.fromEnum(EventTypes.back)]          = _handleEventBack;
    functions[S.fromEnum(EventTypes.build)]         = _handleEventBuild;
    functions[S.fromEnum(EventTypes.close)]         = _handleEventClose;
    functions[S.fromEnum(EventTypes.cont)]          = _handleEventContinue;
    functions['continue']                           = _handleEventContinue;
    functions[S.fromEnum(EventTypes.copy)]          = _handleEventCopy;
    functions[S.fromEnum(EventTypes.execute)]       = _handleEventExecute;
    functions[S.fromEnum(EventTypes.export)]        = _handleEventExport;
    functions[S.fromEnum(EventTypes.focusnode)]     = _handleEventFocusNode;
    functions[S.fromEnum(EventTypes.keypress)]      = _handleEventKeyPress;
    functions[S.fromEnum(EventTypes.signInWithJwt)] = _handleEventSignInWithJwt;
    functions[S.fromEnum(EventTypes.logoff)]        = _handleEventLogoff;
    functions[S.fromEnum(EventTypes.signInWithFirebase)] = _handleEventSignInWithFirebase;
    functions[S.fromEnum(EventTypes.open)]          = _handleEventOpen;
    functions[S.fromEnum(EventTypes.openjstemplate)]= _handleEventOpenJsTemplate;
    // replace (legacy) overlaps with Eval() function replace. use replaceRoute()
    functions[S.fromEnum(EventTypes.replace)]       = _handleEventReplace;
    functions[S.fromEnum(EventTypes.replaceroute)]  = _handleEventReplace;
    functions[S.fromEnum(EventTypes.refresh)]       = _handleEventRefresh;
    functions[S.fromEnum(EventTypes.reset)]         = _handleEventReset;
    functions[S.fromEnum(EventTypes.saveas)]        = _handleEventSaveAs;
    functions[S.fromEnum(EventTypes.scroll)]        = _handleEventScroll;
    functions[S.fromEnum(EventTypes.scrollto)]      = _handleEventScrollTo;
    functions[S.fromEnum(EventTypes.set)]           = _handleEventSet;
    functions[S.fromEnum(EventTypes.showdebug)]     = _handleEventShowDebug;
    functions[S.fromEnum(EventTypes.showlog)]       = _handleEventShowLog;
    functions[S.fromEnum(EventTypes.showtemplate)]  = _handleEventShowTemplate;
    functions[S.fromEnum(EventTypes.sound)]         = _handleEventSound;
    functions[S.fromEnum(EventTypes.stash)]         = _handleEventStash;
    functions[S.fromEnum(EventTypes.theme)]         = _handleEventTheme;
    functions[S.fromEnum(EventTypes.toast)]         = _handleEventToast;
    functions[S.fromEnum(EventTypes.trigger)]       = _handleEventTrigger;
    functions[S.fromEnum(EventTypes.wait)]          = _handleEventWait;

    // broadcast events
    for (var type in EventTypes.values) {
      String? t = S.fromEnum(type);
      if (!functions.containsKey(t)) functions[t] = () => _broadcast(type);
    }

    initialized = true;
  }
}