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