MOBILE-2783 dashboard: Reduce selectors on dashboard blocks
parent
02f3d107ae
commit
58c6806152
|
@ -10,28 +10,21 @@
|
|||
</div>
|
||||
<core-context-menu item-end>
|
||||
<core-context-menu-item *ngIf="loaded && showFilterSwitchButton()" [priority]="1000" [content]="'core.courses.filtermycourses' | translate" (action)="switchFilter()" iconAction="funnel"></core-context-menu-item>
|
||||
<core-context-menu-item *ngIf="loaded && showSortFilter && sort == 'lastaccess'" [priority]="900" content="{{('core.sortby' | translate) + ': ' + ('addon.block_myoverview.title' | translate)}}" (action)="switchSort('fullname')" iconAction="fa-sort"></core-context-menu-item>
|
||||
<core-context-menu-item *ngIf="loaded && showSortFilter && sort == 'fullname'" [priority]="800" content="{{('core.sortby' | translate) + ': ' + ('addon.block_myoverview.lastaccessed' | translate)}}" (action)="switchSort('lastaccess')" iconAction="fa-sort"></core-context-menu-item>
|
||||
</core-context-menu>
|
||||
</ion-item-divider>
|
||||
<core-loading [hideUntil]="loaded" class="core-loading-center">
|
||||
<div padding ion-row justify-content-end [hidden]="showFilter" class="safe-padding-horizontal">
|
||||
<div padding [hidden]="showFilter || !showSelectorFilter" class="safe-padding-horizontal">
|
||||
<!-- "Time" selector. -->
|
||||
<ion-col [hidden]="!showSelectorFilter">
|
||||
<ion-select text-start [title]="'core.show' | translate" [(ngModel)]="selectedFilter" ion-col (ngModelChange)="selectedChanged()" interface="popover" class="core-button-select">
|
||||
<ion-option value="all">{{ 'addon.block_myoverview.all' | translate }}</ion-option>∫
|
||||
<ion-option value="inprogress">{{ 'addon.block_myoverview.inprogress' | translate }}</ion-option>
|
||||
<ion-option value="future">{{ 'addon.block_myoverview.future' | translate }}</ion-option>
|
||||
<ion-option value="past">{{ 'addon.block_myoverview.past' | translate }}</ion-option>
|
||||
<ion-option value="favourite" *ngIf="showFavourite">{{ 'addon.block_myoverview.favourites' | translate }}</ion-option>
|
||||
<ion-option value="hidden" *ngIf="showHidden">{{ 'addon.block_myoverview.hiddencourses' | translate }}</ion-option>
|
||||
</ion-select>
|
||||
</ion-col>
|
||||
<!-- "Sort" selector. -->
|
||||
<ion-col [hidden]="!showSortFilter">
|
||||
<ion-select text-start [(ngModel)]="sort" (ngModelChange)="switchSort()" interface="popover" class="core-button-select">
|
||||
<ion-option value="fullname">{{ 'addon.block_myoverview.title' | translate }}</ion-option>
|
||||
<ion-option value="lastaccess">{{ 'addon.block_myoverview.lastaccessed' | translate }}</ion-option>
|
||||
</ion-select>
|
||||
</ion-col>
|
||||
<ion-select text-start [title]="'core.show' | translate" [(ngModel)]="selectedFilter" ion-col (ngModelChange)="selectedChanged()" interface="popover" class="core-button-select">
|
||||
<ion-option value="all">{{ 'addon.block_myoverview.all' | translate }}</ion-option>∫
|
||||
<ion-option value="inprogress">{{ 'addon.block_myoverview.inprogress' | translate }}</ion-option>
|
||||
<ion-option value="future">{{ 'addon.block_myoverview.future' | translate }}</ion-option>
|
||||
<ion-option value="past">{{ 'addon.block_myoverview.past' | translate }}</ion-option>
|
||||
<ion-option value="favourite" *ngIf="showFavourite">{{ 'addon.block_myoverview.favourites' | translate }}</ion-option>
|
||||
<ion-option value="hidden" *ngIf="showHidden">{{ 'addon.block_myoverview.hiddencourses' | translate }}</ion-option>
|
||||
</ion-select>
|
||||
</div>
|
||||
<core-empty-box *ngIf="courses[selectedFilter].length == 0" image="assets/img/icons/courses.svg" [message]="'addon.block_myoverview.nocourses' | translate"></core-empty-box>
|
||||
|
||||
|
|
|
@ -279,8 +279,11 @@ export class AddonBlockMyOverviewComponent extends CoreBlockBaseComponent implem
|
|||
|
||||
/**
|
||||
* The selected courses sort filter have changed.
|
||||
*
|
||||
* @param {string} sort New sorting.
|
||||
*/
|
||||
switchSort(): void {
|
||||
switchSort(sort: string): void {
|
||||
this.sort = sort;
|
||||
this.currentSite.setLocalSiteConfig('AddonBlockMyOverviewSort', this.sort);
|
||||
const courses = this.courses.all.concat(this.courses.hidden);
|
||||
|
||||
|
|
|
@ -1,25 +1,21 @@
|
|||
<ion-item-divider color="light">
|
||||
<h2>{{ 'addon.block_timeline.pluginname' | translate }}</h2>
|
||||
<core-context-menu item-end>
|
||||
<core-context-menu-item *ngIf="loaded && sort == 'sortbycourses'" [priority]="900" [content]="'addon.block_timeline.sortbydates' | translate" (action)="switchSort('sortbydates')" iconAction="fa-sort"></core-context-menu-item>
|
||||
<core-context-menu-item *ngIf="loaded && sort == 'sortbydates'" [priority]="800" [content]="'addon.block_timeline.sortbycourses' | translate" (action)="switchSort('sortbycourses')" iconAction="fa-sort"></core-context-menu-item>
|
||||
</core-context-menu>
|
||||
</ion-item-divider>
|
||||
<core-loading [hideUntil]="loaded" class="core-loading-center">
|
||||
<div padding ion-row class="safe-padding-horizontal">
|
||||
<ion-col>
|
||||
<ion-select text-start [(ngModel)]="filter" (ngModelChange)="switchFilter()" interface="popover" class="core-button-select">
|
||||
<ion-option value="all">{{ 'core.all' | translate }}</ion-option>
|
||||
<ion-option value="overdue">{{ 'addon.block_timeline.overdue' | translate }}</ion-option>
|
||||
<ion-option disabled value="disabled">{{ 'addon.block_timeline.duedate' | translate }}</ion-option>
|
||||
<ion-option value="next7days">{{ 'addon.block_timeline.next7days' | translate }}</ion-option>
|
||||
<ion-option value="next30days">{{ 'addon.block_timeline.next30days' | translate }}</ion-option>
|
||||
<ion-option value="next3months">{{ 'addon.block_timeline.next3months' | translate }}</ion-option>
|
||||
<ion-option value="next6months">{{ 'addon.block_timeline.next6months' | translate }}</ion-option>
|
||||
</ion-select>
|
||||
</ion-col>
|
||||
<ion-col>
|
||||
<ion-select text-start [(ngModel)]="sort" (ngModelChange)="switchSort()" interface="popover" class="core-button-select">
|
||||
<ion-option value="sortbydates">{{ 'addon.block_timeline.sortbydates' | translate }}</ion-option>
|
||||
<ion-option value="sortbycourses">{{ 'addon.block_timeline.sortbycourses' | translate }}</ion-option>
|
||||
</ion-select>
|
||||
</ion-col>
|
||||
<div padding class="safe-padding-horizontal">
|
||||
<ion-select text-start [(ngModel)]="filter" (ngModelChange)="switchFilter()" interface="popover" class="core-button-select">
|
||||
<ion-option value="all">{{ 'core.all' | translate }}</ion-option>
|
||||
<ion-option value="overdue">{{ 'addon.block_timeline.overdue' | translate }}</ion-option>
|
||||
<ion-option disabled value="disabled">{{ 'addon.block_timeline.duedate' | translate }}</ion-option>
|
||||
<ion-option value="next7days">{{ 'addon.block_timeline.next7days' | translate }}</ion-option>
|
||||
<ion-option value="next30days">{{ 'addon.block_timeline.next30days' | translate }}</ion-option>
|
||||
<ion-option value="next3months">{{ 'addon.block_timeline.next3months' | translate }}</ion-option>
|
||||
<ion-option value="next6months">{{ 'addon.block_timeline.next6months' | translate }}</ion-option>
|
||||
</ion-select>
|
||||
</div>
|
||||
<core-loading [hideUntil]="timeline.loaded" [hidden]="sort != 'sortbydates'" class="core-loading-center">
|
||||
<addon-block-timeline-events [events]="timeline.events" showCourse="true" [canLoadMore]="timeline.canLoadMore" (loadMore)="loadMoreTimeline()" [from]="dataFrom" [to]="dataTo"></addon-block-timeline-events>
|
||||
|
|
|
@ -208,8 +208,11 @@ export class AddonBlockTimelineComponent extends CoreBlockBaseComponent implemen
|
|||
|
||||
/**
|
||||
* Change timeline sort being viewed.
|
||||
*
|
||||
* @param {string} sort New sorting.
|
||||
*/
|
||||
switchSort(): void {
|
||||
switchSort(sort: string): void {
|
||||
this.sort = sort;
|
||||
this.currentSite.setLocalSiteConfig('AddonBlockTimelineSort', this.sort);
|
||||
if (!this.timeline.loaded && this.sort == 'sortbydates') {
|
||||
this.fetchContent();
|
||||
|
|
Loading…
Reference in New Issue