admin_sidebar.jsx 33.7 KB
Newer Older
1
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
2
// See LICENSE.txt for license information.
3

Asaad Mahmood's avatar
Asaad Mahmood committed
4
import $ from 'jquery';
5
import PropTypes from 'prop-types';
6
import React from 'react';
7
import {FormattedMessage} from 'react-intl';
Asaad Mahmood's avatar
Asaad Mahmood committed
8
9

import * as Utils from 'utils/utils.jsx';
10
11
12
import AdminSidebarCategory from 'components/admin_console/admin_sidebar_category.jsx';
import AdminSidebarHeader from 'components/admin_console/admin_sidebar_header.jsx';
import AdminSidebarSection from 'components/admin_console/admin_sidebar_section.jsx';
13
14

export default class AdminSidebar extends React.Component {
15
16
    static get contextTypes() {
        return {
17
            router: PropTypes.object.isRequired,
18
19
20
        };
    }

21
    static propTypes = {
22
        license: PropTypes.object.isRequired,
23
24
        config: PropTypes.object,
        plugins: PropTypes.object,
25
26
        buildEnterpriseReady: PropTypes.bool,
        siteName: PropTypes.string,
27
28
29
30
31
        actions: PropTypes.shape({

            /*
             * Function to get installed plugins
             */
32
33
            getPlugins: PropTypes.func.isRequired,
        }).isRequired,
34
35
36
    }

