Skip to content

Commit 55ede7d

Browse files
committed
experiments. manual #3
2 parents cfa36cb + ab4506a commit 55ede7d

17 files changed

+50
-21
lines changed

src/app/demo/component-tree/component-tree.component.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
<app-progress-bar></app-progress-bar>
66
<app-arrows></app-arrows>
77
<app-mode-overview></app-mode-overview>
8-
8+
<app-feedback-widget></app-feedback-widget>
9+
<!-- <app-feedback-widget></app-feedback-widget> -->
910
<!-- MILESTONE #3 Dependency Injection -->
1011
<!-- RECAP -->
1112
<app-slide id="component">

src/app/demo/component-tree/component-tree.module.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,15 @@ import {SlidesRoutes} from '../../presentation/slide-routes';
55

66
import {ExerciseModule} from '../../exercise/exersice.module';
77
import {PresentationModule} from '../../presentation/presentation.module';
8+
import {FeedbackModule} from "../../feedback/feedback.module";
89
import {BrowserWindowModule} from '../../browser-window/browser-window.module';
910

1011
const routes = RouterModule.forChild(
1112
SlidesRoutes.get(ComponentTreeComponent)
1213
);
1314

1415
@NgModule({
15-
imports: [routes, PresentationModule, ExerciseModule, BrowserWindowModule],
16+
imports: [routes, PresentationModule, ExerciseModule, BrowserWindowModule, FeedbackModule],
1617
declarations: [ComponentTreeComponent],
1718
exports: [ComponentTreeComponent]
1819
})

src/app/demo/dependency-injection/dependency-injection.component.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
<app-progress-bar></app-progress-bar>
66
<app-arrows></app-arrows>
77
<app-mode-overview></app-mode-overview>
8+
<app-feedback-widget></app-feedback-widget>
89

910
<!-- MILESTONE #3 Dependency Injection -->
1011
<!-- RECAP -->

src/app/demo/dependency-injection/dependency-injection.module.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import {NgModule} from '@angular/core';
22
import {DependencyInjectionComponent} from './dependency-injection.component';
33
import {RouterModule} from '@angular/router';
44
import {SlidesRoutes} from '../../presentation/slide-routes';
5-
5+
import {FeedbackModule} from "../../feedback/feedback.module";
66
import {ExerciseModule} from '../../exercise/exersice.module';
77
import {PresentationModule} from '../../presentation/presentation.module';
88

@@ -12,7 +12,7 @@ const routes = RouterModule.forChild(
1212
);
1313

1414
@NgModule({
15-
imports: [routes, PresentationModule, ExerciseModule],
15+
imports: [routes, PresentationModule, ExerciseModule, FeedbackModule],
1616
declarations: [DependencyInjectionComponent],
1717
exports: [DependencyInjectionComponent]
1818
})

src/app/demo/experiments/experiments.component.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
<app-progress-bar></app-progress-bar>
66
<app-arrows></app-arrows>
77
<app-mode-overview></app-mode-overview>
8+
<app-feedback-widget></app-feedback-widget>
89
<app-slide>
910
<h2>How to use angular-presentation</h2>
1011
<pre>

src/app/demo/experiments/experiments.module.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import {NgModule} from '@angular/core';
22

33
import {RouterModule} from '@angular/router';
44
import {SlidesRoutes} from '../../presentation/slide-routes';
5-
5+
import {FeedbackModule} from "../../feedback/feedback.module";
66
import {ExperimentsComponent} from './experiments.component';
77
import {PresentationModule} from '../../presentation/presentation.module';
88
import {ExerciseModule} from "../../exercise/exersice.module";
@@ -13,7 +13,8 @@ const routes = RouterModule.forChild(
1313
);
1414

1515
@NgModule({
16-
imports: [routes, PresentationModule, ExerciseModule],
16+
imports: [routes, PresentationModule, FeedbackModule],
17+
1718
declarations: [ExperimentsComponent],
1819
exports: [ExperimentsComponent]
1920
})

