MOBILE-4505 course: Avoid show two info icons in navbar

main
Alfonso Salces 2024-09-26 12:44:09 +02:00
parent 4c9b69879e
commit 9cedee30e6
25 changed files with 180 additions and 5 deletions

View File

@ -1,8 +1,15 @@
<!-- Buttons to add to the header. --> <!-- Buttons to add to the header. -->
<core-navbar-buttons slot="end"> <core-navbar-buttons slot="end">
@if (!courseContentsPage) {
<ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate"> <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
} @else {
<core-context-menu>
<core-context-menu-item [priority]="5000" [content]="'core.info' | translate" (action)="openModuleSummary()"
iconAction="fas-circle-info" />
</core-context-menu>
}
</core-navbar-buttons> </core-navbar-buttons>
<!-- Content. --> <!-- Content. -->

View File

@ -1,8 +1,15 @@
<!-- Buttons to add to the header. --> <!-- Buttons to add to the header. -->
<core-navbar-buttons slot="end"> <core-navbar-buttons slot="end">
@if (!courseContentsPage) {
<ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate"> <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
} @else {
<core-context-menu>
<core-context-menu-item [priority]="5000" [content]="'core.info' | translate" (action)="openModuleSummary()"
iconAction="fas-circle-info" />
</core-context-menu>
}
</core-navbar-buttons> </core-navbar-buttons>
<!-- Content. --> <!-- Content. -->

View File

@ -1,8 +1,15 @@
<!-- Buttons to add to the header. --> <!-- Buttons to add to the header. -->
<core-navbar-buttons slot="end"> <core-navbar-buttons slot="end">
@if (!courseContentsPage) {
<ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate"> <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
} @else {
<core-context-menu>
<core-context-menu-item [priority]="5000" [content]="'core.info' | translate" (action)="openModuleSummary()"
iconAction="fas-circle-info" />
</core-context-menu>
}
</core-navbar-buttons> </core-navbar-buttons>
<!-- Content. --> <!-- Content. -->

View File

@ -1,8 +1,15 @@
<!-- Buttons to add to the header. --> <!-- Buttons to add to the header. -->
<core-navbar-buttons slot="end"> <core-navbar-buttons slot="end">
@if (!courseContentsPage) {
<ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate"> <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
} @else {
<core-context-menu>
<core-context-menu-item [priority]="5000" [content]="'core.info' | translate" (action)="openModuleSummary()"
iconAction="fas-circle-info" />
</core-context-menu>
}
</core-navbar-buttons> </core-navbar-buttons>
<!-- Content. --> <!-- Content. -->

View File

@ -1,8 +1,15 @@
<!-- Buttons to add to the header. --> <!-- Buttons to add to the header. -->
<core-navbar-buttons slot="end"> <core-navbar-buttons slot="end">
@if (!courseContentsPage) {
<ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate"> <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
} @else {
<core-context-menu>
<core-context-menu-item [priority]="5000" [content]="'core.info' | translate" (action)="openModuleSummary()"
iconAction="fas-circle-info" />
</core-context-menu>
}
</core-navbar-buttons> </core-navbar-buttons>
<!-- Content. --> <!-- Content. -->

View File

@ -8,11 +8,18 @@
(action)="gotoAddEntry()" /> (action)="gotoAddEntry()" />
<core-context-menu-item [priority]="400" *ngIf="firstEntry" [content]="'addon.mod_data.single' | translate" iconAction="fas-file" <core-context-menu-item [priority]="400" *ngIf="firstEntry" [content]="'addon.mod_data.single' | translate" iconAction="fas-file"
(action)="gotoEntry(firstEntry)" /> (action)="gotoEntry(firstEntry)" />
@if (courseContentsPage) {
<core-context-menu-item [priority]="5000" [content]="'core.info' | translate" (action)="openModuleSummary()"
iconAction="fas-circle-info" />
}
</core-context-menu> </core-context-menu>
@if (!courseContentsPage) {
<ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate"> <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
}
</core-navbar-buttons> </core-navbar-buttons>
<!-- Content. --> <!-- Content. -->

View File

