This is the codeAbility Sharing Platform! Learn more about the codeAbility Sharing Platform.

Skip to content
Snippets Groups Projects
Commit 49d8fa74 authored by Eduard Frankford's avatar Eduard Frankford
Browse files

frontend to backend connection established

parent c9bb9a98
2 merge requests!62created achievementService and separated some functionality out of...,!45Achievements
......@@ -11,6 +11,7 @@ import { PasswordResetInitComponent } from './password-reset/init/password-reset
import { PasswordResetFinishComponent } from './password-reset/finish/password-reset-finish.component';
import { SettingsComponent } from './settings/settings.component';
import { accountState } from './account.route';
import { AchievementsComponent } from './achievements.component';
@NgModule({
imports: [GitSearchV2SharedModule, RouterModule.forChild(accountState)],
......@@ -22,6 +23,7 @@ import { accountState } from './account.route';
PasswordResetInitComponent,
PasswordResetFinishComponent,
SettingsComponent,
AchievementsComponent,
],
})
export class AccountModule {}
<h2>Achievements</h2>
<ul class="list-group">
<li class="list-group-item d-flex justify-content-between align-items-center">
More than 500 views
<span class="badge badge-primary badge-pill">14</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
More than 100 views
<span class="badge badge-primary badge-pill">2</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
More than 10 views
<span class="badge badge-primary badge-pill">1</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
More than 500 downloads
<span class="badge badge-primary badge-pill">14</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
More than 100 downloads
<fa-icon icon="check" class="greeniconcolor"></fa-icon>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
More than 10 downloads
<fa-icon icon="times-circle" class="rediconcolor"></fa-icon>
</li>
</ul>
<button (click) = "getTotalNumberOfViews()" class="btn btn-primary"> Get number of views </button>
.greeniconcolor {
color: lightgreen;
}
.rediconcolor {
color: darkred;
}
import { Component, OnInit } from '@angular/core';
import { Injectable } from '@angular/core';
import { SearchService } from 'app/search/service/search-service';
import { AccountService } from 'app/core/auth/account.service';
import { Account } from 'app/core/user/account.model';
@Component({
selector: 'jhi-achievements',
templateUrl: './achievements.component.html',
styleUrls: ['./achievements.component.scss'],
})
@Injectable({ providedIn: 'root' })
export class AchievementsComponent implements OnInit {
account!: Account;
constructor(private accountService: AccountService, protected searchService: SearchService) {}
public getTotalNumberOfViews(): void {
// eslint-disable-next-line no-console
console.log('I have been called');
this.searchService.getStatisticsForUser(this.account.login).subscribe(
(data: number) => {
// eslint-disable-next-line no-console
console.log('Data: ' + data + ' for account ' + this.account.login);
},
() => alert('Could not load statistics for User')
);
}
ngOnInit(): void {
this.accountService.identity().subscribe(account => {
if (account) {
this.account = account;
}
});
}
}
<div>
<div class="row justify-content-center">
<div class="col-md-8">
<h2 jhiTranslate="settings.title" [translateValues]="{ username: account.login }" *ngIf="account">User settings for [<b>{{ account.login }}</b>]</h2>
<h2 jhiTranslate="settings.title" [translateValues]="{ username: account.login }" *ngIf="account">User
settings for [<b>{{ account.login }}</b>]</h2>
<div class="alert alert-success" *ngIf="success" jhiTranslate="settings.messages.success">
<strong>Settings saved!</strong>
......@@ -11,52 +12,51 @@
<form name="form" role="form" (ngSubmit)="save()" [formGroup]="settingsForm" *ngIf="account" novalidate>
<div class="form-group">
<label class="form-control-label" for="firstName" jhiTranslate="settings.form.firstname">First Name</label>
<input type="text" class="form-control" id="firstName" name="firstName" placeholder="{{ 'settings.form.firstname.placeholder' | translate }}"
formControlName="firstName">
<div *ngIf="settingsForm.get('firstName')!.invalid && (settingsForm.get('firstName')!.dirty || settingsForm.get('firstName')!.touched)">
<small class="form-text text-danger"
*ngIf="settingsForm.get('firstName')?.errors?.required"
jhiTranslate="settings.messages.validate.firstname.required">
<label class="form-control-label" for="firstName" jhiTranslate="settings.form.firstname">First
Name</label>
<input type="text" class="form-control" id="firstName" name="firstName"
placeholder="{{ 'settings.form.firstname.placeholder' | translate }}"
formControlName="firstName">
<div
*ngIf="settingsForm.get('firstName')!.invalid && (settingsForm.get('firstName')!.dirty || settingsForm.get('firstName')!.touched)">
<small class="form-text text-danger" *ngIf="settingsForm.get('firstName')?.errors?.required"
jhiTranslate="settings.messages.validate.firstname.required">
Your first name is required.
</small>
<small class="form-text text-danger"
*ngIf="settingsForm.get('firstName')?.errors?.minlength"
jhiTranslate="settings.messages.validate.firstname.minlength">
<small class="form-text text-danger" *ngIf="settingsForm.get('firstName')?.errors?.minlength"
jhiTranslate="settings.messages.validate.firstname.minlength">
Your first name is required to be at least 1 character.
</small>
<small class="form-text text-danger"
*ngIf="settingsForm.get('firstName')?.errors?.maxlength"
jhiTranslate="settings.messages.validate.firstname.maxlength">
<small class="form-text text-danger" *ngIf="settingsForm.get('firstName')?.errors?.maxlength"
jhiTranslate="settings.messages.validate.firstname.maxlength">
Your first name cannot be longer than 50 characters.
</small>
</div>
</div>
<div class="form-group">
<label class="form-control-label" for="lastName" jhiTranslate="settings.form.lastname">Last Name</label>
<input type="text" class="form-control" id="lastName" name="lastName" placeholder="{{ 'settings.form.lastname.placeholder' | translate }}"
formControlName="lastName">
<div *ngIf="settingsForm.get('lastName')!.invalid && (settingsForm.get('lastName')!.dirty || settingsForm.get('lastName')!.touched)">
<small class="form-text text-danger"
*ngIf="settingsForm.get('lastName')?.errors?.required"
jhiTranslate="settings.messages.validate.lastname.required">
<label class="form-control-label" for="lastName" jhiTranslate="settings.form.lastname">Last
Name</label>
<input type="text" class="form-control" id="lastName" name="lastName"
placeholder="{{ 'settings.form.lastname.placeholder' | translate }}" formControlName="lastName">
<div
*ngIf="settingsForm.get('lastName')!.invalid && (settingsForm.get('lastName')!.dirty || settingsForm.get('lastName')!.touched)">
<small class="form-text text-danger" *ngIf="settingsForm.get('lastName')?.errors?.required"
jhiTranslate="settings.messages.validate.lastname.required">
Your last name is required.
</small>
<small class="form-text text-danger"
*ngIf="settingsForm.get('lastName')?.errors?.minlength"
jhiTranslate="settings.messages.validate.lastname.minlength">
<small class="form-text text-danger" *ngIf="settingsForm.get('lastName')?.errors?.minlength"
jhiTranslate="settings.messages.validate.lastname.minlength">
Your last name is required to be at least 1 character.
</small>
<small class="form-text text-danger"
*ngIf="settingsForm.get('lastName')?.errors?.maxlength"
jhiTranslate="settings.messages.validate.lastname.maxlength">
<small class="form-text text-danger" *ngIf="settingsForm.get('lastName')?.errors?.maxlength"
jhiTranslate="settings.messages.validate.lastname.maxlength">
Your last name cannot be longer than 50 characters.
</small>
</div>
......@@ -64,31 +64,28 @@
<div class="form-group">
<label class="form-control-label" for="email" jhiTranslate="global.form.email.label">Email</label>
<input type="email" class="form-control" id="email" name="email" placeholder="{{ 'global.form.email.placeholder' | translate }}"
formControlName="email">
<input type="email" class="form-control" id="email" name="email"
placeholder="{{ 'global.form.email.placeholder' | translate }}" formControlName="email">
<div *ngIf="settingsForm.get('email')!.invalid && (settingsForm.get('email')!.dirty || settingsForm.get('email')!.touched)">
<small class="form-text text-danger"
*ngIf="settingsForm.get('email')?.errors?.required"
jhiTranslate="global.messages.validate.email.required">
<div
*ngIf="settingsForm.get('email')!.invalid && (settingsForm.get('email')!.dirty || settingsForm.get('email')!.touched)">
<small class="form-text text-danger" *ngIf="settingsForm.get('email')?.errors?.required"
jhiTranslate="global.messages.validate.email.required">
Your email is required.
</small>
<small class="form-text text-danger"
*ngIf="settingsForm.get('email')?.errors?.email"
jhiTranslate="global.messages.validate.email.invalid">
<small class="form-text text-danger" *ngIf="settingsForm.get('email')?.errors?.email"
jhiTranslate="global.messages.validate.email.invalid">
Your email is invalid.
</small>
<small class="form-text text-danger"
*ngIf="settingsForm.get('email')?.errors?.minlength"
jhiTranslate="global.messages.validate.email.minlength">
<small class="form-text text-danger" *ngIf="settingsForm.get('email')?.errors?.minlength"
jhiTranslate="global.messages.validate.email.minlength">
Your email is required to be at least 5 characters.
</small>
<small class="form-text text-danger"
*ngIf="settingsForm.get('email')?.errors?.maxlength"
jhiTranslate="global.messages.validate.email.maxlength">
<small class="form-text text-danger" *ngIf="settingsForm.get('email')?.errors?.maxlength"
jhiTranslate="global.messages.validate.email.maxlength">
Your email cannot be longer than 100 characters.
</small>
</div>
......@@ -97,12 +94,21 @@
<div class="form-group" *ngIf="languages && languages.length > 0">
<label for="langKey" jhiTranslate="settings.form.language">Language</label>
<select class="form-control" id="langKey" name="langKey" formControlName="langKey">
<option *ngFor="let fileFormat of languages" [value]="fileFormat">{{ fileFormat | findLanguageFromKey }}</option>
<option *ngFor="let fileFormat of languages" [value]="fileFormat">{{ fileFormat |
findLanguageFromKey }}</option>
</select>
</div>
<button type="submit" [disabled]="settingsForm.invalid" class="btn btn-primary" jhiTranslate="settings.form.button">Save</button>
<button type="submit" [disabled]="settingsForm.invalid" class="btn btn-primary"
jhiTranslate="settings.form.button">Save</button>
</form>
</div>
</div>
<div style="padding-top: 50px;">
<div class="row justify-content-center">
<div class="col-md-8">
<jhi-achievements></jhi-achievements>
</div>
</div>
</div>
</div>
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment