Skip to content

Commit 2cbd7fe

Browse files
committed
[DSC-1831] Use browse only directive in the proper way
1 parent 509e61e commit 2cbd7fe

3 files changed

Lines changed: 24 additions & 17 deletions

File tree

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
1-
<div class="d-flex space-children-mr justify-content-end" dsRenderOnlyForBrowser>
2-
<ng-container *ngFor="let entry of (getStandAloneMenuEntries() | async)">
3-
<ng-container *ngComponentOutlet="entry; injector: objectInjector;"></ng-container>
4-
</ng-container>
5-
<div ngbDropdown #itemOptions="ngbDropdown" placement="bottom-right"
6-
class="float-right ml-1" [ngClass]="optionCount === 0 ? 'd-none' : 'd-inline-block'">
7-
<button class="btn btn-outline-primary" id="context-menu" ngbDropdownToggle>
8-
<i class="fas fa-ellipsis-h" aria-hidden="true"></i>
9-
</button>
10-
<div id="itemOptionsDropdownMenu" aria-labelledby="context-menu" ngbDropdownMenu>
11-
<h6 class="dropdown-header">{{'context-menu.actions.label' | translate}}</h6>
12-
<ng-container *ngFor="let entry of (getContextMenuEntries() | async)">
13-
<ng-container *ngComponentOutlet="entry; injector: objectInjector;"></ng-container>
14-
</ng-container>
1+
<div *ngIf="contextMenuObject">
2+
<div class="d-flex space-children-mr justify-content-end" *dsRenderOnlyForBrowser="true">
3+
<ng-container *ngFor="let entry of (getStandAloneMenuEntries() | async)">
4+
<ng-container *ngComponentOutlet="entry; injector: objectInjector;"></ng-container>
5+
</ng-container>
6+
<div ngbDropdown #itemOptions="ngbDropdown" placement="bottom-right"
7+
class="float-right ml-1" [ngClass]="optionCount === 0 ? 'd-none' : 'd-inline-block'">
8+
<button class="btn btn-outline-primary" id="context-menu" ngbDropdownToggle>
9+
<i class="fas fa-ellipsis-h" aria-hidden="true"></i>
10+
</button>
11+
<div id="itemOptionsDropdownMenu" aria-labelledby="context-menu" ngbDropdownMenu>
12+
<h6 class="dropdown-header">{{ 'context-menu.actions.label' | translate }}</h6>
13+
<ng-container *ngFor="let entry of (getContextMenuEntries() | async)">
14+
<ng-container *ngComponentOutlet="entry; injector: objectInjector;"></ng-container>
15+
</ng-container>
16+
</div>
1517
</div>
1618
</div>
1719
</div>

src/app/shared/context-menu/context-menu.component.spec.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
2-
import { Component, Injector, NO_ERRORS_SCHEMA } from '@angular/core';
2+
import { Component, Injector, NO_ERRORS_SCHEMA, PLATFORM_ID } from '@angular/core';
33
import { BrowserDynamicTestingModule } from '@angular/platform-browser-dynamic/testing';
44
import { By } from '@angular/platform-browser';
55

@@ -27,6 +27,7 @@ import { NotificationsServiceStub } from '../testing/notifications-service.stub'
2727
import { AuthService } from '../../core/auth/auth.service';
2828
import { EPersonMock } from '../testing/eperson.mock';
2929
import { ItemExportFormConfiguration, ItemExportService } from '../search/item-export/item-export.service';
30+
import { BrowserOnlyDirective } from '../utils/browser-only.directive';
3031

3132
describe('ContextMenuComponent', () => {
3233
let component: ContextMenuComponent;
@@ -98,7 +99,8 @@ describe('ContextMenuComponent', () => {
9899
useClass: TranslateLoaderMock
99100
}
100101
}),
101-
NgbDropdownModule
102+
NgbDropdownModule,
103+
BrowserOnlyDirective
102104
],
103105
declarations: [ContextMenuComponent, TestComponent, ExportItemMenuComponent, StatisticsMenuComponent, SubscriptionMenuComponent],
104106
providers: [
@@ -110,6 +112,7 @@ describe('ContextMenuComponent', () => {
110112
{ provide: AuthService, useValue: authService },
111113
{ provide: AuthorizationDataService, useValue: authorizationDataService },
112114
{ provide: NotificationsService, useValue: new NotificationsServiceStub() },
115+
{ provide: PLATFORM_ID, useValue: 'browser' },
113116
Injector
114117
],
115118
schemas: [NO_ERRORS_SCHEMA]

src/app/shared/context-menu/context-menu.module.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import { ItemVersionMenuComponent } from './item-version/item-version-menu.compo
2222
import { FullItemMenuComponent } from './full-item/full-item-menu.component';
2323
import { OrcidViewPageMenuComponent } from './orcid-view-page/orcid-view-page-menu.component';
2424
import { SharedModule } from '../shared.module';
25+
import { BrowserOnlyDirective } from '../utils/browser-only.directive';
2526

2627
const COMPONENTS = [
2728
BulkImportMenuComponent,
@@ -64,7 +65,8 @@ const MODULE = [
6465
RouterModule,
6566
TranslateModule,
6667
SubscriptionsModule,
67-
SharedModule
68+
SharedModule,
69+
BrowserOnlyDirective
6870
];
6971
@NgModule({
7072
imports: [

0 commit comments

Comments
 (0)