diff --git a/dmp-frontend/src/app/app.module.ts b/dmp-frontend/src/app/app.module.ts
index 94a5697c9..5b20cd5a0 100644
--- a/dmp-frontend/src/app/app.module.ts
+++ b/dmp-frontend/src/app/app.module.ts
@@ -60,11 +60,11 @@ import { HTTP_INTERCEPTORS } from '@angular/common/http';
],
providers: [
- // {
- // provide: HTTP_INTERCEPTORS,
- // useClass: GlobalInterceptor,
- // multi: true,
- // },
+ {
+ provide: HTTP_INTERCEPTORS,
+ useClass: GlobalInterceptor,
+ multi: true,
+ },
ServerService, dataModelBuilder, AuthGuard, PaginationService, TokenService, LocalStorageService, RestBase, EestoreService
],
bootstrap: [AppComponent]
diff --git a/dmp-frontend/src/app/pipes/project-table-filter.pipe.ts b/dmp-frontend/src/app/pipes/project-table-filter.pipe.ts
new file mode 100644
index 000000000..0849eb6e2
--- /dev/null
+++ b/dmp-frontend/src/app/pipes/project-table-filter.pipe.ts
@@ -0,0 +1,27 @@
+import * as _ from "lodash";
+import {Pipe, PipeTransform} from "@angular/core";
+
+@Pipe({
+ name: "projectTableFilter"
+})
+export class ProjectTableFilterPipe implements PipeTransform {
+
+ transform(array: any[], query: string): any {
+
+ if (query) {
+
+ return _.filter(array, row => {
+
+ return (
+
+ row.label.indexOf(query) > -1 ||
+
+ //row.version == query ||
+ row.id.indexOf(query) > -1
+ )
+ });
+
+ }
+ return array;
+ }
+}
\ No newline at end of file
diff --git a/dmp-frontend/src/app/projects/project.css b/dmp-frontend/src/app/projects/project.css
index 526299dad..f643122ce 100644
--- a/dmp-frontend/src/app/projects/project.css
+++ b/dmp-frontend/src/app/projects/project.css
@@ -9,4 +9,44 @@
a.editGridColumn{
color: #333;
+}
+
+.invisible {
+ display:none;
+}
+
+.visible {
+ display:block;
+}
+
+tr.hover:hover > * {
+ background-color: #eeeeee;
+}
+
+.editor-container{
+ padding-top: 10px;
+ padding-right: 10px;
+ padding-bottom: 10px;
+ padding-left: 10px;
+}
+
+.button-150px {
+ max-width: 150px;
+}
+
+.ng-template{
+ text-align: right;
+}
+
+.grayout-empty-table {
+ opacity: 0.6; /* Real browsers */
+ filter: alpha(opacity = 60); /* MSIE */
+ text-align: center;
+ vertical-align: middle;
+}
+
+.btncustom{
+ background-color:#337ab7;
+ color:white;
+ margin-top:15px;
}
\ No newline at end of file
diff --git a/dmp-frontend/src/app/projects/project.html b/dmp-frontend/src/app/projects/project.html
index f3f94b406..8ebb50ec2 100644
--- a/dmp-frontend/src/app/projects/project.html
+++ b/dmp-frontend/src/app/projects/project.html
@@ -1,53 +1,76 @@
-
-
- Filter:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Active
-
-
-
-
-
-
-
-
-
-
- Actions
-
-
-
-
-
-
-
- Selected:
- No item selected
-
-
-
-
-
+
diff --git a/dmp-frontend/src/app/projects/project.module.ts b/dmp-frontend/src/app/projects/project.module.ts
index 7be3d4a85..6a97e1556 100644
--- a/dmp-frontend/src/app/projects/project.module.ts
+++ b/dmp-frontend/src/app/projects/project.module.ts
@@ -1,7 +1,8 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
-import {DataTableModule } from 'angular-4-data-table-bootstrap-4';
+import {DataTableModule} from 'angular2-datatable';
+import { ProjectTableFilterPipe } from '../pipes/project-table-filter.pipe';
import { ProjectsComponent } from './projects.component';
@@ -21,7 +22,8 @@ import { ModalComponent } from '../modal/modal.component';
declarations: [
ProjectsComponent,
ProjectDetailComponent,
- ModalComponent
+ ModalComponent,
+ ProjectTableFilterPipe
],
providers: [ ]
})
diff --git a/dmp-frontend/src/app/projects/projects.component.ts b/dmp-frontend/src/app/projects/projects.component.ts
index aab61dcc8..8efed8ec2 100644
--- a/dmp-frontend/src/app/projects/projects.component.ts
+++ b/dmp-frontend/src/app/projects/projects.component.ts
@@ -5,7 +5,8 @@ import { ServerService } from '../../app/services/server.service';
import { Project } from '../entities/model/project';
import { Dmp } from '../entities/model/dmp';
import { Dataset } from '../entities/model/dataset';
-import { DataTable, DataTableTranslations, DataTableResource } from 'angular-4-data-table-bootstrap-4';
+//import { DataTable, DataTableTranslations, DataTableResource } from 'angular-4-data-table-bootstrap-4';
+import {DataTable} from 'angular2-datatable';
import { DropdownField } from '../../app/form/fields/dropdown/field-dropdown';
import { Param } from '../entities/model/param';
import { ModalComponent } from '../modal/modal.component';
@@ -21,10 +22,32 @@ import { TokenService, TokenProvider } from '../services/token.service';
})
export class ProjectsComponent implements OnInit{
+
+// Start ALTERNATIVE
+ //whole dmp data model
+ tableData : any[] = new Array();
+
+ //organisation editor data model
+ editingOrganisation: any = {};
+ organisationEditorForm : any;
+
+ //required by the table
+ public filterQuery = "";
+ public rowsOnPage = 10;
+ //public sortBy = "email";
+ public sortOrder = "asc";
+
+ //visibility rules for containers
+ tableVisible: boolean = true;
+ editorVisible: boolean = false;
+
+
+ // for tableIds
+ showIDs : boolean = false;
+// END ALTERNATIVE
+
returnUrl: string;
@Input() projects: Project[];
- projectResource :DataTableResource
;
- datasetResource :DataTableResource;
@Input() projectCount = 0;
@Input() datasetDropDown:DropdownField;
//@Input() dataSetVisibe:boolean;
@@ -63,7 +86,7 @@ export class ProjectsComponent implements OnInit{
this.projects = [];
this.serverService.getProjectOfUer().subscribe( //getProjects()
response => {
-
+ this.tableData = response;
response.forEach(resp => {
let pr = new Project();
@@ -72,15 +95,7 @@ export class ProjectsComponent implements OnInit{
pr.abbreviation = resp.abbreviation;
pr.definition = resp.definition;
pr.uri = resp.uri;
- // pr.dmp = new Dmp();
- // pr.dmp.id = resp.dmp;
- // pr.dmp.id = resp.dmp != null && resp.dmp != undefined ? resp.dmp.id : null;
- // pr.dataset = new Dataset();
- // pr.dmp.dataset = resp.dmp !=null && resp.dmp.dataset != null ? resp.dmp.dataset.id: null;
- this.projects.push(pr);
- var params = {limit:8,offset:0, sortAsc:false}
- this.afterLoad();
- this.projectResource.query(params).then(projects => this.projects = projects);
+ this.projects.push(pr);
}
);
}
@@ -100,16 +115,6 @@ export class ProjectsComponent implements OnInit{
);
}
-reloadProjects(params) {
- this.projectResource = new DataTableResource(this.projects);
- this.projectResource.query(params).then(projects => this.projects = projects);
-}
-
-afterLoad(){
- this.projectResource = new DataTableResource(this.projects);
- this.projectResource.count().then(count => this.projectCount = count);
-}
-
getDMPs(){
this.serverService.listDmpsLabelID().subscribe(
response =>{
@@ -167,14 +172,6 @@ SaveNewProject(){
);
}
- // special params:
- translations = {
- indexColumn: 'Index column',
- expandColumn: 'Expand column',
- selectColumn: 'Select column',
- paginationLimit: 'Max results',
- paginationRange: 'Result range'
-};
signOut() {
this.serverService.logOut();
diff --git a/dmp-frontend/src/app/services/interceptor.ts b/dmp-frontend/src/app/services/interceptor.ts
index b2578cf80..0cffec71a 100644
--- a/dmp-frontend/src/app/services/interceptor.ts
+++ b/dmp-frontend/src/app/services/interceptor.ts
@@ -20,7 +20,7 @@ export class GlobalInterceptor implements HttpInterceptor {
}
*/
}, (err: any) => {
- if (err instanceof HttpErrorResponse) {
+ if (err instanceof HttpErrorResponse) {debugger;
if (err.status === 401) {
var auth2 = gapi.auth2.getAuthInstance();
auth2.signOut().then(function () {