From d00340eea2950e01285d66e2e168bf0308146680 Mon Sep 17 00:00:00 2001 From: shambhavi Date: Wed, 22 Mar 2023 11:04:45 +0530 Subject: [PATCH 01/31] Code for angular application with multiple routes --- .../angular_routing/my-app/.editorconfig | 16 +++ .../angular_routing/my-app/.gitignore | 42 +++++++ .../my-app/.vscode/extensions.json | 4 + .../my-app/.vscode/launch.json | 20 ++++ .../angular_routing/my-app/.vscode/tasks.json | 42 +++++++ .../angular_routing/my-app/README.md | 27 +++++ .../angular_routing/my-app/angular.json | 102 +++++++++++++++++ .../angular_routing/my-app/package.json | 45 ++++++++ .../my-app/src/app/app-routing.module.ts | 25 ++++ .../my-app/src/app/app.component.css | 0 .../my-app/src/app/app.component.html | 3 + .../my-app/src/app/app.component.spec.ts | 35 ++++++ .../my-app/src/app/app.component.ts | 10 ++ .../my-app/src/app/app.module.ts | 27 +++++ .../forget-password.component.css | 101 ++++++++++++++++ .../forget-password.component.html | 49 ++++++++ .../forget-password.component.spec.ts | 23 ++++ .../forget-password.component.ts | 10 ++ .../app/components/login/login.component.css | 108 ++++++++++++++++++ .../app/components/login/login.component.html | 53 +++++++++ .../components/login/login.component.spec.ts | 23 ++++ .../app/components/login/login.component.ts | 10 ++ .../not-found/img/404! PAGE NOT FOUND.png | Bin 0 -> 39777 bytes .../not-found/img/Animated Shape.svg | 31 +++++ .../not-found/not-found.component.css | 59 ++++++++++ .../not-found/not-found.component.html | 45 ++++++++ .../not-found/not-found.component.spec.ts | 23 ++++ .../not-found/not-found.component.ts | 10 ++ .../app/modules/admin/admin-routing.module.ts | 26 +++++ .../src/app/modules/admin/admin.module.ts | 27 +++++ .../admin-dashboard.component.css | 0 .../admin-dashboard.component.html | 3 + .../admin-dashboard.component.spec.ts | 23 ++++ .../admin-dashboard.component.ts | 10 ++ .../components/contact/contact.component.css | 49 ++++++++ .../components/contact/contact.component.html | 64 +++++++++++ .../contact/contact.component.spec.ts | 23 ++++ .../components/contact/contact.component.ts | 10 ++ .../components/footer/footer.component.css | 18 +++ .../components/footer/footer.component.html | 21 ++++ .../footer/footer.component.spec.ts | 23 ++++ .../components/footer/footer.component.ts | 10 ++ .../getting-started.component.css | 39 +++++++ .../getting-started.component.html | 68 +++++++++++ .../getting-started.component.spec.ts | 23 ++++ .../getting-started.component.ts | 10 ++ .../components/header/header.component.css | 24 ++++ .../components/header/header.component.html | 38 ++++++ .../header/header.component.spec.ts | 23 ++++ .../components/header/header.component.ts | 10 ++ .../admin/components/home/home.component.css | 55 +++++++++ .../admin/components/home/home.component.html | 82 +++++++++++++ .../components/home/home.component.spec.ts | 23 ++++ .../admin/components/home/home.component.ts | 10 ++ .../my-app/src/assets/.gitkeep | 0 .../angular_routing/my-app/src/favicon.ico | Bin 0 -> 948 bytes .../angular_routing/my-app/src/index.html | 16 +++ .../angular_routing/my-app/src/main.ts | 9 ++ .../angular_routing/my-app/src/styles.css | 1 + .../angular_routing/my-app/tsconfig.app.json | 16 +++ .../angular_routing/my-app/tsconfig.json | 33 ++++++ .../angular_routing/my-app/tsconfig.spec.json | 15 +++ 62 files changed, 1745 insertions(+) create mode 100644 learning/dashboard/angular_routing/my-app/.editorconfig create mode 100644 learning/dashboard/angular_routing/my-app/.gitignore create mode 100644 learning/dashboard/angular_routing/my-app/.vscode/extensions.json create mode 100644 learning/dashboard/angular_routing/my-app/.vscode/launch.json create mode 100644 learning/dashboard/angular_routing/my-app/.vscode/tasks.json create mode 100644 learning/dashboard/angular_routing/my-app/README.md create mode 100644 learning/dashboard/angular_routing/my-app/angular.json create mode 100644 learning/dashboard/angular_routing/my-app/package.json create mode 100644 learning/dashboard/angular_routing/my-app/src/app/app-routing.module.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/app/app.component.css create mode 100644 learning/dashboard/angular_routing/my-app/src/app/app.component.html create mode 100644 learning/dashboard/angular_routing/my-app/src/app/app.component.spec.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/app/app.component.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/app/app.module.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.css create mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.html create mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.spec.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.css create mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.html create mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.spec.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/not-found/img/404! PAGE NOT FOUND.png create mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/not-found/img/Animated Shape.svg create mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.css create mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.html create mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.spec.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/admin-routing.module.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/admin.module.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.css create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.html create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.spec.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.css create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.html create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.spec.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.css create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.html create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.spec.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.css create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.html create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.spec.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.css create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.html create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.spec.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.css create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.html create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.spec.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/assets/.gitkeep create mode 100644 learning/dashboard/angular_routing/my-app/src/favicon.ico create mode 100644 learning/dashboard/angular_routing/my-app/src/index.html create mode 100644 learning/dashboard/angular_routing/my-app/src/main.ts create mode 100644 learning/dashboard/angular_routing/my-app/src/styles.css create mode 100644 learning/dashboard/angular_routing/my-app/tsconfig.app.json create mode 100644 learning/dashboard/angular_routing/my-app/tsconfig.json create mode 100644 learning/dashboard/angular_routing/my-app/tsconfig.spec.json diff --git a/learning/dashboard/angular_routing/my-app/.editorconfig b/learning/dashboard/angular_routing/my-app/.editorconfig new file mode 100644 index 00000000..59d9a3a3 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/.editorconfig @@ -0,0 +1,16 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/learning/dashboard/angular_routing/my-app/.gitignore b/learning/dashboard/angular_routing/my-app/.gitignore new file mode 100644 index 00000000..0711527e --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/.gitignore @@ -0,0 +1,42 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings + +# System files +.DS_Store +Thumbs.db diff --git a/learning/dashboard/angular_routing/my-app/.vscode/extensions.json b/learning/dashboard/angular_routing/my-app/.vscode/extensions.json new file mode 100644 index 00000000..77b37457 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 + "recommendations": ["angular.ng-template"] +} diff --git a/learning/dashboard/angular_routing/my-app/.vscode/launch.json b/learning/dashboard/angular_routing/my-app/.vscode/launch.json new file mode 100644 index 00000000..740e35a0 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/.vscode/launch.json @@ -0,0 +1,20 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "ng serve", + "type": "pwa-chrome", + "request": "launch", + "preLaunchTask": "npm: start", + "url": "http://localhost:4200/" + }, + { + "name": "ng test", + "type": "chrome", + "request": "launch", + "preLaunchTask": "npm: test", + "url": "http://localhost:9876/debug.html" + } + ] +} diff --git a/learning/dashboard/angular_routing/my-app/.vscode/tasks.json b/learning/dashboard/angular_routing/my-app/.vscode/tasks.json new file mode 100644 index 00000000..a298b5bd --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/.vscode/tasks.json @@ -0,0 +1,42 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558 + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "start", + "isBackground": true, + "problemMatcher": { + "owner": "typescript", + "pattern": "$tsc", + "background": { + "activeOnStart": true, + "beginsPattern": { + "regexp": "(.*?)" + }, + "endsPattern": { + "regexp": "bundle generation complete" + } + } + } + }, + { + "type": "npm", + "script": "test", + "isBackground": true, + "problemMatcher": { + "owner": "typescript", + "pattern": "$tsc", + "background": { + "activeOnStart": true, + "beginsPattern": { + "regexp": "(.*?)" + }, + "endsPattern": { + "regexp": "bundle generation complete" + } + } + } + } + ] +} diff --git a/learning/dashboard/angular_routing/my-app/README.md b/learning/dashboard/angular_routing/my-app/README.md new file mode 100644 index 00000000..a4f758fd --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/README.md @@ -0,0 +1,27 @@ +# MyApp + +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 15.2.4. + +## Development server + +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. + +## Build + +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. + +## Running unit tests + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## Running end-to-end tests + +Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. + +## Further help + +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. diff --git a/learning/dashboard/angular_routing/my-app/angular.json b/learning/dashboard/angular_routing/my-app/angular.json new file mode 100644 index 00000000..59e718f5 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/angular.json @@ -0,0 +1,102 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "my-app": { + "projectType": "application", + "schematics": {}, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist/my-app", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": [ + "zone.js" + ], + "tsConfig": "tsconfig.app.json", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "node_modules/bootstrap/dist/css/bootstrap.min.css", + "src/styles.css" + ], + "scripts": [] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kb", + "maximumError": "1mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ], + "outputHashing": "all" + }, + "development": { + "buildOptimizer": false, + "optimization": false, + "vendorChunk": true, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "browserTarget": "my-app:build:production" + }, + "development": { + "browserTarget": "my-app:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "my-app:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "polyfills": [ + "zone.js", + "zone.js/testing" + ], + "tsConfig": "tsconfig.spec.json", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.css" + ], + "scripts": [] + } + } + } + } + }, + "cli": { + "analytics": "b59b31a0-cff1-427a-99e0-69783de84417" + } +} diff --git a/learning/dashboard/angular_routing/my-app/package.json b/learning/dashboard/angular_routing/my-app/package.json new file mode 100644 index 00000000..fdd4df1c --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/package.json @@ -0,0 +1,45 @@ +{ + "name": "my-app", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "private": true, + "dependencies": { + "@angular/animations": "^15.2.0", + "@angular/common": "^15.2.0", + "@angular/compiler": "^15.2.0", + "@angular/core": "^15.2.0", + "@angular/forms": "^15.2.0", + "@angular/platform-browser": "^15.2.0", + "@angular/platform-browser-dynamic": "^15.2.0", + "@angular/router": "^15.2.0", + "@fortawesome/angular-fontawesome": "^0.12.1", + "@fortawesome/fontawesome-svg-core": "^6.2.1", + "@fortawesome/free-solid-svg-icons": "^6.2.1", + "@ng-bootstrap/ng-bootstrap": "^14.0.1", + "@popperjs/core": "^2.11.6", + "bootstrap": "^5.2.3", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "zone.js": "~0.12.0" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^15.2.4", + "@angular/cli": "~15.2.4", + "@angular/compiler-cli": "^15.2.0", + "@angular/localize": "^15.2.0", + "@types/jasmine": "~4.3.0", + "jasmine-core": "~4.5.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.0.0", + "typescript": "~4.9.4" + } +} \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/app-routing.module.ts b/learning/dashboard/angular_routing/my-app/src/app/app-routing.module.ts new file mode 100644 index 00000000..03c36adb --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/app-routing.module.ts @@ -0,0 +1,25 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; +import { LoginComponent } from './components/login/login.component'; +import { ForgetPasswordComponent } from './components/forget-password/forget-password.component'; +import { NotFoundComponent } from './components/not-found/not-found.component'; + + +const routes: Routes = [ +{path: 'login', component: LoginComponent }, +{path: 'forget-password', component: ForgetPasswordComponent }, +{path: '' , redirectTo : '/login', pathMatch: 'full'}, +// LAZY LOADING + +{path:'admin', +loadChildren: ()=> +import('./modules/admin/admin.module').then((m) => m.AdminModule), +}, +{path: '**', component: NotFoundComponent }]; + +@NgModule({ + imports: [RouterModule.forRoot(routes)], + exports: [RouterModule] +}) +export class AppRoutingModule { } + diff --git a/learning/dashboard/angular_routing/my-app/src/app/app.component.css b/learning/dashboard/angular_routing/my-app/src/app/app.component.css new file mode 100644 index 00000000..e69de29b diff --git a/learning/dashboard/angular_routing/my-app/src/app/app.component.html b/learning/dashboard/angular_routing/my-app/src/app/app.component.html new file mode 100644 index 00000000..9af5c1a6 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/app.component.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/app.component.spec.ts b/learning/dashboard/angular_routing/my-app/src/app/app.component.spec.ts new file mode 100644 index 00000000..d5e0fd97 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/app.component.spec.ts @@ -0,0 +1,35 @@ +import { TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { AppComponent } from './app.component'; + +describe('AppComponent', () => { + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [ + RouterTestingModule + ], + declarations: [ + AppComponent + ], + }).compileComponents(); + }); + + it('should create the app', () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.componentInstance; + expect(app).toBeTruthy(); + }); + + it(`should have as title 'my-app'`, () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.componentInstance; + expect(app.title).toEqual('my-app'); + }); + + it('should render title', () => { + const fixture = TestBed.createComponent(AppComponent); + fixture.detectChanges(); + const compiled = fixture.nativeElement as HTMLElement; + expect(compiled.querySelector('.content span')?.textContent).toContain('my-app app is running!'); + }); +}); diff --git a/learning/dashboard/angular_routing/my-app/src/app/app.component.ts b/learning/dashboard/angular_routing/my-app/src/app/app.component.ts new file mode 100644 index 00000000..28163341 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/app.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-root', + templateUrl: './app.component.html', + styleUrls: ['./app.component.css'] +}) +export class AppComponent { + title = 'my-app'; +} diff --git a/learning/dashboard/angular_routing/my-app/src/app/app.module.ts b/learning/dashboard/angular_routing/my-app/src/app/app.module.ts new file mode 100644 index 00000000..6ebd8db2 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/app.module.ts @@ -0,0 +1,27 @@ +import { NgModule } from '@angular/core'; +import { BrowserModule } from '@angular/platform-browser'; +import { AppRoutingModule } from './app-routing.module'; +import { AppComponent } from './app.component'; +import { LoginComponent } from './components/login/login.component'; +import { ForgetPasswordComponent } from './components/forget-password/forget-password.component'; +import { NotFoundComponent } from './components/not-found/not-found.component'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; + +@NgModule({ + declarations: [ + AppComponent, + LoginComponent, + ForgetPasswordComponent, + NotFoundComponent + ], + imports: [ + BrowserModule, + AppRoutingModule, + NgbModule, + FontAwesomeModule + ], + providers: [], + bootstrap: [AppComponent] +}) +export class AppModule { } diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.css b/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.css new file mode 100644 index 00000000..3caa7df8 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.css @@ -0,0 +1,101 @@ +body{ + background-color: rgba(17, 17, 62, 0.963); + height: 100vh; + + } +.navbar { + height: 8vh; + background-color:rgba(3, 3, 80, 1); + display: flex; + color: white; + +} + +ul { + display: flex; + justify-content: center; +} + +li { + list-style-type: none; + padding: 1vh; + margin: 1vh; + font-size: 2.2vh; +} + +.for-pwd{ + color: white; + position: absolute; + top: 25%; + left: 35%; + margin-top: 15vh; + margin-left: 7vh; +} + +.box input { + background: none; + border: 0ch; + +} + +.box i { + width: 4vh; + text-align: center; + +} + +.btn:hover { + background-color: rgb(3, 53, 74); + color: white; + +} +.box { + padding: 1vh; + border-bottom: 0.1vh solid white; +} + +.feild { + height: 5vh; + color: white; + width: 49vh; + font-size: 2.3vh; +} + +.button{ + display: flex; +} + +.btn { + padding: 1vh; + display: block; + background: none; + margin: 2vh; + border: 2px solid white; + color: white; + border-radius: 15px; + font-size: 1.6vh; + +} +.btn2 { + padding: 1vh; + display: block; + background: none; + margin: 2vh; + border: 2px solid white; + color: white; + border-radius: 15px; + font-size: 1.6vh; + + +} +.btn2 a{ + text-decoration: none; + color: white; +} +.btn2:hover { + background-color: rgb(3, 53, 74); + color: white; +} + + + diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.html b/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.html new file mode 100644 index 00000000..34a52dc9 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.html @@ -0,0 +1,49 @@ + + + + + + + + FPWD + + + + + + + + + + + + + + + +
+

FORGET PASSWORD

+
+

Enter your email id and we will send you a reset password link to you.

