From 4253378e66e32c12c8e48634897c4384e6f482fa Mon Sep 17 00:00:00 2001 From: Ward Bell Date: Fri, 13 Jan 2017 13:21:22 -0800 Subject: [PATCH] docs(hierarchical-di): Correct avoidance example (#3086) and more (#3091) * closes #3086 * samples reworked to conform to our sample style, make more sense, and cover the points in prose. * copy edits to bring closer to Google docs standards. --- .../e2e-spec.ts | 129 +++++--- .../ts/app/app.component.ts | 21 ++ .../ts/app/app.module.ts | 46 ++- .../ts/app/car.components.ts | 74 +++++ .../ts/app/car.services.ts | 95 ++++++ .../ts/app/edit-item.ts | 6 - .../ts/app/hero-card.component.ts | 17 -- .../ts/app/hero-editor.component.ts | 47 --- .../ts/app/hero-tax-return.component.css | 22 ++ .../ts/app/hero-tax-return.component.html | 20 ++ .../ts/app/hero-tax-return.component.ts | 44 +++ .../ts/app/hero-tax-return.service.ts | 30 ++ .../ts/app/hero.ts | 29 +- .../ts/app/heroes-list.component.ts | 63 ++-- .../ts/app/heroes.service.ts | 47 ++- .../ts/app/restore.service.ts | 25 -- .../ts/app/villains-list.component.html | 6 + .../ts/app/villains-list.component.ts | 21 ++ .../ts/app/villains.service.ts | 17 ++ .../ts/index.html | 4 +- .../ts/plnkr.json | 9 +- public/docs/ts/latest/guide/change-log.jade | 12 + .../hierarchical-dependency-injection.jade | 288 ++++++++++-------- .../dependency-injection/car-components.png | Bin 0 -> 2863 bytes .../component-hierarchy.png | Bin 23487 -> 11525 bytes .../dependency-injection/hid-heroes-anim.gif | Bin 0 -> 130055 bytes .../dependency-injection/injector-tree.png | Bin 15006 -> 13273 bytes 27 files changed, 732 insertions(+), 340 deletions(-) create mode 100644 public/docs/_examples/hierarchical-dependency-injection/ts/app/app.component.ts create mode 100644 public/docs/_examples/hierarchical-dependency-injection/ts/app/car.components.ts create mode 100644 public/docs/_examples/hierarchical-dependency-injection/ts/app/car.services.ts delete mode 100644 public/docs/_examples/hierarchical-dependency-injection/ts/app/edit-item.ts delete mode 100644 public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-card.component.ts delete mode 100644 public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-editor.component.ts create mode 100644 public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-tax-return.component.css create mode 100644 public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-tax-return.component.html create mode 100644 public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-tax-return.component.ts create mode 100644 public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-tax-return.service.ts delete mode 100644 public/docs/_examples/hierarchical-dependency-injection/ts/app/restore.service.ts create mode 100644 public/docs/_examples/hierarchical-dependency-injection/ts/app/villains-list.component.html create mode 100644 public/docs/_examples/hierarchical-dependency-injection/ts/app/villains-list.component.ts create mode 100644 public/docs/_examples/hierarchical-dependency-injection/ts/app/villains.service.ts create mode 100644 public/resources/images/devguide/dependency-injection/car-components.png create mode 100644 public/resources/images/devguide/dependency-injection/hid-heroes-anim.gif diff --git a/public/docs/_examples/hierarchical-dependency-injection/e2e-spec.ts b/public/docs/_examples/hierarchical-dependency-injection/e2e-spec.ts index 738e304d1b..4630453f78 100644 --- a/public/docs/_examples/hierarchical-dependency-injection/e2e-spec.ts +++ b/public/docs/_examples/hierarchical-dependency-injection/e2e-spec.ts @@ -1,56 +1,103 @@ -import { browser, element, by } from 'protractor'; +'use strict'; // necessary for es6 output in node -describe('Hierarchical dependency injection', function () { +import { browser, by, element } from 'protractor'; - beforeEach(function () { +describe('Hierarchical dependency injection', () => { + + beforeAll(() => { browser.get(''); }); - it('should open with a card view', function () { - expect(element.all(by.cssContainingText('button', 'edit')).get(0).isDisplayed()).toBe(true, - 'edit button should be displayed'); + describe('Heroes Scenario', () => { + let page = { + heroName: '', + income: '', + + // queries + heroEl: element.all(by.css('heroes-list li')).get(0), // first hero + heroCardEl: element(by.css('heroes-list hero-tax-return')), // first hero tax-return + taxReturnNameEl: element.all(by.css('heroes-list hero-tax-return #name')).get(0), + incomeInputEl: element.all(by.css('heroes-list hero-tax-return input')).get(0), + cancelButtonEl: element(by.cssContainingText('heroes-list hero-tax-return button', 'Cancel')), + closeButtonEl: element(by.cssContainingText('heroes-list hero-tax-return button', 'Close')), + saveButtonEl: element(by.cssContainingText('heroes-list hero-tax-return button', 'Save')) + }; + + it('should list multiple heroes', () => { + expect(element.all(by.css('heroes-list li')).count()).toBeGreaterThan(1); + }); + + it('should show no hero tax-returns at the start', () => { + expect(element.all(by.css('heroes-list li hero-tax-return')).count()).toBe(0); + }); + + it('should open first hero in hero-tax-return view after click', () => { + page.heroEl.getText() + .then(val => { + page.heroName = val; + }) + .then(() => page.heroEl.click()) + .then(() => { + expect(page.heroCardEl.isDisplayed()).toBe(true); + }); + }); + + it('hero tax-return should have first hero\'s name', () => { + // Not `page.tax-returnNameInputEl.getAttribute('value')` although later that is essential + expect(page.taxReturnNameEl.getText()).toEqual(page.heroName); + }); + + it('should be able to cancel change', () => { + page.incomeInputEl.clear() + .then(() => page.incomeInputEl.sendKeys('777')) + .then(() => { + expect(page.incomeInputEl.getAttribute('value')).toBe('777', 'income should be 777'); + return page.cancelButtonEl.click(); + }) + .then(() => { + expect(page.incomeInputEl.getAttribute('value')).not.toBe('777', 'income should not be 777'); + }); + }); + + it('should be able to save change', () => { + page.incomeInputEl.clear() + .then(() => page.incomeInputEl.sendKeys('999')) + .then(() => { + expect(page.incomeInputEl.getAttribute('value')).toBe('999', 'income should be 999'); + return page.saveButtonEl.click(); + }) + .then(() => { + expect(page.incomeInputEl.getAttribute('value')).toBe('999', 'income should still be 999'); + }); + }); + + it('should be able to close tax-return', () => { + page.saveButtonEl.click() + .then(() => { + expect(element.all(by.css('heroes-list li hero-tax-return')).count()).toBe(0); + }); + }); + }); - it('should have multiple heroes listed', function () { - expect(element.all(by.css('heroes-list li')).count()).toBeGreaterThan(1); - }); - - it('should change to editor view after selection', function () { - let editButtonEle = element.all(by.cssContainingText('button', 'edit')).get(0); - editButtonEle.click().then(function() { - expect(editButtonEle.isDisplayed()).toBe(false, 'edit button should be hidden after selection'); + describe('Villains Scenario', () => { + it('should list multiple villains', () => { + expect(element.all(by.css('villains-list li')).count()).toBeGreaterThan(1); }); }); - it('should be able to save editor change', function () { - testEdit(true); - }); + describe('Cars Scenario', () => { - it('should be able to cancel editor change', function () { - testEdit(false); - }); - - function testEdit(shouldSave: boolean) { - // select 2nd ele - let heroEle = element.all(by.css('heroes-list li')).get(1); - // get the 2nd span which is the name of the hero - let heroNameEle = heroEle.all(by.css('hero-card span')).get(1); - let editButtonEle = heroEle.element(by.cssContainingText('button', 'edit')); - editButtonEle.click().then(function() { - let inputEle = heroEle.element(by.css('hero-editor input')); - return inputEle.sendKeys('foo'); - }).then(function() { - let buttonName = shouldSave ? 'save' : 'cancel'; - let buttonEle = heroEle.element(by.cssContainingText('button', buttonName)); - return buttonEle.click(); - }).then(function() { - if (shouldSave) { - expect(heroNameEle.getText()).toContain('foo'); - } else { - expect(heroNameEle.getText()).not.toContain('foo'); - } + it('A-component should use expected services', () => { + expect(element(by.css('a-car')).getText()).toContain('C1-E1-T1'); }); - } + it('B-component should use expected services', () => { + expect(element(by.css('b-car')).getText()).toContain('C2-E2-T1'); + }); + it('C-component should use expected services', () => { + expect(element(by.css('c-car')).getText()).toContain('C3-E2-T1'); + }); + }); }); diff --git a/public/docs/_examples/hierarchical-dependency-injection/ts/app/app.component.ts b/public/docs/_examples/hierarchical-dependency-injection/ts/app/app.component.ts new file mode 100644 index 0000000000..a58b684434 --- /dev/null +++ b/public/docs/_examples/hierarchical-dependency-injection/ts/app/app.component.ts @@ -0,0 +1,21 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'my-app', + template: ` + + + + +

Hierarchical Dependency Injection

+ + + + + ` +}) +export class AppComponent { + showCars = true; + showHeroes = true; + showVillains = true; +} diff --git a/public/docs/_examples/hierarchical-dependency-injection/ts/app/app.module.ts b/public/docs/_examples/hierarchical-dependency-injection/ts/app/app.module.ts index 80047b8e32..6ea18655af 100644 --- a/public/docs/_examples/hierarchical-dependency-injection/ts/app/app.module.ts +++ b/public/docs/_examples/hierarchical-dependency-injection/ts/app/app.module.ts @@ -1,43 +1,33 @@ // #docregion -import { NgModule } from '@angular/core'; +import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; -import { FormsModule } from '@angular/forms'; +import { FormsModule } from '@angular/forms'; -import { HeroesListComponent } from './heroes-list.component'; -import { HeroEditorComponent } from './hero-editor.component'; -import { HeroCardComponent } from './hero-card.component'; -import { HeroesService } from './heroes.service'; +import { AppComponent } from './app.component'; +import { HeroTaxReturnComponent } from './hero-tax-return.component'; +import { HeroesListComponent } from './heroes-list.component'; +import { HeroesService } from './heroes.service'; +import { VillainsListComponent } from './villains-list.component'; + +import { carComponents, carServices } from './car.components'; @NgModule({ imports: [ BrowserModule, FormsModule ], - providers: [ HeroesService ], + providers: [ + carServices, + HeroesService + ], declarations: [ + AppComponent, + carComponents, HeroesListComponent, - HeroCardComponent, - HeroEditorComponent + HeroTaxReturnComponent, + VillainsListComponent ], - bootstrap: [ HeroesListComponent ] + bootstrap: [ AppComponent ] }) export class AppModule { } -/* Documentation artifact below -// #docregion bad-alternative -// Don't do this! -@NgModule({ - imports: [ - BrowserModule, - FormsModule - ], - providers: [ HeroesService, RestoreService ], - declarations: [ HeroesListComponent ], - bootstrap: [ - HeroesListComponent, - HeroCardComponent, - HeroEditorComponent - ] -}) -// #enddocregion bad-alternative -*/ diff --git a/public/docs/_examples/hierarchical-dependency-injection/ts/app/car.components.ts b/public/docs/_examples/hierarchical-dependency-injection/ts/app/car.components.ts new file mode 100644 index 0000000000..2ae18954ad --- /dev/null +++ b/public/docs/_examples/hierarchical-dependency-injection/ts/app/car.components.ts @@ -0,0 +1,74 @@ +import { Component } from '@angular/core'; + +import { + CarService, CarService2, CarService3, + EngineService, EngineService2, TiresService +} from './car.services'; + +////////// CCarComponent //////////// +@Component({ + selector: 'c-car', + template: `
C: {{description}}
`, + providers: [ + { provide: CarService, useClass: CarService3 } + ] +}) +export class CCarComponent { + description: string; + constructor(carService: CarService) { + this.description = `${carService.getCar().description} (${carService.name})`; + } +} + +////////// BCarComponent //////////// +@Component({ + selector: 'b-car', + template: ` +
B: {{description}}
+ + `, + providers: [ + { provide: CarService, useClass: CarService2 }, + { provide: EngineService, useClass: EngineService2 } + ] +}) +export class BCarComponent { + description: string; + constructor(carService: CarService) { + this.description = `${carService.getCar().description} (${carService.name})`; + } +} + +////////// ACarComponent //////////// +@Component({ + selector: 'a-car', + template: ` +
A: {{description}}
+ ` +}) +export class ACarComponent { + description: string; + constructor(carService: CarService) { + this.description = `${carService.getCar().description} (${carService.name})`; + } +} +////////// CarsComponent //////////// +@Component({ + selector: 'my-cars', + template: ` +

Cars

+ ` +}) +export class CarsComponent { } + +//////////////// + +export const carComponents = [ + CarsComponent, + ACarComponent, BCarComponent, CCarComponent +]; + +// generic car-related services +export const carServices = [ + CarService, EngineService, TiresService +]; diff --git a/public/docs/_examples/hierarchical-dependency-injection/ts/app/car.services.ts b/public/docs/_examples/hierarchical-dependency-injection/ts/app/car.services.ts new file mode 100644 index 0000000000..5851b1e595 --- /dev/null +++ b/public/docs/_examples/hierarchical-dependency-injection/ts/app/car.services.ts @@ -0,0 +1,95 @@ +import { Injectable } from '@angular/core'; + +/// Model /// +export class Car { + name = 'Avocado Motors'; + constructor(public engine: Engine, public tires: Tires) { } + + get description() { + return `${this.name} car with ` + + `${this.engine.cylinders} cylinders and ${this.tires.make} tires.`; + } +} + +export class Engine { + cylinders = 4; +} + +export class Tires { + make = 'Flintstone'; + model = 'Square'; +} + +//// Engine services /// +@Injectable() +export class EngineService { + id = 'E1'; + getEngine() { return new Engine(); } +} + +@Injectable() +export class EngineService2 { + id = 'E2'; + getEngine() { + const eng = new Engine(); + eng.cylinders = 8; + return eng; + } +} + +//// Tire services /// +@Injectable() +export class TiresService { + id = 'T1'; + getTires() { return new Tires(); } +} + +/// Car Services /// +@Injectable() +export class CarService { + id = 'C1'; + constructor( + protected engineService: EngineService, + protected tiresService: TiresService) { } + + getCar() { + return new Car( + this.engineService.getEngine(), + this.tiresService.getTires()); + } + + get name() { + return `${this.id}-${this.engineService.id}-${this.tiresService.id}`; + } +} + +@Injectable() +export class CarService2 extends CarService { + id = 'C2'; + constructor( + protected engineService: EngineService, + protected tiresService: TiresService) { + super(engineService, tiresService); + } + getCar() { + const car = super.getCar(); + car.name = 'BamBam Motors, BroVan 2000'; + return car; + } +} + +@Injectable() +export class CarService3 extends CarService2 { + id = 'C3'; + constructor( + protected engineService: EngineService, + protected tiresService: TiresService) { + super(engineService, tiresService); + } + getCar() { + const car = super.getCar(); + car.name = 'Chizzamm Motors, Calico UltraMax Supreme'; + return car; + } +} + diff --git a/public/docs/_examples/hierarchical-dependency-injection/ts/app/edit-item.ts b/public/docs/_examples/hierarchical-dependency-injection/ts/app/edit-item.ts deleted file mode 100644 index 31602112f2..0000000000 --- a/public/docs/_examples/hierarchical-dependency-injection/ts/app/edit-item.ts +++ /dev/null @@ -1,6 +0,0 @@ -// #docregion -export class EditItem { - editing: boolean; - constructor (public item: T) {} -} -// #docregion diff --git a/public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-card.component.ts b/public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-card.component.ts deleted file mode 100644 index a888168848..0000000000 --- a/public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-card.component.ts +++ /dev/null @@ -1,17 +0,0 @@ -// #docregion -import { Component, Input } from '@angular/core'; - -import { Hero } from './hero'; - -@Component({ - selector: 'hero-card', - template: ` -
- Name: - {{hero.name}} -
` -}) -export class HeroCardComponent { - @Input() hero: Hero; -} -// #docregion diff --git a/public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-editor.component.ts b/public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-editor.component.ts deleted file mode 100644 index b45960b179..0000000000 --- a/public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-editor.component.ts +++ /dev/null @@ -1,47 +0,0 @@ -// #docregion -import { Component, EventEmitter, Input, Output } from '@angular/core'; - -import { RestoreService } from './restore.service'; -import { Hero } from './hero'; - -@Component({ - selector: 'hero-editor', - // #docregion providers - providers: [RestoreService], - // #enddocregion providers - template: ` -
- Name: - -
- - -
-
` -}) - -export class HeroEditorComponent { - @Output() canceled = new EventEmitter(); - @Output() saved = new EventEmitter(); - - constructor(private restoreService: RestoreService) {} - - @Input() - set hero (hero: Hero) { - this.restoreService.setItem(hero); - } - - get hero () { - return this.restoreService.getItem(); - } - - onSaved () { - this.saved.emit(this.restoreService.getItem()); - } - - onCanceled () { - this.hero = this.restoreService.restoreItem(); - this.canceled.emit(this.hero); - } -} -// #enddocregion diff --git a/public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-tax-return.component.css b/public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-tax-return.component.css new file mode 100644 index 0000000000..9df776e228 --- /dev/null +++ b/public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-tax-return.component.css @@ -0,0 +1,22 @@ +.tax-return { border: thin dashed green; margin: 1em; padding: 1em; width: 18em; position: relative } +#name { font-weight: bold;} +#tid { float: right; } +input { font-size: 100%; padding-left: 2px; width: 6em; } +input.num { text-align: right; padding-left: 0; padding-right: 4px; width: 4em;} +fieldset { border: 0 none;} + +.msg { + color: white; + font-size: 150%; + position: absolute; + /*opacity: 0.3;*/ + left: 2px; + top: 3em; + width: 98%; + background-color: green; + text-align: center; +} +.msg.canceled { + color: white; + background-color: red; +} diff --git a/public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-tax-return.component.html b/public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-tax-return.component.html new file mode 100644 index 0000000000..dbed6c7f5b --- /dev/null +++ b/public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-tax-return.component.html @@ -0,0 +1,20 @@ +
+
{{message}}
+
+ {{taxReturn.name}} + +
+
+ +
+
+ +
+
+ + + +
+
diff --git a/public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-tax-return.component.ts b/public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-tax-return.component.ts new file mode 100644 index 0000000000..42e813f69b --- /dev/null +++ b/public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-tax-return.component.ts @@ -0,0 +1,44 @@ +// #docregion +import { Component, EventEmitter, Input, Output } from '@angular/core'; +import { HeroTaxReturn } from './hero'; +import { HeroTaxReturnService } from './hero-tax-return.service'; + +@Component({ + moduleId: module.id, + selector: 'hero-tax-return', + templateUrl: './hero-tax-return.component.html', + styleUrls: [ './hero-tax-return.component.css' ], + // #docregion providers + providers: [ HeroTaxReturnService ] + // #enddocregion providers +}) +export class HeroTaxReturnComponent { + message = ''; + @Output() close = new EventEmitter(); + @Input() + get taxReturn(): HeroTaxReturn { + return this.heroTaxReturnService.taxReturn; + } + set taxReturn (htr: HeroTaxReturn) { + this.heroTaxReturnService.taxReturn = htr; + } + + constructor(private heroTaxReturnService: HeroTaxReturnService ) { } + + onCanceled() { + this.flashMessage('Canceled'); + this.heroTaxReturnService.restoreTaxReturn(); + }; + + onClose() { this.close.emit(); }; + + onSaved() { + this.flashMessage('Saved'); + this.heroTaxReturnService.saveTaxReturn(); + } + + flashMessage(msg: string) { + this.message = msg; + setTimeout(() => this.message = '', 500); + } +} diff --git a/public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-tax-return.service.ts b/public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-tax-return.service.ts new file mode 100644 index 0000000000..d6ff0f7fff --- /dev/null +++ b/public/docs/_examples/hierarchical-dependency-injection/ts/app/hero-tax-return.service.ts @@ -0,0 +1,30 @@ +// #docregion +import { Injectable } from '@angular/core'; +import { HeroTaxReturn } from './hero'; +import { HeroesService } from './heroes.service'; + +@Injectable() +export class HeroTaxReturnService { + private currentTaxReturn: HeroTaxReturn; + private originalTaxReturn: HeroTaxReturn; + + constructor(private heroService: HeroesService) { } + + set taxReturn (htr: HeroTaxReturn) { + this.originalTaxReturn = htr; + this.currentTaxReturn = htr.clone(); + } + + get taxReturn (): HeroTaxReturn { + return this.currentTaxReturn; + } + + restoreTaxReturn() { + this.taxReturn = this.originalTaxReturn; + } + + saveTaxReturn() { + this.taxReturn = this.currentTaxReturn; + this.heroService.saveTaxReturn(this.currentTaxReturn).subscribe(); + } +} diff --git a/public/docs/_examples/hierarchical-dependency-injection/ts/app/hero.ts b/public/docs/_examples/hierarchical-dependency-injection/ts/app/hero.ts index 76f808b1c5..4ad6ccd8eb 100644 --- a/public/docs/_examples/hierarchical-dependency-injection/ts/app/hero.ts +++ b/public/docs/_examples/hierarchical-dependency-injection/ts/app/hero.ts @@ -1,6 +1,31 @@ // #docregion + export class Hero { + id: number; name: string; - power: string; + tid: string; // tax id +} + +//// HeroTaxReturn //// +let nextId = 100; + +export class HeroTaxReturn { + constructor( + public id = nextId++, + public hero: Hero, + public income = 0 ) { + if (id === 0) { id = nextId++; } + } + + get name() { return this.hero.name; } + get tax() { return this.income ? .10 * this.income : 0; } + get tid() { return this.hero.tid; } + + toString() { + return `${this.hero.name}`; + } + + clone() { + return new HeroTaxReturn(this.id, this.hero, this.income); + } } -// #enddocregion diff --git a/public/docs/_examples/hierarchical-dependency-injection/ts/app/heroes-list.component.ts b/public/docs/_examples/hierarchical-dependency-injection/ts/app/heroes-list.component.ts index af1ece3376..36cb5ec1c3 100644 --- a/public/docs/_examples/hierarchical-dependency-injection/ts/app/heroes-list.component.ts +++ b/public/docs/_examples/hierarchical-dependency-injection/ts/app/heroes-list.component.ts @@ -1,51 +1,48 @@ // #docregion -import { Component } from '@angular/core'; +import { Component } from '@angular/core'; +import { Observable } from 'rxjs/Observable'; -import { EditItem } from './edit-item'; -import { HeroesService } from './heroes.service'; -import { Hero } from './hero'; +import { Hero, HeroTaxReturn } from './hero'; +import { HeroesService } from './heroes.service'; @Component({ selector: 'heroes-list', template: `
+

Hero Tax Returns

    -
  • - - - - - +
  • {{hero.name}}
-
` + + + + `, + styles: [ 'li {cursor: pointer;}' ] }) export class HeroesListComponent { - heroes: Array>; - constructor(heroesService: HeroesService) { - this.heroes = heroesService.getHeroes() - .map(item => new EditItem(item)); + heroes: Observable; + selectedTaxReturns: HeroTaxReturn[] = []; + + constructor(private heroesService: HeroesService) { + this.heroes = heroesService.getHeroes(); } - onSaved (editItem: EditItem, updatedHero: Hero) { - editItem.item = updatedHero; - editItem.editing = false; + showTaxReturn(hero: Hero) { + this.heroesService.getTaxReturn(hero) + .subscribe(htr => { + // show if not currently shown + if (!this.selectedTaxReturns.find(tr => tr.id === htr.id)) { + this.selectedTaxReturns.push(htr); + } + }); } - onCanceled (editItem: EditItem) { - editItem.editing = false; + closeTaxReturn(ix: number) { + this.selectedTaxReturns.splice(ix, 1); } } - - -// #enddocregion diff --git a/public/docs/_examples/hierarchical-dependency-injection/ts/app/heroes.service.ts b/public/docs/_examples/hierarchical-dependency-injection/ts/app/heroes.service.ts index 2f211e8799..72433b29f7 100644 --- a/public/docs/_examples/hierarchical-dependency-injection/ts/app/heroes.service.ts +++ b/public/docs/_examples/hierarchical-dependency-injection/ts/app/heroes.service.ts @@ -1,12 +1,47 @@ -import { Hero } from './hero'; +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs/Observable'; +import { Subscriber } from 'rxjs/Subscriber'; + +import { Hero, HeroTaxReturn } from './hero'; + +@Injectable() export class HeroesService { - heroes: Array = [ - { name: 'RubberMan', power: 'flexibility'}, - { name: 'Tornado', power: 'Weather changer'} + heroes: Hero[] = [ + { id: 1, name: 'RubberMan', tid: '082-27-5678'}, + { id: 2, name: 'Tornado', tid: '099-42-4321'} ]; - getHeroes () { - return this.heroes; + heroTaxReturns: HeroTaxReturn[] = [ + new HeroTaxReturn(10, this.heroes[0], 35000), + new HeroTaxReturn(20, this.heroes[1], 1250000) + ]; + + getHeroes(): Observable { + return new Observable((subscriber: Subscriber) => { + subscriber.next(this.heroes); + subscriber.complete(); + }); + } + + getTaxReturn(hero: Hero): Observable { + return new Observable((subscriber: Subscriber) => { + const htr = this.heroTaxReturns.find(t => t.hero.id === hero.id); + subscriber.next(htr || new HeroTaxReturn(0, hero)); + subscriber.complete(); + }); + } + + saveTaxReturn(heroTaxReturn: HeroTaxReturn): Observable { + return new Observable((subscriber: Subscriber) => { + const htr = this.heroTaxReturns.find(t => t.id === heroTaxReturn.id); + if (htr) { + heroTaxReturn = Object.assign(htr, heroTaxReturn); // demo: mutate + } else { + this.heroTaxReturns.push(heroTaxReturn); + } + subscriber.next(heroTaxReturn); + subscriber.complete(); + }); } } diff --git a/public/docs/_examples/hierarchical-dependency-injection/ts/app/restore.service.ts b/public/docs/_examples/hierarchical-dependency-injection/ts/app/restore.service.ts deleted file mode 100644 index 667b8a053d..0000000000 --- a/public/docs/_examples/hierarchical-dependency-injection/ts/app/restore.service.ts +++ /dev/null @@ -1,25 +0,0 @@ -// #docregion -export class RestoreService { - originalItem: T; - currentItem: T; - - setItem (item: T) { - this.originalItem = item; - this.currentItem = this.clone(item); - } - - getItem (): T { - return this.currentItem; - } - - restoreItem (): T { - this.currentItem = this.originalItem; - return this.getItem(); - } - - clone (item: T): T { - // super poor clone implementation - return JSON.parse(JSON.stringify(item)); - } -} -// #enddocregion diff --git a/public/docs/_examples/hierarchical-dependency-injection/ts/app/villains-list.component.html b/public/docs/_examples/hierarchical-dependency-injection/ts/app/villains-list.component.html new file mode 100644 index 0000000000..955a58078e --- /dev/null +++ b/public/docs/_examples/hierarchical-dependency-injection/ts/app/villains-list.component.html @@ -0,0 +1,6 @@ +
+

Villains

+
    +
  • {{villain.name}}
  • +
+
diff --git a/public/docs/_examples/hierarchical-dependency-injection/ts/app/villains-list.component.ts b/public/docs/_examples/hierarchical-dependency-injection/ts/app/villains-list.component.ts new file mode 100644 index 0000000000..dcdbb9d0be --- /dev/null +++ b/public/docs/_examples/hierarchical-dependency-injection/ts/app/villains-list.component.ts @@ -0,0 +1,21 @@ +// #docregion +import { Component } from '@angular/core'; +import { Observable } from 'rxjs/Observable'; + +import { Villain, VillainsService } from './villains.service'; + +// #docregion metadata +@Component({ + moduleId: module.id, + selector: 'villains-list', + templateUrl: './villains-list.component.html', + providers: [ VillainsService ] +}) +// #enddocregion metadata +export class VillainsListComponent { + villaines: Observable; + + constructor(private villainesService: VillainsService) { + this.villaines = villainesService.getVillains(); + } +} diff --git a/public/docs/_examples/hierarchical-dependency-injection/ts/app/villains.service.ts b/public/docs/_examples/hierarchical-dependency-injection/ts/app/villains.service.ts new file mode 100644 index 0000000000..f839bf24c1 --- /dev/null +++ b/public/docs/_examples/hierarchical-dependency-injection/ts/app/villains.service.ts @@ -0,0 +1,17 @@ +import { Injectable } from '@angular/core'; + +import { of } from 'rxjs/observable/of'; + +export interface Villain { id: number; name: string; } + +@Injectable() +export class VillainsService { + villains: Villain[] = [ + { id: 1, name: 'Dr. Evil'}, + { id: 2, name: 'Moriarty'} + ]; + + getVillains() { + return of(this.villains); + } +} diff --git a/public/docs/_examples/hierarchical-dependency-injection/ts/index.html b/public/docs/_examples/hierarchical-dependency-injection/ts/index.html index a3b63554b3..749c72f098 100644 --- a/public/docs/_examples/hierarchical-dependency-injection/ts/index.html +++ b/public/docs/_examples/hierarchical-dependency-injection/ts/index.html @@ -19,9 +19,7 @@ - - loading... - + loading... diff --git a/public/docs/_examples/hierarchical-dependency-injection/ts/plnkr.json b/public/docs/_examples/hierarchical-dependency-injection/ts/plnkr.json index 84cd89d7ca..bbeff4a5c3 100644 --- a/public/docs/_examples/hierarchical-dependency-injection/ts/plnkr.json +++ b/public/docs/_examples/hierarchical-dependency-injection/ts/plnkr.json @@ -1,5 +1,8 @@ { - "description": "Hierachical Injectors", - "files":["!**/*.d.ts", "!**/*.js"], + "description": "Hierachical Dependency Injection", + "files":[ + "!**/*.d.ts", + "!**/*.js" + ], "tags": ["dependency", "injection"] -} \ No newline at end of file +} diff --git a/public/docs/ts/latest/guide/change-log.jade b/public/docs/ts/latest/guide/change-log.jade index 3493102fa5..839572a5cd 100644 --- a/public/docs/ts/latest/guide/change-log.jade +++ b/public/docs/ts/latest/guide/change-log.jade @@ -5,6 +5,18 @@ block includes The Angular documentation is a living document with continuous improvements. This log calls attention to recent significant changes. + ## Hierarchical Dependency Injection: refreshed (2017-01-13) + [Hierarchical Dependency Injection](hierarchical-dependency-injection.html) guide significantly revised. + Closes issue #3086 + Revised samples are more clear and cover all topics discussed + + ## Miscellaneous (2017-01-05) + * [Setup](setup.html) guide: + added (optional) instructions on how to remove _non-essential_ files. + * No longer consolidate RxJS operator imports in `rxjs-extensions` file; each file should import what it needs. + * All samples prepend template/style URLS URLs w/ `./` ... and so should you. + * [Style Guide](style-guide.html): copy edits and revised rules. + ## Router: more detail (2016-12-21) Added more information to the [Router](router.html) guide including sections named outlets, wildcard routes, and preload strategies. diff --git a/public/docs/ts/latest/guide/hierarchical-dependency-injection.jade b/public/docs/ts/latest/guide/hierarchical-dependency-injection.jade index 32fbbda946..e4c994a811 100644 --- a/public/docs/ts/latest/guide/hierarchical-dependency-injection.jade +++ b/public/docs/ts/latest/guide/hierarchical-dependency-injection.jade @@ -2,170 +2,200 @@ block includes include ../_util-fns :marked - We learned the basics of Angular Dependency injection in the - [Dependency Injection](./dependency-injection.html) chapter. + You learned the basics of Angular Dependency injection in the + [Dependency Injection](./dependency-injection.html) guide. - Angular has a Hierarchical Dependency Injection system. - There is actually a tree of injectors - that parallel an application's component tree. - We can reconfigure the injectors at any level of that component tree with - interesting and useful results. + Angular has a _Hierarchical Dependency Injection_ system. + There is actually a tree of injectors that parallel an application's component tree. + You can reconfigure the injectors at any level of that component tree. - In this chapter we explore these points and write some code. + This guide explores this system and how to use it to your advantage. Try the . .l-main-section :marked - ## The Injector Tree + ## The injector tree - In the [Dependency Injection](./dependency-injection.html) chapter - we learned how to configure a dependency injector and how to retrieve dependencies where we need them. - - We oversimplified. In fact, there is no such thing as ***the*** injector! - An application may have multiple injectors! + In the [Dependency Injection](./dependency-injection.html) guide, + you learned how to configure a dependency injector and how to retrieve dependencies where you need them. + In fact, there is no such thing as *the* injector. + An application may have multiple injectors. An Angular application is a tree of components. Each component instance has its own injector! The tree of components parallels the tree of injectors. - -.l-sub-section - :marked - Angular doesn't *literally* create a separate injector for each component. - Every component doesn't need its own injector and it would be horribly inefficient to create - masses of injectors for no good purpose. - - But it is true that every component ***has an injector*** (even if it shares that injector with another component) - and there may be many different injector instances operating at different levels of the component tree. - - It is useful to pretend that every component has its own injector. :marked - Consider a simple variation on the Tour of Heroes application consisting of three different components: - `HeroesApp`, `HeroesListComponent` and `HeroesCardComponent`. - The `HeroesApp` holds a single instance of `HeroesListComponent`. - The new twist is that the `HeroesListComponent` may hold and manage multiple instances of the `HeroesCardComponent`. - - The following diagram represents the state of the component tree when there are three instances of `HeroesCardComponent` + Consider this guide's variation on the Tour of Heroes application. + At the top is the `AppComponent` which has some sub-components. + One of them is the `HeroesListComponent`. + The `HeroesListComponent` holds and manages multiple instances of the `HeroTaxReturnComponent`. + The following diagram represents the state of the this guide's three-level component tree when there are three instances of `HeroTaxReturnComponent` open simultaneously. figure.image-display - img(src="/resources/images/devguide/dependency-injection/component-hierarchy.png" alt="injector tree" width="500") + img(src="/resources/images/devguide/dependency-injection/component-hierarchy.png" alt="injector tree" width="600") :marked - Each component instance gets its own injector and an injector at one level is a child injector of the injector above it in the tree. + Angular doesn't actually _create_ a separate injector for each component. + Every component doesn't need its own injector and it would be horribly inefficient to create + masses of injectors for no good purpose. - When a component at the bottom requests a dependency, Angular tries to satisfy that dependency with a provider registered in that component's own injector. + But every component _has an injector_, even if it shares that injector with another component or with the injector of the root `AppModule`. + And there _may_ be multiple injector instances operating at different levels of the component tree + depending upon how the developer registers providers, which is the subject of this guide. + + ### Injector bubbling + + When a component requests a dependency, Angular tries to satisfy that dependency with a provider registered in that component's own injector. If the component's injector lacks the provider, it passes the request up to its parent component's injector. - If that injector can't satisfy the request, it passes it along to *its* parent component's injector. - The requests keep bubbling up until we find an injector that can handle the request or run out of component ancestors. - If we run out of ancestors, Angular throws an error. + If that injector can't satisfy the request, it passes it along to *its* parent injector. + The requests keep bubbling up until Angular finds an injector that can handle the request or runs out of ancestor injectors. + If it runs out of ancestors, Angular throws an error. .l-sub-section :marked - There's a third possibility. An intermediate component can declare that it is the "host" component. - The hunt for providers will climb no higher than the injector for this host component. - We'll reserve discussion of this option for another day. -:marked - Such a proliferation of injectors makes little sense until we consider the possibility that injectors at different levels can be - configured with different providers. We don't *have* to reconfigure providers at every level. But we *can*. + You can cap the bubbling. An intermediate component can declare that it is the "host" component. + The hunt for providers will climb no higher than the injector for that host component. + This a topic for another day. - If we don't reconfigure, the tree of injectors appears to be flat. All requests bubble up to the root - NgModule injector that we configured with the `!{_bootstrapModule}` method. +:marked + ### Re-providing a service at different levels + You can re-register a provider for a particular dependency token at multiple levels of the injector tree. + You don't *have* to re-register providers. You shouldn't do so unless you have a good reason. + But you *can*. + + As the resolution logic works upwards, the first provider encountered wins. + Thus, a provider in an intermediate injector intercepts a request for a service from something lower in the tree. + It effectively "reconfigures" and "shadows" a provider at a higher level in the tree. + + If you only specify providers at the top level (typically the root `AppModule`), the tree of injectors appears to be flat. + All requests bubble up to the root NgModule injector that you configured with the `!{_bootstrapModule}` method. + +.l-main-section +:marked + ## Component injectors The ability to configure one or more providers at different levels opens up interesting and useful possibilities. - Let’s return to our Car example. - Suppose we configured the root injector (marked as A) with providers for `Car`, `Engine` and `Tires`. - We create a child component (B) that defines its own providers for `Car` and `Engine` - This child is the parent of another component (C) that defines its own provider for `Car`. +:marked + ### Scenario: service isolation - Behind the scenes each component sets up its own injector with one or more providers defined for that component itself. + Architectural reasons may lead you to restrict access to a service to the application domain where it belongs. - When we resolve an instance of `Car` at the deepest component (C), + The guide sample includes a `VillainsListComponent` that displays a list of villains. + It gets those villains from a `VillainsService`. + + While you could provide `VillainsService` in the root `AppModule` (that's where you'll find the `HeroesService`), + that would make the `VillainsService` available everywhere in the application, including the _Hero_ workflows. + + If you later modify the `VillainsService`, you could break something in a hero component somewhere. + That's not supposed to happen but the way you've provided the service creates that risk. + + Instead, provide the `VillainsService` in the `providers` metadata of the `VillainsListComponent` like this: + ++makeExample('hierarchical-dependency-injection/ts/app/villains-list.component.ts', 'metadata','app/villains-list.component.ts (metadata)')(format='.') +:marked + By providing `VillainsService` in the `VillainsListComponent` metadata — and nowhere else —, + the service becomes available only in the `VillainsListComponent` and its sub-component tree. + It's still a singleton, but it's a singleton that exist solely in the _villain_ domain. + + You are confident that a hero component can't access it. You've reduced your exposure to error. + + ### Scenario: multiple edit sessions + + Many applications allow users to work on several open tasks at the same time. + For example, in a tax preparation application, the preparer could be working several tax returns, + switching from one to the other throughout the day. + + This guide demonstrates that scenario with an example in the Tour of Heroes theme. + Imagine an outer `HeroListComponent` that displays a list of super heroes. + + To open a hero's tax return, the preparer clicks on a hero name, which opens a component for editing that return. + Each selected hero tax return opens in its own component and multiple returns can be open at the same time. + + Each tax return component + * is its own tax return editing session. + * can change a tax return without affecting a return in another component. + * has the ability to save the changes to its tax return or cancel them. + +figure.image-display + img(src="/resources/images/devguide/dependency-injection/hid-heroes-anim.gif" width="400" alt="Heroes in action") +:marked + One might suppose that the `TaxReturnComponent` has logic to manage and restore changes. + That would be a pretty easy task for a simple hero tax return. + In the real world, with a rich tax return data model, the change management would be tricky. + You might delegate that management to a helper service, as this example does. + + Here is the `HeroTaxReturnService`. + It caches a single `HeroTaxReturn`, tracks changes to that return, and can save or restore it. + It also delegates to the application-wide, singleton `HeroService`, which it gets by injection. ++makeExample('hierarchical-dependency-injection/ts/app/hero-tax-return.service.ts', '', 'app/hero-tax-return.service.ts') + +:marked + Here is the `HeroTaxReturnComponent` that makes use of it. ++makeExample('hierarchical-dependency-injection/ts/app/hero-tax-return.component.ts', null, 'app/hero-tax-return.component.ts') + +:marked + The _tax-return-to-edit_ arrives via the input property which is implemented with getters and setters. + The setter initializes the component's own instance of the `HeroTaxReturnService` with the incoming return. + The getter always returns what that service says is the current state of the hero. + The component also asks the service to save and restore this tax return. + + There'd be big trouble if _this_ service were an application-wide singleton. + Every component would share the same service instance. + Each component would overwrite the tax return that belonged to another hero. + What a mess! + + Look closely at the metadata for the `HeroTaxReturnComponent`. Notice the `providers` property. + ++makeExample('hierarchical-dependency-injection/ts/app/hero-tax-return.component.ts', 'providers') +:marked + The `HeroTaxReturnComponent` has its own provider of the `HeroTaxReturnService`. + Recall that every component _instance_ has its own injector. + Providing the service at the component level ensures that _every_ instance of the component gets its own, private instance of the service. + No tax return overwriting. No mess. + +.l-sub-section + :marked + The rest of the scenario code relies on other Angular features and techniques that you can learn about elsewhere in the documentation. + You can review it and download it from the + +:marked + ### Scenario: specialized providers + + Another reason to re-provide a service is to substitute a _more specialized_ implementation of that service, + deeper in the component tree. + + Consider again the Car example from the [Dependency Injection](./dependency-injection.html) guide. + Suppose you configured the root injector (marked as A) with _generic_ providers for + `CarService`, `EngineService` and `TiresService`. + + You create a car component (A) that displays a car constructed from these three generic services. + + Then you create a child component (B) that defines its own, _specialized_ providers for `CarService` and `EngineService` + that have special capabilites suitable for whatever is going on in component (B). + + Component (B) is the parent of another component (C) that defines its own, even _more specialized_ provider for `CarService`. + +figure.image-display + img(src="/resources/images/devguide/dependency-injection/car-components.png" alt="car components" width="220") + +:marked + Behind the scenes, each component sets up its own injector with zero, one, or more providers defined for that component itself. + + When you resolve an instance of `Car` at the deepest component (C), its injector produces an instance of `Car` resolved by injector (C) with an `Engine` resolved by injector (B) and `Tires` resolved by the root injector (A). figure.image-display - img(src="/resources/images/devguide/dependency-injection/injector-tree.png" alt="injector tree" width="600") + img(src="/resources/images/devguide/dependency-injection/injector-tree.png" alt="car injector tree" width="600") -.l-main-section +.l-sub-section + :marked + The code for this _cars_ scenario is in the `car.components.ts` and `car.services.ts` files of the sample + which you can review and download from the :marked - ## Component Injectors - - In the previous section, we talked about injectors and how they are organized like a tree. Lookups follow the injector tree upwards until they find the requested thing to inject. But when do we actually want to provide providers on the root injector and when do we want to provide them on a child injector? - - Consider you are building a component to show a list of super heroes that displays each super hero in a card with its name and superpower. There should also be an edit button that opens up an editor to change the name and superpower of our hero. - - One important aspect of the editing functionality is that we want to allow multiple heroes to be in edit mode at the same time and that one can always either commit or cancel the proposed changes. - - Let’s take a look at the `HeroesListComponent` which is the root component for this example. - -+makeExample('hierarchical-dependency-injection/ts/app/heroes-list.component.ts', null, 'app/heroes-list.component.ts') - -:marked - Notice that it imports the `HeroService` that we’ve used before so we can skip its declaration. The only difference is that we’ve used a more formal approach for our `Hero`model and defined it upfront as such. - -+makeExample('hierarchical-dependency-injection/ts/app/hero.ts', null, 'app/hero.ts')(format=".") - -:marked - Our `HeroesListComponent` defines a template that creates a list of `HeroCardComponent`s and `HeroEditorComponent`s, each bound to an instance of hero that is returned from the `HeroService`. Ok, that’s not entirely true. It actually binds to an `EditItem` which is a simple generic datatype that can wrap any type and indicate if the item being wrapped is currently being edited or not. - -+makeExample('hierarchical-dependency-injection/ts/app/edit-item.ts', null, 'app/edit-item.ts')(format=".") - -:marked - But how is `HeroCardComponent` implemented? Let’s take a look. - -+makeExample('hierarchical-dependency-injection/ts/app/hero-card.component.ts', null, 'app/hero-card.component.ts') - -:marked - The `HeroCardComponent` is basically a component that defines a template to render a hero. Nothing more. - - Let’s get to the interesting part and take a look at the `HeroEditorComponent` - -+makeExample('hierarchical-dependency-injection/ts/app/hero-editor.component.ts', null, 'app/hero-editor.component.ts') - -:marked - Now here it’s getting interesting. The `HeroEditorComponent`defines a template with an input to change the name of the hero and a `cancel` and a `save` button. Remember that we said we want to have the flexibility to cancel our editing and restore the old value? This means we need to maintain two copies of our `Hero` that we want to edit. Thinking ahead, this is a perfect use case to abstract it into its own generic service since we have probably more cases like this in our app. - - And this is where the `RestoreService` enters the stage. - -+makeExample('hierarchical-dependency-injection/ts/app/restore.service.ts', null, 'app/restore.service.ts') - -:marked - All this tiny service does is define an API to set a value of any type which can be altered, retrieved or set back to its initial value. That’s exactly what we need to implement the desired functionality. - - Our `HeroEditComponent` uses this services under the hood for its `hero` property. It intercepts the `get` and `set` method to delegate the actual work to our `RestoreService` which in turn makes sure that we won’t work on the original item but on a copy instead. - - At this point we may be scratching our heads asking what this has to do with component injectors? - Look closely at the metadata for our `HeroEditComponent`. Notice the `providers` property. - -+makeExample('hierarchical-dependency-injection/ts/app/hero-editor.component.ts', 'providers') - -- var _root_NgModule = _docsFor == 'dart' ? 'bootstrap arguments' : 'root NgModule' -:marked - This adds a `RestoreService` provider to the injector of the `HeroEditComponent`. - Couldn’t we simply alter our !{_root_NgModule} to include this provider? - -+makeExcerpt(_appModuleTsVsMainTs, 'bad-alternative') - -:marked - Technically we could, but our component wouldn’t quite behave the way it is supposed to. Remember that each injector treats the services that it provides as singletons. However, in order to be able to have multiple instances of `HeroEditComponent` edit multiple heroes at the same time we need to have multiple instances of the `RestoreService`. More specifically, each instance of `HeroEditComponent` needs to be bound to its own instance of the `RestoreService`. - - By configuring a provider for the `RestoreService` on the `HeroEditComponent`, we get exactly one new instance of the `RestoreService`per `HeroEditComponent`. - - Does that mean that services aren’t singletons anymore in Angular? Yes and no. - There can be only one instance of a service type in a particular injector. - But we've learned that we can have multiple injectors operating at different levels of the application's component tree. - Any of those injectors could have its own instance of the service. - - If we defined a `RestoreService` provider only on the root component, - we would have exactly one instance of that service and it would be shared across the entire application. - - That’s clearly not what we want in this scenario. We want each component to have its own instance of the `RestoreService`. - Defining (or redefining) a provider at the component level creates a new instance of the service for each new instance - of that component. We've made the `RestoreService` a kind of "private" singleton for each `HeroEditComponent`, - scoped to that component instance and its child components. - //- ## Advanced Dependency Injection in Angular //- Restrict Dependency Lookups //- [TODO] (@Host) This has been postponed for now until we come up with a decent use case diff --git a/public/resources/images/devguide/dependency-injection/car-components.png b/public/resources/images/devguide/dependency-injection/car-components.png new file mode 100644 index 0000000000000000000000000000000000000000..487c07852b19a555d63d34bc811372cfd3b8fec3 GIT binary patch literal 2863 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 literal 0 HcmV?d00001 diff --git a/public/resources/images/devguide/dependency-injection/component-hierarchy.png b/public/resources/images/devguide/dependency-injection/component-hierarchy.png index b08c3603c36437444065c5af8770511f2f0797a2..3a1fbe59aad757b3bb8b38e8a415d4a78e6f633d 100644 GIT binary patch literal 11525 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 TTGaj*S_UY~tIO5OfI|NdSi_On literal 23487 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 diff --git a/public/resources/images/devguide/dependency-injection/hid-heroes-anim.gif b/public/resources/images/devguide/dependency-injection/hid-heroes-anim.gif new file mode 100644 index 0000000000000000000000000000000000000000..7d41a6e088d45a7f6a189ff338f87ed93a3b526b GIT binary patch literal 130055 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 `}VhOl054O6- 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 literal 0 HcmV?d00001 diff --git a/public/resources/images/devguide/dependency-injection/injector-tree.png b/public/resources/images/devguide/dependency-injection/injector-tree.png index d9112933531a4466ec6c0d75bf8773396212fc46..1ba5629477e0d7411f37fd3d7c6da01fa2252e45 100644 GIT binary patch literal 13273 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 literal 15006 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 Jz9?7){a?I#I+Oqa