1
1
<template >
2
2
<div
3
- class =" list-group-item align-items-center"
3
+ class =" list-group-item align-items-center duty-list-group "
4
4
:class =" {
5
5
'list-group-item-action':
6
6
this.$store.getters.hasCharacter && isHovering && (duty.cleared == -1 || duty.cleared == 2),
7
7
'cursor-pointer': this.$store.getters.hasCharacter && (duty.cleared == -1 || duty.cleared == 2),
8
8
}"
9
9
@click =" check"
10
- @mouseover =" isHovering = true "
11
- @mouseout =" isHovering = false "
10
+ @mouseover =" onDutyItemMouseOver "
11
+ @mouseout =" onDutyItemMouseOut "
12
12
>
13
13
<div
14
14
class =" d-flex justify-content-between align-items-center"
46
46
'user-select-none': duty.blur,
47
47
}"
48
48
>
49
- {{ duty["Name" + $i18n.locale.toUpperCase()] || duty["NameEN"] }}
49
+ {{ dutyName }}
50
50
</a >
51
51
<span
52
52
v-else
58
58
'text-bold': duty.Bold,
59
59
}"
60
60
>
61
- {{ duty["Name" + $i18n.locale.toUpperCase()] || duty["NameEN"] }}
61
+ {{ dutyName }}
62
62
</span >
63
63
</span >
64
- <span
65
- v-if =" duty.IsMSQ"
66
- class =" icon-marker-msq"
67
- data-bs-toggle =" tooltip"
68
- data-bs-placement =" top"
69
- :title =" $t('encounters.msqContent')"
70
- ></span >
71
- <span
72
- v-if =" duty.Expansion && showPatchNums"
73
- :class =" 'icon-exp-' + duty.Expansion"
74
- data-bs-toggle =" tooltip"
75
- data-bs-placement =" top"
76
- :title =" $t('encounters.unlockedInExp')"
77
- ></span >
64
+ <div class =" d-inline-flex align-items-center duty-icons" >
65
+ <span
66
+ v-if =" duty.IsMSQ"
67
+ class =" icon-marker-msq"
68
+ data-bs-toggle =" tooltip"
69
+ data-bs-placement =" top"
70
+ :title =" $t('encounters.msqContent')"
71
+ ></span >
72
+ <span
73
+ v-if =" duty.Expansion && showPatchNums"
74
+ :class =" 'icon-exp-' + duty.Expansion"
75
+ data-bs-toggle =" tooltip"
76
+ data-bs-placement =" top"
77
+ :title =" $t('encounters.unlockedInExp')"
78
+ ></span >
79
+ <a v-if =" showWikiLink" :href =" duty.WikiUrl" class =" text-success tt duty-wiki-link" @click.stop =" " @hover.stop =" " >
80
+ <i class =" fa-fw fad fa-external-link" ></i >
81
+ <span class =" tt-text" >Wiki resource</span >
82
+ </a >
83
+ </div >
78
84
</div >
79
85
<div id =" rewards" v-if =" filters.rewards && !duty.blur && ('Mounts' in duty || 'Minions' in duty)" >
80
86
<div v-if =" 'Mounts' in duty" >
143
149
text-overflow : unset ;
144
150
}
145
151
152
+ .duty-list-group {
153
+ padding : 0 ;
154
+ }
155
+
146
156
.duty-list-item {
147
157
overflow : hidden ;
148
158
white-space : nowrap ;
149
159
text-overflow : " … " ;
160
+ width : 100% ;
161
+ }
162
+
163
+ .duty-wiki-link ,
164
+ .duty-list-item {
165
+ padding : var (--bs-list-group-item-padding-y ) var (--bs-list-group-item-padding-x );
166
+ }
167
+
168
+ .duty-icons > :not (.duty-wiki-link ):last-child {
169
+ padding-right : var (--bs-list-group-item-padding-x );
150
170
}
151
171
152
172
.duty-list-item-blur {
@@ -206,6 +226,9 @@ export default {
206
226
title () {
207
227
return this .duty .LodestoneID || this .duty .blur ? " " : this .duty .Name ;
208
228
},
229
+ dutyName () {
230
+ return this .duty [" Name" + this .$i18n .locale .toUpperCase ()] || this .duty [" NameEN" ];
231
+ },
209
232
showPatchNums () {
210
233
let patchNumsSetting = this .$store .getters .settings .patchNumsOption || 0 ;
211
234
@@ -215,6 +238,9 @@ export default {
215
238
patchNumsSetting == 2
216
239
);
217
240
},
241
+ showWikiLink () {
242
+ return ! this .duty .blur && this .duty .WikiUrl ? true : false ;
243
+ },
218
244
},
219
245
methods: {
220
246
getLodestoneURL: getLodestoneURL,
@@ -243,6 +269,12 @@ export default {
243
269
let characterID = this .$store .getters .lodestoneData .Character .ID ;
244
270
updateEncounterIDs (characterID, encounterIDsAsArray);
245
271
},
272
+ onDutyItemMouseOver () {
273
+ this .isHovering = true
274
+ },
275
+ onDutyItemMouseOut () {
276
+ this .isHovering = false
277
+ }
246
278
},
247
279
};
248
280
</script >
0 commit comments