Merge branch 'DEVELOP_FE' of ssh://172.18.22.160:29418/oK/PlannedGridMeasures/Frontend into DEVELOP_FE
diff --git a/src/app/pages/grid-measure-detail-header/grid-measure-detail-header.component.html b/src/app/pages/grid-measure-detail-header/grid-measure-detail-header.component.html
index 687e824..54de233 100644
--- a/src/app/pages/grid-measure-detail-header/grid-measure-detail-header.component.html
+++ b/src/app/pages/grid-measure-detail-header/grid-measure-detail-header.component.html
@@ -59,7 +59,7 @@
<label class="form-field-label" for="titleControl">Titel der Maßnahme</label>
<input maxlength="256" placeholder="Bitte Titel der Maßnahme ausfüllen" [required]="true" type="text" name="title"
id="titleControl" [(ngModel)]="gridMeasureDetail.title" #gmTitle (keyup)="onGridMeasureTitleChange(gmTitle.value)"
- class="form-control" />
+ (blur)="onGridMeasureTitleBlur(gmTitle.value)" class="form-control" />
</div>
</div>
diff --git a/src/app/pages/grid-measure-detail-header/grid-measure-detail-header.component.spec.ts b/src/app/pages/grid-measure-detail-header/grid-measure-detail-header.component.spec.ts
index c942e0b..9d1b6e3 100644
--- a/src/app/pages/grid-measure-detail-header/grid-measure-detail-header.component.spec.ts
+++ b/src/app/pages/grid-measure-detail-header/grid-measure-detail-header.component.spec.ts
@@ -63,7 +63,6 @@
sessionContext.setCurrUser(USERS[0]);
sessionContext.setAllUsers(USERS);
component = fixture.componentInstance;
- // component.gridMeasureDetail.branchId = null;
fixture.detectChanges();
});
@@ -73,11 +72,8 @@
it('should enable save button after filling required field', () => {
spyOn(component, 'onGridMeasureTitleChange').and.callThrough();
-
const newVal = 'TitleTest';
component.gridMeasureDetail.title = newVal;
-
- // Todo call the change Event over dispatcher for Example not the method itself
component.onGridMeasureTitleChange(newVal);
fixture.detectChanges();
@@ -93,11 +89,8 @@
it('should disable save button after cleaning required field', () => {
spyOn(component, 'onGridMeasureTitleChange').and.callThrough();
-
const newVal = '';
component.gridMeasureDetail.title = newVal;
-
- // Todo call the change Event over dispatcher for Example not the method itself
component.onGridMeasureTitleChange(newVal);
fixture.detectChanges();
@@ -109,6 +102,22 @@
});
+ it('should set single grid measure title on blur if empty', () => {
+ spyOn(component, 'onGridMeasureTitleBlur').and.callThrough();
+
+ const newVal = '';
+ component.gridMeasureDetail.title = newVal;
+
+ component.onGridMeasureTitleBlur(newVal);
+ fixture.detectChanges();
+
+ fixture.whenRenderingDone().then(() => {
+ fixture.detectChanges();
+ expect(component.onGridMeasureTitleBlur).toHaveBeenCalled();
+ });
+
+ });
+
it('should set form to readonly', () => {
component.readOnlyForm = false;
fixture.detectChanges();
diff --git a/src/app/pages/grid-measure-detail-header/grid-measure-detail-header.component.ts b/src/app/pages/grid-measure-detail-header/grid-measure-detail-header.component.ts
index acadea5..dee69c1 100644
--- a/src/app/pages/grid-measure-detail-header/grid-measure-detail-header.component.ts
+++ b/src/app/pages/grid-measure-detail-header/grid-measure-detail-header.component.ts
@@ -33,7 +33,7 @@
@Input() gridMeasureDetail: GridMeasure = new GridMeasure();
@Input() isReadOnlyForm: boolean;
@Output() isValidForSave: EventEmitter<boolean> = new EventEmitter<boolean>();
-
+ @Output() titleChange: EventEmitter<string> = new EventEmitter<string>();
@ViewChild('gridMeasureDetailHeaderForm') gridMeasureDetailHeaderForm: FormGroup;
@ViewChild('gridMeasureDetailHeaderContainer') gridMeasureDetailHeaderContainer: ElementRef;
@@ -90,6 +90,10 @@
}
}
+ onGridMeasureTitleBlur(value) {
+ this.titleChange.emit(value);
+ }
+
ngOnChanges(changes: SimpleChanges): void {
if (changes['isReadOnlyForm']) {
diff --git a/src/app/pages/grid-measure-detail/grid-measure-detail.component.html b/src/app/pages/grid-measure-detail/grid-measure-detail.component.html
index 0239997..e8bd55c 100644
--- a/src/app/pages/grid-measure-detail/grid-measure-detail.component.html
+++ b/src/app/pages/grid-measure-detail/grid-measure-detail.component.html
@@ -34,8 +34,8 @@
</div>
<div id="collapse1" class="panel-collapse collapse in">
<div class="panel-body">
- <app-grid-measure-detail-header (isValidForSave)="this.validForSave = $event;" [isReadOnlyForm]="readOnlyForm"
- [id]="id" [showSpinnerGrid]="showSpinner" [gridMeasureDetail]="gridMeasureDetail">
+ <app-grid-measure-detail-header (titleChange)="setSingleGridMeasureTitle()" (isValidForSave)="this.validForSave = $event;"
+ [isReadOnlyForm]="readOnlyForm" [id]="id" [showSpinnerGrid]="showSpinner" [gridMeasureDetail]="gridMeasureDetail">
</app-grid-measure-detail-header>
</div>
</div>
diff --git a/src/app/pages/grid-measure-detail/grid-measure-detail.component.ts b/src/app/pages/grid-measure-detail/grid-measure-detail.component.ts
index e6f3464..ab29edc 100644
--- a/src/app/pages/grid-measure-detail/grid-measure-detail.component.ts
+++ b/src/app/pages/grid-measure-detail/grid-measure-detail.component.ts
@@ -370,7 +370,7 @@
this.gridMeasureDetail.listSingleGridmeasures.push(singleGM);
this.currentSingleGridMeasure = singleGM;
Util.showSingleGridmeasureTab(singleGM.sortorder);
- this.setSingleGridMeasureTitle(singleGM);
+ this.setSingleGridMeasureTitle();
}
}
@@ -426,12 +426,12 @@
if (singleGridmeasure !== this.currentSingleGridMeasure) {
this.currentSingleGridMeasure = singleGridmeasure;
}
- this.setSingleGridMeasureTitle(singleGridmeasure);
+ this.setSingleGridMeasureTitle();
}
- setSingleGridMeasureTitle(singleGridmeasure: SingleGridMeasure) {
- if (!singleGridmeasure.title) {
- singleGridmeasure.title = this.gridMeasureDetail.title;
+ setSingleGridMeasureTitle() {
+ if (!this.currentSingleGridMeasure.title) {
+ this.currentSingleGridMeasure.title = this.gridMeasureDetail.title;
}
}