Compare commits

..

No commits in common. "a42ad70a47f7630adc6cd5a89c168efd5a52f9f4" and "d42fb1896d8d44e404f422e19d627473e7e05ae0" have entirely different histories.

24 changed files with 106 additions and 77 deletions

View File

@ -25,7 +25,6 @@ import { CssColorsTenantConfiguration, TenantConfiguration } from './core/model/
import { nameof } from 'ts-simple-nameof'; import { nameof } from 'ts-simple-nameof';
import { TenantHandlingService } from './core/services/tenant/tenant-handling.service'; import { TenantHandlingService } from './core/services/tenant/tenant-handling.service';
import { BreadcrumbService } from './ui/misc/breadcrumb/breadcrumb.service'; import { BreadcrumbService } from './ui/misc/breadcrumb/breadcrumb.service';
import { RouterUtilsService } from './core/services/router/router-utils.service';
declare const gapi: any; declare const gapi: any;
@ -50,7 +49,6 @@ export class AppComponent implements OnInit, AfterViewInit {
constructor( constructor(
private router: Router, private router: Router,
private routerUtils: RouterUtilsService,
private route: ActivatedRoute, private route: ActivatedRoute,
private authentication: AuthService, private authentication: AuthService,
private translate: TranslateService, private translate: TranslateService,
@ -120,7 +118,7 @@ export class AppComponent implements OnInit, AfterViewInit {
if (this.location.path() === '') { if (this.location.path() === '') {
if (!this.configurationService.useSplash) { if (!this.configurationService.useSplash) {
this.onlySplash = false; this.onlySplash = false;
this.router.navigate([this.routerUtils.generateUrl('/home')]); this.router.navigate(['/home']);
} else { } else {
this.onlySplash = true; this.onlySplash = true;
this.router.navigate(['/reload']).then(() => this.router.navigate(['/splash'])); this.router.navigate(['/reload']).then(() => this.router.navigate(['/splash']));
@ -268,7 +266,7 @@ export class AppComponent implements OnInit, AfterViewInit {
return this.authentication.currentAccountIsAuthenticated(); return this.authentication.currentAccountIsAuthenticated();
} }
goToDMPs() { //not used goToDMPs() {
this.router.navigate(['/plans'], { queryParams: { /*refresh : Math.random() ,returnUrl: this.state.url*/ } }); this.router.navigate(['/plans'], { queryParams: { /*refresh : Math.random() ,returnUrl: this.state.url*/ } });
} }

View File

@ -43,7 +43,6 @@ import { DescriptionTemplateEditorModel, DescriptionTemplateFieldEditorModel, De
import { DescriptionTemplateEditorResolver } from './description-template-editor.resolver'; import { DescriptionTemplateEditorResolver } from './description-template-editor.resolver';
import { DescriptionTemplateEditorService } from './description-template-editor.service'; import { DescriptionTemplateEditorService } from './description-template-editor.service';
import { NewEntryType, ToCEntry, ToCEntryType } from './table-of-contents/description-template-table-of-contents-entry'; import { NewEntryType, ToCEntry, ToCEntryType } from './table-of-contents/description-template-table-of-contents-entry';
import { RouterUtilsService } from '@app/core/services/router/router-utils.service';
@Component({ @Component({
@ -139,8 +138,7 @@ export class DescriptionTemplateEditorComponent extends BaseEditor<DescriptionTe
private languageInfoService: LanguageInfoService, private languageInfoService: LanguageInfoService,
public userService: UserService, public userService: UserService,
public titleService: Title, public titleService: Title,
private analyticsService: AnalyticsService, private analyticsService: AnalyticsService
private routerUtils: RouterUtilsService
) { ) {
const descriptionLabel: string = route.snapshot.data['entity']?.label; const descriptionLabel: string = route.snapshot.data['entity']?.label;
if (descriptionLabel) { if (descriptionLabel) {
@ -227,10 +225,10 @@ export class DescriptionTemplateEditorComponent extends BaseEditor<DescriptionTe
let route = []; let route = [];
if (id === null) { if (id === null) {
route.push(this.routerUtils.generateUrl('/description-templates/')); route.push('../..');
this.router.navigate(route, { queryParams: { 'lookup': this.queryParamsService.serializeLookup(this.lookupParams), 'lv': ++this.lv }, replaceUrl: true, relativeTo: this.route }); this.router.navigate(route, { queryParams: { 'lookup': this.queryParamsService.serializeLookup(this.lookupParams), 'lv': ++this.lv }, replaceUrl: true, relativeTo: this.route });
} else if (this.isNew || this.isNewVersion || this.isClone) { } else if (this.isNew || this.isNewVersion || this.isClone) {
route.push(this.routerUtils.generateUrl('/description-templates/' + id)); route.push('/description-templates/' + id);
this.router.navigate(route, { queryParams: { 'lookup': this.queryParamsService.serializeLookup(this.lookupParams), 'lv': ++this.lv }, replaceUrl: true, relativeTo: this.route }); this.router.navigate(route, { queryParams: { 'lookup': this.queryParamsService.serializeLookup(this.lookupParams), 'lv': ++this.lv }, replaceUrl: true, relativeTo: this.route });
} else { } else {
this.refreshData(); this.refreshData();
@ -273,7 +271,7 @@ export class DescriptionTemplateEditorComponent extends BaseEditor<DescriptionTe
this.uiNotificationService.snackBarNotification(this.isNew ? this.language.instant('GENERAL.SNACK-BAR.SUCCESSFUL-CREATION') : this.language.instant('GENERAL.SNACK-BAR.SUCCESSFUL-UPDATE'), SnackBarNotificationLevel.Success); this.uiNotificationService.snackBarNotification(this.isNew ? this.language.instant('GENERAL.SNACK-BAR.SUCCESSFUL-CREATION') : this.language.instant('GENERAL.SNACK-BAR.SUCCESSFUL-UPDATE'), SnackBarNotificationLevel.Success);
if (close) { if (close) {
this.formGroup = null; this.formGroup = null;
this.router.navigate([this.routerUtils.generateUrl('/description-templates')]); this.router.navigate(['/description-templates']);
} else { } else {
this.refreshOnNavigateToData(data ? data.id : null); this.refreshOnNavigateToData(data ? data.id : null);
} }
@ -1272,6 +1270,6 @@ export class DescriptionTemplateEditorComponent extends BaseEditor<DescriptionTe
} }
public cancel(): void { public cancel(): void {
this.router.navigate([this.routerUtils.generateUrl('/description-templates')]); this.router.navigate(['/description-templates']);
} }
} }

View File

@ -21,7 +21,7 @@
</div> </div>
</div> </div>
<app-hybrid-listing [rows]="gridRows" [columns]="gridColumns" [visibleColumns]="visibleColumns" [count]="totalElements" [offset]="currentPageNumber" [limit]="lookup.page.size" [defaultSort]="lookup.order?.items" [externalSorting]="true" (rowActivated)="onRowActivated($event)" (pageLoad)="alterPage($event)" (columnSort)="onColumnSort($event)" (columnsChanged)="onColumnsChanged($event)" [listItemTemplate]="listItemTemplate"> <app-hybrid-listing [rows]="gridRows" [columns]="gridColumns" [visibleColumns]="visibleColumns" [count]="totalElements" [offset]="currentPageNumber" [limit]="lookup.page.size" [defaultSort]="lookup.order?.items" [externalSorting]="true" (rowActivated)="onRowActivated($event, '/description-templates')" (pageLoad)="alterPage($event)" (columnSort)="onColumnSort($event)" (columnsChanged)="onColumnsChanged($event)" [listItemTemplate]="listItemTemplate">
<app-description-template-listing-filters hybrid-listing-filters [(filter)]="lookup" (filterChange)="filterChanged($event)" /> <app-description-template-listing-filters hybrid-listing-filters [(filter)]="lookup" (filterChange)="filterChanged($event)" />

View File

@ -27,7 +27,6 @@ import { map, takeUntil } from 'rxjs/operators';
import { DescriptionTemplateTypeEditorModel } from './description-template-type-editor.model'; import { DescriptionTemplateTypeEditorModel } from './description-template-type-editor.model';
import { DescriptionTemplateTypeEditorResolver } from './description-template-type-editor.resolver'; import { DescriptionTemplateTypeEditorResolver } from './description-template-type-editor.resolver';
import { DescriptionTemplateTypeEditorService } from './description-template-type-editor.service'; import { DescriptionTemplateTypeEditorService } from './description-template-type-editor.service';
import { RouterUtilsService } from '@app/core/services/router/router-utils.service';
@Component({ @Component({
templateUrl: './description-template-type-editor.component.html', templateUrl: './description-template-type-editor.component.html',
@ -79,8 +78,7 @@ export class DescriptionTemplateTypeEditorComponent extends BaseEditor<Descripti
private descriptionTemplateTypeService: DescriptionTemplateTypeService, private descriptionTemplateTypeService: DescriptionTemplateTypeService,
private logger: LoggingService, private logger: LoggingService,
private descriptionTemplateTypeEditorService: DescriptionTemplateTypeEditorService, private descriptionTemplateTypeEditorService: DescriptionTemplateTypeEditorService,
public titleService: Title, public titleService: Title
protected routerUtils: RouterUtilsService
) { ) {
const descriptionLabel: string = route.snapshot.data['entity']?.name; const descriptionLabel: string = route.snapshot.data['entity']?.name;
@ -132,8 +130,17 @@ export class DescriptionTemplateTypeEditorComponent extends BaseEditor<Descripti
refreshOnNavigateToData(id?: Guid): void { refreshOnNavigateToData(id?: Guid): void {
this.formGroup.markAsPristine(); this.formGroup.markAsPristine();
let route = [];
this.router.navigate([this.routerUtils.generateUrl('/description-template-type')], { queryParams: { 'lookup': this.queryParamsService.serializeLookup(this.lookupParams), 'lv': ++this.lv }, replaceUrl: true, relativeTo: this.route }); if (id === null) {
route.push('../..');
} else if (this.isNew) {
route.push('../' + id);
} else {
route.push('..');
}
this.router.navigate(route, { queryParams: { 'lookup': this.queryParamsService.serializeLookup(this.lookupParams), 'lv': ++this.lv }, replaceUrl: true, relativeTo: this.route });
} }
persistEntity(onSuccess?: (response) => void): void { persistEntity(onSuccess?: (response) => void): void {
@ -143,7 +150,8 @@ export class DescriptionTemplateTypeEditorComponent extends BaseEditor<Descripti
.pipe(takeUntil(this._destroyed)).subscribe( .pipe(takeUntil(this._destroyed)).subscribe(
// for each state navigate to listing page // for each state navigate to listing page
complete => { complete => {
this.onCallbackSuccess(); this.formGroup = null;
this.router.navigate(['description-template-type'])
}, },
error => this.onCallbackError(error) error => this.onCallbackError(error)
); );

View File

@ -44,7 +44,6 @@ import { DescriptionTemplatePreviewDialogComponent } from '../../description-tem
import { DmpBlueprintEditorModel, FieldInSectionEditorModel } from './dmp-blueprint-editor.model'; import { DmpBlueprintEditorModel, FieldInSectionEditorModel } from './dmp-blueprint-editor.model';
import { DmpBlueprintEditorResolver } from './dmp-blueprint-editor.resolver'; import { DmpBlueprintEditorResolver } from './dmp-blueprint-editor.resolver';
import { DmpBlueprintEditorService } from './dmp-blueprint-editor.service'; import { DmpBlueprintEditorService } from './dmp-blueprint-editor.service';
import { RouterUtilsService } from '@app/core/services/router/router-utils.service';
@Component({ @Component({
@ -134,7 +133,6 @@ export class DmpBlueprintEditorComponent extends BaseEditor<DmpBlueprintEditorMo
public prefillingSourceService: PrefillingSourceService, public prefillingSourceService: PrefillingSourceService,
public titleService: Title, public titleService: Title,
private analyticsService: AnalyticsService, private analyticsService: AnalyticsService,
protected routerUtils: RouterUtilsService,
) { ) {
const descriptionLabel: string = route.snapshot.data['entity']?.label; const descriptionLabel: string = route.snapshot.data['entity']?.label;
if (descriptionLabel) { if (descriptionLabel) {
@ -214,7 +212,7 @@ export class DmpBlueprintEditorComponent extends BaseEditor<DmpBlueprintEditorMo
this.formGroup.markAsPristine(); this.formGroup.markAsPristine();
if (this.isNew || this.isNewVersion) { if (this.isNew || this.isNewVersion) {
let route = []; let route = [];
route.push(this.routerUtils.generateUrl('/dmp-blueprints/' + id)); route.push('/dmp-blueprints/' + id);
this.router.navigate(route, { queryParams: { 'lookup': this.queryParamsService.serializeLookup(this.lookupParams), 'lv': ++this.lv }, replaceUrl: true, relativeTo: this.route }); this.router.navigate(route, { queryParams: { 'lookup': this.queryParamsService.serializeLookup(this.lookupParams), 'lv': ++this.lv }, replaceUrl: true, relativeTo: this.route });
} else { } else {
this.refreshData(id); this.refreshData(id);
@ -556,7 +554,7 @@ export class DmpBlueprintEditorComponent extends BaseEditor<DmpBlueprintEditorMo
} }
public cancel(): void { public cancel(): void {
this.router.navigate([this.routerUtils.generateUrl('/dmp-blueprints')]); this.router.navigate(['/dmp-blueprints']);
} }
finalize() { finalize() {

View File

@ -21,7 +21,7 @@
</div> </div>
</div> </div>
<app-hybrid-listing [rows]="gridRows" [columns]="gridColumns" [visibleColumns]="visibleColumns" [count]="totalElements" [offset]="currentPageNumber" [limit]="lookup.page.size" [defaultSort]="lookup.order?.items" [externalSorting]="true" (rowActivated)="onRowActivated($event)" (pageLoad)="alterPage($event)" (columnSort)="onColumnSort($event)" (columnsChanged)="onColumnsChanged($event)" [listItemTemplate]="listItemTemplate"> <app-hybrid-listing [rows]="gridRows" [columns]="gridColumns" [visibleColumns]="visibleColumns" [count]="totalElements" [offset]="currentPageNumber" [limit]="lookup.page.size" [defaultSort]="lookup.order?.items" [externalSorting]="true" (rowActivated)="onRowActivated($event, '/dmp-blueprints')" (pageLoad)="alterPage($event)" (columnSort)="onColumnSort($event)" (columnsChanged)="onColumnsChanged($event)" [listItemTemplate]="listItemTemplate">
<app-dmp-blueprint-listing-filters hybrid-listing-filters [(filter)]="lookup" (filterChange)="filterChanged($event)" /> <app-dmp-blueprint-listing-filters hybrid-listing-filters [(filter)]="lookup" (filterChange)="filterChanged($event)" />

View File

@ -22,7 +22,6 @@ import { LockService } from '@app/core/services/lock/lock.service';
import { SnackBarNotificationLevel, UiNotificationService } from '@app/core/services/notification/ui-notification-service'; import { SnackBarNotificationLevel, UiNotificationService } from '@app/core/services/notification/ui-notification-service';
import { LockTargetTypePipe } from '@common/formatting/pipes/lock-target-type.pipe'; import { LockTargetTypePipe } from '@common/formatting/pipes/lock-target-type.pipe';
import { User } from '@app/core/model/user/user'; import { User } from '@app/core/model/user/user';
import { RouterUtilsService } from '@app/core/services/router/router-utils.service';
@Component({ @Component({
templateUrl: './lock-listing.component.html', templateUrl: './lock-listing.component.html',

View File

@ -29,7 +29,6 @@ import { map, takeUntil } from 'rxjs/operators';
import { LanguageEditorModel } from './language-editor.model'; import { LanguageEditorModel } from './language-editor.model';
import { LanguageEditorResolver } from './language-editor.resolver'; import { LanguageEditorResolver } from './language-editor.resolver';
import { LanguageEditorService } from './language-editor.service'; import { LanguageEditorService } from './language-editor.service';
import { RouterUtilsService } from '@app/core/services/router/router-utils.service';
@Component({ @Component({
@ -85,8 +84,7 @@ export class LanguageEditorComponent extends BaseEditor<LanguageEditorModel, Lan
private languageEditorService: LanguageEditorService, private languageEditorService: LanguageEditorService,
private fileUtils: FileUtils, private fileUtils: FileUtils,
private titleService: Title, private titleService: Title,
private analyticsService: AnalyticsService, private analyticsService: AnalyticsService
protected routerUtils: RouterUtilsService
) { ) {
const descriptionLabel: string = route.snapshot.data['entity']?.code; const descriptionLabel: string = route.snapshot.data['entity']?.code;
if (descriptionLabel) { if (descriptionLabel) {
@ -105,7 +103,7 @@ export class LanguageEditorComponent extends BaseEditor<LanguageEditorModel, Lan
.subscribe( .subscribe(
data => this.availableLanguageCodes = data.items, data => this.availableLanguageCodes = data.items,
error => { error => {
this.router.navigate([this.routerUtils.generateUrl('/languages')]); this.router.navigate(['/languages']);
this.httpErrorHandlingService.handleBackedRequestError(error); this.httpErrorHandlingService.handleBackedRequestError(error);
} }
); );
@ -145,8 +143,17 @@ export class LanguageEditorComponent extends BaseEditor<LanguageEditorModel, Lan
refreshOnNavigateToData(id?: Guid): void { refreshOnNavigateToData(id?: Guid): void {
this.formGroup.markAsPristine(); this.formGroup.markAsPristine();
let route = [];
this.router.navigate([this.routerUtils.generateUrl('/languages')], { queryParams: { 'lookup': this.queryParamsService.serializeLookup(this.lookupParams), 'lv': ++this.lv }, replaceUrl: true, relativeTo: this.route }); if (id === null) {
route.push('../..');
} else if (this.isNew) {
route.push('../' + id);
} else {
route.push('..');
}
this.router.navigate(route, { queryParams: { 'lookup': this.queryParamsService.serializeLookup(this.lookupParams), 'lv': ++this.lv }, replaceUrl: true, relativeTo: this.route });
} }
persistEntity(onSuccess?: (response) => void): void { persistEntity(onSuccess?: (response) => void): void {

View File

@ -3,7 +3,6 @@ import { MatDialog } from '@angular/material/dialog';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { MaintenanceService } from '@app/core/services/maintenance/maintenance.service'; import { MaintenanceService } from '@app/core/services/maintenance/maintenance.service';
import { SnackBarNotificationLevel, UiNotificationService } from '@app/core/services/notification/ui-notification-service'; import { SnackBarNotificationLevel, UiNotificationService } from '@app/core/services/notification/ui-notification-service';
import { RouterUtilsService } from '@app/core/services/router/router-utils.service';
import { BaseComponent } from '@common/base/base.component'; import { BaseComponent } from '@common/base/base.component';
import { ConfirmationDialogComponent } from '@common/modules/confirmation-dialog/confirmation-dialog.component'; import { ConfirmationDialogComponent } from '@common/modules/confirmation-dialog/confirmation-dialog.component';
import { TranslateService } from '@ngx-translate/core'; import { TranslateService } from '@ngx-translate/core';
@ -23,7 +22,6 @@ export class MaintenanceTasksComponent extends BaseComponent implements OnInit {
private uiNotificationService: UiNotificationService, private uiNotificationService: UiNotificationService,
private translate: TranslateService, private translate: TranslateService,
private router: Router, private router: Router,
private routerUtils: RouterUtilsService,
) { ) {
super(); super();
} }
@ -219,7 +217,7 @@ export class MaintenanceTasksComponent extends BaseComponent implements OnInit {
onCallbackSuccess(): void { onCallbackSuccess(): void {
this.uiNotificationService.snackBarNotification(this.translate.instant('GENERAL.SNACK-BAR.SUCCESSFUL-UPDATE'), SnackBarNotificationLevel.Success); this.uiNotificationService.snackBarNotification(this.translate.instant('GENERAL.SNACK-BAR.SUCCESSFUL-UPDATE'), SnackBarNotificationLevel.Success);
this.router.navigate(['/reload']).then(() => this.router.navigate([this.routerUtils.generateUrl('/maintenance-tasks')])); this.router.navigate(['/reload']).then(() => this.router.navigate(['/maintenance-tasks']));
} }
onCallbackError(error: any) { onCallbackError(error: any) {

View File

@ -29,7 +29,6 @@ import { map, takeUntil } from 'rxjs/operators';
import { PrefillingSourceDefinitionEditorModel, PrefillingSourceEditorModel } from './prefilling-source-editor.model'; import { PrefillingSourceDefinitionEditorModel, PrefillingSourceEditorModel } from './prefilling-source-editor.model';
import { PrefillingSourceEditorResolver } from './prefilling-source-editor.resolver'; import { PrefillingSourceEditorResolver } from './prefilling-source-editor.resolver';
import { PrefillingSourceEditorService } from './prefilling-source-editor.service'; import { PrefillingSourceEditorService } from './prefilling-source-editor.service';
import { RouterUtilsService } from '@app/core/services/router/router-utils.service';
@Component({ @Component({
selector: 'app-prefilling-source-editor-component', selector: 'app-prefilling-source-editor-component',
@ -76,8 +75,7 @@ export class PrefillingSourceEditorComponent extends BaseEditor<PrefillingSource
private logger: LoggingService, private logger: LoggingService,
private prefillingSourceEditorService: PrefillingSourceEditorService, private prefillingSourceEditorService: PrefillingSourceEditorService,
private titleService: Title, private titleService: Title,
private analyticsService: AnalyticsService, private analyticsService: AnalyticsService
private routerUtils: RouterUtilsService
) { ) {
const descriptionLabel: string = route.snapshot.data['entity']?.label; const descriptionLabel: string = route.snapshot.data['entity']?.label;
if (descriptionLabel) { if (descriptionLabel) {
@ -128,8 +126,17 @@ export class PrefillingSourceEditorComponent extends BaseEditor<PrefillingSource
refreshOnNavigateToData(id?: Guid): void { refreshOnNavigateToData(id?: Guid): void {
this.formGroup.markAsPristine(); this.formGroup.markAsPristine();
let route = [];
this.router.navigate([this.routerUtils.generateUrl('/prefilling-sources')], { queryParams: { 'lookup': this.queryParamsService.serializeLookup(this.lookupParams), 'lv': ++this.lv }, replaceUrl: true, relativeTo: this.route }); if (id === null) {
route.push('../..');
} else if (this.isNew) {
route.push('../' + id);
} else {
route.push('..');
}
this.router.navigate(route, { queryParams: { 'lookup': this.queryParamsService.serializeLookup(this.lookupParams), 'lv': ++this.lv }, replaceUrl: true, relativeTo: this.route });
} }
persistEntity(onSuccess?: (response) => void): void { persistEntity(onSuccess?: (response) => void): void {

View File

@ -29,7 +29,6 @@ import { map, takeUntil } from 'rxjs/operators';
import { ReferenceTypeEditorModel } from './reference-type-editor.model'; import { ReferenceTypeEditorModel } from './reference-type-editor.model';
import { ReferenceTypeEditorResolver } from './reference-type-editor.resolver'; import { ReferenceTypeEditorResolver } from './reference-type-editor.resolver';
import { ReferenceTypeEditorService } from './reference-type-editor.service'; import { ReferenceTypeEditorService } from './reference-type-editor.service';
import { RouterUtilsService } from '@app/core/services/router/router-utils.service';
@Component({ @Component({
selector: 'app-reference-type-editor-component', selector: 'app-reference-type-editor-component',
@ -87,8 +86,7 @@ export class ReferenceTypeEditorComponent extends BaseEditor<ReferenceTypeEditor
public referenceTypeService: ReferenceTypeService, public referenceTypeService: ReferenceTypeService,
private logger: LoggingService, private logger: LoggingService,
private referenceTypeEditorService: ReferenceTypeEditorService, private referenceTypeEditorService: ReferenceTypeEditorService,
private titleService: Title, private titleService: Title
protected routerUtils: RouterUtilsService,
) { ) {
const descriptionLabel: string = route.snapshot.data['entity']?.name; const descriptionLabel: string = route.snapshot.data['entity']?.name;
if (descriptionLabel) { if (descriptionLabel) {
@ -140,8 +138,17 @@ export class ReferenceTypeEditorComponent extends BaseEditor<ReferenceTypeEditor
refreshOnNavigateToData(id?: Guid): void { refreshOnNavigateToData(id?: Guid): void {
this.formGroup.markAsPristine(); this.formGroup.markAsPristine();
let route = [];
this.router.navigate([this.routerUtils.generateUrl('/reference-type')], { queryParams: { 'lookup': this.queryParamsService.serializeLookup(this.lookupParams), 'lv': ++this.lv }, replaceUrl: true, relativeTo: this.route }); if (id === null) {
route.push('../..');
} else if (this.isNew) {
route.push('../' + id);
} else {
route.push('..');
}
this.router.navigate(route, { queryParams: { 'lookup': this.queryParamsService.serializeLookup(this.lookupParams), 'lv': ++this.lv }, replaceUrl: true, relativeTo: this.route });
} }
persistEntity(onSuccess?: (response) => void): void { persistEntity(onSuccess?: (response) => void): void {
@ -325,7 +332,7 @@ export class ReferenceTypeEditorComponent extends BaseEditor<ReferenceTypeEditor
}) })
}, },
error => { error => {
this.router.navigate([this.routerUtils.generateUrl('/reference-type')]); this.router.navigate(['/reference-type']);
this.httpErrorHandlingService.handleBackedRequestError(error); this.httpErrorHandlingService.handleBackedRequestError(error);
}); });
} }

View File

@ -31,7 +31,6 @@ import { map, takeUntil } from 'rxjs/operators';
import { ReferenceEditorModel } from './reference-editor.model'; import { ReferenceEditorModel } from './reference-editor.model';
import { ReferenceEditorResolver } from './reference-editor.resolver'; import { ReferenceEditorResolver } from './reference-editor.resolver';
import { ReferenceEditorService } from './reference-editor.service'; import { ReferenceEditorService } from './reference-editor.service';
import { RouterUtilsService } from '@app/core/services/router/router-utils.service';
@Component({ @Component({
@ -88,8 +87,7 @@ export class ReferenceEditorComponent extends BaseEditor<ReferenceEditorModel, R
private fileUtils: FileUtils, private fileUtils: FileUtils,
public referenceTypeService: ReferenceTypeService, public referenceTypeService: ReferenceTypeService,
public titleService: Title, public titleService: Title,
private analyticsService: AnalyticsService, private analyticsService: AnalyticsService
private routerUtils: RouterUtilsService
) { ) {
const descriptionLabel: string = route.snapshot.data['entity']?.label; const descriptionLabel: string = route.snapshot.data['entity']?.label;
@ -137,8 +135,17 @@ export class ReferenceEditorComponent extends BaseEditor<ReferenceEditorModel, R
refreshOnNavigateToData(id?: Guid): void { refreshOnNavigateToData(id?: Guid): void {
this.formGroup.markAsPristine(); this.formGroup.markAsPristine();
let route = [];
this.router.navigate([this.routerUtils.generateUrl('/references')], { queryParams: { 'lookup': this.queryParamsService.serializeLookup(this.lookupParams), 'lv': ++this.lv }, replaceUrl: true, relativeTo: this.route }); if (id === null) {
route.push('../..');
} else if (this.isNew) {
route.push('../' + id);
} else {
route.push('..');
}
this.router.navigate(route, { queryParams: { 'lookup': this.queryParamsService.serializeLookup(this.lookupParams), 'lv': ++this.lv }, replaceUrl: true, relativeTo: this.route });
} }
persistEntity(onSuccess?: (response) => void): void { persistEntity(onSuccess?: (response) => void): void {

View File

@ -14,6 +14,7 @@ import { AnalyticsService } from '@app/core/services/matomo/analytics-service';
import { SnackBarNotificationLevel, UiNotificationService } from '@app/core/services/notification/ui-notification-service'; import { SnackBarNotificationLevel, UiNotificationService } from '@app/core/services/notification/ui-notification-service';
import { TenantService } from '@app/core/services/tenant/tenant.service'; import { TenantService } from '@app/core/services/tenant/tenant.service';
import { EnumUtils } from '@app/core/services/utilities/enum-utils.service'; import { EnumUtils } from '@app/core/services/utilities/enum-utils.service';
import { FileUtils } from '@app/core/services/utilities/file-utils.service';
import { QueryParamsService } from '@app/core/services/utilities/query-params.service'; import { QueryParamsService } from '@app/core/services/utilities/query-params.service';
import { BaseEditor } from '@common/base/base-editor'; import { BaseEditor } from '@common/base/base-editor';
import { FormService } from '@common/forms/form-service'; import { FormService } from '@common/forms/form-service';
@ -26,7 +27,6 @@ import { map, takeUntil } from 'rxjs/operators';
import { TenantEditorModel } from './tenant-editor.model'; import { TenantEditorModel } from './tenant-editor.model';
import { TenantEditorResolver } from './tenant-editor.resolver'; import { TenantEditorResolver } from './tenant-editor.resolver';
import { TenantEditorService } from './tenant-editor.service'; import { TenantEditorService } from './tenant-editor.service';
import { RouterUtilsService } from '@app/core/services/router/router-utils.service';
@Component({ @Component({
@ -80,8 +80,8 @@ export class TenantEditorComponent extends BaseEditor<TenantEditorModel, Tenant>
private tenantService: TenantService, private tenantService: TenantService,
private logger: LoggingService, private logger: LoggingService,
private tenantEditorService: TenantEditorService, private tenantEditorService: TenantEditorService,
private analyticsService: AnalyticsService, private fileUtils: FileUtils,
protected routerUtils: RouterUtilsService, private analyticsService: AnalyticsService
) { ) {
super(dialog, language, formService, router, uiNotificationService, httpErrorHandlingService, filterService, route, queryParamsService, lockService, authService, configurationService); super(dialog, language, formService, router, uiNotificationService, httpErrorHandlingService, filterService, route, queryParamsService, lockService, authService, configurationService);
} }
@ -123,8 +123,15 @@ export class TenantEditorComponent extends BaseEditor<TenantEditorModel, Tenant>
refreshOnNavigateToData(id?: Guid): void { refreshOnNavigateToData(id?: Guid): void {
this.formGroup.markAsPristine(); this.formGroup.markAsPristine();
let route = [];
this.router.navigate([this.routerUtils.generateUrl('/tenants')], { queryParams: { 'lookup': this.queryParamsService.serializeLookup(this.lookupParams), 'lv': ++this.lv }, replaceUrl: true, relativeTo: this.route }); if (id === null) {
route.push('../..');
} else {
route.push('..');
}
this.router.navigate(route, { queryParams: { 'lookup': this.queryParamsService.serializeLookup(this.lookupParams), 'lv': ++this.lv }, replaceUrl: true, relativeTo: this.route });
} }
persistEntity(onSuccess?: (response) => void): void { persistEntity(onSuccess?: (response) => void): void {

View File

@ -24,7 +24,6 @@ import * as FileSaver from 'file-saver';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { takeUntil } from 'rxjs/operators'; import { takeUntil } from 'rxjs/operators';
import { nameof } from 'ts-simple-nameof'; import { nameof } from 'ts-simple-nameof';
import { RouterUtilsService } from '@app/core/services/router/router-utils.service';
@Component({ @Component({
templateUrl: './user-listing.component.html', templateUrl: './user-listing.component.html',

View File

@ -7,7 +7,6 @@ import { AnnotationLookup } from '@annotation-service/core/query/annotation.look
import { AnnotationService } from '@annotation-service/services/http/annotation.service'; import { AnnotationService } from '@annotation-service/services/http/annotation.service';
import { AnnotationProtectionType } from '@app/core/common/enum/annotation-protection-type.enum'; import { AnnotationProtectionType } from '@app/core/common/enum/annotation-protection-type.enum';
import { SnackBarNotificationLevel, UiNotificationService } from '@app/core/services/notification/ui-notification-service'; import { SnackBarNotificationLevel, UiNotificationService } from '@app/core/services/notification/ui-notification-service';
import { RouterUtilsService } from '@app/core/services/router/router-utils.service';
import { EnumUtils } from '@app/core/services/utilities/enum-utils.service'; import { EnumUtils } from '@app/core/services/utilities/enum-utils.service';
import { isNullOrUndefined } from '@app/utilities/enhancers/utils'; import { isNullOrUndefined } from '@app/utilities/enhancers/utils';
import { BaseComponent } from '@common/base/base.component'; import { BaseComponent } from '@common/base/base.component';
@ -55,7 +54,6 @@ export class AnnotationDialogComponent extends BaseComponent {
private annotationService: AnnotationService, private annotationService: AnnotationService,
private formService: FormService, private formService: FormService,
private enumUtils: EnumUtils, private enumUtils: EnumUtils,
protected routerUtils: RouterUtilsService,
) { ) {
super(); super();
this.entityId = data.entityId; this.entityId = data.entityId;
@ -206,8 +204,8 @@ export class AnnotationDialogComponent extends BaseComponent {
this.dialogRef.close(this.changesMade); this.dialogRef.close(this.changesMade);
} }
startWizard() { // not used startWizard() {
this.router.navigate([this.routerUtils.generateUrl('/plans/new')]); this.router.navigate(['/plans/new']);
this.close(); this.close();
} }

View File

@ -1,8 +1,7 @@
import { HttpErrorResponse } from "@angular/common/http"; import { HttpErrorResponse } from "@angular/common/http";
import { Component, OnInit } from "@angular/core"; import { Component, OnInit } from "@angular/core";
import { ActivatedRoute, Router } from "@angular/router"; import { ActivatedRoute, Router } from "@angular/router";
import { SnackBarNotificationLevel } from '@app/core/services/notification/ui-notification-service'; import { SnackBarNotificationLevel, UiNotificationService } from '@app/core/services/notification/ui-notification-service';
import { RouterUtilsService } from "@app/core/services/router/router-utils.service";
import { UserService } from "@app/core/services/user/user.service"; import { UserService } from "@app/core/services/user/user.service";
import { BaseComponent } from '@common/base/base.component'; import { BaseComponent } from '@common/base/base.component';
import { HttpError, HttpErrorHandlingService } from "@common/modules/errors/error-handling/http-error-handling.service"; import { HttpError, HttpErrorHandlingService } from "@common/modules/errors/error-handling/http-error-handling.service";
@ -30,8 +29,8 @@ export class MergeEmailConfirmation extends BaseComponent implements OnInit {
private route: ActivatedRoute, private route: ActivatedRoute,
private router: Router, private router: Router,
private language: TranslateService, private language: TranslateService,
private httpErrorHandlingService: HttpErrorHandlingService, private uiNotificationService: UiNotificationService,
private routerUtils: RouterUtilsService private httpErrorHandlingService: HttpErrorHandlingService
) { super(); } ) { super(); }
ngOnInit() { ngOnInit() {
@ -65,7 +64,7 @@ export class MergeEmailConfirmation extends BaseComponent implements OnInit {
} }
onCallbackEmailConfirmationSuccess() { onCallbackEmailConfirmationSuccess() {
this.router.navigate([this.routerUtils.generateUrl('home')]) this.router.navigate(['home'])
.then(() => { .then(() => {
window.location.reload(); window.location.reload();
}); });
@ -79,7 +78,7 @@ export class MergeEmailConfirmation extends BaseComponent implements OnInit {
const error: HttpError = this.httpErrorHandlingService.getError(errorResponse); const error: HttpError = this.httpErrorHandlingService.getError(errorResponse);
if (error.statusCode === 302) { if (error.statusCode === 302) {
this.router.navigate([this.routerUtils.generateUrl('home')]); this.router.navigate(['home']);
} }
} }
} }

View File

@ -1,7 +1,7 @@
import { HttpErrorResponse } from '@angular/common/http'; import { HttpErrorResponse } from '@angular/common/http';
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
import { RouterUtilsService } from '@app/core/services/router/router-utils.service'; import { SnackBarNotificationLevel, UiNotificationService } from '@app/core/services/notification/ui-notification-service';
import { UserService } from '@app/core/services/user/user.service'; import { UserService } from '@app/core/services/user/user.service';
import { BaseComponent } from '@common/base/base.component'; import { BaseComponent } from '@common/base/base.component';
import { HttpError, HttpErrorHandlingService } from '@common/modules/errors/error-handling/http-error-handling.service'; import { HttpError, HttpErrorHandlingService } from '@common/modules/errors/error-handling/http-error-handling.service';
@ -26,7 +26,7 @@ export class UnlinkEmailConfirmation extends BaseComponent implements OnInit {
private route: ActivatedRoute, private route: ActivatedRoute,
private router: Router, private router: Router,
private language: TranslateService, private language: TranslateService,
private routerUtils: RouterUtilsService, private uiNotificationService: UiNotificationService,
private httpErrorHandlingService: HttpErrorHandlingService private httpErrorHandlingService: HttpErrorHandlingService
) { super(); } ) { super(); }
@ -54,7 +54,7 @@ export class UnlinkEmailConfirmation extends BaseComponent implements OnInit {
} }
onCallbackConfirmationSuccess() { onCallbackConfirmationSuccess() {
this.router.navigate([this.routerUtils.generateUrl('home')]); this.router.navigate(['home']);
} }
onCallbackError(errorResponse: HttpErrorResponse) { onCallbackError(errorResponse: HttpErrorResponse) {
@ -66,7 +66,7 @@ export class UnlinkEmailConfirmation extends BaseComponent implements OnInit {
const error: HttpError = this.httpErrorHandlingService.getError(errorResponse); const error: HttpError = this.httpErrorHandlingService.getError(errorResponse);
if (error.statusCode === 302) { if (error.statusCode === 302) {
this.router.navigate([this.routerUtils.generateUrl('home')]); this.router.navigate(['home']);
} }
} }
} }

View File

@ -154,7 +154,7 @@ export class DashboardComponent extends BaseComponent implements OnInit {
if (result.startNewDmp) { if (result.startNewDmp) {
this.openNewDmpDialog(); this.openNewDmpDialog();
} else { } else {
this.router.navigate([this.routerUtils.generateUrl(['/plans/', 'edit/', result.formGroup.get('dmpId').value])]); this.router.navigate(['/plans', 'edit', result.formGroup.get('dmpId').value]);
} }
} }
}); });

View File

@ -277,7 +277,7 @@ export class DescriptionEditorComponent extends BaseEditor<DescriptionEditorMode
if (this.isNew || this.isCopy) { if (this.isNew || this.isCopy) {
let route = []; let route = [];
route.push(this.routerUtils.generateUrl('/descriptions/edit/' + id)); route.push('/descriptions/edit/' + id);
this.router.navigate(route, { queryParams: { 'lookup': this.queryParamsService.serializeLookup(this.lookupParams), 'lv': ++this.lv }, replaceUrl: true, relativeTo: this.route }); this.router.navigate(route, { queryParams: { 'lookup': this.queryParamsService.serializeLookup(this.lookupParams), 'lv': ++this.lv }, replaceUrl: true, relativeTo: this.route });
} else { } else {
this.refreshData(); this.refreshData();
@ -403,7 +403,7 @@ export class DescriptionEditorComponent extends BaseEditor<DescriptionEditorMode
} }
backToDmp(dmpId) { backToDmp(dmpId) {
this.router.navigate([this.routerUtils.generateUrl(['/plans/', 'edit/', dmpId])]); this.router.navigate(['/plans', 'edit', dmpId]);
} }
private showSaveStateValidationErrorsDialog(projectOnly?: boolean, errmess?: string[]) { private showSaveStateValidationErrorsDialog(projectOnly?: boolean, errmess?: string[]) {
@ -689,8 +689,8 @@ export class DescriptionEditorComponent extends BaseEditor<DescriptionEditorMode
return []; return [];
} }
public cancel(): void { //not used public cancel(): void {
this.router.navigate([this.routerUtils.generateUrl('/descriptions')]); this.router.navigate(['/descriptions']);
} }
finalize() { finalize() {

View File

@ -340,7 +340,7 @@ export class DescriptionListingComponent extends BaseComponent implements OnInit
if (result.startNewDmp) { if (result.startNewDmp) {
this.openNewDmpDialog(); this.openNewDmpDialog();
} else { } else {
this.router.navigate([this.routerUtils.generateUrl(['/plans/', 'edit/', result.formGroup.get('dmpId').value])]); this.router.navigate(['/plans', 'edit', result.formGroup.get('dmpId').value]);
} }
} }
}); });

View File

@ -7,9 +7,9 @@
<div class="icon-bar2"></div> <div class="icon-bar2"></div>
<div class="icon-bar3"></div> <div class="icon-bar3"></div>
</div> </div>
<a class="logo" [routerLink]="routerUtils.generateUrl(['home'])"><img class="logo-image" src="../../../assets/images/nav-logo.png"></a> <a class="logo" [routerLink]="['home']"><img class="logo-image" src="../../../assets/images/nav-logo.png"></a>
<ng-container> <ng-container>
<a class="extra-logo" [routerLink]="routerUtils.generateUrl(['home'])"><img class="extra-logo-image" [src]="extraImageURL"></a> <a class="extra-logo" [routerLink]="['home']"><img class="extra-logo-image" [src]="extraImageURL"></a>
</ng-container> </ng-container>
<button class="navbar-toggler ml-auto" type="button" [matMenuTriggerFor]="toggleMenu"> <button class="navbar-toggler ml-auto" type="button" [matMenuTriggerFor]="toggleMenu">
<img *ngIf="this.isAuthenticated();else loginoption" mat-card-avatar class="my-mat-card-avatar" [src]="getPrincipalAvatar() ?? getDefaultAvatar()" (error)="this.applyFallbackAvatar($event)"> <img *ngIf="this.isAuthenticated();else loginoption" mat-card-avatar class="my-mat-card-avatar" [src]="getPrincipalAvatar() ?? getDefaultAvatar()" (error)="this.applyFallbackAvatar($event)">

View File

@ -1,5 +1,5 @@
import { Location } from '@angular/common'; import { Location } from '@angular/common';
import { Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core'; import { Component, ElementRef, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';
import { MatDialog, MatDialogRef } from '@angular/material/dialog'; import { MatDialog, MatDialogRef } from '@angular/material/dialog';
import { MatMenuTrigger } from '@angular/material/menu'; import { MatMenuTrigger } from '@angular/material/menu';
import { DomSanitizer, SafeUrl } from '@angular/platform-browser'; import { DomSanitizer, SafeUrl } from '@angular/platform-browser';
@ -26,7 +26,6 @@ import { nameof } from 'ts-simple-nameof';
import { StartNewDmpDialogComponent } from '../dmp/new/start-new-dmp-dialogue/start-new-dmp-dialog.component'; import { StartNewDmpDialogComponent } from '../dmp/new/start-new-dmp-dialogue/start-new-dmp-dialog.component';
import { FaqDialogComponent } from '../faq/dialog/faq-dialog.component'; import { FaqDialogComponent } from '../faq/dialog/faq-dialog.component';
import { UserDialogComponent } from './user-dialog/user-dialog.component'; import { UserDialogComponent } from './user-dialog/user-dialog.component';
import { RouterUtilsService } from '@app/core/services/router/router-utils.service';
@Component({ @Component({
selector: 'app-navbar', selector: 'app-navbar',
@ -52,9 +51,9 @@ export class NavbarComponent extends BaseComponent implements OnInit {
extraImageURL: SafeUrl; extraImageURL: SafeUrl;
constructor(location: Location, constructor(location: Location,
public routerUtils: RouterUtilsService, private element: ElementRef,
public authentication: AuthService,
private router: Router, private router: Router,
public authentication: AuthService,
private userService: UserService, private userService: UserService,
private dialog: MatDialog, private dialog: MatDialog,
private progressIndicationService: ProgressIndicationService, private progressIndicationService: ProgressIndicationService,

View File

@ -2,7 +2,7 @@ import { HttpErrorResponse } from '@angular/common/http';
import { Component, OnInit, ViewChild } from '@angular/core'; import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute, ParamMap, Router } from '@angular/router'; import { ActivatedRoute, ParamMap, Router } from '@angular/router';
import { UserSettingsKey } from '@app/core/model/user-settings/user-settings.model'; import { UserSettingsKey } from '@app/core/model/user-settings/user-settings.model';
import { UiNotificationService } from '@app/core/services/notification/ui-notification-service'; import { SnackBarNotificationLevel, UiNotificationService } from '@app/core/services/notification/ui-notification-service';
import { QueryParamsService } from '@app/core/services/utilities/query-params.service'; import { QueryParamsService } from '@app/core/services/utilities/query-params.service';
import { BaseComponent } from '@common/base/base.component'; import { BaseComponent } from '@common/base/base.component';
import { Lookup } from '@common/model/lookup'; import { Lookup } from '@common/model/lookup';

View File

@ -98,7 +98,7 @@
<mat-icon>more_horiz</mat-icon> <mat-icon>more_horiz</mat-icon>
</button> </button>
<mat-menu #actionsMenu="matMenu"> <mat-menu #actionsMenu="matMenu">
<button mat-menu-item [routerLink]="routerUtils.generateUrl(['/notification-templates/', row.id])"> <button mat-menu-item [routerLink]="routerUtils.generateUrl(['/notification-templates/' + row.id])">
<mat-icon>edit</mat-icon>{{'NOTIFICATION-SERVICE.NOTIFICATION-TEMPLATE-LISTING.ACTIONS.EDIT' | translate}} <mat-icon>edit</mat-icon>{{'NOTIFICATION-SERVICE.NOTIFICATION-TEMPLATE-LISTING.ACTIONS.EDIT' | translate}}
</button> </button>
<button mat-menu-item (click)="deleteType(row.id)"> <button mat-menu-item (click)="deleteType(row.id)">