Commit 2e71a632 authored by François Agneray's avatar François Agneray
Browse files

Change entity name project by survey

parent 415c5765
Pipeline #5322 passed with stages
in 11 minutes and 19 seconds
......@@ -13,8 +13,8 @@
</a>
</li>
<li class="nav-item pr-3">
<a class="nav-link" routerLink="/project" routerLinkActive="active">
<span class="fas fa-database"></span> Projects
<a class="nav-link" routerLink="/survey" routerLinkActive="active">
<span class="fas fa-database"></span> Surveys
</a>
</li>
<li class="nav-item">
......@@ -70,8 +70,8 @@
</a>
</li>
<li role="menuitem">
<a class="dropdown-item" routerLink="/project">
<span class="fas fa-database fa-fw"></span> Projects
<a class="dropdown-item" routerLink="/survey">
<span class="fas fa-database fa-fw"></span> Surveys
</a>
</li>
<li role="menuitem">
......
......@@ -10,7 +10,7 @@
<th scope="col">Port</th>
<th scope="col">Login</th>
<th scope="col">Password</th>
<th scope="col">Nb projects</th>
<th scope="col">Nb surveys</th>
<th scope="col">Actions</th>
</tr>
</thead>
......@@ -24,13 +24,13 @@
<td class="align-middle">{{ database.dbport }}</td>
<td class="align-middle">{{ database.dblogin }}</td>
<td class="align-middle">*******</td>
<td class="align-middle">{{ getNbProjectByDatabase(database.id) }}</td>
<td class="align-middle">{{ getNbSurveyByDatabase(database.id) }}</td>
<td class="align-middle">
<a title="Edit this database" routerLink="/edit-database/{{database.id}}" class="btn btn-outline-primary">
<span class="fas fa-edit"></span>
</a>
&nbsp;
<button [disabled]="!isNoProjectAttachedToDatabase(database.id)" title="Delete this database" (click)="openModal(template, database); $event.stopPropagation()" class="btn btn-outline-danger">
<button [disabled]="!isNoSurveyAttachedToDatabase(database.id)" title="Delete this database" (click)="openModal(template, database); $event.stopPropagation()" class="btn btn-outline-danger">
<span class="fas fa-trash-alt"></span>
</button>
</td>
......
......@@ -3,7 +3,7 @@ import { Component, Input, Output, ChangeDetectionStrategy, EventEmitter, Templa
import { BsModalService } from 'ngx-bootstrap/modal';
import { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';
import { Database, Project } from '../../store/model';
import { Database, Survey } from '../../store/model';
@Component({
selector: 'app-database-list',
......@@ -12,7 +12,7 @@ import { Database, Project } from '../../store/model';
})
export class DatabaseListComponent {
@Input() databaseList: Database[];
@Input() projectList: Project[];
@Input() surveyList: Survey[];
@Output() deleteDatabase: EventEmitter<Database> = new EventEmitter();
modalRef: BsModalRef;
......@@ -20,12 +20,12 @@ export class DatabaseListComponent {
constructor(private modalService: BsModalService) { }
isNoProjectAttachedToDatabase(idDatabase: number): boolean {
return this.getNbProjectByDatabase(idDatabase) === 0;
isNoSurveyAttachedToDatabase(idDatabase: number): boolean {
return this.getNbSurveyByDatabase(idDatabase) === 0;
}
getNbProjectByDatabase(idDatabase: number): number {
return this.projectList.filter(p => p.id_database === idDatabase).length
getNbSurveyByDatabase(idDatabase: number): number {
return this.surveyList.filter(p => p.id_database === idDatabase).length
}
openModal(template: TemplateRef<any>, database: Database) {
......
......@@ -10,10 +10,10 @@
<input id="label" type="text" class="form-control" name="label" [ngModel]="model.label" required>
</div>
<div class="form-group">
<label for="project_name">Project</label>
<select id="project_name" class="form-control" name="project_name" [ngModel]="model.project_name" [disabled]="model.project_name" required (change)="onChange($event.target.value)">
<option>{{ model.project_name }}</option>
<option *ngFor="let project of projectList" [value]="project.name" [selected]="project.name === model.project_name">{{ project.label }}</option>
<label for="survey_name">Survey</label>
<select id="survey_name" class="form-control" name="survey_name" [ngModel]="model.survey_name" [disabled]="model.survey_name" required (change)="onChange($event.target.value)">
<option>{{ model.survey_name }}</option>
<option *ngFor="let survey of surveyList" [value]="survey.name" [selected]="survey.name === model.survey_name">{{ survey.label }}</option>
</select>
</div>
<div class="form-group">
......
......@@ -4,7 +4,7 @@ import { NgForm } from '@angular/forms';
import { BsModalService } from 'ngx-bootstrap/modal';
import { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';
import { Dataset, Project, Attribute, DatasetFamily, FileInfo } from '../../store/model';
import { Dataset, Survey, Attribute, DatasetFamily, FileInfo } from '../../store/model';
@Component({
selector: 'app-form-dataset',
......@@ -14,7 +14,7 @@ import { Dataset, Project, Attribute, DatasetFamily, FileInfo } from '../../stor
export class FormDatasetComponent {
@ViewChild(NgForm, {static: true}) ngForm: NgForm;
@Input() model: Dataset = new Dataset();
@Input() projectList: Project[];
@Input() surveyList: Survey[];
@Input() attributeList: Attribute[];
@Input() tableList: string[];
@Input() datasetFamilyList: DatasetFamily[];
......@@ -22,7 +22,7 @@ export class FormDatasetComponent {
@Input() directoryInfo: FileInfo[];
@Input() directoryInfoIsLoading: boolean;
@Input() directoryInfoIsLoaded: boolean;
@Output() changeProject: EventEmitter<number> = new EventEmitter();
@Output() changeSurvey: EventEmitter<number> = new EventEmitter();
@Output() loadDirectoryInfo: EventEmitter<string> = new EventEmitter();
@Output() submitted: EventEmitter<Dataset> = new EventEmitter();
......@@ -70,8 +70,8 @@ export class FormDatasetComponent {
return this.datasetFamilyList.find(datasetFamily => datasetFamily.id === this.idDatasetFamilyQueryParam);
}
onChange(projectName: string): void {
this.changeProject.emit(this.projectList.find(project => project.name === projectName).id_database);
onChange(surveyName: string): void {
this.changeSurvey.emit(this.surveyList.find(survey => survey.name === surveyName).id_database);
}
getConfigConeSearchEnabled(): boolean {
......
import { ProjectListComponent } from './project/project-list.component';
import { FormProjectComponent } from './project/form-project.component';
import { SurveyListComponent } from './survey/survey-list.component';
import { FormSurveyComponent } from './survey/form-survey.component';
import { DatabaseListComponent } from './database/database-list.component';
import { FormDatabaseComponent } from './database/form-database.component';
import { InstanceListComponent } from './instance/instance-list.component';
......@@ -13,8 +13,8 @@ import { GroupListComponent } from './group/group-list.component';
import { FormGroupComponent } from './group/form-group.component';
export const dummiesComponents = [
ProjectListComponent,
FormProjectComponent,
SurveyListComponent,
FormSurveyComponent,
DatabaseListComponent,
FormDatabaseComponent,
InstanceListComponent,
......
import { Component, Input, Output, EventEmitter, ViewChild, TemplateRef } from '@angular/core';
import { NgForm } from '@angular/forms';
import { Project, Database } from '../../store/model';
import { Survey, Database } from '../../store/model';
@Component({
selector: 'app-form-project',
templateUrl: 'form-project.component.html'
selector: 'app-form-survey',
templateUrl: 'form-survey.component.html'
})
export class FormProjectComponent {
export class FormSurveyComponent {
@ViewChild(NgForm, {static: true}) ngForm: NgForm;
@Input() model: Project = new Project();
@Input() model: Survey = new Survey();
@Input() databaseList: Database[];
@Output() submitted: EventEmitter<Project> = new EventEmitter();
@Output() submitted: EventEmitter<Survey> = new EventEmitter();
emit(project: Project) {
let projectEmitted: Project;
(this.model.name) ? projectEmitted = {name: this.model.name, ...project} : projectEmitted = project;
this.submitted.emit(projectEmitted);
emit(survey: Survey) {
let surveyEmitted: Survey;
(this.model.name) ? surveyEmitted = {name: this.model.name, ...survey} : surveyEmitted = survey;
this.submitted.emit(surveyEmitted);
}
}
......@@ -13,20 +13,20 @@
</tr>
</thead>
<tbody>
<tr *ngFor="let project of projectList">
<td class="align-middle">{{ project.name }}</td>
<td class="align-middle">{{ project.label }}</td>
<td class="align-middle">{{ project.description }}</td>
<td class="align-middle"><a [href]="project.link" target="_blank">{{ project.link }}</a></td>
<td class="align-middle">{{ project.manager }}</td>
<td class="align-middle">{{ getDatabaseById(project.id_database).label }}</td>
<td class="align-middle">{{ project.nb_datasets }}</td>
<tr *ngFor="let survey of surveyList">
<td class="align-middle">{{ survey.name }}</td>
<td class="align-middle">{{ survey.label }}</td>
<td class="align-middle">{{ survey.description }}</td>
<td class="align-middle"><a [href]="survey.link" target="_blank">{{ survey.link }}</a></td>
<td class="align-middle">{{ survey.manager }}</td>
<td class="align-middle">{{ getDatabaseById(survey.id_database).label }}</td>
<td class="align-middle">{{ survey.nb_datasets }}</td>
<td class="align-middle">
<a title="Edit this project" routerLink="/edit-project/{{project.name}}" class="btn btn-outline-primary">
<a title="Edit this survey" routerLink="/edit-survey/{{survey.name}}" class="btn btn-outline-primary">
<span class="fas fa-edit"></span>
</a>
&nbsp;
<button [disabled]="!isNoDatasetsAttachedToProjectd(project.name)" title="Delete this project" (click)="openModal(template, project); $event.stopPropagation()" class="btn btn-outline-danger">
<button [disabled]="!isNoDatasetsAttachedToSurveyd(survey.name)" title="Delete this survey" (click)="openModal(template, survey); $event.stopPropagation()" class="btn btn-outline-danger">
<span class="fas fa-trash-alt"></span>
</button>
</td>
......@@ -40,7 +40,7 @@
<h4 class="modal-title pull-left">Confirm</h4>
</div>
<div class="modal-body">
<p>Are you sure you want to delete this project : <strong>{{ projectForDel.label }}</strong> ?</p>
<p>Are you sure you want to delete this survey : <strong>{{ surveyForDel.label }}</strong> ?</p>
<p>
<button (click)="modalRef.hide()" class="btn btn-outline-primary">No</button>
&nbsp;
......
......@@ -3,38 +3,38 @@ import { Component, Input, Output, ChangeDetectionStrategy, EventEmitter, Templa
import { BsModalService } from 'ngx-bootstrap/modal';
import { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';
import { Project, Database } from '../../store/model';
import { Survey, Database } from '../../store/model';
@Component({
selector: 'app-project-list',
templateUrl: 'project-list.component.html',
selector: 'app-survey-list',
templateUrl: 'survey-list.component.html',
changeDetection: ChangeDetectionStrategy.OnPush
})
export class ProjectListComponent {
@Input() projectList: Project[];
export class SurveyListComponent {
@Input() surveyList: Survey[];
@Input() databaseList: Database[];
@Output() deleteProject: EventEmitter<Project> = new EventEmitter();
@Output() deleteSurvey: EventEmitter<Survey> = new EventEmitter();
modalRef: BsModalRef;
projectForDel: Project;
surveyForDel: Survey;
constructor(private modalService: BsModalService) { }
isNoDatasetsAttachedToProjectd(projectName: string): boolean {
return this.projectList.find(p => p.name === projectName).nb_datasets === 0;
isNoDatasetsAttachedToSurveyd(surveyName: string): boolean {
return this.surveyList.find(p => p.name === surveyName).nb_datasets === 0;
}
getDatabaseById(idDatabase: number): Database {
return this.databaseList.find(database => database.id === idDatabase);
}
openModal(template: TemplateRef<any>, project: Project) {
this.projectForDel = project;
openModal(template: TemplateRef<any>, survey: Survey) {
this.surveyForDel = survey;
this.modalRef = this.modalService.show(template);
}
confirmDel() {
this.deleteProject.emit(this.projectForDel);
this.deleteSurvey.emit(this.surveyForDel);
this.modalRef.hide();
}
}
......@@ -16,7 +16,7 @@
<div class="col-12">
<app-database-list
[databaseList]="databaseList | async"
[projectList]="projectList | async"
[surveyList]="surveyList | async"
(deleteDatabase)="deleteDatabase($event)">
</app-database-list>
</div>
......
......@@ -2,12 +2,12 @@ import { Component, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
import { Store } from '@ngrx/store';
import { Database, Project } from '../../store/model';
import { Database, Survey } from '../../store/model';
import * as databaseActions from '../../store/action/database.action';
import * as projectActions from '../../store/action/project.action';
import * as surveyActions from '../../store/action/survey.action';
import * as databaseReducer from '../../store/reducer/database.reducer';
import * as databaseSelector from '../../store/selector/database.selector';
import * as projectSelector from '../../store/selector/project.selector';
import * as surveySelector from '../../store/selector/survey.selector';
@Component({
selector: 'app-database',
......@@ -17,22 +17,22 @@ export class DatabaseComponent implements OnInit {
public databaseListIsLoading: Observable<boolean>;
public databaseListIsLoaded: Observable<boolean>;
public databaseList: Observable<Database[]>;
public projectListIsLoading: Observable<boolean>;
public projectListIsLoaded: Observable<boolean>;
public projectList: Observable<Project[]>;
public surveyListIsLoading: Observable<boolean>;
public surveyListIsLoaded: Observable<boolean>;
public surveyList: Observable<Survey[]>;
constructor(private store: Store<databaseReducer.State>) {
this.databaseListIsLoading = store.select(databaseSelector.getDatabaseListIsLoading);
this.databaseListIsLoaded = store.select(databaseSelector.getDatabaseListIsLoaded);
this.databaseList = store.select(databaseSelector.getDatabaseList);
this.projectListIsLoading = store.select(projectSelector.getProjectListIsLoading);
this.projectListIsLoaded = store.select(projectSelector.getProjectListIsLoaded);
this.projectList = store.select(projectSelector.getProjectList);
this.surveyListIsLoading = store.select(surveySelector.getSurveyListIsLoading);
this.surveyListIsLoaded = store.select(surveySelector.getSurveyListIsLoaded);
this.surveyList = store.select(surveySelector.getSurveyList);
}
ngOnInit() {
this.store.dispatch(new databaseActions.LoadDatabaseListAction());
this.store.dispatch(new projectActions.LoadProjectListAction());
this.store.dispatch(new surveyActions.LoadSurveyListAction());
}
deleteDatabase(database: Database) {
......
<div class="container-fluid">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a routerLink="/project/database-list">Databases</a></li>
<li class="breadcrumb-item"><a routerLink="/survey/database-list">Databases</a></li>
<li class="breadcrumb-item active" aria-current="page">Edit database {{ (database | async).label }}</li>
</ol>
</nav>
......@@ -22,7 +22,7 @@
<i class="fa fa-database"></i> Update database information
</button>
&nbsp;
<a routerLink="/project/database-list" class="btn btn-danger">Cancel</a>
<a routerLink="/survey/database-list" class="btn btn-danger">Cancel</a>
</app-form-database>
</div>
</div>
......
<div class="container-fluid">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a routerLink="/project/database-list">Databases</a></li>
<li class="breadcrumb-item"><a routerLink="/survey/database-list">Databases</a></li>
<li class="breadcrumb-item active" aria-current="page">New database</li>
</ol>
</nav>
......@@ -16,7 +16,7 @@
<i class="fa fa-database"></i> Add the new database
</button>
&nbsp;
<a routerLink="/project/database-list" class="btn btn-danger">Cancel</a>
<a routerLink="/survey/database-list" class="btn btn-danger">Cancel</a>
</app-form-database>
</div>
</div>
......
......@@ -11,17 +11,17 @@
</div>
<div class="container">
<div *ngIf="(datasetFamilyListIsLoading | async) || (projectListIsLoading | async)"
<div *ngIf="(datasetFamilyListIsLoading | async) || (surveyListIsLoading | async)"
class="row justify-content-center mt-5">
<span class="fas fa-circle-notch fa-spin fa-3x"></span>
<span class="sr-only">Loading...</span>
</div>
<div *ngIf="(datasetFamilyListIsLoaded | async) && (projectListIsLoaded | async)">
<div *ngIf="(datasetFamilyListIsLoaded | async) && (surveyListIsLoaded | async)">
<div class="row">
<div class="col-12">
<app-form-dataset
[projectList]="projectList | async"
[surveyList]="surveyList | async"
[tableList]="tableList | async"
[datasetFamilyList]="datasetFamilyList | async"
[idDatasetFamilyQueryParam]="idDatasetFamilyQueryParam | async"
......@@ -29,7 +29,7 @@
[directoryInfoIsLoading]="directoryInfoIsLoading | async"
[directoryInfoIsLoaded]="directoryInfoIsLoaded | async"
(loadDirectoryInfo)="loadDirectoryInfo($event)"
(changeProject)="loadTableList($event)"
(changeSurvey)="loadTableList($event)"
(submitted)="addNewDataset($event)"
#formDataset>
<button [disabled]="!formDataset.ngForm.form.valid || formDataset.ngForm.form.pristine"
......
......@@ -2,9 +2,9 @@ import { Component, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
import { Store } from '@ngrx/store';
import { Project, DatasetFamily, Dataset, FileInfo } from '../../store/model';
import * as projectActions from '../../store/action/project.action';
import * as projectSelector from '../../store/selector/project.selector';
import { Survey, DatasetFamily, Dataset, FileInfo } from '../../store/model';
import * as surveyActions from '../../store/action/survey.action';
import * as surveySelector from '../../store/selector/survey.selector';
import * as databaseActions from '../../store/action/database.action';
import * as databaseSelector from '../../store/selector/database.selector';
import * as datasetFamilyActions from '../../store/action/dataset-family.action';
......@@ -21,9 +21,9 @@ import * as metamodelReducer from '../../store/reducer';
})
export class NewDatasetComponent implements OnInit {
public instanceSelected: Observable<string>;
public projectListIsLoading: Observable<boolean>;
public projectListIsLoaded: Observable<boolean>;
public projectList: Observable<Project[]>;
public surveyListIsLoading: Observable<boolean>;
public surveyListIsLoaded: Observable<boolean>;
public surveyList: Observable<Survey[]>;
public tableListIsLoading: Observable<boolean>;
public tableListIsLoaded: Observable<boolean>;
public tableList: Observable<string[]>;
......@@ -37,9 +37,9 @@ export class NewDatasetComponent implements OnInit {
constructor(private store: Store<metamodelReducer.State>) {
this.instanceSelected = store.select(instanceSelector.getInstanceSelected);
this.projectListIsLoading = store.select(projectSelector.getProjectListIsLoading);
this.projectListIsLoaded = store.select(projectSelector.getProjectListIsLoaded);
this.projectList = store.select(projectSelector.getProjectList);
this.surveyListIsLoading = store.select(surveySelector.getSurveyListIsLoading);
this.surveyListIsLoaded = store.select(surveySelector.getSurveyListIsLoaded);
this.surveyList = store.select(surveySelector.getSurveyList);
this.tableListIsLoading = store.select(databaseSelector.getTableListIsLoading);
this.tableListIsLoaded = store.select(databaseSelector.getTableListIsLoaded);
this.tableList = store.select(databaseSelector.getTableList);
......@@ -53,7 +53,7 @@ export class NewDatasetComponent implements OnInit {
}
ngOnInit() {
this.store.dispatch(new projectActions.LoadProjectListAction());
this.store.dispatch(new surveyActions.LoadSurveyListAction());
this.store.dispatch(new datasetFamilyActions.LoadDatasetFamilyListAction());
}
......
<div class="container-fluid">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a routerLink="/project/project-list">Projects</a></li>
<li class="breadcrumb-item active" aria-current="page">Edit project {{ (project | async).name }}</li>
<li class="breadcrumb-item"><a routerLink="/survey/survey-list">Surveys</a></li>
<li class="breadcrumb-item active" aria-current="page">Edit survey {{ (survey | async).name }}</li>
</ol>
</nav>
</div>
<div class="container">
<div *ngIf="projectListIsLoading | async" class="row justify-content-center mt-5">
<div *ngIf="surveyListIsLoading | async" class="row justify-content-center mt-5">
<span class="fas fa-circle-notch fa-spin fa-3x"></span>
<span class="sr-only">Loading...</span>
</div>
<div *ngIf="projectListIsLoaded | async">
<div *ngIf="surveyListIsLoaded | async">
<div class="row">
<div class="col-12">
<app-form-project [model]="project | async" [databaseList]="databaseList | async"
(submitted)="editProject($event)" #formProject>
<button [disabled]="!formProject.ngForm.form.valid || formProject.ngForm.form.pristine"
<app-form-survey [model]="survey | async" [databaseList]="databaseList | async"
(submitted)="editSurvey($event)" #formSurvey>
<button [disabled]="!formSurvey.ngForm.form.valid || formSurvey.ngForm.form.pristine"
type="submit" class="btn btn-primary">
<i class="fa fa-database"></i> Update project information
<i class="fa fa-database"></i> Update survey information
</button>
&nbsp;
<a routerLink="/project/project-list" class="btn btn-danger">Cancel</a>
</app-form-project>
<a routerLink="/survey/survey-list" class="btn btn-danger">Cancel</a>
</app-form-survey>
</div>
</div>
</div>
......
......@@ -2,36 +2,36 @@ import { Component, OnInit} from '@angular/core';
import { Observable } from 'rxjs';
import { Store } from '@ngrx/store';
import { Project, Database } from '../../store/model';
import * as projectActions from '../../store/action/project.action';
import { Survey, Database } from '../../store/model';
import * as surveyActions from '../../store/action/survey.action';
import * as databaseActions from '../../store/action/database.action';
import * as projectSelector from '../../store/selector/project.selector';
import * as surveySelector from '../../store/selector/survey.selector';
import * as databaseSelector from '../../store/selector/database.selector';
import * as reducer from '../../store/reducer';
@Component({
selector: 'app-edit-project',
templateUrl: 'edit-project.component.html'
selector: 'app-edit-survey',
templateUrl: 'edit-survey.component.html'
})
export class EditProjectComponent implements OnInit {
public projectListIsLoading: Observable<boolean>;
public projectListIsLoaded: Observable<boolean>;
public project: Observable<Project>;
export class EditSurveyComponent implements OnInit {
public surveyListIsLoading: Observable<boolean>;
public surveyListIsLoaded: Observable<boolean>;
public survey: Observable<Survey>;
public databaseList: Observable<Database[]>;
constructor(private store: Store<reducer.State>) {
this.projectListIsLoading = store.select(projectSelector.getProjectListIsLoading);
this.projectListIsLoaded = store.select(projectSelector.getProjectListIsLoaded);
this.project = store.select(projectSelector.getProjectByRouteName);
this.surveyListIsLoading = store.select(surveySelector.getSurveyListIsLoading);
this.surveyListIsLoaded = store.select(surveySelector.getSurveyListIsLoaded);
this.survey = store.select(surveySelector.getSurveyByRouteName);
this.databaseList = this.store.select(databaseSelector.getDatabaseList);
}
ngOnInit() {
this.store.dispatch(new projectActions.LoadProjectListAction());
this.store.dispatch(new surveyActions.LoadSurveyListAction());
this.store.dispatch(new databaseActions.LoadDatabaseListAction());
}
editProject(project: Project) {
this.store.dispatch(new projectActions.EditProjectAction(project));
editSurvey(survey: Survey) {
this.store.dispatch(new surveyActions.EditSurveyAction(survey));
}
}
<div class="container-fluid">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a routerLink="/project/project-list">Projects</a></li>
<li class="breadcrumb-item active" aria-current="page">New project</li>
<li class="breadcrumb-item"><a routerLink="/survey/survey-list">Surveys</a></li>
<li class="breadcrumb-item active" aria-current="page">New survey</li>
</ol>
</nav>
</div>
......@@ -10,14 +10,14 @@
<div class="container">
<div class=