Exemplo n.º 1
0
 private _handleRendererMessage(data: ReceivedMessage) {
   var args = data.args;
   switch (data.method) {
     case "createRootHostView":
     case "createView":
       this._createViewHelper(args, data.method);
       break;
     case "destroyView":
       var viewRef = this._serializer.deserialize(args[0], RenderViewRef);
       this._renderer.destroyView(viewRef);
       break;
     case "attachFragmentAfterFragment":
       var previousFragment = this._serializer.deserialize(args[0], RenderFragmentRef);
       var fragment = this._serializer.deserialize(args[1], RenderFragmentRef);
       this._renderer.attachFragmentAfterFragment(previousFragment, fragment);
       break;
     case "attachFragmentAfterElement":
       var element = this._serializer.deserialize(args[0], WebWorkerElementRef);
       var fragment = this._serializer.deserialize(args[1], RenderFragmentRef);
       this._renderer.attachFragmentAfterElement(element, fragment);
       break;
     case "detachFragment":
       var fragment = this._serializer.deserialize(args[0], RenderFragmentRef);
       this._renderer.detachFragment(fragment);
       break;
     case "hydrateView":
       var viewRef = this._serializer.deserialize(args[0], RenderViewRef);
       this._renderer.hydrateView(viewRef);
       break;
     case "dehydrateView":
       var viewRef = this._serializer.deserialize(args[0], RenderViewRef);
       this._renderer.dehydrateView(viewRef);
       break;
     case "setText":
       var viewRef = this._serializer.deserialize(args[0], RenderViewRef);
       var textNodeIndex = args[1];
       var text = args[2];
       this._renderer.setText(viewRef, textNodeIndex, text);
       break;
     case "setElementProperty":
       var elementRef = this._serializer.deserialize(args[0], WebWorkerElementRef);
       var propName = args[1];
       var propValue = args[2];
       this._renderer.setElementProperty(elementRef, propName, propValue);
       break;
     case "setElementAttribute":
       var elementRef = this._serializer.deserialize(args[0], WebWorkerElementRef);
       var attributeName = args[1];
       var attributeValue = args[2];
       this._renderer.setElementAttribute(elementRef, attributeName, attributeValue);
       break;
     case "setElementClass":
       var elementRef = this._serializer.deserialize(args[0], WebWorkerElementRef);
       var className = args[1];
       var isAdd = args[2];
       this._renderer.setElementClass(elementRef, className, isAdd);
       break;
     case "setElementStyle":
       var elementRef = this._serializer.deserialize(args[0], WebWorkerElementRef);
       var styleName = args[1];
       var styleValue = args[2];
       this._renderer.setElementStyle(elementRef, styleName, styleValue);
       break;
     case "invokeElementMethod":
       var elementRef = this._serializer.deserialize(args[0], WebWorkerElementRef);
       var methodName = args[1];
       var methodArgs = args[2];
       this._renderer.invokeElementMethod(elementRef, methodName, methodArgs);
       break;
     case "setEventDispatcher":
       var viewRef = this._serializer.deserialize(args[0], RenderViewRef);
       var dispatcher = new EventDispatcher(viewRef, this._bus.sink, this._serializer);
       this._renderer.setEventDispatcher(viewRef, dispatcher);
       break;
     default:
       throw new BaseException("Not Implemented");
   }
 }