示例#1
0
 public override void Accept(RazorSemanticVisitor visitor)
 {
 }
示例#2
0
        public static void GeneratePage(IBase baseObject, string pagesFolderPath, string pageName, IGeneratorConfiguration generatorConfiguration, IModuleAssembly module, IEnumerable <ModuleImportDeclaration> imports, View view, RazorSemanticVisitor visitor)
        {
            var host = new TemplateEngineHost();
            var pass = generatorConfiguration.CurrentPass;
            var moduleAssemblyProperties = new AngularModuleAssemblyProperties(baseObject, imports);
            Dictionary <string, object> sessionVariables;
            FileInfo fileInfo;
            string   fileLocation;
            string   filePath;
            string   output;

            try
            {
                // repeater page

                sessionVariables = new Dictionary <string, object>();

                sessionVariables.Add("RazorSemanticVisitor", visitor);
                sessionVariables.Add("View", view);

                fileLocation = PathCombine(pagesFolderPath, pageName.ToLower());
                filePath     = PathCombine(fileLocation, pageName.ToLower() + ".html");
                fileInfo     = new FileInfo(filePath);

                output = host.Generate <RepeaterPageTemplate>(sessionVariables, false);

                generatorConfiguration.CreateFile(fileInfo, output, FileKind.Project, () => generatorConfiguration.GenerateInfo(sessionVariables, "Repeater Page"));

                // repeater class

                sessionVariables = new Dictionary <string, object>();

                sessionVariables.Add("RazorSemanticVisitor", visitor);
                sessionVariables.Add("PageName", pageName);
                sessionVariables.Add("Authorize", generatorConfiguration.AuthorizedRoles);
                sessionVariables.AddModuleAssemblyProperties(moduleAssemblyProperties);

                fileLocation = PathCombine(pagesFolderPath, pageName.ToLower());
                filePath     = PathCombine(fileLocation, pageName.ToLower() + ".ts");
                fileInfo     = new FileInfo(filePath);

                output = host.Generate <RepeaterClassTemplate>(sessionVariables, false);

                module.ExportedComponents = sessionVariables.GetExportedComponents();
                module.ForChildFile       = generatorConfiguration.CreateFile(moduleAssemblyProperties, fileInfo, output, FileKind.Project, () => generatorConfiguration.GenerateInfo(sessionVariables, "Repeater Page Class"));

                // sass

                sessionVariables = new Dictionary <string, object>();

                sessionVariables.Add("PageName", pageName);

                fileLocation = PathCombine(pagesFolderPath, pageName.ToLower());
                filePath     = PathCombine(fileLocation, pageName.ToLower() + ".scss");
                fileInfo     = new FileInfo(filePath);

                output = host.Generate <SassStyleSheetTemplate>(sessionVariables, false);

                generatorConfiguration.CreateFile(fileInfo, output, FileKind.Project, () => generatorConfiguration.GenerateInfo(sessionVariables, "page \r\n{\r\n}"));
            }
            catch (Exception e)
            {
                generatorConfiguration.AppGeneratorEngine.WriteError(e.ToString());
            }
        }
示例#3
0
 public abstract void Accept(RazorSemanticVisitor visitor);
示例#4
0
 public override void Accept(RazorSemanticVisitor visitor)
 {
     visitor.VisitRoot(this);
 }