mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2026-01-20 16:42:56 +00:00
feat: add filter chips for news
This commit is contained in:
35
src/app/modules/settings/setting-translate.pipe.ts
Normal file
35
src/app/modules/settings/setting-translate.pipe.ts
Normal 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;
|
||||
}
|
||||
}
|
||||
@@ -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],
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user