@ -1,8 +1,15 @@
<!-- Buttons to add to the header. --> <!-- Buttons to add to the header. -->
<core-navbar-buttons slot="end"> <core-navbar-buttons slot="end">
@if (!courseContentsPage) {
<ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate"> <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
} @else {
<core-context-menu>
<core-context-menu-item [priority]="5000" [content]="'core.info' | translate" (action)="openModuleSummary()"
iconAction="fas-circle-info" />
</core-context-menu>
}
</core-navbar-buttons> </core-navbar-buttons>
<!-- Content. --> <!-- Content. -->
@ -161,8 +168,9 @@
<ion-item class="ion-text-wrap core-analysis" *ngFor="let item of items"> <ion-item class="ion-text-wrap core-analysis" *ngFor="let item of items">
<ion-label> <ion-label>
<p class="item-heading"> <p class="item-heading">
{{item.num}}. <core-format-text [component]="component" [componentId]="componentId" [text]="item.name" {{item.num}}.
contextLevel="module" [contextInstanceId]="module.id" [courseId]="courseId" /> <core-format-text [component]="component" [componentId]="componentId" [text]="item.name" contextLevel="module"
[contextInstanceId]="module.id" [courseId]="courseId" />
</p> </p>
<p> <p>
<core-format-text [component]="component" [componentId]="componentId" [text]="item.label" contextLevel="module" <core-format-text [component]="component" [componentId]="componentId" [text]="item.label" contextLevel="module"

View File

@ -1,8 +1,15 @@
<!-- Buttons to add to the header. --> <!-- Buttons to add to the header. -->
<core-navbar-buttons slot="end"> <core-navbar-buttons slot="end">
@if (!courseContentsPage) {
<ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate"> <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
} @else {
<core-context-menu>
<core-context-menu-item [priority]="5000" [content]="'core.info' | translate" (action)="openModuleSummary()"
iconAction="fas-circle-info" />
</core-context-menu>
}
</core-navbar-buttons> </core-navbar-buttons>
<!-- Content. --> <!-- Content. -->

View File

@ -3,11 +3,20 @@
<ion-button fill="clear" *ngIf="showSearch" (click)="openSearch()" [ariaLabel]="'core.search' | translate"> <ion-button fill="clear" *ngIf="showSearch" (click)="openSearch()" [ariaLabel]="'core.search' | translate">
<ion-icon name="fas-magnifying-glass" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-magnifying-glass" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
@if (!courseContentsPage) {
<ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate"> <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
<!-- Add an empty context menu so split view pages can add items, otherwise the menu disappears in some cases. --> <!-- Add an empty context menu so split view pages can add items, otherwise the menu disappears in some cases. -->
<core-context-menu /> <core-context-menu />
} @else {
<core-context-menu>
<core-context-menu-item [priority]="5000" [content]="'core.info' | translate" (action)="openModuleSummary()"
iconAction="fas-circle-info" />
</core-context-menu>
}
</core-navbar-buttons> </core-navbar-buttons>
<!-- Content. --> <!-- Content. -->

View File

@ -9,9 +9,16 @@
<ion-icon name="fas-magnifying-glass" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-magnifying-glass" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
<ion-button *ngIf="!showLoading" fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate"> @if (!courseContentsPage) {
<ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
} @else {
<core-context-menu>
<core-context-menu-item [priority]="5000" [content]="'core.info' | translate" (action)="openModuleSummary()"
iconAction="fas-circle-info" />
</core-context-menu>
}
</core-navbar-buttons> </core-navbar-buttons>
<!-- Content. --> <!-- Content. -->

View File

@ -6,11 +6,18 @@
iconAction="fas-chart-bar" /> iconAction="fas-chart-bar" />
<core-context-menu-item *ngIf="canViewAllAttempts" [priority]="1000" [content]="'addon.mod_h5pactivity.attempts_report' | translate" <core-context-menu-item *ngIf="canViewAllAttempts" [priority]="1000" [content]="'addon.mod_h5pactivity.attempts_report' | translate"
(action)="viewAllAttempts()" iconAction="fas-chart-bar" /> (action)="viewAllAttempts()" iconAction="fas-chart-bar" />
@if (courseContentsPage) {
<core-context-menu-item [priority]="5000" [content]="'core.info' | translate" (action)="openModuleSummary()"
iconAction="fas-circle-info" />
}
</core-context-menu> </core-context-menu>
@if (!courseContentsPage) {
<ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate"> <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
}
</core-navbar-buttons> </core-navbar-buttons>
<!-- Content. --> <!-- Content. -->

View File

@ -1,8 +1,15 @@
<!-- Buttons to add to the header. --> <!-- Buttons to add to the header. -->
<core-navbar-buttons slot="end"> <core-navbar-buttons slot="end">
@if (!courseContentsPage) {
<ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate"> <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
} @else {
<core-context-menu>
<core-context-menu-item [priority]="5000" [content]="'core.info' | translate" (action)="openModuleSummary()"
iconAction="fas-circle-info" />
</core-context-menu>
}
</core-navbar-buttons> </core-navbar-buttons>
<!-- Content. --> <!-- Content. -->

