commit
de60a89865
|
@ -1653,9 +1653,10 @@
|
||||||
"core.currentdevice": "local_moodlemobileapp",
|
"core.currentdevice": "local_moodlemobileapp",
|
||||||
"core.custom": "form",
|
"core.custom": "form",
|
||||||
"core.reportbuilder.modifiedby": "tool_reportbuilder",
|
"core.reportbuilder.modifiedby": "tool_reportbuilder",
|
||||||
"core.reportbuilder.reportstab": "tool_reportbuilder",
|
"core.reportbuilder.reports": "moodle",
|
||||||
"core.reportbuilder.reportsource": "tool_reportbuilder",
|
"core.reportbuilder.reportsource": "moodle",
|
||||||
"core.reportbuilder.timecreated": "tool_reportbuilder",
|
"core.reportbuilder.timecreated": "moodle",
|
||||||
|
"core.reportbuilder.filtersapplied": "local_moodlemobileapp",
|
||||||
"core.reportbuilder.showcolumns": "local_moodlemobileapp",
|
"core.reportbuilder.showcolumns": "local_moodlemobileapp",
|
||||||
"core.reportbuilder.hidecolumns": "local_moodlemobileapp",
|
"core.reportbuilder.hidecolumns": "local_moodlemobileapp",
|
||||||
"core.datastoredoffline": "local_moodlemobileapp",
|
"core.datastoredoffline": "local_moodlemobileapp",
|
||||||
|
|
|
@ -41,7 +41,7 @@ export class CoreReportBuilderReportsSource extends CoreRoutedItemsManagerSource
|
||||||
*/
|
*/
|
||||||
protected setItems(reports: CoreReportBuilderReport[], hasMoreItems: boolean): void {
|
protected setItems(reports: CoreReportBuilderReport[], hasMoreItems: boolean): void {
|
||||||
const sortedReports = reports.slice(0);
|
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);
|
super.setItems(sortedReports, hasMoreItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,10 +22,6 @@
|
||||||
</core-format-text>
|
</core-format-text>
|
||||||
</h1>
|
</h1>
|
||||||
</ion-label>
|
</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>
|
||||||
|
|
||||||
<ion-item class="ion-text-wrap" [detail]="false" *ngFor="let item of reportDetailToDisplay">
|
<ion-item class="ion-text-wrap" [detail]="false" *ngFor="let item of reportDetailToDisplay">
|
||||||
|
@ -37,3 +33,16 @@
|
||||||
</ion-item>
|
</ion-item>
|
||||||
</div>
|
</div>
|
||||||
</ion-content>
|
</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({
|
@Component({
|
||||||
selector: 'core-report-builder-report-summary',
|
selector: 'core-report-builder-report-summary',
|
||||||
templateUrl: './report-summary.html',
|
templateUrl: './report-summary.html',
|
||||||
|
styleUrls: ['./report-summary.scss'],
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
})
|
})
|
||||||
export class CoreReportBuilderReportSummaryComponent implements OnInit {
|
export class CoreReportBuilderReportSummaryComponent implements OnInit {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{
|
{
|
||||||
"modifiedby": "Modified by",
|
"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",
|
"reportsource": "Report source",
|
||||||
"timecreated": "Time created",
|
"timecreated": "Time created",
|
||||||
"showcolumns": "Show columns",
|
"showcolumns": "Show columns",
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<ion-back-button [text]="'core.back' | translate"></ion-back-button>
|
<ion-back-button [text]="'core.back' | translate"></ion-back-button>
|
||||||
</ion-buttons>
|
</ion-buttons>
|
||||||
<ion-title>
|
<ion-title>
|
||||||
<h1>{{ 'core.reportbuilder.reportstab' | translate }}</h1>
|
<h1>{{ 'core.reportbuilder.reports' | translate }}</h1>
|
||||||
</ion-title>
|
</ion-title>
|
||||||
</ion-toolbar>
|
</ion-toolbar>
|
||||||
</ion-header>
|
</ion-header>
|
||||||
|
|
|
@ -13,7 +13,9 @@
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
import { APP_INITIALIZER, NgModule } from '@angular/core';
|
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 { CoreUserDelegate } from '@features/user/services/user-delegate';
|
||||||
import { CoreReportBuilderHandler, CoreReportBuilderHandlerService } from './services/handlers/reportbuilder';
|
import { CoreReportBuilderHandler, CoreReportBuilderHandlerService } from './services/handlers/reportbuilder';
|
||||||
|
|
||||||
|
@ -25,7 +27,10 @@ const routes: Routes = [
|
||||||
];
|
];
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [RouterModule.forChild(routes)],
|
imports: [
|
||||||
|
CoreMainMenuTabRoutingModule.forChild(routes),
|
||||||
|
],
|
||||||
|
exports: [CoreMainMenuRoutingModule],
|
||||||
providers: [
|
providers: [
|
||||||
{
|
{
|
||||||
provide: APP_INITIALIZER,
|
provide: APP_INITIALIZER,
|
||||||
|
|
|
@ -45,11 +45,11 @@ export class CoreReportBuilderHandlerService implements CoreUserProfileHandler {
|
||||||
return {
|
return {
|
||||||
class: 'core-report-builder',
|
class: 'core-report-builder',
|
||||||
icon: 'fa-list-alt',
|
icon: 'fa-list-alt',
|
||||||
title: 'core.reportbuilder.reportstab',
|
title: 'core.reportbuilder.reports',
|
||||||
action: async (event): Promise<void> => {
|
action: async (event): Promise<void> => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
await CoreNavigator.navigate(`/${CoreReportBuilderHandlerService.PAGE_NAME}`);
|
await CoreNavigator.navigateToSitePath(CoreReportBuilderHandlerService.PAGE_NAME);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue