Merge pull request #3542 from alfonso-salces/MOBILE-4077

Mobile 4077
main
Noel De Martin 2023-02-07 17:07:14 +01:00 committed by GitHub
commit de60a89865
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 45 additions and 14 deletions

View File

@ -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",

View File

@ -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);
}

View File

@ -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>

View File

@ -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;
}
}

View File

@ -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 {

View File

@ -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",

View File

@ -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>

View File

@ -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,

View File

@ -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);
},
};
}