public override ITemplateFileConfig GetTemplateFileConfig() { return(new TemplateFileConfig( fileName: $"{ComponentName.ToKebabCase()}.component", fileExtension: "html", relativeLocation: $"{string.Join("/", Model.GetParentFolderNames())}/{(Model.GetAngularComponentSettings().InOwnFolder() ? $"/{ComponentName.ToKebabCase()}" : "")}")); }
public override ITemplateFileConfig GetTemplateFileConfig() { var moduleTemplate = ExecutionContext.FindTemplateInstance <Module.AngularModuleTemplate.AngularModuleTemplate>(Module.AngularModuleTemplate.AngularModuleTemplate.TemplateId, Model.Module); return(new TemplateFileConfig( fileName: $"{ComponentName.ToKebabCase()}.component", fileExtension: "scss", relativeLocation: $"{string.Join("/", Model.GetParentFolderNames())}/{(Model.GetAngularComponentSettings().InOwnFolder() ? $"/{ComponentName.ToKebabCase()}" : "")}" )); }
/// <summary> /// Create the template output /// </summary> public override string TransformText() { this.Write("import { Component, OnInit } from \'@angular/core\';"); #line 11 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(GetImports())); #line default #line hidden this.Write("\r\n\r\n@Component({\r\n selector: \'"); #line 14 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(GetSelector())); #line default #line hidden this.Write("\',\r\n templateUrl: \'./"); #line 15 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(ComponentName.ToKebabCase())); #line default #line hidden this.Write(".component.html\',\r\n styleUrls: [\'./"); #line 16 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(ComponentName.ToKebabCase())); #line default #line hidden this.Write(".component.scss\']\r\n})\r\nexport class "); #line 18 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(ClassName)); #line default #line hidden this.Write(" implements OnInit {\r\n"); #line 19 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" foreach (var model in Model.Inputs) { #line default #line hidden this.Write(" "); #line 20 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(model.Name)); #line default #line hidden this.Write(": "); #line 20 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(GetTypeName(model.TypeReference))); #line default #line hidden this.Write(";\r\n"); #line 21 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" } #line default #line hidden #line 22 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" foreach (var model in Model.Outputs) { #line default #line hidden this.Write(" @"); #line 23 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.UseType("Output", "@angular/core"))); #line default #line hidden this.Write("() "); #line 23 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(model.Name)); #line default #line hidden this.Write(" = new "); #line 23 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.UseType("EventEmitter", "@angular/core"))); #line default #line hidden this.Write("<"); #line 23 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(GetTypeName(model.TypeReference))); #line default #line hidden this.Write(">();\r\n"); #line 24 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" } #line default #line hidden #line 25 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" foreach (var model in Model.Models) { #line default #line hidden this.Write(" "); #line 26 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(model.Name)); #line default #line hidden this.Write(": "); #line 26 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(GetTypeName(model.TypeReference))); #line default #line hidden this.Write(";\r\n"); #line 27 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" } #line default #line hidden this.Write("\r\n //@IntentCanAdd()\r\n constructor("); #line 30 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(GetConstructorParams())); #line default #line hidden this.Write(") { }\r\n\r\n "); #line 32 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.IntentIgnoreDecorator())); #line default #line hidden this.Write("\r\n ngOnInit() {"); #line 33 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(GetDecoratorsOutput(x => x.OnInit()))); #line default #line hidden this.Write("\r\n }\r\n"); #line 35 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" foreach (var command in Model.Commands) { #line default #line hidden this.Write("\r\n "); #line 37 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.IntentIgnoreBodyDecorator())); #line default #line hidden this.Write("\r\n "); #line 38 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(command.Name.ToCamelCase())); #line default #line hidden this.Write("("); #line 38 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(GetParameters(command))); #line default #line hidden this.Write("): "); #line 38 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(GetReturnType(command))); #line default #line hidden this.Write(" {\r\n // write your business logic here for this command\r\n }\r\n"); #line 41 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" } #line default #line hidden #line 42 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" foreach (var navigation in Model.NavigateToComponents().Where(x => x.IsNavigable)) { #line default #line hidden #line 43 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(GetNavigationCommand(navigation))); #line default #line hidden this.Write("\r\n"); #line 44 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" } #line default #line hidden #line 45 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" foreach (var navigation in Model.NavigateBackComponents().Where(x => x.IsNavigable)) { #line default #line hidden #line 46 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(GetNavigationCommand(navigation))); #line default #line hidden this.Write("\r\n"); #line 47 "C:\Dev\Intent.Modules.Web\Intent.Modules.Angular\Templates\Component\AngularComponentTsTemplate\AngularComponentTsTemplate.tt" } #line default #line hidden this.Write("}\r\n"); return(this.GenerationEnvironment.ToString()); }