|
43 | 43 | @keydown.enter.prevent="searchErrata()" |
44 | 44 | /> |
45 | 45 | </div> |
46 | | - <div class="q-pb-md group row justify-between"> |
47 | | - <q-btn |
48 | | - v-if="userAuthenticated()" |
49 | | - @click=" |
50 | | - selectionHasSkippedPackages() |
51 | | - ? (confirm = true) |
52 | | - : bulkReleaseErratas() |
53 | | - " |
54 | | - no-caps |
55 | | - color="primary" |
56 | | - :disable="!selectedAdvisories.length" |
57 | | - :loading="loadingRelease" |
58 | | - > |
59 | | - Release selection |
60 | | - </q-btn> |
| 46 | + <div class="q-pb-md group row justify-end"> |
61 | 47 | <q-btn |
62 | 48 | @click="searchErrata()" |
63 | 49 | no-caps |
|
75 | 61 | color="primary" |
76 | 62 | :loading="loadingTable" |
77 | 63 | :rows-per-page-options="[10]" |
78 | | - row-key="id" |
| 64 | + row-key="complexId" |
79 | 65 | hide-pagination |
80 | 66 | binary-state-sort |
81 | 67 | wrap-cells |
|
84 | 70 | > |
85 | 71 | <template v-slot:top-right v-if="userAuthenticated()"> |
86 | 72 | <div class="q-gutter-md"> |
| 73 | + <q-btn |
| 74 | + size="80%" |
| 75 | + square |
| 76 | + v-if="selectedAdvisories.length" |
| 77 | + @click=" |
| 78 | + selectionHasSkippedPackages() |
| 79 | + ? (confirm = true) |
| 80 | + : bulkReleaseErratas() |
| 81 | + " |
| 82 | + no-caps |
| 83 | + icon="backup" |
| 84 | + color="primary" |
| 85 | + :loading="loadingRelease" |
| 86 | + > |
| 87 | + <q-tooltip> Release selected Advisories </q-tooltip> |
| 88 | + </q-btn> |
| 89 | + |
87 | 90 | <q-btn |
88 | 91 | size="80%" |
89 | 92 | square |
|
106 | 109 | </q-btn> |
107 | 110 | </div> |
108 | 111 | </template> |
| 112 | + <template v-slot:header="props"> |
| 113 | + <q-tr :props="props"> |
| 114 | + <q-th v-for="col in props.cols" :key="col.name" :props="props"> |
| 115 | + <q-checkbox |
| 116 | + v-if="col.name === 'id' && userAuthenticated()" |
| 117 | + v-model="props.selected" |
| 118 | + :disable="loadingTable" |
| 119 | + size="xs" |
| 120 | + /> |
| 121 | + {{ col.label }} |
| 122 | + </q-th> |
| 123 | + </q-tr> |
| 124 | + </template> |
109 | 125 | <template v-slot:body="props"> |
110 | 126 | <q-tr |
111 | 127 | :props="props" |
112 | 128 | class="cursor-pointer" |
113 | 129 | :class="markAdvisory(props.row.id)" |
114 | 130 | @click="loadAdvisory(props.row.id, props.row.platform_id)" |
115 | 131 | > |
116 | | - <q-td v-if="userAuthenticated()" auto-width> |
117 | | - <q-checkbox v-model="props.selected" /> |
| 132 | + <q-td key="id" :props="props"> |
| 133 | + <div class="row"> |
| 134 | + <q-checkbox |
| 135 | + v-if="userAuthenticated()" |
| 136 | + size="xs" |
| 137 | + v-model="props.selected" |
| 138 | + class="col" |
| 139 | + /> |
| 140 | + <span class="col">{{ props.row.id }} </span> |
| 141 | + </div> |
118 | 142 | </q-td> |
119 | 143 | <q-td key="release_status" :props="props"> |
120 | 144 | <q-chip |
|
140 | 164 | <q-td key="updated_date" :props="props">{{ |
141 | 165 | formatDate(props.row.updated_date) |
142 | 166 | }}</q-td> |
143 | | - <q-td key="id" :props="props">{{ props.row.id }}</q-td> |
144 | 167 | <q-td key="platform" :props="props">{{ |
145 | 168 | platformName(props.row.platform_id) |
146 | 169 | }}</q-td> |
147 | 170 | <q-td key="original_title" :props="props">{{ |
148 | 171 | title(props.row) |
149 | 172 | }}</q-td> |
150 | | - <q-td key="id" :props="props">{{ props.row.id }}</q-td> |
151 | 173 | </q-tr> |
152 | 174 | </template> |
153 | 175 | </q-table> |
|
234 | 256 | selectedAdvisory: null, |
235 | 257 | showDialogAdvisories: false, |
236 | 258 | columns: [ |
| 259 | + { |
| 260 | + name: 'id', |
| 261 | + required: true, |
| 262 | + align: 'left', |
| 263 | + label: 'ID', |
| 264 | + field: 'id', |
| 265 | + }, |
237 | 266 | { |
238 | 267 | name: 'release_status', |
239 | 268 | required: true, |
|
249 | 278 | field: 'updated_date', |
250 | 279 | headerStyle: 'width: 120px', |
251 | 280 | }, |
252 | | - { |
253 | | - name: 'id', |
254 | | - required: true, |
255 | | - align: 'left', |
256 | | - label: 'ID', |
257 | | - field: 'id', |
258 | | - }, |
| 281 | +
|
259 | 282 | { |
260 | 283 | name: 'platform', |
261 | 284 | required: true, |
|
401 | 424 | .then((response) => { |
402 | 425 | this.loading = false |
403 | 426 | this.loadingTable = false |
404 | | - this.advisors = response.data.records |
| 427 | + this.advisors = response.data.records.map((advisory) => ({ |
| 428 | + ...advisory, |
| 429 | + complexId: `${advisory.platform_id}-${advisory.id}`, |
| 430 | + })) |
405 | 431 | this.totalPages = Math.ceil(response.data['total_records'] / 10) |
406 | 432 | }) |
407 | 433 | .catch((error) => { |
|
0 commit comments