feat: add filter chips for news

This commit is contained in:
Jovan Krunić
2021-07-12 16:40:42 +02:00
parent e48134eddc
commit 5435f85cc4
27 changed files with 456 additions and 86 deletions

View File

@@ -0,0 +1,35 @@
import {Pipe, PipeTransform} from '@angular/core';
import {TranslateService} from '@ngx-translate/core';
import {SCSetting} from '@openstapps/core';
import {ThingTranslatePipe} from '../../translation/thing-translate.pipe';
import {ThingTranslateService} from '../../translation/thing-translate.service';
/**
* Translates a setting value (into the display value in current language)
*/
@Pipe({
name: 'settingValueTranslate',
})
export class SettingTranslatePipe implements PipeTransform {
constructor(
private readonly translate: TranslateService,
private readonly thingTranslate: ThingTranslateService,
) {}
transform(setting: SCSetting) {
const thingTranslatePipe = new ThingTranslatePipe(
this.translate,
this.thingTranslate,
);
const translatedSettingValues = thingTranslatePipe.transform(
'values',
setting,
);
return translatedSettingValues
? translatedSettingValues[
setting.values?.indexOf(setting.value as string) as number
]
: undefined;
}
}

View File

@@ -23,6 +23,7 @@ import {ThingTranslateModule} from '../../translation/thing-translate.module';
import {ConfigProvider} from '../config/config.provider';
import {SettingsItemComponent} from './item/settings-item.component';
import {SettingsPageComponent} from './page/settings-page.component';
import {SettingTranslatePipe} from './setting-translate.pipe';
import {SettingsProvider} from './settings.provider';
const settingsRoutes: Routes = [
@@ -33,15 +34,19 @@ const settingsRoutes: Routes = [
* Settings Module
*/
@NgModule({
declarations: [SettingsPageComponent, SettingsItemComponent],
exports: [SettingsItemComponent],
declarations: [
SettingsPageComponent,
SettingsItemComponent,
SettingTranslatePipe,
],
exports: [SettingsItemComponent, SettingTranslatePipe],
imports: [
CommonModule,
FormsModule,
IonicModule.forRoot(),
RouterModule.forChild(settingsRoutes),
ThingTranslateModule.forChild(),
TranslateModule.forChild(),
ThingTranslateModule.forChild(),
RouterModule.forChild(settingsRoutes),
],
providers: [ConfigProvider, SettingsProvider],
})