TSK-1485: implement save all 3 components in save button
This commit is contained in:
parent
efd2d662b8
commit
2a9ffa8a80
|
@ -10,7 +10,7 @@ import {
|
|||
ViewChildren
|
||||
} from '@angular/core';
|
||||
import { Observable, Subject } from 'rxjs';
|
||||
import { Select, Store } from '@ngxs/store';
|
||||
import { Actions, ofActionCompleted, Select, Store } from '@ngxs/store';
|
||||
import { FormArray, FormBuilder, Validators } from '@angular/forms';
|
||||
|
||||
import { Workbasket } from 'app/shared/models/workbasket';
|
||||
|
@ -19,20 +19,20 @@ import { WorkbasketAccessItemsRepresentation } from 'app/shared/models/workbaske
|
|||
import { ACTION } from 'app/shared/models/action';
|
||||
|
||||
import { SavingInformation, SavingWorkbasketService } from 'app/administration/services/saving-workbaskets.service';
|
||||
import { WorkbasketService } from 'app/shared/services/workbasket/workbasket.service';
|
||||
import { RequestInProgressService } from 'app/shared/services/request-in-progress/request-in-progress.service';
|
||||
import { highlight } from 'app/shared/animations/validation.animation';
|
||||
import { FormsValidatorService } from 'app/shared/services/forms-validator/forms-validator.service';
|
||||
import { AccessIdDefinition } from 'app/shared/models/access-id';
|
||||
import { EngineConfigurationSelectors } from 'app/shared/store/engine-configuration-store/engine-configuration.selectors';
|
||||
import { filter, take, takeUntil } from 'rxjs/operators';
|
||||
import { filter, takeUntil } from 'rxjs/operators';
|
||||
import { NOTIFICATION_TYPES } from '../../../shared/models/notifications';
|
||||
import { NotificationService } from '../../../shared/services/notifications/notification.service';
|
||||
import { AccessItemsCustomisation, CustomField, getCustomFields } from '../../../shared/models/customisation';
|
||||
import {
|
||||
GetWorkbasketAccessItems,
|
||||
OnButtonPressed,
|
||||
UpdateWorkbasketAccessItems
|
||||
UpdateWorkbasketAccessItems,
|
||||
UpdateWorkbasket
|
||||
} from '../../../shared/store/workbasket-store/workbasket.actions';
|
||||
import { WorkbasketSelectors } from '../../../shared/store/workbasket-store/workbasket.selectors';
|
||||
import { WorkbasketComponent } from '../../models/workbasket-component';
|
||||
|
@ -88,7 +88,8 @@ export class WorkbasketAccessItemsComponent implements OnInit, OnChanges, OnDest
|
|||
private formBuilder: FormBuilder,
|
||||
public formsValidatorService: FormsValidatorService,
|
||||
private notificationsService: NotificationService,
|
||||
private store: Store
|
||||
private store: Store,
|
||||
private ngxsActions$: Actions
|
||||
) {}
|
||||
|
||||
get accessItemsGroups(): FormArray {
|
||||
|
@ -107,25 +108,21 @@ export class WorkbasketAccessItemsComponent implements OnInit, OnChanges, OnDest
|
|||
}
|
||||
});
|
||||
|
||||
this.ngxsActions$.pipe(ofActionCompleted(UpdateWorkbasket), takeUntil(this.destroy$)).subscribe(() => {
|
||||
this.onSubmit();
|
||||
});
|
||||
|
||||
this.buttonAction$
|
||||
.pipe(takeUntil(this.destroy$))
|
||||
.pipe(filter((buttonAction) => typeof buttonAction !== 'undefined'))
|
||||
.subscribe((button) => {
|
||||
this.selectedComponent$
|
||||
.pipe(take(1))
|
||||
.pipe(filter((component) => component === WorkbasketComponent.ACCESS_ITEMS))
|
||||
.subscribe((component) => {
|
||||
switch (button) {
|
||||
case ButtonAction.SAVE:
|
||||
this.onSubmit();
|
||||
break;
|
||||
case ButtonAction.UNDO:
|
||||
this.clear();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
});
|
||||
switch (button) {
|
||||
case ButtonAction.UNDO:
|
||||
this.clear();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -9,14 +9,15 @@ import { ACTION } from 'app/shared/models/action';
|
|||
import { WorkbasketService } from 'app/shared/services/workbasket/workbasket.service';
|
||||
import { SavingWorkbasketService, SavingInformation } from 'app/administration/services/saving-workbaskets.service';
|
||||
import { Page } from 'app/shared/models/page';
|
||||
import { Select, Store } from '@ngxs/store';
|
||||
import { Actions, ofActionCompleted, Select, Store } from '@ngxs/store';
|
||||
import { filter, takeUntil } from 'rxjs/operators';
|
||||
import { NOTIFICATION_TYPES } from '../../../shared/models/notifications';
|
||||
import { NotificationService } from '../../../shared/services/notifications/notification.service';
|
||||
import {
|
||||
GetAvailableDistributionTargets,
|
||||
GetWorkbasketDistributionTargets,
|
||||
UpdateWorkbasketDistributionTargets
|
||||
UpdateWorkbasketDistributionTargets,
|
||||
UpdateWorkbasketAccessItems
|
||||
} from '../../../shared/store/workbasket-store/workbasket.actions';
|
||||
import { WorkbasketSelectors } from '../../../shared/store/workbasket-store/workbasket.selectors';
|
||||
import { ButtonAction } from '../../models/button-action';
|
||||
|
@ -82,7 +83,9 @@ export class WorkbasketDistributionTargetsComponent implements OnInit, OnDestroy
|
|||
private workbasketService: WorkbasketService,
|
||||
private savingWorkbaskets: SavingWorkbasketService,
|
||||
private notificationsService: NotificationService,
|
||||
private store: Store
|
||||
private store: Store,
|
||||
public matDialog: MatDialog,
|
||||
private ngxsActions$: Actions
|
||||
) {}
|
||||
|
||||
/**
|
||||
|
@ -126,14 +129,16 @@ export class WorkbasketDistributionTargetsComponent implements OnInit, OnDestroy
|
|||
this.getWorkbaskets();
|
||||
}
|
||||
});
|
||||
|
||||
this.ngxsActions$.pipe(ofActionCompleted(UpdateWorkbasketAccessItems), takeUntil(this.destroy$)).subscribe(() => {
|
||||
this.onSave();
|
||||
});
|
||||
|
||||
this.buttonAction$
|
||||
.pipe(takeUntil(this.destroy$))
|
||||
.pipe(filter((buttonAction) => typeof buttonAction !== 'undefined'))
|
||||
.subscribe((button) => {
|
||||
switch (button) {
|
||||
case ButtonAction.SAVE:
|
||||
this.onSave();
|
||||
break;
|
||||
case ButtonAction.UNDO:
|
||||
this.onClear();
|
||||
break;
|
||||
|
|
|
@ -9,7 +9,7 @@ import { SavingInformation, SavingWorkbasketService } from 'app/administration/s
|
|||
import { WorkbasketService } from 'app/shared/services/workbasket/workbasket.service';
|
||||
import { RequestInProgressService } from 'app/shared/services/request-in-progress/request-in-progress.service';
|
||||
import { FormsValidatorService } from 'app/shared/services/forms-validator/forms-validator.service';
|
||||
import { filter, map, take, takeUntil } from 'rxjs/operators';
|
||||
import { filter, map, takeUntil } from 'rxjs/operators';
|
||||
import { EngineConfigurationSelectors } from 'app/shared/store/engine-configuration-store/engine-configuration.selectors';
|
||||
import { NOTIFICATION_TYPES } from '../../../shared/models/notifications';
|
||||
import { NotificationService } from '../../../shared/services/notifications/notification.service';
|
||||
|
@ -102,30 +102,25 @@ export class WorkbasketInformationComponent implements OnInit, OnChanges, OnDest
|
|||
.pipe(takeUntil(this.destroy$))
|
||||
.pipe(filter((buttonAction) => typeof buttonAction !== 'undefined'))
|
||||
.subscribe((button) => {
|
||||
this.selectedComponent$
|
||||
.pipe(take(1))
|
||||
.pipe(filter((component) => component === WorkbasketComponent.INFORMATION))
|
||||
.subscribe((component) => {
|
||||
switch (button) {
|
||||
case ButtonAction.SAVE:
|
||||
this.onSave();
|
||||
break;
|
||||
case ButtonAction.UNDO:
|
||||
this.onUndo();
|
||||
break;
|
||||
case ButtonAction.COPY:
|
||||
this.copyWorkbasket();
|
||||
break;
|
||||
case ButtonAction.REMOVE_AS_DISTRIBUTION_TARGETS:
|
||||
this.removeDistributionTargets();
|
||||
break;
|
||||
case ButtonAction.DELETE:
|
||||
this.removeWorkbasket();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
});
|
||||
switch (button) {
|
||||
case ButtonAction.SAVE:
|
||||
this.onSave();
|
||||
break;
|
||||
case ButtonAction.UNDO:
|
||||
this.onUndo();
|
||||
break;
|
||||
case ButtonAction.COPY:
|
||||
this.copyWorkbasket();
|
||||
break;
|
||||
case ButtonAction.REMOVE_AS_DISTRIBUTION_TARGETS:
|
||||
this.removeDistributionTargets();
|
||||
break;
|
||||
case ButtonAction.DELETE:
|
||||
this.removeWorkbasket();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue