chore(core-administration): CB-398 update ordering

This commit is contained in:
Wroud
2020-10-12 00:53:00 +03:00
parent 32c4be56bb
commit 4a6d018eed
8 changed files with 19 additions and 8 deletions
@@ -19,7 +19,7 @@ export class AdministrationController {
return this.administrationItemService
.items
.filter(filterConfigurationWizard(configurationWizard))
.sort(orderAdministrationItems);
.sort(orderAdministrationItems(configurationWizard));
}
constructor(
@@ -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 {
@@ -56,6 +56,7 @@ export interface IAdministrationItemSubItem {
export interface IConfigurationWizardItemOptions {
description: string;
order?: number;
defaultRoute?: IRouteParams;
isDisabled?: () => boolean;
isHidden?: () => boolean;
@@ -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;
};
}
@@ -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[] {
@@ -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',
@@ -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,
@@ -28,7 +28,7 @@ export class UsersAdministrationService extends Bootstrap {
register() {
this.administrationItemService.create({
name: UsersAdministrationNavigationService.ItemName,
order: 2,
order: 3,
sub: [
{
name: UsersAdministrationNavigationService.AddItemName,