Changeset 9885bee for src/Clients/Angular
- Timestamp:
- 10/16/21 20:00:57 (3 years ago)
- Branches:
- dev
- Children:
- 3b395c5, 95d80e4
- Parents:
- f9983f5 (diff), dab7a9b (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- src/Clients/Angular/finki-chattery/src
- Files:
-
- 22 added
- 1 deleted
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Clients/Angular/finki-chattery/src/app/app-routing.module.ts
rf9983f5 r9885bee 1 1 import { NgModule } from '@angular/core'; 2 2 import { Routes, RouterModule } from '@angular/router'; 3 import { AuthorizedGuard } from './core/guards/authorized.guard'; 3 4 4 5 const routes: Routes = [ 6 { 7 path: 'questioning', 8 canActivate: [AuthorizedGuard], 9 loadChildren: () => import('./modules/questioning/questioning.module').then((x) => x.QuestioningModule) 10 }, 5 11 { 6 12 path: '**', -
src/Clients/Angular/finki-chattery/src/app/app.component.html
rf9983f5 r9885bee 2 2 <mat-progress-bar class="global-loader" [class.hidden]="!(loader.isLoading | async)" mode="indeterminate"></mat-progress-bar> 3 3 <router-outlet></router-outlet> 4 <button (click)="login()">LOGIN</button>5 4 </main> -
src/Clients/Angular/finki-chattery/src/app/app.component.ts
rf9983f5 r9885bee 8 8 }) 9 9 export class AppComponent implements OnInit { 10 constructor(public loader: LoaderService, private redirect: RedirectService , private auth: AuthService) {}10 constructor(public loader: LoaderService, private redirect: RedirectService) {} 11 11 12 12 ngOnInit(): void { 13 13 this.redirect.redirectLoggedInUser(); 14 14 } 15 16 public login(): void {17 this.auth.login();18 }19 15 } -
src/Clients/Angular/finki-chattery/src/app/core/services/auth.service.ts
rf9983f5 r9885bee 35 35 map((user) => { 36 36 if (user) { 37 if (user.expired) { 38 return false; 39 } 40 37 41 return true; 38 42 } -
src/Clients/Angular/finki-chattery/src/app/core/services/notification.service.ts
rf9983f5 r9885bee 22 22 23 23 public successNotification(title: string, description?: string): void { 24 this.toastr.success(this.translate.instant(description), this.translate.instant(title)); 24 if (description) { 25 this.toastr.success(this.translate.instant(description), this.translate.instant(title)); 26 } 27 this.toastr.success(this.translate.instant(title)); 25 28 } 26 29 } -
src/Clients/Angular/finki-chattery/src/app/core/state/question-facade.service.ts
rf9983f5 r9885bee 15 15 export class QuestionFacadeService { 16 16 effectWorking$: Observable<boolean | HttpErrorResponse>; 17 question$: Observable<QuestionStateViewModel>;18 17 19 18 constructor(private store: Store<QuestionState>) { 20 this.question$ = this.store21 .select(questionStateQuery.getQuestion)22 .pipe(filter((x: QuestionStateViewModel | null): x is QuestionStateViewModel => x !== null));23 19 this.effectWorking$ = this.store.select(questionStateQuery.effectWorking).pipe( 24 20 filter((effect) => effect !== null), … … 36 32 } 37 33 34 public getQuestion(): Observable<QuestionStateViewModel> { 35 return this.store 36 .select(questionStateQuery.getQuestion) 37 .pipe(filter((x: QuestionStateViewModel | null): x is QuestionStateViewModel => x !== null)); 38 } 39 38 40 public fetchQuestion(questionUid: string): void { 39 41 this.dispatchEffect(new GetQuestionState(questionUid)); -
src/Clients/Angular/finki-chattery/src/app/core/state/question-state/question-state.models.ts
rf9983f5 r9885bee 16 16 public index!: string; 17 17 public imageUrl!: string; 18 public reputation!: number; 18 19 } 19 20 … … 42 43 public index!: string; 43 44 public imageUrl!: string; 45 public reputation!: number; 44 46 } 45 47 … … 55 57 public index!: string; 56 58 public imageUrl!: string; 59 public reputation!: number; 57 60 } -
src/Clients/Angular/finki-chattery/src/app/core/state/question-state/question.mapper.ts
rf9983f5 r9885bee 25 25 y.studentResponse.uid, 26 26 y.studentResponse.index, 27 y.studentResponse.imageUrl 27 y.studentResponse.imageUrl, 28 y.studentResponse.reputation 28 29 ); 29 30 … … 35 36 x.studentResponse.uid, 36 37 x.studentResponse.index, 37 x.studentResponse.imageUrl 38 x.studentResponse.imageUrl, 39 x.studentResponse.reputation 38 40 ); 39 41 … … 65 67 questionStateResponse.studentResponse.uid, 66 68 questionStateResponse.studentResponse.index, 67 questionStateResponse.studentResponse.imageUrl 69 questionStateResponse.studentResponse.imageUrl, 70 questionStateResponse.studentResponse.reputation 68 71 ); 69 72 -
src/Clients/Angular/finki-chattery/src/app/shared-app/directives/directives.ts
rf9983f5 r9885bee 1 import { HandleInputFormErrorsDirective, HoverElevationDirective, LoaderDirective, HandleSelectFormErrorsDirective } from '.';1 import { HandleInputFormErrorsDirective, HoverElevationDirective, LoaderDirective, HandleSelectFormErrorsDirective, ShareLinkDirective } from '.'; 2 2 3 export const DIRECTIVES: any[] = [ 4 HandleInputFormErrorsDirective, 5 LoaderDirective, 6 HoverElevationDirective, 7 HandleSelectFormErrorsDirective 8 ]; 3 export const DIRECTIVES: any[] = [HandleInputFormErrorsDirective, LoaderDirective, HoverElevationDirective, HandleSelectFormErrorsDirective, ShareLinkDirective]; -
src/Clients/Angular/finki-chattery/src/app/shared-app/directives/index.ts
rf9983f5 r9885bee 3 3 export * from './hover-elevation.directive'; 4 4 export * from './handle-select-form-errors.directive'; 5 export * from './share-link.directive'; -
src/Clients/Angular/finki-chattery/src/app/shared-app/models/question-state-view-models.models.ts
rf9983f5 r9885bee 15 15 16 16 export class StudentQuestionStateViewModel { 17 constructor(public uid: string, public index: string, public imageUrl: string ) {}17 constructor(public uid: string, public index: string, public imageUrl: string, public reputation: number) {} 18 18 } 19 19 … … 39 39 40 40 export class AnswerStudentQuestionStateViewModel { 41 constructor(public uid: string, public index: string, public imageUrl: string ) {}41 constructor(public uid: string, public index: string, public imageUrl: string, public reputation: number) {} 42 42 } 43 43 … … 52 52 53 53 export class AnswerResponseStudentQuestionStateViewModel { 54 constructor(public uid: string, public index: string, public imageUrl: string ) {}54 constructor(public uid: string, public index: string, public imageUrl: string, public reputation: number) {} 55 55 } -
src/Clients/Angular/finki-chattery/src/app/shared-app/services/translate-from-json.service.ts
rf9983f5 r9885bee 43 43 } 44 44 45 public instant(key?: string): string | undefined { 46 if (key) { 47 return this.translateService.instant(key); 48 } 49 return undefined; 45 public instant(key: string): string { 46 return this.translateService.instant(key); 50 47 } 51 48 } -
src/Clients/Angular/finki-chattery/src/app/shared-app/shared-app.module.ts
rf9983f5 r9885bee 8 8 import { FileUploadModule } from 'ng2-file-upload'; 9 9 10 import { COMPONENTS } from './components/ generic/components';10 import { COMPONENTS } from './components/components'; 11 11 import { SharedMaterialModule } from '../shared-material/shared-material.module'; 12 12 import { DIRECTIVES } from './directives/directives'; 13 13 import { SERVICES } from './services/services'; 14 14 import { PIPES } from './pipes/pipes'; 15 import { FileUploadComponent } from './components/generic/file-upload/file-upload.component';16 import { HandleSelectFormErrorsDirective } from './directives/handle-select-form-errors.directive';17 15 18 16 @NgModule({ 19 declarations: [COMPONENTS, DIRECTIVES, PIPES , FileUploadComponent, HandleSelectFormErrorsDirective],17 declarations: [COMPONENTS, DIRECTIVES, PIPES], 20 18 providers: [SERVICES], 21 19 imports: [ … … 39 37 COMPONENTS, 40 38 DIRECTIVES, 41 PIPES 39 PIPES, 40 SharedMaterialModule 42 41 ] 43 42 }) -
src/Clients/Angular/finki-chattery/src/app/shared-material/shared-material.module.ts
rf9983f5 r9885bee 20 20 import { MatDatepickerModule } from '@angular/material/datepicker'; 21 21 import { MatNativeDateModule } from '@angular/material/core'; 22 import { MatChipsModule } from '@angular/material/chips'; 23 import { MatTooltipModule } from '@angular/material/tooltip'; 24 import { MatButtonToggleModule } from '@angular/material/button-toggle'; 25 22 26 @NgModule({ 23 27 imports: [ … … 40 44 MatTableModule, 41 45 MatDatepickerModule, 42 MatNativeDateModule 46 MatNativeDateModule, 47 MatChipsModule, 48 MatTooltipModule, 49 MatButtonToggleModule 43 50 ], 44 51 exports: [ … … 60 67 MatTableModule, 61 68 MatDatepickerModule, 62 MatNativeDateModule 69 MatNativeDateModule, 70 MatChipsModule, 71 MatTooltipModule, 72 MatButtonToggleModule 63 73 ] 64 74 }) -
src/Clients/Angular/finki-chattery/src/assets/translations/en.json
rf9983f5 r9885bee 14 14 "password-not-match": "Passwords don't match", 15 15 "code-date-passed": "The code date has passed", 16 "not-found": "Not found" 16 "not-found": "Not found", 17 "question-preview-subtitle": "Asked <b>{{createdOn}}</b>, Last active <b>{{lastActive}}</b>, Viewed <b>{{views}}</b> times", 18 "share-link": "Share", 19 "share-link-success": "Successfully copied link for sharing", 20 "question-asked-by-subtitle": "Asked on: {{date}}", 21 "question-answers": "{{answerCount}} Answers", 22 "question-answered-by-subtitle": "Answered on: {{date}}", 23 "student-reputation": "{{reputation}} reputation", 24 "vote-correct-answer": "This has been accepted as the correct answer by the owner of the question", 25 "answer-sort-oldest": "Oldest", 26 "answer-sort-votes": "Votes" 17 27 } -
src/Clients/Angular/finki-chattery/src/styles.scss
rf9983f5 r9885bee 264 264 265 265 .avatar-image { 266 width: 100px;267 height: 100px;266 width: 80px; 267 height: 80px; 268 268 display: block; 269 269 border-radius: 50%;
Note:
See TracChangeset
for help on using the changeset viewer.