From 4a6d018eed60ec8bb16bcc6d4f5bc4d1d9cb1f58 Mon Sep 17 00:00:00 2001 From: Wroud Date: Mon, 12 Oct 2020 00:53:00 +0300 Subject: [PATCH] chore(core-administration): CB-398 update ordering --- .../src/Administration/AdministrationController.ts | 2 +- .../AdministrationItem/AdministrationItemService.ts | 2 +- .../src/AdministrationItem/IAdministrationItem.ts | 1 + .../AdministrationItem/orderAdministrationItems.ts | 13 +++++++++++-- .../ConfigurationWizardService.ts | 2 +- .../Connections/ConnectionsAdministrationService.ts | 2 +- .../ConfigurationWizardPagesBootstrapService.ts | 3 ++- .../Users/UsersAdministrationService.ts | 2 +- 8 files changed, 19 insertions(+), 8 deletions(-) diff --git a/webapp/packages/core-administration/src/Administration/AdministrationController.ts b/webapp/packages/core-administration/src/Administration/AdministrationController.ts index cdf8b8fb18..10846409ed 100644 --- a/webapp/packages/core-administration/src/Administration/AdministrationController.ts +++ b/webapp/packages/core-administration/src/Administration/AdministrationController.ts @@ -19,7 +19,7 @@ export class AdministrationController { return this.administrationItemService .items .filter(filterConfigurationWizard(configurationWizard)) - .sort(orderAdministrationItems); + .sort(orderAdministrationItems(configurationWizard)); } constructor( diff --git a/webapp/packages/core-administration/src/AdministrationItem/AdministrationItemService.ts b/webapp/packages/core-administration/src/AdministrationItem/AdministrationItemService.ts index 2ee617799d..235a23e167 100644 --- a/webapp/packages/core-administration/src/AdministrationItem/AdministrationItemService.ts +++ b/webapp/packages/core-administration/src/AdministrationItem/AdministrationItemService.ts @@ -27,7 +27,7 @@ export class AdministrationItemService { return null; } - return items.sort(orderAdministrationItems)[0].name; + return items.sort(orderAdministrationItems(configurationWizard))[0].name; } getItem(name: string, configurationWizard: boolean): IAdministrationItem | null { diff --git a/webapp/packages/core-administration/src/AdministrationItem/IAdministrationItem.ts b/webapp/packages/core-administration/src/AdministrationItem/IAdministrationItem.ts index ceb94ccfd5..eeaef7a6b7 100644 --- a/webapp/packages/core-administration/src/AdministrationItem/IAdministrationItem.ts +++ b/webapp/packages/core-administration/src/AdministrationItem/IAdministrationItem.ts @@ -56,6 +56,7 @@ export interface IAdministrationItemSubItem { export interface IConfigurationWizardItemOptions { description: string; + order?: number; defaultRoute?: IRouteParams; isDisabled?: () => boolean; isHidden?: () => boolean; diff --git a/webapp/packages/core-administration/src/AdministrationItem/orderAdministrationItems.ts b/webapp/packages/core-administration/src/AdministrationItem/orderAdministrationItems.ts index ccfe613830..d9f47b64ef 100644 --- a/webapp/packages/core-administration/src/AdministrationItem/orderAdministrationItems.ts +++ b/webapp/packages/core-administration/src/AdministrationItem/orderAdministrationItems.ts @@ -8,6 +8,15 @@ import { IAdministrationItem } from './IAdministrationItem'; -export function orderAdministrationItems(itemA: IAdministrationItem, itemB: IAdministrationItem) { - return itemA.order - itemB.order; +export function orderAdministrationItems(configuration: boolean) { + return (itemA: IAdministrationItem, itemB: IAdministrationItem) => { + if (configuration) { + return ( + itemA.configurationWizardOptions?.order ?? itemA.order + ) - ( + itemB.configurationWizardOptions?.order ?? itemB.order + ); + } + return itemA.order - itemB.order; + }; } diff --git a/webapp/packages/core-administration/src/AdministrationScreen/ConfigurationWizard/ConfigurationWizardService.ts b/webapp/packages/core-administration/src/AdministrationScreen/ConfigurationWizard/ConfigurationWizardService.ts index 5b72160ee1..7e44126d12 100644 --- a/webapp/packages/core-administration/src/AdministrationScreen/ConfigurationWizard/ConfigurationWizardService.ts +++ b/webapp/packages/core-administration/src/AdministrationScreen/ConfigurationWizard/ConfigurationWizardService.ts @@ -23,7 +23,7 @@ export class ConfigurationWizardService { @computed get steps(): IAdministrationItem[] { return this.administrationItemService.items .filter(filterConfigurationWizard(true)) - .sort(orderAdministrationItems); + .sort(orderAdministrationItems(true)); } @computed get stepsToFinish(): IAdministrationItem[] { diff --git a/webapp/packages/core-connections/src/Administration/Connections/ConnectionsAdministrationService.ts b/webapp/packages/core-connections/src/Administration/Connections/ConnectionsAdministrationService.ts index 59332a3b42..54e33fdcfb 100644 --- a/webapp/packages/core-connections/src/Administration/Connections/ConnectionsAdministrationService.ts +++ b/webapp/packages/core-connections/src/Administration/Connections/ConnectionsAdministrationService.ts @@ -30,7 +30,7 @@ export class ConnectionsAdministrationService extends Bootstrap { this.administrationItemService.create({ name: 'connections', type: AdministrationItemType.Default, - order: 3, + order: 2, configurationWizardOptions: { defaultRoute: { sub: 'create', param: 'search-database' }, description: 'connections_administration_configuration_wizard_step_description', diff --git a/webapp/packages/plugin-administration/src/ConfigurationWizard/ConfigurationWizardPagesBootstrapService.ts b/webapp/packages/plugin-administration/src/ConfigurationWizard/ConfigurationWizardPagesBootstrapService.ts index ea9c57def5..1d0ac261a0 100644 --- a/webapp/packages/plugin-administration/src/ConfigurationWizard/ConfigurationWizardPagesBootstrapService.ts +++ b/webapp/packages/plugin-administration/src/ConfigurationWizard/ConfigurationWizardPagesBootstrapService.ts @@ -43,13 +43,14 @@ export class ConfigurationWizardPagesBootstrapService extends Bootstrap { type: AdministrationItemType.Default, configurationWizardOptions: { description: 'administration_configuration_wizard_configuration_step_description', + order: 1.1, isDone: this.serverConfigurationService.isDone.bind(this.serverConfigurationService), onFinish: this.serverConfigurationService.validate.bind(this.serverConfigurationService), onConfigurationFinish: this.serverConfigurationService.handleConfigurationFinish.bind( this.serverConfigurationService ), }, - order: 1.1, + order: 4, onActivate: this.serverConfigurationService.loadConfig.bind(this.serverConfigurationService), getContentComponent: () => ServerConfigurationPage, getDrawerComponent: () => ServerConfigurationDrawerItem, diff --git a/webapp/packages/plugin-authentication/src/Administration/Users/UsersAdministrationService.ts b/webapp/packages/plugin-authentication/src/Administration/Users/UsersAdministrationService.ts index b4769aa80a..966e529e4f 100644 --- a/webapp/packages/plugin-authentication/src/Administration/Users/UsersAdministrationService.ts +++ b/webapp/packages/plugin-authentication/src/Administration/Users/UsersAdministrationService.ts @@ -28,7 +28,7 @@ export class UsersAdministrationService extends Bootstrap { register() { this.administrationItemService.create({ name: UsersAdministrationNavigationService.ItemName, - order: 2, + order: 3, sub: [ { name: UsersAdministrationNavigationService.AddItemName,