View File

@ -1,8 +1,15 @@
<!-- Buttons to add to the header. --> <!-- Buttons to add to the header. -->
<core-navbar-buttons slot="end"> <core-navbar-buttons slot="end">
@if (!courseContentsPage) {
<ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate"> <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
} @else {
<core-context-menu>
<core-context-menu-item [priority]="5000" [content]="'core.info' | translate" (action)="openModuleSummary()"
iconAction="fas-circle-info" />
</core-context-menu>
}
</core-navbar-buttons> </core-navbar-buttons>
<!-- Content. --> <!-- Content. -->

View File

@ -1,8 +1,15 @@
<!-- Buttons to add to the header. --> <!-- Buttons to add to the header. -->
<core-navbar-buttons slot="end"> <core-navbar-buttons slot="end">
@if (!courseContentsPage) {
<ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate"> <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
} @else {
<core-context-menu>
<core-context-menu-item [priority]="5000" [content]="'core.info' | translate" (action)="openModuleSummary()"
iconAction="fas-circle-info" />
</core-context-menu>
}
</core-navbar-buttons> </core-navbar-buttons>
<!-- Content. --> <!-- Content. -->

View File

@ -1,8 +1,15 @@
<!-- Buttons to add to the header. --> <!-- Buttons to add to the header. -->
<core-navbar-buttons slot="end"> <core-navbar-buttons slot="end">
@if (!courseContentsPage) {
<ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate"> <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
} @else {
<core-context-menu>
<core-context-menu-item [priority]="5000" [content]="'core.info' | translate" (action)="openModuleSummary()"
iconAction="fas-circle-info" />
</core-context-menu>
}
</core-navbar-buttons> </core-navbar-buttons>
<!-- Content. --> <!-- Content. -->

View File

@ -1,8 +1,15 @@
<!-- Buttons to add to the header. --> <!-- Buttons to add to the header. -->
<core-navbar-buttons slot="end"> <core-navbar-buttons slot="end">
@if (!courseContentsPage) {
<ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate"> <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
} @else {
<core-context-menu>
<core-context-menu-item [priority]="5000" [content]="'core.info' | translate" (action)="openModuleSummary()"
iconAction="fas-circle-info" />
</core-context-menu>
}
</core-navbar-buttons> </core-navbar-buttons>
<!-- Content. --> <!-- Content. -->

View File

@ -1,8 +1,15 @@
<!-- Buttons to add to the header. --> <!-- Buttons to add to the header. -->
<core-navbar-buttons slot="end"> <core-navbar-buttons slot="end">
@if (!courseContentsPage) {
<ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate"> <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
} @else {
<core-context-menu>
<core-context-menu-item [priority]="5000" [content]="'core.info' | translate" (action)="openModuleSummary()"
iconAction="fas-circle-info" />
</core-context-menu>
}
</core-navbar-buttons> </core-navbar-buttons>
<!-- Content. --> <!-- Content. -->

View File

@ -1,8 +1,15 @@
<!-- Buttons to add to the header. --> <!-- Buttons to add to the header. -->
<core-navbar-buttons slot="end"> <core-navbar-buttons slot="end">
@if (!courseContentsPage) {
<ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate"> <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
} @else {
<core-context-menu>
<core-context-menu-item [priority]="5000" [content]="'core.info' | translate" (action)="openModuleSummary()"
iconAction="fas-circle-info" />
</core-context-menu>
}
</core-navbar-buttons> </core-navbar-buttons>
<!-- Content. --> <!-- Content. -->

View File

@ -1,8 +1,15 @@
<!-- Buttons to add to the header. --> <!-- Buttons to add to the header. -->
<core-navbar-buttons slot="end"> <core-navbar-buttons slot="end">
@if (!courseContentsPage) {
<ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate"> <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
} @else {
<core-context-menu>
<core-context-menu-item [priority]="5000" [content]="'core.info' | translate" (action)="openModuleSummary()"
iconAction="fas-circle-info" />
</core-context-menu>
}
</core-navbar-buttons> </core-navbar-buttons>
<!-- Content. --> <!-- Content. -->

View File

@ -1,8 +1,15 @@
<!-- Buttons to add to the header. --> <!-- Buttons to add to the header. -->
<core-navbar-buttons slot="end"> <core-navbar-buttons slot="end">
@if (!courseContentsPage) {
<ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate"> <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
} @else {
<core-context-menu>
<core-context-menu-item [priority]="5000" [content]="'core.info' | translate" (action)="openModuleSummary()"
iconAction="fas-circle-info" />
</core-context-menu>
}
</core-navbar-buttons> </core-navbar-buttons>
<!-- Content. --> <!-- Content. -->

