Skip to content

Commit

Permalink
feat(pmp): pr changes
Browse files Browse the repository at this point in the history
refs #107
  • Loading branch information
ABartoszko committed May 7, 2020
1 parent e37ffd5 commit 68e49cb
Show file tree
Hide file tree
Showing 8 changed files with 57 additions and 29 deletions.
1 change: 1 addition & 0 deletions apps/pmp-web/src/assets/styles/_global.scss
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
@import 'components/add-edit-repository-dialog';
@import 'components/content-loader';
@import 'components/spinner-wrapper';
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.add-edit-repository-dialog {
width: 400px;
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
import { ChangeDetectionStrategy, Component, Inject, OnDestroy, OnInit } from '@angular/core';
import { RepositoryFacade } from '@pimp-my-pr/pmp-web/repository/data-access';
import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';
import { MAT_DIALOG_DATA, MatDialogRef, MatSnackBar } from '@angular/material';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';
import { TimeUnit } from '@pimp-my-pr/shared/domain';
import { untilDestroyed } from 'ngx-take-until-destroy';
import { AddEditRepositoryDialogData, Repository } from '@pimp-my-pr/pmp-web/repository/domain';
import { SnackbarService } from '@pimp-my-pr/pmp-web/shared/domain';
import { AddEditRepositoryDialogService } from './add-edit-repository-dialog.service';

@Component({
selector: 'pmp-add-repository-dialog',
Expand All @@ -27,7 +29,8 @@ export class AddEditRepositoryDialogComponent implements OnInit, OnDestroy {
private repoFacade: RepositoryFacade,
private fb: FormBuilder,
private dialogRef: MatDialogRef<AddEditRepositoryDialogComponent>,
private snackBar: MatSnackBar
private snackbarService: SnackbarService,
private addEditRepositoryDialogService: AddEditRepositoryDialogService
) {
if (!!data) {
this.dialogTitle = data.dialogTitle;
Expand All @@ -45,14 +48,10 @@ export class AddEditRepositoryDialogComponent implements OnInit, OnDestroy {
}

initForm(): void {
this.form = this.fb.group({
repositoryUrl: ['', this.isEditMode ? null : Validators.required],
maxLines: [this.repositoryToEdit ? this.repositoryToEdit.maxLines : null],
maxWaitingTimeDefinition: this.fb.group({
maxWaitingTime: [this.repositoryToEdit ? this.repositoryToEdit.maxWaitingTime : ''],
timeUnit: [{ value: '' }]
})
});
this.form = this.addEditRepositoryDialogService.initForm(
this.isEditMode,
this.repositoryToEdit
);
this.form
.get('maxWaitingTimeDefinition')
.get('timeUnit')
Expand Down Expand Up @@ -107,17 +106,11 @@ export class AddEditRepositoryDialogComponent implements OnInit, OnDestroy {
})
.subscribe(
() => {
// TODO: move to separate lib with service e.g SnackbarService
this.snackBar.open('Repository has been added', '', {
duration: 2000
});
this.snackbarService.open('Repository has been added');
this.dialogRef.close();
},
error => {
// TODO: move to separate lib with service e.g SnackbarService
this.snackBar.open('Something went wrong. Repository was not added', '', {
duration: 2000
});
this.snackbarService.open('Something went wrong. Repository was not added');
}
);
}
Expand All @@ -131,17 +124,11 @@ export class AddEditRepositoryDialogComponent implements OnInit, OnDestroy {
})
.subscribe(
() => {
// TODO: move to separate lib with service e.g SnackbarService
this.snackBar.open('Repository has been updated', '', {
duration: 2000
});
this.snackbarService.open('Repository has been updated');
this.dialogRef.close();
},
error => {
// TODO: move to separate lib with service e.g SnackbarService
this.snackBar.open('Something went wrong. Repository was not updated', '', {
duration: 2000
});
this.snackbarService.open('Something went wrong. Repository was not updated');
}
);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { Injectable } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { Repository } from '@pimp-my-pr/pmp-web/repository/domain';

@Injectable()
export class AddEditRepositoryDialogService {
constructor(private fb: FormBuilder) {}

initForm(isEditMode: boolean, repositoryToEdit: Repository): FormGroup {
return this.fb.group({
repositoryUrl: ['', isEditMode ? null : Validators.required],
maxLines: [repositoryToEdit ? repositoryToEdit.maxLines : null],
maxWaitingTimeDefinition: this.fb.group({
maxWaitingTime: [repositoryToEdit ? repositoryToEdit.maxWaitingTime : ''],
timeUnit: [{ value: '' }]
})
});
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ export class RepositorySettingsComponent {

onEditRepository(repository: Repository): void {
this.matDialog.open(AddEditRepositoryDialogComponent, {
width: '350px', // Consider better way of setting width of dialogs,
panelClass: 'add-edit-repository-dialog',
data: {
submitMsg: 'Update',
dialogTitle: `Edit ${repository.name} repository`,
Expand All @@ -44,7 +44,7 @@ export class RepositorySettingsComponent {

openAddRepoDialog(): void {
this.matDialog.open(AddEditRepositoryDialogComponent, {
width: '350px', // Consider better way of setting width of dialogs,
panelClass: 'add-edit-repository-dialog',
data: {
submitMsg: 'Add',
dialogTitle: 'Add repository',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ import { ReactiveFormsModule } from '@angular/forms';
import { AddEditRepositoryDialogComponent } from './containers/add-edit-repository-dialog/add-edit-repository-dialog.component';
import { ValidationMessagesModule } from '@valueadd/validation-messages';
import { PmpWebSharedUiGenericDialogModule } from '@pimp-my-pr/pmp-web/shared/ui-generic-dialog';
import { SnackbarService } from '@pimp-my-pr/pmp-web/shared/domain';
import { AddEditRepositoryDialogService } from './containers/add-edit-repository-dialog/add-edit-repository-dialog.service';

@NgModule({
imports: [
Expand All @@ -49,6 +51,7 @@ import { PmpWebSharedUiGenericDialogModule } from '@pimp-my-pr/pmp-web/shared/ui
PmpWebSharedUiGenericDialogModule
],
declarations: [RepositorySettingsComponent, AddEditRepositoryDialogComponent],
entryComponents: [AddEditRepositoryDialogComponent]
entryComponents: [AddEditRepositoryDialogComponent],
providers: [AddEditRepositoryDialogService, SnackbarService]
})
export class PmpWebRepositoryRepositorySettingsFeatureModule {}
2 changes: 2 additions & 0 deletions libs/pmp-web/shared/domain/src/index.ts
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
export * from './lib/payloads/generic-dialog.payload';

export * from './lib/services/snackbar.service';
13 changes: 13 additions & 0 deletions libs/pmp-web/shared/domain/src/lib/services/snackbar.service.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { Injectable } from '@angular/core';
import { MatSnackBar, MatSnackBarRef, SimpleSnackBar } from '@angular/material';

@Injectable()
export class SnackbarService {
constructor(private snackBar: MatSnackBar) {}

open(message: string, action?: string): MatSnackBarRef<SimpleSnackBar> {
return this.snackBar.open(message, action || 'Ok', {
duration: 2000
});
}
}

0 comments on commit 68e49cb

Please sign in to comment.