Skip to content

Commit d29a704

Browse files
committed
Angular NgRx Course
1 parent 1e6b58c commit d29a704

18 files changed

+47
-54
lines changed

src/app/app.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import {Component, OnInit} from '@angular/core';
22
import {select, Store} from "@ngrx/store";
33
import {Observable} from "rxjs";
4-
import {AppState} from './reducers';
54
import {map} from 'rxjs/operators';
65
import {isLoggedIn, isLoggedOut} from './auth/auth.selectors';
76
import {Router} from '@angular/router';
87
import {logout} from './auth/auth.actions';
8+
import {AppState} from './reducers/reducers';
99

1010
@Component({
1111
selector: 'app-root',

src/app/app.module.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ import {environment} from '../environments/environment';
1919
import {RouterState, StoreRouterConnectingModule} from '@ngrx/router-store';
2020

2121
import {EffectsModule} from '@ngrx/effects';
22-
import {reducers} from './reducers';
2322
import {AuthGuard} from './auth/auth.guard';
2423
import {EntityDataModule} from '@ngrx/data';
24+
import {reducers} from './reducers/reducers';
2525

2626

2727
const routes: Routes = [

src/app/auth/auth.actions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {Action, createAction, props} from '@ngrx/store';
2-
import {User} from '../model/user.model';
2+
import {User} from './model/user.model';
33

44

55
export const login = createAction(

src/app/auth/auth.effects.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
import {Injectable} from '@angular/core';
22
import {Actions, createEffect, Effect, ofType, ROOT_EFFECTS_INIT} from '@ngrx/effects';
3-
import {map, tap} from 'rxjs/operators';
3+
import {tap} from 'rxjs/operators';
44
import {Router} from '@angular/router';
5-
import {defer, of} from 'rxjs';
65
import {AuthActions} from './action-types';
7-
import {login, logout} from './auth.actions';
86

97

108
@Injectable()

src/app/auth/auth.guard.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ import {Injectable} from '@angular/core';
22
import {ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot} from '@angular/router';
33
import {Observable} from 'rxjs';
44
import {select, Store} from '@ngrx/store';
5-
import {AppState} from '../reducers';
65
import {isLoggedIn} from './auth.selectors';
76
import {tap} from 'rxjs/operators';
87
import {login, logout} from './auth.actions';
8+
import {AppState} from '../reducers/reducers';
99

1010

1111

src/app/auth/auth.reducer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { createReducer, on} from '@ngrx/store';
2-
import {User} from '../model/user.model';
2+
import {User} from './model/user.model';
33
import {AuthActions} from './action-types';
44

55

src/app/auth/auth.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {Injectable} from "@angular/core";
22
import {HttpClient} from "@angular/common/http";
33
import {Observable} from "rxjs";
4-
import {User} from "../model/user.model";
4+
import {User} from "./model/user.model";
55

66

77

src/app/auth/login/login.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import {AuthService} from "../auth.service";
77
import {tap} from "rxjs/operators";
88
import {noop} from "rxjs";
99
import {Router} from "@angular/router";
10-
import {AppState} from '../../reducers';
1110
import {login} from '../auth.actions';
11+
import {AppState} from '../../reducers/reducers';
1212

1313
@Component({
1414
selector: 'login',
File renamed without changes.

src/app/courses/courses-card-list/courses-card-list.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import {Component, Input, OnInit, ViewEncapsulation} from '@angular/core';
22
import {Course} from "../model/course";
33
import { MatDialog, MatDialogConfig } from "@angular/material/dialog";
44
import {EditCourseDialogComponent} from "../edit-course-dialog/edit-course-dialog.component";
5-
import {defaultDialogConfig} from '../../shared/default-dialog-config';
5+
import {defaultDialogConfig} from '../shared/default-dialog-config';
66
import {CourseEntityService} from '../services/course-entity.service';
77

88
@Component({

src/app/courses/courses.module.ts

Lines changed: 2 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ import {MatIconModule} from '@angular/material/icon';
2424
import {RouterModule, Routes} from '@angular/router';
2525
import {CourseDataService} from './services/course-data.service';
2626
import { EntityDataService, EntityDefinitionService, EntityMetadataMap} from '@ngrx/data';
27-
import {Course} from './model/course';
27+
import {compareCourses, Course} from './model/course';
2828
import {CourseEntityService} from './services/course-entity.service';
2929
import {LessonEntityService} from './services/lesson-entity.service';
30-
import {Lesson} from './model/lesson';
30+
import {compareLessons, Lesson} from './model/lesson';
3131

3232

3333
export const coursesRoutes: Routes = [
@@ -49,40 +49,6 @@ export const coursesRoutes: Routes = [
4949
];
5050

5151

52-
53-
function compareCourses(c1:Course, c2: Course) {
54-
55-
const compare = c1.seqNo - c2.seqNo;
56-
57-
if (compare > 0) {
58-
return 1;
59-
}
60-
else if ( compare < 0) {
61-
return -1;
62-
}
63-
else return 0;
64-
65-
}
66-
67-
68-
function compareLessons(l1:Lesson, l2: Lesson) {
69-
70-
const compareCourses = l1.courseId - l2.courseId;
71-
72-
if (compareCourses > 0) {
73-
return 1;
74-
}
75-
else if (compareCourses < 0){
76-
return -1;
77-
}
78-
else {
79-
return l1.seqNo - l2.seqNo;
80-
}
81-
82-
}
83-
84-
85-
8652
const entityMetadata: EntityMetadataMap = {
8753
Course: {
8854

src/app/courses/edit-course-dialog/edit-course-dialog.component.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import {Component, Inject} from '@angular/core';
22
import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';
33
import {Course} from '../model/course';
4-
import {AppState} from '../../reducers';
54
import {CourseEntityService} from '../services/course-entity.service';
65
import {FormBuilder, FormGroup, Validators} from '@angular/forms';
76
import {Observable} from 'rxjs';

src/app/courses/home/home.component.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
import {Component, OnInit} from '@angular/core';
22
import {Course} from "../model/course";
33
import {Observable} from "rxjs";
4-
import {AppState} from '../../reducers';
5-
import {createSelector, select, Store} from '@ngrx/store';
64
import {CourseEntityService} from '../services/course-entity.service';
7-
import {defaultDialogConfig} from '../../shared/default-dialog-config';
5+
import {defaultDialogConfig} from '../shared/default-dialog-config';
86
import {EditCourseDialogComponent} from '../edit-course-dialog/edit-course-dialog.component';
97
import {MatDialog} from '@angular/material';
10-
import {map, tap} from 'rxjs/operators';
8+
import {map} from 'rxjs/operators';
119

1210

1311

src/app/courses/model/course.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,18 @@ export interface Course {
1111
lessonsCount: number;
1212
promo: boolean;
1313
}
14+
15+
16+
export function compareCourses(c1:Course, c2: Course) {
17+
18+
const compare = c1.seqNo - c2.seqNo;
19+
20+
if (compare > 0) {
21+
return 1;
22+
}
23+
else if ( compare < 0) {
24+
return -1;
25+
}
26+
else return 0;
27+
28+
}

src/app/courses/model/lesson.ts

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,21 @@ export interface Lesson {
66
duration: string;
77
seqNo: number;
88
courseId: number;
9-
}
9+
}
10+
11+
12+
export function compareLessons(l1:Lesson, l2: Lesson) {
13+
14+
const compareCourses = l1.courseId - l2.courseId;
15+
16+
if (compareCourses > 0) {
17+
return 1;
18+
}
19+
else if (compareCourses < 0){
20+
return -1;
21+
}
22+
else {
23+
return l1.seqNo - l2.seqNo;
24+
}
25+
26+
}
File renamed without changes.

src/styles.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ $theme: mat-light-theme($primary, $accent);
5454
.spinner-container {
5555
position: fixed;
5656
height: 300px;
57-
width: 390px;
57+
width: 345px;
5858
display: flex;
5959
background: white;
6060
margin-top: 70px;

0 commit comments

Comments
 (0)