mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2026-01-10 03:32:52 +00:00
refactor: specific settings for user group and language
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2019 StApps
|
* Copyright (C) 2019-2021 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
* under the terms of the GNU General Public License as published by the Free
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
// tslint:disable-next-line:no-implicit-dependencies
|
// tslint:disable-next-line:no-implicit-dependencies
|
||||||
import {Polygon} from 'geojson';
|
import {Polygon} from 'geojson';
|
||||||
import {SCTranslations} from '../general/i18n';
|
import {SCTranslations} from '../general/i18n';
|
||||||
import {SCSetting} from '../things/setting';
|
import {SCLanguageSetting, SCSetting, SCUserGroupSetting} from '../things/setting';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An app configuration menu item
|
* An app configuration menu item
|
||||||
@@ -112,8 +112,9 @@ export interface SCAppConfiguration {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* A list of available settings in the app
|
* A list of available settings in the app
|
||||||
|
* !Important! Use provided specific settings, for other settings use general SCSetting
|
||||||
*/
|
*/
|
||||||
settings: SCSetting[];
|
settings: Array<SCUserGroupSetting | SCLanguageSetting | SCSetting>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Map of store URLs
|
* Map of store URLs
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2019 StApps
|
* Copyright (C) 2019-2021 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
* under the terms of the GNU General Public License as published by the Free
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
* You should have received a copy of the GNU General Public License along with
|
* You should have received a copy of the GNU General Public License along with
|
||||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
import {SCMetaTranslations, SCTranslations} from '../general/i18n';
|
import {SCLanguageCode, SCMetaTranslations, SCTranslations} from '../general/i18n';
|
||||||
import {SCThing, SCThingMeta, SCThingType} from './abstract/thing';
|
import {SCThing, SCThingMeta, SCThingType} from './abstract/thing';
|
||||||
import {
|
import {
|
||||||
SCThingWithCategories,
|
SCThingWithCategories,
|
||||||
@@ -21,6 +21,7 @@ import {
|
|||||||
SCThingWithCategoriesWithoutReferences,
|
SCThingWithCategoriesWithoutReferences,
|
||||||
SCThingWithCategoriesWithoutReferencesMeta,
|
SCThingWithCategoriesWithoutReferencesMeta,
|
||||||
} from './abstract/thing-with-categories';
|
} from './abstract/thing-with-categories';
|
||||||
|
import {SCUserGroup} from './abstract/user-groups';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A setting without references
|
* A setting without references
|
||||||
@@ -177,3 +178,55 @@ export class SCSettingMeta extends SCThingMeta implements SCMetaTranslations<SCS
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A user group setting
|
||||||
|
*/
|
||||||
|
export interface SCUserGroupSetting extends SCSetting {
|
||||||
|
/**
|
||||||
|
* Exact categories of the setting
|
||||||
|
*/
|
||||||
|
categories: ['profile'];
|
||||||
|
/**
|
||||||
|
* The default value of the setting
|
||||||
|
*/
|
||||||
|
defaultValue: SCUserGroup;
|
||||||
|
/**
|
||||||
|
* Specific name of the setting
|
||||||
|
*/
|
||||||
|
name: 'group';
|
||||||
|
/**
|
||||||
|
* Chosen value of the setting
|
||||||
|
*/
|
||||||
|
value?: SCUserGroup;
|
||||||
|
/**
|
||||||
|
* The possible values of the setting
|
||||||
|
*/
|
||||||
|
values: SCUserGroup[];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A language setting
|
||||||
|
*/
|
||||||
|
export interface SCLanguageSetting extends SCSetting {
|
||||||
|
/**
|
||||||
|
* Exact categories of the setting
|
||||||
|
*/
|
||||||
|
categories: ['profile'];
|
||||||
|
/**
|
||||||
|
* The default value of the setting
|
||||||
|
*/
|
||||||
|
defaultValue: SCLanguageCode;
|
||||||
|
/**
|
||||||
|
* Specific name of the setting
|
||||||
|
*/
|
||||||
|
name: 'language';
|
||||||
|
/**
|
||||||
|
* Chosen value of the setting
|
||||||
|
*/
|
||||||
|
value?: SCLanguageCode;
|
||||||
|
/**
|
||||||
|
* The possible values of the setting
|
||||||
|
*/
|
||||||
|
values: SCLanguageCode[];
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user