Skip to content

Commit d3e1e4b

Browse files
committed
chore: update dependencies and refactor components for Vue 3 compatibility
Signed-off-by: Christian Hartmann <chris-hartmann@gmx.de>
1 parent 569905f commit d3e1e4b

20 files changed

Lines changed: 1715 additions & 1733 deletions

eslint.config.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
* SPDX-License-Identifier: AGPL-3.0-or-later
44
*/
55

6-
import { recommendedVue2 } from '@nextcloud/eslint-config'
6+
import { recommended } from '@nextcloud/eslint-config'
77
import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'
88

99
export default [
10-
...recommendedVue2,
10+
...recommended,
1111
eslintPluginPrettierRecommended,
1212
]

package-lock.json

Lines changed: 1615 additions & 1609 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,24 +31,24 @@
3131
"dependencies": {
3232
"@nextcloud/auth": "^2.5.3",
3333
"@nextcloud/axios": "^2.5.2",
34-
"@nextcloud/dialogs": "^6.4.2",
34+
"@nextcloud/dialogs": "^7.0.1",
3535
"@nextcloud/event-bus": "^3.3.3",
3636
"@nextcloud/files": "^3.12.1",
3737
"@nextcloud/initial-state": "^3.0.0",
3838
"@nextcloud/l10n": "^3.4.1",
3939
"@nextcloud/logger": "^3.0.3",
4040
"@nextcloud/moment": "^1.3.5",
4141
"@nextcloud/router": "^3.1.0",
42-
"@nextcloud/vue": "^8.35.2",
42+
"@nextcloud/vue": "^9.0.1",
4343
"debounce": "^3.0.0",
4444
"markdown-it": "^14.1.0",
4545
"p-queue": "^9.1.0",
4646
"qrcode": "^1.5.4",
4747
"v-click-outside": "^3.2.0",
48-
"vue": "^2.7.16",
48+
"vue": "^3.5.22",
4949
"vue-material-design-icons": "^5.3.1",
50-
"vue-router": "^3.6.5",
51-
"vuedraggable": "^2.24.3"
50+
"vue-router": "^4.6.0",
51+
"vuedraggable": "^4.1.0"
5252
},
5353
"devDependencies": {
5454
"@mdi/js": "^7.4.47",
@@ -58,9 +58,10 @@
5858
"@nextcloud/eslint-config": "^9.0.0-rc.6",
5959
"@nextcloud/prettier-config": "^1.2.0",
6060
"@nextcloud/stylelint-config": "^3.1.1",
61-
"@nextcloud/vite-config": "^1.7.2",
61+
"@nextcloud/vite-config": "^2.5.1",
6262
"@playwright/test": "^1.57.0",
6363
"@vue/tsconfig": "^0.5.1",
64+
"eslint-config-prettier": "^10.1.8",
6465
"eslint-plugin-prettier": "^5.5.4",
6566
"prettier": "^3.7.4",
6667
"vite": "^7.3.1"

src/Forms.vue

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -118,19 +118,19 @@
118118
<!-- No errors show router content -->
119119
<template v-else>
120120
<router-view
121-
:form.sync="selectedForm"
122-
:sidebar-opened.sync="sidebarOpened"
121+
v-model:form="selectedForm"
122+
v-model:sidebar-opened="sidebarOpened"
123123
@open-sharing="openSharing" />
124124
<Sidebar
125125
v-if="!selectedForm.partial && canEdit"
126-
:form="selectedForm"
127-
:sidebar-opened.sync="sidebarOpened"
128-
:active.sync="sidebarActive" />
126+
v-model:sidebar-opened="sidebarOpened"
127+
v-model:active="sidebarActive"
128+
:form="selectedForm" />
129129
</template>
130130

131131
<!-- Archived forms modal -->
132132
<ArchivedFormsModal
133-
:open.sync="showArchivedForms"
133+
v-model:open="showArchivedForms"
134134
:forms="archivedForms"
135135
@clone="onCloneForm" />
136136
</NcContent>
@@ -292,15 +292,15 @@ export default {
292292
(search) => search.hash === this.routeHash,
293293
)
294294
if (index > -1) {
295-
this.$set(this.forms, index, form)
295+
this.forms[index] = form
296296
return
297297
}
298298
// Otherwise a shared form
299299
index = this.allSharedForms.findIndex(
300300
(search) => search.hash === this.routeHash,
301301
)
302302
if (index > -1) {
303-
this.$set(this.allSharedForms, index, form)
303+
this.allSharedForms[index] = form
304304
}
305305
},
306306
},

src/components/AppNavigationForm.vue

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@
9292
{{ t('forms', 'Delete form') }}
9393
</NcActionButton>
9494
<NcDialog
95-
:open.sync="showDeleteDialog"
95+
v-model:open="showDeleteDialog"
9696
:name="t('forms', 'Delete form')"
9797
:message="
9898
t('forms', 'Are you sure you want to delete {title}?', {
@@ -327,11 +327,10 @@ export default {
327327
},
328328
},
329329
)
330-
this.$set(
331-
this.form,
332-
'state',
333-
this.isArchived ? FormState.FormClosed : FormState.FormArchived,
334-
)
330+
// eslint-disable-next-line vue/no-mutating-props
331+
this.form.state = this.isArchived
332+
? FormState.FormClosed
333+
: FormState.FormArchived
335334
} catch (error) {
336335
logger.error('Error changing archived state of form', {
337336
error,

src/components/OptionInputDialog.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
size="normal"
1313
@update:open="$emit('update:open', $event)">
1414
<NcTextArea
15-
v-model="enteredOptions"
15+
v-model:value="enteredOptions"
1616
:label="t('forms', 'Add multiple options (one per line)')"
1717
:placeholder="t('forms', 'Add multiple options (one per line)')"
1818
resize="vertical"

src/components/Questions/AnswerInput.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,8 @@ export default {
216216
217217
if (this.answer.local) {
218218
// Dispatched for creation. Marked as synced
219-
this.$set(this.answer, 'local', false)
219+
// eslint-disable-next-line vue/no-mutating-props
220+
this.answer.local = false
220221
const newAnswer = await this.createAnswer(answer)
221222
222223
// Forward changes, but use current answer.text to avoid erasing

src/components/Questions/QuestionDropdown.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383

8484
<!-- Add multiple options modal -->
8585
<OptionInputDialog
86-
:open.sync="isOptionDialogShown"
86+
v-model:open="isOptionDialogShown"
8787
@multiple-answers="handleMultipleOptions" />
8888
</Question>
8989
</template>

src/components/Questions/QuestionMultiple.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@
172172

173173
<!-- Add multiple options modal -->
174174
<OptionInputDialog
175-
:open.sync="isOptionDialogShown"
175+
v-model:open="isOptionDialogShown"
176176
@multiple-answers="handleMultipleOptions" />
177177
</Question>
178178
</template>

src/components/Questions/QuestionShort.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@
3333
<NcActions
3434
v-if="!readOnly"
3535
:id="validationTypeMenuId"
36+
v-model:open="isValidationTypeMenuOpen"
3637
:aria-label="
3738
t('forms', 'Input types (currently: {type})', {
3839
type: validationObject.label,
3940
})
4041
"
4142
:container="`#${validationTypeMenuId}`"
42-
:open.sync="isValidationTypeMenuOpen"
4343
class="validation-type-menu__toggle"
4444
variant="tertiary-no-background">
4545
<template #icon>

0 commit comments

Comments
 (0)