fix(lint): automatically fix lint warnings

This commit is contained in:
Matteo Pagliazzi
2020-07-25 18:56:19 +02:00
parent aaf32cc09b
commit 79c64763ac
13 changed files with 263 additions and 203 deletions

View File

@@ -32,8 +32,8 @@ export default {
components: { components: {
BaseNotification, BaseNotification,
}, },
props: ['notification', 'canRemove'],
mixins: [scoreTask, sync], mixins: [scoreTask, sync],
props: ['notification', 'canRemove'],
methods: { methods: {
async action () { async action () {
const { task, direction } = this.notification.data; const { task, direction } = this.notification.data;

View File

@@ -91,7 +91,9 @@
<div <div
class="btn btn-primary checklist-icons" class="btn btn-primary checklist-icons"
@click="saveWebhook(webhook, index)" @click="saveWebhook(webhook, index)"
> {{ $t('subUpdateTitle') }} </div> >
{{ $t('subUpdateTitle') }}
</div>
</td> </td>
</tr> </tr>
<tr> <tr>

View File

@@ -4,11 +4,11 @@
:class="[{ 'opacity-75': locked }, classOverride]" :class="[{ 'opacity-75': locked }, classOverride]"
> >
<span <span
v-if="locked"
v-once v-once
class="svg-icon lock-icon icon-10 mr-1" class="svg-icon lock-icon icon-10 mr-1"
:class="classOverride ? classOverride : 'gray-200'" :class="classOverride ? classOverride : 'gray-200'"
v-html="icons.lock" v-html="icons.lock"
v-if="locked"
> >
</span> </span>
<label <label

View File

@@ -4,21 +4,23 @@
:class="{ 'break': maxItems === 0 }" :class="{ 'break': maxItems === 0 }"
> >
<template v-if="items.length === 0"> <template v-if="items.length === 0">
<div class="items-none">{{ emptyMessage }}</div> <div class="items-none">
{{ emptyMessage }}
</div>
</template> </template>
<template v-else> <template v-else>
<div <div
v-for="item in truncatedSelectedItems"
:key="item.id" :key="item.id"
:title="item.name" :title="item.name"
class="multi-item mr-1 d-inline-flex align-items-center" class="multi-item mr-1 d-inline-flex align-items-center"
:class="{'margin-adjust': maxItems !== 0, 'pill-invert': pillInvert}" :class="{'margin-adjust': maxItems !== 0, 'pill-invert': pillInvert}"
v-for="item in truncatedSelectedItems"
@click.stop="removeItem($event, item)" @click.stop="removeItem($event, item)"
> >
<div <div
class="multi-label my-auto ml-75 mr-2"
v-markdown="item.name" v-markdown="item.name"
class="multi-label my-auto ml-75 mr-2"
></div> ></div>
<div <div
class="remove ml-auto mr-75" class="remove ml-auto mr-75"
@@ -26,8 +28,8 @@
></div> ></div>
</div> </div>
<div <div
class="items-more ml-75"
v-if="remainingSelectedItems.length > 0" v-if="remainingSelectedItems.length > 0"
class="items-more ml-75"
> >
+{{ remainingSelectedItems.length }} +{{ remainingSelectedItems.length }}
</div> </div>
@@ -135,6 +137,26 @@ export default {
markdown: markdownDirective, markdown: markdownDirective,
}, },
components: {}, components: {},
props: {
addNew: {
type: Boolean,
default: false,
},
emptyMessage: {
type: String,
},
maxItems: {
type: Number,
default: 3,
},
pillInvert: {
type: Boolean,
default: false,
},
items: {
type: Array,
},
},
data () { data () {
return { return {
icons: Object.freeze({ icons: Object.freeze({
@@ -158,26 +180,6 @@ export default {
return this.items.slice(this.maxItems); return this.items.slice(this.maxItems);
}, },
}, },
props: {
addNew: {
type: Boolean,
default: false,
},
emptyMessage: {
type: String,
},
maxItems: {
type: Number,
default: 3,
},
pillInvert: {
type: Boolean,
default: false,
},
items: {
type: Array,
},
},
methods: { methods: {
removeItem ($event, item) { removeItem ($event, item) {
this.$emit('remove-item', item.id); this.$emit('remove-item', item.id);

View File

@@ -1,20 +1,28 @@
<template> <template>
<div> <div>
<select-list :items="items" <select-list
:items="items"
:key-prop="'icon'" :key-prop="'icon'"
class="difficulty-select" class="difficulty-select"
:class="{disabled: disabled}" :class="{disabled: disabled}"
:disabled="disabled" :disabled="disabled"
:value="selected" :value="selected"
@select="$emit('select', $event.value)"> @select="$emit('select', $event.value)"
>
<template v-slot:item="{ item, button }"> <template v-slot:item="{ item, button }">
<div v-if="item" class="difficulty-item" :class="{ 'isButton': button }"> <div
v-if="item"
class="difficulty-item"
:class="{ 'isButton': button }"
>
<span class="label">{{ item.label }}</span> <span class="label">{{ item.label }}</span>
<div class="svg-icon"> <div class="svg-icon">
<span v-for="n in item.stars" <span
v-for="n in item.stars"
:key="n"
v-html="icons.difficultyTrivial" v-html="icons.difficultyTrivial"
:key="n"> >
</span> </span>
</div> </div>
@@ -135,6 +143,14 @@ export default {
components: { components: {
selectList, selectList,
}, },
props: {
disabled: {
type: Boolean,
},
value: {
type: Number,
},
},
data () { data () {
const items = [ const items = [
{ {
@@ -170,13 +186,5 @@ export default {
selected: items.find(i => i.value === this.value), selected: items.find(i => i.value === this.value),
}; };
}, },
props: {
disabled: {
type: Boolean,
},
value: {
type: Number,
},
},
}; };
</script> </script>

View File

@@ -1,36 +1,40 @@
multi<template> multi<template>
<div> <div>
<b-dropdown <b-dropdown
ref="dropdown"
class="inline-dropdown select-multi" class="inline-dropdown select-multi"
:toggle-class="isOpened ? 'active' : null"
@show="wasOpened()" @show="wasOpened()"
@hide="hideCallback($event)" @hide="hideCallback($event)"
@toggle="openOrClose($event)" @toggle="openOrClose($event)"
:toggle-class="isOpened ? 'active' : null"
ref="dropdown"
> >
<b-dropdown-header> <b-dropdown-header>
<div class="mb-2"> <div class="mb-2">
<b-form-input type="text" <b-form-input
:placeholder="searchPlaceholder"
v-model="search" v-model="search"
type="text"
:placeholder="searchPlaceholder"
@keyup.enter="handleSubmit" @keyup.enter="handleSubmit"
/> />
</div> </div>
<multi-list v-if="selectedItems.length > 0" <multi-list
v-if="selectedItems.length > 0"
:add-new="addNew" :add-new="addNew"
:pill-invert="pillInvert" :pill-invert="pillInvert"
:items="selectedItemsAsObjects" :items="selectedItemsAsObjects"
:max-items="0"
@remove-item="removeItem($event)" @remove-item="removeItem($event)"
:max-items="0" /> />
</b-dropdown-header> </b-dropdown-header>
<template v-slot:button-content> <template v-slot:button-content>
<multi-list :items="selectedItemsAsObjects" <multi-list
:items="selectedItemsAsObjects"
:add-new="addNew" :add-new="addNew"
:pill-invert="pillInvert" :pill-invert="pillInvert"
:empty-message="emptyMessage" :empty-message="emptyMessage"
@remove-item="removeItem($event)"/> @remove-item="removeItem($event)"
/>
</template> </template>
<div <div
v-if="addNew || availableToSelect.length > 0" v-if="addNew || availableToSelect.length > 0"
@@ -43,20 +47,30 @@ multi<template>
<b-dropdown-item-button <b-dropdown-item-button
v-for="item in availableToSelect" v-for="item in availableToSelect"
:key="item.id" :key="item.id"
@click.prevent.stop="selectItem(item)"
class="ignore-hide multi-item" class="ignore-hide multi-item"
:class="{ 'none': item.id === 'none', selectListItem: true }" :class="{ 'none': item.id === 'none', selectListItem: true }"
@click.prevent.stop="selectItem(item)"
> >
<div class="label" v-markdown="item.name"></div> <div
<div class="challenge" v-if="item.challenge">{{$t('challenge')}}</div> v-markdown="item.name"
class="label"
></div>
<div
v-if="item.challenge"
class="challenge"
>
{{ $t('challenge') }}
</div>
</b-dropdown-item-button> </b-dropdown-item-button>
<div v-if="addNew" class="hint"> <div
v-if="addNew"
class="hint"
>
{{ $t('pressEnterToAddTag', { tagName: search }) }} {{ $t('pressEnterToAddTag', { tagName: search }) }}
</div> </div>
</div> </div>
</b-dropdown> </b-dropdown>
</div> </div>
</template> </template>
@@ -165,6 +179,28 @@ export default {
components: { components: {
MultiList, MultiList,
}, },
props: {
addNew: {
type: Boolean,
default: false,
},
allItems: {
type: Array,
},
emptyMessage: {
type: String,
},
pillInvert: {
type: Boolean,
default: false,
},
searchPlaceholder: {
type: String,
},
selectedItems: {
type: Array,
},
},
data () { data () {
return { return {
preventHide: true, preventHide: true,
@@ -173,12 +209,48 @@ export default {
search: '', search: '',
}; };
}, },
computed: {
selectedItemsIdList () {
return this.selectedItems
? this.selectedItems.map(t => t)
: [];
},
allItemsMap () {
const obj = {};
this.allItems.forEach(t => {
obj[t.id] = t;
});
return obj;
},
selectedItemsAsObjects () {
return this.selectedItems.map(t => this.allItemsMap[t]);
},
availableToSelect () {
const availableItems = this.allItems.filter(t => !this.selectedItemsIdList.includes(t.id));
const searchString = this.search.toLowerCase();
const filteredItems = availableItems.filter(i => i.name.toLowerCase().includes(searchString));
return filteredItems;
},
},
watch: {
selected () {
this.$emit('changed', this.selected);
},
},
created () { created () {
document.addEventListener('keyup', this.handleEsc); document.addEventListener('keyup', this.handleEsc);
}, },
beforeDestroy () { beforeDestroy () {
document.removeEventListener('keyup', this.handleEsc); document.removeEventListener('keyup', this.handleEsc);
}, },
mounted () {
this.$refs.dropdown.clickOutHandler = () => {
this.closeSelectPopup();
};
},
methods: { methods: {
closeSelectPopup () { closeSelectPopup () {
this.preventHide = false; this.preventHide = false;
@@ -232,63 +304,5 @@ export default {
this.search = ''; this.search = '';
}, },
}, },
computed: {
selectedItemsIdList () {
return this.selectedItems
? this.selectedItems.map(t => t)
: [];
},
allItemsMap () {
const obj = {};
this.allItems.forEach(t => {
obj[t.id] = t;
});
return obj;
},
selectedItemsAsObjects () {
return this.selectedItems.map(t => this.allItemsMap[t]);
},
availableToSelect () {
const availableItems = this.allItems.filter(t => !this.selectedItemsIdList.includes(t.id));
const searchString = this.search.toLowerCase();
const filteredItems = availableItems.filter(i => i.name.toLowerCase().includes(searchString));
return filteredItems;
},
},
props: {
addNew: {
type: Boolean,
default: false,
},
allItems: {
type: Array,
},
emptyMessage: {
type: String,
},
pillInvert: {
type: Boolean,
default: false,
},
searchPlaceholder: {
type: String,
},
selectedItems: {
type: Array,
},
},
watch: {
selected () {
this.$emit('changed', this.selected);
},
},
mounted () {
this.$refs.dropdown.clickOutHandler = () => {
this.closeSelectPopup();
};
},
}; };
</script> </script>

View File

@@ -1,11 +1,13 @@
<template> <template>
<div> <div>
<select-list :items="items" <select-list
:items="items"
:value="selected" :value="selected"
class="array-select" class="array-select"
:class="{disabled: disabled}" :class="{disabled: disabled}"
:disabled="disabled" :disabled="disabled"
@select="selectItem($event)"> @select="selectItem($event)"
>
<template v-slot:item="{ item }"> <template v-slot:item="{ item }">
<span class="label">{{ $t(item) }}</span> <span class="label">{{ $t(item) }}</span>
</template> </template>
@@ -50,6 +52,15 @@ export default {
components: { components: {
selectList, selectList,
}, },
props: {
items: {
type: Array,
},
disabled: {
type: Boolean,
},
value: [String, Number, Object],
},
data () { data () {
return { return {
selected: this.items.find(i => i === this.value), selected: this.items.find(i => i === this.value),
@@ -61,14 +72,5 @@ export default {
this.$emit('select', item); this.$emit('select', item);
}, },
}, },
props: {
items: {
type: Array,
},
disabled: {
type: Boolean,
},
value: [String, Number, Object],
},
}; };
</script> </script>

View File

@@ -187,7 +187,8 @@
:class="{open: !task.collapseChecklist}" :class="{open: !task.collapseChecklist}"
@click="collapseChecklist(task)" @click="collapseChecklist(task)"
> >
<div v-once <div
v-once
class="svg-icon" class="svg-icon"
v-html="icons.checklist" v-html="icons.checklist"
></div> ></div>

View File

@@ -4,10 +4,10 @@
:no-close-on-esc="true" :no-close-on-esc="true"
:no-close-on-backdrop="true" :no-close-on-backdrop="true"
size="sm" size="sm"
:hide-footer="true"
@hidden="onClose()" @hidden="onClose()"
@show="handleOpen()" @show="handleOpen()"
@shown="focusInput()" @shown="focusInput()"
:hide-footer="true"
> >
<div <div
v-if="task" v-if="task"
@@ -26,9 +26,11 @@
<button <button
class="cancel-task-btn mr-3" class="cancel-task-btn mr-3"
:class="cssClass('headings')" :class="cssClass('headings')"
@click="cancel()"
type="button" type="button"
>{{ $t('cancel') }}</button> @click="cancel()"
>
{{ $t('cancel') }}
</button>
<button <button
class="btn btn-secondary d-flex align-items-center justify-content-center" class="btn btn-secondary d-flex align-items-center justify-content-center"
:class="{disabled: !canSave}" :class="{disabled: !canSave}"
@@ -52,7 +54,7 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<lockable-label <lockable-label
:classOverride="cssClass('headings')" :class-override="cssClass('headings')"
:locked="groupAccessRequiredAndOnPersonalPage || challengeAccessRequired" :locked="groupAccessRequiredAndOnPersonalPage || challengeAccessRequired"
:text="`${$t('text')}*`" :text="`${$t('text')}*`"
/> />
@@ -69,8 +71,8 @@
> >
</div> </div>
<div <div
class="form-group mb-0"
v-if="isUserTask || isChallengeTask || isOriginalChallengeTask" v-if="isUserTask || isChallengeTask || isOriginalChallengeTask"
class="form-group mb-0"
> >
<label <label
class="d-flex align-items-center justify-content-between mb-1" class="d-flex align-items-center justify-content-between mb-1"
@@ -94,11 +96,11 @@
></textarea> ></textarea>
</div> </div>
<div <div
class="form-group mb-0 mt-3"
v-if="showManagerNotes" v-if="showManagerNotes"
class="form-group mb-0 mt-3"
> >
<lockable-label <lockable-label
:classOverride="cssClass('headings')" :class-override="cssClass('headings')"
:locked="groupAccessRequiredAndOnPersonalPage" :locked="groupAccessRequiredAndOnPersonalPage"
:text="$t('managerNotes')" :text="$t('managerNotes')"
/> />
@@ -143,7 +145,10 @@
class="option mt-3" class="option mt-3"
> >
<div class="form-group"> <div class="form-group">
<label v-once class="mb-1">{{ $t('cost') }}</label> <label
v-once
class="mb-1"
>{{ $t('cost') }}</label>
<div class="input-group"> <div class="input-group">
<div class="input-group-prepend input-group-icon align-items-center"> <div class="input-group-prepend input-group-icon align-items-center">
<div <div
@@ -167,9 +172,10 @@
v-if="checklistEnabled" v-if="checklistEnabled"
class="option mt-3" class="option mt-3"
> >
<checklist :items.sync="task.checklist" <checklist
:disableItems="groupAccessRequiredAndOnPersonalPage" :items.sync="task.checklist"
:disableDrag="groupAccessRequiredAndOnPersonalPage" :disable-items="groupAccessRequiredAndOnPersonalPage"
:disable-drag="groupAccessRequiredAndOnPersonalPage"
/> />
</div> </div>
<div <div
@@ -243,10 +249,9 @@
</div> </div>
<select-difficulty <select-difficulty
:value="task.priority" :value="task.priority"
@select="setDifficulty($event)"
:disabled="groupAccessRequiredAndOnPersonalPage || challengeAccessRequired" :disabled="groupAccessRequiredAndOnPersonalPage || challengeAccessRequired"
@select="setDifficulty($event)"
/> />
</template> </template>
<div <div
v-if="task.type === 'todo' && (task.date v-if="task.type === 'todo' && (task.date
@@ -332,7 +337,6 @@
required="required" required="required"
:disabled="challengeAccessRequired || groupAccessRequiredAndOnPersonalPage" :disabled="challengeAccessRequired || groupAccessRequiredAndOnPersonalPage"
> >
</div> </div>
<div class="input-group-spaced input-group-text"> <div class="input-group-spaced input-group-text">
{{ repeatSuffix }} {{ repeatSuffix }}
@@ -352,8 +356,8 @@
<div class="toggle-group"> <div class="toggle-group">
<toggle-checkbox <toggle-checkbox
v-for="(day, dayNumber) in ['su','m','t','w','th','f','s']" v-for="(day, dayNumber) in ['su','m','t','w','th','f','s']"
:tab-index="dayNumber"
:key="dayNumber" :key="dayNumber"
:tab-index="dayNumber"
:checked.sync="task.repeat[day]" :checked.sync="task.repeat[day]"
:disabled="groupAccessRequiredAndOnPersonalPage || challengeAccessRequired" :disabled="groupAccessRequiredAndOnPersonalPage || challengeAccessRequired"
:text="weekdaysMin(dayNumber)" :text="weekdaysMin(dayNumber)"
@@ -410,14 +414,16 @@
class="col-12 mb-1" class="col-12 mb-1"
>{{ $t('tags') }}</label> >{{ $t('tags') }}</label>
<div class="col-12"> <div class="col-12">
<select-multi :selected-items="task.tags" <select-multi
ref="selectTag"
:selected-items="task.tags"
:all-items="user.tags" :all-items="user.tags"
:add-new="true" :add-new="true"
:empty-message="$t('addTags')" :empty-message="$t('addTags')"
:search-placeholder="$t('enterTag')" :search-placeholder="$t('enterTag')"
@changed="task.tags = $event" @changed="task.tags = $event"
@addNew="addTag" @addNew="addTag"
ref="selectTag" /> />
</div> </div>
</div> </div>
</div> </div>
@@ -446,7 +452,10 @@
v-if="task.type === 'todo'" v-if="task.type === 'todo'"
class="form-group" class="form-group"
> >
<label v-once class="mb-1">{{ $t('sharedCompletion') }}</label> <label
v-once
class="mb-1"
>{{ $t('sharedCompletion') }}</label>
<select-translated-array <select-translated-array
:items="['recurringCompletion', 'singleCompletion', 'allAssignedCompletion']" :items="['recurringCompletion', 'singleCompletion', 'allAssignedCompletion']"
:value="sharedCompletion" :value="sharedCompletion"
@@ -460,18 +469,21 @@
>{{ $t('assignedTo') }}</label> >{{ $t('assignedTo') }}</label>
<div class="col-12"> <div class="col-12">
<select-multi <select-multi
ref="assignMembers"
:all-items="membersNameAndId" :all-items="membersNameAndId"
:empty-message="$t('unassigned')" :empty-message="$t('unassigned')"
:pill-invert="true" :pill-invert="true"
:search-placeholder="$t('chooseTeamMember')" :search-placeholder="$t('chooseTeamMember')"
:selected-items="assignedMembers" :selected-items="assignedMembers"
@toggle="toggleAssignment($event)" @toggle="toggleAssignment($event)"
ref="assignMembers"
/> />
</div> </div>
</div> </div>
<div class="form-group flex-group mt-3 mb-4"> <div class="form-group flex-group mt-3 mb-4">
<label v-once class="mb-0 flex">{{ $t('approvalRequired') }}</label> <label
v-once
class="mb-0 flex"
>{{ $t('approvalRequired') }}</label>
<toggle-switch <toggle-switch
class="d-inline-block" class="d-inline-block"
:checked="requiresApproval" :checked="requiresApproval"
@@ -506,12 +518,15 @@
class="option mt-3" class="option mt-3"
> >
<div class="form-group"> <div class="form-group">
<label v-once class="mb-1">{{ $t('restoreStreak') }}</label> <label
v-once
class="mb-1"
>{{ $t('restoreStreak') }}</label>
<div class="input-group"> <div class="input-group">
<div class="input-group-prepend streak-addon input-group-icon"> <div class="input-group-prepend streak-addon input-group-icon">
<div <div
class="svg-icon"
v-once v-once
class="svg-icon"
v-html="icons.streak" v-html="icons.streak"
></div> ></div>
</div> </div>
@@ -531,8 +546,14 @@
class="option mt-3" class="option mt-3"
> >
<div class="form-group"> <div class="form-group">
<label v-once class="mb-1">{{ $t('restoreStreak') }}</label> <label
<div class="row streak-inputs" :class="{'both': task.up && task.down}"> v-once
class="mb-1"
>{{ $t('restoreStreak') }}</label>
<div
class="row streak-inputs"
:class="{'both': task.up && task.down}"
>
<div <div
v-if="task.up" v-if="task.up"
class="positive" class="positive"
@@ -541,8 +562,8 @@
<div class="input-group"> <div class="input-group">
<div class="input-group-prepend positive-addon input-group-icon"> <div class="input-group-prepend positive-addon input-group-icon">
<div <div
class="svg-icon"
v-once v-once
class="svg-icon"
v-html="icons.positive" v-html="icons.positive"
></div> ></div>
</div> </div>
@@ -563,8 +584,8 @@
<div class="input-group"> <div class="input-group">
<div class="input-group-prepend negative-addon input-group-icon"> <div class="input-group-prepend negative-addon input-group-icon">
<div <div
class="svg-icon"
v-once v-once
class="svg-icon"
v-html="icons.negative" v-html="icons.negative"
></div> ></div>
</div> </div>
@@ -595,8 +616,8 @@
@click="destroy()" @click="destroy()"
> >
<div <div
class="svg-icon"
v-once v-once
class="svg-icon"
v-html="icons.destroy" v-html="icons.destroy"
></div> ></div>
<span class="delete-text mt-1"> <span class="delete-text mt-1">
@@ -613,8 +634,8 @@
class="btn btn-primary btn-footer class="btn btn-primary btn-footer
d-flex align-items-center justify-content-center" d-flex align-items-center justify-content-center"
:class="{disabled: !canSave}" :class="{disabled: !canSave}"
@click="submit()"
type="button" type="button"
@click="submit()"
> >
{{ $t('create') }} {{ $t('create') }}
</button> </button>

View File

@@ -2,13 +2,17 @@
<div> <div>
<b-dropdown <b-dropdown
class="inline-dropdown" class="inline-dropdown"
@show="isOpened = true"
@hide="isOpened = false"
:toggle-class="isOpened ? 'active' : null" :toggle-class="isOpened ? 'active' : null"
:disabled="disabled" :disabled="disabled"
@show="isOpened = true"
@hide="isOpened = false"
> >
<template v-slot:button-content> <template v-slot:button-content>
<slot name="item" v-bind:item="selected" v-bind:button="true"> <slot
name="item"
:item="selected"
:button="true"
>
<!-- Fallback content --> <!-- Fallback content -->
{{ value }} {{ value }}
</slot> </slot>
@@ -20,13 +24,16 @@
:class="{active: item === selected, selectListItem: true}" :class="{active: item === selected, selectListItem: true}"
@click="selectItem(item)" @click="selectItem(item)"
> >
<slot name="item" v-bind:item="item" v-bind:button="false"> <slot
name="item"
:item="item"
:button="false"
>
<!-- Fallback content --> <!-- Fallback content -->
{{ item }} {{ item }}
</slot> </slot>
</b-dropdown-item> </b-dropdown-item>
</b-dropdown> </b-dropdown>
</div> </div>
</template> </template>
@@ -37,12 +44,6 @@
<script> <script>
export default { export default {
data () {
return {
isOpened: false,
selected: this.value,
};
},
props: { props: {
items: { items: {
type: Array, type: Array,
@@ -58,6 +59,12 @@ export default {
type: String, type: String,
}, },
}, },
data () {
return {
isOpened: false,
selected: this.value,
};
},
methods: { methods: {
selectItem (item) { selectItem (item) {
this.selected = item; this.selected = item;

View File

@@ -1,9 +1,11 @@
<template> <template>
<button class="toggle-checkbox" <button
class="toggle-checkbox"
:class="{checked: isChecked}" :class="{checked: isChecked}"
@click="isChecked = !isChecked"
type="button" type="button"
:disabled="disabled"> :disabled="disabled"
@click="isChecked = !isChecked"
>
{{ text }} {{ text }}
</button> </button>
</template> </template>

View File

@@ -18,9 +18,10 @@
v-b-tooltip.hover.left="$t('sendMessage')" v-b-tooltip.hover.left="$t('sendMessage')"
class="btn btn-secondary message-icon" class="btn btn-secondary message-icon"
> >
<div class="svg-icon message-icon" <div
v-html="icons.message"
v-once v-once
class="svg-icon message-icon"
v-html="icons.message"
></div> ></div>
</button> </button>
</router-link> </router-link>