Skip to content

Commit fb44adc

Browse files
ShGKmeAntreesy
authored andcommitted
refactor(user_status): prepare for Vue 3 migration
Signed-off-by: Grigorii K. Shartsev <[email protected]>
1 parent f4753cc commit fb44adc

15 files changed

+102
-87
lines changed

apps/user_status/src/components/ClearAtSelect.vue

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<template>
77
<div class="clear-at-select">
88
<label class="clear-at-select__label" for="clearStatus">
9-
{{ $t('user_status', 'Clear status after') }}
9+
{{ t('user_status', 'Clear status after') }}
1010
</label>
1111
<NcSelect
1212
input-id="clearStatus"
@@ -21,9 +21,10 @@
2121
</template>
2222

2323
<script>
24+
import { t } from '@nextcloud/l10n'
2425
import NcSelect from '@nextcloud/vue/components/NcSelect'
25-
import { clearAtFilter } from '../filters/clearAtFilter.js'
2626
import { getAllClearAtOptions } from '../services/clearAtOptionsService.js'
27+
import { clearAtFormat } from '../services/clearAtService.js'
2728
2829
export default {
2930
name: 'ClearAtSelect',
@@ -38,6 +39,8 @@ export default {
3839
},
3940
},
4041
42+
emits: ['select-clear-at'],
43+
4144
data() {
4245
return {
4346
options: getAllClearAtOptions(),
@@ -53,12 +56,14 @@ export default {
5356
option() {
5457
return {
5558
clearAt: this.clearAt,
56-
label: clearAtFilter(this.clearAt),
59+
label: clearAtFormat(this.clearAt),
5760
}
5861
},
5962
},
6063
6164
methods: {
65+
t,
66+
6267
/**
6368
* Triggered when the user selects a new option.
6469
*

apps/user_status/src/components/CustomMessageInput.vue

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,13 @@
2222
:model-value="message"
2323
type="text"
2424
:label="t('user_status', 'What is your status?')"
25-
@input="onChange" />
25+
@update:model-value="onChange" />
2626
</div>
2727
</div>
2828
</template>
2929

3030
<script>
31+
import { t } from '@nextcloud/l10n'
3132
import NcButton from '@nextcloud/vue/components/NcButton'
3233
import NcEmojiPicker from '@nextcloud/vue/components/NcEmojiPicker'
3334
import NcTextField from '@nextcloud/vue/components/NcTextField'
@@ -75,6 +76,8 @@ export default {
7576
},
7677
7778
methods: {
79+
t,
80+
7881
focus() {
7982
this.$refs.input.focus()
8083
},

apps/user_status/src/components/OnlineStatusSelect.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ export default {
5454
},
5555
},
5656
57+
emits: ['select'],
58+
5759
computed: {
5860
id() {
5961
return `user-status-online-status-${this.type}`

apps/user_status/src/components/PredefinedStatus.vue

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,17 @@
1919
{{ message }}
2020
</span>
2121
<span class="predefined-status__label--clear-at">
22-
{{ clearAt | clearAtFilter }}
22+
{{ formattedClearAt }}
2323
</span>
2424
</label>
2525
</li>
2626
</template>
2727

2828
<script>
29-
import { clearAtFilter } from '../filters/clearAtFilter.js'
29+
import { clearAtFormat } from '../services/clearAtService.js'
3030
3131
export default {
3232
name: 'PredefinedStatus',
33-
filters: {
34-
clearAtFilter,
35-
},
3633
3734
props: {
3835
messageId: {
@@ -63,10 +60,16 @@ export default {
6360
},
6461
},
6562
63+
emits: ['select'],
64+
6665
computed: {
6766
id() {
6867
return `user-status-predefined-status-${this.messageId}`
6968
},
69+
70+
formattedClearAt() {
71+
return clearAtFormat(this.clearAt)
72+
},
7073
},
7174
7275
methods: {

apps/user_status/src/components/PredefinedStatusesList.vue

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
</template>
2727

2828
<script>
29+
import { t } from '@nextcloud/l10n'
2930
import { mapGetters, mapState } from 'vuex'
3031
import PredefinedStatus from './PredefinedStatus.vue'
3132
@@ -35,6 +36,8 @@ export default {
3536
PredefinedStatus,
3637
},
3738
39+
emits: ['select-status'],
40+
3841
data() {
3942
return {
4043
lastSelected: null,
@@ -68,6 +71,8 @@ export default {
6871
},
6972
7073
methods: {
74+
t,
75+
7176
/**
7277
* Emits an event when the user selects a status
7378
*

apps/user_status/src/components/PreviousStatus.vue

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,19 @@
1616
{{ message }}
1717
</span>
1818
<span class="predefined-status__clear-at">
19-
{{ $t('user_status', 'Previously set') }}
19+
{{ t('user_status', 'Previously set') }}
2020
</span>
2121

2222
<div class="backup-status__reset-button">
2323
<NcButton @click="select">
24-
{{ $t('user_status', 'Reset status') }}
24+
{{ t('user_status', 'Reset status') }}
2525
</NcButton>
2626
</div>
2727
</div>
2828
</template>
2929

3030
<script>
31+
import { t } from '@nextcloud/l10n'
3132
import NcButton from '@nextcloud/vue/components/NcButton'
3233
3334
export default {
@@ -49,7 +50,11 @@ export default {
4950
},
5051
},
5152
53+
emits: ['select'],
54+
5255
methods: {
56+
t,
57+
5358
/**
5459
* Emits an event when the user clicks the row
5560
*/

apps/user_status/src/components/SetStatusModal.vue

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@
1313
<div class="set-status-modal">
1414
<!-- Status selector -->
1515
<h2 id="user_status-set-dialog" class="set-status-modal__header">
16-
{{ $t('user_status', 'Online status') }}
16+
{{ t('user_status', 'Online status') }}
1717
</h2>
1818
<div
1919
class="set-status-modal__online-status"
2020
role="radiogroup"
21-
:aria-label="$t('user_status', 'Online status')">
21+
:aria-label="t('user_status', 'Online status')">
2222
<OnlineStatusSelect
2323
v-for="status in statuses"
2424
:key="status.type"
@@ -30,7 +30,7 @@
3030
<!-- Status message form -->
3131
<form @submit.prevent="saveStatus" @reset="clearStatus">
3232
<h3 class="set-status-modal__header">
33-
{{ $t('user_status', 'Status message') }}
33+
{{ t('user_status', 'Status message') }}
3434
</h3>
3535
<div class="set-status-modal__custom-input">
3636
<CustomMessageInput
@@ -44,14 +44,14 @@
4444
:href="absencePageUrl"
4545
target="_blank"
4646
variant="secondary"
47-
:aria-label="$t('user_status', 'Set absence period')">
48-
{{ $t('user_status', 'Set absence period and replacement') + ' ↗' }}
47+
:aria-label="t('user_status', 'Set absence period')">
48+
{{ t('user_status', 'Set absence period and replacement') + ' ↗' }}
4949
</NcButton>
5050
</div>
5151
<div
5252
v-if="hasBackupStatus"
5353
class="set-status-modal__automation-hint">
54-
{{ $t('user_status', 'Your status was set automatically') }}
54+
{{ t('user_status', 'Your status was set automatically') }}
5555
</div>
5656
<PreviousStatus
5757
v-if="hasBackupStatus"
@@ -67,17 +67,17 @@
6767
:wide="true"
6868
variant="tertiary"
6969
type="reset"
70-
:aria-label="$t('user_status', 'Clear status message')"
70+
:aria-label="t('user_status', 'Clear status message')"
7171
:disabled="isSavingStatus">
72-
{{ $t('user_status', 'Clear status message') }}
72+
{{ t('user_status', 'Clear status message') }}
7373
</NcButton>
7474
<NcButton
7575
:wide="true"
7676
variant="primary"
7777
type="submit"
78-
:aria-label="$t('user_status', 'Set status message')"
78+
:aria-label="t('user_status', 'Set status message')"
7979
:disabled="isSavingStatus">
80-
{{ $t('user_status', 'Set status message') }}
80+
{{ t('user_status', 'Set status message') }}
8181
</NcButton>
8282
</div>
8383
</form>
@@ -127,6 +127,8 @@ export default {
127127
},
128128
},
129129
130+
emits: ['close'],
131+
130132
data() {
131133
return {
132134
clearAt: null,
@@ -218,6 +220,8 @@ export default {
218220
},
219221
220222
methods: {
223+
t,
224+
221225
/**
222226
* Closes the Set Status modal
223227
*/

apps/user_status/src/filters/clearAtFilter.js

Lines changed: 0 additions & 52 deletions
This file was deleted.

apps/user_status/src/menu.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@ import store from './store/index.js'
1111

1212
__webpack_nonce__ = getCSPNonce()
1313

14-
Vue.prototype.t = t
15-
Vue.prototype.$t = t
16-
1714
const mountPoint = document.getElementById('user_status-menu-entry')
1815

1916
/**

apps/user_status/src/services/clearAtOptionsService.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: AGPL-3.0-or-later
44
*/
55

6-
import { translate as t } from '@nextcloud/l10n'
6+
import { t } from '@nextcloud/l10n'
77

88
/**
99
* Returns an array

0 commit comments

Comments
 (0)