+ + +
+ +
+ + +
+
+ + + \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.spec.ts b/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.spec.ts new file mode 100644 index 00000000..1de1e2b3 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ForgetPasswordComponent } from './forget-password.component'; + +describe('ForgetPasswordComponent', () => { + let component: ForgetPasswordComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ ForgetPasswordComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(ForgetPasswordComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.ts b/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.ts new file mode 100644 index 00000000..cc968d6e --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-forget-password', + templateUrl: './forget-password.component.html', + styleUrls: ['./forget-password.component.css'] +}) +export class ForgetPasswordComponent { + +} diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.css b/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.css new file mode 100644 index 00000000..a67d5b19 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.css @@ -0,0 +1,108 @@ + +body { + background-color: rgba(17, 17, 62, 0.963); + height: 100vh; +} + +.name { + color: white; + background-color: none; + margin-left: 150vh; + margin-top:2.5vh ; + font-family: 'Gill Sans', 'Gill Sans MT', 'Trebuchet MS', sans-serif; +} + +.nav { + background-color: rgba(3, 3, 80, 1); +} + +h1 { + font-size: 5vh; + font-weight: 900; + position: relative; + color: rgba(123, 188, 226, 0.996); +} + +svg { + z-index: -1; +} + +a { + text-decoration: none; + color: white; +} + +.login-area { + color: white; + position: absolute; + top: 25%; + left: 35%; + margin-top: 15vh; + margin-left: 7vh; +} + +.box input { + background: none; + border: 0ch; +} + +.box i { + width: 4vh; + text-align: center; + +} + +.btn:hover { + background-color: rgb(3, 53, 74); + color: black; +} + +.box { + padding: 1vh; + border-bottom: 0.1vh solid white; +} + +.feild { + height: 5vh; + color: white; + width: 49vh; + font-size: 2.3vh; +} + +.button { + display: flex; +} + + +.btn { + padding: 1vh; + display: block; + background: none; + margin: 2vh; + border: 2px solid white; + color: white; + border-radius: 15px; + font-size: 1.6vh; + +} + +.btn2 { + padding: 1vh; + display: block; + background: none; + margin: 2vh; + border: 2px solid white; + color: white; + border-radius: 15px; + font-size: 1.6vh; +} + +.btn2 a { + text-decoration: none; + color: white; +} + +.btn2:hover { + background-color: rgb(3, 53, 74); + color: black; +} \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.html b/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.html new file mode 100644 index 00000000..b3e431c6 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.html @@ -0,0 +1,53 @@ + + + + + + + + Login + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.spec.ts b/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.spec.ts new file mode 100644 index 00000000..10eca249 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { LoginComponent } from './login.component'; + +describe('LoginComponent', () => { + let component: LoginComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ LoginComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(LoginComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.ts b/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.ts new file mode 100644 index 00000000..ba9f2956 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-login', + templateUrl: './login.component.html', + styleUrls: ['./login.component.css'] +}) +export class LoginComponent { + +} diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/not-found/img/404! PAGE NOT FOUND.png b/learning/dashboard/angular_routing/my-app/src/app/components/not-found/img/404! PAGE NOT FOUND.png new file mode 100644 index 0000000000000000000000000000000000000000..5faacda03f911c71fd3026135482f777d5176f34 GIT binary patch literal 39777 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 \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.css b/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.css new file mode 100644 index 00000000..65367edf --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.css @@ -0,0 +1,59 @@ +body{ +background-color: rgba(17, 17, 62, 0.963); +height: 99.8vh; + +} + +.name { + color: white; + background-color: none; + margin-left: 150vh; + margin-top:2.5vh ; + font-family: 'Gill Sans', 'Gill Sans MT', 'Trebuchet MS', sans-serif; +} + +.nav { + background-color: rgba(3, 3, 80, 1); +} + +.nav h1 { + font-size: 5vh; + font-weight: 900; + position: relative; + color: rgba(123, 188, 226, 0.996); +} + +svg { + z-index: -1; +} + + +.section{ +margin-top: -10vh; +margin-left: -5vh; + display: flex; + align-items: center; + justify-content: center; + height: 10vh; +} +.text{ + font-size: 19vh; + font-weight: 900; + margin: auto; +} +H1{ + color: white; + display: flex; + justify-content: center; + align-items: center; + font-size: 15vh; +} +h3{ + color: white; + display: flex; + justify-content: center; + align-items: center; + font-size: 3vh; +} + + diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.html b/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.html new file mode 100644 index 00000000..a4ea01fc --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.html @@ -0,0 +1,45 @@ + + + + + + + + NOTFOUND + + + + + + + + + + + + + + +
+
+

+ 404! +

+

PAGE NOT FOUND.

+
+
+ + + + + + + \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.spec.ts b/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.spec.ts new file mode 100644 index 00000000..4ab46fe2 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { NotFoundComponent } from './not-found.component'; + +describe('NotFoundComponent', () => { + let component: NotFoundComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ NotFoundComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(NotFoundComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.ts b/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.ts new file mode 100644 index 00000000..8d41879d --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-not-found', + templateUrl: './not-found.component.html', + styleUrls: ['./not-found.component.css'] +}) +export class NotFoundComponent { + +} diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/admin-routing.module.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/admin-routing.module.ts new file mode 100644 index 00000000..14479125 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/admin-routing.module.ts @@ -0,0 +1,26 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; +import { AdminDashboardComponent } from './components/admin-dashboard/admin-dashboard.component'; +import { ContactComponent } from './components/contact/contact.component'; +import { GettingStartedComponent } from './components/getting-started/getting-started.component'; +import { HomeComponent } from './components/home/home.component'; + + +const routes: Routes = [ + { + path: '', component: AdminDashboardComponent, children: [ + { path: 'home', component: HomeComponent }, + { path: 'contact', component: ContactComponent }, + { path: 'getting-started', component: GettingStartedComponent }, + { path: '', redirectTo: 'admin/home', pathMatch: 'full' }, + + + ] + } // the routes which we will be using in admin module is kept in the children array. +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class AdminRoutingModule { } diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/admin.module.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/admin.module.ts new file mode 100644 index 00000000..63c56343 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/admin.module.ts @@ -0,0 +1,27 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { AdminRoutingModule } from './admin-routing.module'; +import { AdminDashboardComponent } from './components/admin-dashboard/admin-dashboard.component'; +import { HomeComponent } from './components/home/home.component'; +import { ContactComponent } from './components/contact/contact.component'; +import { GettingStartedComponent } from './components/getting-started/getting-started.component'; +import { HeaderComponent } from './components/header/header.component'; +import { FooterComponent } from './components/footer/footer.component'; + + +@NgModule({ + declarations: [ + AdminDashboardComponent, + HomeComponent, + ContactComponent, + GettingStartedComponent, + HeaderComponent, + FooterComponent + ], + imports: [ + CommonModule, + AdminRoutingModule + ] +}) +export class AdminModule { } diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.css b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.css new file mode 100644 index 00000000..e69de29b diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.html b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.html new file mode 100644 index 00000000..eaf43d37 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.spec.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.spec.ts new file mode 100644 index 00000000..2ab4da91 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AdminDashboardComponent } from './admin-dashboard.component'; + +describe('AdminDashboardComponent', () => { + let component: AdminDashboardComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ AdminDashboardComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(AdminDashboardComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.ts new file mode 100644 index 00000000..a6c4d236 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-admin-dashboard', + templateUrl: './admin-dashboard.component.html', + styleUrls: ['./admin-dashboard.component.css'] +}) +export class AdminDashboardComponent { + +} diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.css b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.css new file mode 100644 index 00000000..03b90a98 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.css @@ -0,0 +1,49 @@ +* { + font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; +} + +.page-intro { + margin-left: 150vh; + margin-top: -42vh; + font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif; +} + +h1 { + font-size: 5vh; + font-weight: 900; + position: relative; + color: rgba(123, 188, 226, 0.996); + +} + +svg { + z-index: -1; +} +a{ + text-decoration: none; +} +.container { + margin-top: 30vh; + height: 25vh; + padding: 3vh; + +} +.card{ +margin: 5vh; + padding:6vh; + border: none; + border-right: 1px solid rgb(50, 49, 49); + border-bottom: 1px solid rgb(52, 51, 51); +} +.section-tagline { + display: block; + margin-top: 34vh; + display: flex; + justify-content: center; + align-items: center; +} + +.section-tagline p { + font-size: 2.5vh; + text-transform: uppercase; +} diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.html b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.html new file mode 100644 index 00000000..cae6c2ef --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.html @@ -0,0 +1,64 @@ + + + + + + + + + + + START + + + +
+

ANGULAR ACE

+
+
+ + +
+ + + +
+
+
ALEX LEE
+
STANFORD UNIVERSITY 2010
+

In the field of software developement for past 8 years.

+ LinkedIn + Slack +
+
+ + +
+
+
Emma Fisher
+
IIT 2015
+

In the field of front-end development for past 3 years.

+ LinkedIn + Slack +
+
+
+
+ + + + + \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.spec.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.spec.ts new file mode 100644 index 00000000..85e48e02 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ContactComponent } from './contact.component'; + +describe('ContactComponent', () => { + let component: ContactComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ ContactComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(ContactComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.ts new file mode 100644 index 00000000..06b3d0f1 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-contact', + templateUrl: './contact.component.html', + styleUrls: ['./contact.component.css'] +}) +export class ContactComponent { + +} diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.css b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.css new file mode 100644 index 00000000..8335fc64 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.css @@ -0,0 +1,18 @@ +footer { + position: absolute; + width: 100%; + margin-top: 7vh; + height: 6vh; + color: white; + display: flex; + justify-content: center; + align-items: center; + background-color: black; +} + +li { + margin-top: 20px; + font-size: 2vh; + text-transform: uppercase; + list-style-type: none; +} \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.html b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.html new file mode 100644 index 00000000..38de2739 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.html @@ -0,0 +1,21 @@ + + + + + + + Document + + +
+
+
    +
  • + Angular Dashboard Project -SODA FOUNDATION. +
  • + +
+
+
+ + \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.spec.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.spec.ts new file mode 100644 index 00000000..953b22cc --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { FooterComponent } from './footer.component'; + +describe('FooterComponent', () => { + let component: FooterComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ FooterComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(FooterComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.ts new file mode 100644 index 00000000..98c515ef --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-footer', + templateUrl: './footer.component.html', + styleUrls: ['./footer.component.css'] +}) +export class FooterComponent { + +} diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.css b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.css new file mode 100644 index 00000000..760d9c76 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.css @@ -0,0 +1,39 @@ +* { + font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; +} + +.page-intro { + margin-left: 150vh; + margin-top: -42vh; + font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif; +} + +h1 { + font-size: 5vh; + font-weight: 900; + position: relative; + color: rgba(123, 188, 226, 0.996); + +} +.intro h1{ + font-size: 3vh; + font-weight: 900; + position: relative; + color: rgba(123, 188, 226, 0.996); +} +svg { + z-index: -1; +} +.section{ + padding: 2vh; + margin-top: 31vh; + height: 90vh;} +p{ + font-size: 2vh; + padding: 2vh; +} +li{ + list-style-type: none; + font-size: 2vh; +} + diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.html b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.html new file mode 100644 index 00000000..f856bad1 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.html @@ -0,0 +1,68 @@ + + + + + + + + STARTER-GUIDE + + + +
+

ANGULAR ACE

+
+ +
+
+
+

ABOUT ANGULAR ACE

+

AngularJS is a well-liked JavaScript framework for creating dynamic online apps. Welcome to our + website, ANGULAR ACE where you can discover a collection of tutorials for it. You've come to the + right place if + you're new to AngularJS or want to learn more about the framework. + + It's simple to get started with AngularJS, and we're here to help you do it. Our tutorials are made + to guide you from the fundamentals to more complex subjects, giving you the knowledge and abilities + required to build effective web apps. + + We advise that you have a fundamental understanding of HTML, CSS, and JavaScript before you begin. + Don't worry if you're unfamiliar with these technologies; we have tutorials that can teach you the + fundamentals.

+

TOPICS COVERED

+

+ After setting a strong foundation, you'll be prepared to work with AngularJS. You can quickly locate + the knowledge you require thanks to the topical organisation of our + tutorials. + Some of the subjects we go over are:

+ + +
    +
  • Basics of Angular
  • +
  • Components in Angular
  • +
  • Routing in Angular
  • +
  • Directives in Angular
  • +
  • HTTP Requests
  • + +
+

PRACTICAL PRACTICE

+

+ To help you put what you've learned into practise and get practical experience, we also offer code + examples and exercises. + + + We have a community forum where you may ask questions and seek assistance from other developers in + addition to our training. + You shouldn't be afraid to seek for help if you need it because our community is vibrant and + encouraging. +

+ +

So what are you waiting for? Start exploring our tutorials today and begin your journey to becoming + an AngularJS expert!

+
+ +
+
+ + + \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.spec.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.spec.ts new file mode 100644 index 00000000..d1a79038 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { GettingStartedComponent } from './getting-started.component'; + +describe('GettingStartedComponent', () => { + let component: GettingStartedComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ GettingStartedComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(GettingStartedComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.ts new file mode 100644 index 00000000..b8d7a73e --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-getting-started', + templateUrl: './getting-started.component.html', + styleUrls: ['./getting-started.component.css'] +}) +export class GettingStartedComponent { + +} diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.css b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.css new file mode 100644 index 00000000..734d2593 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.css @@ -0,0 +1,24 @@ +.navbar { + height: 8vh; + background-color:rgba(3, 3, 80, 1); + display: flex; + color: white; + +} + +ul { + display: flex; + justify-content: center; +} + +li { + list-style-type: none; + padding: 1vh; + margin: 1vh; + font-size: 2.2vh; + +} +li a{ + text-decoration: none; + color: white; +} diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.html b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.html new file mode 100644 index 00000000..a96a0a8d --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.html @@ -0,0 +1,38 @@ + + + + + + + HEADER + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.spec.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.spec.ts new file mode 100644 index 00000000..1fd30b4d --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { HeaderComponent } from './header.component'; + +describe('HeaderComponent', () => { + let component: HeaderComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ HeaderComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(HeaderComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.ts new file mode 100644 index 00000000..e9af159f --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-header', + templateUrl: './header.component.html', + styleUrls: ['./header.component.css'] +}) +export class HeaderComponent { + +} diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.css b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.css new file mode 100644 index 00000000..5bc072e1 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.css @@ -0,0 +1,55 @@ +* { + font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; +} + +.page-intro { + margin-left: 150vh; + margin-top: -42vh; + font-family: 'Gill Sans', 'Gill Sans MT', 'Trebuchet MS', sans-serif; +} + +h1 { + font-size: 5vh; + font-weight: 900; + position: relative; + color: rgba(123, 188, 226, 0.996); +} + +svg { + z-index: -1; +} + +.container { + margin-top: 35vh; + height: 50vh; + padding: 2vh; + display: flex; +} + +.card a { + text-decoration: none; +} + +.card-group { + display: inline-block; + padding: 1vh; + width: 100%; +} + +.card { + width: 40vh; + padding: 2.5vh; +} + +.section-tagline { + display: block; + margin-top: 34vh; + display: flex; + justify-content: center; + align-items: center; +} + +.section-tagline p { + font-size: 2.5vh; + text-transform: uppercase; +} \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.html b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.html new file mode 100644 index 00000000..e69fb1ad --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.html @@ -0,0 +1,82 @@ + + + + + + + + Home + + + +
+

ANGULAR ACE

+
+ +
+
+
+
+
+
ANGULAR BASICS
+

+ START +
+
+
+
+
+
+
ANGULAR COMPONENTS
+

+ START +
+
+
+
+
+
+
ROUTING IN ANGULAR
+

+ START +
+
+
+
+
+
+
+
+
DIRECTIVES IN ANGULAR
+

+ START +
+
+
+
+
+
+
ALL ABOUT HTTP REQUESTS
+

+ START +
+
+
+
+
+
+
BEST PRACTICES
+

+ START +
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.spec.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.spec.ts new file mode 100644 index 00000000..5075be73 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { HomeComponent } from './home.component'; + +describe('HomeComponent', () => { + let component: HomeComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ HomeComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(HomeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.ts new file mode 100644 index 00000000..0cb0d0f5 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-home', + templateUrl: './home.component.html', + styleUrls: ['./home.component.css'] +}) +export class HomeComponent { + +} diff --git a/learning/dashboard/angular_routing/my-app/src/assets/.gitkeep b/learning/dashboard/angular_routing/my-app/src/assets/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/learning/dashboard/angular_routing/my-app/src/favicon.ico b/learning/dashboard/angular_routing/my-app/src/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..997406ad22c29aae95893fb3d666c30258a09537 GIT binary patch literal 948 zcmV;l155mgP)CBYU7IjCFmI-B}4sMJt3^s9NVg!P0 z6hDQy(L`XWMkB@zOLgN$4KYz;j0zZxq9KKdpZE#5@k0crP^5f9KO};h)ZDQ%ybhht z%t9#h|nu0K(bJ ztIkhEr!*UyrZWQ1k2+YkGqDi8Z<|mIN&$kzpKl{cNP=OQzXHz>vn+c)F)zO|Bou>E z2|-d_=qY#Y+yOu1a}XI?cU}%04)zz%anD(XZC{#~WreV!a$7k2Ug`?&CUEc0EtrkZ zL49MB)h!_K{H(*l_93D5tO0;BUnvYlo+;yss%n^&qjt6fZOa+}+FDO(~2>G z2dx@=JZ?DHP^;b7*Y1as5^uphBsh*s*z&MBd?e@I>-9kU>63PjP&^#5YTOb&x^6Cf z?674rmSHB5Fk!{Gv7rv!?qX#ei_L(XtwVqLX3L}$MI|kJ*w(rhx~tc&L&xP#?cQow zX_|gx$wMr3pRZIIr_;;O|8fAjd;1`nOeu5K(pCu7>^3E&D2OBBq?sYa(%S?GwG&_0-s%_v$L@R!5H_fc)lOb9ZoOO#p`Nn`KU z3LTTBtjwo`7(HA6 z7gmO$yTR!5L>Bsg!X8616{JUngg_@&85%>W=mChTR;x4`P=?PJ~oPuy5 zU-L`C@_!34D21{fD~Y8NVnR3t;aqZI3fIhmgmx}$oc-dKDC6Ap$Gy>a!`A*x2L1v0 WcZ@i?LyX}70000 + + + + MyApp + + + + + + +

+ +

+ + diff --git a/learning/dashboard/angular_routing/my-app/src/main.ts b/learning/dashboard/angular_routing/my-app/src/main.ts new file mode 100644 index 00000000..be6bfabe --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/main.ts @@ -0,0 +1,9 @@ +/// + +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + +import { AppModule } from './app/app.module'; + + +platformBrowserDynamic().bootstrapModule(AppModule) + .catch(err => console.error(err)); diff --git a/learning/dashboard/angular_routing/my-app/src/styles.css b/learning/dashboard/angular_routing/my-app/src/styles.css new file mode 100644 index 00000000..90d4ee00 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/src/styles.css @@ -0,0 +1 @@ +/* You can add global styles to this file, and also import other style files */ diff --git a/learning/dashboard/angular_routing/my-app/tsconfig.app.json b/learning/dashboard/angular_routing/my-app/tsconfig.app.json new file mode 100644 index 00000000..ec26f703 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/tsconfig.app.json @@ -0,0 +1,16 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [ + "@angular/localize" + ] + }, + "files": [ + "src/main.ts" + ], + "include": [ + "src/**/*.d.ts" + ] +} diff --git a/learning/dashboard/angular_routing/my-app/tsconfig.json b/learning/dashboard/angular_routing/my-app/tsconfig.json new file mode 100644 index 00000000..ed966d43 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/tsconfig.json @@ -0,0 +1,33 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "compileOnSave": false, + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "sourceMap": true, + "declaration": false, + "downlevelIteration": true, + "experimentalDecorators": true, + "moduleResolution": "node", + "importHelpers": true, + "target": "ES2022", + "module": "ES2022", + "useDefineForClassFields": false, + "lib": [ + "ES2022", + "dom" + ] + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} diff --git a/learning/dashboard/angular_routing/my-app/tsconfig.spec.json b/learning/dashboard/angular_routing/my-app/tsconfig.spec.json new file mode 100644 index 00000000..c63b6982 --- /dev/null +++ b/learning/dashboard/angular_routing/my-app/tsconfig.spec.json @@ -0,0 +1,15 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": [ + "jasmine", + "@angular/localize" + ] + }, + "include": [ + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +} From b0dfc4dbac0236f467538c5cc0744d4fd54adb41 Mon Sep 17 00:00:00 2001 From: ShambhaviVijay <93869762+ShambhaviVijay@users.noreply.github.com> Date: Wed, 22 Mar 2023 19:37:09 +0530 Subject: [PATCH 02/31] Instructions to run Angular app on localhost --- learning/dashboard/readme.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/learning/dashboard/readme.md b/learning/dashboard/readme.md index e7dd834c..3bc77cdc 100644 --- a/learning/dashboard/readme.md +++ b/learning/dashboard/readme.md @@ -1,3 +1,18 @@ ## This directory is the placeholder for all Dashboard and frontend related learnings ### Please use this directory to raise PRs for the learning issues created. + + + +To install Angular using CLI write this line on your terminal , + npm install -g @angular/cli + +To create workspace named my-app , + ng new my-app + +To run the application enter the following lines on your terminal, + cd my-app + ng serve --open + +After this the Angular application will be launched on your browser at localhost:4200 (default port for Angular based apps). + From 34f6c85680903710306ae18f98167fd695334d26 Mon Sep 17 00:00:00 2001 From: ShambhaviVijay <93869762+ShambhaviVijay@users.noreply.github.com> Date: Wed, 22 Mar 2023 19:38:17 +0530 Subject: [PATCH 03/31] Update readme.md --- learning/dashboard/readme.md | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/learning/dashboard/readme.md b/learning/dashboard/readme.md index 3bc77cdc..d28992e9 100644 --- a/learning/dashboard/readme.md +++ b/learning/dashboard/readme.md @@ -1,18 +1,12 @@ -## This directory is the placeholder for all Dashboard and frontend related learnings - -### Please use this directory to raise PRs for the learning issues created. - - - -To install Angular using CLI write this line on your terminal , +**To install Angular using CLI write this line on your terminal**, npm install -g @angular/cli -To create workspace named my-app , +**To create workspace named my-app** , ng new my-app -To run the application enter the following lines on your terminal, +**To run the application enter the following lines on your terminal**, cd my-app ng serve --open -After this the Angular application will be launched on your browser at localhost:4200 (default port for Angular based apps). +After this the Angular application will be launched on your browser at **localhost:4200 **(default port for Angular based apps). From aabecdfac3deafb1d54e2e7fa101b1175bd66514 Mon Sep 17 00:00:00 2001 From: ShambhaviVijay <93869762+ShambhaviVijay@users.noreply.github.com> Date: Wed, 22 Mar 2023 19:39:25 +0530 Subject: [PATCH 04/31] Update readme.md --- learning/dashboard/readme.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/learning/dashboard/readme.md b/learning/dashboard/readme.md index d28992e9..73420775 100644 --- a/learning/dashboard/readme.md +++ b/learning/dashboard/readme.md @@ -1,12 +1,13 @@ -**To install Angular using CLI write this line on your terminal**, +To install Angular using CLI write this line on your terminal, npm install -g @angular/cli -**To create workspace named my-app** , +To create workspace named my-app, ng new my-app -**To run the application enter the following lines on your terminal**, +To run the application enter the following lines on your terminal, cd my-app ng serve --open -After this the Angular application will be launched on your browser at **localhost:4200 **(default port for Angular based apps). +After this the Angular application will be launched on your browser at localhost:4200, +(default port for Angular based apps). From 56a41591cf0674b04360ef3c4769e0126fd1a825 Mon Sep 17 00:00:00 2001 From: Sandyah06 <123230397+Sandyah06@users.noreply.github.com> Date: Thu, 23 Mar 2023 11:09:31 +0530 Subject: [PATCH 05/31] Added the details of What is Angular Routing And How to se it --- learning/dashboard/readme.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/learning/dashboard/readme.md b/learning/dashboard/readme.md index 73420775..6837c655 100644 --- a/learning/dashboard/readme.md +++ b/learning/dashboard/readme.md @@ -1,3 +1,31 @@ +**What is Angular Routing** + +In a single-page app, you change what the user sees by showing or hiding portions of the display that correspond to particular components, rather than going out to the server to get a new page. As users perform application tasks, they need to move between the different views that you have defined. + +To handle the navigation from one view to the next, you use the Angular Router. The Router enables navigation by interpreting a browser URL as an instruction to change the view. + +To explore a sample app featuring the router's primary features, see the example below +router.zip file with the reference link. + +Reference Link : https://angular.io/guide/routing-overview + + + **How to Use Angular Routes** + +Using Angular routes in a single-page application +It describes how to build a single-page application, SPA that uses multiple Angular routes. + +In a Single Page Application (SPA), all of your application's functions exist in a single HTML page. As users access your application's features, the browser needs to render only the parts that matter to the user, instead of loading a new page. This pattern can significantly improve your application's user experience. + +To define how users navigate through your application, you use routes. Add routes to define how users navigate from one part of your application to another. You can also configure routes to guard against unexpected or unauthorized behavior. + +To explore a sample application featuring the contents of this tutorial, see the example with this link +https://stackblitz.com/run?file=src%2Fapp%2Fapp.component.html + +Reference link : https://angular.io/guide/router-tutorial + +**Installation** + To install Angular using CLI write this line on your terminal, npm install -g @angular/cli From d61904138867add14dbdb426cd0aae24eafbfe7f Mon Sep 17 00:00:00 2001 From: SAI MOHITH <123230283+smohith79@users.noreply.github.com> Date: Thu, 23 Mar 2023 11:30:49 +0530 Subject: [PATCH 06/31] Data passing in Angular basics added in readme.md --- learning/dashboard/readme.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/learning/dashboard/readme.md b/learning/dashboard/readme.md index 6837c655..6c54db8c 100644 --- a/learning/dashboard/readme.md +++ b/learning/dashboard/readme.md @@ -39,3 +39,16 @@ To run the application enter the following lines on your terminal, After this the Angular application will be launched on your browser at localhost:4200, (default port for Angular based apps). + +**Data passing in Angular** + +In an Angular application, we may have multiple components with a variety of functionality/features and while developing an application we may come across a situation where we need to share or pass the data from one component to another one, in that case, we can achieve that by using the concept of data sharing between the components, and for that in Angular, there are some provisions or ways to achieve the same. + +Methods: + +Parent to Child: via Input +Child to Parent: via Output() and EventEmitter +Child to Parent: via ViewChild +Unrelated Components: via a Service + +The contents were taken from dotnettricks, to learn more about data passing in angular visit: https://www.dotnettricks.com/learn/angular/sharing-data-between-angular-components-methods . From 18ff45162c56497f54f1a0248a076b89ada2ead9 Mon Sep 17 00:00:00 2001 From: "Shailaja.SR" <124417799+Shailaja0205@users.noreply.github.com> Date: Thu, 23 Mar 2023 01:02:41 -0500 Subject: [PATCH 07/31] How to Pass data between angular routes. --- learning/dashboard/readme.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/learning/dashboard/readme.md b/learning/dashboard/readme.md index 6837c655..53d49fbd 100644 --- a/learning/dashboard/readme.md +++ b/learning/dashboard/readme.md @@ -24,6 +24,27 @@ https://stackblitz.com/run?file=src%2Fapp%2Fapp.component.html Reference link : https://angular.io/guide/router-tutorial +**How to pass the data between angular routes?** + +The task is to share data variables between two or more controllers by using AngularJS. There are many procedures to achieve this. Here we will discuss the most popular ones. + +Approach: + +To share data between the controllers in AngularJS we have two main cases: + +Share data between parent and child: Here, the sharing of data can be done simply by using controller inheritance as the scope of a child controller inherits from the scope of the parent controller. +Share data between controllers without having a relation: Here, the sharing of data can be done in a few ways some of them are: + +By using the rootScope variable: + +We can use the rootScope variable to hold shared data and then can reference it from any controller. Here, at the start of the Angular app, we initialized the rootScope variable with some value and then refer it from every controller and thus binding scope variables in both controllers to the rootScope variable. + +By using factory or service: + +The $rootscope method is not preferred for data transfer or sharing data because it has a global scope that is available for the entire application. So, we use another method in which we create a factory or service to hold share data. AngularJS factories and services are JS functions that perform a specific task containing both methods & properties and can be injected into other components (e.g. your controllers) using dependency injection. In this way we can define a shared variable in a factory, inject it into both controllers and thus bind scope variables in both controllers to this factory data. + +Reference:https://www.geeksforgeeks.org/ + **Installation** To install Angular using CLI write this line on your terminal, From b93525e4d071a0a4a9451725870afd410b9bb1d0 Mon Sep 17 00:00:00 2001 From: ShambhaviVijay <93869762+ShambhaviVijay@users.noreply.github.com> Date: Thu, 23 Mar 2023 11:39:06 +0530 Subject: [PATCH 08/31] Update readme.md --- learning/dashboard/readme.md | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/learning/dashboard/readme.md b/learning/dashboard/readme.md index cb15940c..47dcbdba 100644 --- a/learning/dashboard/readme.md +++ b/learning/dashboard/readme.md @@ -1,5 +1,6 @@ **What is Angular Routing** + In a single-page app, you change what the user sees by showing or hiding portions of the display that correspond to particular components, rather than going out to the server to get a new page. As users perform application tasks, they need to move between the different views that you have defined. To handle the navigation from one view to the next, you use the Angular Router. The Router enables navigation by interpreting a browser URL as an instruction to change the view. @@ -12,6 +13,7 @@ Reference Link : https://angular.io/guide/routing-overview **How to Use Angular Routes** + Using Angular routes in a single-page application It describes how to build a single-page application, SPA that uses multiple Angular routes. @@ -24,8 +26,10 @@ https://stackblitz.com/run?file=src%2Fapp%2Fapp.component.html Reference link : https://angular.io/guide/router-tutorial + **How to pass the data between angular routes?** + The task is to share data variables between two or more controllers by using AngularJS. There are many procedures to achieve this. Here we will discuss the most popular ones. Approach: @@ -45,8 +49,11 @@ The $rootscope method is not preferred for data transfer or sharing data because Reference:https://www.geeksforgeeks.org/ + + **Installation** + To install Angular using CLI write this line on your terminal, npm install -g @angular/cli @@ -63,13 +70,17 @@ After this the Angular application will be launched on your browser at localhost **Data passing in Angular** + In an Angular application, we may have multiple components with a variety of functionality/features and while developing an application we may come across a situation where we need to share or pass the data from one component to another one, in that case, we can achieve that by using the concept of data sharing between the components, and for that in Angular, there are some provisions or ways to achieve the same. Methods: -Parent to Child: via Input -Child to Parent: via Output() and EventEmitter -Child to Parent: via ViewChild -Unrelated Components: via a Service +Parent to Child: via Input, + +Child to Parent: via Output() and EventEmitter, + +Child to Parent: via ViewChild, + +Unrelated Components: via a Service. The contents were taken from dotnettricks, to learn more about data passing in angular visit: https://www.dotnettricks.com/learn/angular/sharing-data-between-angular-components-methods . From 2fc58962db12c68b9df8effdc33e8226dbbfe831 Mon Sep 17 00:00:00 2001 From: Esther Joanna <123087090+estherjoanna30@users.noreply.github.com> Date: Thu, 23 Mar 2023 11:50:25 +0530 Subject: [PATCH 09/31] Data passing contents added. --- learning/dashboard/readme.md | 71 +++++++++++++++++++++--------------- 1 file changed, 41 insertions(+), 30 deletions(-) diff --git a/learning/dashboard/readme.md b/learning/dashboard/readme.md index 47dcbdba..41c31fed 100644 --- a/learning/dashboard/readme.md +++ b/learning/dashboard/readme.md @@ -1,3 +1,20 @@ +**Installation** + + +To install Angular using CLI write this line on your terminal, + npm install -g @angular/cli + +To create workspace named my-app, + ng new my-app + +To run the application enter the following lines on your terminal, + cd my-app + ng serve --open + +After this the Angular application will be launched on your browser at localhost:4200, +(default port for Angular based apps). + + **What is Angular Routing** @@ -27,60 +44,54 @@ https://stackblitz.com/run?file=src%2Fapp%2Fapp.component.html Reference link : https://angular.io/guide/router-tutorial -**How to pass the data between angular routes?** +**Data passing in Angular** -The task is to share data variables between two or more controllers by using AngularJS. There are many procedures to achieve this. Here we will discuss the most popular ones. -Approach: +In an Angular application, we may have multiple components with a variety of functionality/features and while developing an application we may come across a situation where we need to share or pass the data from one component to another one, in that case, we can achieve that by using the concept of data sharing between the components, and for that in Angular, there are some provisions or ways to achieve the same. -To share data between the controllers in AngularJS we have two main cases: +Methods: -Share data between parent and child: Here, the sharing of data can be done simply by using controller inheritance as the scope of a child controller inherits from the scope of the parent controller. -Share data between controllers without having a relation: Here, the sharing of data can be done in a few ways some of them are: +Parent to Child: via Input, -By using the rootScope variable: +Child to Parent: via Output() and EventEmitter, -We can use the rootScope variable to hold shared data and then can reference it from any controller. Here, at the start of the Angular app, we initialized the rootScope variable with some value and then refer it from every controller and thus binding scope variables in both controllers to the rootScope variable. +Child to Parent: via ViewChild, -By using factory or service: +Unrelated Components: via a Service. -The $rootscope method is not preferred for data transfer or sharing data because it has a global scope that is available for the entire application. So, we use another method in which we create a factory or service to hold share data. AngularJS factories and services are JS functions that perform a specific task containing both methods & properties and can be injected into other components (e.g. your controllers) using dependency injection. In this way we can define a shared variable in a factory, inject it into both controllers and thus bind scope variables in both controllers to this factory data. +The contents were taken from dotnettricks, to learn more about data passing in angular visit: https://www.dotnettricks.com/learn/angular/sharing-data-between-angular-components-methods . -Reference:https://www.geeksforgeeks.org/ +**Why is data passed between Angular components:** -**Installation** +Angular provides component based architecture that allows modularizing the application. It means you can create multiple chunks, and convert your large component to a smaller segment that can be easily maintained. The main advantage to do this is easily understanding the component and maintenance of code. In this scenario, it is important for communication between components or share the data between the component. -To install Angular using CLI write this line on your terminal, - npm install -g @angular/cli +Angular provides multiple ways to share the data between the components. Based on your need and kind of component relation, you can select any of the methods. It is recommended to use the service method as it is independent of component relation and helps you to send data to multiple components. -To create workspace named my-app, - ng new my-app +Reference: https://www.c-sharpcorner.com/article/sharing-the-data-between-components-in-angular -To run the application enter the following lines on your terminal, - cd my-app - ng serve --open - -After this the Angular application will be launched on your browser at localhost:4200, -(default port for Angular based apps). +**How to pass the data between angular routes?** -**Data passing in Angular** +The task is to share data variables between two or more controllers by using AngularJS. There are many procedures to achieve this. Here we will discuss the most popular ones. -In an Angular application, we may have multiple components with a variety of functionality/features and while developing an application we may come across a situation where we need to share or pass the data from one component to another one, in that case, we can achieve that by using the concept of data sharing between the components, and for that in Angular, there are some provisions or ways to achieve the same. +Approach: -Methods: +To share data between the controllers in AngularJS we have two main cases: -Parent to Child: via Input, +Share data between parent and child: Here, the sharing of data can be done simply by using controller inheritance as the scope of a child controller inherits from the scope of the parent controller. +Share data between controllers without having a relation: Here, the sharing of data can be done in a few ways some of them are: -Child to Parent: via Output() and EventEmitter, +By using the rootScope variable: -Child to Parent: via ViewChild, +We can use the rootScope variable to hold shared data and then can reference it from any controller. Here, at the start of the Angular app, we initialized the rootScope variable with some value and then refer it from every controller and thus binding scope variables in both controllers to the rootScope variable. -Unrelated Components: via a Service. +By using factory or service: -The contents were taken from dotnettricks, to learn more about data passing in angular visit: https://www.dotnettricks.com/learn/angular/sharing-data-between-angular-components-methods . +The $rootscope method is not preferred for data transfer or sharing data because it has a global scope that is available for the entire application. So, we use another method in which we create a factory or service to hold share data. AngularJS factories and services are JS functions that perform a specific task containing both methods & properties and can be injected into other components (e.g. your controllers) using dependency injection. In this way we can define a shared variable in a factory, inject it into both controllers and thus bind scope variables in both controllers to this factory data. + +Reference:https://www.geeksforgeeks.org/ From 9408b39ca1754a8e0af3d53886994f152773d77e Mon Sep 17 00:00:00 2001 From: Martin-20122001 <123230181+Martin-20122001@users.noreply.github.com> Date: Thu, 23 Mar 2023 12:08:25 +0530 Subject: [PATCH 10/31] Angular definition added in readme file. --- learning/dashboard/readme.md | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/learning/dashboard/readme.md b/learning/dashboard/readme.md index 41c31fed..0e2467f5 100644 --- a/learning/dashboard/readme.md +++ b/learning/dashboard/readme.md @@ -1,4 +1,20 @@ -**Installation** +**Angular** + + +Angular is a development platform, built on TypeScript. As a platform, Angular includes: + + A component-based framework for building scalable web applications. + + A collection of well-integrated libraries that cover a wide variety of features, including routing, forms management, client-server communication, and more. + + A suite of developer tools to help you develop, build, test, and update your code. + +With Angular, you're taking advantage of a platform that can scale from single-developer projects to enterprise-level applications. Angular is designed to make updating as straightforward as possible, so take advantage of the latest developments with minimal effort. + +Reference: https://angular.io/guide/what-is-angular + + +**Angular Installation** To install Angular using CLI write this line on your terminal, @@ -52,13 +68,13 @@ In an Angular application, we may have multiple components with a variety of fun Methods: -Parent to Child: via Input, + Parent to Child: via Input, -Child to Parent: via Output() and EventEmitter, + Child to Parent: via Output() and EventEmitter, -Child to Parent: via ViewChild, + Child to Parent: via ViewChild, -Unrelated Components: via a Service. + Unrelated Components: via a Service. The contents were taken from dotnettricks, to learn more about data passing in angular visit: https://www.dotnettricks.com/learn/angular/sharing-data-between-angular-components-methods . From ca5dc8fb2bb8d123211e38a8d996beff7cb3f852 Mon Sep 17 00:00:00 2001 From: ShambhaviVijay <93869762+ShambhaviVijay@users.noreply.github.com> Date: Fri, 24 Mar 2023 21:42:31 +0530 Subject: [PATCH 11/31] Update readme.md --- learning/dashboard/readme.md | 112 ----------------------------------- 1 file changed, 112 deletions(-) diff --git a/learning/dashboard/readme.md b/learning/dashboard/readme.md index 0e2467f5..8b137891 100644 --- a/learning/dashboard/readme.md +++ b/learning/dashboard/readme.md @@ -1,113 +1 @@ -**Angular** - -Angular is a development platform, built on TypeScript. As a platform, Angular includes: - - A component-based framework for building scalable web applications. - - A collection of well-integrated libraries that cover a wide variety of features, including routing, forms management, client-server communication, and more. - - A suite of developer tools to help you develop, build, test, and update your code. - -With Angular, you're taking advantage of a platform that can scale from single-developer projects to enterprise-level applications. Angular is designed to make updating as straightforward as possible, so take advantage of the latest developments with minimal effort. - -Reference: https://angular.io/guide/what-is-angular - - -**Angular Installation** - - -To install Angular using CLI write this line on your terminal, - npm install -g @angular/cli - -To create workspace named my-app, - ng new my-app - -To run the application enter the following lines on your terminal, - cd my-app - ng serve --open - -After this the Angular application will be launched on your browser at localhost:4200, -(default port for Angular based apps). - - -**What is Angular Routing** - - -In a single-page app, you change what the user sees by showing or hiding portions of the display that correspond to particular components, rather than going out to the server to get a new page. As users perform application tasks, they need to move between the different views that you have defined. - -To handle the navigation from one view to the next, you use the Angular Router. The Router enables navigation by interpreting a browser URL as an instruction to change the view. - -To explore a sample app featuring the router's primary features, see the example below -router.zip file with the reference link. - -Reference Link : https://angular.io/guide/routing-overview - - - **How to Use Angular Routes** - - -Using Angular routes in a single-page application -It describes how to build a single-page application, SPA that uses multiple Angular routes. - -In a Single Page Application (SPA), all of your application's functions exist in a single HTML page. As users access your application's features, the browser needs to render only the parts that matter to the user, instead of loading a new page. This pattern can significantly improve your application's user experience. - -To define how users navigate through your application, you use routes. Add routes to define how users navigate from one part of your application to another. You can also configure routes to guard against unexpected or unauthorized behavior. - -To explore a sample application featuring the contents of this tutorial, see the example with this link -https://stackblitz.com/run?file=src%2Fapp%2Fapp.component.html - -Reference link : https://angular.io/guide/router-tutorial - - - -**Data passing in Angular** - - -In an Angular application, we may have multiple components with a variety of functionality/features and while developing an application we may come across a situation where we need to share or pass the data from one component to another one, in that case, we can achieve that by using the concept of data sharing between the components, and for that in Angular, there are some provisions or ways to achieve the same. - -Methods: - - Parent to Child: via Input, - - Child to Parent: via Output() and EventEmitter, - - Child to Parent: via ViewChild, - - Unrelated Components: via a Service. - -The contents were taken from dotnettricks, to learn more about data passing in angular visit: https://www.dotnettricks.com/learn/angular/sharing-data-between-angular-components-methods . - - - -**Why is data passed between Angular components:** - - -Angular provides component based architecture that allows modularizing the application. It means you can create multiple chunks, and convert your large component to a smaller segment that can be easily maintained. The main advantage to do this is easily understanding the component and maintenance of code. In this scenario, it is important for communication between components or share the data between the component. - -Angular provides multiple ways to share the data between the components. Based on your need and kind of component relation, you can select any of the methods. It is recommended to use the service method as it is independent of component relation and helps you to send data to multiple components. - -Reference: https://www.c-sharpcorner.com/article/sharing-the-data-between-components-in-angular - - -**How to pass the data between angular routes?** - - -The task is to share data variables between two or more controllers by using AngularJS. There are many procedures to achieve this. Here we will discuss the most popular ones. - -Approach: - -To share data between the controllers in AngularJS we have two main cases: - -Share data between parent and child: Here, the sharing of data can be done simply by using controller inheritance as the scope of a child controller inherits from the scope of the parent controller. -Share data between controllers without having a relation: Here, the sharing of data can be done in a few ways some of them are: - -By using the rootScope variable: - -We can use the rootScope variable to hold shared data and then can reference it from any controller. Here, at the start of the Angular app, we initialized the rootScope variable with some value and then refer it from every controller and thus binding scope variables in both controllers to the rootScope variable. - -By using factory or service: - -The $rootscope method is not preferred for data transfer or sharing data because it has a global scope that is available for the entire application. So, we use another method in which we create a factory or service to hold share data. AngularJS factories and services are JS functions that perform a specific task containing both methods & properties and can be injected into other components (e.g. your controllers) using dependency injection. In this way we can define a shared variable in a factory, inject it into both controllers and thus bind scope variables in both controllers to this factory data. - -Reference:https://www.geeksforgeeks.org/ From 294776fc2f6425a49452c66e24adf97ce04aa89d Mon Sep 17 00:00:00 2001 From: ShambhaviVijay <93869762+ShambhaviVijay@users.noreply.github.com> Date: Fri, 24 Mar 2023 21:46:43 +0530 Subject: [PATCH 12/31] Readme content added. --- .../angular_routing/my-app/README.md | 109 +++++++++++++++--- 1 file changed, 95 insertions(+), 14 deletions(-) diff --git a/learning/dashboard/angular_routing/my-app/README.md b/learning/dashboard/angular_routing/my-app/README.md index a4f758fd..4d3f6fd4 100644 --- a/learning/dashboard/angular_routing/my-app/README.md +++ b/learning/dashboard/angular_routing/my-app/README.md @@ -1,27 +1,108 @@ -# MyApp +**Angular** -This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 15.2.4. -## Development server +Angular is a development platform, built on TypeScript. As a platform, Angular includes: -Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. + A component-based framework for building scalable web applications. -## Code scaffolding + A collection of well-integrated libraries that cover a wide variety of features, including routing, forms management, client-server communication, and more. -Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. + A suite of developer tools to help you develop, build, test, and update your code. -## Build +With Angular, you're taking advantage of a platform that can scale from single-developer projects to enterprise-level applications. Angular is designed to make updating as straightforward as possible, so take advantage of the latest developments with minimal effort. -Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. -## Running unit tests +**Angular Installation** -Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). -## Running end-to-end tests +To install Angular using CLI write this line on your terminal, + npm install -g @angular/cli -Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. +To create workspace named my-app, + ng new my-app -## Further help +To run the application enter the following lines on your terminal, + cd my-app + ng serve --open + +After this the Angular application will be launched on your browser at localhost:4200, +(default port for Angular based apps). + + +**What is Angular Routing** + + +In a single-page app, you change what the user sees by showing or hiding portions of the display that correspond to particular components, rather than going out to the server to get a new page. As users perform application tasks, they need to move between the different views that you have defined. + +To handle the navigation from one view to the next, you use the Angular Router. The Router enables navigation by interpreting a browser URL as an instruction to change the view. + +To explore a sample app featuring the router's primary features, see the example below +router.zip file with the reference link. + + + **How to Use Angular Routes** + + +Using Angular routes in a single-page application +It describes how to build a single-page application, SPA that uses multiple Angular routes. + +In a Single Page Application (SPA), all of your application's functions exist in a single HTML page. As users access your application's features, the browser needs to render only the parts that matter to the user, instead of loading a new page. This pattern can significantly improve your application's user experience. + +To define how users navigate through your application, you use routes. Add routes to define how users navigate from one part of your application to another. You can also configure routes to guard against unexpected or unauthorized behavior. + + +**Data passing in Angular** + + +In an Angular application, we may have multiple components with a variety of functionality/features and while developing an application we may come across a situation where we need to share or pass the data from one component to another one, in that case, we can achieve that by using the concept of data sharing between the components, and for that in Angular, there are some provisions or ways to achieve the same. + +Methods: + + Parent to Child: via Input, + + Child to Parent: via Output() and EventEmitter, + + Child to Parent: via ViewChild, + + Unrelated Components: via a Service. + + +**Why is data passed between Angular components:** + + +Angular provides component based architecture that allows modularizing the application. It means you can create multiple chunks, and convert your large component to a smaller segment that can be easily maintained. The main advantage to do this is easily understanding the component and maintenance of code. In this scenario, it is important for communication between components or share the data between the component. + +Angular provides multiple ways to share the data between the components. Based on your need and kind of component relation, you can select any of the methods. It is recommended to use the service method as it is independent of component relation and helps you to send data to multiple components. + + +**How to pass the data between angular routes?** + + +The task is to share data variables between two or more controllers by using AngularJS. There are many procedures to achieve this. Here we will discuss the most popular ones. + +Approach: + +To share data between the controllers in AngularJS we have two main cases: + +Share data between parent and child: Here, the sharing of data can be done simply by using controller inheritance as the scope of a child controller inherits from the scope of the parent controller. +Share data between controllers without having a relation: Here, the sharing of data can be done in a few ways some of them are: + +By using the rootScope variable: + +We can use the rootScope variable to hold shared data and then can reference it from any controller. Here, at the start of the Angular app, we initialized the rootScope variable with some value and then refer it from every controller and thus binding scope variables in both controllers to the rootScope variable. + +By using factory or service: + +The $rootscope method is not preferred for data transfer or sharing data because it has a global scope that is available for the entire application. So, we use another method in which we create a factory or service to hold share data. AngularJS factories and services are JS functions that perform a specific task containing both methods & properties and can be injected into other components (e.g. your controllers) using dependency injection. In this way we can define a shared variable in a factory, inject it into both controllers and thus bind scope variables in both controllers to this factory data. + + +References: + +https://www.geeksforgeeks.org +https://angular.io/guide/router-tutorial +https://www.c-sharpcorner.com/article/sharing-the-data-between-components-in-angular +https://www.dotnettricks.com/learn/angular/sharing-data-between-angular-components-methods +https://stackblitz.com/run?file=src%2Fapp%2Fapp.component.html +https://angular.io/guide/routing-overview +https://angular.io/guide/what-is-angular -To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. From 57c3ac0799154e5b69b636a14c1cec1f6a3133d9 Mon Sep 17 00:00:00 2001 From: ShambhaviVijay <93869762+ShambhaviVijay@users.noreply.github.com> Date: Fri, 24 Mar 2023 21:48:20 +0530 Subject: [PATCH 13/31] restored --- learning/dashboard/readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/learning/dashboard/readme.md b/learning/dashboard/readme.md index 8b137891..e7dd834c 100644 --- a/learning/dashboard/readme.md +++ b/learning/dashboard/readme.md @@ -1 +1,3 @@ +## This directory is the placeholder for all Dashboard and frontend related learnings +### Please use this directory to raise PRs for the learning issues created. From b080820b7b4632ae5bc6347db3991cd8710cdb47 Mon Sep 17 00:00:00 2001 From: shambhavi Date: Fri, 24 Mar 2023 16:34:01 +0530 Subject: [PATCH 14/31] changes done --- .../{my-app => angular-routing}/README.md | 0 .../angular_routing/my-app/.editorconfig | 16 --- .../angular_routing/my-app/.gitignore | 42 ------- .../my-app/.vscode/extensions.json | 4 - .../my-app/.vscode/launch.json | 20 ---- .../angular_routing/my-app/.vscode/tasks.json | 42 ------- .../angular_routing/my-app/angular.json | 102 ----------------- .../angular_routing/my-app/package.json | 45 -------- .../my-app/src/app/app-routing.module.ts | 25 ---- .../my-app/src/app/app.component.css | 0 .../my-app/src/app/app.component.html | 3 - .../my-app/src/app/app.component.spec.ts | 35 ------ .../my-app/src/app/app.component.ts | 10 -- .../my-app/src/app/app.module.ts | 27 ----- .../forget-password.component.css | 101 ---------------- .../forget-password.component.html | 49 -------- .../forget-password.component.spec.ts | 23 ---- .../forget-password.component.ts | 10 -- .../app/components/login/login.component.css | 108 ------------------ .../app/components/login/login.component.html | 53 --------- .../components/login/login.component.spec.ts | 23 ---- .../app/components/login/login.component.ts | 10 -- .../not-found/img/404! PAGE NOT FOUND.png | Bin 39777 -> 0 bytes .../not-found/img/Animated Shape.svg | 31 ----- .../not-found/not-found.component.css | 59 ---------- .../not-found/not-found.component.html | 45 -------- .../not-found/not-found.component.spec.ts | 23 ---- .../not-found/not-found.component.ts | 10 -- .../app/modules/admin/admin-routing.module.ts | 26 ----- .../src/app/modules/admin/admin.module.ts | 27 ----- .../admin-dashboard.component.css | 0 .../admin-dashboard.component.html | 3 - .../admin-dashboard.component.spec.ts | 23 ---- .../admin-dashboard.component.ts | 10 -- .../components/contact/contact.component.css | 49 -------- .../components/contact/contact.component.html | 64 ----------- .../contact/contact.component.spec.ts | 23 ---- .../components/contact/contact.component.ts | 10 -- .../components/footer/footer.component.css | 18 --- .../components/footer/footer.component.html | 21 ---- .../footer/footer.component.spec.ts | 23 ---- .../components/footer/footer.component.ts | 10 -- .../getting-started.component.css | 39 ------- .../getting-started.component.html | 68 ----------- .../getting-started.component.spec.ts | 23 ---- .../getting-started.component.ts | 10 -- .../components/header/header.component.css | 24 ---- .../components/header/header.component.html | 38 ------ .../header/header.component.spec.ts | 23 ---- .../components/header/header.component.ts | 10 -- .../admin/components/home/home.component.css | 55 --------- .../admin/components/home/home.component.html | 82 ------------- .../components/home/home.component.spec.ts | 23 ---- .../admin/components/home/home.component.ts | 10 -- .../my-app/src/assets/.gitkeep | 0 .../angular_routing/my-app/src/favicon.ico | Bin 948 -> 0 bytes .../angular_routing/my-app/src/index.html | 16 --- .../angular_routing/my-app/src/main.ts | 9 -- .../angular_routing/my-app/src/styles.css | 1 - .../angular_routing/my-app/tsconfig.app.json | 16 --- .../angular_routing/my-app/tsconfig.json | 33 ------ .../angular_routing/my-app/tsconfig.spec.json | 15 --- 62 files changed, 1718 deletions(-) rename learning/dashboard/angular_routing/{my-app => angular-routing}/README.md (100%) delete mode 100644 learning/dashboard/angular_routing/my-app/.editorconfig delete mode 100644 learning/dashboard/angular_routing/my-app/.gitignore delete mode 100644 learning/dashboard/angular_routing/my-app/.vscode/extensions.json delete mode 100644 learning/dashboard/angular_routing/my-app/.vscode/launch.json delete mode 100644 learning/dashboard/angular_routing/my-app/.vscode/tasks.json delete mode 100644 learning/dashboard/angular_routing/my-app/angular.json delete mode 100644 learning/dashboard/angular_routing/my-app/package.json delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/app-routing.module.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/app.component.css delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/app.component.html delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/app.component.spec.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/app.component.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/app.module.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.css delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.html delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.spec.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.css delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.html delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.spec.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/not-found/img/404! PAGE NOT FOUND.png delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/not-found/img/Animated Shape.svg delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.css delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.html delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.spec.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/admin-routing.module.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/admin.module.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.css delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.html delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.spec.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.css delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.html delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.spec.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.css delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.html delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.spec.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.css delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.html delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.spec.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.css delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.html delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.spec.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.css delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.html delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.spec.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/assets/.gitkeep delete mode 100644 learning/dashboard/angular_routing/my-app/src/favicon.ico delete mode 100644 learning/dashboard/angular_routing/my-app/src/index.html delete mode 100644 learning/dashboard/angular_routing/my-app/src/main.ts delete mode 100644 learning/dashboard/angular_routing/my-app/src/styles.css delete mode 100644 learning/dashboard/angular_routing/my-app/tsconfig.app.json delete mode 100644 learning/dashboard/angular_routing/my-app/tsconfig.json delete mode 100644 learning/dashboard/angular_routing/my-app/tsconfig.spec.json diff --git a/learning/dashboard/angular_routing/my-app/README.md b/learning/dashboard/angular_routing/angular-routing/README.md similarity index 100% rename from learning/dashboard/angular_routing/my-app/README.md rename to learning/dashboard/angular_routing/angular-routing/README.md diff --git a/learning/dashboard/angular_routing/my-app/.editorconfig b/learning/dashboard/angular_routing/my-app/.editorconfig deleted file mode 100644 index 59d9a3a3..00000000 --- a/learning/dashboard/angular_routing/my-app/.editorconfig +++ /dev/null @@ -1,16 +0,0 @@ -# Editor configuration, see https://editorconfig.org -root = true - -[*] -charset = utf-8 -indent_style = space -indent_size = 2 -insert_final_newline = true -trim_trailing_whitespace = true - -[*.ts] -quote_type = single - -[*.md] -max_line_length = off -trim_trailing_whitespace = false diff --git a/learning/dashboard/angular_routing/my-app/.gitignore b/learning/dashboard/angular_routing/my-app/.gitignore deleted file mode 100644 index 0711527e..00000000 --- a/learning/dashboard/angular_routing/my-app/.gitignore +++ /dev/null @@ -1,42 +0,0 @@ -# See http://help.github.com/ignore-files/ for more about ignoring files. - -# Compiled output -/dist -/tmp -/out-tsc -/bazel-out - -# Node -/node_modules -npm-debug.log -yarn-error.log - -# IDEs and editors -.idea/ -.project -.classpath -.c9/ -*.launch -.settings/ -*.sublime-workspace - -# Visual Studio Code -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json -.history/* - -# Miscellaneous -/.angular/cache -.sass-cache/ -/connect.lock -/coverage -/libpeerconnection.log -testem.log -/typings - -# System files -.DS_Store -Thumbs.db diff --git a/learning/dashboard/angular_routing/my-app/.vscode/extensions.json b/learning/dashboard/angular_routing/my-app/.vscode/extensions.json deleted file mode 100644 index 77b37457..00000000 --- a/learning/dashboard/angular_routing/my-app/.vscode/extensions.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 - "recommendations": ["angular.ng-template"] -} diff --git a/learning/dashboard/angular_routing/my-app/.vscode/launch.json b/learning/dashboard/angular_routing/my-app/.vscode/launch.json deleted file mode 100644 index 740e35a0..00000000 --- a/learning/dashboard/angular_routing/my-app/.vscode/launch.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "ng serve", - "type": "pwa-chrome", - "request": "launch", - "preLaunchTask": "npm: start", - "url": "http://localhost:4200/" - }, - { - "name": "ng test", - "type": "chrome", - "request": "launch", - "preLaunchTask": "npm: test", - "url": "http://localhost:9876/debug.html" - } - ] -} diff --git a/learning/dashboard/angular_routing/my-app/.vscode/tasks.json b/learning/dashboard/angular_routing/my-app/.vscode/tasks.json deleted file mode 100644 index a298b5bd..00000000 --- a/learning/dashboard/angular_routing/my-app/.vscode/tasks.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558 - "version": "2.0.0", - "tasks": [ - { - "type": "npm", - "script": "start", - "isBackground": true, - "problemMatcher": { - "owner": "typescript", - "pattern": "$tsc", - "background": { - "activeOnStart": true, - "beginsPattern": { - "regexp": "(.*?)" - }, - "endsPattern": { - "regexp": "bundle generation complete" - } - } - } - }, - { - "type": "npm", - "script": "test", - "isBackground": true, - "problemMatcher": { - "owner": "typescript", - "pattern": "$tsc", - "background": { - "activeOnStart": true, - "beginsPattern": { - "regexp": "(.*?)" - }, - "endsPattern": { - "regexp": "bundle generation complete" - } - } - } - } - ] -} diff --git a/learning/dashboard/angular_routing/my-app/angular.json b/learning/dashboard/angular_routing/my-app/angular.json deleted file mode 100644 index 59e718f5..00000000 --- a/learning/dashboard/angular_routing/my-app/angular.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "$schema": "./node_modules/@angular/cli/lib/config/schema.json", - "version": 1, - "newProjectRoot": "projects", - "projects": { - "my-app": { - "projectType": "application", - "schematics": {}, - "root": "", - "sourceRoot": "src", - "prefix": "app", - "architect": { - "build": { - "builder": "@angular-devkit/build-angular:browser", - "options": { - "outputPath": "dist/my-app", - "index": "src/index.html", - "main": "src/main.ts", - "polyfills": [ - "zone.js" - ], - "tsConfig": "tsconfig.app.json", - "assets": [ - "src/favicon.ico", - "src/assets" - ], - "styles": [ - "node_modules/bootstrap/dist/css/bootstrap.min.css", - "src/styles.css" - ], - "scripts": [] - }, - "configurations": { - "production": { - "budgets": [ - { - "type": "initial", - "maximumWarning": "500kb", - "maximumError": "1mb" - }, - { - "type": "anyComponentStyle", - "maximumWarning": "2kb", - "maximumError": "4kb" - } - ], - "outputHashing": "all" - }, - "development": { - "buildOptimizer": false, - "optimization": false, - "vendorChunk": true, - "extractLicenses": false, - "sourceMap": true, - "namedChunks": true - } - }, - "defaultConfiguration": "production" - }, - "serve": { - "builder": "@angular-devkit/build-angular:dev-server", - "configurations": { - "production": { - "browserTarget": "my-app:build:production" - }, - "development": { - "browserTarget": "my-app:build:development" - } - }, - "defaultConfiguration": "development" - }, - "extract-i18n": { - "builder": "@angular-devkit/build-angular:extract-i18n", - "options": { - "browserTarget": "my-app:build" - } - }, - "test": { - "builder": "@angular-devkit/build-angular:karma", - "options": { - "polyfills": [ - "zone.js", - "zone.js/testing" - ], - "tsConfig": "tsconfig.spec.json", - "assets": [ - "src/favicon.ico", - "src/assets" - ], - "styles": [ - "src/styles.css" - ], - "scripts": [] - } - } - } - } - }, - "cli": { - "analytics": "b59b31a0-cff1-427a-99e0-69783de84417" - } -} diff --git a/learning/dashboard/angular_routing/my-app/package.json b/learning/dashboard/angular_routing/my-app/package.json deleted file mode 100644 index fdd4df1c..00000000 --- a/learning/dashboard/angular_routing/my-app/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "my-app", - "version": "0.0.0", - "scripts": { - "ng": "ng", - "start": "ng serve", - "build": "ng build", - "watch": "ng build --watch --configuration development", - "test": "ng test" - }, - "private": true, - "dependencies": { - "@angular/animations": "^15.2.0", - "@angular/common": "^15.2.0", - "@angular/compiler": "^15.2.0", - "@angular/core": "^15.2.0", - "@angular/forms": "^15.2.0", - "@angular/platform-browser": "^15.2.0", - "@angular/platform-browser-dynamic": "^15.2.0", - "@angular/router": "^15.2.0", - "@fortawesome/angular-fontawesome": "^0.12.1", - "@fortawesome/fontawesome-svg-core": "^6.2.1", - "@fortawesome/free-solid-svg-icons": "^6.2.1", - "@ng-bootstrap/ng-bootstrap": "^14.0.1", - "@popperjs/core": "^2.11.6", - "bootstrap": "^5.2.3", - "rxjs": "~7.8.0", - "tslib": "^2.3.0", - "zone.js": "~0.12.0" - }, - "devDependencies": { - "@angular-devkit/build-angular": "^15.2.4", - "@angular/cli": "~15.2.4", - "@angular/compiler-cli": "^15.2.0", - "@angular/localize": "^15.2.0", - "@types/jasmine": "~4.3.0", - "jasmine-core": "~4.5.0", - "karma": "~6.4.0", - "karma-chrome-launcher": "~3.1.0", - "karma-coverage": "~2.2.0", - "karma-jasmine": "~5.1.0", - "karma-jasmine-html-reporter": "~2.0.0", - "typescript": "~4.9.4" - } -} \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/app-routing.module.ts b/learning/dashboard/angular_routing/my-app/src/app/app-routing.module.ts deleted file mode 100644 index 03c36adb..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/app-routing.module.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { NgModule } from '@angular/core'; -import { RouterModule, Routes } from '@angular/router'; -import { LoginComponent } from './components/login/login.component'; -import { ForgetPasswordComponent } from './components/forget-password/forget-password.component'; -import { NotFoundComponent } from './components/not-found/not-found.component'; - - -const routes: Routes = [ -{path: 'login', component: LoginComponent }, -{path: 'forget-password', component: ForgetPasswordComponent }, -{path: '' , redirectTo : '/login', pathMatch: 'full'}, -// LAZY LOADING - -{path:'admin', -loadChildren: ()=> -import('./modules/admin/admin.module').then((m) => m.AdminModule), -}, -{path: '**', component: NotFoundComponent }]; - -@NgModule({ - imports: [RouterModule.forRoot(routes)], - exports: [RouterModule] -}) -export class AppRoutingModule { } - diff --git a/learning/dashboard/angular_routing/my-app/src/app/app.component.css b/learning/dashboard/angular_routing/my-app/src/app/app.component.css deleted file mode 100644 index e69de29b..00000000 diff --git a/learning/dashboard/angular_routing/my-app/src/app/app.component.html b/learning/dashboard/angular_routing/my-app/src/app/app.component.html deleted file mode 100644 index 9af5c1a6..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/app.component.html +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/app.component.spec.ts b/learning/dashboard/angular_routing/my-app/src/app/app.component.spec.ts deleted file mode 100644 index d5e0fd97..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/app.component.spec.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { RouterTestingModule } from '@angular/router/testing'; -import { AppComponent } from './app.component'; - -describe('AppComponent', () => { - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [ - RouterTestingModule - ], - declarations: [ - AppComponent - ], - }).compileComponents(); - }); - - it('should create the app', () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.componentInstance; - expect(app).toBeTruthy(); - }); - - it(`should have as title 'my-app'`, () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.componentInstance; - expect(app.title).toEqual('my-app'); - }); - - it('should render title', () => { - const fixture = TestBed.createComponent(AppComponent); - fixture.detectChanges(); - const compiled = fixture.nativeElement as HTMLElement; - expect(compiled.querySelector('.content span')?.textContent).toContain('my-app app is running!'); - }); -}); diff --git a/learning/dashboard/angular_routing/my-app/src/app/app.component.ts b/learning/dashboard/angular_routing/my-app/src/app/app.component.ts deleted file mode 100644 index 28163341..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/app.component.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-root', - templateUrl: './app.component.html', - styleUrls: ['./app.component.css'] -}) -export class AppComponent { - title = 'my-app'; -} diff --git a/learning/dashboard/angular_routing/my-app/src/app/app.module.ts b/learning/dashboard/angular_routing/my-app/src/app/app.module.ts deleted file mode 100644 index 6ebd8db2..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/app.module.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { NgModule } from '@angular/core'; -import { BrowserModule } from '@angular/platform-browser'; -import { AppRoutingModule } from './app-routing.module'; -import { AppComponent } from './app.component'; -import { LoginComponent } from './components/login/login.component'; -import { ForgetPasswordComponent } from './components/forget-password/forget-password.component'; -import { NotFoundComponent } from './components/not-found/not-found.component'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; - -@NgModule({ - declarations: [ - AppComponent, - LoginComponent, - ForgetPasswordComponent, - NotFoundComponent - ], - imports: [ - BrowserModule, - AppRoutingModule, - NgbModule, - FontAwesomeModule - ], - providers: [], - bootstrap: [AppComponent] -}) -export class AppModule { } diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.css b/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.css deleted file mode 100644 index 3caa7df8..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.css +++ /dev/null @@ -1,101 +0,0 @@ -body{ - background-color: rgba(17, 17, 62, 0.963); - height: 100vh; - - } -.navbar { - height: 8vh; - background-color:rgba(3, 3, 80, 1); - display: flex; - color: white; - -} - -ul { - display: flex; - justify-content: center; -} - -li { - list-style-type: none; - padding: 1vh; - margin: 1vh; - font-size: 2.2vh; -} - -.for-pwd{ - color: white; - position: absolute; - top: 25%; - left: 35%; - margin-top: 15vh; - margin-left: 7vh; -} - -.box input { - background: none; - border: 0ch; - -} - -.box i { - width: 4vh; - text-align: center; - -} - -.btn:hover { - background-color: rgb(3, 53, 74); - color: white; - -} -.box { - padding: 1vh; - border-bottom: 0.1vh solid white; -} - -.feild { - height: 5vh; - color: white; - width: 49vh; - font-size: 2.3vh; -} - -.button{ - display: flex; -} - -.btn { - padding: 1vh; - display: block; - background: none; - margin: 2vh; - border: 2px solid white; - color: white; - border-radius: 15px; - font-size: 1.6vh; - -} -.btn2 { - padding: 1vh; - display: block; - background: none; - margin: 2vh; - border: 2px solid white; - color: white; - border-radius: 15px; - font-size: 1.6vh; - - -} -.btn2 a{ - text-decoration: none; - color: white; -} -.btn2:hover { - background-color: rgb(3, 53, 74); - color: white; -} - - - diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.html b/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.html deleted file mode 100644 index 34a52dc9..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - FPWD - - - - - - - - - - - - - - - -
-

FORGET PASSWORD

-
-

Enter your email id and we will send you a reset password link to you.

- - -
- -
- - -
-
- - - \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.spec.ts b/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.spec.ts deleted file mode 100644 index 1de1e2b3..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ForgetPasswordComponent } from './forget-password.component'; - -describe('ForgetPasswordComponent', () => { - let component: ForgetPasswordComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ ForgetPasswordComponent ] - }) - .compileComponents(); - - fixture = TestBed.createComponent(ForgetPasswordComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.ts b/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.ts deleted file mode 100644 index cc968d6e..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/components/forget-password/forget-password.component.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-forget-password', - templateUrl: './forget-password.component.html', - styleUrls: ['./forget-password.component.css'] -}) -export class ForgetPasswordComponent { - -} diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.css b/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.css deleted file mode 100644 index a67d5b19..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.css +++ /dev/null @@ -1,108 +0,0 @@ - -body { - background-color: rgba(17, 17, 62, 0.963); - height: 100vh; -} - -.name { - color: white; - background-color: none; - margin-left: 150vh; - margin-top:2.5vh ; - font-family: 'Gill Sans', 'Gill Sans MT', 'Trebuchet MS', sans-serif; -} - -.nav { - background-color: rgba(3, 3, 80, 1); -} - -h1 { - font-size: 5vh; - font-weight: 900; - position: relative; - color: rgba(123, 188, 226, 0.996); -} - -svg { - z-index: -1; -} - -a { - text-decoration: none; - color: white; -} - -.login-area { - color: white; - position: absolute; - top: 25%; - left: 35%; - margin-top: 15vh; - margin-left: 7vh; -} - -.box input { - background: none; - border: 0ch; -} - -.box i { - width: 4vh; - text-align: center; - -} - -.btn:hover { - background-color: rgb(3, 53, 74); - color: black; -} - -.box { - padding: 1vh; - border-bottom: 0.1vh solid white; -} - -.feild { - height: 5vh; - color: white; - width: 49vh; - font-size: 2.3vh; -} - -.button { - display: flex; -} - - -.btn { - padding: 1vh; - display: block; - background: none; - margin: 2vh; - border: 2px solid white; - color: white; - border-radius: 15px; - font-size: 1.6vh; - -} - -.btn2 { - padding: 1vh; - display: block; - background: none; - margin: 2vh; - border: 2px solid white; - color: white; - border-radius: 15px; - font-size: 1.6vh; -} - -.btn2 a { - text-decoration: none; - color: white; -} - -.btn2:hover { - background-color: rgb(3, 53, 74); - color: black; -} \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.html b/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.html deleted file mode 100644 index b3e431c6..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - Login - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.spec.ts b/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.spec.ts deleted file mode 100644 index 10eca249..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { LoginComponent } from './login.component'; - -describe('LoginComponent', () => { - let component: LoginComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ LoginComponent ] - }) - .compileComponents(); - - fixture = TestBed.createComponent(LoginComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.ts b/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.ts deleted file mode 100644 index ba9f2956..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/components/login/login.component.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-login', - templateUrl: './login.component.html', - styleUrls: ['./login.component.css'] -}) -export class LoginComponent { - -} diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/not-found/img/404! PAGE NOT FOUND.png b/learning/dashboard/angular_routing/my-app/src/app/components/not-found/img/404! PAGE NOT FOUND.png deleted file mode 100644 index 5faacda03f911c71fd3026135482f777d5176f34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39777 zcmeFYWmjA8);)~7yGsb}PH_nktY~p4?$+W^DDE2ErMMM$inLg9cc-`(hXPM}?s30) z?%z4*3;f?C85!BvURl?==8`#gq}p3~Of)hy7#J8#1u#eh1_mJ#`Z)##3Ho}^^>7aZ zLj$7#lG5@rKJi0NH-4A#nx%Z+rCMUeGhB2hjfSHLASsF{%SZ7*^i1gv0(2Bcm-W=t zMxAg(Z0k#vGr*ZDNc-drTlk!JrCBKc{=D(@Ykc+m>8xvi^{cYgkZ&#{Htj~&e(sgX z&2yLIJY)BtMa0cM6fU?J7`mQ+dUMgEahfdp1A z;2+-<0J-r0egQ5x2ZbN5|9s{DEC+*Y;>nwf^q-bc#=E5W4;J8>DE${3B49eQF8TiB z5|D`ff8(kDai76|u|X1HaV@44_Me^oKT9NmM3Mik8==lv{BJe@dd{pwG5^yN>A>wb z|G3@%`(^5Xu>l9xLvY9Te}DZ?fzt!To%naL@UI1)9aQfF043S<~ z|2}kkP-^M_iw&TFwJ|TU|Fi@&uK#0L2C)AZ8))E8oCaq8Q)CDHzoYT5Sp9!TBQPVl z=YCO$&(r<;&^?I-J^grgn5zBh=-&JWYotw@gJ&VdMu-$ z*QOozxVDh~-&35ffRa2vEAzn-^L`v|Xlyhn`wcU1`NOKVoQWJw4{$1mguw~;4-l8e z3AgtA>~gQn9TS_aDcS0DDtv)`(eVj(E0-6}SQ>f|IAKTT{_#J0Aq9S+FP>bU7f>fn z0_FCm*qb6y;F>_85aAzg6w}iv8xZua+w%|5kc2$PW~YAjAt4h-&~arH(;UHy1x^`n zY&LPngZKZs(}k2~a&jKFR59w*hl~stmVA%XB&}h@zj!pAR@Fr@cZZBwst~Y zd+?j;^O@K`cz1>@aJgAq$VkI#S+1T*F)B8+O<@>^ib%Bj>3gg>LJ2R_y(;@tTg}}6 z;NA>6u1{waovtS&qf`>kQ3!|)Z>0*E2-%|`W@a3&v#n1t0rt>pVwcS6579r|JEn(# z)`fsQQh%xtToMu%CT%ATSJXcc_&FeNl=Tk=^a?}JUqD6s$3g*W`L`EZAwvy>{jl)j zWrZ{A^191}jO3v+YmJCYnV0}fSZGdR_&*7u$1?Em!Mvs&o)i@Qu~cid8KJ{3D5D~S zkFj+>Opy4LvEdLve^`J+u?hdA=wn&2YfTb}Ee7?2-$8h~$k5+C4>(4_uxoUu^QybO zyHRIBzrNb%YpD7D)0qb@6(?VpVt-;~+XW*&rq4TOcx!)Oq>jpZB6n=*6C3SM>=6Lh zM<)WgiFoGt_?=FX=qu-D>~Xrjzd=vmiz6EjJ+o|9!4;ifIU&w$k?xj z6G&XtP5g|IfTz2RyDR?n?aw6PUH{aKOfz{5IfSR4y$9S{T1JZHC%LWioY;BtAI@BG z)Y8x}eZ;|H@r=a1=c196#x;T)Rn%}xUO@O#62~DVBD}56Bm)nZ@;Hlr>xO@Va@E^# zzrU(SfKYqBv%@9y$pbEUs*d~O>gL^x#Lx!yAFh4}FEy?oA>n>Z980sG@dD)J2Tc&3 zgn69sW6EOUvXe5={a#(Ze5k6(4ekvufWbBeOd2qb{gok0^fOuo}%==DXOoF~F6`yAqq{rev_++wGNJ zqwM_T;>Q~!uaE{RZcQg0-{|L{6NT5RJz#J<7WM2|2%@ z8s6veF@fnQ^kUN_JuMfj{IX6X&(r-gSEb?kCzm^s+~s&fz2kLZx)?5p)5EZVQ~{fV z6C9)l?PHXlwoIZt6kC#6VForFCnHMitSdmirx(UcYd2=xJ8bY6vVR2beJvdnSi}87 z+CInhV94fwDJ70eNzQEcpZjAN5$pC|X!Z#ugSW+$Tuy!<-`R%bla*;Zh9Ekslh!PH zGs|Lmn*E~@?nQ|jt4KhqwAgbnmr&3ToLkq66FpfW5;-ZYWT}u(&x8;rVLTpu{7$*W zHq?%-W5Eu2tK!@!{`^x?JUF5giKv)vl z!oUG_`bZnYCfO3z<(D5IxxS-^E7A45`L~@1o*pcY#cek3)rqw&OuQqG(vn737VJ~1 zP8bZNZg3xBk+$`3?k+>U%QCQJ3xBRj_j&J2=4~U%*wwdSDC2a2qDE+A-&N4B zM5TvtBBx`Y25@S6zct8A?*~L7<{*O%S%A3X9VS5L!*g}hf;0k-WqfiG;ev(^@=TGA z9#5iy<(_7a91)#NnnJAP1;Opd6VIo&`D-HDqglrxvF+H2ecM$QtCWuP3Sb|0MI}$) zx7kdUY6SF!9x?CJLw6`c5SloDgoH_rXD2h0J1_HQb#&ynexn*-Gm+iN3t5`@=DDKS zYAyqSWHoF(++~{Fk$P7aF&_gzN8q-CpfKnb8L&SAO^5++;Hqt8-5P5ruM1dH*+R>P zT)s*w5GzILa0&BZt$EoxogXFKewK(YxmWkn1N;tbd?ikB;bJ}dm5CrSJ&uHgBn9Tu zhf@xeYi?{du3P-wtE7QqoLz?FEqi(vQu5(N%b$=fLLs-yg)z)yNS@&16S8-H! zaHC)w8+NmQDYy5hfY-hLlCZiuj|I=fXCKXuVuu0R{w8Ce0tRGqp6RNTad0^@4S6sD z6R&g;Xh=;~sQ)D2C}_*@`CDvB5&47I-XMJ}7NQVjK#6oY?9M!AIEN`{+2UoPKFTrwjE01Kgi6D5H$(fbX1gvk6 zsNn2tK3c0~O|SB&EfNSBI?psM@dPVt=s4z4 zr4OUcp{Y7IUh;DL&7p5uV%Z^dlcxvl`F2xFt;lB7!s$b(&bTcM%KOwin4d5dD z0tNdYXc=!emYUf}{k=DuaLAn+UY`HB(sS``f8$Xr!G>m1F8se`2SW^AOCoM725vt3 z(vy6A#_gZ>reje6Ld52~=MD7AiXskxIMZbH&~S4i2qd~G8;u~07t$0GGUchznne?- zHiRx?I-E2QvwRMDc;?a{4hdh5z-37S;^JZ3j2o@3vJga+jb)TcU56lP@=?{iyzNtC zY$vlXhwo*BiqXRf}kBBU(OM}M}(SH&xQQw6JUN#%;0yth!DS{{Fc--8C4}N8f-a}HCC`{@67>DRspn$eeYOvY zlPakQEVzf!z#zri$ESRBJhXVb!$Zn|-^*lMc-nVrr@{EZseZAPm%RCWs&b-`zPtHf zBOx0fe!>2%aYLI3`ey9vY14E@F6dl;O{xzMT8Fs!6Ah*(6NtfgwG!XGIsMN1`}ZUw z-+;#R(RY1x@-9E+y5^oXydWZ}Wif7)wYTMJ2s7;6e0muZxVL$F z^~Qr1!+vFjPzN~ZPDoA}Pn76tqz`Y`QT~FYMe!?52aGSIS8m(t2{dSLm?U}E(kSh2 zo}{)^)So>6R9MBPl&WE6F72!0u7pmoF#C2?ifn<{5H5v7~x6{m_lPyWSjuET!DLmvEo)3L@*rYul?3$tm?5j-oj zofMaO)PG2-O`GQPEx3wQU*w`*`G?Lq!jdc}YpM}>E>Ee1P^oU z0B&zFkMK&JCe~AhCgmu3j~2kGnnGaU6Z?3IirIeqMYhRZEi{CXFq2j1tKk_g?E-^^ zhcvoAYdHtk@;Tn6G@Lu$KvrT-8cVO0+{v^tgoHYr`^`3+{U3XET`?nVfhlD>a}0eg z*)RZUWGaFWsAvb~r*6cwh>vfXxe?!c1zliJ1Ll5}KtOd1>N1w$UHEVGqP^0NeS%n4 zz4RvcTPY*^hP9U__fxX8J-SnB_i9HQ%b5ZtakYSrt=(~I6i>@j|efC-?T{Jc~lBRUtzx-(PM^$G* z5+2F6S;MB9Q~u6G%$}b0rffn(#3PR_Akj3--BKuSYfpB)DS1wRSXjTk{7ID!udfKK zc}HFE&r)p*BHj~_F>`eH5$b&To<-Onsh{gziHD`_Er3KZ@_W>VO2j{04F^AdWGKM8i2IKj(nMG;JC9NB#X$D)#sV)_~! z#cvpigPX31eNOPs6n&f0^zrnU)ksQTg)@Iv2C4ZNb{gnHdKM?A58aq=kQ9oLrW~c% z+hWt}^Aa$LsdqTDY4q zizmfIM|S`dJtQh6qw(f4gXbSH$>;SPoAEl^Y7ouO4o|4H^bFnjMirDlGK0Iuf=b8u z#JoYeA@%aZNHNXRQkhTvWwSOm&hGUW1@282RLtCvDlOYbwtj4uK6hG{vv#VH8uCGp zNnMW7aR|dB=vm0vILS&LM8o#FFwanMS+#svQ@>je>F7o>hzb{6f zN_HKakqeckD55enQMJ1pq=AQV(Drl2FQnBEI!lP@sq_`+YBVlD-xzFOr2f4grg&S( zAcJSi`BIVE+R!q>j1*;@7ZDK|9}(DCB%~yrD{_y6`?0E3OOZ)2LN$QUwV@bM-gDXV zx~4*fK?zgrj@%Q0w#&I9ZQ722OsjWl28f#|SVYO#Hv-m_5Tuv=V4Fa=9DAYpq&c-H zBvqqQOpn_%LI{aizbZn?aq)V(phaY0JzjP&PMs4liy<&)_ryax@OB!w1JE98y=y8* zq^S<{CgGG%WmL8eZDo(=J7k7ZA?e7S#zjcZRoMu|)+P8oj<+r6->}7V1@QMSOM=0~8aA z4}7fLtB>Z~$&6&}am`uQ_04z36>2_N6dc>oS2ooWw6$flalGCbWNl@-U!ArKh1nm^ zJ*QkO5BrncnHGW@zh0hG`~U6oF509tewB+hlwXm26nR^x+0*$B0NjeEY)4lDDYI%ml+ z3!&4)VIRvlZl>8?#3GYXBsUDp&>pfIHtLl$khm$wFv?r*Xm{&SP1`?tQ=X6}Fla7~ zb5q(_BXx+~ma8JG3~=1nf<){kF_ksbG3CzYSDw098riSNdhOADFbDpaZkS3`uN4&> zq$dW*V_2}kSVjWyR@X&7tbSZ}85Hn##V&T{Hx1avmzCur)OJn_0v3u->vq0(!P^-M z?M+cii)j8Hxgm>ytH)6Nb0icYJ2;m~_FWUcZ@97Fwb)O^^jw1T+kGu`z?UZ3r=84D zbWwkX;c;tELZsz$wfCT!4SmVO8ZPIzWV`qX0idzP*2+`+dnzR~GHQRe z$h^zYfS^guI4C!wW&J>!qFZiP7Mx$}f|1)X`;jt^Q!Om_s6_6&_|z3ajJxgIF!>?G z)4O3vSVXM0+Xfh{958pa*S1Ezgr@Z|EQmyYhx!XQf5n6*nVV_?h>z2uMw-7}8*3IB z@LeEZ={=jis8_|1E{vQhmpxjeGm)B5cPE;W*D_lvrsqj`%bi-^Lr(^8x-B=Q8TWX) z;7BnbvP|`9g1{7MOs!EUX(U_jDj!BOGs`mdOa4i81CJ;Y=_zISWc>(Rk6_OGD_-8U z<#^lC=%b?)zxNYC5yAu^9Emy{dbnfeIk&<1&jdm8LFGE!)tji->W43mDLD zpe5L3b|U$cWd9^c>6DRmY4isujjfO(5&#{GT>uIXBsN%r0oN7eU7N>sH$8;haJ+wq zJXXsQAACun)3d;lL}208J4D6m%J`*PReE(d0?y~^gMChxqAtUR$(vD;!p9qbM*A!? zjEkkv-n5%2$RkPU;3~%X01NHb0T+_dnVb%R=ZuSH9vW+fJMa5)ziT%xZTXV}xL2tc zTbR*`CdV-rov?vo&&FMhM3Q8MA#VCEz5d+keBU5og`-oj^l0)P39-_Ozp8$&?Xehp zEllz-hG$tTLLYn(4JYebah=xt-vSDtje>g+!H@YBy+#gt1yGSHja6cjg5cZZmi$h< zJJ}rv2e+^)dA$CabafF4A@}9k-=SCSUMqO!^`wh@k zQ^AUmLfJppq=A+->m=`|^_{CQRtp3xxW5zC5cO?=aT^5irbKkP88e}9an?MmzyG(* z^J94bhRbdubJ0;77lhc))D43eoAjDr69mSh%DWg{AYC}^<_bm4GlYdU!<}tZP12L! zV>sNN(9nujKbK5rf_LL&{ZI!@Hjel9-wu<}wWJY^Qh?3~YHDojSwsT+j0D?hGE>T3 z;90*q|KMANul13tVN8W+QO51Y7%Tdy%jQnzcPQZ{CioZC4$VddS4Gqq*Y#OSEny%( zzW6e}O|Q|T&$(GO1gk{MRYye-vu6B`S>{dgEwgcIeR?VeMp~@Yv$6u=*;J|k063AY=&P)i?VG~*sJ8x`(oHoJE!JrK{d~7V+(+!B=PcX_Z=>GW zU4*^Pd=gwjHSWWpkN)Q=9Q$vn{K@>Mm^8wW*!L;~^JOJc%xqSZWsRIX&1v&I*`&=Y zFb3w%=P@wgvji~WQzDHt#HP8MIs^e(8Z1c@f{fJ0X3{?G;kiyLWr2eIuEC7|^i*BB zWi`q+?dGRe$2T={3(k;Sn#cp+3eqlR3K}1AIE92JP01h%7Un=K3>0=2i-KDJx;tJo z+zgEXZ3e3|@Vd({?qiAAH7>~anls*Oe^VoNExI@6yV6n{rAn`1q0yb+R9jc5rwpf_ zjN-Ek9Hcd?r98ud5W?v%W@ejcjh$E8w0A{kZ(Zv@ugk+aK~ z_~}t1!CgMTKE@m1mM;o6Hh(Xl#+xZ{p^u}iX8&l7pLmcAHsvn~x|2)%m$QjVtzmL} zLrLx;4FjtQNbfYhJc=sdMVeWtlMluE$i^K<5e@oJW*3M9AFz5hs5=PZF1|Tx%MFfy zpQ`X*G>AFNbPv`x*|Ua{F7eO`hSwjZ4c-UkL`2U7OCzjMq>K4Q zv$qru`W)02Ny3#~2|^z0Yf5RXCO?f)#ANZ*$(u-hL5?MD4T54B7yqjT0Qz!R6#H=W ze_a=>*2S0YFTBXw7u(XwV8nxMGUuL|5+3#9(^PbHWgUR4z|nW`9*H#*-Yk+IS013w z5XNj50pjWQH>IjIaA=+>+e{1m;QRT z44wQ=Z%QK4V-hkcm^LoBG*~E-7$F6JdgGy5CiwQ%d!_ZV{6bC;*Dk-;k5sy5L?Xul6vWg#f>{VrvYKd<} zn^DlzwW@5EPXN9ju-xiaw*bGS@7OVQ1=R8j;PA5|J}9TKSG^gr6O-E=)v}*7qK}N2 zTn?8?jy1G;Cu$ShO5ULu!ai2+8AnY#z;${1Ld&Y<3$Y~-<8_y)LbunGl}G_b-9uyf@Zx*(?sMG zP>vBvNl7q-m+;hgQ6UlaSBY>%3pB|vO)29i@5*MmKYk`0vzAId0!t53vl*=tE64n_o?7Z2ey8@NOlCnN&zaG0zteJDzi<_)*(#N*;_j21W<8$ zbrA(T?lGY!r%}zd&aLzTCaipFa)Cel_v@>2)DJao>W`GH^Pu(m?L@-9=U{2>kwrYE zG*ere&Wrpim$a13xWJHK_2k|K8OC3yW3n?8G21JF>c}iu;ytZ)0HyHqsISe$!SQ!n zdh{&ojc+@Weap%=v_I#K194Adec$Hd;f(=f-gi4SEu7=;>bs#;`-A8K!e|1fVG`=J z=v{PWLb%n{7ZKpa7&JKNl*9t#3v&D5-By%E_g1{4r-9Co@44wB4}wFSP2Z)Qtxc7k zgYwl!JFknpY`s>Yvu$H4cII%bQ8O#;D*Y4%&&};%MG=;tTQ6gmE`#&^2_&qgpC~D1 z?;7kpBpRXwB_w#EJerMF9C?d=KtPKEK(S$MaTyKMOMPlYTZZ`SXb}Q9CO$M|i0SYW z;OH!)gFMT}M{0a_V4^AuVPa>VvY#iN#+(;Dz=V{+?yP6`-3$8Ab0V(+CM|qeMv4hs z9N@1i5E5luq(8ChQv!Uns^B{)^dK>1&O+s4#T@>Iah~K? z%#VrlrV<|x-r<-_0D!F!^0V3re_z*Hck1Hfphzb?}69{GvKi^c`EzfbK>P zarh*ey6$Af!@!MwNPOE940E5povMsmtDVXz`V?+27mqL&Wmi(2@vYWvUsI(vssd|< z$>Qu@cBAsBRmPFiRnGcd7ABVe4i_0>=uWSfHA-@L>hR2MlB6v2qdZK) z9wBVV)xb`dH0Ysn3Jj|MIK!JY-pr3qY(msb5+9${EG;ZyXBV~EZh3eSOBp?-@?OHG z+n8?X*}>YMnBwb+=flhP-1vuIF#*WXf#(oB%}2r+Y*=RqsHm>o-c~@RK@1r+TU1%| zsG=!eS+cwJz$QH@eOFspQ#CGI5DefAG~>4;$5%UMV!`bduLX{+X1C@$!T5wb6ou-2 zknPdqVMG8(f0BKN{<)Myn-KG6Q^Fpj{V^Qt zajz2=qgW&En~D)ZkPe1VCNaz+D*i6C7&3zcj6`||vGMxL*cFufBCuR+(<_nSsy97p ziN|0>1}iujfBUF7Opxh{EA! zHchjpo65~iKp_5f@-(&TN5rC^6MR0>DD$MQf0alpuC}6uy+3%(t8bSV9~BiG0qsR% zSX!`AMasMb_RKzN1@KtGHptVmJ0L9V$U;yS7%k@-=^|Z>sO(9?hH6O;dd2FxoDnj8 zfA}RhCbftATdu&(=zMyHqvanKS!%XesSwv$;;A||HcJ6Q-b7b5j~zS&22wT7b75<} zJ%7AM?9DE+D9)52ahCOXO|iAEePsjpwaGupSk!WYq!)k+yYWDEAqc27-t$`d4Dsn_ zJ1q}@OpfzjN|SiJ>&*47Bfzux?kxo|3vyYk4x1j5dZH=MSc*RbI|GciWvG;~9oH@p zp^)&N=Fk1a;MT&cj+1Wq{O_d{kzTF=DmzDKjU#OA_@IL!n-1qw8DgeEFGo+OpFy=a z1{BH-c)?MlC{1D*PW|Co;=`Ob$Hpru0W? zqvv*#uc{8<@Q$y!$dyDzXu*1wHv;ZC!Jev~y}eQX~7r- z0lDJCZGJl*NW$nD1sUKI}A@YKs@xHf+cQJ&uZWud!21laD? zD;^!RHkBz(^5f*=_f~;}X-cX@xEwlxf_2SMltMFQ+Lf5{HOi)xtbJJ-4?8}zwBA}< z<58eONCpBt{AeWZ?;B@nQ<`oM$;-Pm+7k;SZzkP8&F<@S$@r0lXfi+?die(#AOzG4 z#tVgR7w$*%Y1c%QqPk;BlCb^_uYM@#-*z#2+cx;4+>&1Wu*e{>&vEfxcrAXFo@+#7w z;brSwiBC(jf<*|@zlzp`r|H|L_#qpfiAI?t20tmZi5$E?&YF1`=kMo9$O^C0_ptiI z#FA?HB|ksToQRS8?UARjOJ{rdKz`R}0=t!QT891n=AEjQQ_Z`{_Wg6d(`iHk-9e7U zp(-V#m~muiQgcY>JkiCC%}};pxs5Qn@|()>e;Osz3HhjAz%OYZc)L-$Zg+vA00Jrs zpOKT+1u9CUJVSX6z?h}t>mDKe)Xu6=}% zgPPdOGNug7%K~B==4mU15}g6=x7P9tFm5?lp@n<6i+&|KLIY>w`AFCABX%wy>_2V} zuo6j1SH;dknB6?z=q`slp6&_B@&sJ+@}m81&1YRcn9s@7RyE@eOvFno8j1pc2pJ@K z1p|+IXnYYZ2}{IZV5OwegG49Hwb6_DZGeXMX?(vvNEM{dX9 zHxw^M=cfoRJj)edjMr1Yj;f-c3QDHAe_8B_>-|T9K}x`%T`v7e|s6YJyGlC1!37@z-GML2fP!&QAY& z88AUkMO8?cT$a^b)sF$wy*Nk-YCEW3{_T+eBHYY>EQEWDHgN}V< z#WVDfnn}h@v8L{!T(A9FXND&2@J8665o@C?Ljpio(Js&=sHpIKYa2X35 zoT?0R%$51kluXZMfs;2g@SjCztpr~!Rtn~2?AOmfamHZYNsB^2cg9K4+IhG8vo!6V zlx$VOIi;C2JOY%6T^}rS+RcXx+Iy;gV#v@YBV5Bk(+7$LphVb*`-x#(9gwCV85M~V zY#E4UV zEXI3aX^5}zExR?Z_?0!A8%5%`BP)96&O@dLEzv$5V5or$!Jl;#$lxj)5*#G$IWm6# zHoX$!u%itA4z6fyf*SIENcqPlsHFzQ5Wh~HcJuhlYxP2W(|2lYk0HMA7o>pjp>_t& zH@ZuL6bcHmfm32I)nJ5da?0Q%qO2R%ChndIV)kH}l$-7JR72Y63sv=*1fJKIeQM-l zHn87?c(dOPOUq-?H|40@n>VIlysejymlRa8^kdX_{5=c)57=9RjnE2-oDX?Ur1#Mq zS7SfmG0`7bBF;oE**~9eb}H{H?>M;o9J<{^n5-l1@k7X>7{m;my0sjxMMZT}|LN%{ ze<1p@6DRlg29^e8i`Z&-k3RRq^nl*8QD;)kTxUoxbp+$wDHUkopET>Id7& zsJa|csq`$&m_ig(Ifz>k<-C<#PbXhzDJWbDsNbr`Y?oaq80Wbd8=NA1uLn&lfWK*l zg3u|67S8QHrC@^}wIUD}wiXtVzAK#qI@thAiW_P~Es?aV$V0gnn7z@fv)J7?2IyIv_1R7e|Wn&`f?b&?kaq#!!Q|5iiKd<9T7l3mLeQH=}TLeh} z_}906LbfR>+%kaTvJWVntt5-z&_e+Lt;u%@XsDgQbd9<;6PynbA<7moXfb7a0yH{U zxfMajuct;LC^a&eZQVW6N{s@u8^gatmg`_bMF0^5>@9M~szG|}c2|)UwYcwZEs(lY zwQ()HlkrZ&L7F(b#UUi)m-`#`kZC*vT5Ag4+%eR4 z2?rg|#CLBm53J{x5;?ziy+={));n(+QH9g9$x0+wWz7KUKQ$>yY;@23^4py{*S z7y=_FRo>A?x^SWn-eiTq8m5)X_sz9xCzrX>?`XHpn_E9fcg!CWv~y4|rc6vDp#eX=Pp5_AkWXUh<#?Cm3}3O|=1V0&w6 z#cql8o=8>ib{Opa*2a;0w|NTiV^v5*p@_hbo(hM$Xkgb715M=QGaKv#A0X1nC<|%H*22$BRRG^seU%G^^PDr}OX=~6Vb#s@QDpvH zWA#@VJnNAllv4MmmR9my|1N@cafY~Oi)5SNqxUJ4Xm^Gw7Ok%$x2F@nEL*1#^%;@q zFB(aPJrYfpHF!l!iTT{**81me$Zw3r@Cw9Unx?PUoG9McQW6yYet7csJ1;BWqScm?1>va#{f$uq2_c)i zwK}4LaayrvTTdn)z!@p|YnGag6D(xt032k>z+&XwG(BAygT3TuJw z=M24drxc!gY3#u7fw8P2ouB9Dyz!rDeIGp1fEwhV1|M}7>lCy7VnTjXzch{4{whWb>z10A$p|u|Gj}*3bhKj!mGdv>}yz2QKbf zueU;YAgMC-TsLCck%YBDmaX&Bj)Ee01gkMQJSIM^0}n-MxHj6of)by1?bN$P!ssp? z*l9guswX)IHH=0F_1q-`cJ-pYFVL!8CBf*LyS`6IJCq}!Ukpv5$Xca95D7GjrzfTD zsx%Xv!$wc_nGkW>r%uu?C3|Yb>$a`(ATCsqa!`7w-BcaTFp(UYy8B}RrQSu#{z%AtmQQTav-$T`6x}=# zThlLoHJz4V1@heYf+)z*b_I>?iiQ?md z2Eq(8%xh?P>@gDGXL09_^G6qER}~W6bqbPiTD)VWU}qz^RY;D#$)Z+}s|TO#%|>6Q zi(g$s)#k*Er!>dsf1-w6vj$!_B)Va144lX6Q|BMQdI&P_hF1co&XOLuR-HvA$|;>C zJa~(Mi&d=Am6@iep6hBaXVo+>`mB2LN`mzl)y{`O@YZBoHkN7iugSAZ;KHwKttd5v zBGGJha-gY>&^2&tl=&GdBc=pY9Bc;VJ==f4_vEF?1fUf1blx|5x-)a)=+%7~#*>jA zNCGB0G}Aiwqa>w4O&$lR!zXdcb@3415f1e>NkbhZ_V6 z`QDHrVnF0*qe5NQuF_Hh(;cZ~vs%NmqXH5ga(bwho$=%VnXboXWh-rWy z9C31mQ%jDCC;&WNkG!)SUHSSSNVti4tv+ICLy5KKmN6XaAd6*gW#q17tQa@u!oiwfCz?mDLkN6mEdEjfsMQMsoHkRwshL34;VS+;y-pNESnMpt7F`T3 zxV)MePpM~1p^uD9OOxTXO5|Yy7H!1$eYG2tN)>-?JUNf1b? z;K~o~B72p!;x=xvL)C{H4?I;e!&pPBBop4;cP8lhx=}e<&BKUK80mUV7+ENQBh_f` z&E_y3?NT38=zjC(X$+iu_vM#Ei#!+*Wq$k1zF+%b*XPp;=i9#RYYcVbJ2G z`opf?pl9{pM~P}3d2v-{90l21&?^z84ps`A?)OS}JjW7@?(%nLaA%0&H5bNC3j{gQg(oXFEEAwX3Ks7b}9-AJ9mp;M5T zX&Au{SQ)1R&Xz4uJBpM}LuZG=fBkUR#87{~0dVU0>F&5hkJzZQiR8~7>lMb1_+;pL z!$j0z+EG#$j*n)~Qr2g(N3Q2i^C`Q?mYN~AsK7!&#)yc5k&Rxo*;RWpGMhXxbz@kS zgY`pQ8%ig`b`m2}hhu?Wt?_|oRU;eb3+63cG>EC${japicz3*niI$O(xuiPs=7aS)Q=K1lch zjnsrdWH2fV@wA}(by=ETh^@`z&*1Sx?Y>2{=@STNt(k!c zmEzei+feKM@`8hB%}{RMHDyYGZs-QB4%-*6PwbRk7kSP(f!(L<9~33J9bP^u=hHMV zx>M++(6n29D8l!CJ3*9>xS8ZEz_Jf<$OEN<>aQ{kPmhQY!zTc-cbZ~yz-ym6+_8|@yk z$ebW*_M` zvps`6Z8S>YJGU*x2!4m)7I0zCfi~Y+0#6DXztbYuVGRx3UZe=`9Zm$o{&oS|={=nRa?MsFFcGKYC&lAht5sLOV{cFPcYlIweWGI} z;Po6#2W?FyCXktT5{)tNA}+nG$2sWo=xpFc8h&11*1_2DLtQJD-kvlvubExu@{NcH zI~^(Ho(ES+^Lf!RB<|cbk-4P+3m1vC;aW6uKmmV_(O(0)ER9l8D7$#Uj^R)pne=Lv zs-!)!A8qQgigr-9Ps{LdC^&U7UwF1jM*6BtXCP}}Jdr-C5Kew;KhL1d!h}zW{A^52 z%SyU(KG#ay85*p&G|-x}{VaXm^te)>-M*v)tCIGSpSQzM=8zfV<&bl3 z8i;!{<`G}h>+6<9sQ~irQm1hh%Ra2RXn~)*2;MkTM|q?7iTSDMOIATD@bS=jBbd6& zlr9%!FKY#<;AmB3Xm3Z*@o>t zm$3eY(S^h<4`yWY;+1(TO+dZbSRbOatJYK)r*Q4Ndj*?S_uVp0Hlo3;ODiP$$5aQA zpuRrSG>q}t zbw_AVkQ&=o>u6iW#Y!fos*TS{eOOBug_V*lDWBypmm>O0pZd2eo~&EeU#WP#` zbbNlZtw8G2%o!_Zy0N%?;bMyU>8@W!u`}E9ia4KPouB9D<%)&+^)P1olGO){b_w@_ z4!KH~=l1Qr;(Y!ADgVp#q(V>rv;5TPc zT@WdN;3l=*V4rrw5R6!n9|ig$kHhxv>CZ!{Jcb4qs0i|aT(kYv7RR`9gW14o<5B$u zJF=C%ad-8DX3|jClK|Ug7w5AA9(b_O=lv45(X-jYXu3Jt=wI)GFbpIf+^|MfaSdQL zu4nKSXW*azsH9kgPl~mEG2*~qmUub!XuN$>s+$cZNs#Z1Gc0VRK<=F%TQTA9mxG$^ zl?e5rN@B|j1A2c!u4=Di?!~Au`4U->C5v<7ms&5)`JCv6zOZaN4zP6wfvCC-VfC@3+yO~sS z-Idac^d!*d1X`$8yn(2aB^W|!CQ&sKjT&-iCE1 z5H2=RPIg2@BcRB`aL7YBW}jchrA*wijWyy{Nis?Vi6e7R<;;OTZX%5L&Cg$Nt+whf zJIXLcy1OxJdXz;9rI$w-H!4~h7$Ah>WlkAy01 zmLl?Y(dl3U@-xe>b-{1axnqWX*Fi);g5G=-Pbz%$%l`o z#KRbN)Q2^%ZLGu@?UKUVm%{7##&2ew-ryIZ=)C0MUI;)#&zsz|W`iD~Ld}G=rlzi8 zGm)P4AQ&2Zsk63{tWlaaDzq%?;D*!tvCQ_55x*tE^+E3=;?hUI75X{Bm`4JOcKdqT z(5EvZX73d8StNtNm{>J09c^oniF0^g2kzBT!Cnc{vn=YM%&#qRT9R)DcqUov>ORzRsBRc3&u1Ql5e{Gc z5&SyHH<(1)7c-yng+H;%Meb&Jv`qu}WdbX&-+}cqotXv8$w;P#e<1VOJVor_=L}EX zfW9x6ki9p3wyR6@>@hZO8&s4S*V}lyP)h|J_ej*TlQ-A=3_|9TttD#-oi9q^>)n<9 zurPqIm|&kP7QWi^vJ?BM%&|--$l2h-A;D?l(YXP!986nhSM6X&D(L7A9Q?B9sl)PG z+3tNt>cY($PK}P%H2^ZPTz8 zhQ9=GEI*sK8+{yYx0*dKDe2W-!ML z=S}nXEU37x%JOsCS~$R^i!7yqj?U%eGG5ZBUI^a&e()9DV*XpMZ~WBVf+>Xze@(Vt zHzBcnqw&hORieq2vh+4cE|j@I8ck(kaa(vAYHxa5H%Yac7_@&6{7|GbaYkq9^6E;h z`!T%GC&J|Z_q@eSlkEH#?B{~%GbegqMx3=bmgfjH`grBK>3wYGuu3%r2c+(%!!My$t(F#M7rAb@y?9UXu<;iz$<#&wue+U_Q#{u|)*Aq6H zYK5mBl*#@QQg(z<9^J$MeO(>&8_Zabv0CX-?mli_OF=vCflx=)Njj|9fmcO>p4ion zS{49e$kq}Gs;6a z-p?@TDsxphAI-q>EjuwJ6k}{4)}*ZD_Q+DFg&g#AehtVbaQz*;&Ikd^(ar@rrG$_F ze^i}SL!3>trAd(Bt^tB|aCdiicMb0D7Tm3IcXx-z0t9z=cXtRr{hc#&F+Tt<-m2cU zYp=DQ!VJ%-eWSOw75P%s<099f;)8P`aXfi5O;m|US6lRC+XK<&`2M~0Q3b!-v+&u| z5ql~(_rs2Xx4u#tWZ%?MW>1Q)cU42olPl&vSxy?!w55bWs<=2K!QTwuQdNiTe+j$k z>)%x?ax85+urZExrlu54n;{8q7l5K?uXSQgP&>ZvqPxH87|GAxFa^22o zwY>fQyl~x&qabY{ZZgOZHWbY6eIitB!9$-g@q)i7>u`X7H14XmaG4t%~zmWm#IWn zgx#ZMEN|?vhY@C|)j}82Aj{;O=yBk{GpKMJUv8!yFKSQ7`xQq#dq{EZORiuvU*n(| zUp}_&;14Bp%gfGxhfMz#ud;)R6GKLtX*4p-I)M}XW&;_=f_P^2&tY;1bd?Du=GCZe ztyK{LYfz%!_1H%uhwC*Rn-Su|gD2APChLc_J%`Z|R6k$ZlL&`(+X|1G>@YhNcH0aD z-C0Kd@f1AopI(9GBdbitmN^ca`s{EYXR#pq%w}qjD1MVC}l)GGaJ2dxyK!7K?$R}PSX zcp~RLQ)4XQq8CE=T7si9d4s2{>3dYdIxID>AzwaqMc3Em*m}2F_R)=Sw3!y%T%3c2 zzaVtsasJ4KN@Qv`p`pJ9Pvm`1Cn=lBaDXhfKj*ttng%=;x0Z3^kGjkP=L)=V=pyVq zf7LScVp3cWx!c!a*4nzb5Nz^oAo%khX9cM8gn?&u;;*qY8Gv>EAoT`ut;b_NG$9f7 z`wkQ$Gh7wHe&jq+|!kqQUBGAxyrMI6Ad8#w$v6vnSA!Qg?v3KXlqcr=7o z&Kmm0>NRfU>umngE*=tk$hVF(~HDy^v`|0wikS7T`% zT0%xAuWrWe`4YcP5*?aUYX9mR{?Wjn&T&l1NO*_a4GKDSO!UxW=v7_H z;e?cxR4Mr$CImbtM(F;IFUVHU(dH!Vxtmr;44b@4_*W_^Q|r{Pj!2CKuScsYxidk# z#seQ$X%`XFt3I!5n?nO^6f}%pr`2RsqZ>%H;fA|BpQR~M*@muwiVyFZEWtwTRI$S- zXgX?R(&@c}47$HN5go@Vl?*nXH|79Jo+=EqpN9tI!R8ul$IM?cERj0B_uGJO+H~T8 znZpAb2ih2DgIR6=J2GcR>=;K{+!q+FcHg}LcoADqI&JoBaRdq_5_G4v3O0}^<3u^d zWfl!$=oM$_y!|Nrf-E{$obq1^f4YmW(xO+4gW4F$MMa|HhH1txxKwuCKDLo%)E=i3 z+%7Ehaha0lOFCgF?Q*)le$D{hu6cf=K;wSO&}HKuPofWft}&|iz`aK4-?xMoD-nPy zt^C(H$R1~XorXJ4ZlGufvPSQPLMPA6#eZHa6@&G!5%s?+*&lu?Q@-yA(wr|w+!gW{ zN~GZr0D$#LDrd!*Pfv!?v>* zG~XzHbEp!?|L(bAO55y|u=DJ#LVjxPmp^}r>E|#OrehD5lSeo)vk<$-F58ORmr3F0 z7oBEdd__6fo=^}f&^hxrM1}hgu+=NjZWuBSYUycx!0Y%r^vTB8amlBDXOHy#tK16t z$##%1S~yrr>zVd;3ZZJw6MH%{90WmcvppmKcR!t*e`u^itGY2THCUcB3t3hgdMfksAgXGUNnX7d*?8TEMdgdVC%o=;r*#fo?yD(YL`Z)t20FH z1txb)T1&X`D@Xv3oBJoOA3is&Q(XdPI|aO!w8I_3)6HQx(JXp4*1m>O-%E{vjWE2m zcNZ0mq!9(b7_nD{Uo|bfwn{ubQ9z;gS{9ct(%!q^iC_jyOv(hPRKie+=dw%tL%w*^ zC>SG+$PlXJKYzAdkkB^y@~ra@8mdLPpM=r%!Y#B0nhVAAd51rt)wvE2tVlY%Zbn z)~HOT=62G`I_6l_)XzQIQ%e=ld>%l`6ylnSi*n^ao7JfftVCH?4DxrxTfpZLMsANBV$;!BD&Ko;2*m8d!NiUQTq=vi zn^uQg#Caa0u+1^62ZEy6_ymgE&ML|)8iI@PSP93CR*I+0;+*AQk54n@h)2h3LxvVf@L#>izbR{ z`iCFXo5}mRX;$uy_YB>ngi&#qs#iE!nCK4$?+KGp682N*fwS{`(JAa~p;O6=tb(3; z&2>4~7A^yN`{$9B-MDzH_G~IndH-fK-brDc zFXx`-|2%fjYabF7Nz``!U(?ipe|xfI#4N(Et&B{l_afv}4aA!72iGA|(gMRd<-P4B zuQHXoE^BPD^pX|7);fHBfz4uzBa_`^&cOl_r~O4X#}e&7a|d$Q=aZ!WHo7Y!%+P1* z&>C|rMj&R!)1`sO7@ztU5v;6tPoFym){Mlrb!Fb8SE<^6R{Tp~K|DNiYt-5dMbBQ> zC0rKGW|tsgqWq{9_6JZ3VsVrKJ}`yPqGBUvU(wv4Rv2-{l$x3qvkx-J&|$wyrG>Zo z#^k~6b&z)aSE4Z$;qzG7>UOOJkCFY3Gi*vl7Onl@0z50@u!U4Au8jWYu2eP%pAorOLg)S}oG_`2haran4 z3?K}%caO~*CLd0=Ojnqf6R855RML}zy>{e)J1k41n_;NB5>u433s~AmoW!T7_zDTB zGAOb4`{ecZfi9&PYYfyTaJPaO4u^u?ax%~=-?yd~5IU96F&lR^jH!*L1da0Ejc&yw zk#!1m_06dPpbZ#T+1iB&BR)77jbr=IEqK^IH$z^d!-UzLIu2U;lWgjN$gk+d!I4-4 zOxbK;CT|;=T*Q*4dL%x~_RZ31NcoZJGbL{Y2|We9GDB!5Ccv);)AWUdfMTmoF&D*8wv(2q3fB2BwIrlBkr4 z!Rs){3+WCM$ke3R6d0ng|9csepe38yNjt;tK56L~_?PvZ2bWe%jJsMiN-jf}^HF z+a&@E#LW+nl)>OEAeqv13=&emUC;4y=+p`9_WuAgwQjhZM5a?hkq-|G zpHxdf@l7uI=2K2&(G#2s3hLn^t*s~yBP(xKAG3rwbXE7KyVP{PYp-2QTC)Htsj>AY z!B8lrc2hR;G);<0YI5VB^42B-Kdl(4Tzabv{6&1)F&NO6ud}72U7CEu!ZK%=1Q;(03}Tp<@b7g^pT4wB1VX4 z0*|b(aQ^7^a6;|F#AD?aX(E^Jqr$bqrIphlj^qz3g1uMTLo+YqN|{}ZOt2phiIqlY z83fk@<33h+_(Wj{%ijbHSTE2pXa9D&H6d;Cc+OI7gElM8N_KN*ljhuYcsh2D(}k7p zdT9$$;Z(mNz!z6Vgo|#~IV7k+Sd$v%zPYp{g|3gj;kb?Wqj)3&3QFWdVDzlzOhnO@ zbfOP~tB7S>(-MxZ3dQCifFQFF$wRiNTNgcQg00sHjl=XDiqpH;{V$24lVrp)=vvKr z#SDbhv|=~oGN1AK4N*)~y4alF2*o{HAZyXI~Sg*tC0Z*&*mOkt(9XhB z@MZ69cePNahWR6fBsD>msCwuuX18)@Lr3+{=S?cS>0D}()W&ZgOPqeGCt?32#0}y9 zOXa}#9x8B=#TzI=KghiVu%G0$IgL0O!4UE3iUDTi@Nc(ObZ!|ZMF97Ras3MVm2+$f z&BEyEmJbW;z=PS;R^@4hyK}Uuo+YS`se9_$nVolj_?Ujk!+OB@SGhU&tF077nd!j( zs&js27?jUqMCQ3F3};ecxNO>0`?GeNtz4CGe3xGnA)EYU`O*KFAwP2&CYCNh>5m&X zAu?3k=R?1TH*j%R%0$Hm`asZkMeEnFak*Q38lz$Q6WbEnn|EY|@SZ}}ENtZ1!tuC~ zL;f62o&_z+hp0~N`GUQy-+pxaa{2h2q4NZW=g`zz4@7G>8v21WMasgFJvg`P$b}75inqDLrn9)-N0GE*xN6V;MZkr zeu6PUp(}MozaMr*HpwGOgoEU-|Ca_yhuHN74P6a7l-G3mq;VUDCYb@bhB!x;zt+fv zKD6%=&zPmy711p<9?!A=fgh2*;&U{I(M}83^FvN~>|?Q480`En&sAD_s@jqH-=_Oe zwkd#=)a5Z_Some+vZS3GL|?hKPa7FCY_{?$W5e2hH=fMhV{!>QFEHxlHWs%TGL3sg z8`E^f?~Q_CxTIYiCWvbdFfRnENFWwihf-W9k31N)ft*XXR3cW$O^o04v#CF2Et zSoHH$@ljQ)xn+Qb`IO~A1t|(EFg*B;;#0r&>^q6`m(J%173Hv& zmV9wz%Y$9tawvj?cnNHXu>?v+GHZfw7enrbR`;Cs@$OA^FfAY3wk}kVX))^jCR~_! zcweZ}LPQzB_$YTt$z}J$XmpqNeEg%{_tsi>Cnlb-{kbLon;cSX zc`=CZxYJ99)@#CN&I^IM;bO`%bn2`JaXs2Jh`*^C7A2#ugF+Ld+4NRnzB=%{lJO};#v zA7y~xE4NDX)-mm+YKQ-p)RPv?ahOya5UjbDKPuXf@1+Z(EA^-Wl_!o%!v?a7Ff}ub ziSkw>u`-p$e~kX~fHFQw|H(|e>vQqOYZ;P9t0egDbDU}~GNRZy=PSfc%&|~^XF}0= zAJE8_QizbeLXZguw%=`0>aQ8M5rslUMWACrIw5>sbgOgf^Let*@t5T+flI(78>u-u z=>^>$m0zCLsQ1Hb0rAHvh*5<(0s7WyoHv~SpRU} z6`_l|>-V?>5-{=*n@SdhJar*kN=2kdCZtQFztf6G90HPm7E^b|WN|Ga5WaMu@5`EUPZmAR^iew?S-SHItkzyJjVP)&G& z(?nGxks;^fT=AHA7Gx2mZ*oh!+t=-Iz~k&WI)|z@rBqrc031;_7ZStl;aL{HEC8)| zKRdDk>^n1!DlR9ED7*6d?xMk*qm*YBd9z<8RB9i8-F(+!jadfXJumLFIkh>N#^!P) z+(Gm8ETj?K@mYL|nik*dGMWxVSwnRsz3DpqInfiqlc8F6E!t{I)+Pgz9bO{62<gwD**d`?+*k=C{>6qaenrm`D z9{K*M?BIeyKds>nq|;|q=%$x-s~_W-!0=UB`1QcsQMe_>m)2ZgE4+2zeka&#j#%3h zPQRp^bB&J7ycT2Tc-Q~U%7-j{c#_$Gu}_!dZTwxb$nesh_Cu1sUfXAz1H`lef+AKn-N?zmOi7eDNn&@g&Q5=^A zED2j3Fjp2nAHkJjtzjj!2`{N)TA(wpYF!mU;_EItqJCv_{B(aLy^VYIO;{%TS%+Tv zRebq%+=sfcd)=6!y(s$o`P`VG3~F*KBGsj@_}?regQZqh>if;Ms3CG!G zqq0i3lOg2yU9q_WWh(X1_7p4mshF9abi+aO?L=G=*kJDbB=RC|t3qMpe~t?HDavK} zU~&k}C*piHmKn7DJz8X6lM;L8DaRK-XTum_|6jH3$~D82U2;W6mAAb5lZcWYpXwq9 z>_+3Tw(({b>#&@R+I2$#)#o`wq+DZ>1tex=426@0k@{D&Z_**>NfxXtI2}lMuAQa! zuutRS9y=Sr2#C8?b4$K)83mQ_IfKna$OMv>?Q64;U3SFmIf`MztxRYf!^f(-V{{9D zp*X}Gx@fsQ3qmTZ)R$M)1krmwd#mY%kFui(G%3;5JAQx&>HqTrsI}iIIrCAaMNJYn z+wlRz7dMPlneQJ@bw+19T>Qo*fLiK0HGT?UPtQ@a_j&QMNDOV2$x;4{Gq_(3UsV7+ zrjJth+a%u0GNZH6IFUo{jOC!k8dvR_HX2qib@s$VyF6y84$EX3pS(4otHi;E=XR|@ zoZ-+lko_^a#Iq8(Z-9xstc!IvBL^RvZjoeax_Z{BH|M3fI^ULRr=Sgpn4}6HKQ&DS zct8E_L~V#kmyT=x-BTR(v3&(frYELl8GRvFA}JUiZSy~PX72Y8Er=ei*{lSCG7Oh` zhBx%0tLD}>694&%|4ICh2rR|gPEQ5ZL|!V+FboyR@|s2_C7S;I$Ll$_W(TM7Zu3`{ zEsxs?ag|;L7a?~*MA_}~F=wZRDUa5Jk24SaL7=9nb~Ozg-4J64U3(TT7HE4)MxoW2 zjmfK}A|G$@Cvva<+g(hbqm$TJz684OgqB+d2K57v@DIv z7+=zUoT0?617mUc%y$b)>LKks_Fc=a8cj_}tqV2;+U2NWg!wZX1VZehd@UUJaAkVS z#h1Y4z8x=Ja`F36qzuKbpCVC9^+c%7Vo5$b^Y_p}pS&7xS-3@hVcCTN;Y+g- zrH^ql+@bd#+%|T7Ak#NxC;(n z8rZ6flPY@5ZaR`_Jd}^$DqxZHok{=;pk+-pUq(;Q5JOyOj>7hq8Ks~Y6D3K%3xHIT z78dc)#bRqJYhvp`De@^v_=CcvffmTxkVkp|2vP6kM|T>N0IOnQsAXkO0;LjF+E1zu-#&z(O0ZWm6z0O>bNr} zTBKA#9~j7uwD+c^);W{K>F|Ph|FPq&+}{UCz?6NP{wWSND9Z3cr0yL_b(kD}lT8h) z)ToMYL7nMWltC{)X=z?b5})zf8R7UI%p?x3f?&;lMmu0tqDEg}h?a!(;zQr%{og{z zMBf;}f)vi%`MfF>2N_$GZuAx`f#>0z@YZcXC`l8!6SnZgVI`TA%TWof$G%GCMHPif zI2R2V(D24#qe;;meNW$sH6e06Ja+q@Wd$s&C`U-~-7_uyX!lB(QFl4Zz-@D_UalU) z>YJ|bH2{&rwa`v0Xua*8No;?lo~umr-;Dgc9?=G*^%xo59T*ZvZ#h>>3tgI3Pir{WsU#=tIE5uYa9xV>QOiV9e*P0pKUMBMKhzh=_P*ESm$vt@emtpHOQ8n*3DE{T3$PMWnba)AZ^SR4h>96$KMf38ZkQgiY;g6w^qAH$OVFQX z8GkdCBK3;H1eG#v`!$lk;%My)Jgz*Xu;g_46cM^*pJs4=^4F82+i6=nGqHlX6z+YT zZ0tY$T#l&QJgap}*uavzcgjf&Ui*gGueR{{V@;V9+xfv+uOw@S9yJ!tNb;2N6`G15 zu=vv%0~QlE#naAOMFcaEmtnte{V`lNaY`E%eDRk6W5pB1KkKKe0`O}z4O8XHi&`Lm z__hBKA7UU5*t53yNdn3{OAtNHPl-rP82<}(P>@S-@=am=XNyO^hv?L0MX=TQzs1c1 zS_tJ0(Sn}?qC)UiJV3^cu4tK@MXZv293lw>0&i;w3E7c@a}|Z7F+si?SxXTz*8B)& ztjMFAL~r)hfn1W-0t)@=z#t1h*`H8s>|O)lh>nl-9eKIiDIA+RbU1i2Ot7ImU$5|& zc%VktL^aQX(9cl@alMUQFFadTouN@W9QOH!Pz&S;1rs*e8!Pc~h-q$4f{x_>nwkl| zt{^8p^!b1Er|?AtCvv;YRN30I#Pk-_%or?a%N-qU9jcKIG3steSsTW)SS zPx$EOl3b^fO)yS#Ae%FGrcvf`CJcka)JAI!xaE0S^X#Ld9(Pll?twXvoh(yZWCR+; zv2%LI@P-7X!G}_=Dm3%WEq{)WaX~h;!BFeoqNZwQl%vzLxAVNNf=l!fhQ`CT3;f)99 zwqWs~wzODa9a6z3(9}CAW_nTnx~MYzv>jw7$vI(?Rlelr_vV-i8+h1mu9w z!;y1e@%Ni~pAw!U3O`SR7J40O*C%J2xc?xGKPz*;Hf79iO6ZMvh@0FHAvg7Pqw9Qy zxxoFn=fF)omODxlU2U1mX}jCOHymrgET`J@(6^pqmIxdc7alN#4ZYqc_#S5p^; zoJ1mzC<+ZD${_jg>Ma6u+CM9sjzBu_5CMlVB+b-cR6dasu{*Pd-G}2=)i72fYBCV# z*NF1rv5sBG#!vlS8DrO_5+gyB2Sua5GTAd{B1qYU{l1Tirn?h+dBBwn{s*8p2IV`>EMGK0S_A-3P z3kA*=CjK1o_pxkLF(a0C{7BCw3cYM(SBb>JjaRH4)`d`WXX*18!qSkWL+QFNQiq1s z0uHDCvZB+nlH?zS=hOy<(=R#h%%lu%qTyyBWP8k9oS%v#gkW*P?0Om|t!l!%_*lFG zDch`N3NH63BG0x*CEQLv$gSn}aYdr&o57EQP?j~VKyS{!4xg0T3(0hjR2iE2HY_Ef z2)V3Z^lzJW(K9*$v`0STOPx17#O#VCE1GTxrQ zq}PG)r`A6EzS3UGZw~gxy8m~N7hYO{K6x<@(a#*7m8%qTxB1rI%GS~(Bw`+hQ7$E{ zgbowwe>G!G!Y4#9R?+fKyZ$ zkEi$P*@c=8g;~A5h^eYjp4u6KQo^;HEOh-CwUz2r{vZDMMn)MPdNWaG2Up9R40UWPC*Kb2 z#mwupxs%KD*p9bDWmHk&tP~^ATZpBI5mq!{-=?no)*bE+{GNQT-cx+wj`$P9%D1|% zZoONb{f;`1I4KP3c9s3wHo_HDbr)A-0A3ao6!)(Wx!>-qSjRlxx9Cec?cJyT;J~`y zbq;DNt87Uo`=q4p=R70rOPE*_W@L6`rk$LuHVNm$2exn7KNG zKbFd_KX`g)EB+iO<;$Q8{lm@WT9?EkBElKdXLa0wLe+!*2AH{j{YaIX14t8PNUuF?i;8p5e>4Rk*I{x=?U*1qutQt;HU#YPF)`wXz$ z{qnkSH68T)s6n|c*Ywd_=~ZRW5g4C;M%7(n$$t&Q<ki>&9L(y02|-Um?b*&kfMT%}Ej3lR$Jo7%}#U*W-w#Ms}yH zbqP%3azebx;P&ipQ9??j@LnMs&sc^i8sUsJ3glztGGav9X9E*}D~kc`KO-Q@vZ3EI z5GZD6&u*J)p$iBqp*Ly>IdR4`pR4xn`u*j1UOD_7%heI%4kh=M=ZdV9*{5 zl}_-IM$IMJ6GhEhh_fH?j|mr6Ec~AO!m#dhug*ChiB(1xt8uKY#_M)EzX9qw)O=c* zmNrCQF{GgS_@{%?44H!D<3&r63=jCgpb^}pd5*|5MVDoYeuixs+53#6s1oGs}w z1NsIMo^QD6Oez>E9vdd0Rgtf1Hs;s$-mMKa>4Tg1sXyS5>QX!3$DUn2(yjUlN8c|p zZ12||3|ub4)C<%!$OXCF?pE&07PF^Hp14hfJ-QKPWG zm04%ggEZ6po?hsIWfvCS8lQs5ruC>uzj~`Bk|J&(HR{pX4IvDcmajNXQ3xsuMzv!# z9Pi77(78M_4CQ_@EfPmKNyPptR`E6ciy##Y^QtqAMsd_FhBJ$Feo-9BV17|&Ddcas zqq!%r24)ad2J+2)f8K)OS6F>UnZgj@&P>tui(Lc?>f4z2$tuMW!^>)K}zv+h@d~0GUC>#APoSTufEQSt_S68Y&Q2>YK$mO@K2H`T9 zsRM4ER5~uG!tGTzj%Bb7FB4rFlqKu>);zx4xyud#K+Fc}Dx+-1PnR@x$ zK1hUj41t`%FDc$FLp_re`m5sp9v$O~yL->8ddxJU|K=iiOqTrmrG0l#v!7pYtxKj4 zvRtJeXkYKxM?Yl+$Yzqxg_?E`(~~mRH?03kkIU_2ZXDjxO^%v99ebe5wV76Gdq|weJt{+p*{MU z^UOY?*M14_nuqv@>$5io_?O2m$cM_G$+N5yy7cqZ=Q0J)W#Xr~wa{y8YwH}!M_ouz zH_HwVzBOtaDtj0%Ai?|VQn_+A+wZFcq#Lkrde)&-!aom@t+jP#u-Mu1ma_{YH!9`5 z`fT)jI7$5M$W0JcfK&;sTR%#u<{!2Gw6rftJrn%h84+J<^a6&RUx`~HIe%hVS{J7kM(?M(Oz;j}h5r6}ggE`7}nubHd0&;$KUAeYd-Zd`upCg zfP5ct2K8YTE^+xwRWQ;4yL?QTIZ1AijF!v9F9*$5x1A0ee0(iJghQhfyg+y800&}X zFwIUenb{jF;LbVmIQP>|6U82z)#|w-W-yt8;)=w2Zv!a$K^O)xGdOzH=iG3-I5xjD zv54s-@_FYdw~Wlxq`>h|nQ7Qqr@84iqnN?nZSIrWAkyq|GNsQ21^GMYcAAj1W-dNGfz+p0_9_oCCOk6K=cMrvh-wZLFrWJ2 zigLj{e+OTD`PCg{^?1D{-C>FY)oTS5y%rR<`Zsd|=W-znUdaV`=FSMen?8Q(T7>hy z7;YZ`nn9Pb@_{rmW|z%~OZBBs!yW3zwJKVosOlnA>-aV+1FQ+=(&8z4&sevRB z=c`a+t}~t|thq-Di00Bxug6u^XS(lu7hCyo{R=--6uKLNKFqD@ehM>vCpcPZ%R7y; zlf^Y@^x@pXVdb2Ut5L2FYF=s)<0engQ6T;F+wi(^m{d;@=hot@Pi=B*nY(Zvn(j+K z?J{}Iu>u9v*7QYjs=kJ8wCxu)x}TzaEd_G)d=c`z%6)QK^A>c%^%h91V;Q2D?H5=i zi$GQ14vEW-u&Z?*ev^0S??~2qTf+hiAZ2k}c=b&t>Md@w(4S6U2l#@|mB$9N&Dfm+ z(m-#~nA#tEymVy(&o9Iq&quZ3HtEKQr?NU`W&%WU6W$c6s2}qy{>g8YYHY>fiBwX=8^um-+;@~6T!Qho8}CE9a`XyFIO%&Aga_Q zJ9%}27}jvo7Kl|{H3U|sJA}%WJE^T#y2GZu`>@Pq>WM|y1(k(qA%UHLvI!o7ApVg> zrv(g)>{DuG%Fjy37@uMXchO)AHUGW`?=mUUCJf{K#X!5qDR5vJ{=;s-rr&&l;7Y{* z!+YTMNaMhQDwu}dMm2MFX>Rys0HCE_0qs6+kJB25&Ib|@ZFkL#N ze3JBF``G6?LR6~&x%e&VA%t|S=QK0v5fF6os)09`Zq=q z&>bfZgtZ;;>ip>2(OxQge=W%*AY&>?^lROBsb)Hhq0wvA&zb;KHA-NuLbs20o}Ren z48H~n0?<%_lt3^G%}5L)>;q|QqJ+zQ*?v~NffSsP#*7^Lv<#d*)orT`*ih^@_GIf_ z8j;>3$3_Yc;$gry^>zqK>#$lG(_0bqN(3+`!^1X;Wv!TcTe5tv?MFi0NTWY1yltvG zTpE(P9s-WW=}RiRm&7{u`)D)#TYL>|&e+)FMI^;|Lq46D_bhhndSRHLj4GNyF{519 zj%H4X6KU~9HqvUo-)LaAuH9e0kX(Ii!qV$7j7_{xIoCp;n4Sl?zx$i@3}!m9%0I^6<(}4#ETvmY9N4gcEA463O5gS-M&w{Zmu!t+~x~S zn{3;m_1-6GsG5{-}Nyj>uRS)^1o)Q}=?(F)?hD z38#9sJzISKfQez(Nk4?!w;2s&N+iM7NzghostcN0%Tn*ph9T?3=I%K;P1I@t z8h3hXrlgEnN7Pd2m5UTgEW_!x+O75Bew|J-8W`S*fItqMuRn!_Xnq9_k71>K2%;N}|9Cd4 zDP*J9ghp}YZSvqXExDJCi?W93@k*G3W6?4Pim0Sn1V0f4zxpm*_z(t;!cf-T$}h z)B7D9jucc=r{*;HuuV?RMIAa*3E^>yy2Q^;anQ!QT`ds4vjqRT#lM!GZn#)^_Aw2&p~E;rGU-_wf1z zdRfH>B-CWOaCTw2U`kM)q8wc4%{3OaxSRdvVVd!LjqR$zRBQc$9onl zEi~Iei#Dw}OfdNaec7WjkhbATm2EX&&-X7vodLhqRpSL&%olnQUiE&Di zZtpGzUWNc>AIRYsAr;vspY)hAN@AKh;M2AOP5hGhUIJIF)h?#>$n@*f7i>Rj_N0=s z`LaqBT#(K1rGT)n8)%a`+w6_N$q${T+6a|_Z>bi&aNdN0%1cqO4{bMX_i_29JQ6Nj zb2pbUZouKcE;rEWHOx8fBoU1MsRleXG{?;t-FBv5HtHL^r$(Gtef&34q_u~bBo5G^ zUf{vs^dUI`=*CT2$H|b0J${VGibvG!>{d_2dvB!yL-f|VNgP4EzXu;a3Xe@+$q!ZV zitRuP7dx?ce_mn1uB=`eEcutZ&A!({#~v-|bLO$j0JTt+= z_0gA!HF|>*TuL3{J+n!!4+)7hMG`L(;+Q7wMNDGacNs%&HRB5 z_hy$_!pympNz06FCp-8Cbvn)DmSO8igV096z2{0XW!cE93+;El0GY$P+|?x2jRqwg z@H<{KUr=fESPd%c*KVHCfH(DV=j)=owK15fZt+`Q9ar<=%Ak>Azh)v7IPtYxh1d}G zUu8!A2onUv_kU8NLaLiw7DX|xUaB{_@sA%{IX*!-KD8Zc_2B*7KqrOwG%OYw5rd1d2mFscFak+9~KFv}JxM`XZM zt|?iHlrRo58eB{TfF*~VLxq9^c68yWw|Nk91edaT1vXVvShYm3)MuGi{i>eUhS?wG z+o-m04V(3p_XvOld9PoFEw|N9tAhZ2e{b+&d|?<@&_e)e042?N>$_8GHt^@aBeQOLnPsu5Nu)wD!*Cjo9VvKfv1?oC`;Eefifdh@QX24JcmQ{{q@WL0R^u zC%T~Q`OWDcZH&fc+IC-ya`rgsxk8XCPw0T_l%8sRTEP!$7hb@TB)wmf>tt^QBxK%w zKl;9liJj`I@T1^621ieS;l~SCfawnp;(i|QSB{C*ftRt$2fA+Dn4L8L)fga-0vEVv z;ywuN^moO@KiTk^pjDJ5xL=g@w!iQMb9}DJLC%|!#mu17Z1~lGVtT_c2%H;EOy6ie zQk;Kp_H7LBIx0#jmP57pnl89J&-#!hW<8wH0bx_BJJ$gjDTyXU>O+vgvS6u#7=w8$ z8dVTr<{!c1@+cmL!<&~#FH?9|4?@+xP`s9&BHBC~i)Q9kw-06v?sxMw_jvrD-_|VG za=eO<;`P4R1)s|+LiOZPt!xC8MN2yw##?Y8lIztcQ66?9jshE zyaUD`dVuB{M8OX_N3ruDH+Ah5t9zRD-u4*@!e7$}er{W$fdJty5VlJ#Afeo+d=O*t z&V2Ln63HTrBpUHr)HNfuE=6EKKin?KrPg>I{2Z3Q4kY+`05dSX@5sf<&r`Q+L04HD zFRD0MYpl@HZoWbR5X==U5csETDY?{2{YY{;@Z4<1g5MU2uctsYexbvFSKiroPr*-Q zKm(tx8yb2#T(^k)fCWC?2fv5(!fHup|7ZozBl zbk)O{Xg{ju8-~y3{PIsf*=Tqypt>+Rg~%)lx1%IfdO2rcN#1UE++JQ^^qN%b!LEH) zL|DSmoBh)mWc^^yceuEIH>p;#x(GLY%KrPP&w1`S_DxaeYo3EUS@nu)c}O#|6cmEf zX1Y12KGQK0^bl%A8fBBpt*p=?9XYwH6xL_&K&NIOl>?+Hj%eNd1dnyOg@2TJWez?9 zDKE8pr@nYdMh+9|BF?yEDfHZ2vIdIc<7!;xaq|?i_aM#mV8?Zq3+Uyo>h~)%)aJsK zMjNRU<71nADTX`TnbF2ja?Pl_bGRUcxVNglqTQ%!7d{mb_F}p|@0$pEIy?{~AMWfq za%p}gTeU5{$9Q9dJGBvl+a$T~`G)tZ(5~tL^sv^o^xw+zoJ*3TinfzU+-|{s=cHtu zvHqW>wP1nWJTpgfA7^jhnd>Kj6>!1J%KAlAAjinRZ(o`J*7tqt_2zs;s)^IStuO(? z32&Dz6u7NEQupCJ88vQ6*AKD_q?0j!KixhB&r?0Sjyqj4K5ZX7W8Cci?K2+uYZEFL zNFFF%snrB_a{Ft8s;dsg^%wAnJS9*agasu@(}{eszYvDpJje~WO!V|@6~@5@VH}^& zQ7CBxowYB(J*C-OB#oH~H$33VS8FIRC8zcG9I>#aP~?l?CgDHquOHm%Uapu{WRnq) zJHfvf5K_8Db-4P&KNDH3Smp3oR+T)E*`$I$`oCW8lN8{8lNLiKNt{UE8=|2bPEdFF z{Uu4d<4jc_8t)AJsLRyrqax@~1U zDjP$S79PcC`@0fzz4wQ50ysUOt~S_cC`CHYlv~TmnN32Bk!ut;Z-|5>Z@orJ~-Mzu;8B&d$V&r-VOPP>W`P9ToH@olI?A z#^>~3+sT84&}&D8TF#IQ6K*)-$sP+>l=@h#$a|awce8(7`Nv?QCdXhcd~Sr%zYuX8 zu_5v>_$%Aux&LgsEynt!k5<TQ%}0C zD7cP}A3GXn9ne)RZrsk4-YG>Tip<`Ae}@KF(ZzR&BgP?N%7u@zv(XeS5kgu6rPD-o zh{3GB%2|+E(I{!yEkD&JnCkJ8aq$+I?D}?XloZby41*GBx@!hIFgW1i%`p#{3A{o) z&?M<6IO4(l@b@ecZ70u?B&CEkmN1>u;xbOg-j}52L@g3Lok*KbM17zh)(l_{`H719 zA(};`J}YI8 z#W_i;$te4hd%h;C)Qth6wbTA5OM85c>jPr&kEGg**M~hyPPTDwg+-Q`=6p(@lbQFU zBj;8H_79BC6~EhcdWC=O@55AkT9lHcD&?-+B8C>4{Q-+z`i+8wM+(yHnE8SLZ+lcx zT!f9v()>T%)61`kqAUH4&lxus#jRETp1v^v;a9a+Kut}}dmDEdt~qrrFMywNyE3^K zUG&i77*&k;Pkb@8<{pGe`GBXE9tng)%CWBN=J-;XM&}M+wfCkdu9i5y-XdFU`^M|r zR+tbDVCKz!jUp9%K|C23`9DovcRX9&8z&87CunPhAV`ZMy!IXyqr~27@2b{rDPly_ z-lMHOTGXr>wTc+EszirTRiU+tq9}ghegF8~f6u+obDr_N_uTLEe9rN*j=0y8B-eR# zS)mAo8Pq4LhKcES>|4@v^yk^6oTHka^ za$@vsyV>b1iIH=a5BH53agD!mpgs9)P&Pn>;S;@PC(Bmcy(PSw!}U9U<9f8LB_M1M zrIL4HbQ|QiVW3YSpuL)b-hD&jvH{5Q7kXkl7Hu0t&Jg}+!`N!K$S)9TGZgRkmUL9q zV@iBLS8bBixU#(O$fc=!GmV1O(9E^h`kqD^&;4RXad7r5*@TX``%Ns-s8kK+*nYpl zPb_VJsyBO#N9z}Cj8?Q$#IMp27S}%*xBhM70{B!?1h0MbXLh4%pk~(@HA~jn0GU@QCNy`;dmX-7YCrwZQ58hBVOt_W+8*dP8giA$ zhCKc)nTLGgHWA>rc{Q|#J7{#BgGIitzkA+cCB{=x*~J!B_SeVU zt^A%wD+*nKG zf&EvNl-~#O95zEYU)1;K<&C-#*RMTKy3h88v~MO=oA1(E{;xMNGu#csH)JX*=zcED z+pp}VS?1b0-_n+KQ~UnMP_ChXMtXWnAOFH0#p}oQ?M-ZT$?&6i#qEw-i_OJoHWKG; zdoZU>j1)$OmMwqiPt$vBS+*vW=dvms?Rc`he|Uv40ul@mEsdw@!ayn zjm=!ZVw>;lyGlQjI?gN#|IRK(CCWdLw6uZvxdiHK!=0+XL_RM#Bal8vu}5`Rm+#|cenWPn zDLGd{X6&6^{nRVh*7*as?CG*?WU8&ZPwhLrW}Em^C=^ZLsR7F5+tN;3pHPG%aPI5RSoqD>@$g`T@OH0W8tUNaL7~#V zX&UIH$C7MW;cnWA9e|Dc*b%bTD0j>YAU7CgQ}fFyY)ZeRqR-1GKy0{bKtC5k*-G~; zJJ5^9C0LxnUO8|0;fbtpLF8W~jzF*Z&&@_I3mLPj5WAH|$OC&WESC%f#s082eb9aA zp*lRSSY>7nLn=M9*Tn=Wjd?v4nih*-x!)C3@1Uji^5$V{FD1tkQFJ%QEx^#Dr07zM z`05d3Fk;!XW(Y1y4PYQOAizJAjPn%gnrXB-^#IBH$R!gg_z?Sp?)E{08}?OHM$OqK zO-x8AjKBO4-p3#r9fIhH-5JBg*+w{~sPkj3==y`TEE|m+>KrT8M>N^}rYd&GFoHdo zX#F@v^aiiI`nE^ovb&*xi!Co_%k?(duBnb$OVfaXisBrq#fa01S^ydt8r5j|CyESI z7CIak?ei=UhSkY|e;UKk0RuA|Rv9S?&|&;+A7}m`Abq-*3~={wk&n_6FwTs4yU3z2 zT15_~@oV^&>EuSU-%ZYl;{A4JePDRm`ozk+OA89~tw2U{xZ7GOYq)ZQuaW)^NZp~m ztW|A9KL66)mTh*zH3C23p{t{?^@}ABBy%g_70vP`XR~{3%n}J@=DY?JAR_Jl6ZGC_ zpJV_^&;0Cu!?%PGOfYY`7E1#o1&5#@dSRj>x+RiwET>|1fpg!#5kG_!8M3&PL(7`~ z0Iy)r;Ys;2Od8nQ8b2--#T{*ep^`buW zY@LdIa(0A&TvkFn*r`+sj|ryo2Wu8HZDcpD31>UZJK8Qg_pvqPwsKqH%xrVJ6$bvU zG(N4U7;7WPQBBr-WaU_R22Pl%^z4iZZGSXY=Yz+gQ#6PQl5rjPhMFH1hJO(gO*NZ; zE&7MZzfZ|bHKI-8kOm1KnQQvWv>9S{stKv)i>g@Rz8w%?@umu@*q2Xu8Os^z&M!o& zM(Cx$GE{oTwXp!McUa?4M%^0>dvb^Z5v{g5=vy5~Gz2tp`W+0+-sy$Lf*T)G3zUWh z3C(H=iBpl8z#+g_{a2kEGOvk5=)SQtlb%{OVCumr1Q^|LDJ^ZuTk!#^v3Mtim^xv_ z_k)u-W%UDUwAw+MBjh0DABm_?wYW&NmMQ=S-Kc68e3>luUN6|!(igx(UDWY%Ifuu> z;l`$$1MTjJ$l)rDOjove^Do!DF+xZEkL@?Ej+{d(Ukz=;r@HCyO!xPlm+cLc<1;Wj z=>BM~IK{tE*#{%;vUo(KcCm>WJ2JhcMi3L4zX6D(O`}%xY8m7Se>2*77#9iTkBvNX z1^tN9mpF3W;3iTLfpIZt;EkX>(H0$P=)9yLidQgMqxyM+oB&<0H^I-fbf+!-*h9>3 za??7T_JItFx6y8j;=XVYYlQ((qEGom62$z3`V^j8A5Q1u5_eXetbLlbeORBb2rNQB zm{WiAtiFk&5i;%FP|IikwsQdT}`xirw`p_3eRET{clvjE(yy_4TdwLIL^k z^@45T^H($D6C|<+HsUZbiQ9|5Cr_EIoQuBC499nXDzOX zAHqJ?XKfuzol|xj+w%O@%8%z#0%o<<$;YNwWEUV<3ThfK7wEL#rKYGdOJuRLN(_cG z`iM+ERom8yi((2yPDq@#Kd;Wed|b_go)3#w(-aZf(qmD%wtwA*?V#>ZP94q_?ESHS zrjF1NsB1cN7MdF6^n%M`ifFJTBkYvco?&lnp{^$|=Y=s#1F5!jSfvC|sHITBek0k! z&)WCF>nbW1jh%%Czv9WLG22+MF@9dLJtx$6P4;{8a~@wLHSREG1u-r@m3(HqFk+`6 z3_Bo19pb#=(ecKV17eV+0tfm#8>MFW#uwy$qY$TCE&YAfRL&5>v!aiPxNGuyb*@$H ztw)RcGm8(z&mUhrwygYaI(PJ4Q56P0Cpc!o zKu$2oJW%3wp?U<$h5rUm*4Zu2k9)E}H)Bibvl3ON`T$OyO6z2v*Bdkg$8zM_rt|87 z8-Q&}0L}0Rn7--l@tKI(2i`ew2r~B;yJB9sZ=t7X@(pbht7*?t1?&OCXHFDr|8#Fs zNsH7{dlDrRd}`@#+e@r9-h>@k+-I z3~ffnuo3(cE}w>{_r>f$hnr)H!_l#YKo@~sQyeq=pW&Dk=xQWWbQqO0Cn{y9SIMzQ z1adWgUzbe~Qa5H=?O-gvyP!K#-{gPqoH&rRJCl#jyK;la6UMdt7&FUM5nh2L#r4Eb6L#Wq*VX z6U8b<)U2?*l(C|JIY%sB7LE!{RGfg}coD`}H9LAri9<6m*}0Py&Yc{0C2iG&y_8fF zFY2Cv<0dDOtDK##S2!w~6FyH@=`tPO)+M)eKZuqn*FpHMZMo#s3$AByH*QgCPmOI~ zf6IC%U?Y>iJ2vF#gZGP*dMjj;^Ly|9$w3;L`FR+$0M*>3oURcllSfIlcK5wcD0&o& zVih#Gld`Y}?w-H;4$qmA9hm&Y<$=tw^$9mQ5ANuURhKbJh4f{Cb?^T1XiC>8*ts0F zJC?(lLGejQ`#Z#lRIdU9f#j+%9f-^{su%&K^vHt2Kp+4nf`TN#Sq^luNMbqs0oi~X z-cskg#U?L+u#bk*&?p^RoIe}+C@O+MJNl2mw6g8w-6LTr9|7FqH1ihrRI4~|#4w)7_HPB5?-LJm!HC)Hk?j!x34Ig0DKCj~AB zfRU$BBp&?4O}I?Z;oJ_fh!+TC9;sMR!~-|1Ov$)^p=K5Jg_Fb7v3Zd=bW!L{ZzrA2r{F*(;1Np`EQMjAK0x&`YT&Q>-8v)e@V%){hSKw$kk1V;Y;(&qEUFuGL)tR}+x1k=T4U-|#-EwaMV$P<6ANr)?|t3le0Z&CB}Ktizh;INZ4~ z+v*|_!9W11|0Y$BUiB*w@C%lgB>_h${LGW%r^V?4E0Va>p5rdrKAJw+E1o1O@taWb z;tFAZakaUo(p>a3jQ;|PT($5n%sx%yeptudgzP4x3ww>pNoMKC7-lKa05B>hJoZ{l zmoudx4Y}H(Rh8`5JrXVgLTUzp8%o{27fyUibA9#;3!$yl_g@^5us}tU;EzrVx|k@4 z2XG392oF}xi&WTRKdW0jX5s%gPr)0Y2>9oFg}H?7f1E=8vx?;KbM(2hQg}p>G(9mo zw;s57g?8uKKYu4JFLbnlEs#R*23-XrU$_|kmya5>=g@zLLdlZ^ea%qqhT~F(yyvcr zIrH_58RXVyCy~sFfZ1!3u_-O*)sImBhkADsm0Rr2PVe#fTpJT8hqP(m(}1R*Pot(L q@BPhKeeHkYmVXic-yDlMBF`AdOYv@A{DK^0q)S^ \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.css b/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.css deleted file mode 100644 index 65367edf..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.css +++ /dev/null @@ -1,59 +0,0 @@ -body{ -background-color: rgba(17, 17, 62, 0.963); -height: 99.8vh; - -} - -.name { - color: white; - background-color: none; - margin-left: 150vh; - margin-top:2.5vh ; - font-family: 'Gill Sans', 'Gill Sans MT', 'Trebuchet MS', sans-serif; -} - -.nav { - background-color: rgba(3, 3, 80, 1); -} - -.nav h1 { - font-size: 5vh; - font-weight: 900; - position: relative; - color: rgba(123, 188, 226, 0.996); -} - -svg { - z-index: -1; -} - - -.section{ -margin-top: -10vh; -margin-left: -5vh; - display: flex; - align-items: center; - justify-content: center; - height: 10vh; -} -.text{ - font-size: 19vh; - font-weight: 900; - margin: auto; -} -H1{ - color: white; - display: flex; - justify-content: center; - align-items: center; - font-size: 15vh; -} -h3{ - color: white; - display: flex; - justify-content: center; - align-items: center; - font-size: 3vh; -} - - diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.html b/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.html deleted file mode 100644 index a4ea01fc..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - NOTFOUND - - - - - - - - - - - - - - -
-
-

- 404! -

-

PAGE NOT FOUND.

-
-
- - - - - - - \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.spec.ts b/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.spec.ts deleted file mode 100644 index 4ab46fe2..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { NotFoundComponent } from './not-found.component'; - -describe('NotFoundComponent', () => { - let component: NotFoundComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ NotFoundComponent ] - }) - .compileComponents(); - - fixture = TestBed.createComponent(NotFoundComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.ts b/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.ts deleted file mode 100644 index 8d41879d..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/components/not-found/not-found.component.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-not-found', - templateUrl: './not-found.component.html', - styleUrls: ['./not-found.component.css'] -}) -export class NotFoundComponent { - -} diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/admin-routing.module.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/admin-routing.module.ts deleted file mode 100644 index 14479125..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/admin-routing.module.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { NgModule } from '@angular/core'; -import { RouterModule, Routes } from '@angular/router'; -import { AdminDashboardComponent } from './components/admin-dashboard/admin-dashboard.component'; -import { ContactComponent } from './components/contact/contact.component'; -import { GettingStartedComponent } from './components/getting-started/getting-started.component'; -import { HomeComponent } from './components/home/home.component'; - - -const routes: Routes = [ - { - path: '', component: AdminDashboardComponent, children: [ - { path: 'home', component: HomeComponent }, - { path: 'contact', component: ContactComponent }, - { path: 'getting-started', component: GettingStartedComponent }, - { path: '', redirectTo: 'admin/home', pathMatch: 'full' }, - - - ] - } // the routes which we will be using in admin module is kept in the children array. -]; - -@NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] -}) -export class AdminRoutingModule { } diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/admin.module.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/admin.module.ts deleted file mode 100644 index 63c56343..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/admin.module.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; - -import { AdminRoutingModule } from './admin-routing.module'; -import { AdminDashboardComponent } from './components/admin-dashboard/admin-dashboard.component'; -import { HomeComponent } from './components/home/home.component'; -import { ContactComponent } from './components/contact/contact.component'; -import { GettingStartedComponent } from './components/getting-started/getting-started.component'; -import { HeaderComponent } from './components/header/header.component'; -import { FooterComponent } from './components/footer/footer.component'; - - -@NgModule({ - declarations: [ - AdminDashboardComponent, - HomeComponent, - ContactComponent, - GettingStartedComponent, - HeaderComponent, - FooterComponent - ], - imports: [ - CommonModule, - AdminRoutingModule - ] -}) -export class AdminModule { } diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.css b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.css deleted file mode 100644 index e69de29b..00000000 diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.html b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.html deleted file mode 100644 index eaf43d37..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.html +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.spec.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.spec.ts deleted file mode 100644 index 2ab4da91..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { AdminDashboardComponent } from './admin-dashboard.component'; - -describe('AdminDashboardComponent', () => { - let component: AdminDashboardComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ AdminDashboardComponent ] - }) - .compileComponents(); - - fixture = TestBed.createComponent(AdminDashboardComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.ts deleted file mode 100644 index a6c4d236..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/admin-dashboard/admin-dashboard.component.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-admin-dashboard', - templateUrl: './admin-dashboard.component.html', - styleUrls: ['./admin-dashboard.component.css'] -}) -export class AdminDashboardComponent { - -} diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.css b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.css deleted file mode 100644 index 03b90a98..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.css +++ /dev/null @@ -1,49 +0,0 @@ -* { - font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; -} - -.page-intro { - margin-left: 150vh; - margin-top: -42vh; - font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif; -} - -h1 { - font-size: 5vh; - font-weight: 900; - position: relative; - color: rgba(123, 188, 226, 0.996); - -} - -svg { - z-index: -1; -} -a{ - text-decoration: none; -} -.container { - margin-top: 30vh; - height: 25vh; - padding: 3vh; - -} -.card{ -margin: 5vh; - padding:6vh; - border: none; - border-right: 1px solid rgb(50, 49, 49); - border-bottom: 1px solid rgb(52, 51, 51); -} -.section-tagline { - display: block; - margin-top: 34vh; - display: flex; - justify-content: center; - align-items: center; -} - -.section-tagline p { - font-size: 2.5vh; - text-transform: uppercase; -} diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.html b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.html deleted file mode 100644 index cae6c2ef..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - START - - - -
-

ANGULAR ACE

-
-
- - -
- - - -
-
-
ALEX LEE
-
STANFORD UNIVERSITY 2010
-

In the field of software developement for past 8 years.

- LinkedIn - Slack -
-
- - -
-
-
Emma Fisher
-
IIT 2015
-

In the field of front-end development for past 3 years.

- LinkedIn - Slack -
-
-
-
- - - - - \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.spec.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.spec.ts deleted file mode 100644 index 85e48e02..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ContactComponent } from './contact.component'; - -describe('ContactComponent', () => { - let component: ContactComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ ContactComponent ] - }) - .compileComponents(); - - fixture = TestBed.createComponent(ContactComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.ts deleted file mode 100644 index 06b3d0f1..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/contact/contact.component.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-contact', - templateUrl: './contact.component.html', - styleUrls: ['./contact.component.css'] -}) -export class ContactComponent { - -} diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.css b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.css deleted file mode 100644 index 8335fc64..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.css +++ /dev/null @@ -1,18 +0,0 @@ -footer { - position: absolute; - width: 100%; - margin-top: 7vh; - height: 6vh; - color: white; - display: flex; - justify-content: center; - align-items: center; - background-color: black; -} - -li { - margin-top: 20px; - font-size: 2vh; - text-transform: uppercase; - list-style-type: none; -} \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.html b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.html deleted file mode 100644 index 38de2739..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - Document - - -
-
-
    -
  • - Angular Dashboard Project -SODA FOUNDATION. -
  • - -
-
-
- - \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.spec.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.spec.ts deleted file mode 100644 index 953b22cc..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { FooterComponent } from './footer.component'; - -describe('FooterComponent', () => { - let component: FooterComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ FooterComponent ] - }) - .compileComponents(); - - fixture = TestBed.createComponent(FooterComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.ts deleted file mode 100644 index 98c515ef..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/footer/footer.component.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-footer', - templateUrl: './footer.component.html', - styleUrls: ['./footer.component.css'] -}) -export class FooterComponent { - -} diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.css b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.css deleted file mode 100644 index 760d9c76..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.css +++ /dev/null @@ -1,39 +0,0 @@ -* { - font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; -} - -.page-intro { - margin-left: 150vh; - margin-top: -42vh; - font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif; -} - -h1 { - font-size: 5vh; - font-weight: 900; - position: relative; - color: rgba(123, 188, 226, 0.996); - -} -.intro h1{ - font-size: 3vh; - font-weight: 900; - position: relative; - color: rgba(123, 188, 226, 0.996); -} -svg { - z-index: -1; -} -.section{ - padding: 2vh; - margin-top: 31vh; - height: 90vh;} -p{ - font-size: 2vh; - padding: 2vh; -} -li{ - list-style-type: none; - font-size: 2vh; -} - diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.html b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.html deleted file mode 100644 index f856bad1..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - STARTER-GUIDE - - - -
-

ANGULAR ACE

-
- -
-
-
-

ABOUT ANGULAR ACE

-

AngularJS is a well-liked JavaScript framework for creating dynamic online apps. Welcome to our - website, ANGULAR ACE where you can discover a collection of tutorials for it. You've come to the - right place if - you're new to AngularJS or want to learn more about the framework. - - It's simple to get started with AngularJS, and we're here to help you do it. Our tutorials are made - to guide you from the fundamentals to more complex subjects, giving you the knowledge and abilities - required to build effective web apps. - - We advise that you have a fundamental understanding of HTML, CSS, and JavaScript before you begin. - Don't worry if you're unfamiliar with these technologies; we have tutorials that can teach you the - fundamentals.

-

TOPICS COVERED

-

- After setting a strong foundation, you'll be prepared to work with AngularJS. You can quickly locate - the knowledge you require thanks to the topical organisation of our - tutorials. - Some of the subjects we go over are:

- - -
    -
  • Basics of Angular
  • -
  • Components in Angular
  • -
  • Routing in Angular
  • -
  • Directives in Angular
  • -
  • HTTP Requests
  • - -
-

PRACTICAL PRACTICE

-

- To help you put what you've learned into practise and get practical experience, we also offer code - examples and exercises. - - - We have a community forum where you may ask questions and seek assistance from other developers in - addition to our training. - You shouldn't be afraid to seek for help if you need it because our community is vibrant and - encouraging. -

- -

So what are you waiting for? Start exploring our tutorials today and begin your journey to becoming - an AngularJS expert!

-
- -
-
- - - \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.spec.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.spec.ts deleted file mode 100644 index d1a79038..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { GettingStartedComponent } from './getting-started.component'; - -describe('GettingStartedComponent', () => { - let component: GettingStartedComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ GettingStartedComponent ] - }) - .compileComponents(); - - fixture = TestBed.createComponent(GettingStartedComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.ts deleted file mode 100644 index b8d7a73e..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/getting-started/getting-started.component.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-getting-started', - templateUrl: './getting-started.component.html', - styleUrls: ['./getting-started.component.css'] -}) -export class GettingStartedComponent { - -} diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.css b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.css deleted file mode 100644 index 734d2593..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.css +++ /dev/null @@ -1,24 +0,0 @@ -.navbar { - height: 8vh; - background-color:rgba(3, 3, 80, 1); - display: flex; - color: white; - -} - -ul { - display: flex; - justify-content: center; -} - -li { - list-style-type: none; - padding: 1vh; - margin: 1vh; - font-size: 2.2vh; - -} -li a{ - text-decoration: none; - color: white; -} diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.html b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.html deleted file mode 100644 index a96a0a8d..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - HEADER - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.spec.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.spec.ts deleted file mode 100644 index 1fd30b4d..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { HeaderComponent } from './header.component'; - -describe('HeaderComponent', () => { - let component: HeaderComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ HeaderComponent ] - }) - .compileComponents(); - - fixture = TestBed.createComponent(HeaderComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.ts deleted file mode 100644 index e9af159f..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/header/header.component.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-header', - templateUrl: './header.component.html', - styleUrls: ['./header.component.css'] -}) -export class HeaderComponent { - -} diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.css b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.css deleted file mode 100644 index 5bc072e1..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.css +++ /dev/null @@ -1,55 +0,0 @@ -* { - font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; -} - -.page-intro { - margin-left: 150vh; - margin-top: -42vh; - font-family: 'Gill Sans', 'Gill Sans MT', 'Trebuchet MS', sans-serif; -} - -h1 { - font-size: 5vh; - font-weight: 900; - position: relative; - color: rgba(123, 188, 226, 0.996); -} - -svg { - z-index: -1; -} - -.container { - margin-top: 35vh; - height: 50vh; - padding: 2vh; - display: flex; -} - -.card a { - text-decoration: none; -} - -.card-group { - display: inline-block; - padding: 1vh; - width: 100%; -} - -.card { - width: 40vh; - padding: 2.5vh; -} - -.section-tagline { - display: block; - margin-top: 34vh; - display: flex; - justify-content: center; - align-items: center; -} - -.section-tagline p { - font-size: 2.5vh; - text-transform: uppercase; -} \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.html b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.html deleted file mode 100644 index e69fb1ad..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - Home - - - -
-

