From 853be683a8dc1529bfde10c503ec27884cee9be5 Mon Sep 17 00:00:00 2001 From: dtziotzios Date: Fri, 1 Feb 2019 10:29:00 +0200 Subject: [PATCH] Delete buttons LogIn Page Fix fix Multiplisity Ids fixVizibility to Child Items --- .../single-auto-complete-configuration.ts | 6 ++++-- .../single/single-auto-complete.component.ts | 2 +- ...ofile-editor-composite-field.component.html | 5 ++--- ...ofile-editor-composite-field.component.scss | 4 ++++ ...dataset-profile-editor-field.component.html | 12 ------------ .../dataset-profile-editor-field.component.ts | 3 +-- ...taset-profile-editor-section.component.html | 4 ++-- ...taset-profile-editor-section.component.scss | 3 +++ .../ui/auth/login/utilities/login.service.ts | 2 ++ .../form-composite-field.component.html | 18 +++++++++--------- .../form-composite-field.component.ts | 7 ++++--- .../form-field/form-field.component.html | 6 +++--- .../form-field/form-field.component.ts | 4 +++- .../form-section/form-section.component.html | 4 ++-- .../form-section/form-section.component.ts | 2 +- .../dataset-description-form.model.ts | 15 ++++++++------- 16 files changed, 49 insertions(+), 48 deletions(-) diff --git a/dmp-frontend/src/app/library/auto-complete/single/single-auto-complete-configuration.ts b/dmp-frontend/src/app/library/auto-complete/single/single-auto-complete-configuration.ts index b59a366fe..d90d89a58 100644 --- a/dmp-frontend/src/app/library/auto-complete/single/single-auto-complete-configuration.ts +++ b/dmp-frontend/src/app/library/auto-complete/single/single-auto-complete-configuration.ts @@ -9,9 +9,9 @@ export interface SingleAutoCompleteConfiguration { // Load and present items from start, without user query. Default: true. loadDataOnStart?: boolean; // Static or initial items. - initialItems?: (data?:any) => Observable; + initialItems?: (data?: any) => Observable; // Data retrieval function - filterFn?: (searchQuery: string, data?:any) => Observable; + filterFn?: (searchQuery: string, data?: any) => Observable; // Property formating for input displayFn?: (item: any) => string; // Property formating for dropdown @@ -22,4 +22,6 @@ export interface SingleAutoCompleteConfiguration { subtitleFn?: (item: any) => string; //Extra data passed to query function extraData?: any; + // Callback to intercept value assignment based on item selection + valueAssign?: (selectedItem: any) => any; } diff --git a/dmp-frontend/src/app/library/auto-complete/single/single-auto-complete.component.ts b/dmp-frontend/src/app/library/auto-complete/single/single-auto-complete.component.ts index e54d4c532..503aa31dc 100644 --- a/dmp-frontend/src/app/library/auto-complete/single/single-auto-complete.component.ts +++ b/dmp-frontend/src/app/library/auto-complete/single/single-auto-complete.component.ts @@ -146,7 +146,7 @@ export class SingleAutoCompleteComponent implements OnInit, MatFormFieldControl< } _optionSelected(event: MatAutocompleteSelectedEvent) { - this._setValue(event.option.value); + this._setValue(this.configuration.valueAssign ? this.configuration.valueAssign(event.option.value) : event.option.value); this.stateChanges.next(); this.optionSelected.emit(event.option.value); } diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.html index 54cabb532..7156cc2c9 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.html @@ -35,7 +35,6 @@ {{'GENERAL.VALIDATION.REQUIRED' | translate}} - @@ -51,7 +50,7 @@ [formControl]="this.form.get('extendedDescription')"> + [showOrdinal]="false" [indexPath]="indexPath + 'f' + 0">

{{'DATASET-PROFILE-EDITOR.STEPS.FORM.COMPOSITE-FIELD.SUB-FIELDS-TITLE' | @@ -61,7 +60,7 @@ {{i + 1}}. {{getFieldTile(field, i)}}
-
diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.scss b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.scss index 946679a44..a3ae9ca57 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.scss +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.scss @@ -1,3 +1,7 @@ .full-width{ width: 100%; +} + +.deleteBtn{ + margin-right:0.7em; } \ No newline at end of file diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field/dataset-profile-editor-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field/dataset-profile-editor-field.component.html index 17a738277..f63f48ffa 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field/dataset-profile-editor-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field/dataset-profile-editor-field.component.html @@ -35,18 +35,6 @@

-
- {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.MULTIPLICITY-CHECKBOX' - | translate}} - - - - - - -
diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field/dataset-profile-editor-field.component.ts b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field/dataset-profile-editor-field.component.ts index 0f4b7aa47..87089cfae 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field/dataset-profile-editor-field.component.ts +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field/dataset-profile-editor-field.component.ts @@ -22,7 +22,6 @@ import { RuleEditorModel } from '../../../admin/rule-editor-model'; export class DatasetProfileEditorFieldComponent extends BaseComponent implements OnInit { @Input() form: FormGroup; - @Input() showMultiplicity = true; @Input() showOrdinal = true; @Input() indexPath: string; validationTypeEnum = ValidationType; @@ -35,7 +34,7 @@ export class DatasetProfileEditorFieldComponent extends BaseComponent implements ngOnInit() { if (this.form.get('multiplicity')) { - if (this.form.get('multiplicity').value.min > 1 || this.form.get('multiplicity').value.max > 1) { + if (this.form.get('multiplicity').value.min > 1 && this.form.get('multiplicity').value.max > 1) { this.isFieldMultiplicityEnabled = true; } } diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/section/dataset-profile-editor-section.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/section/dataset-profile-editor-section.component.html index 1f2b47497..7b3c9d852 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/section/dataset-profile-editor-section.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/section/dataset-profile-editor-section.component.html @@ -34,7 +34,7 @@
{{i + 1}}. {{getFieldTile(fieldControl, i)}} - @@ -51,7 +51,7 @@ {{i + 1}}. {{form.get('sections').get(''+i).get('title').value}}
-
diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/section/dataset-profile-editor-section.component.scss b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/section/dataset-profile-editor-section.component.scss index 8bd8d916e..254cb1289 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/section/dataset-profile-editor-section.component.scss +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/section/dataset-profile-editor-section.component.scss @@ -3,3 +3,6 @@ margin-bottom: 1em; } } +.deleteBtn{ + margin-right:0.7em; +} \ No newline at end of file diff --git a/dmp-frontend/src/app/ui/auth/login/utilities/login.service.ts b/dmp-frontend/src/app/ui/auth/login/utilities/login.service.ts index 8f925dd2b..93d5db2be 100644 --- a/dmp-frontend/src/app/ui/auth/login/utilities/login.service.ts +++ b/dmp-frontend/src/app/ui/auth/login/utilities/login.service.ts @@ -43,10 +43,12 @@ export class LoginService extends BaseService { public onLogInSuccess(loginResponse: any, returnUrl: string) { + this.zone.run(() => { this.uiNotificationService.snackBarNotification(this.language.instant('GENERAL.SNACK-BAR.SUCCESSFUL-LOGIN'), SnackBarNotificationLevel.Success); if (this.authService.current().culture) { this.cultureService.cultureSelected(this.authService.current().culture); } const redirectUrl = returnUrl || '/'; this.router.navigate([redirectUrl]); + }); } public onLogInError(errorMessage: string) { diff --git a/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-composite-field/form-composite-field.component.html b/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-composite-field/form-composite-field.component.html index 1421d0615..4e522118b 100644 --- a/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-composite-field/form-composite-field.component.html +++ b/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-composite-field/form-composite-field.component.html @@ -4,25 +4,25 @@
-
{{form.get('numbering').value}} +
{{form.get('numbering').value}} {{form.get('title').value}}
-
{{form.get('description').value}}
-
+
{{form.get('description').value}}
+
{{form.get('extendedDescription').value}}
- +
-
{{form.get('numbering').value}} +
{{form.get('numbering').value}} {{form.get('title').value}}
-
{{form.get('description').value}}
-
+
{{form.get('description').value}}
+
{{form.get('extendedDescription').value}}
@@ -34,10 +34,10 @@
- +
- +
diff --git a/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-composite-field/form-composite-field.component.ts b/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-composite-field/form-composite-field.component.ts index ce4f46081..09ec6123f 100644 --- a/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-composite-field/form-composite-field.component.ts +++ b/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-composite-field/form-composite-field.component.ts @@ -12,6 +12,7 @@ export class FormCompositeFieldComponent { @Input() datasetProfileId: String; @Input() form: FormGroup; + @Input() isChild: Boolean =false; constructor( public visibilityRulesService: VisibilityRulesService, @@ -23,9 +24,9 @@ export class FormCompositeFieldComponent { } addMultipleField(fieldIndex: number) { - // const field: DatasetDescriptionFieldEditorModel = this.compositeField.fields[fieldIndex].cloneForMultiplicity(fieldIndex, ''); - // this.compositeField.fields[fieldIndex].multiplicityItems.push(field); - // ((this.form.get('fields').get('' + fieldIndex).get('multiplicityItems'))).push(field.buildForm()); + const compositeFieldToBeCloned = (this.form.get('compositeFields').get('' + fieldIndex) as FormGroup).getRawValue(); + const compositeField: DatasetDescriptionCompositeFieldEditorModel = new DatasetDescriptionCompositeFieldEditorModel().cloneForMultiplicity(compositeFieldToBeCloned); + ((this.form.get('compositeFields').get('' + fieldIndex).get('multiplicityItems'))).push(compositeField.buildForm()); } // markForConsideration() { diff --git a/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-field/form-field.component.html b/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-field/form-field.component.html index ca68f2f8d..e5b860d6f 100644 --- a/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-field/form-field.component.html +++ b/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-field/form-field.component.html @@ -1,10 +1,10 @@
-
{{this.form.get('title').value}}
+
{{this.form.get('title').value}}
-
{{this.form.get('description').value}}
-
{{this.form.get('extendedDescription').value}}
+
{{this.form.get('description').value}}
+
{{this.form.get('extendedDescription').value}}
diff --git a/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-field/form-field.component.ts b/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-field/form-field.component.ts index b2f4d2696..1dcf718e6 100644 --- a/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-field/form-field.component.ts +++ b/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-field/form-field.component.ts @@ -20,6 +20,7 @@ export class FormFieldComponent extends BaseComponent implements OnInit { // @Input() field: Field; @Input() form: FormGroup; @Input() datasetProfileId: String; + @Input() isChild: Boolean =false; // change: Subscription; // trackByFn = (index, item) => item ? item['id'] : null; @@ -42,7 +43,8 @@ export class FormFieldComponent extends BaseComponent implements OnInit { filterFn: this.searchFromAutocomplete.bind(this), initialItems: (extraData) => this.searchFromAutocomplete(''), displayFn: (item) => item['label'], - titleFn: (item) => item['label'] + titleFn: (item) => item['label'], + valueAssign: (item) => JSON.stringify(item) }; } diff --git a/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-section/form-section.component.html b/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-section/form-section.component.html index e70f96ad6..d79b131b8 100644 --- a/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-section/form-section.component.html +++ b/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-section/form-section.component.html @@ -20,11 +20,11 @@ Add one more fieldset +
- +
+ [form]="multipleCompositeFieldFormGroup" [datasetProfileId]="datasetProfileId" [isChild]="true"> diff --git a/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-section/form-section.component.ts b/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-section/form-section.component.ts index 597477779..e74cbf4c1 100644 --- a/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-section/form-section.component.ts +++ b/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-section/form-section.component.ts @@ -35,7 +35,7 @@ export class FormSectionComponent implements OnInit { addMultipleField(fieldsetIndex: number) { const compositeFieldToBeCloned = (this.form.get('compositeFields').get('' + fieldsetIndex) as FormGroup).getRawValue(); - const compositeField: DatasetDescriptionCompositeFieldEditorModel = new DatasetDescriptionCompositeFieldEditorModel().cloneForMultiplicity(compositeFieldToBeCloned, fieldsetIndex); + const compositeField: DatasetDescriptionCompositeFieldEditorModel = new DatasetDescriptionCompositeFieldEditorModel().cloneForMultiplicity(compositeFieldToBeCloned); ((this.form.get('compositeFields').get('' + fieldsetIndex).get('multiplicityItems'))).push(compositeField.buildForm()); } diff --git a/dmp-frontend/src/app/ui/misc/dataset-description-form/dataset-description-form.model.ts b/dmp-frontend/src/app/ui/misc/dataset-description-form/dataset-description-form.model.ts index 2405b99ba..a0ddde382 100644 --- a/dmp-frontend/src/app/ui/misc/dataset-description-form/dataset-description-form.model.ts +++ b/dmp-frontend/src/app/ui/misc/dataset-description-form/dataset-description-form.model.ts @@ -10,6 +10,7 @@ import { Page } from "../../../core/model/dataset-profile-definition/page"; import { Rule } from "../../../core/model/dataset-profile-definition/rule"; import { Section } from "../../../core/model/dataset-profile-definition/section"; import { ViewStyle } from "../../../core/model/dataset-profile-definition/view-style"; +import { Guid } from "../../../common/types/guid"; export class DatasetDescriptionFormEditorModel extends BaseFormModel { @@ -108,7 +109,7 @@ export class DatasetDescriptionSectionEditorModel extends BaseFormModel { formGroup.addControl('description', new FormControl({ value: this.description, disabled: true })); formGroup.addControl('numbering', new FormControl({ value: this.numbering, disabled: true })); formGroup.addControl('title', new FormControl({ value: this.title, disabled: true })); - formGroup.addControl('id', new FormControl({ value: this.title, disabled: true })); + formGroup.addControl('id', new FormControl({ value: this.title, disabled: false })); return formGroup; } } @@ -183,11 +184,11 @@ export class DatasetDescriptionCompositeFieldEditorModel extends BaseFormModel { // return newItem; // } - cloneForMultiplicity(item: CompositeField, index: number): DatasetDescriptionCompositeFieldEditorModel { + cloneForMultiplicity(item: CompositeField): DatasetDescriptionCompositeFieldEditorModel { const newItem: DatasetDescriptionCompositeFieldEditorModel = new DatasetDescriptionCompositeFieldEditorModel(); - newItem.id = 'multiple_' + item.id + '_' + index; + newItem.id = 'multiple_' + item.id + '_' + Guid.create(); item.fields.forEach((field, index) => { - newItem.fields.push(new DatasetDescriptionFieldEditorModel().cloneForMultiplicity(field, index, newItem.id + '_')); + newItem.fields.push(new DatasetDescriptionFieldEditorModel().cloneForMultiplicity(field, newItem.id + '_')); }); newItem.ordinal = item.ordinal; return newItem; @@ -240,7 +241,7 @@ export class DatasetDescriptionFieldEditorModel extends BaseFormModel { const formGroup = this.formBuilder.group({ value: [this.value, this.validationRequired === true ? Validators.required : null], - id: [{ value: this.id, disabled: true }], + id: [{ value: this.id, disabled: false }], viewStyle: [{ value: this.viewStyle, disabled: true }], data: [{ value: this.data, disabled: true }], validationRequired: [{ value: this.validationRequired, disabled: true }], @@ -274,10 +275,10 @@ export class DatasetDescriptionFieldEditorModel extends BaseFormModel { // return newItem; // } - cloneForMultiplicity(item: Field, index: number, idPath: string): DatasetDescriptionFieldEditorModel { + cloneForMultiplicity(item: Field,idPath: string): DatasetDescriptionFieldEditorModel { const newItem: DatasetDescriptionFieldEditorModel = new DatasetDescriptionFieldEditorModel(); - newItem.id = idPath ? idPath + index : 'multiple_' + item.id + '_' + index; + newItem.id = idPath ? idPath + Guid.create() : 'multiple_' + item.id + '_' + Guid.create(); newItem.title = item.title; newItem.description = item.description; newItem.extendedDescription = item.extendedDescription;