Skip to content
Snippets Groups Projects
Commit 97e0559a authored by François Agneray's avatar François Agneray
Browse files

Merge branch 'instance-refactoring' into 'develop'

Instance refactoring

See merge request !24
parents cff4c496 35323b68
No related branches found
No related tags found
2 merge requests!29Develop,!24Instance refactoring
Pipeline #6907 passed
Pipeline: anis-next

#6909

    Pipeline: anis-next

    #6908

      Showing
      with 37 additions and 84 deletions
      ...@@ -37,7 +37,10 @@ ...@@ -37,7 +37,10 @@
      "scripts": [ "scripts": [
      "node_modules/@fortawesome/fontawesome-free/js/all.js", "node_modules/@fortawesome/fontawesome-free/js/all.js",
      "src/assets/samp.js" "src/assets/samp.js"
      ] ],
      "allowedCommonJsDependencies": [
      "keycloak-js"
      ]
      }, },
      "configurations": { "configurations": {
      "production": { "production": {
      ......
      ...@@ -12,51 +12,15 @@ import { RouterModule, Routes } from '@angular/router'; ...@@ -12,51 +12,15 @@ import { RouterModule, Routes } from '@angular/router';
      import { AdminComponent } from './admin.component'; import { AdminComponent } from './admin.component';
      import { AdminAuthGuard } from './admin-auth.guard'; import { AdminAuthGuard } from './admin-auth.guard';
      import { InstanceListComponent } from './containers/instance/instance-list.component';
      import { NewInstanceComponent } from './containers/instance/new-instance.component';
      import { EditInstanceComponent } from './containers/instance/edit-instance.component';
      import { DatasetListComponent } from './containers/dataset/dataset-list.component';
      import { ConfigureInstanceComponent } from './containers/instance/configure-instance.component';
      import { GroupListComponent } from './containers/group/group-list.component';
      import { NewGroupComponent } from './containers/group/new-group.component';
      import { EditGroupComponent } from './containers/group/edit-group.component';
      import { NewDatasetComponent } from './containers/dataset/new-dataset.component';
      import { EditDatasetComponent } from './containers/dataset/edit-dataset.component';
      import { AttributeListComponent } from './containers/attribute/attribute-list.component';
      import { SurveyListComponent } from './containers/survey/survey-list.component';
      import { NewSurveyComponent } from './containers/survey/new-survey.component';
      import { EditSurveyComponent } from './containers/survey/edit-survey.component';
      import { DatabaseListComponent } from './containers/database/database-list.component';
      import { NewDatabaseComponent } from './containers/database/new-database.component';
      import { EditDatabaseComponent } from './containers/database/edit-database.component';
      import { SettingsComponent } from './containers/settings/settings.component';
      const routes: Routes = [ const routes: Routes = [
      { {
      path: '', component: AdminComponent, canActivate: [AdminAuthGuard], children: [ path: '', component: AdminComponent, canActivate: [AdminAuthGuard], children: [
      { path: '', redirectTo: 'instance-list', pathMatch: 'full' }, { path: '', redirectTo: 'instance/instance-list', pathMatch: 'full' },
      { path: 'instance-list', component: InstanceListComponent }, { path: 'instance', loadChildren: () => import('./instance/instance.module').then(m => m.InstanceModule) },
      { path: 'new-instance', component: NewInstanceComponent }, { path: 'survey', loadChildren: () => import('./survey/survey.module').then(m => m.SurveyModule) },
      { path: 'edit-instance/:iname', component: EditInstanceComponent }, { path: 'database', loadChildren: () => import('./database/database.module').then(m => m.DatabaseModule) },
      { path: 'configure-instance/:iname', component: ConfigureInstanceComponent, children: { path: 'settings', loadChildren: () => import('./settings/settings.module').then(m => m.SettingsModule) }
      [
      { path: '', component: DatasetListComponent },
      { path: 'group', component: GroupListComponent },
      { path: 'new-group', component: NewGroupComponent },
      { path: 'edit-group/:id', component: EditGroupComponent },
      { path: 'new-dataset', component: NewDatasetComponent },
      { path: 'edit-dataset/:dname', component: EditDatasetComponent },
      { path: 'configure-dataset/:dname', component: AttributeListComponent },
      ]
      },
      { path: 'survey-list', component: SurveyListComponent },
      { path: 'new-survey', component: NewSurveyComponent },
      { path: 'edit-survey/:name', component: EditSurveyComponent },
      { path: 'database-list', component: DatabaseListComponent },
      { path: 'new-database', component: NewDatabaseComponent },
      { path: 'edit-database/:id', component: EditDatabaseComponent },
      { path: 'settings', component: SettingsComponent },
      { path: 'settings/:select', component: SettingsComponent }
      ] ]
      } }
      ]; ];
      ...@@ -68,23 +32,5 @@ const routes: Routes = [ ...@@ -68,23 +32,5 @@ const routes: Routes = [
      export class AdminRoutingModule { } export class AdminRoutingModule { }
      export const routedComponents = [ export const routedComponents = [
      AdminComponent, AdminComponent
      InstanceListComponent,
      NewInstanceComponent,
      EditInstanceComponent,
      ConfigureInstanceComponent,
      DatasetListComponent,
      GroupListComponent,
      NewGroupComponent,
      EditGroupComponent,
      NewDatasetComponent,
      EditDatasetComponent,
      AttributeListComponent,
      SurveyListComponent,
      NewSurveyComponent,
      EditSurveyComponent,
      DatabaseListComponent,
      NewDatabaseComponent,
      EditDatabaseComponent,
      SettingsComponent
      ]; ];
      ...@@ -10,18 +10,24 @@ ...@@ -10,18 +10,24 @@
      import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
      import { SharedModule } from 'src/app/shared/shared.module'; import { SharedModule } from 'src/app/shared/shared.module';
      import { DetailComponent } from './containers/detail.component'; import { adminSharedComponents } from './components';
      import { dummiesComponents } from './components'; import { adminPipes } from './pipes';
      import { detailPipes } from './pipes';
      /**
      * @class
      * @classdesc Home module.
      */
      @NgModule({ @NgModule({
      imports: [ imports: [
      SharedModule SharedModule
      ], ],
      declarations: [ declarations: [
      DetailComponent, adminSharedComponents,
      dummiesComponents, adminPipes
      detailPipes ],
      exports: [
      adminSharedComponents,
      adminPipes
      ] ]
      }) })
      export class DetailModule { } export class AdminSharedModule { }
      ...@@ -50,7 +50,7 @@ export class DataPathFormControlComponent { ...@@ -50,7 +50,7 @@ export class DataPathFormControlComponent {
      if (fileInfo.name === '..') { if (fileInfo.name === '..') {
      this.fileExplorerPath = this.fileExplorerPath.substr(0, this.fileExplorerPath.lastIndexOf("/")); this.fileExplorerPath = this.fileExplorerPath.substr(0, this.fileExplorerPath.lastIndexOf("/"));
      } else { } else {
      this.fileExplorerPath += '/' + fileInfo.name; this.fileExplorerPath += `/${fileInfo.name}`;
      } }
      this.fileExplorerPristine = false; this.fileExplorerPristine = false;
      this.loadRootDirectory.emit(this.fileExplorerPath); this.loadRootDirectory.emit(this.fileExplorerPath);
      ......
      ...@@ -68,7 +68,7 @@ export class FileSelectFormControlComponent implements OnChanges { ...@@ -68,7 +68,7 @@ export class FileSelectFormControlComponent implements OnChanges {
      if (fileInfo.name === '..') { if (fileInfo.name === '..') {
      this.fileExplorerPath = this.fileExplorerPath.substr(0, this.fileExplorerPath.lastIndexOf("/")); this.fileExplorerPath = this.fileExplorerPath.substr(0, this.fileExplorerPath.lastIndexOf("/"));
      } else { } else {
      this.fileExplorerPath += '/' + fileInfo.name; this.fileExplorerPath += `/${fileInfo.name}`;
      } }
      this.loadRootDirectory.emit(this.fileExplorerPath); this.loadRootDirectory.emit(this.fileExplorerPath);
      } }
      ...@@ -76,9 +76,9 @@ export class FileSelectFormControlComponent implements OnChanges { ...@@ -76,9 +76,9 @@ export class FileSelectFormControlComponent implements OnChanges {
      buildFilePath(fileInfo: FileInfo) { buildFilePath(fileInfo: FileInfo) {
      let fileSelected = ''; let fileSelected = '';
      if (this.fileExplorerPath !== '') { if (this.fileExplorerPath !== '') {
      fileSelected += this.fileExplorerPath + '/'; fileSelected += `${this.fileExplorerPath}/`;
      } }
      return fileSelected + fileInfo.name; return `${fileSelected}${fileInfo.name}`;
      } }
      checkFileSelected(fileInfo: FileInfo) { checkFileSelected(fileInfo: FileInfo) {
      ......
      ...@@ -11,7 +11,7 @@ import { DeleteBtnComponent } from './delete-btn.component'; ...@@ -11,7 +11,7 @@ import { DeleteBtnComponent } from './delete-btn.component';
      import { DataPathFormControlComponent } from './data-path-form-control.component'; import { DataPathFormControlComponent } from './data-path-form-control.component';
      import { FileSelectFormControlComponent } from './file-select-form-control.component'; import { FileSelectFormControlComponent } from './file-select-form-control.component';
      export const sharedComponents = [ export const adminSharedComponents = [
      DeleteBtnComponent, DeleteBtnComponent,
      DataPathFormControlComponent, DataPathFormControlComponent,
      FileSelectFormControlComponent FileSelectFormControlComponent
      ......
      ...@@ -33,9 +33,9 @@ import { AppConfigService } from 'src/app/app-config.service'; ...@@ -33,9 +33,9 @@ import { AppConfigService } from 'src/app/app-config.service';
      export class AdminComponent implements OnInit { export class AdminComponent implements OnInit {
      public favIcon: HTMLLinkElement = document.querySelector('#favicon'); public favIcon: HTMLLinkElement = document.querySelector('#favicon');
      public links = [ public links = [
      { label: 'Instances', icon: 'fas fa-object-group', routerLink: 'instance-list' }, { label: 'Instances', icon: 'fas fa-object-group', routerLink: 'instance/instance-list' },
      { label: 'Surveys', icon: 'fas fa-table', routerLink: 'survey-list'}, { label: 'Surveys', icon: 'fas fa-table', routerLink: 'survey/survey-list'},
      { label: 'Databases', icon: 'fas fa-database', routerLink: 'database-list'}, { label: 'Databases', icon: 'fas fa-database', routerLink: 'database/database-list'},
      { label: 'Settings', icon: 'fas fa-wrench', routerLink: 'settings'} { label: 'Settings', icon: 'fas fa-wrench', routerLink: 'settings'}
      ]; ];
      public isAuthenticated: Observable<boolean>; public isAuthenticated: Observable<boolean>;
      ......
      ...@@ -10,19 +10,17 @@ ...@@ -10,19 +10,17 @@
      import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
      import { SharedModule } from 'src/app/shared/shared.module'; import { SharedModule } from 'src/app/shared/shared.module';
      import { AdminSharedModule } from './admin-shared/admin-shared.module';
      import { AdminRoutingModule, routedComponents } from './admin-routing.module'; import { AdminRoutingModule, routedComponents } from './admin-routing.module';
      import { dummiesComponents } from './components';
      import { adminPipes } from './pipes';
      @NgModule({ @NgModule({
      imports: [ imports: [
      SharedModule, SharedModule,
      AdminSharedModule,
      AdminRoutingModule AdminRoutingModule
      ], ],
      declarations: [ declarations: [
      routedComponents, routedComponents
      dummiesComponents,
      adminPipes
      ] ]
      }) })
      export class AdminModule { } export class AdminModule { }
      ...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
      <td class="align-middle">*******</td> <td class="align-middle">*******</td>
      <td class="align-middle">{{ getNbSurveyByDatabase(database.id) }}</td> <td class="align-middle">{{ getNbSurveyByDatabase(database.id) }}</td>
      <td class="align-middle"> <td class="align-middle">
      <a title="Edit this database" routerLink="/admin/edit-database/{{database.id}}" class="btn btn-outline-primary"> <a title="Edit this database" routerLink="/admin/database/edit-database/{{database.id}}" class="btn btn-outline-primary">
      <span class="fas fa-edit"></span> <span class="fas fa-edit"></span>
      </a> </a>
      </td> </td>
      ......
      ...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
      import { DatabaseTableComponent } from "./database-table.component"; import { DatabaseTableComponent } from "./database-table.component";
      import { DatabaseFormComponent } from "./database-form.component"; import { DatabaseFormComponent } from "./database-form.component";
      export const databaseComponents = [ export const dummiesComponents = [
      DatabaseTableComponent, DatabaseTableComponent,
      DatabaseFormComponent DatabaseFormComponent
      ]; ];
      ...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
      <ng-container *ngIf="(surveyListIsLoaded | async) && (databaseListIsLoaded | async)"> <ng-container *ngIf="(surveyListIsLoaded | async) && (databaseListIsLoaded | async)">
      <div class="row"> <div class="row">
      <div class="col-12"> <div class="col-12">
      <button title="Add a new database" class="btn btn-outline-success float-right" routerLink="/admin/new-database"> <button title="Add a new database" class="btn btn-outline-success float-right" routerLink="/admin/database/new-database">
      <span class="fas fa-plus"></span> New database <span class="fas fa-plus"></span> New database
      </button> </button>
      </div> </div>
      ......
      0% Loading or .
      You are about to add 0 people to the discussion. Proceed with caution.
      Finish editing this message first!
      Please register or to comment