mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
90155: Added queryParams to link menu options
- Made it possible to add queryParams to a link in the menu
This commit is contained in:
@@ -1 +1,3 @@
|
|||||||
<a href="javascript:void(0);" class="nav-item nav-link" [ngClass]="{'disabled': !hasLink}" [routerLink]="getRouterLink()">{{item.text | translate}}</a>
|
<a href="javascript:void(0);" class="nav-item nav-link" [ngClass]="{'disabled': !hasLink}"
|
||||||
|
[routerLink]="getRouterLink()"
|
||||||
|
[queryParams]="item.queryParams">{{item.text | translate}}</a>
|
||||||
|
@@ -5,6 +5,7 @@ import { By } from '@angular/platform-browser';
|
|||||||
import { LinkMenuItemComponent } from './link-menu-item.component';
|
import { LinkMenuItemComponent } from './link-menu-item.component';
|
||||||
import { RouterLinkDirectiveStub } from '../../testing/router-link-directive.stub';
|
import { RouterLinkDirectiveStub } from '../../testing/router-link-directive.stub';
|
||||||
import { environment } from '../../../../environments/environment';
|
import { environment } from '../../../../environments/environment';
|
||||||
|
import { QueryParamsDirectiveStub } from '../../testing/query-params-directive.stub';
|
||||||
|
|
||||||
describe('LinkMenuItemComponent', () => {
|
describe('LinkMenuItemComponent', () => {
|
||||||
let component: LinkMenuItemComponent;
|
let component: LinkMenuItemComponent;
|
||||||
@@ -12,19 +13,21 @@ describe('LinkMenuItemComponent', () => {
|
|||||||
let debugElement: DebugElement;
|
let debugElement: DebugElement;
|
||||||
let text;
|
let text;
|
||||||
let link;
|
let link;
|
||||||
|
let queryParams;
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
text = 'HELLO';
|
text = 'HELLO';
|
||||||
link = 'http://google.com';
|
link = 'http://google.com';
|
||||||
|
queryParams = {params: true};
|
||||||
}
|
}
|
||||||
|
|
||||||
beforeEach(waitForAsync(() => {
|
beforeEach(waitForAsync(() => {
|
||||||
init();
|
init();
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
imports: [TranslateModule.forRoot()],
|
imports: [TranslateModule.forRoot()],
|
||||||
declarations: [LinkMenuItemComponent, RouterLinkDirectiveStub],
|
declarations: [LinkMenuItemComponent, RouterLinkDirectiveStub, QueryParamsDirectiveStub],
|
||||||
providers: [
|
providers: [
|
||||||
{ provide: 'itemModelProvider', useValue: { text: text, link: link } },
|
{ provide: 'itemModelProvider', useValue: { text: text, link: link, queryParams: queryParams } },
|
||||||
],
|
],
|
||||||
schemas: [NO_ERRORS_SCHEMA]
|
schemas: [NO_ERRORS_SCHEMA]
|
||||||
})
|
})
|
||||||
@@ -54,4 +57,12 @@ describe('LinkMenuItemComponent', () => {
|
|||||||
expect(routerLinkQuery.length).toBe(1);
|
expect(routerLinkQuery.length).toBe(1);
|
||||||
expect(routerLinkQuery[0].routerLink).toBe(environment.ui.nameSpace + link);
|
expect(routerLinkQuery[0].routerLink).toBe(environment.ui.nameSpace + link);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should have the right queryParams attribute', () => {
|
||||||
|
const queryDes = fixture.debugElement.queryAll(By.directive(QueryParamsDirectiveStub));
|
||||||
|
const routerParamsQuery = queryDes.map((de) => de.injector.get(QueryParamsDirectiveStub));
|
||||||
|
|
||||||
|
expect(routerParamsQuery.length).toBe(1);
|
||||||
|
expect(routerParamsQuery[0].queryParams).toBe(queryParams);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
import { MenuItemModel } from './menu-item.model';
|
import { MenuItemModel } from './menu-item.model';
|
||||||
import { MenuItemType } from '../../initial-menus-state';
|
import { MenuItemType } from '../../initial-menus-state';
|
||||||
|
import { Params } from '@angular/router';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Model representing an Link Menu Section
|
* Model representing an Link Menu Section
|
||||||
@@ -8,4 +9,5 @@ export class LinkMenuItemModel implements MenuItemModel {
|
|||||||
type = MenuItemType.LINK;
|
type = MenuItemType.LINK;
|
||||||
text: string;
|
text: string;
|
||||||
link: string;
|
link: string;
|
||||||
|
queryParams?: Params | null;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user