Skip to content

Commit

Permalink
feat(form-model-driven-solution): create project from branch step-15-…
Browse files Browse the repository at this point in the history
…solution
  • Loading branch information
nlm-pro committed Nov 26, 2018
1 parent 67d7080 commit de5869b
Show file tree
Hide file tree
Showing 51 changed files with 1,255 additions and 0 deletions.
99 changes: 99 additions & 0 deletions angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -2860,6 +2860,105 @@
}
}
}
},
"form-model-driven-solution": {
"root": "steps/form-model-driven-solution/",
"sourceRoot": "steps/form-model-driven-solution/src",
"projectType": "application",
"prefix": "app",
"schematics": {},
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/form-model-driven-solution",
"index": "steps/form-model-driven-solution/src/index.html",
"main": "steps/form-model-driven-solution/src/main.ts",
"polyfills": "steps/form-model-driven-solution/src/polyfills.ts",
"tsConfig": "steps/form-model-driven-solution/tsconfig.app.json",
"assets": [
"steps/form-model-driven-solution/src/favicon.ico",
"steps/form-model-driven-solution/src/assets"
],
"styles": [
"steps/form-model-driven-solution/src/styles.css"
],
"scripts": []
},
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "steps/form-model-driven-solution/src/environments/environment.ts",
"with": "steps/form-model-driven-solution/src/environments/environment.prod.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"budgets": [
{
"type": "initial",
"maximumWarning": "2mb",
"maximumError": "5mb"
}
]
}
}
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "form-model-driven-solution:build"
},
"configurations": {
"production": {
"browserTarget": "form-model-driven-solution:build:production"
}
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "form-model-driven-solution:build"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "steps/form-model-driven-solution/src/test.ts",
"polyfills": "steps/form-model-driven-solution/src/polyfills.ts",
"tsConfig": "steps/form-model-driven-solution/tsconfig.spec.json",
"karmaConfig": "steps/form-model-driven-solution/karma.conf.js",
"styles": [
"steps/form-model-driven-solution/src/styles.css"
],
"scripts": [],
"assets": [
"steps/form-model-driven-solution/src/favicon.ico",
"steps/form-model-driven-solution/src/assets"
]
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"steps/form-model-driven-solution/tsconfig.app.json",
"steps/form-model-driven-solution/tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**"
]
}
}
}
}
},
"defaultProject": "angular-200",
Expand Down
11 changes: 11 additions & 0 deletions steps/form-model-driven-solution/browserslist
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# This file is currently used by autoprefixer to adjust CSS to support the below specified browsers
# For additional information regarding the format and rule options, please see:
# https://github.com/browserslist/browserslist#queries
#
# For IE 9-11 support, please remove 'not' from the last line of the file and adjust as needed

> 0.5%
last 2 versions
Firefox ESR
not dead
not IE 9-11
46 changes: 46 additions & 0 deletions steps/form-model-driven-solution/src/app/app.component.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
mat-toolbar.extend-toolbar {
background-color: #0168ab;
background-image: url('/assets/images/bg_right.png');
background-repeat: no-repeat;
background-position: right;
top: 0px;
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
width: 100%;
z-index: 1;
color: white;
margin-bottom: 10px;
}

mat-toolbar .flex {
flex: 1 1 auto;
}

mat-toolbar a {
color: inherit;
text-decoration: none;
height: 100%;
margin: 0px 10px 0px 10px;
border-bottom: 2px solid transparent;
font-size: 1.1em;
font-weight: normal;
font-family: 'Open Sans', sans-serif;
}

mat-toolbar a:not(.active):hover {
border-bottom: 2px solid white;
}

mat-toolbar a img {
height: 100%;
margin-left: -60px;
}

mat-toolbar-row:nth-child(1) {
margin-bottom: 66px;
}
mat-toolbar-row:nth-child(2) {
padding-left: 30px;
text-align: center;
height: 56px;
margin-top: 56px;
}
11 changes: 11 additions & 0 deletions steps/form-model-driven-solution/src/app/app.component.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<mat-toolbar class="extend-toolbar">
<span>
<a [routerLink]="['/']"> <img src="assets/images/logo-sfeir.svg" aria-label="sfeir" alt="Sfeir" /> </a>
</span>

<span class="flex"></span>

<span> <a href="#/locator">Maps</a> <a [routerLink]="['/people']">List</a> </span>
</mat-toolbar>

<router-outlet></router-outlet>
10 changes: 10 additions & 0 deletions steps/form-model-driven-solution/src/app/app.component.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { Component } from '@angular/core';

