From e02f477729212bc815e142d8988f1b5ca7007918 Mon Sep 17 00:00:00 2001 From: Jari Kolehmainen Date: Thu, 22 Apr 2021 20:39:14 +0300 Subject: [PATCH] allow to define entity setting priority Signed-off-by: Jari Kolehmainen --- .../registries/entity-setting-registry.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/extensions/registries/entity-setting-registry.ts b/src/extensions/registries/entity-setting-registry.ts index 8dd5ce6f25..9ad873ce67 100644 --- a/src/extensions/registries/entity-setting-registry.ts +++ b/src/extensions/registries/entity-setting-registry.ts @@ -15,8 +15,9 @@ export interface EntitySettingRegistration { kind: string; apiVersions: string[]; source?: string; - id?: string; components: EntitySettingComponents; + id?: string; + priority?: number; } export interface RegisteredEntitySetting extends EntitySettingRegistration { @@ -32,17 +33,21 @@ export class EntitySettingRegistry extends BaseRegistry { + let items = this.getItems().filter((item) => { return item.kind === kind && item.apiVersions.includes(apiVersion); + }).map((item) => { + item.priority = item.priority ?? 50; + + return item; }); if (source) { - return items.filter((item) => { + items = items.filter((item) => { return !item.source || item.source === source; }); - } else { - return items; } + + return items.sort((a, b) => b.priority - a.priority); } }