MOBILE-2614 blocks: Improve some WS checks
parent
603ae1566f
commit
0024f701d0
|
@ -93,10 +93,10 @@ export class AddonBlockMyOverviewComponent extends AddonBlockComponent implement
|
||||||
this.currentSite = this.sitesProvider.getCurrentSite();
|
this.currentSite = this.sitesProvider.getCurrentSite();
|
||||||
|
|
||||||
const promises = [];
|
const promises = [];
|
||||||
promises.push(this.currentSite.getSiteConfig('AddonBlockMyOverviewSort', this.sort).then((value) => {
|
promises.push(this.currentSite.getLocalSiteConfig('AddonBlockMyOverviewSort', this.sort).then((value) => {
|
||||||
this.sort = value;
|
this.sort = value;
|
||||||
}));
|
}));
|
||||||
promises.push(this.currentSite.getSiteConfig('AddonBlockMyOverviewFilter', this.selectedFilter).then((value) => {
|
promises.push(this.currentSite.getLocalSiteConfig('AddonBlockMyOverviewFilter', this.selectedFilter).then((value) => {
|
||||||
this.selectedFilter = value;
|
this.selectedFilter = value;
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
@ -156,17 +156,14 @@ export class AddonBlockMyOverviewComponent extends AddonBlockComponent implement
|
||||||
});
|
});
|
||||||
}));
|
}));
|
||||||
}).then((courses) => {
|
}).then((courses) => {
|
||||||
this.showSortFilter = courses.some((course) => {
|
this.showSortFilter = courses.length > 0 && typeof courses[0].lastaccess != 'undefined';
|
||||||
return typeof course.lastaccess != 'undefined';
|
|
||||||
});
|
|
||||||
|
|
||||||
this.sortCourses(courses);
|
this.sortCourses(courses);
|
||||||
|
|
||||||
this.courses.filter = '';
|
this.courses.filter = '';
|
||||||
this.showFilter = false;
|
this.showFilter = false;
|
||||||
this.showSelectorFilter = this.courses.past.length > 0 || this.courses.future.length > 0 || courses.some((course) => {
|
this.showSelectorFilter = this.courses.past.length > 0 || this.courses.future.length > 0 || (courses.length > 0 &&
|
||||||
return typeof course.enddate != 'undefined';
|
typeof courses[0].enddate != 'undefined');
|
||||||
});
|
|
||||||
if (!this.showSelectorFilter) {
|
if (!this.showSelectorFilter) {
|
||||||
// No selector, show all.
|
// No selector, show all.
|
||||||
this.selectedFilter = 'all';
|
this.selectedFilter = 'all';
|
||||||
|
@ -255,7 +252,7 @@ export class AddonBlockMyOverviewComponent extends AddonBlockComponent implement
|
||||||
* The selected courses filter have changed.
|
* The selected courses filter have changed.
|
||||||
*/
|
*/
|
||||||
selectedChanged(): void {
|
selectedChanged(): void {
|
||||||
this.currentSite.setSiteConfig('AddonBlockMyOverviewFilter', this.selectedFilter);
|
this.currentSite.setLocalSiteConfig('AddonBlockMyOverviewFilter', this.selectedFilter);
|
||||||
this.filteredCourses = this.courses[this.selectedFilter];
|
this.filteredCourses = this.courses[this.selectedFilter];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -303,7 +300,7 @@ export class AddonBlockMyOverviewComponent extends AddonBlockComponent implement
|
||||||
* The selected courses sort filter have changed.
|
* The selected courses sort filter have changed.
|
||||||
*/
|
*/
|
||||||
switchSort(): void {
|
switchSort(): void {
|
||||||
this.currentSite.setSiteConfig('AddonBlockMyOverviewSort', this.sort);
|
this.currentSite.setLocalSiteConfig('AddonBlockMyOverviewSort', this.sort);
|
||||||
this.sortCourses(this.courses.all);
|
this.sortCourses(this.courses.all);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -61,11 +61,11 @@ export class AddonBlockTimelineComponent extends AddonBlockComponent implements
|
||||||
*/
|
*/
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.currentSite = this.sitesProvider.getCurrentSite();
|
this.currentSite = this.sitesProvider.getCurrentSite();
|
||||||
this.currentSite.getSiteConfig('AddonBlockTimelineFilter', this.filter).then((value) => {
|
this.currentSite.getLocalSiteConfig('AddonBlockTimelineFilter', this.filter).then((value) => {
|
||||||
this.filter = value;
|
this.filter = value;
|
||||||
this.switchFilter();
|
this.switchFilter();
|
||||||
});
|
});
|
||||||
this.currentSite.getSiteConfig('AddonBlockTimelineSort', this.sort).then((value) => {
|
this.currentSite.getLocalSiteConfig('AddonBlockTimelineSort', this.sort).then((value) => {
|
||||||
this.sort = value;
|
this.sort = value;
|
||||||
super.ngOnInit();
|
super.ngOnInit();
|
||||||
});
|
});
|
||||||
|
@ -176,7 +176,7 @@ export class AddonBlockTimelineComponent extends AddonBlockComponent implements
|
||||||
* Change timeline filter being viewed.
|
* Change timeline filter being viewed.
|
||||||
*/
|
*/
|
||||||
switchFilter(): void {
|
switchFilter(): void {
|
||||||
this.currentSite.setSiteConfig('AddonBlockTimelineFilter', this.filter);
|
this.currentSite.setLocalSiteConfig('AddonBlockTimelineFilter', this.filter);
|
||||||
switch (this.filter) {
|
switch (this.filter) {
|
||||||
case 'overdue':
|
case 'overdue':
|
||||||
this.dataFrom = -14;
|
this.dataFrom = -14;
|
||||||
|
@ -210,7 +210,7 @@ export class AddonBlockTimelineComponent extends AddonBlockComponent implements
|
||||||
* Change timeline sort being viewed.
|
* Change timeline sort being viewed.
|
||||||
*/
|
*/
|
||||||
switchSort(): void {
|
switchSort(): void {
|
||||||
this.currentSite.setSiteConfig('AddonBlockTimelineSort', this.sort);
|
this.currentSite.setLocalSiteConfig('AddonBlockTimelineSort', this.sort);
|
||||||
if (!this.timeline.loaded && this.sort == 'sortbydates') {
|
if (!this.timeline.loaded && this.sort == 'sortbydates') {
|
||||||
this.fetchContent();
|
this.fetchContent();
|
||||||
} else if (!this.timelineCourses.loaded && this.sort == 'sortbycourses') {
|
} else if (!this.timelineCourses.loaded && this.sort == 'sortbycourses') {
|
||||||
|
|
|
@ -1573,13 +1573,13 @@ export class CoreSite {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a site setting.
|
* Get a site setting on local device.
|
||||||
*
|
*
|
||||||
* @param {string} name The config name.
|
* @param {string} name The config name.
|
||||||
* @param {any} [defaultValue] Default value to use if the entry is not found.
|
* @param {any} [defaultValue] Default value to use if the entry is not found.
|
||||||
* @return {Promise<any>} Resolves upon success along with the config data. Reject on failure.
|
* @return {Promise<any>} Resolves upon success along with the config data. Reject on failure.
|
||||||
*/
|
*/
|
||||||
getSiteConfig(name: string, defaultValue?: any): Promise<any> {
|
getLocalSiteConfig(name: string, defaultValue?: any): Promise<any> {
|
||||||
return this.db.getRecord(this.CONFIG_TABLE, { name: name }).then((entry) => {
|
return this.db.getRecord(this.CONFIG_TABLE, { name: name }).then((entry) => {
|
||||||
return entry.value;
|
return entry.value;
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
|
@ -1592,13 +1592,13 @@ export class CoreSite {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set a site setting.
|
* Set a site setting on local device.
|
||||||
*
|
*
|
||||||
* @param {string} name The config name.
|
* @param {string} name The config name.
|
||||||
* @param {number|string} value The config value. Can only store number or strings.
|
* @param {number|string} value The config value. Can only store number or strings.
|
||||||
* @return {Promise<any>} Promise resolved when done.
|
* @return {Promise<any>} Promise resolved when done.
|
||||||
*/
|
*/
|
||||||
setSiteConfig(name: string, value: number | string): Promise<any> {
|
setLocalSiteConfig(name: string, value: number | string): Promise<any> {
|
||||||
return this.db.insertRecord(this.CONFIG_TABLE, { name: name, value: value });
|
return this.db.insertRecord(this.CONFIG_TABLE, { name: name, value: value });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue