public override object CreateJSGenerator(JSCodeGeneratorInfo generatorInfo, IEngineContext context, IController controller, IControllerContext controllerContext) { return(new BrailJSGenerator(generatorInfo.CodeGenerator, generatorInfo.LibraryGenerator, generatorInfo.Extensions, generatorInfo.ElementExtensions)); }
public override void GenerateJS(string templateName, TextWriter output, JSCodeGeneratorInfo generatorInfo, IEngineContext context, IController controller, IControllerContext controllerContext) { Log("Generating JS for {0}", templateName); try { var generator = CreateJSGenerator(generatorInfo, context, controller, controllerContext); AdjustJavascriptContentType(context); var file = ResolveJSTemplateName(templateName); var view = GetCompiledScriptInstance(file, //we use the script just to build the generator, not to output to the user new StringWriter(), context, controller, controllerContext); Log("Executing JS view {0}", templateName); view.AddProperty("page", generator); view.Run(); output.WriteLine(generator); Log("Finished executing JS view {0}", templateName); } catch (Exception ex) { if (Logger != null && Logger.IsErrorEnabled) { Logger.Error("Could not generate JS", ex); } throw new MonoRailException("Error generating JS. Template: " + templateName, ex); } }
protected string ProcessViewJS(string templatePath) { var sw = new StringWriter(); ControllerContext.LayoutNames = Layouts; EngineContext.CurrentControllerContext = ControllerContext; var engineManager = new DefaultViewEngineManager(); engineManager.RegisterEngineForView(VelocityViewEngine); engineManager.RegisterEngineForExtesionLookup((VelocityViewEngine)); var codeGenerator = new JSCodeGenerator(EngineContext.Server, engineManager, EngineContext, null, ControllerContext, EngineContext.Services.UrlBuilder); IJSGenerator jsGen = new PrototypeGenerator(codeGenerator); codeGenerator.JSGenerator = jsGen; var info = new JSCodeGeneratorInfo(codeGenerator, jsGen, new object[] { new ScriptaculousExtension(codeGenerator) }, new object[] { new ScriptaculousExtension(codeGenerator) }); VelocityViewEngine.GenerateJS(templatePath, sw, info, EngineContext, null, ControllerContext); lastOutput = sw.ToString(); return(lastOutput); }
public override void GenerateJS(String templateName, TextWriter output, JSCodeGeneratorInfo generatorInfo, IEngineContext context, IController controller, IControllerContext controllerContext) { var ctx = CreateContext(context, controller, controllerContext); var generator = CreateJSGenerator(generatorInfo, context, controller, controllerContext); ctx.Put("page", generator); AdjustJavascriptContentType(context); var view = ResolveJSTemplateName(templateName); try { var template = velocity.GetTemplate(view); var writer = new StringWriter(); template.Merge(ctx, writer); output.WriteLine(generator); } catch (Exception ex) { if (Logger.IsErrorEnabled) { Logger.Error("Could not generate JS", ex); } throw new MonoRailException("Error generating JS. Template " + templateName, ex); } }
public override void GenerateJS(string templateName, TextWriter output, JSCodeGeneratorInfo generatorInfo, IEngineContext context, IController controller, IControllerContext controllerContext) { Log("Generating JS for {0}", templateName); try { object generator = CreateJSGenerator(generatorInfo, context, controller, controllerContext); AdjustJavascriptContentType(context); string file = ResolveJSTemplateName(templateName); BrailBase view = GetCompiledScriptInstance(file, //we use the script just to build the generator, not to output to the user new StringWriter(), context, controller, controllerContext); Log("Executing JS view {0}", templateName); view.AddProperty("page", generator); view.Run(); output.WriteLine(generator); Log("Finished executing JS view {0}", templateName); } catch (Exception ex) { if (Logger != null && Logger.IsErrorEnabled) { Logger.Error("Could not generate JS", ex); } throw new MonoRailException("Error generating JS. Template: " + templateName, ex); } }
public override object CreateJSGenerator(JSCodeGeneratorInfo generatorInfo, IEngineContext context, IController controller, IControllerContext controllerContext) { return new BrailJSGenerator(generatorInfo.CodeGenerator, generatorInfo.LibraryGenerator, generatorInfo.Extensions, generatorInfo.ElementExtensions); }
public override void GenerateJS(string templateName, TextWriter output, JSCodeGeneratorInfo generatorInfo, IEngineContext context, IController controller, IControllerContext controllerContext) { throw new NotImplementedException(); }
public override object CreateJSGenerator(JSCodeGeneratorInfo generatorInfo, IEngineContext context, IController controller, IControllerContext controllerContext) { throw new NotImplementedException(); }
public override object CreateJSGenerator(JSCodeGeneratorInfo generatorInfo, IEngineContext context, IController controller, IControllerContext controllerContext) { return(null); }
protected string ProcessViewJS(string templatePath) { StringWriter sw = new StringWriter(); ControllerContext.LayoutNames = Layouts; StubEngineContext.CurrentControllerContext = ControllerContext; DefaultViewEngineManager engineManager = new DefaultViewEngineManager(); engineManager.RegisterEngineForView(BooViewEngine); engineManager.RegisterEngineForExtesionLookup((BooViewEngine)); JSCodeGenerator codeGenerator = new JSCodeGenerator(StubEngineContext.Server, engineManager, StubEngineContext, null, ControllerContext, StubEngineContext.Services.UrlBuilder); IJSGenerator jsGen = new PrototypeGenerator(codeGenerator); codeGenerator.JSGenerator = jsGen; JSCodeGeneratorInfo info = new JSCodeGeneratorInfo(codeGenerator, jsGen, new object[] { new ScriptaculousExtension(codeGenerator) }, new object[] { new ScriptaculousExtension(codeGenerator) }); BooViewEngine.GenerateJS(templatePath, sw, info, StubEngineContext, null, ControllerContext); lastOutput = sw.ToString(); return lastOutput; }
public override void GenerateJS(String templateName, TextWriter output, JSCodeGeneratorInfo generatorInfo, IEngineContext context, IController controller, IControllerContext controllerContext) { var ctx = CreateContext(context, controller, controllerContext); var generator = CreateJSGenerator(generatorInfo, context, controller, controllerContext); ctx.Put("page", generator); AdjustJavascriptContentType(context); var view = ResolveJSTemplateName(templateName); try { var template = velocity.GetTemplate(view); var writer = new StringWriter(); template.Merge(ctx, writer); output.WriteLine(generator); } catch(Exception ex) { if (Logger.IsErrorEnabled) { Logger.Error("Could not generate JS", ex); } throw new MonoRailException("Error generating JS. Template " + templateName, ex); } }
public override void GenerateJS(string templateName, TextWriter output, JSCodeGeneratorInfo generatorInfo, IEngineContext context, IController controller, IControllerContext controllerContext) { }
/// <summary> /// Returns a prototype generator. /// </summary> /// <param name="generatorInfo"></param> /// <param name="context"></param> /// <param name="controller"></param> /// <param name="controllerContext"></param> /// <returns></returns> public override object CreateJSGenerator(JSCodeGeneratorInfo generatorInfo, IEngineContext context, IController controller, IControllerContext controllerContext) { return new PrototypeGenerator(generatorInfo.CodeGenerator); }
/// <summary> /// Implementors should return a generator instance if /// the view engine supports JS generation. /// </summary> /// <returns>A JS generator instance</returns> public override object CreateJSGenerator(JSCodeGeneratorInfo generatorInfo, IEngineContext context, IController controller, IControllerContext controllerContext) { throw new NotImplementedException(); }
/// <summary> /// Returns a prototype generator. /// </summary> /// <param name="generatorInfo"></param> /// <param name="context"></param> /// <param name="controller"></param> /// <param name="controllerContext"></param> /// <returns></returns> public override object CreateJSGenerator(JSCodeGeneratorInfo generatorInfo, IEngineContext context, IController controller, IControllerContext controllerContext) { return(new PrototypeGenerator(generatorInfo.CodeGenerator)); }