@@ -20,7 +20,7 @@
diff --git a/dmp-frontend/src/app/form/dynamic-form.component.ts b/dmp-frontend/src/app/form/dynamic-form.component.ts
index 5dfceeef9..a6d46c220 100644
--- a/dmp-frontend/src/app/form/dynamic-form.component.ts
+++ b/dmp-frontend/src/app/form/dynamic-form.component.ts
@@ -1,8 +1,8 @@
-import { PaginationService } from './pagination/pagination-service';
-import { VisibilityRulesService } from '../visibility-rules/visibility-rules.service';
+import { VisibilityRulesService } from '../visibility-rules/visibility-rules.service';
import { TestModel } from '../testModel/testmodel';
import { DatasetModel } from '../models/DatasetModel';
import { Rule } from '../models/Rule';
+import { Section } from '../models/Section';
import { JsonSerializer } from '../utilities/JsonSerializer';
import { Component, Input, OnInit, AfterViewChecked, ViewChild, forwardRef, ViewEncapsulation } from '@angular/core';
@@ -67,12 +67,12 @@ export class DynamicFormComponent implements OnInit {
visibleSidebar: boolean = false;
private progressbar: boolean = false;
+ private currentPage: number;
private fragment: string;
constructor(private serverService: ServerService, private router: Router, private pdfService: PDFService,
private _location: Location, private route: ActivatedRoute, private tokenService: TokenService
, private visibilityRulesService: VisibilityRulesService
- , private paginationService:PaginationService
) {
this.datasetId = route.snapshot.params['id'];
}
@@ -88,12 +88,25 @@ export class DynamicFormComponent implements OnInit {
response => {
this.dataModel = new JsonSerializer
().fromJSONObject(response, DatasetModel);
this.pages = this.getPages(this.dataModel);
- this.createPagination();
+ //this.createPagination();
this.form = this.dataModel.buildForm();
this.visibilityRulesService.formGroup = this.form;
let rules: Rule[] = new JsonSerializer().fromJSONArray(response.rules, Rule);
this.visibilityRulesService.buildVisibilityRules(rules)
- this.progressbar = true;
+ this.progressbar = true;
+
+ this.route.fragment.subscribe((fragment: string) => {
+ if (fragment && document.querySelector('#' + fragment)) {
+ document.querySelector('#' + fragment).scrollIntoView();
+ this.visibleSidebar = true;
+ }
+ });
+
+ this.route.queryParams.subscribe((params) => {
+ if (params && "page" in params && !isNaN(params["page"]))
+ this.currentPage = Number.parseInt(params["page"]);
+ //this.visibleSidebar = true;
+ });
},
error => {
console.log("Could not load dmp");
@@ -127,16 +140,19 @@ export class DynamicFormComponent implements OnInit {
return pageSet;
}
- createPagination() {
- this.pages.forEach(item => {
- this.stepperItems.push({
- label: '',
- command: (event: any) => {
- this.paginationService.setCurrentIndex(event.index)
- }
- })
- })
+ shouldDisplaySection(section: Section): Boolean {
+ return section.page == this.currentPage;
}
+ //createPagination() {
+ // this.pages.forEach(item => {
+ // this.stepperItems.push({
+ // label: '',
+ // command: (event: any) => {
+ // this.paginationService.setCurrentIndex(event.index)
+ // }
+ // })
+ // })
+ //}
/* scrollToElemID(elemID) {
scroll("#" + elemID);
}
diff --git a/dmp-frontend/src/app/form/tableOfContents/base-table-of-content.component.ts b/dmp-frontend/src/app/form/tableOfContents/base-table-of-content.component.ts
index 2022cacb7..f9f2e730a 100644
--- a/dmp-frontend/src/app/form/tableOfContents/base-table-of-content.component.ts
+++ b/dmp-frontend/src/app/form/tableOfContents/base-table-of-content.component.ts
@@ -1,18 +1,10 @@
-import { PaginationService } from '../pagination/pagination-service';
-import { ActivatedRouteSnapshot, Router, ActivatedRoute } from '@angular/router';
+import { ActivatedRouteSnapshot, Router, ActivatedRoute } from '@angular/router';
export class BaseTableOfContent {
- constructor(public router: Router, public route: ActivatedRoute, public paginationService: PaginationService) {
- this.route.fragment.subscribe((fragment: string) => {
- setTimeout(function() {
- if (fragment) document.querySelector('#' + fragment).scrollIntoView();
- }, );
-
- })
- }
+ constructor(public router: Router, public route: ActivatedRoute) { }
scrollToId(elementId, page: number) {
- this.paginationService.setCurrentIndex(page-1);
- this.router.navigate([this.route.snapshot.url[0] + "/" + this.route.snapshot.url[1]], { fragment: elementId });
+ //this.paginationService.setCurrentIndex(page-1);
+ this.router.navigate([this.route.snapshot.url[0] + "/" + this.route.snapshot.url[1]], { fragment: elementId, queryParams: { page: page } });
}
}
\ No newline at end of file
diff --git a/dmp-frontend/src/app/form/tableOfContents/table-of-content-field/table-of-content-field.component.ts b/dmp-frontend/src/app/form/tableOfContents/table-of-content-field/table-of-content-field.component.ts
index 958216811..b23056191 100644
--- a/dmp-frontend/src/app/form/tableOfContents/table-of-content-field/table-of-content-field.component.ts
+++ b/dmp-frontend/src/app/form/tableOfContents/table-of-content-field/table-of-content-field.component.ts
@@ -1,5 +1,4 @@
-import { PaginationService } from '../../pagination/pagination-service';
-import { VisibilityRulesService } from '../../../visibility-rules/visibility-rules.service';
+import { VisibilityRulesService } from '../../../visibility-rules/visibility-rules.service';
import { BaseTableOfContent } from '../base-table-of-content.component';
import { CompositeField } from '../../../models/CompositeField';
import { Field } from '../../../models/Field';
@@ -18,7 +17,7 @@ export class TableOfContentsFieldComponent extends BaseTableOfContent{
@Input() index:number;
@Input() public path:string;
@Input() public page: number;
- constructor(public router: Router, public route: ActivatedRoute,private visibilityRulesService: VisibilityRulesService,public paginationService:PaginationService) {
- super(router, route,paginationService)
+ constructor(public router: Router, public route: ActivatedRoute,private visibilityRulesService: VisibilityRulesService) {
+ super(router, route)
}
}
\ No newline at end of file
diff --git a/dmp-frontend/src/app/form/tableOfContents/table-of-content-fieldset/table-of-content-fieldset.component.ts b/dmp-frontend/src/app/form/tableOfContents/table-of-content-fieldset/table-of-content-fieldset.component.ts
index 6d346a97f..0af8888b8 100644
--- a/dmp-frontend/src/app/form/tableOfContents/table-of-content-fieldset/table-of-content-fieldset.component.ts
+++ b/dmp-frontend/src/app/form/tableOfContents/table-of-content-fieldset/table-of-content-fieldset.component.ts
@@ -1,5 +1,4 @@
-import { PaginationService } from '../../pagination/pagination-service';
-import { VisibilityRulesService } from '../../../visibility-rules/visibility-rules.service';
+import { VisibilityRulesService } from '../../../visibility-rules/visibility-rules.service';
import { BaseTableOfContent } from '../base-table-of-content.component';
import { CompositeField } from '../../../models/CompositeField';
import { FieldGroup } from '../../../models/FieldGroup';
@@ -21,7 +20,7 @@ export class TableOfContentsFieldSetComponent extends BaseTableOfContent {
@Input() index: number;
@Input() public path: string;
@Input() public page: number;
- constructor(public router: Router, public route: ActivatedRoute,private visibilityRulesService: VisibilityRulesService,public paginationService:PaginationService) {
- super(router, route,paginationService)
+ constructor(public router: Router, public route: ActivatedRoute,private visibilityRulesService: VisibilityRulesService) {
+ super(router, route)
}
}
diff --git a/dmp-frontend/src/app/form/tableOfContents/table-of-content-group/table-of-content-group.component.ts b/dmp-frontend/src/app/form/tableOfContents/table-of-content-group/table-of-content-group.component.ts
index 1090e5af3..39a891966 100644
--- a/dmp-frontend/src/app/form/tableOfContents/table-of-content-group/table-of-content-group.component.ts
+++ b/dmp-frontend/src/app/form/tableOfContents/table-of-content-group/table-of-content-group.component.ts
@@ -1,5 +1,4 @@
-import { PaginationService } from '../../pagination/pagination-service';
-import { VisibilityRulesService } from '../../../visibility-rules/visibility-rules.service';
+import { VisibilityRulesService } from '../../../visibility-rules/visibility-rules.service';
import { BaseTableOfContent } from '../base-table-of-content.component';
import { FieldGroup } from '../../../models/FieldGroup';
import { Section } from '../../../models/Section';
@@ -23,8 +22,8 @@ export class TableOfContentsGroupComponent extends BaseTableOfContent {
setPage:EventEmitter = new EventEmitter();
*/
- constructor(public router: Router, public route: ActivatedRoute,private visibilityRulesService: VisibilityRulesService,public paginationService:PaginationService) {
- super(router, route,paginationService)
+ constructor(public router: Router, public route: ActivatedRoute,private visibilityRulesService: VisibilityRulesService) {
+ super(router, route)
}
diff --git a/dmp-frontend/src/app/form/tableOfContents/table-of-content-section/table-of-content-section.component.ts b/dmp-frontend/src/app/form/tableOfContents/table-of-content-section/table-of-content-section.component.ts
index b3463ac7c..e50a680f5 100644
--- a/dmp-frontend/src/app/form/tableOfContents/table-of-content-section/table-of-content-section.component.ts
+++ b/dmp-frontend/src/app/form/tableOfContents/table-of-content-section/table-of-content-section.component.ts
@@ -1,5 +1,4 @@
-import { PaginationService } from '../../pagination/pagination-service';
-import { VisibilityRulesService } from '../../../visibility-rules/visibility-rules.service';
+import { VisibilityRulesService } from '../../../visibility-rules/visibility-rules.service';
import { BaseTableOfContent } from '../base-table-of-content.component';
import { Section } from '../../../models/Section';
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
@@ -19,8 +18,8 @@ export class TableOfContentsSectionComponent extends BaseTableOfContent implemen
@Input() index: number;
@Input() public path: string;
@Input() public page: number;
- constructor(public router: Router,public route:ActivatedRoute,private visibilityRulesService: VisibilityRulesService,public paginationService:PaginationService){
- super(router,route,paginationService)
+ constructor(public router: Router,public route:ActivatedRoute,private visibilityRulesService: VisibilityRulesService){
+ super(router,route)
}
ngOnInit() {