public OriComponent(IOriWebSession incomingSession) { this._currentSession = incomingSession; // it would be really nice to be able to use html syntax here instead of RenderTreeBuilder, like JSX, as apposed to JS this.Fragment = builder => { builder.OpenElement(0, "svg"); builder.AddAttribute(1, "viewbox", "-100 -100 200 200"); builder.AddAttribute(2, "height", "200px"); builder.AddAttribute(3, "width", "200px"); builder.OpenElement(1, "text"); //builder.AddAttribute(3, "fill", this.Properties.Font.Properties.Color.GetDefault()); //builder.AddAttribute(4, "font-family", this.Properties.Font.Properties.Family.GetDefault()); builder.AddAttribute(5, "x", "100"); builder.AddAttribute(6, "y", "100"); builder.AddAttribute(7, "text-anchor", "middle"); builder.AddAttribute(8, "text-length", "0"); builder.AddAttribute(9, "transform", "translate(0,0)"); builder.AddElementReferenceCapture ( 2, textObj => { // store a reference to this tag and wait for it to be mounted this.MyElement = textObj; // push the reference to js } ); builder.AddContent(10, "LabelTest"); builder.CloseElement(); builder.CloseElement(); }; this._currentSession.PushOriComponent(this); }
public JSSessionInstance (IOriWebSession myWebSession) { this.MyWebSession = myWebSession; }