{{'DATASET-WIZARD.THIRD-STEP.TITLE' | translate}}
-
+
diff --git a/dmp-frontend/src/app/dataset-wizard/dataset-wizard.component.scss b/dmp-frontend/src/app/datasets/dataset-wizard/dataset-wizard.component.scss
similarity index 100%
rename from dmp-frontend/src/app/dataset-wizard/dataset-wizard.component.scss
rename to dmp-frontend/src/app/datasets/dataset-wizard/dataset-wizard.component.scss
diff --git a/dmp-frontend/src/app/dataset-wizard/dataset-wizard.component.ts b/dmp-frontend/src/app/datasets/dataset-wizard/dataset-wizard.component.ts
similarity index 79%
rename from dmp-frontend/src/app/dataset-wizard/dataset-wizard.component.ts
rename to dmp-frontend/src/app/datasets/dataset-wizard/dataset-wizard.component.ts
index e3a0225b9..991e99f75 100644
--- a/dmp-frontend/src/app/dataset-wizard/dataset-wizard.component.ts
+++ b/dmp-frontend/src/app/datasets/dataset-wizard/dataset-wizard.component.ts
@@ -1,24 +1,23 @@
-import { DatasetProfileDefinitionModel } from '../models/DatasetProfileDefinitionModel';
+import { BaseErrorModel } from '../../models/error/BaseErrorModel';
+import { SnackBarNotificationComponent } from '../../shared/components/notificaiton/snack-bar-notification.component';
+import { DatasetProfileCriteria } from '../../models/criteria/dataset-profile/DatasetProfileCriteria';
+import { DataManagementPlanModel } from '../../models/data-managemnt-plans/DataManagementPlanModel';
+import { JsonSerializer } from '../../utilities/JsonSerializer';
+import { DataManagementPlanCriteria } from '../../models/criteria/data-management-plan/DataManagementPlanCriteria';
+import { RequestItem } from '../../models/criteria/RequestItem';
+import { DatasetService } from '../../services/dataset/dataset.service';
+import { ExternalSourcesItemModel } from '../../models/external-sources/ExternalSourcesItemModel';
+import { DatasetProfileModel } from '../../models/datasetprofile/DatasetProfileModel';
+import { DatasetProfileDefinitionModel } from '../../models/DatasetProfileDefinitionModel';
+import { DatasetWizardModel } from '../../models/datasets/DatasetWizardModel';
+import { DataManagementPlanService } from '../../services/data-management-plan/data-management-plan.service';
+import { ExternalSourcesService } from '../../services/external-sources/external-sources.service';
+import { DatasetWizardService } from '../../services/dataset-wizard/dataset-wizard.service';
import { TranslateService } from '@ngx-translate/core';
-import { BaseErrorModel } from '../models/error/BaseErrorModel';
import { ActivatedRoute, Router, Params } from '@angular/router';
-import { DatasetService } from '../services/dataset/dataset.service';
-import { DatasetWizardModel } from '../models/datasets/DatasetWizardModel';
-import { DatasetProfileCriteria } from '../models/criteria/dataset-profile/DatasetProfileCriteria';
import { Component, ViewChild, OnInit, AfterViewInit, ViewEncapsulation } from "@angular/core";
-import { DataManagementPlanService } from "../services/data-management-plan/data-management-plan.service";
import { FormGroup, Validators, FormBuilder } from "@angular/forms";
-import { AutoCompleteConfiguration } from "../shared/components/autocomplete/AutoCompleteConfiguration";
-import { DatasetWizardService } from "../services/dataset-wizard/dataset-wizard.service";
-import { DataManagementPlanCriteria } from "../models/criteria/data-management-plan/DataManagementPlanCriteria";
-import { DataManagementPlanModel } from "../models/data-managemnt-plans/DataManagementPlanModel";
-import { JsonSerializer } from "../utilities/JsonSerializer";
-import { Observable } from "rxjs/Observable";
-import { RequestItem } from "../models/criteria/RequestItem";
-import { SnackBarNotificationComponent } from "../shared/components/notificaiton/snack-bar-notification.component";
-import { DatasetProfileModel } from '../models/datasetprofile/DatasetProfileModel';
-import { ExternalSourcesItemModel } from '../models/external-sources/ExternalSourcesItemModel';
-import { ExternalSourcesService } from '../services/external-sources/external-sources.service';
+
import { MatPaginator, MatSort, MatSnackBar, MatStepper } from "@angular/material";
@Component({
@@ -36,7 +35,6 @@ export class DatasetWizardComponent {
datasetWizardModel: DatasetWizardModel;
isNew = true;
formGroup: FormGroup;
- form: FormGroup;
datasetProfileDefinitionModel: DatasetProfileDefinitionModel;
availableProfiles: DatasetProfileModel[] = [];
@@ -129,9 +127,8 @@ export class DatasetWizardComponent {
if (this.isNew) {
this.datasetWizardService.getDefinition(this.formGroup.get("profile").get("id").value).subscribe(item => {
this.datasetWizardModel.datasetProfileDefinition = JsonSerializer.fromJSONObject(item,DatasetProfileDefinitionModel);
- //this.datasetProfileDefinitionModel = this.datasetWizardModel.datasetProfileDefinition;
- //this.form = this.datasetProfileDefinitionModel.buildForm();
-
+ this.datasetProfileDefinitionModel = this.datasetWizardModel.datasetProfileDefinition;
+ this.formGroup.addControl("datasetProfileDefinition",this.datasetProfileDefinitionModel.buildForm())
})
}
}
@@ -161,8 +158,8 @@ export class DatasetWizardComponent {
}
submit() {
- this.datasetWizardService.saveDataset(this.datasetWizardModel, this.formGroup.value).subscribe(data => {
- this.router.navigateByUrl("/datasets/" + this.datasetWizardModel.dmp.id);
+ this.datasetWizardService.saveDataset(this.formGroup.value, this.formGroup.get('datasetProfileDefinition').value).subscribe(data => {
+ this.router.navigateByUrl("/datasets/dmp/" + this.datasetWizardModel.dmp.id);
});
}
diff --git a/dmp-frontend/src/app/datasets/dataset.module.ts b/dmp-frontend/src/app/datasets/dataset.module.ts
new file mode 100644
index 000000000..86971904a
--- /dev/null
+++ b/dmp-frontend/src/app/datasets/dataset.module.ts
@@ -0,0 +1,60 @@
+import { RouterModule } from '@angular/router';
+import { TranslateHttpLoader } from '@ngx-translate/http-loader';
+import { DatasetService } from '../services/dataset/dataset.service';
+import { DynamicFormModule } from '../form/dynamic-form.module';
+import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core';
+import { DatasetWizardComponent } from './dataset-wizard/dataset-wizard.component';
+import { DatasetRoutes } from './dataset.routes';
+import { DatasetListingComponent } from './listing/dataset-listing.component';
+import { DatasetEditorComponent } from './editor/dataset-editor.component';
+import { CommonModule } from '@angular/common';
+import { HttpClient, HttpClientModule } from '@angular/common/http';
+import { NgModule } from '@angular/core';
+import { FormsModule, ReactiveFormsModule } from '@angular/forms';
+
+import { SharedModule } from '../shared/shared.module'
+@NgModule({
+ imports: [
+ CommonModule,
+ FormsModule,
+ HttpClientModule,
+ SharedModule,
+ RouterModule.forChild(DatasetRoutes),
+ ReactiveFormsModule,
+ DynamicFormModule,
+ TranslateModule.forRoot({
+ loader: {
+ provide: TranslateLoader,
+ useFactory: HttpLoaderFactory,
+ deps: [HttpClient]
+ }
+ }),
+ ],
+
+ declarations: [
+ DatasetListingComponent,
+ DatasetEditorComponent,
+ DatasetWizardComponent
+ ],
+
+ exports: [
+ DatasetListingComponent,
+ DatasetEditorComponent,
+ DatasetWizardComponent,
+ RouterModule
+ ],
+ providers: [
+ DatasetService
+ ]
+})
+
+export class DatasetModule {
+ constructor(private translate: TranslateService) {
+ translate.setDefaultLang('en');
+ translate.use('en');
+ }
+}
+
+export function HttpLoaderFactory(httpClient: HttpClient) {
+ return new TranslateHttpLoader(httpClient, 'assets/lang/', '.json');
+}
\ No newline at end of file
diff --git a/dmp-frontend/src/app/datasets/dataset.routes.ts b/dmp-frontend/src/app/datasets/dataset.routes.ts
new file mode 100644
index 000000000..cc67d3334
--- /dev/null
+++ b/dmp-frontend/src/app/datasets/dataset.routes.ts
@@ -0,0 +1,12 @@
+import { AuthGuard } from '../guards/auth.guard';
+import { DatasetWizardComponent } from './dataset-wizard/dataset-wizard.component';
+import { DatasetListingComponent } from './listing/dataset-listing.component';
+import { RouterModule, Routes } from '@angular/router';
+
+export const DatasetRoutes: Routes = [
+ { path: "new/:dmpId", component: DatasetWizardComponent, canActivate: [AuthGuard] },
+ { path: "edit/:id", component: DatasetWizardComponent, canActivate: [AuthGuard] },
+ { path: "new", component: DatasetWizardComponent, canActivate: [AuthGuard] },
+ { path: '', component: DatasetListingComponent, canActivate: [AuthGuard] },
+ { path: "dmp/:dmpId", component: DatasetListingComponent, canActivate: [AuthGuard] }
+];
diff --git a/dmp-frontend/src/app/datasets/dataset-listing.component.html b/dmp-frontend/src/app/datasets/listing/dataset-listing.component.html
similarity index 98%
rename from dmp-frontend/src/app/datasets/dataset-listing.component.html
rename to dmp-frontend/src/app/datasets/listing/dataset-listing.component.html
index 84a27c40f..fec878524 100644
--- a/dmp-frontend/src/app/datasets/dataset-listing.component.html
+++ b/dmp-frontend/src/app/datasets/listing/dataset-listing.component.html
@@ -88,7 +88,7 @@
-