Skip to content
Snippets Groups Projects
Commit a2ea92e7 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-4461 OZG-4489 impl menu item

parent 2a308b7c
No related branches found
No related tags found
No related merge requests found
Showing
with 367 additions and 10 deletions
...@@ -69,7 +69,9 @@ public enum CommandOrder { ...@@ -69,7 +69,9 @@ public enum CommandOrder {
PATCH_ATTACHED_ITEM(false, Type.VORGANG), PATCH_ATTACHED_ITEM(false, Type.VORGANG),
DELETE_ATTACHED_ITEM(false, Type.VORGANG), DELETE_ATTACHED_ITEM(false, Type.VORGANG),
CREATE_BESCHEID(false, Type.VORGANG); CREATE_BESCHEID(false, Type.VORGANG),
EXECUTE_PROCESSOR(false, Type.VORGANG);
enum Type { enum Type {
VORGANG, VORGANG_LIST, WIEDERVORLAGE, KOMMENTAR, FORWARDING, POSTFACH VORGANG, VORGANG_LIST, WIEDERVORLAGE, KOMMENTAR, FORWARDING, POSTFACH
......
...@@ -63,7 +63,7 @@ class VorgangWithEingangProzessor implements RepresentationModelProcessor<Entity ...@@ -63,7 +63,7 @@ class VorgangWithEingangProzessor implements RepresentationModelProcessor<Entity
static final LinkRelation REL_VORGANG_FORWARDING = LinkRelation.of("forwarding"); static final LinkRelation REL_VORGANG_FORWARDING = LinkRelation.of("forwarding");
static final LinkRelation REL_HISTORIE = LinkRelation.of("historie"); static final LinkRelation REL_HISTORIE = LinkRelation.of("historie");
static final LinkRelation REL_BESCHEID = LinkRelation.of("createBescheid"); static final LinkRelation REL_BESCHEID = LinkRelation.of("createBescheid");
static final LinkRelation REL_EXECUTE_PROCESSOR = LinkRelation.of("executeProzessor"); static final LinkRelation REL_EXECUTE_PROCESSOR = LinkRelation.of("executeProcessor");
static final String REL_SEARCH_USER = "search-user-profiles"; static final String REL_SEARCH_USER = "search-user-profiles";
static final String USER_PROFILE_SEARCH_DELETED_PARAM = "deleted"; static final String USER_PROFILE_SEARCH_DELETED_PARAM = "deleted";
......
...@@ -184,7 +184,7 @@ class CommandModelAssemblerTest { ...@@ -184,7 +184,7 @@ class CommandModelAssemblerTest {
"WIEDERVORLAGE_WIEDEREROEFFNEN", "CREATE_KOMMENTAR", "EDIT_KOMMENTAR", "REDIRECT_VORGANG", "FORWARD_SUCCESSFULL", "WIEDERVORLAGE_WIEDEREROEFFNEN", "CREATE_KOMMENTAR", "EDIT_KOMMENTAR", "REDIRECT_VORGANG", "FORWARD_SUCCESSFULL",
"FORWARD_FAILED", "ASSIGN_USER", "SEND_POSTFACH_MAIL", "SEND_POSTFACH_NACHRICHT", "RESEND_POSTFACH_MAIL", "CREATE_ATTACHED_ITEM", "FORWARD_FAILED", "ASSIGN_USER", "SEND_POSTFACH_MAIL", "SEND_POSTFACH_NACHRICHT", "RESEND_POSTFACH_MAIL", "CREATE_ATTACHED_ITEM",
"UPDATE_ATTACHED_ITEM", "PATCH_ATTACHED_ITEM", "RECEIVE_POSTFACH_NACHRICHT", "VORGANG_LOESCHEN", "DELETE_ATTACHED_ITEM", "UPDATE_ATTACHED_ITEM", "PATCH_ATTACHED_ITEM", "RECEIVE_POSTFACH_NACHRICHT", "VORGANG_LOESCHEN", "DELETE_ATTACHED_ITEM",
"VORGANG_ZUM_LOESCHEN_MARKIEREN", "LOESCH_ANFORDERUNG_ZURUECKNEHMEN", "CREATE_BESCHEID" }) "VORGANG_ZUM_LOESCHEN_MARKIEREN", "LOESCH_ANFORDERUNG_ZURUECKNEHMEN", "CREATE_BESCHEID", "EXECUTE_PROCESSOR" })
void shouldBePresentOnOrder(CommandOrder order) { void shouldBePresentOnOrder(CommandOrder order) {
var model = toModelWithOrder(order); var model = toModelWithOrder(order);
......
import { createEmptyStateResource } from '@goofy-client/tech-shared';
import { createCreateCommand } from 'libs/command-shared/test/command'; import { createCreateCommand } from 'libs/command-shared/test/command';
import { CommandOrder, CreateCommand } from '../command.model'; import { CommandOrder, CreateCommand } from '../command.model';
import { CommandPartialState, initialState } from './command.reducer'; import { CommandPartialState, initialState } from './command.reducer';
...@@ -37,5 +38,11 @@ describe('Command Selectors', () => { ...@@ -37,5 +38,11 @@ describe('Command Selectors', () => {
expect(result).toBe(commandInState); expect(result).toBe(commandInState);
}) })
it('should return empty state resource on undefined', () => {
const result: boolean = Selectors.commandByOrder(commandInStateOrder).projector({});
expect(result).toEqual(createEmptyStateResource());
})
}) })
}); });
\ No newline at end of file
import { CommandOrder } from '@goofy-client/command-shared'; import { CommandOrder } from '@goofy-client/command-shared';
import { createEmptyStateResource } from '@goofy-client/tech-shared';
import { MemoizedSelector, createFeatureSelector, createSelector } from '@ngrx/store'; import { MemoizedSelector, createFeatureSelector, createSelector } from '@ngrx/store';
import { isUndefined } from 'lodash-es';
import { COMMAND_FEATURE_KEY, CommandState } from './command.reducer'; import { COMMAND_FEATURE_KEY, CommandState } from './command.reducer';
const getCommandState: MemoizedSelector<object, CommandState> = createFeatureSelector<CommandState>(COMMAND_FEATURE_KEY); const getCommandState: MemoizedSelector<object, CommandState> = createFeatureSelector<CommandState>(COMMAND_FEATURE_KEY);
export const commandByOrderMap: MemoizedSelector<CommandState, any> = createSelector(getCommandState, (state: CommandState) => state.commandByOrderMap); export const commandByOrderMap: MemoizedSelector<CommandState, any> = createSelector(getCommandState, (state: CommandState) => state.commandByOrderMap);
export const commandByOrder = (order: CommandOrder) => createSelector(commandByOrderMap, (commandByOrderMapInState: any) => commandByOrderMapInState[order]); export const commandByOrder = (order: CommandOrder) => createSelector(commandByOrderMap, (commandByOrderMapInState: any) => isUndefined(commandByOrderMapInState[order]) ? createEmptyStateResource(): commandByOrderMapInState[order]);
\ No newline at end of file \ No newline at end of file
import { MonoTypeOperatorFunction, Observable, tap } from "rxjs";
export function debugTap<T>(fn: (value: T)=> void) {
return function(source: Observable<T>) {
source.pipe(debug(),tap(value => fn(value))).subscribe();
return source;
};
}
function debug<T>(): MonoTypeOperatorFunction<T> {
return tap({
next(value) {
console.log(`%c[Alfa Client: Next]`, "background: #009688; color: #fff; padding: 3px; font-size: 9px;", value);
},
error(error) {
console.log(`%[Alfa Client: Error]`, "background: #E91E63; color: #fff; padding: 3px; font-size: 9px;", error);
},
complete() {
console.log(`%c[Alfa Client]: Complete`, "background: #00BCD4; color: #fff; padding: 3px; font-size: 9px;");
}
})
}
\ No newline at end of file
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
[text]="text" [text]="text"
[stateResource]="stateResource" [stateResource]="stateResource"
[showSpinner]="showSpinner" [showSpinner]="showSpinner"
[isDisabled]="isDisabled" [isDisabled]="isDisabled">
></goofy-client-ozgcloud-button-content> </goofy-client-ozgcloud-button-content>
</button> </button>
...@@ -2,11 +2,20 @@ ...@@ -2,11 +2,20 @@
<goofy-client-ozgcloud-icon icon="more_horiz"></goofy-client-ozgcloud-icon> <goofy-client-ozgcloud-icon icon="more_horiz"></goofy-client-ozgcloud-icon>
</button> </button>
<goofy-client-ozgcloud-menu #moreMenu data-test-id="more-menu"> <goofy-client-ozgcloud-menu #moreMenu data-test-id="more-menu">
<goofy-client-menu-item (click)="$event.stopPropagation()" *ngIf="vorgangWithEingang | hasLink: vorgangWithEingangLinkRel.EXPORT" data-test-id="vorgang-exportieren-button" <goofy-client-menu-item *ngIf="vorgangWithEingang | hasLink: vorgangWithEingangLinkRel.EXPORT" data-test-id="vorgang-exportieren-button"
headline="Vorgang exportieren" headline="Vorgang exportieren"
text="Alle Informationen und Anhänge des Vorgangs zur Archivierung im DMS." text="Alle Informationen und Anhänge des Vorgangs zur Archivierung im DMS."
icon="xdomea_file" icon="xdomea_file"
[iconSizeBig]="true"> [iconSizeBig]="true"
(click)="$event.stopPropagation()">
<goofy-client-vorgang-export-container [vorgangWithEingang]="vorgangWithEingang" (closeMenu)="closeMenu()"></goofy-client-vorgang-export-container> <goofy-client-vorgang-export-container [vorgangWithEingang]="vorgangWithEingang" (closeMenu)="closeMenu()"></goofy-client-vorgang-export-container>
</goofy-client-menu-item> </goofy-client-menu-item>
<goofy-client-menu-item *ngIf="vorgangWithEingang | hasLink: vorgangWithEingangLinkRel.EXECUTE_PROCESSOR" data-test-id="vorgang-execute-processor-button"
headline="Vorgangautomatisiert vorprüfen"
text="Eine Vorprüfung wird durchgeführt. Das Ergebnis wird als Kommentar hinzugefügt."
icon="check_circle"
[iconSizeBig]="true"
(click)="$event.stopPropagation()">
<goofy-client-vorgang-execute-processor-container [vorgangWithEingang]="vorgangWithEingang" (closeMenu)="closeMenu()"></goofy-client-vorgang-execute-processor-container>
</goofy-client-menu-item>
</goofy-client-ozgcloud-menu> </goofy-client-ozgcloud-menu>
\ No newline at end of file
import { ChangeDetectorRef, SimpleChanges } from '@angular/core'; import { ChangeDetectorRef, SimpleChanges } from '@angular/core';
import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ComponentFixture, TestBed } from '@angular/core/testing';
import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { getElementFromDomRoot, getElementFromFixture, getMockComponent } from '@goofy-client/test-utils';
import { MenuItemComponent, OzgcloudIconComponent, UiModule } from '@goofy-client/ui'; import { MenuItemComponent, OzgcloudIconComponent, UiModule } from '@goofy-client/ui';
import { VorgangWithEingangLinkRel, VorgangWithEingangResource } from '@goofy-client/vorgang-shared';
import { getDataTestIdOf } from 'libs/tech-shared/test/data-test';
import { createVorgangWithEingangResource } from 'libs/vorgang-shared/test/vorgang';
import { MockComponent } from 'ng-mocks'; import { MockComponent } from 'ng-mocks';
import { VorgangDetailMoreMenuComponent } from './vorgang-detail-more-menu.component'; import { VorgangDetailMoreMenuComponent } from './vorgang-detail-more-menu.component';
import { VorgangExecuteProcessorContainerComponent } from './vorgang-execute-processor-container/vorgang-execute-processor-container.component';
import { VorgangExportContainerComponent } from './vorgang-export-container/vorgang-export-container.component';
describe('VorgangDetailMoreMenuComponent', () => { describe('VorgangDetailMoreMenuComponent', () => {
let component: VorgangDetailMoreMenuComponent; let component: VorgangDetailMoreMenuComponent;
let fixture: ComponentFixture<VorgangDetailMoreMenuComponent>; let fixture: ComponentFixture<VorgangDetailMoreMenuComponent>;
const moreMenuButton: string = getDataTestIdOf('more-menu-button');
const exportMenuItem: string = getDataTestIdOf('vorgang-exportieren-button');
const executeProcessorMenuItem: string = getDataTestIdOf('vorgang-execute-processor-button');
beforeEach(async () => { beforeEach(async () => {
await TestBed.configureTestingModule({ await TestBed.configureTestingModule({
declarations: [ declarations: [
VorgangDetailMoreMenuComponent, VorgangDetailMoreMenuComponent,
MockComponent(MenuItemComponent), MockComponent(MenuItemComponent),
MockComponent(OzgcloudIconComponent), MockComponent(OzgcloudIconComponent),
MockComponent(VorgangExportContainerComponent),
MockComponent(VorgangExecuteProcessorContainerComponent)
], ],
imports: [ imports: [
UiModule, UiModule,
...@@ -100,4 +112,166 @@ describe('VorgangDetailMoreMenuComponent', () => { ...@@ -100,4 +112,166 @@ describe('VorgangDetailMoreMenuComponent', () => {
expect(component.trigger.closeMenu).toHaveBeenCalled(); expect(component.trigger.closeMenu).toHaveBeenCalled();
}) })
}) })
describe('export menu item', () => {
const vorgangWithEingang: VorgangWithEingangResource = createVorgangWithEingangResource([VorgangWithEingangLinkRel.EXPORT]);
beforeEach(() => {
component.buttonEnabled = true;
fixture.detectChanges();
})
it('should be visible if link exists', () => {
component.vorgangWithEingang = vorgangWithEingang;
fixture.detectChanges();
getElementFromFixture(fixture, moreMenuButton).click();
const element = getElementFromDomRoot(fixture, exportMenuItem);
expect(element).toBeInTheDocument();
})
it('should NOT be visible if link is missing', () => {
component.vorgangWithEingang = createVorgangWithEingangResource();
fixture.detectChanges();
getElementFromFixture(fixture, moreMenuButton).click();
const element = getElementFromDomRoot(fixture, exportMenuItem);
expect(element).not.toBeInTheDocument();
})
describe('component call', () => {
beforeEach(() => {
component.vorgangWithEingang = vorgangWithEingang;
fixture.detectChanges();
})
it('should contains headline', () => {
getElementFromFixture(fixture, moreMenuButton).click();
const menuItem: MenuItemComponent = getMockComponent(fixture, MenuItemComponent);
expect(menuItem.headline).toBe('Vorgang exportieren');
})
it('should contains text', () => {
getElementFromFixture(fixture, moreMenuButton).click();
const menuItem: MenuItemComponent = getMockComponent(fixture, MenuItemComponent);
expect(menuItem.text).toBe('Alle Informationen und Anhänge des Vorgangs zur Archivierung im DMS.');
})
it('should contains icon', () => {
getElementFromFixture(fixture, moreMenuButton).click();
const menuItem: MenuItemComponent = getMockComponent(fixture, MenuItemComponent);
expect(menuItem.icon).toBe('xdomea_file');
})
it('should contains iconSizeBig', () => {
getElementFromFixture(fixture, moreMenuButton).click();
const menuItem: MenuItemComponent = getMockComponent(fixture, MenuItemComponent);
expect(menuItem.iconSizeBig).toBeTruthy();
})
describe('for button', () => {
it.skip('should contains vorgangWithEingang', () => {
getElementFromFixture(fixture, moreMenuButton).click();
const button: VorgangExecuteProcessorContainerComponent = getMockComponent(fixture, VorgangExecuteProcessorContainerComponent);
expect(button.vorgangWithEingang).toBe(vorgangWithEingang);
})
})
})
})
describe('executeProcess menu item', () => {
const vorgangWithEingang: VorgangWithEingangResource = createVorgangWithEingangResource([VorgangWithEingangLinkRel.EXECUTE_PROCESSOR]);
beforeEach(() => {
component.buttonEnabled = true;
fixture.detectChanges();
})
it('should be visible if link exists', () => {
component.vorgangWithEingang = vorgangWithEingang;
fixture.detectChanges();
getElementFromFixture(fixture, moreMenuButton).click();
const element = getElementFromDomRoot(fixture, executeProcessorMenuItem);
expect(element).toBeInTheDocument();
})
it('should NOT be visible if link is missing', () => {
component.vorgangWithEingang = createVorgangWithEingangResource();
fixture.detectChanges();
getElementFromFixture(fixture, moreMenuButton).click();
const element = getElementFromDomRoot(fixture, executeProcessorMenuItem);
expect(element).not.toBeInTheDocument();
})
describe('component call', () => {
beforeEach(() => {
component.vorgangWithEingang = vorgangWithEingang;
fixture.detectChanges();
})
it('should contains headline', () => {
getElementFromFixture(fixture, moreMenuButton).click();
const menuItem: MenuItemComponent = getMockComponent(fixture, MenuItemComponent);
expect(menuItem.headline).toBe('Vorgangautomatisiert vorprüfen');
})
it('should contains text', () => {
getElementFromFixture(fixture, moreMenuButton).click();
const menuItem: MenuItemComponent = getMockComponent(fixture, MenuItemComponent);
expect(menuItem.text).toBe('Eine Vorprüfung wird durchgeführt. Das Ergebnis wird als Kommentar hinzugefügt.');
})
it('should contains icon', () => {
getElementFromFixture(fixture, moreMenuButton).click();
const menuItem: MenuItemComponent = getMockComponent(fixture, MenuItemComponent);
expect(menuItem.icon).toBe('check_circle');
})
it('should contains iconSizeBig', () => {
getElementFromFixture(fixture, moreMenuButton).click();
const menuItem: MenuItemComponent = getMockComponent(fixture, MenuItemComponent);
expect(menuItem.iconSizeBig).toBeTruthy();
})
describe('for button', () => {
it.skip('should contains vorgangWithEingang', () => {
getElementFromFixture(fixture, moreMenuButton).click();
const button: VorgangExportContainerComponent = getMockComponent(fixture, VorgangExportContainerComponent);
expect(button.vorgangWithEingang).toBe(vorgangWithEingang);
})
})
})
})
}); });
<goofy-client-ozgcloud-button-with-spinner dataTestId="execute-processor"
[stateResource]="commandStateResource$ | async"
(clickEmitter)="executeProccessor()"
text="Vorgang vorprüfen"
icon="check_circle">
</goofy-client-ozgcloud-button-with-spinner>
\ No newline at end of file
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { CommandResource } from '@goofy-client/command-shared';
import { StateResource, createStateResource } from '@goofy-client/tech-shared';
import { dispatchEventFromFixture, getMockComponent, mock } from '@goofy-client/test-utils';
import { OzgcloudButtonWithSpinnerComponent } from '@goofy-client/ui';
import { VorgangService, VorgangWithEingangResource } from '@goofy-client/vorgang-shared';
import { createCommandResource } from 'libs/command-shared/test/command';
import { createVorgangWithEingangResource } from 'libs/vorgang-shared/test/vorgang';
import { MockComponent } from 'ng-mocks';
import { of } from 'rxjs';
import { VorgangExecuteProcessorContainerComponent } from './vorgang-execute-processor-container.component';
describe('VorgangExecuteProcessorContainerComponent', () => {
let component: VorgangExecuteProcessorContainerComponent;
let fixture: ComponentFixture<VorgangExecuteProcessorContainerComponent>;
const commandStateResource: StateResource<CommandResource> = createStateResource(createCommandResource());
const vorgangWithEingang: VorgangWithEingangResource = createVorgangWithEingangResource();
const vorgangService = mock(VorgangService);
const button: string = '[dataTestId="execute-processor"]';
beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [
VorgangExecuteProcessorContainerComponent,
MockComponent(OzgcloudButtonWithSpinnerComponent)
],
providers: [
{
provide: VorgangService,
useValue: vorgangService
}
]
}).compileComponents();
fixture = TestBed.createComponent(VorgangExecuteProcessorContainerComponent);
component = fixture.componentInstance;
component.vorgangWithEingang = vorgangWithEingang;
vorgangService.getExecuteProcessorCommand.mockReturnValue(of(commandStateResource));
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
describe('ngOnInit', () => {
it('should get export', () => {
component.ngOnInit();
expect(vorgangService.getExecuteProcessorCommand).toHaveBeenCalled();
})
})
describe('handleCommand', () => {
it('should closeMenu if processing is done', () => {
jest.spyOn(component.closeMenu, 'emit');
component.handleCommand(createStateResource(createCommandResource()));
expect(component.closeMenu.emit).toHaveBeenCalled();
})
})
describe('executeProccessor', () => {
it('should call vorgangService executeProcessor', () => {
dispatchEventFromFixture(fixture, button, 'clickEmitter');
expect(vorgangService.executeProcessor).toHaveBeenCalledWith(vorgangWithEingang);
})
})
describe('button component should be called with', () => {
it('stateResource', () => {
const button: OzgcloudButtonWithSpinnerComponent = getMockComponent(fixture, OzgcloudButtonWithSpinnerComponent);
expect(button.stateResource).toBe(commandStateResource);
})
it('text', () => {
const button: OzgcloudButtonWithSpinnerComponent = getMockComponent(fixture, OzgcloudButtonWithSpinnerComponent);
expect(button.text).toBe("Vorgang vorprüfen");
})
it('icon', () => {
const button: OzgcloudButtonWithSpinnerComponent = getMockComponent(fixture, OzgcloudButtonWithSpinnerComponent);
expect(button.icon).toBe("check_circle");
})
})
})
\ No newline at end of file
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { CommandResource } from '@goofy-client/command-shared';
import { StateResource, isLoaded } from '@goofy-client/tech-shared';
import { VorgangService, VorgangWithEingangResource } from '@goofy-client/vorgang-shared';
import { Observable } from 'rxjs';
import { debugTap } from '../../../../../../test-utils/src/lib/debug-operator';
@Component({
selector: 'goofy-client-vorgang-execute-processor-container',
templateUrl: './vorgang-execute-processor-container.component.html',
styleUrls: ['./vorgang-execute-processor-container.component.scss'],
})
export class VorgangExecuteProcessorContainerComponent {
@Input() vorgangWithEingang: VorgangWithEingangResource;
@Output() public closeMenu: EventEmitter<void> = new EventEmitter();
public commandStateResource$: Observable<StateResource<CommandResource>>;
constructor(private vorgangService: VorgangService) { }
ngOnInit(): void {
this.commandStateResource$ = this.vorgangService.getExecuteProcessorCommand().pipe(
debugTap(vorgangExportStateResource => this.handleCommand(vorgangExportStateResource)),
);
}
handleCommand(vorgangExportStateResource: StateResource<CommandResource>): void {
if(isLoaded(vorgangExportStateResource)) this.closeMenu.emit();
}
public executeProccessor(): void {
this.vorgangService.executeProcessor(this.vorgangWithEingang);
}
}
\ No newline at end of file
...@@ -63,6 +63,7 @@ import { VorgangDetailHeaderComponent } from './vorgang-detail-page/vorgang-deta ...@@ -63,6 +63,7 @@ import { VorgangDetailHeaderComponent } from './vorgang-detail-page/vorgang-deta
import { VorgangDetailBackButtonContainerComponent } from './vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button-container.component'; import { VorgangDetailBackButtonContainerComponent } from './vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button-container.component';
import { VorgangDetailBackButtonComponent } from './vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button/vorgang-detail-back-button.component'; import { VorgangDetailBackButtonComponent } from './vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button/vorgang-detail-back-button.component';
import { VorgangDetailMoreMenuComponent } from './vorgang-detail-page/vorgang-detail-more-menu/vorgang-detail-more-menu.component'; import { VorgangDetailMoreMenuComponent } from './vorgang-detail-page/vorgang-detail-more-menu/vorgang-detail-more-menu.component';
import { VorgangExecuteProcessorContainerComponent } from './vorgang-detail-page/vorgang-detail-more-menu/vorgang-execute-processor-container/vorgang-execute-processor-container.component';
import { VorgangExportContainerComponent } from './vorgang-detail-page/vorgang-detail-more-menu/vorgang-export-container/vorgang-export-container.component'; import { VorgangExportContainerComponent } from './vorgang-detail-page/vorgang-detail-more-menu/vorgang-export-container/vorgang-export-container.component';
import { VorgangDetailPageComponent } from './vorgang-detail-page/vorgang-detail-page.component'; import { VorgangDetailPageComponent } from './vorgang-detail-page/vorgang-detail-page.component';
...@@ -92,7 +93,7 @@ const routes: Routes = [ ...@@ -92,7 +93,7 @@ const routes: Routes = [
HistorieModule, HistorieModule,
LoeschAnforderungModule, LoeschAnforderungModule,
LoeschAnforderungSharedModule, LoeschAnforderungSharedModule,
BescheidModule BescheidModule,
], ],
declarations: [ declarations: [
VorgangDetailPageComponent, VorgangDetailPageComponent,
...@@ -120,6 +121,7 @@ const routes: Routes = [ ...@@ -120,6 +121,7 @@ const routes: Routes = [
VorgangDetailRepresentationListComponent, VorgangDetailRepresentationListComponent,
VorgangDetailMoreMenuComponent, VorgangDetailMoreMenuComponent,
VorgangExportContainerComponent, VorgangExportContainerComponent,
VorgangExecuteProcessorContainerComponent,
], ],
exports: [ exports: [
VorgangDetailAntragstellerComponent, VorgangDetailAntragstellerComponent,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment