public virtual void GenerateComponent(string module, PageRenderDTO viewPath, PageJsonData data) { PageDTO p = _unit.PageRepository.FindSingleForRendering(d => d.Id == viewPath.Id); string scriptPath = _fileNameService.GetComponentFilePath(p.TenantCode, p.Page.ViewPath) + ".ts"; using (Out.Set(ConsoleColor.DarkRed)) { Out.Write(" Ts: "); } if (File.Exists(scriptPath) && !_opts.ReplaceComponentScripts) { WriteColored("Exists", ConsoleColor.Cyan); Out.WriteLine(); return; } string scriptTemplate = ""; if (p.ParentHasResource) { scriptTemplate = _molds.ComponentMold; } else { scriptTemplate = _molds.BasicComponent; } if (p.BaseViewPath == null) { WriteException(new Exception("Please process template first!!"), false); WriteFailed(); return; } string script = _writer.FillStringParameters(scriptTemplate, new ComponentTsModel { BaseClassLocation = _fileNameService.GetBaseComponentFilePath(p.BaseViewPath, true), BaseClass = p.BaseViewPath.GetAfterLast("/") + "Base", ComponentName = p.Page.Name, TemplateName = _fileNameService.ApplyConvension(p.Page.Name, AppParts.Component), Domain = p.DomainName, Resource = p.ResourceName, Selector = _fileNameService.GetComponentSelector(p.Page.Name), ViewParams = data.ViewParams.ToJson(new Newtonsoft.Json.JsonSerializerSettings { StringEscapeHandling = Newtonsoft.Json.StringEscapeHandling.EscapeHtml }), Sources = data.Sources.ToJsonIndent(), CollectionId = p.CollectionId == null ? "null" : "'" + p.CollectionId + "'" }); Utils.CreateFolderForFile(scriptPath); File.WriteAllText(scriptPath, script); WriteSuccess(); }
public virtual PageJsonData GenerateComponentTemplate(string moduleName, PageRenderDTO dto) { if (RenderPage(dto.Id, out RenderedPageResult res)) { return(res); } return(null); }
public virtual void RenderPage(string moduleName, PageRenderDTO dto) { _output.Write("Writing Component \"" + dto.ViewPath + "\" : "); _output.GotoColumn(9); var data = _html.GenerateComponentTemplate(moduleName, dto); _ts.GenerateComponent(moduleName, dto, data); _output.WriteLine(); }
public IActionResult RenderPage(long id) { var dto = new PageRenderDTO { Id = id }; molds.RenderPage(null, dto); sc.GenerateModuleDefinitionByPage(dto); SubmitResult = new Data.Helpers.SubmitResult(0, "success_message"); return(Respond()); }
public virtual void GenerateModuleDefinitionByPage(PageRenderDTO dto) { var data = _unit.PageRepository.FindSingleAs( d => new { d.Domain.Chain, HasNav = d.NavigationPages.Any(), d.Tenant.Code }, d => d.Id == dto.Id ); var dom = _unit.DomainRepository.GetSingleValue(d => d.Id, d => data.Chain.Contains("|" + d.Id + "|") && d.ParentId == null); GenerateDomainModuleById(data.Code, dom); if (data.HasNav) { GenerateRoutes(data.Code); } }