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 { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';
import { TranslateService } from '@ngx-translate/core'; import { TranslateService } from '@ngx-translate/core';
import { CoreSitesProvider } from '@providers/sites'; 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, * 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; selectedSite: string;
sites: any[]; sites: any[];
constructor(private translate: TranslateService, private sitesProvider: CoreSitesProvider, constructor(private translate: TranslateService,
private filterHelper: CoreFilterHelperProvider) { private sitesProvider: CoreSitesProvider,
private filterProvider: CoreFilterProvider) {
this.siteSelected = new EventEmitter(); this.siteSelected = new EventEmitter();
} }
@ -49,12 +50,12 @@ export class CoreSitePickerComponent implements OnInit {
sites.forEach((site: any) => { sites.forEach((site: any) => {
// Format the site name. // Format the site name.
promises.push(this.filterHelper.getFiltersAndFormatText(site.siteName, 'system', 0, promises.push(this.filterProvider.formatText(site.siteName, {clean: true, singleLine: true, filter: false}, [],
{clean: true, singleLine: true}, site.getId()).catch(() => { site.getId()).catch(() => {
return {text: site.siteName}; return site.siteName;
}).then((result) => { }).then((siteName) => {
site.fullNameAndSiteName = this.translate.instant('core.fullnameandsitename', 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'"> <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> </ion-avatar>
<h2>{{site.fullName}}</h2> <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> <p>{{site.siteUrl}}</p>
</a> </a>
<ion-item> <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'"> <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> </ion-avatar>
<h2>{{site.fullName}}</h2> <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> <p>{{site.siteUrl}}</p>
<ion-badge item-end *ngIf="!showDelete && site.badge">{{site.badge}}</ion-badge> <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"> <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 { CoreDomUtilsProvider } from '@providers/utils/dom';
import { CorePushNotificationsProvider } from '@core/pushnotifications/providers/pushnotifications'; import { CorePushNotificationsProvider } from '@core/pushnotifications/providers/pushnotifications';
import { CoreLoginHelperProvider } from '../../providers/helper'; 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. * Page that displays the list of stored sites.
@ -35,9 +35,13 @@ export class CoreLoginSitesPage {
showDelete: boolean; showDelete: boolean;
protected logger; protected logger;
constructor(private domUtils: CoreDomUtilsProvider, private filterHelper: CoreFilterHelperProvider, constructor(private domUtils: CoreDomUtilsProvider,
private sitesProvider: CoreSitesProvider, private loginHelper: CoreLoginHelperProvider, logger: CoreLoggerProvider, private filterProvider: CoreFilterProvider,
private translate: TranslateService, private pushNotificationsProvider: CorePushNotificationsProvider) { private sitesProvider: CoreSitesProvider,
private loginHelper: CoreLoginHelperProvider,
logger: CoreLoggerProvider,
private translate: TranslateService,
private pushNotificationsProvider: CorePushNotificationsProvider) {
this.logger = logger.getInstance('CoreLoginSitesPage'); this.logger = logger.getInstance('CoreLoginSitesPage');
} }
@ -86,11 +90,9 @@ export class CoreLoginSitesPage {
const site = this.sites[index], const site = this.sites[index],
siteName = site.siteName; siteName = site.siteName;
this.filterHelper.getFiltersAndFormatText(siteName, 'system', 0, {clean: true, singleLine: true}, site.id) this.filterProvider.formatText(siteName, {clean: true, singleLine: true, filter: false}, [], site.id).then((siteName) => {
.then((result) => {
this.domUtils.showConfirm(this.translate.instant('core.login.confirmdeletesite', { sitename: result.text })) this.domUtils.showConfirm(this.translate.instant('core.login.confirmdeletesite', { sitename: siteName })).then(() => {
.then(() => {
this.sitesProvider.deleteSite(site.id).then(() => { this.sitesProvider.deleteSite(site.id).then(() => {
this.sites.splice(index, 1); this.sites.splice(index, 1);
this.showDelete = false; this.showDelete = false;

View File

@ -9,7 +9,7 @@
</ion-refresher> </ion-refresher>
<core-loading [hideUntil]="usageLoaded"> <core-loading [hideUntil]="usageLoaded">
<ion-item *ngFor="let site of sites" [class.core-primary-selected-item]="site.id == currentSiteId"> <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> <p text-wrap>{{ site.fullName }}</p>
<div item-end> <div item-end>
<p>{{ site.spaceUsage | coreBytesToSize }}</p> <p>{{ site.spaceUsage | coreBytesToSize }}</p>

View File

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

View File

@ -17,7 +17,7 @@
<p>{{ 'core.settings.sites' | translate }}</p> <p>{{ 'core.settings.sites' | translate }}</p>
</ion-item-divider> </ion-item-divider>
<ion-item *ngFor="let site of sites" [class.core-primary-selected-item]="site.id == currentSiteId" text-wrap> <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.fullName }}</p>
<p>{{ site.siteUrl }}</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"> <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'"> <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> </ion-avatar>
<h2>{{site.fullName}}</h2> <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> <p>{{site.siteUrl}}</p>
</a> </a>
</ion-list> </ion-list>

View File

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