blob: c246b5379069e54606d050d7c59f50530e835fa4 [file] [log] [blame]
Derick Montaguea2988f42020-01-17 13:46:30 -06001<template>
Derick Montague42c19892020-01-17 16:10:34 -06002 <b-nav vertical>
Yoshie Muranaka71ac2302019-12-26 11:43:36 -08003 <b-nav-item to="/"><icon-overview />Overview</b-nav-item>
Derick Montague42c19892020-01-17 16:10:34 -06004
5 <li class="nav-item">
6 <b-button v-b-toggle.health-menu variant="link">
Yoshie Muranaka71ac2302019-12-26 11:43:36 -08007 <icon-health />Health
8 <icon-expand class="icon-expand" />
Derick Montague42c19892020-01-17 16:10:34 -06009 </b-button>
Yoshie Muranaka71ac2302019-12-26 11:43:36 -080010 <b-collapse tag="ul" id="health-menu" class="nav-item__nav">
Derick Montague42c19892020-01-17 16:10:34 -060011 <b-nav-item href="javascript:void(0)">Event Log</b-nav-item>
12 <b-nav-item href="javascript:void(0)">Hardware Status</b-nav-item>
13 <b-nav-item href="javascript:void(0)">Sensors</b-nav-item>
14 </b-collapse>
15 </li>
16
17 <li class="nav-item">
18 <b-button v-b-toggle.control-menu variant="link">
Yoshie Muranaka71ac2302019-12-26 11:43:36 -080019 <icon-control />Control
20 <icon-expand class="icon-expand" />
Derick Montague42c19892020-01-17 16:10:34 -060021 </b-button>
Yoshie Muranaka71ac2302019-12-26 11:43:36 -080022 <b-collapse tag="ul" id="control-menu" class="nav-item__nav">
23 <b-nav-item href="javascript:void(0)">
24 Server power operations
25 </b-nav-item>
Derick Montague42c19892020-01-17 16:10:34 -060026 <b-nav-item href="javascript:void(0)">Manage power usage</b-nav-item>
27 <b-nav-item href="javascript:void(0)">Server LED</b-nav-item>
28 </b-collapse>
29 </li>
Yoshie Muranaka71ac2302019-12-26 11:43:36 -080030
Derick Montague42c19892020-01-17 16:10:34 -060031 <li class="nav-item">
32 <b-button v-b-toggle.configuration-menu variant="link">
Yoshie Muranaka71ac2302019-12-26 11:43:36 -080033 <icon-configuration />Configuration
34 <icon-expand class="icon-expand" />
Derick Montague42c19892020-01-17 16:10:34 -060035 </b-button>
Yoshie Muranaka71ac2302019-12-26 11:43:36 -080036 <b-collapse tag="ul" id="configuration-menu" class="nav-item__nav">
Derick Montague42c19892020-01-17 16:10:34 -060037 <b-nav-item href="javascript:void(0)">Network settings</b-nav-item>
38 <b-nav-item href="javascript:void(0)">SNMP settings</b-nav-item>
39 <b-nav-item href="javascript:void(0)">Firmware</b-nav-item>
40 </b-collapse>
41 </li>
42
43 <li class="nav-item">
44 <b-button v-b-toggle.access-control-menu variant="link">
Yoshie Muranaka71ac2302019-12-26 11:43:36 -080045 <icon-access-control />Access Control
46 <icon-expand class="icon-expand" />
Derick Montague42c19892020-01-17 16:10:34 -060047 </b-button>
Yoshie Muranaka71ac2302019-12-26 11:43:36 -080048 <b-collapse tag="ul" id="access-control-menu" class="nav-item__nav">
Derick Montague42c19892020-01-17 16:10:34 -060049 <b-nav-item href="javascript:void(0)">LDAP</b-nav-item>
Yoshie Muranaka71ac2302019-12-26 11:43:36 -080050 <b-nav-item to="/access-control/local-user-management">
51 Local user management
52 </b-nav-item>
Derick Montague42c19892020-01-17 16:10:34 -060053 <b-nav-item href="javascript:void(0)">SSL Certificates</b-nav-item>
54 </b-collapse>
55 </li>
56 </b-nav>
Derick Montaguea2988f42020-01-17 13:46:30 -060057</template>
58
59<script>
Yoshie Muranaka71ac2302019-12-26 11:43:36 -080060import IconAnalytics from '@carbon/icons-vue/es/analytics/16';
61import IconDataCheck from '@carbon/icons-vue/es/data--check/16';
62import IconSettingsAdjust from '@carbon/icons-vue/es/settings--adjust/16';
63import IconSettings from '@carbon/icons-vue/es/settings/16';
64import IconPassword from '@carbon/icons-vue/es/password/16';
65import IconChevronUp from '@carbon/icons-vue/es/chevron--up/16';
Derick Montaguea2988f42020-01-17 13:46:30 -060066
67export default {
Derick Montaguee2fd1562019-12-20 13:26:53 -060068 name: 'AppNavigation',
Derick Montague42c19892020-01-17 16:10:34 -060069 components: {
Yoshie Muranaka71ac2302019-12-26 11:43:36 -080070 iconOverview: IconAnalytics,
71 iconHealth: IconDataCheck,
72 iconControl: IconSettingsAdjust,
73 iconConfiguration: IconSettings,
74 iconAccessControl: IconPassword,
75 iconExpand: IconChevronUp
Derick Montague42c19892020-01-17 16:10:34 -060076 }
Derick Montaguea2988f42020-01-17 13:46:30 -060077};
78</script>
Derick Montague42c19892020-01-17 16:10:34 -060079
Yoshie Muranaka71ac2302019-12-26 11:43:36 -080080<style scoped lang="scss">
81svg {
82 fill: $gray-900;
83 margin-left: 0 !important; //!important overriding button specificity
84 vertical-align: text-bottom;
85 &:not(.icon-expand) {
86 margin-right: $spacer;
87 }
88}
89
90.nav {
91 min-height: 100%;
92 padding-top: $spacer;
93}
94
95.nav-item__nav {
Derick Montague42c19892020-01-17 16:10:34 -060096 list-style: none;
97 padding-left: 0;
Yoshie Muranaka71ac2302019-12-26 11:43:36 -080098 margin-left: 0;
99
100 .nav-link {
101 padding-left: $spacer * 4;
102
103 &:not(.nav-link--current) {
104 font-weight: normal;
105 }
106 }
107}
108
109.btn-link {
110 width: 100%;
111 text-align: left;
112 text-decoration: none !important;
113 border-radius: 0;
114
115 &.collapsed {
116 .icon-expand {
117 transform: rotate(180deg);
118 }
119 }
120
121 &:focus {
122 box-shadow: $btn-focus-box-shadow;
123 }
124}
125
126.icon-expand {
127 float: right;
128 margin-top: $spacer / 4;
129}
130
131.btn-link,
132.nav-link {
133 position: relative;
134 font-weight: $headings-font-weight;
135 padding-left: $spacer; // defining consistent padding for links and buttons
136 padding-right: $spacer;
137 color: $gray-900 !important; //using important to avoid styling states
138
139 &:hover {
140 background-color: $gray-300;
141 }
142}
143
144.nav-link--current {
145 font-weight: $headings-font-weight;
146 background-color: $gray-300;
147
148 &::before {
149 content: '';
150 position: absolute;
151 top: 0;
152 bottom: 0;
153 left: 0;
154 width: 4px;
155 background-color: $primary;
156 }
Derick Montague42c19892020-01-17 16:10:34 -0600157}
158</style>