MOBILE-1611 filter: Don't filter other sites

main
Dani Palou 2019-10-22 10:04:57 +02:00
parent c18d8b1d12
commit 7876d75ac2
9 changed files with 30 additions and 27 deletions

View File

@ -15,7 +15,7 @@
import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';
import { TranslateService } from '@ngx-translate/core';
import { CoreSitesProvider } from '@providers/sites';
import { CoreFilterHelperProvider } from '@core/filter/providers/helper';
import { CoreFilterProvider } from '@core/filter/providers/filter';
/**
* Component to display a site selector. It will display a select with the list of sites. If the selected site changes,
@ -35,8 +35,9 @@ export class CoreSitePickerComponent implements OnInit {
selectedSite: string;
sites: any[];
constructor(private translate: TranslateService, private sitesProvider: CoreSitesProvider,
private filterHelper: CoreFilterHelperProvider) {
constructor(private translate: TranslateService,
private sitesProvider: CoreSitesProvider,
private filterProvider: CoreFilterProvider) {
this.siteSelected = new EventEmitter();
}
@ -49,12 +50,12 @@ export class CoreSitePickerComponent implements OnInit {
sites.forEach((site: any) => {
// Format the site name.
promises.push(this.filterHelper.getFiltersAndFormatText(site.siteName, 'system', 0,
{clean: true, singleLine: true}, site.getId()).catch(() => {
return {text: site.siteName};
}).then((result) => {
promises.push(this.filterProvider.formatText(site.siteName, {clean: true, singleLine: true, filter: false}, [],
site.getId()).catch(() => {
return site.siteName;
}).then((siteName) => {
site.fullNameAndSiteName = this.translate.instant('core.fullnameandsitename',
{ fullname: site.fullName, sitename: result.text });
{ fullname: site.fullName, sitename: siteName });
}));
});

View File

@ -15,7 +15,7 @@
<img [src]="site.avatar" core-external-content [siteId]="site.id" alt="{{ 'core.pictureof' | translate:{$a: site.fullname} }}" role="presentation" onError="this.src='assets/img/user-avatar.png'">
</ion-avatar>
<h2>{{site.fullName}}</h2>
<p><core-format-text [text]="site.siteName" clean="true" [siteId]="site.id" contextLevel="system" [contextInstanceId]="0"></core-format-text></p>
<p><core-format-text [text]="site.siteName" clean="true" [siteId]="site.id"></core-format-text></p>
<p>{{site.siteUrl}}</p>
</a>
<ion-item>

View File

@ -19,7 +19,7 @@
<img [src]="site.avatar" core-external-content [siteId]="site.id" alt="{{ 'core.pictureof' | translate:{$a: site.fullname} }}" role="presentation" onError="this.src='assets/img/user-avatar.png'">
</ion-avatar>
<h2>{{site.fullName}}</h2>
<p><core-format-text [text]="site.siteName" clean="true" [siteId]="site.id" contextLevel="system" [contextInstanceId]="0"></core-format-text></p>
<p><core-format-text [text]="site.siteName" clean="true" [siteId]="site.id"></core-format-text></p>
<p>{{site.siteUrl}}</p>
<ion-badge item-end *ngIf="!showDelete && site.badge">{{site.badge}}</ion-badge>
<button *ngIf="showDelete" item-end ion-button icon-only clear color="danger" (click)="deleteSite($event, idx)" [attr.aria-label]="'core.delete' | translate">

View File

@ -20,7 +20,7 @@ import { CoreSitesProvider, CoreSiteBasicInfo } from '@providers/sites';
import { CoreDomUtilsProvider } from '@providers/utils/dom';
import { CorePushNotificationsProvider } from '@core/pushnotifications/providers/pushnotifications';
import { CoreLoginHelperProvider } from '../../providers/helper';
import { CoreFilterHelperProvider } from '@core/filter/providers/helper';
import { CoreFilterProvider } from '@core/filter/providers/filter';
/**
* Page that displays the list of stored sites.
@ -35,9 +35,13 @@ export class CoreLoginSitesPage {
showDelete: boolean;
protected logger;
constructor(private domUtils: CoreDomUtilsProvider, private filterHelper: CoreFilterHelperProvider,
private sitesProvider: CoreSitesProvider, private loginHelper: CoreLoginHelperProvider, logger: CoreLoggerProvider,
private translate: TranslateService, private pushNotificationsProvider: CorePushNotificationsProvider) {
constructor(private domUtils: CoreDomUtilsProvider,
private filterProvider: CoreFilterProvider,
private sitesProvider: CoreSitesProvider,
private loginHelper: CoreLoginHelperProvider,
logger: CoreLoggerProvider,
private translate: TranslateService,
private pushNotificationsProvider: CorePushNotificationsProvider) {
this.logger = logger.getInstance('CoreLoginSitesPage');
}
@ -86,11 +90,9 @@ export class CoreLoginSitesPage {
const site = this.sites[index],
siteName = site.siteName;
this.filterHelper.getFiltersAndFormatText(siteName, 'system', 0, {clean: true, singleLine: true}, site.id)
.then((result) => {
this.filterProvider.formatText(siteName, {clean: true, singleLine: true, filter: false}, [], site.id).then((siteName) => {
this.domUtils.showConfirm(this.translate.instant('core.login.confirmdeletesite', { sitename: result.text }))
.then(() => {
this.domUtils.showConfirm(this.translate.instant('core.login.confirmdeletesite', { sitename: siteName })).then(() => {
this.sitesProvider.deleteSite(site.id).then(() => {
this.sites.splice(index, 1);
this.showDelete = false;

View File

@ -9,7 +9,7 @@
</ion-refresher>
<core-loading [hideUntil]="usageLoaded">
<ion-item *ngFor="let site of sites" [class.core-primary-selected-item]="site.id == currentSiteId">
<h2 text-wrap><core-format-text [text]="site.siteName" contextLevel="system" [contextInstanceId]="0"></core-format-text></h2>
<h2 text-wrap><core-format-text [text]="site.siteName" clean="true" [siteId]="site.id"></core-format-text></h2>
<p text-wrap>{{ site.fullName }}</p>
<div item-end>
<p>{{ site.spaceUsage | coreBytesToSize }}</p>

View File

@ -21,7 +21,7 @@ import { CoreFilepoolProvider } from '@providers/filepool';
import { CoreSitesProvider } from '@providers/sites';
import { CoreDomUtilsProvider } from '@providers/utils/dom';
import { CoreCourseProvider } from '@core/course/providers/course';
import { CoreFilterHelperProvider } from '@core/filter/providers/helper';
import { CoreFilterProvider } from '@core/filter/providers/filter';
/**
* Page that displays the space usage settings.
@ -42,7 +42,7 @@ export class CoreSettingsSpaceUsagePage {
constructor(private filePoolProvider: CoreFilepoolProvider,
private eventsProvider: CoreEventsProvider,
private sitesProvider: CoreSitesProvider,
private filterHelper: CoreFilterHelperProvider,
private filterProvider: CoreFilterProvider,
private translate: TranslateService,
private domUtils: CoreDomUtilsProvider,
appProvider: CoreAppProvider,
@ -167,11 +167,11 @@ export class CoreSettingsSpaceUsagePage {
* @param siteData Site object with space usage.
*/
deleteSiteStorage(siteData: any): void {
this.filterHelper.getFiltersAndFormatText(siteData.siteName, 'system', 0,
{clean: true, singleLine: true}, siteData.id).then((result) => {
this.filterProvider.formatText(siteData.siteName, {clean: true, singleLine: true, filter: false}, [], siteData.id)
.then((siteName) => {
const title = this.translate.instant('core.settings.deletesitefilestitle');
const message = this.translate.instant('core.settings.deletesitefiles', {sitename: result.text});
const message = this.translate.instant('core.settings.deletesitefiles', {sitename: siteName});
this.domUtils.showConfirm(message, title).then(() => {
return this.sitesProvider.getSite(siteData.id);

View File

@ -17,7 +17,7 @@
<p>{{ 'core.settings.sites' | translate }}</p>
</ion-item-divider>
<ion-item *ngFor="let site of sites" [class.core-primary-selected-item]="site.id == currentSiteId" text-wrap>
<h2><core-format-text [text]="site.siteName" contextLevel="system" [contextInstanceId]="0"></core-format-text></h2>
<h2><core-format-text [text]="site.siteName" clean="true" [siteId]="site.id"></core-format-text></h2>
<p>{{ site.fullName }}</p>
<p>{{ site.siteUrl }}</p>
<button ion-button icon-only clear item-end *ngIf="!isSynchronizing(site.id)" (click)="synchronize(site.id)" [title]="site.siteName" [attr.aria-label]="'core.settings.synchronizenow' | translate">

View File

@ -15,7 +15,7 @@
<img [src]="site.avatar" core-external-content [siteId]="site.id" alt="{{ 'core.pictureof' | translate:{$a: site.fullname} }}" role="presentation" onError="this.src='assets/img/user-avatar.png'">
</ion-avatar>
<h2>{{site.fullName}}</h2>
<p><core-format-text clean="true" [text]="site.siteName" [siteId]="site.id" contextLevel="system" [contextInstanceId]="0"></core-format-text></p>
<p><core-format-text clean="true" [text]="site.siteName" [siteId]="site.id"></core-format-text></p>
<p>{{site.siteUrl}}</p>
</a>
</ion-list>

View File

@ -425,7 +425,7 @@ export class CoreFormatTextDirective implements OnChanges {
return res.text;
});
} else {
return this.filterProvider.formatText(this.text, result.options);
return this.filterProvider.formatText(this.text, result.options, [], site.getId());
}
}).then((formatted) => {