ANGULAR ACE

-
- -
-
-
-
-
-
ANGULAR BASICS
-

- START -
-
-
-
-
-
-
ANGULAR COMPONENTS
-

- START -
-
-
-
-
-
-
ROUTING IN ANGULAR
-

- START -
-
-
-
-
-
-
-
-
DIRECTIVES IN ANGULAR
-

- START -
-
-
-
-
-
-
ALL ABOUT HTTP REQUESTS
-

- START -
-
-
-
-
-
-
BEST PRACTICES
-

- START -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.spec.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.spec.ts deleted file mode 100644 index 5075be73..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { HomeComponent } from './home.component'; - -describe('HomeComponent', () => { - let component: HomeComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ HomeComponent ] - }) - .compileComponents(); - - fixture = TestBed.createComponent(HomeComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.ts b/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.ts deleted file mode 100644 index 0cb0d0f5..00000000 --- a/learning/dashboard/angular_routing/my-app/src/app/modules/admin/components/home/home.component.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-home', - templateUrl: './home.component.html', - styleUrls: ['./home.component.css'] -}) -export class HomeComponent { - -} diff --git a/learning/dashboard/angular_routing/my-app/src/assets/.gitkeep b/learning/dashboard/angular_routing/my-app/src/assets/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/learning/dashboard/angular_routing/my-app/src/favicon.ico b/learning/dashboard/angular_routing/my-app/src/favicon.ico deleted file mode 100644 index 997406ad22c29aae95893fb3d666c30258a09537..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 948 zcmV;l155mgP)CBYU7IjCFmI-B}4sMJt3^s9NVg!P0 z6hDQy(L`XWMkB@zOLgN$4KYz;j0zZxq9KKdpZE#5@k0crP^5f9KO};h)ZDQ%ybhht z%t9#h|nu0K(bJ ztIkhEr!*UyrZWQ1k2+YkGqDi8Z<|mIN&$kzpKl{cNP=OQzXHz>vn+c)F)zO|Bou>E z2|-d_=qY#Y+yOu1a}XI?cU}%04)zz%anD(XZC{#~WreV!a$7k2Ug`?&CUEc0EtrkZ zL49MB)h!_K{H(*l_93D5tO0;BUnvYlo+;yss%n^&qjt6fZOa+}+FDO(~2>G z2dx@=JZ?DHP^;b7*Y1as5^uphBsh*s*z&MBd?e@I>-9kU>63PjP&^#5YTOb&x^6Cf z?674rmSHB5Fk!{Gv7rv!?qX#ei_L(XtwVqLX3L}$MI|kJ*w(rhx~tc&L&xP#?cQow zX_|gx$wMr3pRZIIr_;;O|8fAjd;1`nOeu5K(pCu7>^3E&D2OBBq?sYa(%S?GwG&_0-s%_v$L@R!5H_fc)lOb9ZoOO#p`Nn`KU z3LTTBtjwo`7(HA6 z7gmO$yTR!5L>Bsg!X8616{JUngg_@&85%>W=mChTR;x4`P=?PJ~oPuy5 zU-L`C@_!34D21{fD~Y8NVnR3t;aqZI3fIhmgmx}$oc-dKDC6Ap$Gy>a!`A*x2L1v0 WcZ@i?LyX}70000 - - - - MyApp - - - - - - -

- -

- - diff --git a/learning/dashboard/angular_routing/my-app/src/main.ts b/learning/dashboard/angular_routing/my-app/src/main.ts deleted file mode 100644 index be6bfabe..00000000 --- a/learning/dashboard/angular_routing/my-app/src/main.ts +++ /dev/null @@ -1,9 +0,0 @@ -/// - -import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; - -import { AppModule } from './app/app.module'; - - -platformBrowserDynamic().bootstrapModule(AppModule) - .catch(err => console.error(err)); diff --git a/learning/dashboard/angular_routing/my-app/src/styles.css b/learning/dashboard/angular_routing/my-app/src/styles.css deleted file mode 100644 index 90d4ee00..00000000 --- a/learning/dashboard/angular_routing/my-app/src/styles.css +++ /dev/null @@ -1 +0,0 @@ -/* You can add global styles to this file, and also import other style files */ diff --git a/learning/dashboard/angular_routing/my-app/tsconfig.app.json b/learning/dashboard/angular_routing/my-app/tsconfig.app.json deleted file mode 100644 index ec26f703..00000000 --- a/learning/dashboard/angular_routing/my-app/tsconfig.app.json +++ /dev/null @@ -1,16 +0,0 @@ -/* To learn more about this file see: https://angular.io/config/tsconfig. */ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "./out-tsc/app", - "types": [ - "@angular/localize" - ] - }, - "files": [ - "src/main.ts" - ], - "include": [ - "src/**/*.d.ts" - ] -} diff --git a/learning/dashboard/angular_routing/my-app/tsconfig.json b/learning/dashboard/angular_routing/my-app/tsconfig.json deleted file mode 100644 index ed966d43..00000000 --- a/learning/dashboard/angular_routing/my-app/tsconfig.json +++ /dev/null @@ -1,33 +0,0 @@ -/* To learn more about this file see: https://angular.io/config/tsconfig. */ -{ - "compileOnSave": false, - "compilerOptions": { - "baseUrl": "./", - "outDir": "./dist/out-tsc", - "forceConsistentCasingInFileNames": true, - "strict": true, - "noImplicitOverride": true, - "noPropertyAccessFromIndexSignature": true, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true, - "sourceMap": true, - "declaration": false, - "downlevelIteration": true, - "experimentalDecorators": true, - "moduleResolution": "node", - "importHelpers": true, - "target": "ES2022", - "module": "ES2022", - "useDefineForClassFields": false, - "lib": [ - "ES2022", - "dom" - ] - }, - "angularCompilerOptions": { - "enableI18nLegacyMessageIdFormat": false, - "strictInjectionParameters": true, - "strictInputAccessModifiers": true, - "strictTemplates": true - } -} diff --git a/learning/dashboard/angular_routing/my-app/tsconfig.spec.json b/learning/dashboard/angular_routing/my-app/tsconfig.spec.json deleted file mode 100644 index c63b6982..00000000 --- a/learning/dashboard/angular_routing/my-app/tsconfig.spec.json +++ /dev/null @@ -1,15 +0,0 @@ -/* To learn more about this file see: https://angular.io/config/tsconfig. */ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "./out-tsc/spec", - "types": [ - "jasmine", - "@angular/localize" - ] - }, - "include": [ - "src/**/*.spec.ts", - "src/**/*.d.ts" - ] -} From cdcb45fd546358f2837e520cb3992d0d0b4ad146 Mon Sep 17 00:00:00 2001 From: shambhavi Date: Fri, 24 Mar 2023 17:27:56 +0530 Subject: [PATCH 15/31] changes done. --- .../{angular-routing => AngulaRroutingTutorisl}/README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename learning/dashboard/angular_routing/{angular-routing => AngulaRroutingTutorisl}/README.md (100%) diff --git a/learning/dashboard/angular_routing/angular-routing/README.md b/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md similarity index 100% rename from learning/dashboard/angular_routing/angular-routing/README.md rename to learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md From ff94e628f60723b039b9c86392b18ff5ead10318 Mon Sep 17 00:00:00 2001 From: shambhavi Date: Fri, 24 Mar 2023 20:06:04 +0530 Subject: [PATCH 16/31] complete --- .../angular_routing/{AngulaRroutingTutorisl => Routing}/README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename learning/dashboard/angular_routing/{AngulaRroutingTutorisl => Routing}/README.md (100%) diff --git a/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md b/learning/dashboard/angular_routing/Routing/README.md similarity index 100% rename from learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md rename to learning/dashboard/angular_routing/Routing/README.md From b5cfb7c6229a1d35285067ef83146ea3f847c1e3 Mon Sep 17 00:00:00 2001 From: ShambhaviVijay <93869762+ShambhaviVijay@users.noreply.github.com> Date: Fri, 24 Mar 2023 23:56:03 +0530 Subject: [PATCH 17/31] Update README.md --- .../AngulaRroutingTutorisl/README.md | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md b/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md index 4d3f6fd4..897b7a78 100644 --- a/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md +++ b/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md @@ -96,13 +96,18 @@ By using factory or service: The $rootscope method is not preferred for data transfer or sharing data because it has a global scope that is available for the entire application. So, we use another method in which we create a factory or service to hold share data. AngularJS factories and services are JS functions that perform a specific task containing both methods & properties and can be injected into other components (e.g. your controllers) using dependency injection. In this way we can define a shared variable in a factory, inject it into both controllers and thus bind scope variables in both controllers to this factory data. -References: - -https://www.geeksforgeeks.org -https://angular.io/guide/router-tutorial -https://www.c-sharpcorner.com/article/sharing-the-data-between-components-in-angular -https://www.dotnettricks.com/learn/angular/sharing-data-between-angular-components-methods -https://stackblitz.com/run?file=src%2Fapp%2Fapp.component.html -https://angular.io/guide/routing-overview -https://angular.io/guide/what-is-angular + +[Link for a simple Angular application to demonstrate routing:] +(https://github.com/ShambhaviVijay/AngularAce) + + +[References:] + +(https://www.geeksforgeeks.org) +(https://angular.io/guide/router-tutorial) +(https://www.c-sharpcorner.com/article/sharing-the-data-between-components-in-angular) +(https://www.dotnettricks.com/learn/angular/sharing-data-between-angular-components-methods) +(https://stackblitz.com/run?file=src%2Fapp%2Fapp.component.html) +(https://angular.io/guide/routing-overview) +(https://angular.io/guide/what-is-angular) From 993ff5b66f518aeedc90eeaad716f4267292285a Mon Sep 17 00:00:00 2001 From: ShambhaviVijay <93869762+ShambhaviVijay@users.noreply.github.com> Date: Fri, 24 Mar 2023 23:58:44 +0530 Subject: [PATCH 18/31] Update README.md --- .../AngulaRroutingTutorisl/README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md b/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md index 897b7a78..8def43f8 100644 --- a/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md +++ b/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md @@ -101,13 +101,13 @@ The $rootscope method is not preferred for data transfer or sharing data because (https://github.com/ShambhaviVijay/AngularAce) -[References:] - -(https://www.geeksforgeeks.org) -(https://angular.io/guide/router-tutorial) -(https://www.c-sharpcorner.com/article/sharing-the-data-between-components-in-angular) -(https://www.dotnettricks.com/learn/angular/sharing-data-between-angular-components-methods) -(https://stackblitz.com/run?file=src%2Fapp%2Fapp.component.html) -(https://angular.io/guide/routing-overview) -(https://angular.io/guide/what-is-angular) +**References**: + +[1. ] (https://www.geeksforgeeks.org) +[2. ] (https://angular.io/guide/router-tutorial) +[3. ] (https://www.c-sharpcorner.com/article/sharing-the-data-between-components-in-angular) +[4. ] (https://www.dotnettricks.com/learn/angular/sharing-data-between-angular-components-methods) +[5. ] (https://stackblitz.com/run?file=src%2Fapp%2Fapp.component.html) +[6. ] (https://angular.io/guide/routing-overview) +[7. ] (https://angular.io/guide/what-is-angular) From 4176df07eca0c9936ae996ac5adcda34a3b3d12f Mon Sep 17 00:00:00 2001 From: ShambhaviVijay <93869762+ShambhaviVijay@users.noreply.github.com> Date: Fri, 24 Mar 2023 23:59:32 +0530 Subject: [PATCH 19/31] Update README.md --- .../angular_routing/AngulaRroutingTutorisl/README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md b/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md index 8def43f8..31f16f9d 100644 --- a/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md +++ b/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md @@ -97,8 +97,7 @@ The $rootscope method is not preferred for data transfer or sharing data because -[Link for a simple Angular application to demonstrate routing:] -(https://github.com/ShambhaviVijay/AngularAce) +[Link for a simple Angular application to demonstrate routing:](https://github.com/ShambhaviVijay/AngularAce) **References**: @@ -109,5 +108,5 @@ The $rootscope method is not preferred for data transfer or sharing data because [4. ] (https://www.dotnettricks.com/learn/angular/sharing-data-between-angular-components-methods) [5. ] (https://stackblitz.com/run?file=src%2Fapp%2Fapp.component.html) [6. ] (https://angular.io/guide/routing-overview) -[7. ] (https://angular.io/guide/what-is-angular) +[7. ](https://angular.io/guide/what-is-angular) From 6b377034fa1cecb76fb176e3fbf5443fd61a5812 Mon Sep 17 00:00:00 2001 From: ShambhaviVijay <93869762+ShambhaviVijay@users.noreply.github.com> Date: Sat, 25 Mar 2023 00:01:43 +0530 Subject: [PATCH 20/31] Update README.md --- .../AngulaRroutingTutorisl/README.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md b/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md index 31f16f9d..05ad5618 100644 --- a/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md +++ b/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md @@ -97,16 +97,17 @@ The $rootscope method is not preferred for data transfer or sharing data because -[Link for a simple Angular application to demonstrate routing:](https://github.com/ShambhaviVijay/AngularAce) +[Link for a simple Angular application to demonstrate routing:]
+(https://github.com/ShambhaviVijay/AngularAce) **References**: -[1. ] (https://www.geeksforgeeks.org) -[2. ] (https://angular.io/guide/router-tutorial) -[3. ] (https://www.c-sharpcorner.com/article/sharing-the-data-between-components-in-angular) -[4. ] (https://www.dotnettricks.com/learn/angular/sharing-data-between-angular-components-methods) -[5. ] (https://stackblitz.com/run?file=src%2Fapp%2Fapp.component.html) -[6. ] (https://angular.io/guide/routing-overview) -[7. ](https://angular.io/guide/what-is-angular) +(https://www.geeksforgeeks.org)
+(https://angular.io/guide/router-tutorial)
+(https://www.c-sharpcorner.com/article/sharing-the-data-between-components-in-angular)
+(https://www.dotnettricks.com/learn/angular/sharing-data-between-angular-components-methods)
+(https://stackblitz.com/run?file=src%2Fapp%2Fapp.component.html)
+(https://angular.io/guide/routing-overview)
+(https://angular.io/guide/what-is-angular)
From 14f4aefc090301c621c5830125110d6ec22d6ecd Mon Sep 17 00:00:00 2001 From: ShambhaviVijay <93869762+ShambhaviVijay@users.noreply.github.com> Date: Sat, 25 Mar 2023 00:04:22 +0530 Subject: [PATCH 21/31] Edits done. --- .../angular_routing/AngulaRroutingTutorisl/README.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md b/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md index 05ad5618..14987eec 100644 --- a/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md +++ b/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md @@ -1,4 +1,4 @@ -**Angular** +#ANGULAR Angular is a development platform, built on TypeScript. As a platform, Angular includes: @@ -29,6 +29,9 @@ After this the Angular application will be launched on your browser at localhost (default port for Angular based apps). +#ROUTING IN ANGULAR + + **What is Angular Routing** @@ -51,6 +54,9 @@ In a Single Page Application (SPA), all of your application's functions exist in To define how users navigate through your application, you use routes. Add routes to define how users navigate from one part of your application to another. You can also configure routes to guard against unexpected or unauthorized behavior. +#DATA PASSING + + **Data passing in Angular** @@ -97,7 +103,8 @@ The $rootscope method is not preferred for data transfer or sharing data because -[Link for a simple Angular application to demonstrate routing:]
+Link for a simple Angular application to demonstrate routing:
+ (https://github.com/ShambhaviVijay/AngularAce) From c6060234a10ea56aaa1531f5e46cc41884c248b5 Mon Sep 17 00:00:00 2001 From: ShambhaviVijay <93869762+ShambhaviVijay@users.noreply.github.com> Date: Sat, 25 Mar 2023 00:05:23 +0530 Subject: [PATCH 22/31] Update README.md --- .../angular_routing/AngulaRroutingTutorisl/README.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md b/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md index 14987eec..a0c34322 100644 --- a/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md +++ b/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md @@ -1,4 +1,4 @@ -#ANGULAR +# ANGULAR Angular is a development platform, built on TypeScript. As a platform, Angular includes: @@ -29,7 +29,7 @@ After this the Angular application will be launched on your browser at localhost (default port for Angular based apps). -#ROUTING IN ANGULAR +# ROUTING IN ANGULAR **What is Angular Routing** @@ -54,7 +54,7 @@ In a Single Page Application (SPA), all of your application's functions exist in To define how users navigate through your application, you use routes. Add routes to define how users navigate from one part of your application to another. You can also configure routes to guard against unexpected or unauthorized behavior. -#DATA PASSING +# DATA PASSING **Data passing in Angular** @@ -102,13 +102,15 @@ By using factory or service: The $rootscope method is not preferred for data transfer or sharing data because it has a global scope that is available for the entire application. So, we use another method in which we create a factory or service to hold share data. AngularJS factories and services are JS functions that perform a specific task containing both methods & properties and can be injected into other components (e.g. your controllers) using dependency injection. In this way we can define a shared variable in a factory, inject it into both controllers and thus bind scope variables in both controllers to this factory data. +# TUTORIAL APP + Link for a simple Angular application to demonstrate routing:
(https://github.com/ShambhaviVijay/AngularAce) -**References**: +# REFERENCES: (https://www.geeksforgeeks.org)
(https://angular.io/guide/router-tutorial)
From 5e3a0edbbe6944479446c04d46ebe3d8cb30d368 Mon Sep 17 00:00:00 2001 From: ShambhaviVijay <93869762+ShambhaviVijay@users.noreply.github.com> Date: Sat, 25 Mar 2023 01:33:20 +0530 Subject: [PATCH 23/31] Update README.md --- .../dashboard/angular_routing/AngulaRroutingTutorisl/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md b/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md index a0c34322..d797e142 100644 --- a/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md +++ b/learning/dashboard/angular_routing/AngulaRroutingTutorisl/README.md @@ -107,7 +107,7 @@ The $rootscope method is not preferred for data transfer or sharing data because Link for a simple Angular application to demonstrate routing:
-(https://github.com/ShambhaviVijay/AngularAce) +(https://github.com/ShambhaviVijay/AngularAce-)) # REFERENCES: From ec2a07643ada9b68098f7ff60af38db4d116adf2 Mon Sep 17 00:00:00 2001 From: ShambhaviVijay <93869762+ShambhaviVijay@users.noreply.github.com> Date: Tue, 28 Mar 2023 22:02:40 +0530 Subject: [PATCH 24/31] Required changes done. --- .../angular_routing/Routing/README.md | 51 ++++++++----------- 1 file changed, 22 insertions(+), 29 deletions(-) diff --git a/learning/dashboard/angular_routing/Routing/README.md b/learning/dashboard/angular_routing/Routing/README.md index d797e142..a0100e5f 100644 --- a/learning/dashboard/angular_routing/Routing/README.md +++ b/learning/dashboard/angular_routing/Routing/README.md @@ -12,18 +12,18 @@ Angular is a development platform, built on TypeScript. As a platform, Angular i With Angular, you're taking advantage of a platform that can scale from single-developer projects to enterprise-level applications. Angular is designed to make updating as straightforward as possible, so take advantage of the latest developments with minimal effort. -**Angular Installation** +### **Angular Installation** To install Angular using CLI write this line on your terminal, - npm install -g @angular/cli + ``` npm install -g @angular/cli ``` To create workspace named my-app, - ng new my-app + ``` ng new my-app ``` To run the application enter the following lines on your terminal, - cd my-app - ng serve --open + ``` cd my-app ``` + ``` ng serve --open``` After this the Angular application will be launched on your browser at localhost:4200, (default port for Angular based apps). @@ -32,7 +32,7 @@ After this the Angular application will be launched on your browser at localhost # ROUTING IN ANGULAR -**What is Angular Routing** +### **What is Angular Routing** In a single-page app, you change what the user sees by showing or hiding portions of the display that correspond to particular components, rather than going out to the server to get a new page. As users perform application tasks, they need to move between the different views that you have defined. @@ -43,7 +43,7 @@ To explore a sample app featuring the router's primary features, see the example router.zip file with the reference link. - **How to Use Angular Routes** +### **How to Use Angular Routes** Using Angular routes in a single-page application @@ -57,12 +57,12 @@ To define how users navigate through your application, you use routes. Add route # DATA PASSING -**Data passing in Angular** +### **Data passing in Angular** In an Angular application, we may have multiple components with a variety of functionality/features and while developing an application we may come across a situation where we need to share or pass the data from one component to another one, in that case, we can achieve that by using the concept of data sharing between the components, and for that in Angular, there are some provisions or ways to achieve the same. -Methods: +#### Methods: Parent to Child: via Input, @@ -73,7 +73,7 @@ Methods: Unrelated Components: via a Service. -**Why is data passed between Angular components:** +### **Why is data passed between Angular components:** Angular provides component based architecture that allows modularizing the application. It means you can create multiple chunks, and convert your large component to a smaller segment that can be easily maintained. The main advantage to do this is easily understanding the component and maintenance of code. In this scenario, it is important for communication between components or share the data between the component. @@ -81,42 +81,35 @@ Angular provides component based architecture that allows modularizing the appli Angular provides multiple ways to share the data between the components. Based on your need and kind of component relation, you can select any of the methods. It is recommended to use the service method as it is independent of component relation and helps you to send data to multiple components. -**How to pass the data between angular routes?** +### **How to pass the data between angular routes?** The task is to share data variables between two or more controllers by using AngularJS. There are many procedures to achieve this. Here we will discuss the most popular ones. -Approach: +#### Approach: -To share data between the controllers in AngularJS we have two main cases: +1.** Using a service**: We can design a shared service that has the information we want the controllers to exchange. The controllers can inject the service to access the data, and the service may include methods to configure and obtain the data. This method is advised for data exchange across components without a clear parent-child relationship. -Share data between parent and child: Here, the sharing of data can be done simply by using controller inheritance as the scope of a child controller inherits from the scope of the parent controller. -Share data between controllers without having a relation: Here, the sharing of data can be done in a few ways some of them are: -By using the rootScope variable: +*** Utilizing the @Input() and @Output() decorators**: We can transfer data between parent and child components using the @Input() and @Output() decorators. A parent component can supply data to a child component using the @Input() decorator, and a child component can emit events to a parent component using the @Output() decorator. -We can use the rootScope variable to hold shared data and then can reference it from any controller. Here, at the start of the Angular app, we initialized the rootScope variable with some value and then refer it from every controller and thus binding scope variables in both controllers to the rootScope variable. - -By using factory or service: - -The $rootscope method is not preferred for data transfer or sharing data because it has a global scope that is available for the entire application. So, we use another method in which we create a factory or service to hold share data. AngularJS factories and services are JS functions that perform a specific task containing both methods & properties and can be injected into other components (e.g. your controllers) using dependency injection. In this way we can define a shared variable in a factory, inject it into both controllers and thus bind scope variables in both controllers to this factory data. +* **ViewChild**: ViewChild can be used to access the properties and methods of the child component from the parent component. When we need to use the data or methods of the child component from the parent component, this way is helpful. +* **With ngRx**: We can implement a reactive strategy for data sharing between components using the ngRx module. The Redux pattern is the foundation of ngRx, which offers a centralised store for controlling application state. Components can dispatch actions to change the state and subscribe to the shop to get updates when the state changes. # TUTORIAL APP Link for a simple Angular application to demonstrate routing:
-(https://github.com/ShambhaviVijay/AngularAce-)) +[ANGULAR-ACE (demo app) ](https://github.com/ShambhaviVijay/AngularAce-)) # REFERENCES: -(https://www.geeksforgeeks.org)
-(https://angular.io/guide/router-tutorial)
-(https://www.c-sharpcorner.com/article/sharing-the-data-between-components-in-angular)
-(https://www.dotnettricks.com/learn/angular/sharing-data-between-angular-components-methods)
-(https://stackblitz.com/run?file=src%2Fapp%2Fapp.component.html)
-(https://angular.io/guide/routing-overview)
-(https://angular.io/guide/what-is-angular)
+[GEEKFORGEEKS](https://www.geeksforgeeks.org)
+[ANGULAR OFFICIAL DOCUMENTATION](https://angular.io/guide/router-tutorial)
+[C-SHARPCORNER](https://www.c-sharpcorner.com/article/sharing-the-data-between-components-in-angular)
+[NOTNETTRICKS](https://www.dotnettricks.com/learn/angular/sharing-data-between-angular-components-methods)
+[STACKBLITZ](https://stackblitz.com/run?file=src%2Fapp%2Fapp.component.html)
From 5d310c77a79784038b58ecbdb38e9e7cdc693aaa Mon Sep 17 00:00:00 2001 From: ShambhaviVijay <93869762+ShambhaviVijay@users.noreply.github.com> Date: Tue, 28 Mar 2023 22:08:54 +0530 Subject: [PATCH 25/31] Update README.md --- .../angular_routing/Routing/README.md | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/learning/dashboard/angular_routing/Routing/README.md b/learning/dashboard/angular_routing/Routing/README.md index a0100e5f..5a85e90a 100644 --- a/learning/dashboard/angular_routing/Routing/README.md +++ b/learning/dashboard/angular_routing/Routing/README.md @@ -12,7 +12,7 @@ Angular is a development platform, built on TypeScript. As a platform, Angular i With Angular, you're taking advantage of a platform that can scale from single-developer projects to enterprise-level applications. Angular is designed to make updating as straightforward as possible, so take advantage of the latest developments with minimal effort. -### **Angular Installation** +## **Angular Installation** To install Angular using CLI write this line on your terminal, @@ -32,18 +32,18 @@ After this the Angular application will be launched on your browser at localhost # ROUTING IN ANGULAR -### **What is Angular Routing** +## **What is Angular Routing** -In a single-page app, you change what the user sees by showing or hiding portions of the display that correspond to particular components, rather than going out to the server to get a new page. As users perform application tasks, they need to move between the different views that you have defined. +

In a single-page app, you change what the user sees by showing or hiding portions of the display that correspond to particular components, rather than going out to the server to get a new page. As users perform application tasks, they need to move between the different views that you have defined.

-To handle the navigation from one view to the next, you use the Angular Router. The Router enables navigation by interpreting a browser URL as an instruction to change the view. +

To handle the navigation from one view to the next, you use the Angular Router. The Router enables navigation by interpreting a browser URL as an instruction to change the view.

-To explore a sample app featuring the router's primary features, see the example below -router.zip file with the reference link. +

To explore a sample app featuring the router's primary features, see the example below +router.zip file with the reference link.

-### **How to Use Angular Routes** +## **How to Use Angular Routes** Using Angular routes in a single-page application @@ -57,12 +57,12 @@ To define how users navigate through your application, you use routes. Add route # DATA PASSING -### **Data passing in Angular** +## **Data passing in Angular** -In an Angular application, we may have multiple components with a variety of functionality/features and while developing an application we may come across a situation where we need to share or pass the data from one component to another one, in that case, we can achieve that by using the concept of data sharing between the components, and for that in Angular, there are some provisions or ways to achieve the same. +

In an Angular application, we may have multiple components with a variety of functionality/features and while developing an application we may come across a situation where we need to share or pass the data from one component to another one, in that case, we can achieve that by using the concept of data sharing between the components, and for that in Angular, there are some provisions or ways to achieve the same.

-#### Methods: +### Methods: Parent to Child: via Input, @@ -73,25 +73,25 @@ In an Angular application, we may have multiple components with a variety of fun Unrelated Components: via a Service. -### **Why is data passed between Angular components:** +## **Why is data passed between Angular components:** -Angular provides component based architecture that allows modularizing the application. It means you can create multiple chunks, and convert your large component to a smaller segment that can be easily maintained. The main advantage to do this is easily understanding the component and maintenance of code. In this scenario, it is important for communication between components or share the data between the component. +

Angular provides component based architecture that allows modularizing the application. It means you can create multiple chunks, and convert your large component to a smaller segment that can be easily maintained. The main advantage to do this is easily understanding the component and maintenance of code. In this scenario, it is important for communication between components or share the data between the component.

-Angular provides multiple ways to share the data between the components. Based on your need and kind of component relation, you can select any of the methods. It is recommended to use the service method as it is independent of component relation and helps you to send data to multiple components. +

Angular provides multiple ways to share the data between the components. Based on your need and kind of component relation, you can select any of the methods. It is recommended to use the service method as it is independent of component relation and helps you to send data to multiple components.

-### **How to pass the data between angular routes?** +## **How to pass the data between angular routes?** The task is to share data variables between two or more controllers by using AngularJS. There are many procedures to achieve this. Here we will discuss the most popular ones. -#### Approach: +### Approach: -1.** Using a service**: We can design a shared service that has the information we want the controllers to exchange. The controllers can inject the service to access the data, and the service may include methods to configure and obtain the data. This method is advised for data exchange across components without a clear parent-child relationship. +1. ** Using a service**: We can design a shared service that has the information we want the controllers to exchange. The controllers can inject the service to access the data, and the service may include methods to configure and obtain the data. This method is advised for data exchange across components without a clear parent-child relationship. -*** Utilizing the @Input() and @Output() decorators**: We can transfer data between parent and child components using the @Input() and @Output() decorators. A parent component can supply data to a child component using the @Input() decorator, and a child component can emit events to a parent component using the @Output() decorator. +* ** Utilizing the @Input() and @Output() decorators**: We can transfer data between parent and child components using the @Input() and @Output() decorators. A parent component can supply data to a child component using the @Input() decorator, and a child component can emit events to a parent component using the @Output() decorator. * **ViewChild**: ViewChild can be used to access the properties and methods of the child component from the parent component. When we need to use the data or methods of the child component from the parent component, this way is helpful. @@ -102,7 +102,7 @@ The task is to share data variables between two or more controllers by using Ang Link for a simple Angular application to demonstrate routing:
-[ANGULAR-ACE (demo app) ](https://github.com/ShambhaviVijay/AngularAce-)) +[ANGULAR-ACE (demo app)](https://github.com/ShambhaviVijay/AngularAce-) # REFERENCES: From cff97085d2650f7f3cbf003a1a44bd9b7c9d4238 Mon Sep 17 00:00:00 2001 From: ShambhaviVijay <93869762+ShambhaviVijay@users.noreply.github.com> Date: Tue, 28 Mar 2023 22:12:34 +0530 Subject: [PATCH 26/31] Update README.md --- .../angular_routing/Routing/README.md | 38 ++++++++++--------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/learning/dashboard/angular_routing/Routing/README.md b/learning/dashboard/angular_routing/Routing/README.md index 5a85e90a..3a64bc99 100644 --- a/learning/dashboard/angular_routing/Routing/README.md +++ b/learning/dashboard/angular_routing/Routing/README.md @@ -31,8 +31,8 @@ After this the Angular application will be launched on your browser at localhost # ROUTING IN ANGULAR - -## **What is Angular Routing** +
    +
  • ## **What is Angular Routing**

    In a single-page app, you change what the user sees by showing or hiding portions of the display that correspond to particular components, rather than going out to the server to get a new page. As users perform application tasks, they need to move between the different views that you have defined.

    @@ -41,9 +41,10 @@ After this the Angular application will be launched on your browser at localhost

    To explore a sample app featuring the router's primary features, see the example below router.zip file with the reference link.

    +
  • -## **How to Use Angular Routes** +
  • ## **How to Use Angular Routes** Using Angular routes in a single-page application @@ -52,17 +53,18 @@ It describes how to build a single-page application, SPA that uses multiple Angu In a Single Page Application (SPA), all of your application's functions exist in a single HTML page. As users access your application's features, the browser needs to render only the parts that matter to the user, instead of loading a new page. This pattern can significantly improve your application's user experience. To define how users navigate through your application, you use routes. Add routes to define how users navigate from one part of your application to another. You can also configure routes to guard against unexpected or unauthorized behavior. - +
  • +
# DATA PASSING ## **Data passing in Angular** - +

    In an Angular application, we may have multiple components with a variety of functionality/features and while developing an application we may come across a situation where we need to share or pass the data from one component to another one, in that case, we can achieve that by using the concept of data sharing between the components, and for that in Angular, there are some provisions or ways to achieve the same.

    -### Methods: +
  • ### Methods: Parent to Child: via Input, @@ -71,7 +73,8 @@ To define how users navigate through your application, you use routes. Add route Child to Parent: via ViewChild, Unrelated Components: via a Service. - +
  • +
  • ## **Why is data passed between Angular components:** @@ -79,19 +82,20 @@ To define how users navigate through your application, you use routes. Add route

    Angular provides component based architecture that allows modularizing the application. It means you can create multiple chunks, and convert your large component to a smaller segment that can be easily maintained. The main advantage to do this is easily understanding the component and maintenance of code. In this scenario, it is important for communication between components or share the data between the component.

    Angular provides multiple ways to share the data between the components. Based on your need and kind of component relation, you can select any of the methods. It is recommended to use the service method as it is independent of component relation and helps you to send data to multiple components.

    +
  • - -## **How to pass the data between angular routes?** +
  • ## **How to pass the data between angular routes?** The task is to share data variables between two or more controllers by using AngularJS. There are many procedures to achieve this. Here we will discuss the most popular ones. - +
  • + ### Approach: -1. ** Using a service**: We can design a shared service that has the information we want the controllers to exchange. The controllers can inject the service to access the data, and the service may include methods to configure and obtain the data. This method is advised for data exchange across components without a clear parent-child relationship. +1. **Using a service**: We can design a shared service that has the information we want the controllers to exchange. The controllers can inject the service to access the data, and the service may include methods to configure and obtain the data. This method is advised for data exchange across components without a clear parent-child relationship. -* ** Utilizing the @Input() and @Output() decorators**: We can transfer data between parent and child components using the @Input() and @Output() decorators. A parent component can supply data to a child component using the @Input() decorator, and a child component can emit events to a parent component using the @Output() decorator. +* **Utilizing the @Input() and @Output() decorators**: We can transfer data between parent and child components using the @Input() and @Output() decorators. A parent component can supply data to a child component using the @Input() decorator, and a child component can emit events to a parent component using the @Output() decorator. * **ViewChild**: ViewChild can be used to access the properties and methods of the child component from the parent component. When we need to use the data or methods of the child component from the parent component, this way is helpful. @@ -107,9 +111,9 @@ Link for a simple Angular application to demonstrate routing:
    # REFERENCES: -[GEEKFORGEEKS](https://www.geeksforgeeks.org)
    -[ANGULAR OFFICIAL DOCUMENTATION](https://angular.io/guide/router-tutorial)
    -[C-SHARPCORNER](https://www.c-sharpcorner.com/article/sharing-the-data-between-components-in-angular)
    -[NOTNETTRICKS](https://www.dotnettricks.com/learn/angular/sharing-data-between-angular-components-methods)
    -[STACKBLITZ](https://stackblitz.com/run?file=src%2Fapp%2Fapp.component.html)
    +[geekforgeeks](https://www.geeksforgeeks.org)
    +[Angular official documentation](https://angular.io/guide/router-tutorial)
    +[C-sharpcorner](https://www.c-sharpcorner.com/article/sharing-the-data-between-components-in-angular)
    +[dotnettricks](https://www.dotnettricks.com/learn/angular/sharing-data-between-angular-components-methods)
    +[stackblitz](https://stackblitz.com/run?file=src%2Fapp%2Fapp.component.html)
    From 5b8bd3d96634a319f96feab27aad4ce50011d161 Mon Sep 17 00:00:00 2001 From: ShambhaviVijay <93869762+ShambhaviVijay@users.noreply.github.com> Date: Tue, 28 Mar 2023 22:16:09 +0530 Subject: [PATCH 27/31] Update README.md --- .../angular_routing/Routing/README.md | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/learning/dashboard/angular_routing/Routing/README.md b/learning/dashboard/angular_routing/Routing/README.md index 3a64bc99..1cb36240 100644 --- a/learning/dashboard/angular_routing/Routing/README.md +++ b/learning/dashboard/angular_routing/Routing/README.md @@ -31,8 +31,7 @@ After this the Angular application will be launched on your browser at localhost # ROUTING IN ANGULAR -
      -
    • ## **What is Angular Routing** +- ## **What is Angular Routing**

      In a single-page app, you change what the user sees by showing or hiding portions of the display that correspond to particular components, rather than going out to the server to get a new page. As users perform application tasks, they need to move between the different views that you have defined.

      @@ -41,10 +40,10 @@ After this the Angular application will be launched on your browser at localhost

      To explore a sample app featuring the router's primary features, see the example below router.zip file with the reference link.

      -
    • + -
    • ## **How to Use Angular Routes** +- ## **How to Use Angular Routes** Using Angular routes in a single-page application @@ -53,13 +52,12 @@ It describes how to build a single-page application, SPA that uses multiple Angu In a Single Page Application (SPA), all of your application's functions exist in a single HTML page. As users access your application's features, the browser needs to render only the parts that matter to the user, instead of loading a new page. This pattern can significantly improve your application's user experience. To define how users navigate through your application, you use routes. Add routes to define how users navigate from one part of your application to another. You can also configure routes to guard against unexpected or unauthorized behavior. -
    • -
    + # DATA PASSING -## **Data passing in Angular** +## Data passing in Angular

      In an Angular application, we may have multiple components with a variety of functionality/features and while developing an application we may come across a situation where we need to share or pass the data from one component to another one, in that case, we can achieve that by using the concept of data sharing between the components, and for that in Angular, there are some provisions or ways to achieve the same.

      @@ -76,15 +74,14 @@ To define how users navigate through your application, you use routes. Add route
    • -## **Why is data passed between Angular components:** +- ## Why is data passed between Angular components:

      Angular provides component based architecture that allows modularizing the application. It means you can create multiple chunks, and convert your large component to a smaller segment that can be easily maintained. The main advantage to do this is easily understanding the component and maintenance of code. In this scenario, it is important for communication between components or share the data between the component.

      Angular provides multiple ways to share the data between the components. Based on your need and kind of component relation, you can select any of the methods. It is recommended to use the service method as it is independent of component relation and helps you to send data to multiple components.

      -
    • - -
    • ## **How to pass the data between angular routes?** + +- ## How to pass the data between angular routes? The task is to share data variables between two or more controllers by using AngularJS. There are many procedures to achieve this. Here we will discuss the most popular ones. @@ -95,11 +92,11 @@ The task is to share data variables between two or more controllers by using Ang 1. **Using a service**: We can design a shared service that has the information we want the controllers to exchange. The controllers can inject the service to access the data, and the service may include methods to configure and obtain the data. This method is advised for data exchange across components without a clear parent-child relationship. -* **Utilizing the @Input() and @Output() decorators**: We can transfer data between parent and child components using the @Input() and @Output() decorators. A parent component can supply data to a child component using the @Input() decorator, and a child component can emit events to a parent component using the @Output() decorator. +2. **Utilizing the @Input() and @Output() decorators**: We can transfer data between parent and child components using the @Input() and @Output() decorators. A parent component can supply data to a child component using the @Input() decorator, and a child component can emit events to a parent component using the @Output() decorator. -* **ViewChild**: ViewChild can be used to access the properties and methods of the child component from the parent component. When we need to use the data or methods of the child component from the parent component, this way is helpful. +3. **ViewChild**: ViewChild can be used to access the properties and methods of the child component from the parent component. When we need to use the data or methods of the child component from the parent component, this way is helpful. -* **With ngRx**: We can implement a reactive strategy for data sharing between components using the ngRx module. The Redux pattern is the foundation of ngRx, which offers a centralised store for controlling application state. Components can dispatch actions to change the state and subscribe to the shop to get updates when the state changes. +4. **With ngRx**: We can implement a reactive strategy for data sharing between components using the ngRx module. The Redux pattern is the foundation of ngRx, which offers a centralised store for controlling application state. Components can dispatch actions to change the state and subscribe to the shop to get updates when the state changes. # TUTORIAL APP From 884860405bd22f2ffd970fe1e5a41f47b6400b39 Mon Sep 17 00:00:00 2001 From: ShambhaviVijay <93869762+ShambhaviVijay@users.noreply.github.com> Date: Tue, 28 Mar 2023 22:17:36 +0530 Subject: [PATCH 28/31] Update README.md --- learning/dashboard/angular_routing/Routing/README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/learning/dashboard/angular_routing/Routing/README.md b/learning/dashboard/angular_routing/Routing/README.md index 1cb36240..b6278b73 100644 --- a/learning/dashboard/angular_routing/Routing/README.md +++ b/learning/dashboard/angular_routing/Routing/README.md @@ -62,7 +62,7 @@ To define how users navigate through your application, you use routes. Add route

        In an Angular application, we may have multiple components with a variety of functionality/features and while developing an application we may come across a situation where we need to share or pass the data from one component to another one, in that case, we can achieve that by using the concept of data sharing between the components, and for that in Angular, there are some provisions or ways to achieve the same.

        -
      • ### Methods: +- ### Methods: Parent to Child: via Input, @@ -71,8 +71,7 @@ To define how users navigate through your application, you use routes. Add route Child to Parent: via ViewChild, Unrelated Components: via a Service. -
      • -
      • + - ## Why is data passed between Angular components: From b06ff956ff8076b61027f9899d4748d3c9e7c993 Mon Sep 17 00:00:00 2001 From: ShambhaviVijay <93869762+ShambhaviVijay@users.noreply.github.com> Date: Tue, 28 Mar 2023 22:18:48 +0530 Subject: [PATCH 29/31] Update README.md --- learning/dashboard/angular_routing/Routing/README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/learning/dashboard/angular_routing/Routing/README.md b/learning/dashboard/angular_routing/Routing/README.md index b6278b73..6556d28d 100644 --- a/learning/dashboard/angular_routing/Routing/README.md +++ b/learning/dashboard/angular_routing/Routing/README.md @@ -72,15 +72,14 @@ To define how users navigate through your application, you use routes. Add route Unrelated Components: via a Service. - -- ## Why is data passed between Angular components: +## Why is data passed between Angular components:

        Angular provides component based architecture that allows modularizing the application. It means you can create multiple chunks, and convert your large component to a smaller segment that can be easily maintained. The main advantage to do this is easily understanding the component and maintenance of code. In this scenario, it is important for communication between components or share the data between the component.

        Angular provides multiple ways to share the data between the components. Based on your need and kind of component relation, you can select any of the methods. It is recommended to use the service method as it is independent of component relation and helps you to send data to multiple components.

        -- ## How to pass the data between angular routes? +## How to pass the data between angular routes? The task is to share data variables between two or more controllers by using AngularJS. There are many procedures to achieve this. Here we will discuss the most popular ones. From b3e5619c04bd6d704ad1f29def6394e41115cb89 Mon Sep 17 00:00:00 2001 From: deepika Date: Fri, 31 Mar 2023 16:44:51 +0530 Subject: [PATCH 30/31] msg --- rmu.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 rmu.txt diff --git a/rmu.txt b/rmu.txt new file mode 100644 index 00000000..70e0fef5 --- /dev/null +++ b/rmu.txt @@ -0,0 +1 @@ +gfyvsujv kdcbeik659451521 \ No newline at end of file From 9700c18cbc7a8864756b78691fc7c872dea0d8ab Mon Sep 17 00:00:00 2001 From: ShambhaviVijay <93869762+ShambhaviVijay@users.noreply.github.com> Date: Tue, 11 Apr 2023 16:14:58 +0530 Subject: [PATCH 31/31] Delete rmu.txt --- rmu.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 rmu.txt diff --git a/rmu.txt b/rmu.txt deleted file mode 100644 index 70e0fef5..00000000 --- a/rmu.txt +++ /dev/null @@ -1 +0,0 @@ -gfyvsujv kdcbeik659451521 \ No newline at end of file