    static defaultProps = {
37
        plugins: {},
38
39
    }

40
    componentDidMount() {
41
42
43
44
        if (this.props.config.PluginSettings.Enable) {
            this.props.actions.getPlugins();
        }

45
        this.updateTitle();
46

Asaad Mahmood's avatar
Asaad Mahmood committed
47
        if (!Utils.isMobile()) {
Asaad Mahmood's avatar
Asaad Mahmood committed
48
            $('.admin-sidebar .nav-pills__container').perfectScrollbar({
49
                suppressScrollX: true,
Asaad Mahmood's avatar
Asaad Mahmood committed
50
            });
Asaad Mahmood's avatar
Asaad Mahmood committed
51
52
53
        }
    }

54
55
    componentDidUpdate() {
        if (!Utils.isMobile()) {
Asaad Mahmood's avatar
Asaad Mahmood committed
56
            $('.admin-sidebar .nav-pills__container').perfectScrollbar({
57
                suppressScrollX: true,
Asaad Mahmood's avatar
Asaad Mahmood committed
58
            });
59
60
61
        }
    }

62
    updateTitle = () => {
63
        let currentSiteName = '';
64
65
        if (this.props.siteName) {
            currentSiteName = ' - ' + this.props.siteName;
66
67
        }

68
        document.title = Utils.localizeMessage('sidebar_right_menu.console', 'System Console') + currentSiteName;
69
70
    }

71
    render() {
72
        let oauthSettings = null;
73
        let ldapSettings = null;
enahum's avatar
enahum committed
74
        let samlSettings = null;
75
        let clusterSettings = null;
76
        let metricsSettings = null;
77
        let complianceSettings = null;
78
        let mfaSettings = null;
79
        let messageExportSettings = null;
80
        let complianceSection = null;
81
82
83

        let license = null;
        let audits = null;
84
        let announcement = null;
85

86
        if (this.props.buildEnterpriseReady) {
87
88
89
90
91
92
93
            license = (
                <AdminSidebarSection
                    name='license'
                    title={
                        <FormattedMessage
                            id='admin.sidebar.license'
                            defaultMessage='Edition and License'
94
                        />
95
96
97
98
                    }
                />
            );
        }
99

100
101
        if (this.props.license.IsLicensed === 'true') {
            if (this.props.license.LDAP === 'true') {
102
103
104
105
106
107
                ldapSettings = (
                    <AdminSidebarSection
                        name='ldap'
                        title={
                            <FormattedMessage
                                id='admin.sidebar.ldap'
108
                                defaultMessage='AD/LDAP'
109
110
111
112
113
                            />
                        }
                    />
                );
            }
enahum's avatar
enahum committed
114

115
            if (this.props.license.Cluster === 'true') {
116
117
118
119
120
121
                clusterSettings = (
                    <AdminSidebarSection
                        name='cluster'
                        title={
                            <FormattedMessage
                                id='admin.sidebar.cluster'
122
                                defaultMessage='High Availability'
123
124
125
126
127
128
                            />
                        }
                    />
                );
            }

129
            if (this.props.license.Metrics === 'true') {
130
131
132
133
134
135
                metricsSettings = (
                    <AdminSidebarSection
                        name='metrics'
                        title={
                            <FormattedMessage
                                id='admin.sidebar.metrics'
136
                                defaultMessage='Performance Monitoring'
137
138
139
140
141
142
                            />
                        }
                    />
                );
            }

143
            if (this.props.license.SAML === 'true') {
144
145
146
147
148
149
                samlSettings = (
                    <AdminSidebarSection
                        name='saml'
                        title={
                            <FormattedMessage
                                id='admin.sidebar.saml'
150
                                defaultMessage='SAML 2.0'
151
152
153
154
155
                            />
                        }
                    />
                );
            }
156

157
            if (this.props.license.Compliance === 'true') {
158
                complianceSettings = (
159
                    <AdminSidebarSection
160
                        name='compliance'
161
162
                        title={
                            <FormattedMessage
163
164
                                id='admin.sidebar.compliance'
                                defaultMessage='Compliance'
165
166
167
168
                            />
                        }
                    />
                );
169
170
            }

171
            if (this.props.license.MFA === 'true') {
172
173
174
175
176
177
178
179
180
181
182
183
184
                mfaSettings = (
                    <AdminSidebarSection
                        name='mfa'
                        title={
                            <FormattedMessage
                                id='admin.sidebar.mfa'
                                defaultMessage='MFA'
                            />
                        }
                    />
                );
            }

185
            if (this.props.license.MessageExport === 'true') {
186
187
188
189
190
                messageExportSettings = (
                    <AdminSidebarSection
                        name='message_export'
                        title={
                            <FormattedMessage
191
192
                                id='admin.sidebar.compliance_export'
                                defaultMessage='Compliance Export (Beta)'
193
194
195
196
197
198
                            />
                        }
                    />
                );
            }

199
            oauthSettings = (
200
                <AdminSidebarSection
201
                    name='oauth'
202
                    title={
203
                        <FormattedMessage
204
205
206
207
208
209
                            id='admin.sidebar.oauth'
                            defaultMessage='OAuth 2.0'
                        />
                    }
                />
            );
210
            announcement = (
211
                <AdminSidebarSection
212
                    name='announcement'
213
214
                    title={
                        <FormattedMessage
215
216
                            id='admin.sidebar.announcement'
                            defaultMessage='Announcement Banner'
217
218
219
220
221
222
223
224
225
226
227
228
                        />
                    }
                />
            );
        } else {
            oauthSettings = (
                <AdminSidebarSection
                    name='gitlab'
                    title={
                        <FormattedMessage
                            id='admin.sidebar.gitlab'
                            defaultMessage='GitLab'
229
                        />
230
231
                    }
                />
232
233
234
            );
        }

235
        if (this.props.license.IsLicensed === 'true') {
236
            audits = (
237
238
239
                <AdminSidebarSection
                    name='audits'
                    title={
240
241
                        <FormattedMessage
                            id='admin.sidebar.audits'
242
                            defaultMessage='Complaince and Auditing'
243
                        />
244
245
                    }
                />
246
247
248
            );
        }

249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
        let otherCategory = null;
        if (license || audits) {
            otherCategory = (
                <AdminSidebarCategory
                    parentLink='/admin_console'
                    icon='fa-wrench'
                    title={
                        <FormattedMessage
                            id='admin.sidebar.other'
                            defaultMessage='OTHER'
                        />
                    }
                >
                    {license}
                    {audits}
                </AdminSidebarCategory>
            );
        }

enahum's avatar
enahum committed
268
269
270
271
272
273
274
275
276
277
278
279
        const webrtcSettings = (
            <AdminSidebarSection
                name='webrtc'
                title={
                    <FormattedMessage
                        id='admin.sidebar.webrtc'
                        defaultMessage='WebRTC (Beta)'
                    />
                }
            />
        );

280
        let elasticSearchSettings = null;
281
        if (this.props.license.IsLicensed === 'true' && this.props.license.Elasticsearch === 'true') {
282
283
284
285
286
287
            elasticSearchSettings = (
                <AdminSidebarSection
                    name='elasticsearch'
                    title={
                        <FormattedMessage
                            id='admin.sidebar.elasticsearch'
288
                            defaultMessage='Elasticsearch (Beta)'
289
290
291
292
293
294
                        />
                    }
                />
            );
        }

295
        let dataRetentionSettings = null;
296
        if (this.props.license.IsLicensed === 'true' && this.props.license.DataRetention === 'true') {
297
298
            dataRetentionSettings = (
                <AdminSidebarSection
299
                    name='data_retention'
300
301
302
                    title={
                        <FormattedMessage
                            id='admin.sidebar.data_retention'
303
                            defaultMessage='Data Retention Policy (Beta)'
304
305
306
307
308
309
                        />
                    }
                />
            );
        }

310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
        const SHOW_CLIENT_VERSIONS = false;
        let clientVersions = null;
        if (SHOW_CLIENT_VERSIONS) {
            clientVersions = (
                <AdminSidebarSection
                    name='client_versions'
                    title={
                        <FormattedMessage
                            id='admin.sidebar.client_versions'
                            defaultMessage='Client Versions'
                        />
                    }
                />
            );
        }

326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
        if (dataRetentionSettings || messageExportSettings) {
            complianceSection = (
                <AdminSidebarSection
                    name='compliance'
                    type='text'
                    title={
                        <FormattedMessage
                            id='admin.sidebar.compliance'
                            defaultMessage='Compliance'
                        />
                    }
                >
                    {dataRetentionSettings}
                    {messageExportSettings}
                </AdminSidebarSection>
            );
        }

344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
        const customPlugins = [];
        if (this.props.config.PluginSettings.Enable) {
            Object.values(this.props.plugins).forEach((p) => {
                if (!p.settings_schema || Object.keys(p.settings_schema) === 0) {
                    return;
                }

                customPlugins.push(
                    <AdminSidebarSection
                        key={'customplugin' + p.id}
                        name={'custom/' + p.id}
                        title={p.name}
                    />
                );
            });
        }

361
        return (
362
            <div className='admin-sidebar'>
Asaad Mahmood's avatar
Asaad Mahmood committed
363
364
365
                <AdminSidebarHeader/>
                <div className='nav-pills__container'>
                    <ul className='nav nav-pills nav-stacked'>
366
367
                        <AdminSidebarCategory
                            parentLink='/admin_console'
368
                            icon='fa-bar-chart'
369
370
371
                            title={
                                <FormattedMessage
                                    id='admin.sidebar.reports'
372
                                    defaultMessage='REPORTING'
373
374
375
376
377
378
379
380
                                />
                            }
                        >
                            <AdminSidebarSection
                                name='system_analytics'
                                title={
                                    <FormattedMessage
                                        id='admin.sidebar.view_statistics'
381
                                        defaultMessage='Site Statistics'
382
383
384
                                    />
                                }
                            />
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
                            <AdminSidebarSection
                                name='team_analytics'
                                title={
                                    <FormattedMessage
                                        id='admin.sidebar.statistics'
                                        defaultMessage='Team Statistics'
                                    />
                                }
                            />
                            <AdminSidebarSection
                                name='users'
                                title={
                                    <FormattedMessage
                                        id='admin.sidebar.users'
                                        defaultMessage='Users'
                                    />
                                }
                            />
403
404
405
406
407
408
409
410
411
                            <AdminSidebarSection
                                name='logs'
                                title={
                                    <FormattedMessage
                                        id='admin.sidebar.logs'
                                        defaultMessage='Logs'
                                    />
                                }
                            />
412
413
                        </AdminSidebarCategory>
                        <AdminSidebarCategory
414
                            sectionClass='sections--settings'
415
416
417
418
419
420
421
422
423
424
425
                            parentLink='/admin_console'
                            icon='fa-gear'
                            title={
                                <FormattedMessage
                                    id='admin.sidebar.settings'
                                    defaultMessage='SETTINGS'
                                />
                            }
                        >
                            <AdminSidebarSection
                                name='general'
426
                                type='text'
427
428
429
430
431
432
433
434
435
436
                                title={
                                    <FormattedMessage
                                        id='admin.sidebar.general'
                                        defaultMessage='General'
                                    />
                                }
                            >
                                <AdminSidebarSection
                                    name='configuration'
                                    title={
Asaad Mahmood's avatar
Asaad Mahmood committed
437
                                        <FormattedMessage
438
439
                                            id='admin.sidebar.configuration'
                                            defaultMessage='Configuration'
Asaad Mahmood's avatar
Asaad Mahmood committed
440
                                        />
441
442
                                    }
                                />
443
444
445
446
447
448
449
450
451
                                <AdminSidebarSection
                                    name='localization'
                                    title={
                                        <FormattedMessage
                                            id='admin.sidebar.localization'
                                            defaultMessage='Localization'
                                        />
                                    }
                                />
452
453
454
                                <AdminSidebarSection
                                    name='users_and_teams'
                                    title={
Asaad Mahmood's avatar
Asaad Mahmood committed
455
                                        <FormattedMessage
456
457
                                            id='admin.sidebar.usersAndTeams'
                                            defaultMessage='Users and Teams'
Asaad Mahmood's avatar
Asaad Mahmood committed
458
                                        />
459
460
461
462
463
                                    }
                                />
                                <AdminSidebarSection
                                    name='privacy'
                                    title={
Asaad Mahmood's avatar
Asaad Mahmood committed
464
                                        <FormattedMessage
465
466
                                            id='admin.sidebar.privacy'
                                            defaultMessage='Privacy'
Asaad Mahmood's avatar
Asaad Mahmood committed
467
                                        />
468
469
                                    }
                                />
470
                                {complianceSettings}
471
472
473
                                <AdminSidebarSection
                                    name='logging'
                                    title={
Asaad Mahmood's avatar
Asaad Mahmood committed
474
                                        <FormattedMessage
475
476
                                            id='admin.sidebar.logging'
                                            defaultMessage='Logging'
Asaad Mahmood's avatar
Asaad Mahmood committed
477
                                        />
478
479
480
                                    }
                                />
                            </AdminSidebarSection>
481
                            {this.props.license.IsLicensed === 'true' &&
482
                                <AdminSidebarSection
483
484
                                    name='permissions'
                                    type='text'
485
486
                                    title={
                                        <FormattedMessage
487
488
                                            id='admin.sidebar.permissions'
                                            defaultMessage='Permissions'
489
490
                                        />
                                    }
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
                                >
                                    {this.props.license.CustomPermissionsSchemes !== 'true' &&
                                        <AdminSidebarSection
                                            name='system-scheme'
                                            title={
                                                <FormattedMessage
                                                    id='admin.sidebar.system-scheme'
                                                    defaultMessage='System scheme'
                                                />
                                            }
                                        />}
                                    {this.props.license.CustomPermissionsSchemes === 'true' &&
                                        <AdminSidebarSection
                                            name='schemes'
                                            title={
                                                <FormattedMessage
                                                    id='admin.sidebar.schemes'
                                                    defaultMessage='Permission Schemes'
                                                />
                                            }
                                        />}
                                </AdminSidebarSection>}
513
514
                            <AdminSidebarSection
                                name='authentication'
515
                                type='text'
516
517
518
519
520
521
522
523
                                title={
                                    <FormattedMessage
                                        id='admin.sidebar.authentication'
                                        defaultMessage='Authentication'
                                    />
                                }
                            >
                                <AdminSidebarSection
524
                                    name='authentication_email'
525
                                    title={
Asaad Mahmood's avatar
Asaad Mahmood committed
526
527
                                        <FormattedMessage
                                            id='admin.sidebar.email'
528
                                            defaultMessage='Email'
Asaad Mahmood's avatar
Asaad Mahmood committed
529
                                        />
530
531
                                    }
                                />
532
                                {oauthSettings}
533
                                {ldapSettings}
enahum's avatar
enahum committed
534
                                {samlSettings}
535
                                {mfaSettings}
536
537
538
                            </AdminSidebarSection>
                            <AdminSidebarSection
                                name='security'
539
                                type='text'
540
541
542
543
544
545
546
547
548
549
                                title={
                                    <FormattedMessage
                                        id='admin.sidebar.security'
                                        defaultMessage='Security'
                                    />
                                }
                            >
                                <AdminSidebarSection
                                    name='sign_up'
                                    title={
Asaad Mahmood's avatar
Asaad Mahmood committed
550
                                        <FormattedMessage
551
552
                                            id='admin.sidebar.signUp'
                                            defaultMessage='Sign Up'
Asaad Mahmood's avatar
Asaad Mahmood committed
553
                                        />
554
555
556
                                    }
                                />
                                <AdminSidebarSection
557
                                    name='password'
558
                                    title={
Asaad Mahmood's avatar
Asaad Mahmood committed
559
                                        <FormattedMessage
560
561
                                            id='admin.sidebar.password'
                                            defaultMessage='Password'
Asaad Mahmood's avatar
Asaad Mahmood committed
562
                                        />
563
564
565
566
567
                                    }
                                />
                                <AdminSidebarSection
                                    name='public_links'
                                    title={
Asaad Mahmood's avatar
Asaad Mahmood committed
568
                                        <FormattedMessage
569
570
                                            id='admin.sidebar.publicLinks'
                                            defaultMessage='Public Links'
Asaad Mahmood's avatar
Asaad Mahmood committed
571
                                        />
572
573
574
575
576
                                    }
                                />
                                <AdminSidebarSection
                                    name='sessions'
                                    title={
Asaad Mahmood's avatar
Asaad Mahmood committed
577
                                        <FormattedMessage
578
579
                                            id='admin.sidebar.sessions'
                                            defaultMessage='Sessions'
Asaad Mahmood's avatar
Asaad Mahmood committed
580
                                        />
581
582
583
584
585
                                    }
                                />
                                <AdminSidebarSection
                                    name='connections'
                                    title={
Asaad Mahmood's avatar
Asaad Mahmood committed
586
                                        <FormattedMessage
587
588
                                            id='admin.sidebar.connections'
                                            defaultMessage='Connections'
Asaad Mahmood's avatar
Asaad Mahmood committed
589
                                        />
590
591
                                    }
                                />
592
                                {clientVersions}
593
594
595
                            </AdminSidebarSection>
                            <AdminSidebarSection
                                name='notifications'
596
                                type='text'
597
598
599
600
601
602
603
604
                                title={
                                    <FormattedMessage
                                        id='admin.sidebar.notifications'
                                        defaultMessage='Notifications'
                                    />
                                }
                            >
                                <AdminSidebarSection
605
                                    name='notifications_email'
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
                                    title={
                                        <FormattedMessage
                                            id='admin.sidebar.email'
                                            defaultMessage='Email'
                                        />
                                    }
                                />
                                <AdminSidebarSection
                                    name='push'
                                    title={
                                        <FormattedMessage
                                            id='admin.sidebar.push'
                                            defaultMessage='Mobile Push'
                                        />
                                    }
                                />
                            </AdminSidebarSection>
                            <AdminSidebarSection
                                name='integrations'
625
                                type='text'
626
627
628
629
630
631
632
633
                                title={
                                    <FormattedMessage
                                        id='admin.sidebar.integrations'
                                        defaultMessage='Integrations'
                                    />
                                }
                            >
                                <AdminSidebarSection
634
                                    name='custom'
635
636
                                    title={
                                        <FormattedMessage
637
638
                                            id='admin.sidebar.customIntegrations'
                                            defaultMessage='Custom Integrations'
639
640
641
                                        />
                                    }
                                />
642
                                {webrtcSettings}
643
                                <AdminSidebarSection
644
                                    name='external'
645
646
                                    title={
                                        <FormattedMessage
647
648
                                            id='admin.sidebar.external'
                                            defaultMessage='External Services'
649
650
651
                                        />
                                    }
                                />
652
653
654
655
656
657
658
659
660
661
662
                            </AdminSidebarSection>
                            <AdminSidebarSection
                                name='plugins'
                                type='text'
                                title={
                                    <FormattedMessage
                                        id='admin.sidebar.plugins'
                                        defaultMessage='Plugins (Beta)'
                                    />
                                }
                            >
663
                                <AdminSidebarSection
664
                                    name='configuration'
665
666
                                    title={
                                        <FormattedMessage
667
668
669
670
671
672
673
674
675
676
677
678
679
680
                                            id='admin.sidebar.plugins.configuration'
                                            defaultMessage='Configuration'
                                        />
                                    }
                                />
                                <AdminSidebarSection
                                    name='management'
                                    title={
                                        <FormattedMessage
                                            id='admin.sidebar.plugins.management'
                                            defaultMessage='Management'
                                        />
                                    }
                                />
681
                                {customPlugins}
682
683
684
                            </AdminSidebarSection>
                            <AdminSidebarSection
                                name='files'
685
                                type='text'
686
687
688
689
690
691
692
693
                                title={
                                    <FormattedMessage
                                        id='admin.sidebar.files'
                                        defaultMessage='Files'
                                    />
                                }
                            >
                                <AdminSidebarSection
694
                                    key='storage'
695
696
                                    name='storage'
                                    title={
Asaad Mahmood's avatar
Asaad Mahmood committed
697
                                        <FormattedMessage
698
699
                                            id='admin.sidebar.storage'
                                            defaultMessage='Storage'
Asaad Mahmood's avatar
Asaad Mahmood committed
700
                                        />
701
702
703
704
705
                                    }
                                />
                            </AdminSidebarSection>
                            <AdminSidebarSection
                                name='customization'
706
                                type='text'
707
708
709
710
711
712
713
                                title={
                                    <FormattedMessage
                                        id='admin.sidebar.customization'
                                        defaultMessage='Customization'
                                    />
                                }
                            >
714
715
716
717
718
719
720
721
722
                                <AdminSidebarSection
                                    name='custom_brand'
                                    title={
                                        <FormattedMessage
                                            id='admin.sidebar.customBrand'
                                            defaultMessage='Custom Branding'
                                        />
                                    }
                                />
723
                                {announcement}
724
                                <AdminSidebarSection
725
                                    name='emoji'
726
727
                                    title={
                                        <FormattedMessage
728
729
                                            id='admin.sidebar.emoji'
                                            defaultMessage='Emoji'
730
731
732
733
                                        />

                                    }
                                />
734
735
736
737
738
739
740
741
742
743
                                <AdminSidebarSection
                                    name='link_previews'
                                    title={
                                        <FormattedMessage
                                            id='admin.sidebar.linkPreviews'
                                            defaultMessage='Link Previews'
                                        />

                                    }
                                />
744
745
746
747
748
749
750
751
752
                                <AdminSidebarSection
                                    name='legal_and_support'
                                    title={
                                        <FormattedMessage
                                            id='admin.sidebar.legalAndSupport'
                                            defaultMessage='Legal and Support'
                                        />
                                    }
                                />
753
754
755
756
757
                                <AdminSidebarSection
                                    name='native_app_links'
                                    title={
                                        <FormattedMessage
                                            id='admin.sidebar.nativeAppLinks'
758
                                            defaultMessage='Mattermost App Links'
759
760
761
762
                                        />

                                    }
                                />
763
                            </AdminSidebarSection>
764
                            {complianceSection}
765
                            <AdminSidebarSection
766
767
                                name='advanced'
                                type='text'
768
769
                                title={
                                    <FormattedMessage
770
771
                                        id='admin.sidebar.advanced'
                                        defaultMessage='Advanced'
772
773
                                    />
                                }
774
775
776
777
778
                            >
                                <AdminSidebarSection
                                    name='rate'
                                    title={
                                        <FormattedMessage
779
                                            id='admin.sidebar.rateLimiting'
780
781
782
783
784
785
786
787
788
789
790
791
792
                                            defaultMessage='Rate Limiting'
                                        />
                                    }
                                />
                                <AdminSidebarSection
                                    name='database'
                                    title={
                                        <FormattedMessage
                                            id='admin.sidebar.database'
                                            defaultMessage='Database'
                                        />
                                    }
                                />
793
                                {elasticSearchSettings}
794
795
796
797
798
799
800
801
802
                                <AdminSidebarSection
                                    name='developer'
                                    title={
                                        <FormattedMessage
                                            id='admin.sidebar.developer'
                                            defaultMessage='Developer'
                                        />
                                    }
                                />
803
                                {clusterSettings}
804
                                {metricsSettings}
805
                            </AdminSidebarSection>
806
                        </AdminSidebarCategory>
807
                        {otherCategory}
Asaad Mahmood's avatar
Asaad Mahmood committed
808
                    </ul>
809
810
811
812
813
                </div>
            </div>
        );
    }
}