View File

@ -17,11 +17,18 @@
iconAction="fas-pen" (action)="goToEditPage()" /> iconAction="fas-pen" (action)="goToEditPage()" />
<core-context-menu-item *ngIf="canEdit" [priority]="580" [content]="'addon.mod_wiki.createpage' | translate" iconAction="fas-plus" <core-context-menu-item *ngIf="canEdit" [priority]="580" [content]="'addon.mod_wiki.createpage' | translate" iconAction="fas-plus"
(action)="goToNewPage()" /> (action)="goToNewPage()" />
@if (courseContentsPage) {
<core-context-menu-item [priority]="5000" [content]="'core.info' | translate" (action)="openModuleSummary()"
iconAction="fas-circle-info" />
}
</core-context-menu> </core-context-menu>
@if (!courseContentsPage) {
<ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate"> <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
}
</core-navbar-buttons> </core-navbar-buttons>
<!-- Content. --> <!-- Content. -->

View File

@ -1,8 +1,15 @@
<!-- Buttons to add to the header. --> <!-- Buttons to add to the header. -->
<core-navbar-buttons slot="end"> <core-navbar-buttons slot="end">
@if (!courseContentsPage) {
<ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate"> <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
} @else {
<core-context-menu>
<core-context-menu-item [priority]="5000" [content]="'core.info' | translate" (action)="openModuleSummary()"
iconAction="fas-circle-info" />
</core-context-menu>
}
</core-navbar-buttons> </core-navbar-buttons>
<!-- Content. --> <!-- Content. -->

View File

@ -10,11 +10,19 @@
</ion-title> </ion-title>
<ion-buttons slot="end"> <ion-buttons slot="end">
@if (course?.format !== 'singleactivity') {
<ion-button fill="clear" (click)="openCourseSummary()" [ariaLabel]="'core.course.coursesummary' | translate"> <ion-button fill="clear" (click)="openCourseSummary()" [ariaLabel]="'core.course.coursesummary' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
<!-- Add an empty context menu so tab pages can add items, otherwise the menu disappears in some cases. --> <!-- Add an empty context menu so tab pages can add items, otherwise the menu disappears in some cases. -->
<core-context-menu /> <core-context-menu />
} @else {
<core-context-menu>
<core-context-menu-item [priority]="1" [content]="'core.course.coursesummary' | translate" (action)="openCourseSummary()"
iconAction="fas-graduation-cap" />
</core-context-menu>
}
</ion-buttons> </ion-buttons>
</ion-toolbar> </ion-toolbar>
</ion-header> </ion-header>

View File

@ -1,8 +1,15 @@
<!-- Buttons to add to the header. --> <!-- Buttons to add to the header. -->
<core-navbar-buttons slot="end"> <core-navbar-buttons slot="end">
<ion-button fill="clear" (click)="openModuleSummary()" [ariaLabel]="'core.info' | translate"> @if (!courseContentsPage) {
<ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [ariaLabel]="'core.info' | translate">
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" /> <ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true" />
</ion-button> </ion-button>
} @else {
<core-context-menu>
<core-context-menu-item [priority]="5000" [content]="'core.info' | translate" (action)="openModuleSummary()"
iconAction="fas-circle-info" />
</core-context-menu>
}
</core-navbar-buttons> </core-navbar-buttons>
<!-- Activity info. --> <!-- Activity info. -->

View File

@ -12,10 +12,11 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
import { Component, OnInit, OnDestroy, Input, ViewChild, HostBinding } from '@angular/core'; import { Component, OnInit, OnDestroy, Input, ViewChild, HostBinding, Optional } from '@angular/core';
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site'; import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
import { CoreCourseModuleSummaryResult } from '@features/course/components/module-summary/module-summary'; import { CoreCourseModuleSummaryResult } from '@features/course/components/module-summary/module-summary';
import { CoreCourseContentsPage } from '@features/course/pages/contents/contents';
import { CoreCourse } from '@features/course/services/course'; import { CoreCourse } from '@features/course/services/course';
import { CoreCourseModuleData } from '@features/course/services/course-helper'; import { CoreCourseModuleData } from '@features/course/services/course-helper';
import { import {
@ -71,6 +72,8 @@ export class CoreSitePluginsModuleIndexComponent implements OnInit, OnDestroy, C
jsData?: Record<string, unknown>; // Data to pass to the component. jsData?: Record<string, unknown>; // Data to pass to the component.
constructor(@Optional() public courseContentsPage?: CoreCourseContentsPage) {}
/** /**
* @inheritdoc * @inheritdoc
*/ */