commit
de60a89865
|
@ -1653,9 +1653,10 @@
|
|||
"core.currentdevice": "local_moodlemobileapp",
|
||||
"core.custom": "form",
|
||||
"core.reportbuilder.modifiedby": "tool_reportbuilder",
|
||||
"core.reportbuilder.reportstab": "tool_reportbuilder",
|
||||
"core.reportbuilder.reportsource": "tool_reportbuilder",
|
||||
"core.reportbuilder.timecreated": "tool_reportbuilder",
|
||||
"core.reportbuilder.reports": "moodle",
|
||||
"core.reportbuilder.reportsource": "moodle",
|
||||
"core.reportbuilder.timecreated": "moodle",
|
||||
"core.reportbuilder.filtersapplied": "local_moodlemobileapp",
|
||||
"core.reportbuilder.showcolumns": "local_moodlemobileapp",
|
||||
"core.reportbuilder.hidecolumns": "local_moodlemobileapp",
|
||||
"core.datastoredoffline": "local_moodlemobileapp",
|
||||
|
|
|
@ -41,7 +41,7 @@ export class CoreReportBuilderReportsSource extends CoreRoutedItemsManagerSource
|
|||
*/
|
||||
protected setItems(reports: CoreReportBuilderReport[], hasMoreItems: boolean): void {
|
||||
const sortedReports = reports.slice(0);
|
||||
reports.sort((a, b) => a.timecreated < b.timecreated ? 1 : -1);
|
||||
sortedReports.sort((a, b) => a.timemodified < b.timemodified ? 1 : -1);
|
||||
super.setItems(sortedReports, hasMoreItems);
|
||||
}
|
||||
|
||||
|
|
|
@ -22,10 +22,6 @@
|
|||
</core-format-text>
|
||||
</h1>
|
||||
</ion-label>
|
||||
<ion-button fill="clear" [href]="reportUrl" core-link [showBrowserWarning]="false"
|
||||
[attr.aria-label]="'core.openinbrowser' | translate" slot="end">
|
||||
<ion-icon name="fas-external-link-alt" slot="icon-only" aria-hidden="true"></ion-icon>
|
||||
</ion-button>
|
||||
</ion-item>
|
||||
|
||||
<ion-item class="ion-text-wrap" [detail]="false" *ngFor="let item of reportDetailToDisplay">
|
||||
|
@ -37,3 +33,16 @@
|
|||
</ion-item>
|
||||
</div>
|
||||
</ion-content>
|
||||
|
||||
<ion-footer class="ion-no-border">
|
||||
<ion-item class="ion-text-wrap filters-info">
|
||||
<ion-label>
|
||||
<p>
|
||||
<ion-icon name="fas-info-circle" aria-hidden="true"></ion-icon>
|
||||
<core-format-text [text]="'core.reportbuilder.filtersapplied' | translate: { $a: reportUrl }" contextLevel="report"
|
||||
[contextInstanceId]="reportDetail.id">
|
||||
</core-format-text>
|
||||
</p>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
</ion-footer>
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
@import "~theme/globals";
|
||||
|
||||
.filters-info {
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
|
||||
ion-footer {
|
||||
ion-icon {
|
||||
font-size: 16px;
|
||||
color: $blue;
|
||||
margin-right: .3rem;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
|
@ -21,6 +21,7 @@ import { ModalController } from '@singletons';
|
|||
@Component({
|
||||
selector: 'core-report-builder-report-summary',
|
||||
templateUrl: './report-summary.html',
|
||||
styleUrls: ['./report-summary.scss'],
|
||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||
})
|
||||
export class CoreReportBuilderReportSummaryComponent implements OnInit {
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"modifiedby": "Modified by",
|
||||
"reportstab": "Reports",
|
||||
"reports": "Reports",
|
||||
"filtersapplied": "There may be filters applied to this view. To edit filters or change the sorting order, <a href=\"{{$a}}\">open this report on your browser.</a>",
|
||||
"reportsource": "Report source",
|
||||
"timecreated": "Time created",
|
||||
"showcolumns": "Show columns",
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<ion-back-button [text]="'core.back' | translate"></ion-back-button>
|
||||
</ion-buttons>
|
||||
<ion-title>
|
||||
<h1>{{ 'core.reportbuilder.reportstab' | translate }}</h1>
|
||||
<h1>{{ 'core.reportbuilder.reports' | translate }}</h1>
|
||||
</ion-title>
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
|
|
|
@ -13,7 +13,9 @@
|
|||
// limitations under the License.
|
||||
|
||||
import { APP_INITIALIZER, NgModule } from '@angular/core';
|
||||
import { RouterModule, Routes } from '@angular/router';
|
||||
import { Routes } from '@angular/router';
|
||||
import { CoreMainMenuRoutingModule } from '@features/mainmenu/mainmenu-routing.module';
|
||||
import { CoreMainMenuTabRoutingModule } from '@features/mainmenu/mainmenu-tab-routing.module';
|
||||
import { CoreUserDelegate } from '@features/user/services/user-delegate';
|
||||
import { CoreReportBuilderHandler, CoreReportBuilderHandlerService } from './services/handlers/reportbuilder';
|
||||
|
||||
|
@ -25,7 +27,10 @@ const routes: Routes = [
|
|||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [RouterModule.forChild(routes)],
|
||||
imports: [
|
||||
CoreMainMenuTabRoutingModule.forChild(routes),
|
||||
],
|
||||
exports: [CoreMainMenuRoutingModule],
|
||||
providers: [
|
||||
{
|
||||
provide: APP_INITIALIZER,
|
||||
|
|
|
@ -45,11 +45,11 @@ export class CoreReportBuilderHandlerService implements CoreUserProfileHandler {
|
|||
return {
|
||||
class: 'core-report-builder',
|
||||
icon: 'fa-list-alt',
|
||||
title: 'core.reportbuilder.reportstab',
|
||||
title: 'core.reportbuilder.reports',
|
||||
action: async (event): Promise<void> => {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
await CoreNavigator.navigate(`/${CoreReportBuilderHandlerService.PAGE_NAME}`);
|
||||
await CoreNavigator.navigateToSitePath(CoreReportBuilderHandlerService.PAGE_NAME);
|
||||
},
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue