1
1
import { DATABASE_LIST_MODULES_TEXT , RedisDefaultModules } from 'uiSrc/slices/interfaces'
2
+ import { RedisModuleDto } from 'apiSrc/modules/instances/dto/database-instance.dto'
2
3
3
4
export interface IDatabaseModule {
4
5
abbreviation : string
@@ -8,16 +9,19 @@ export interface IDatabaseModule {
8
9
[ key : string ] : any
9
10
}
10
11
11
- const PREDEFINED_MODULES_ORDER = [
12
- DATABASE_LIST_MODULES_TEXT [ RedisDefaultModules . Search ] ,
13
- DATABASE_LIST_MODULES_TEXT [ RedisDefaultModules . ReJSON ] ,
14
- DATABASE_LIST_MODULES_TEXT [ RedisDefaultModules . Graph ] ,
15
- DATABASE_LIST_MODULES_TEXT [ RedisDefaultModules . TimeSeries ] ,
16
- DATABASE_LIST_MODULES_TEXT [ RedisDefaultModules . Bloom ] ,
17
- DATABASE_LIST_MODULES_TEXT [ RedisDefaultModules . Gears ] ,
18
- DATABASE_LIST_MODULES_TEXT [ RedisDefaultModules . AI ]
12
+ const PREDEFINED_MODULE_NAMES_ORDER : string [ ] = [
13
+ RedisDefaultModules . Search ,
14
+ RedisDefaultModules . ReJSON ,
15
+ RedisDefaultModules . Graph ,
16
+ RedisDefaultModules . TimeSeries ,
17
+ RedisDefaultModules . Bloom ,
18
+ RedisDefaultModules . Gears ,
19
+ RedisDefaultModules . AI
19
20
]
20
21
22
+ // @ts -ignore
23
+ const PREDEFINED_MODULES_ORDER = PREDEFINED_MODULE_NAMES_ORDER . map ( module => DATABASE_LIST_MODULES_TEXT [ module ] )
24
+
21
25
export const sortModules = ( modules : IDatabaseModule [ ] ) => {
22
26
return modules . sort ( ( a , b ) => {
23
27
if ( ! a . moduleName && ! a . abbreviation ) return 1
@@ -27,3 +31,11 @@ export const sortModules = (modules: IDatabaseModule[]) => {
27
31
return PREDEFINED_MODULES_ORDER . indexOf ( a . moduleName ) - PREDEFINED_MODULES_ORDER . indexOf ( b . moduleName )
28
32
} )
29
33
}
34
+
35
+ export const sortModulesByName = ( modules : RedisModuleDto [ ] ) => {
36
+ return [ ...modules ] . sort ( ( a , b ) => {
37
+ if ( PREDEFINED_MODULE_NAMES_ORDER . indexOf ( a . name ) === - 1 ) return 1
38
+ if ( PREDEFINED_MODULE_NAMES_ORDER . indexOf ( b . name ) === - 1 ) return - 1
39
+ return PREDEFINED_MODULE_NAMES_ORDER . indexOf ( a . name ) - PREDEFINED_MODULE_NAMES_ORDER . indexOf ( b . name )
40
+ } )
41
+ }
0 commit comments