src/app/demo/templates/templates.component.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
<app-progress-bar></app-progress-bar>
66
<app-arrows></app-arrows>
77
<app-mode-overview></app-mode-overview>
8+
<app-feedback-widget></app-feedback-widget>
89
<app-slide id="component">
910
<h1>Angular Templates</h1>
1011
<h3>For the following slides we are going to use this AppComponent Example</h3>

src/app/demo/templates/templates.module.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,14 @@ import {SlidesRoutes} from '../../presentation/slide-routes';
55
import {TemplatesComponent} from './templates.component';
66
import {ExerciseModule} from '../../exercise/exersice.module';
77
import {PresentationModule} from '../../presentation/presentation.module';
8+
import {FeedbackModule} from "../../feedback/feedback.module";
89

910
const routes = RouterModule.forChild(
1011
SlidesRoutes.get(TemplatesComponent)
1112
);
1213

1314
@NgModule({
14-
imports: [routes, PresentationModule, ExerciseModule],
15+
imports: [routes, PresentationModule, ExerciseModule, FeedbackModule],
1516
declarations: [TemplatesComponent],
1617
exports: [TemplatesComponent]
1718
})

src/app/demo/typescript/typescript.component.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
<app-progress-bar></app-progress-bar>
66
<app-arrows></app-arrows>
77
<app-mode-overview></app-mode-overview>
8+
<app-feedback-widget></app-feedback-widget>
89

910
<!-- Intro -->
1011
<app-slide id="intro">

