public override bool Process(IBase baseObject, Facet facet, IGeneratorConfiguration generatorConfiguration) { var uiAttribute = (UIAttribute)facet.Attribute; var name = baseObject.GetNavigationName(UIKind.BlankPage); var parentObject = (IParentBase)baseObject; var pagesPath = generatorConfiguration.ApplicationFolderHierarchy[IonicFileSystemType.Pages]; var pagesFolder = (Folder)generatorConfiguration.FileSystem[pagesPath]; var loadKind = uiAttribute.UILoadKind; IModuleAssembly module; IEnumerable <ModuleImportDeclaration> imports; if (uiAttribute.UILoadKind == UILoadKind.RootPage) { this.Raise <ApplicationFacetHandler>(); } imports = generatorConfiguration.CreateImports(this, baseObject, pagesFolder, false, 1); module = generatorConfiguration.PushModuleAssembly <AngularModule>(name); module.UILoadKind = uiAttribute.UILoadKind; BlankPageGenerator.GeneratePage(baseObject, pagesPath, name, generatorConfiguration, module, imports, loadKind); return(true); }
public override bool Process(IBase baseObject, Facet facet, IGeneratorConfiguration generatorConfiguration) { var uiAttribute = (UIAttribute)facet.Attribute; var name = baseObject.GetNavigationName(); var parentObject = (IParentBase)baseObject; var pagesPath = generatorConfiguration.ApplicationFolderHierarchy[IonicFileSystemType.Pages]; var pagesFolder = (Folder)generatorConfiguration.FileSystem[pagesPath]; var imports = generatorConfiguration.CreateImports(this, baseObject, pagesFolder, false, 1); var slidingTabs = new List <SlidingTab>(); var featureKind = uiAttribute.GetFeatureKind(); var isComponent = featureKind.IsComponent(); IModuleAssembly module; foreach (var childObject in parentObject.GetFollowingChildren(generatorConfiguration.PartsAliasResolver, baseObject.Kind != DefinitionKind.StaticContainer)) { slidingTabs.Add(new SlidingTab(childObject, generatorConfiguration)); } module = generatorConfiguration.PushModuleAssembly <AngularModule>(name); module.UILoadKind = uiAttribute.UILoadKind; module.IsComponent = isComponent; SlidingTabsPageGenerator.GeneratePage(baseObject, pagesPath, name, generatorConfiguration, module, imports, slidingTabs, isComponent); return(true); }
public bool Process(IBase baseObject, Facet facet, IGeneratorConfiguration generatorConfiguration) { var uiAttribute = (UIAttribute)facet.Attribute; var name = baseObject.GetNavigationName(); var parentObject = (IParentBase)baseObject; var pagesPath = generatorConfiguration.ApplicationFolderHierarchy[IonicFileSystemType.Pages]; var pagesFolder = (Folder)generatorConfiguration.FileSystem[pagesPath]; var imports = generatorConfiguration.CreateImports(this, baseObject, pagesFolder); var module = new AngularModule(name + "Module"); var formFields = new List <FormField>(); generatorConfiguration.ModuleAssemblies.Push(module); foreach (var childObject in parentObject.GetFormFields(generatorConfiguration.PartsAliasResolver)) { if (childObject is IAttribute) { formFields.Add(new FormField((IAttribute)childObject, generatorConfiguration)); } else { } } $basename$PageGenerator.GeneratePage(baseObject, pagesPath, name, generatorConfiguration, module, imports, module, formFields); return(true); }
public override bool Process(IBase baseObject, Facet facet, IGeneratorConfiguration generatorConfiguration) { var uiAttribute = (UIAttribute)facet.Attribute; var name = baseObject.GetNavigationName(); var parentObject = (IParentBase)baseObject; var pagesPath = generatorConfiguration.ApplicationFolderHierarchy[IonicFileSystemType.Pages]; var pagesFolder = (Folder)generatorConfiguration.FileSystem[pagesPath]; var imports = generatorConfiguration.CreateImports(this, baseObject, pagesFolder, false, 1); var inputObjects = new List <object>(); // TODO - change, preferably to a typed List, to match your needs IModuleAssembly module; foreach (var childObject in parentObject.GetFollowingChildren(generatorConfiguration.PartsAliasResolver)) { // TODO - add code to capture children elements inputObjects.Add(new object()); } module = generatorConfiguration.PushModuleAssembly <AngularModule>(name); module.UILoadKind = uiAttribute.UILoadKind; $basename$PageGenerator.GeneratePage(baseObject, pagesPath, name, generatorConfiguration, module, imports, module /* , .. TODO - add additional parameters */); return(true); }
public ManagedList(IBase baseObject, IGeneratorConfiguration generatorConfiguration) : base(baseObject, generatorConfiguration) { var title = baseObject.GetDisplayName(); var name = baseObject.GetNavigationName(); this.Title = title; this.Name = name; }
public Response(IBase baseObject, IGeneratorConfiguration generatorConfiguration) : base(baseObject, generatorConfiguration) { var gridColumnAttribute = baseObject.GetFacetAttribute <GridColumnAttribute>(); var displayName = baseObject.GetDisplayName(); var name = baseObject.GetNavigationName(); this.Title = displayName; this.Name = name; this.GridColumnKind = gridColumnAttribute.GridColumnKind; this.IsTextIdentifier = gridColumnAttribute.IsTextIdentifier; this.IsKey = baseObject.HasFacetAttribute <KeyAttribute>(); }
public ServiceMethod(IBase baseObject, string prefix, string serviceName, string parmsSignature, IGeneratorConfiguration generatorConfiguration) : base(baseObject, generatorConfiguration) { var displayName = prefix + baseObject.GetDisplayName(); var name = prefix + baseObject.GetNavigationName(); this.ServiceMethodKind = EnumUtils.GetValue <ServiceMethodKind>(prefix); this.Name = name; this.ServiceName = serviceName; this.ParmsSignature = parmsSignature; switch (this.ServiceMethodKind) { case ServiceMethodKind.List: this.HttpMethod = "GET"; this.ReturnType = "IEnumerable<dynamic>"; break; case ServiceMethodKind.Create: this.HttpMethod = "POST"; this.ReturnType = "void"; break; case ServiceMethodKind.Get: this.HttpMethod = "POST"; this.ReturnType = "dynamic"; break; case ServiceMethodKind.Update: this.HttpMethod = "PUT"; this.ReturnType = "void"; break; case ServiceMethodKind.Delete: this.HttpMethod = "DELETE"; this.ReturnType = "void"; break; } this.MethodFullSignature = $"{ this.ReturnType } { this.ServiceName }.{ this.Name }({ this.ParmsSignature })"; this.MethodSignature = $"public { this.ReturnType } { this.Name }({ this.ParmsSignature })"; this.InterfaceSignature = $"{ this.ReturnType } { this.Name }({ this.ParmsSignature });"; }
public bool Process(IBase baseObject, Facet facet, IGeneratorConfiguration generatorConfiguration) { var providerAttribute = (UIAttribute)facet.Attribute; var name = baseObject.GetNavigationName(); var parentObject = (IElement)baseObject; var controllersPath = generatorConfiguration.ApplicationFolderHierarchy[IonicFileSystemType.Controllers]; var controllersFolder = (Folder)generatorConfiguration.FileSystem[controllersPath]; var relatedEntities = new List <RelatedEntity>(); foreach (var childObject in parentObject.GetParentNavigationProperties(generatorConfiguration.PartsAliasResolver)) { relatedEntities.Add(new RelatedEntity(childObject, generatorConfiguration)); } $basename$ControllerGenerator.GenerateController(baseObject, pagesPath, name, generatorConfiguration, imports, module, relatedEntities); return(true); }
public override bool Process(IBase baseObject, Facet facet, IView view, IGeneratorConfiguration generatorConfiguration) { var name = baseObject.GetNavigationName(); var parentObject = (IParentBase)baseObject; var pagesPath = generatorConfiguration.ApplicationFolderHierarchy[IonicFileSystemType.Pages]; var pagesFolder = (Folder)generatorConfiguration.FileSystem[pagesPath]; var imports = generatorConfiguration.CreateImports(this, baseObject, pagesFolder, false, 1); IModuleAssembly module; this.BaseObject = baseObject; this.Facet = facet; this.Name = name; module = generatorConfiguration.PushModuleAssembly <AngularModule>(name); RepeaterPageGenerator.GeneratePage(baseObject, pagesPath, name, generatorConfiguration, module, imports, (View)view, this); return(true); }
public override bool Process(IBase baseObject, Facet facet, IGeneratorConfiguration generatorConfiguration) { var uiAttribute = (UIAttribute)facet.Attribute; var name = baseObject.GetNavigationName(); var parentObject = (IParentBase)baseObject; var mainObject = parentObject.ChildElements.Single(); var managedLists = new List <ManagedList>(); var gridColumns = new List <GridColumn>(); var pagesPath = generatorConfiguration.ApplicationFolderHierarchy[IonicFileSystemType.Pages]; var pagesFolder = (Folder)generatorConfiguration.FileSystem[pagesPath]; var featureKind = uiAttribute.GetFeatureKind(); var isComponent = featureKind.IsComponent(); IModuleAssembly module; IEnumerable <ModuleImportDeclaration> imports; if (mainObject is IParentBase) { foreach (var childObject in mainObject.GetFollowingNavigationChildren(generatorConfiguration.PartsAliasResolver)) { managedLists.Add(new ManagedList(childObject, generatorConfiguration)); } } foreach (var childObject in mainObject.GetGridColumns(generatorConfiguration.PartsAliasResolver)) { gridColumns.Add(new GridColumn(childObject, generatorConfiguration)); } if (uiAttribute.UILoadKind == UILoadKind.RootPage) { this.Raise <ApplicationFacetHandler>(); } imports = generatorConfiguration.CreateImports(this, baseObject, pagesFolder, false, 1); module = generatorConfiguration.PushModuleAssembly <AngularModule>(name); module.UILoadKind = uiAttribute.UILoadKind; module.IsComponent = isComponent; NavigationGridPageGenerator.GeneratePage(baseObject, pagesPath, name, generatorConfiguration, module, imports, module, managedLists, gridColumns, isComponent); return(true); }
public SlidingTab(IBase baseObject, IGeneratorConfiguration generatorConfiguration) : base(baseObject, generatorConfiguration) { var navigationAttribute = baseObject.GetFacetAttribute <UINavigationAttribute>(); var hasComponentAttribute = baseObject.HasFacetAttribute <UIAttribute>(); var tabName = baseObject.GetDisplayName(); string name; if (!hasComponentAttribute && baseObject.Kind == DefinitionKind.ComplexSetProperty) { var parentBase = (IParentBase)baseObject; var childElement = parentBase.ChildElements.Single(); name = childElement.GetNavigationName() + "Page"; } else { name = baseObject.GetNavigationName() + "Page"; } this.Root = name; this.Title = tabName; }
public override bool Process(IBase baseObject, Facet facet, IGeneratorConfiguration generatorConfiguration) { var uiAttribute = (UICustomAttribute)facet.Attribute; var viewRelativePath = uiAttribute.ViewRelativePath; var name = baseObject.GetNavigationName(); var parentObject = (IParentBase)baseObject; var tabs = new List <Tab>(); var pagesPath = generatorConfiguration.ApplicationFolderHierarchy[IonicFileSystemType.Pages]; var pagesFolder = (Folder)generatorConfiguration.FileSystem[pagesPath]; var projectPath = Environment.ExpandEnvironmentVariables(uiAttribute.ProjectPath); var viewProjects = generatorConfiguration.ViewProjects; ViewProject viewProject; View view; if (!viewProjects.ContainsKey(projectPath)) { viewProject = new ViewProject(projectPath); viewProjects.Add(projectPath, new ViewProject(projectPath)); } else { viewProject = (ViewProject)viewProjects[projectPath]; } if (!viewProject.ContainsView(viewRelativePath)) { view = viewProject.AddView(viewRelativePath); } if (uiAttribute.UILoadKind == UILoadKind.RootPage) { this.Raise <ApplicationFacetHandler>(); } generatorConfiguration.HandleViews(viewProject, baseObject, facet); return(true); }