Bug fix and format code
continuous-integration/drone/push Build is passing Details

pull/15/head
Colin FRIZOT 1 year ago
parent f94e9e7634
commit a86a40e845

@ -23,5 +23,4 @@ const routes: Routes = [
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule],
})
export class AppRoutingModule {
}
export class AppRoutingModule {}

@ -73,7 +73,6 @@ select {
height: 100%;
}
// @mixin btn-styles($bg-color, $font-color) {
// background-color: $bg-color;

@ -37,7 +37,7 @@ import {
closeBracketsKeymap,
} from '@codemirror/autocomplete';
import { lintKeymap } from '@codemirror/lint';
import {WorkService} from "../../services/work.service";
import { WorkService } from '../../services/work.service';
const basicSetup: Extension = (() => [
highlightActiveLineGutter(),
@ -77,7 +77,7 @@ const basicSetup: Extension = (() => [
ReactiveFormsModule,
FormsModule,
SafeHTMLPipe,
TranslateModule
TranslateModule,
],
})
export class EditorComponent {
@ -137,8 +137,10 @@ export class EditorComponent {
this.languageCompartment.of(this.selectedLanguage.support!),
];
constructor(private codeExecutionService: CodeExecutionService, protected workService: WorkService) {
}
constructor(
private codeExecutionService: CodeExecutionService,
protected workService: WorkService
) {}
// Efface le contenu de l'éditeur
clear(): void {

@ -27,9 +27,8 @@
</div>
<nav class="right_part--menu">
<!--[routerLink]="getLastWorkLink()"-->
<a
routerLink="work"
[routerLink]="linkLastWork"
routerLinkActive="active"
[routerLinkActiveOptions]="{ exact: true }"
>{{ 'HeaderPage.Work' | translate }}</a

@ -13,6 +13,7 @@ import { Router, RouterLink, RouterLinkActive } from '@angular/router';
import { NgClass, NgOptimizedImage } from '@angular/common';
import { WorkService } from '../../services/work.service';
import { Observable } from 'rxjs';
import { Work } from '../../models/work.model';
@Component({
selector: 'app-header',
@ -33,7 +34,7 @@ export class HeaderComponent {
version: string = '1.0';
isMenuOpen: boolean = false;
isCheck: boolean = false;
linkLastWork: string = this.workService.getIdLastWorkByUserId("");
linkLastWork: string = '';
@ViewChild('menuRef') menuRef!: ElementRef;
@Input() themeClass!: string;
@ -43,8 +44,12 @@ export class HeaderComponent {
constructor(
private router: Router,
private translationService: TranslationService,
private workService: WorkService)
{ }
private workService: WorkService
) {
this.workService.getLastWorkByUserId('5').subscribe((response: Work) => {
this.linkLastWork = 'work/' + response.link;
});
}
// Méthode pour changer la langue
onLanguageChange(event: Event) {
@ -76,5 +81,4 @@ export class HeaderComponent {
const url = `/work/${this.linkLastWork}`;
this.router.navigateByUrl(url);
}
}

@ -8,9 +8,8 @@ describe('WorkComponent', () => {
beforeEach(async () => {
await TestBed.configureTestingModule({
imports: [WorkComponent]
})
.compileComponents();
imports: [WorkComponent],
}).compileComponents();
fixture = TestBed.createComponent(WorkComponent);
component = fixture.componentInstance;
@ -21,5 +20,3 @@ describe('WorkComponent', () => {
expect(component).toBeTruthy();
});
});

@ -3,10 +3,10 @@ import { RouterLink, ActivatedRoute } from '@angular/router';
import { ThemeService } from '../../services/theme.service';
import { NgClass } from '@angular/common';
import { TranslateModule } from '@ngx-translate/core';
import {Work} from "../../models/work.model";
import {WorkService} from "../../services/work.service";
import {NgForOf} from "@angular/common";
import {FormsModule, NgForm} from "@angular/forms";
import { Work } from '../../models/work.model';
import { WorkService } from '../../services/work.service';
import { NgForOf } from '@angular/common';
import { FormsModule, NgForm } from '@angular/forms';
import { Observable } from 'rxjs';
@Component({
@ -14,14 +14,8 @@ import { Observable } from 'rxjs';
templateUrl: './work.component.html',
styleUrl: './work.component.scss',
standalone: true,
imports: [NgClass,
TranslateModule,
RouterLink,
NgForOf,
FormsModule
],
imports: [NgClass, TranslateModule, RouterLink, NgForOf, FormsModule],
})
export class WorkComponent implements OnInit {
// à retirer quand les boutons seront dans editor.component
isLoaded: boolean = false; // Pour vérifier si le chargement est terminé
@ -29,6 +23,7 @@ export class WorkComponent implements OnInit {
themeClass!: string;
works: Work[] = [];
workEnCours: Observable<Work> = new Observable();
constructor(
private route: ActivatedRoute,
private themeService: ThemeService,
@ -41,10 +36,12 @@ export class WorkComponent implements OnInit {
? (this.themeClass = 'dark-theme')
: (this.themeClass = 'light-theme');
});
this.workService.getWorks().subscribe((response: Work[]) => this.works = response);
this.workService
.getWorks()
.subscribe((response: Work[]) => (this.works = response));
const link = String(this.route.snapshot.paramMap.get('link'));
if (link) {
this.workEnCours = this.workService.getWorkByLink(link);
// this.workEnCours = this.workService.getWorkByLink(link);
}
}

@ -9,12 +9,24 @@
<form #addBookForm="ngForm" (ngSubmit)="onSubmit(addBookForm)">
<div class="form-group">
<label for="link">Link</label>
<input type="text" class="form-control" id="link" name="link" ngModel required>
<input
type="text"
class="form-control"
id="link"
name="link"
ngModel
required />
</div>
<div class="form-group">
<label for="content">Content</label>
<input type="text" class="form-control" id="content" name="content" ngModel required>
<input
type="text"
class="form-control"
id="content"
name="content"
ngModel
required />
</div>
<button type="submit" class="btn btn-primary">Submit</button>

@ -8,9 +8,8 @@ describe('WorksListComponent', () => {
beforeEach(async () => {
await TestBed.configureTestingModule({
imports: [WorksListComponent]
})
.compileComponents();
imports: [WorksListComponent],
}).compileComponents();
fixture = TestBed.createComponent(WorksListComponent);
component = fixture.componentInstance;

@ -1,27 +1,25 @@
import { Component } from '@angular/core';
import {Work} from "../../models/work.model";
import {WorkService} from "../../services/work.service";
import {NgForOf} from "@angular/common";
import {FormsModule, NgForm} from "@angular/forms";
import { Work } from '../../models/work.model';
import { WorkService } from '../../services/work.service';
import { NgForOf } from '@angular/common';
import { FormsModule, NgForm } from '@angular/forms';
@Component({
selector: 'app-works-list',
standalone: true,
imports: [
NgForOf,
FormsModule
],
imports: [NgForOf, FormsModule],
templateUrl: './works-list.component.html',
styleUrl: './works-list.component.css'
styleUrl: './works-list.component.css',
})
export class WorksListComponent {
works: Work[] = [];
constructor(protected workService: WorkService) {
}
constructor(protected workService: WorkService) {}
ngOnInit() {
this.workService.getWorks().subscribe((response: Work[]) => this.works = response)
this.workService
.getWorks()
.subscribe((response: Work[]) => (this.works = response));
}
onSubmit(form: NgForm) {

@ -1,7 +1,7 @@
export interface Work {
id_work: number,
link: string,
user_id: number,
language_id: number,
content: string
id_work: number;
link: string;
user_id: number;
language_id: number;
content: string;
}

@ -1,20 +1,18 @@
import { Injectable } from '@angular/core';
import {Work} from "../models/work.model";
import {HttpClient} from "@angular/common/http";
import {Observable} from "rxjs";
import {NgForm} from "@angular/forms";
import { Work } from '../models/work.model';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { NgForm } from '@angular/forms';
@Injectable({
providedIn: 'root'
providedIn: 'root',
})
export class WorkService {
API_URL = 'http://127.0.0.1:3000'
API_URL = 'http://127.0.0.1:3000';
private works: Work[] = [];
constructor(private http: HttpClient) {
}
constructor(private http: HttpClient) {}
getWorks(): Observable<any> {
return this.http.get(`${this.API_URL}/works`);
@ -27,17 +25,27 @@ export class WorkService {
//je veux return le link du dernier work d'un user (en l'occurence celui connecté)
getLastWorkByUserId(user_id: string): Observable<any> {
return this.http.get(`${this.API_URL}/work/${user_id}`);
return this.http.get(`${this.API_URL}/works/user/${user_id}`);
}
postWork(form: NgForm): void {
let body = {link: crypto.randomUUID(), user_id: 1, id_language: 1, code: form.value.content, saveDate: new Date()}
let body = {
link: crypto.randomUUID(),
user_id: 1,
id_language: 1,
code: form.value.content,
saveDate: new Date(),
};
this.http.post<any>(`${this.API_URL}/works`, body).subscribe();
}
postWorkCode(code: string): void {
let body = {link: crypto.randomUUID(), user_id: 1, id_language: 1, code: code}
let body = {
link: crypto.randomUUID(),
user_id: 1,
id_language: 1,
code: code,
};
this.http.post<any>(`${this.API_URL}/works`, body).subscribe();
}
}

@ -1,32 +1,35 @@
import { Injectable } from '@angular/core';
import {Work} from "../models/work.model";
import {HttpClient} from "@angular/common/http";
import {Observable} from "rxjs";
import {NgForm} from "@angular/forms";
import { Work } from '../models/work.model';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { NgForm } from '@angular/forms';
@Injectable({
providedIn: 'root'
providedIn: 'root',
})
export class WorksService {
API_URL = 'http://127.0.0.1:3000'
API_URL = 'http://127.0.0.1:3000';
private works: Work[] = [];
constructor(private http: HttpClient) {
}
constructor(private http: HttpClient) {}
getWorks(): Observable<any> {
return this.http.get(`${this.API_URL}/works`);
}
postWork(form: NgForm): void {
let body = {link: form.value.link, id_user: 1, id_language: 1, code: form.value.content}
let body = {
link: form.value.link,
id_user: 1,
id_language: 1,
code: form.value.content,
};
this.http.post<any>(`${this.API_URL}/works`, body).subscribe();
}
postWorkCode(code: string): void {
let body = {link: 'TODO', id_user: 1, id_language: 1, code: code}
let body = { link: 'TODO', id_user: 1, id_language: 1, code: code };
this.http.post<any>(`${this.API_URL}/works`, body).subscribe();
}
}
Loading…
Cancel
Save