src/app/demo/typescript/typescript.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export class TypescriptComponent {
1212
code = {
1313
stringType: {
1414
code: `let fullName: string = 'Bob Bobbington';
15-
let sentence: string = 'Hello, my name is \${ fullName }.';`
15+
let sentence: string = \`Hello, my name is \${ fullName }.\`;`
1616
},
1717
stringType2: {
1818
code: `let sentence: string = "Hello, my name is " + fullName + "."`
@@ -27,7 +27,7 @@ notSure = false; // okay, definitely a boolean`
2727
constructor(private name: string){}
2828
hello(){
2929
const greeting = 'Hello';
30-
return '\${greeting} \${name}!';
30+
return \`\${greeting} \${name}!\`;
3131
}
3232
}
3333

src/app/demo/typescript/typescript.module.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ import {RouterModule} from '@angular/router';
44
import {SlidesRoutes} from '../../presentation/slide-routes';
55
import {ExerciseModule} from '../../exercise/exersice.module';
66
import {PresentationModule} from 'app/presentation/presentation.module';
7-
7+
import {FeedbackModule} from "../../feedback/feedback.module";
88

99
const routes = RouterModule.forChild(
1010
SlidesRoutes.get(TypescriptComponent)
1111
);
1212

1313
@NgModule({
14-
imports: [routes, PresentationModule, ExerciseModule],
14+
imports: [routes, PresentationModule, ExerciseModule, FeedbackModule],
1515
declarations: [TypescriptComponent],
1616
exports: [TypescriptComponent]
1717
})

src/app/exercise/editor/editor.component.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ export class EditorComponent implements AfterViewInit, OnChanges, OnDestroy {
8585
let model = this.monacoConfigService.monaco.editor.getModel(this.file.path);
8686
if (!model) {
8787
model = this.monacoConfigService.monaco.editor.createModel(this.file.code, this.file.type, this.file.path);
88+
model.isSingleEditorModel = true;
8889
}
8990

9091
this.code = this.file.code;

src/app/exercise/services/monaco-config.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ export class MonacoConfigService {
102102
const models = monaco.editor.getModels();
103103

104104
if (models.length) {
105-
models.forEach(model => model.dispose());
105+
models.filter(model=>!model.isSingleEditorModel).forEach(model => model.dispose());
106106
}
107107

108108
files.map(file => {

src/app/feedback/feedback.module.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { NgModule } from '@angular/core';
22
import { CommonModule } from '@angular/common';
33
import { AngularFireModule, AuthProviders, AuthMethods, AngularFire } from 'angularfire2';
4-
import {FormsModule} from '@angular/forms';
4+
import { FormsModule } from '@angular/forms';
55
import { FeedbackWidgetComponent } from './feedback-widget/feedback-widget.component';
66

77
const firebaseConfig = {
@@ -10,10 +10,13 @@ const firebaseConfig = {
1010
databaseURL: "https://ng2-codelab.firebaseio.com",
1111
storageBucket: "ng2-codelab.appspot.com"
1212
};
13+
14+
export const af = AngularFireModule.initializeApp(firebaseConfig);
15+
1316
@NgModule({
1417
imports: [
1518
CommonModule,
16-
AngularFireModule.initializeApp(firebaseConfig),
19+
af,
1720
FormsModule
1821
],
1922
providers:[
@@ -22,4 +25,6 @@ const firebaseConfig = {
2225
declarations: [FeedbackWidgetComponent],
2326
exports:[FeedbackWidgetComponent]
2427
})
25-
export class FeedbackModule { }
28+
export class FeedbackModule {
29+
30+
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
<div class="arrow-left" (click)="goToPreviousSlide()">&lt;</div>
2-
<div class="arrow-right" (click)="goToNextSlide()">&gt;</div>
1+
<div *ngIf="canGoPrevious()" class="arrow-left" (click)="goToPreviousSlide()">&lt;</div>
2+
<div *ngIf="canGoNext()" class="arrow-right" (click)="goToNextSlide()">&gt;</div>

src/app/presentation/arrows/arrows.component.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import {Component, OnInit} from '@angular/core';
2-
import {PresentationComponent} from '../presentation/presentation.component';
1+
import { Component, OnInit } from '@angular/core';
2+
import { PresentationComponent } from '../presentation/presentation.component';
33

44
@Component({
55
selector: 'app-arrows',
@@ -16,6 +16,13 @@ export class ArrowsComponent implements OnInit {
1616
this.presentation.nextSlide();
1717
}
1818

19+
canGoNext(): boolean {
20+
return this.presentation.canGoNext();
21+
}
22+
23+
canGoPrevious(): boolean {
24+
return this.presentation.canGoPrevious();
25+
}
1926
constructor(private presentation: PresentationComponent) {
2027

2128
}

src/app/presentation/presentation/presentation.component.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,21 +53,29 @@ export class PresentationComponent {
5353
}
5454

5555
nextSlide(isTriggeredByShortcut: boolean = false) {
56-
if ((this.activeSlideIndex + 1 < this.generatedSlideIndex) && (this.areShortcutsEnabled || !isTriggeredByShortcut)) {
56+
if (this.canGoNext() && (this.areShortcutsEnabled || !isTriggeredByShortcut)) {
5757
this.enableShortcuts();
5858
this.activeSlideIndex++;
5959
this.onSlideChange.next(this.activeSlideIndex);
6060
}
6161
}
6262

6363
previousSlide(isTriggeredByShortcut: boolean = false) {
64-
if ((this.activeSlideIndex > 0) && (this.areShortcutsEnabled || !isTriggeredByShortcut)) {
64+
if (this.canGoPrevious() && (this.areShortcutsEnabled || !isTriggeredByShortcut)) {
6565
this.enableShortcuts();
6666
this.activeSlideIndex--;
6767
this.onSlideChange.next(this.activeSlideIndex);
6868
}
6969
}
7070

71+
canGoNext(): boolean {
72+
return this.activeSlideIndex + 1 < this.generatedSlideIndex;
73+
}
74+
75+
canGoPrevious(): boolean {
76+
return this.activeSlideIndex > 0;
77+
}
78+
7179
disableShortcuts() {
7280
this.areShortcutsEnabled = false;
7381
}

0 commit comments

Comments
 (0)