20
20
<fa-icon v-if =" sort === head && type === 1" icon =" caret-up" ></fa-icon >
21
21
<fa-icon v-else-if =" sort === head" icon =" caret-down" ></fa-icon >
22
22
</th >
23
- <th v-if =" editable || deletable || downloadable" ></th >
23
+ <th v-if =" downloadable" ></th >
24
+ <th v-if =" editable" ></th >
25
+ <th v-if =" deletable" ></th >
24
26
</tr >
25
27
</thead >
26
28
<tbody >
27
29
<tr v-for =" (row, i) in sortedData" :key =" i" >
28
- <td v-for =" head in headers" :key =" head + i" >
30
+ <td
31
+ v-for =" head in headers"
32
+ :key =" head + i"
33
+ :class =" typeof row[head] === 'number' ? 'text-center' : ''"
34
+ >
29
35
{{ row[head] ? row[head] : row[head] === 0 ? 0 : '-' }}
30
36
</td >
31
- <td v-if =" editable || deletable || downloadable" class =" text-center" >
32
- <base-button
33
- v-if =" downloadable"
34
- type =" outline-success btn-sm mx-1"
35
- @click =" download(row[downloadable])"
36
- >
37
+ <td v-if =" downloadable" class =" text-center p-1 py-2" >
38
+ <base-button type =" outline-success btn-sm" @click =" download(row[downloadable])" >
37
39
<fa-icon icon =" download" ></fa-icon >
38
40
</base-button >
39
- <base-button
40
- v-if =" editable"
41
- type =" outline-warning btn-sm mx-1"
42
- @click =" edit(row[editable])"
43
- >
41
+ </td >
42
+ <td v-if =" editable" class =" text-center p-1 py-2" >
43
+ <base-button type =" outline-warning btn-sm" @click =" edit(row[editable])" >
44
44
<fa-icon icon =" edit" ></fa-icon >
45
45
</base-button >
46
- <base-button
47
- v-if =" deletable"
48
- type =" outline-danger btn-sm"
49
- @click =" delId = row[deletable]"
50
- >
46
+ </td >
47
+ <td v-if =" deletable" class =" text-center p-1 py-2" >
48
+ <base-button type =" outline-danger btn-sm" @click =" delId = row[deletable]" >
51
49
<fa-icon :icon =" ['far', 'trash-alt']" ></fa-icon >
52
50
</base-button >
53
51
</td >
59
57
</template >
60
58
61
59
<script >
62
- // TODO szűrő, és akár rendezés nyilakkal
60
+ // TODO szűrő
61
+ // TODO átnevezés
62
+ // TODO előnézet
63
63
import { computed , ref } from ' vue' ;
64
64
export default {
65
65
name: ' BaseTable' ,
@@ -85,17 +85,17 @@ export default {
85
85
getHeaders ();
86
86
87
87
function edit (id ) {
88
- context .emit (' edit' , id);
89
88
if (props .debug ) console .log (' Szerkesztés: ' , id);
89
+ context .emit (' edit' , id);
90
90
}
91
91
function del () {
92
- context .emit (' delete' , delId .value );
93
92
if (props .debug ) console .log (' Törlés: ' , delId .value );
93
+ context .emit (' delete' , delId .value );
94
94
delId .value = 0 ;
95
95
}
96
96
function download (id ) {
97
- context .emit (' download' , id);
98
97
if (props .debug ) console .log (' Letöltés: ' , id);
98
+ context .emit (' download' , id);
99
99
}
100
100
101
101
const sortedData = computed (() => {
@@ -124,7 +124,18 @@ export default {
124
124
} else type .value = type .value === 1 ? - 1 : 1 ;
125
125
}
126
126
127
- return { headers, getHeaders, edit, del, delId, sort, setSort, type, sortedData, download };
127
+ return {
128
+ headers,
129
+ getHeaders,
130
+ edit,
131
+ del,
132
+ delId,
133
+ sort,
134
+ setSort,
135
+ type,
136
+ sortedData,
137
+ download,
138
+ };
128
139
},
129
140
watch: {
130
141
data () {
0 commit comments