Skip to content

Commit

Permalink
Merged in feature/SHIBUI-331 (pull request #157)
Browse files Browse the repository at this point in the history
SHIBUI-331 Fixed issue with modal opening up always

Approved-by: Shibui Jenkins <shibui.jenkins@gmail.com>
Approved-by: Ryan Mathis <rmathis@unicon.net>
  • Loading branch information
rmathis committed Aug 14, 2018
2 parents 10c1241 + dcf2d24 commit b264e32
Showing 1 changed file with 12 additions and 4 deletions.
16 changes: 12 additions & 4 deletions ui/src/app/metadata/provider/container/provider-edit.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import { NgbModal } from '../../../../../node_modules/@ng-bootstrap/ng-bootstrap
import { UnsavedDialogComponent } from '../../resolver/component/unsaved-dialog.component';
import { UnsavedProviderComponent } from '../component/unsaved-provider.dialog';
import { CanComponentDeactivate } from '../../../core/service/can-deactivate.guard';
import { DifferentialService } from '../../../core/service/differential.service';

@Component({
selector: 'provider-edit',
Expand All @@ -34,14 +35,16 @@ export class ProviderEditComponent implements OnDestroy, CanComponentDeactivate
status$: Observable<any>;

latest: MetadataProvider;
provider: MetadataProvider;

formats = NAV_FORMATS;

constructor(
private store: Store<fromProvider.ProviderState>,
private router: Router,
private route: ActivatedRoute,
private modalService: NgbModal
private modalService: NgbModal,
private diffService: DifferentialService
) {
this.provider$ = this.store.select(fromProvider.getSelectedProvider).pipe(skipWhile(d => !d));
this.definition$ = this.store.select(fromWizard.getWizardDefinition).pipe(skipWhile(d => !d));
Expand Down Expand Up @@ -70,6 +73,7 @@ export class ProviderEditComponent implements OnDestroy, CanComponentDeactivate
}
});

this.provider$.subscribe(p => this.provider = p);
this.store.select(fromProvider.getEntityChanges).subscribe(changes => this.latest = changes);
}

Expand Down Expand Up @@ -105,8 +109,11 @@ export class ProviderEditComponent implements OnDestroy, CanComponentDeactivate
currentState: RouterStateSnapshot,
nextState: RouterStateSnapshot
): Observable<boolean> {
if (nextState.url.match('edit')) { return of(true); }
if (Object.keys({ ...this.latest }).length > 0) {
if (nextState.url.match('edit')) {
return of(true);
}
const diff = this.diffService.updatedDiff(this.provider, this.latest);
if (diff && Object.keys(diff).length > 0) {
let modal = this.modalService.open(UnsavedProviderComponent);
modal.result.then(
() => {
Expand All @@ -115,8 +122,9 @@ export class ProviderEditComponent implements OnDestroy, CanComponentDeactivate
},
() => console.warn('denied')
);
return this.store.select(fromProvider.getEntityIsSaved);
}
return this.store.select(fromProvider.getEntityIsSaved);
return of(true);
}
}

0 comments on commit b264e32

Please sign in to comment.