@Component({
selector: 'sfeir-app',
templateUrl: 'app.component.html',
styleUrls: ['app.component.css']
})
export class PeopleAppComponent {
constructor() {}
}
62 changes: 62 additions & 0 deletions steps/form-model-driven-solution/src/app/app.module.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
// CORE DEPS
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { HttpClientModule, HttpClient } from '@angular/common/http';
import { ReactiveFormsModule } from '@angular/forms';
// MATERIAL DESIGN MODULES
import {
MatToolbarModule,
MatCardModule,
MatTabsModule,
MatButtonModule,
MatInputModule,
MatCheckboxModule,
MatRadioModule,
MatIconModule,
MatListModule,
MatDialogModule
} from '@angular/material';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';

import { APP_ROUTES } from './app.routes';

import { PeopleAppComponent } from './app.component';
import { HomeComponent } from './home';
import { PeopleComponent } from './people';
import { CardComponent } from './shared/card';
import { AddDialogComponent } from './people/add-dialog/add-dialog.component';
import { FormComponent } from './shared/form';
import { UpdateComponent } from './update/update.component';

@NgModule({
imports: [
BrowserModule,
BrowserAnimationsModule,
MatToolbarModule,
MatCardModule,
MatTabsModule,
MatButtonModule,
MatInputModule,
MatCheckboxModule,
MatRadioModule,
MatIconModule,
MatListModule,
MatDialogModule,
APP_ROUTES,
HttpClientModule,
ReactiveFormsModule
],
declarations: [
PeopleAppComponent,
HomeComponent,
PeopleComponent,
CardComponent,
AddDialogComponent,
FormComponent,
UpdateComponent
],
entryComponents: [AddDialogComponent],
providers: [HttpClient],
bootstrap: [PeopleAppComponent]
})
export class AppModule {}
15 changes: 15 additions & 0 deletions steps/form-model-driven-solution/src/app/app.routes.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { RouterModule, Routes } from '@angular/router';

// APP COMPONENTS
import { HomeComponent } from './home/index';
import { PeopleComponent } from './people/index';
import { UpdateComponent } from './update/index';

const ROUTES: Routes = [
{ path: '', redirectTo: 'home', pathMatch: 'full' },
{ path: 'home', component: HomeComponent },
{ path: 'people', component: PeopleComponent },
{ path: 'edit/:id', component: UpdateComponent }
];

export const APP_ROUTES = RouterModule.forRoot(ROUTES, { useHash: true });
10 changes: 10 additions & 0 deletions steps/form-model-driven-solution/src/app/home/home.component.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
h1 {
text-align: center;
}

section {
display: flex;
flex-flow: row wrap;
align-items: center;
justify-content: center;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<section><sfeir-card [person]="person" (personDelete)="random()"></sfeir-card></section>

<button mat-fab (click)="random()"><i class="material-icons">autorenew</i></button>
30 changes: 30 additions & 0 deletions steps/form-model-driven-solution/src/app/home/home.component.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import { Component, OnInit } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { environment } from '../../environments/environment';

const BASE_URL = 'http://localhost:9000';

@Component({
selector: 'sfeir-home',
templateUrl: 'home.component.html',
styleUrls: ['home.component.css']
})
export class HomeComponent implements OnInit {
private person: any = {};

constructor(private _http: HttpClient) {}

/**
* OnInit implementation
*/
ngOnInit() {
this._http.get(`${BASE_URL}/api/peoples/`).subscribe(people => (this.person = people[0]));
}

/**
* Returns random people
*/
random() {
this._http.get(`${BASE_URL}/api/peoples/random`).subscribe(person => (this.person = person));
}
}
1 change: 1 addition & 0 deletions steps/form-model-driven-solution/src/app/home/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './home.component';
2 changes: 2 additions & 0 deletions steps/form-model-driven-solution/src/app/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
export * from './app.component';
export * from './app.module';
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<sfeir-form (submit)="onSave($event)" (cancel)="onCancel()"></sfeir-form>
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';

import { AddDialogComponent } from './add-dialog.component';

describe('AddDialogComponent', () => {
let component: AddDialogComponent;
let fixture: ComponentFixture<AddDialogComponent>;

beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [AddDialogComponent]
}).compileComponents();
}));

beforeEach(() => {
fixture = TestBed.createComponent(AddDialogComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});

it('should create', () => {
expect(component).toBeTruthy();
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { Component, OnInit } from '@angular/core';
import { MatDialogRef } from '@angular/material';

@Component({
selector: 'sfeir-add-dialog',
templateUrl: './add-dialog.component.html',
styleUrls: ['./add-dialog.component.css']
})
export class AddDialogComponent implements OnInit {
constructor(public dialogRef: MatDialogRef<AddDialogComponent>) {}

closeDialog(result = null) {
this.dialogRef.close(result);
}

ngOnInit() {}

onCancel() {
this.closeDialog();
}

onSave(person) {
this.closeDialog(person);
}
}
1 change: 1 addition & 0 deletions steps/form-model-driven-solution/src/app/people/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './people.component';
Loading

0 comments on commit de5869b

Please sign in to comment.