|
8 | 8 | > |
9 | 9 | <v-row> |
10 | 10 | <v-col |
11 | | - class="text-right" |
12 | | - cols="auto" |
13 | | - lg="8" |
14 | | - md="8" |
15 | | - sm="12" |
| 11 | + class="text-center" |
16 | 12 | > |
17 | 13 | <h1> |
18 | 14 | Dashboards |
19 | 15 | </h1> |
20 | 16 | </v-col> |
21 | 17 | </v-row> |
22 | | - |
23 | 18 | <v-row> |
24 | 19 | <v-col |
25 | | - class="text-right" |
26 | | - cols="auto" |
27 | | - lg="8" |
28 | | - md="8" |
29 | | - sm="12" |
30 | | - > |
31 | | - <p> |
32 | | - Dashboards allow to visualize version information |
33 | | - </p> |
34 | | - <p> |
35 | | - First, pick a dashboard |
36 | | - </p> |
37 | | - <p> |
38 | | - Then a project within that dashboard |
39 | | - </p> |
40 | | - <p> |
41 | | - Finally, you can detailed application information |
42 | | - </p> |
43 | | - </v-col> |
44 | | - <v-col |
45 | | - class="text-left" |
46 | | - cols="auto" |
47 | | - lg="2" |
48 | | - md="2" |
49 | | - sm="12" |
| 20 | + class="text-center" |
50 | 21 | > |
51 | | - <div |
52 | | - v-for="dashboardInfo in dashboards" :key="dashboardInfo.name" |
53 | | - > |
54 | | - <v-btn |
55 | | - v-if="dashboard.name == dashboardInfo.name" |
56 | | - @click="setCurrentDashboardID(dashboardInfo.id)" |
57 | | - class="mx-4" |
58 | | - variant="text" |
59 | | - :active="true" |
60 | | - prepend-icon="mdi-arrow-right-circle" |
61 | | - > |
62 | | - {{ dashboardInfo.name }} |
63 | | - </v-btn> |
64 | | - <v-btn |
65 | | - v-else |
66 | | - @click="setCurrentDashboardID(dashboardInfo.id)" |
67 | | - class="mx-4" |
68 | | - variant="text" |
69 | | - prepend-icon="mdi-arrow-right-circle-outline" |
70 | | - > |
71 | | - {{ dashboardInfo.name }} |
72 | | - </v-btn> |
73 | | - </div> |
74 | | - </v-col> |
75 | | - <v-col |
76 | | - class="text-left" |
77 | | - v-if="dashboard" |
78 | | - cols="auto" |
79 | | - lg="2" |
80 | | - md="2" |
81 | | - sm="12" |
| 22 | + <v-btn-toggle |
| 23 | + v-model="toggle_exclusive" |
| 24 | + divided rounded="xl" |
| 25 | + variant="outlined" |
82 | 26 | > |
83 | 27 | <div |
84 | | - v-for="project in dashboard.projects" :key="project.name" |
| 28 | + class="d-flex align-center flex-column" |
| 29 | + v-for="dashboardInfo in dashboards" :key="dashboardInfo.name" |
85 | 30 | > |
86 | | - <v-btn |
87 | | - v-if="currentProject.name == project.name" |
88 | | - @click="setCurrentProject(project)" |
89 | | - class="mx-4" |
90 | | - variant="text" |
91 | | - :active="true" |
92 | | - prepend-icon="mdi-circle" |
93 | | - > |
94 | | - {{ project.name }} |
95 | | - </v-btn> |
96 | | - <v-btn |
97 | | - v-else |
98 | | - @click="setCurrentProject(project)" |
99 | | - class="mx-4" |
100 | | - variant="text" |
101 | | - prepend-icon="mdi-circle-outline" |
102 | | - > |
103 | | - {{ project.name }} |
104 | | - </v-btn> |
| 31 | + <v-btn |
| 32 | + @click="setCurrentDashboardID(dashboardInfo.id)" |
| 33 | + variant="text" |
| 34 | + size="x-large" |
| 35 | + > |
| 36 | + {{ dashboardInfo.name }} |
| 37 | + </v-btn> |
105 | 38 | </div> |
| 39 | + </v-btn-toggle> |
106 | 40 | </v-col> |
107 | 41 | </v-row> |
108 | 42 | </v-container> |
109 | 43 |
|
110 | 44 | <!-- Show Project Description --> |
111 | | - <v-container v-if="currentProject"> |
112 | | - <v-row |
113 | | - class="mx-auto"> |
114 | | - <v-col |
115 | | - cols="auto" |
116 | | - lg="12" |
117 | | - md="12" |
118 | | - sm="12" |
119 | | - > |
120 | | - <v-card |
121 | | - elevation="1" |
122 | | - shaped |
123 | | - outline |
124 | | - > |
125 | | - <v-card-title> |
126 | | - {{ currentProject.name }} |
127 | | - </v-card-title> |
128 | | - <v-card-text > |
129 | | - <p>{{ currentProject.description }}</p> |
130 | | - </v-card-text> |
131 | | - </v-card> |
132 | | - </v-col> |
133 | | - </v-row> |
| 45 | + <v-container v-if="currentDashboardID"> |
134 | 46 | <!-- |
135 | 47 | Show Project application in a table |
136 | 48 | --> |
|
153 | 65 | Status |
154 | 66 | </th> |
155 | 67 | <th class="text-left"> |
156 | | - Name |
| 68 | + Project |
157 | 69 | </th> |
158 | 70 | <th class="text-left"> |
159 | | - Description |
| 71 | + Application |
| 72 | + </th> |
| 73 | + <th class="text-left"> |
| 74 | + Created At |
| 75 | + </th> |
| 76 | + <th class="text-left"> |
| 77 | + Updated At |
160 | 78 | </th> |
161 | 79 | <th class="text-left"> |
162 | 80 | Apps |
|
165 | 83 | </th> |
166 | 84 | </tr> |
167 | 85 | </thead> |
168 | | - <tbody> |
| 86 | + <tbody |
| 87 | + v-for="project in dashboard.projects" :key="project.name" |
| 88 | + > |
169 | 89 | <tr |
170 | | - v-for="item in currentProject.apps" |
| 90 | + v-for="item in project.apps" |
171 | 91 | :key="item.name" |
172 | 92 | > |
173 | 93 | <td><v-icon :icon=getStatusIcon(item.status) :color=getStatusColor(item.status)></v-icon></td> |
| 94 | + <td>{{ project.name }}</td> |
174 | 95 | <td>{{ item.name }}</td> |
175 | | - <td>{{ item.description }}</td> |
| 96 | + <td>{{ item.createdAt }}</td> |
| 97 | + <td>{{ item.updatedAt }}</td> |
176 | 98 | <td> |
177 | | - <v-btn |
178 | | - rounded |
179 | | - density="compact" |
180 | | - small |
181 | | - v-for="spec in item.spec" |
182 | | - :key="spec.name" |
183 | | - > |
184 | | - {{ spec.version }} |
185 | | - </v-btn> |
| 99 | + <v-btn-toggle |
| 100 | + > |
| 101 | + <v-btn |
| 102 | + rounded |
| 103 | + density="compact" |
| 104 | + small |
| 105 | + v-for="spec in item.spec" |
| 106 | + :key="spec.name" |
| 107 | + > |
| 108 | + {{ spec.version }} |
| 109 | + </v-btn> |
| 110 | + </v-btn-toggle> |
186 | 111 | </td> |
187 | 112 | <td> |
188 | 113 | <v-chip |
189 | | - class="ma-2" |
190 | | - @click="app=item" |
| 114 | + @click="app=item;currentProject=project" |
| 115 | + v-if="app.name == item.name" |
| 116 | + append-icon="mdi-arrow-down-circle" |
| 117 | + > |
| 118 | + </v-chip> |
| 119 | + <v-chip |
| 120 | + v-else |
| 121 | + @click="app=item;currentProject=project" |
| 122 | + append-icon="mdi-arrow-right-circle" |
191 | 123 | > |
192 | | - Details |
193 | 124 | </v-chip> |
194 | 125 | </td> |
195 | 126 | </tr> |
|
206 | 137 | > |
207 | 138 | <v-card |
208 | 139 | v-if="app" |
209 | | - :flat=true |
210 | 140 | shaped |
211 | 141 | outline |
| 142 | + :border=true |
| 143 | + variant="elevated" |
212 | 144 | > |
213 | 145 | <v-row> |
214 | 146 | <v-col |
|
220 | 152 | <v-card |
221 | 153 | :flat=true |
222 | 154 | > |
223 | | - <v-card-title>{{ app.name }}</v-card-title> |
| 155 | + <v-card-title>Project: {{ currentProject.name }}</v-card-title> |
| 156 | + <v-card-text> |
| 157 | + <p>{{ currentProject.description }}</p> |
| 158 | + </v-card-text> |
| 159 | + </v-card> |
| 160 | + </v-col> |
| 161 | + </v-row> |
| 162 | + <v-row> |
| 163 | + <v-col |
| 164 | + cols="auto" |
| 165 | + lg="12" |
| 166 | + md="12" |
| 167 | + sm="12" |
| 168 | + > |
| 169 | + <v-card |
| 170 | + :flat=true |
| 171 | + > |
| 172 | + <v-card-title>Application: {{ app.name }}</v-card-title> |
224 | 173 | <v-card-text> |
225 | 174 | <p>{{ app.description }}</p> |
226 | 175 | </v-card-text> |
|
240 | 189 | sm="12" |
241 | 190 | > |
242 | 191 | <v-card |
243 | | - :border="true" |
244 | | - variant="outlined" |
245 | | - > |
| 192 | + :flat=true |
| 193 | + > |
246 | 194 | <v-card-title> |
247 | 195 | <v-row |
248 | 196 | align-center="center" |
|
0 commit comments