diff options
author | Marco <marcoambrosini@icloud.com> | 2022-09-30 15:58:06 +0300 |
---|---|---|
committer | Marco <marcoambrosini@icloud.com> | 2022-09-30 15:58:06 +0300 |
commit | aae63c5ad42778e8515c10b6f56ab8a44d36b6b2 (patch) | |
tree | 9ba1589b1dd0afc06e97af35d577af196e410049 | |
parent | 00b6a64a8b5d1dcff6d9e288d626bd3fa57437c3 (diff) |
Tempts4
Signed-off-by: Marco <marcoambrosini@icloud.com>
-rw-r--r-- | jsconfig.json | 5 | ||||
-rw-r--r-- | package-lock.json | 125 | ||||
-rw-r--r-- | package.json | 1 | ||||
-rw-r--r-- | src/components/LeftSidebar/ConversationsList/Conversation.vue | 23 | ||||
-rw-r--r-- | src/env.d.ts | 19 | ||||
-rw-r--r-- | tsconfig.json | 30 |
6 files changed, 155 insertions, 48 deletions
diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 000000000..bc4938964 --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,5 @@ +{ + "vueCompilerOptions": { + "target": 2.7 + } +}
\ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 61b516c98..d48cae284 100644 --- a/package-lock.json +++ b/package-lock.json @@ -67,6 +67,7 @@ "@nextcloud/browserslist-config": "^2.3.0", "@nextcloud/eslint-config": "^8.1.2", "@nextcloud/stylelint-config": "^2.2.0", + "@nextcloud/typings": "^1.4.3", "@nextcloud/webpack-vue-config": "^5.3.0", "@vue/test-utils": "^1.3.0", "@vue/vue2-jest": "^29.1.0", @@ -3173,14 +3174,6 @@ "npm": "^7.0.0 || ^8.0.0" } }, - "node_modules/@nextcloud/dialogs/node_modules/@nextcloud/typings": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-1.0.0.tgz", - "integrity": "sha512-r8SRvXszWTyKWEhVd3gx7eBAcCKwdoLlr+ZrR8hrSxs2nfH00de/QoGdo0n/Rcv/9mMtX/haJNd71KwODM2+uQ==", - "dependencies": { - "@types/jquery": "2.0.54" - } - }, "node_modules/@nextcloud/eslint-config": { "version": "8.1.2", "resolved": "https://registry.npmjs.org/@nextcloud/eslint-config/-/eslint-config-8.1.2.tgz", @@ -3305,6 +3298,19 @@ "semver": "^7.3.5" } }, + "node_modules/@nextcloud/logger/node_modules/@nextcloud/typings": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-0.2.4.tgz", + "integrity": "sha512-49M8XUDQH27VIQE+13KrqSOYcyOsDUk6Yfw17jbBVtXFoDJ3YBSYYq8YaKeAM3Lz2JVbEpqQW9suAT+EyYSb6g==", + "dependencies": { + "@types/jquery": "2.0.54" + } + }, + "node_modules/@nextcloud/logger/node_modules/@types/jquery": { + "version": "2.0.54", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-2.0.54.tgz", + "integrity": "sha512-D/PomKwNkDfSKD13DEVQT/pq2TUjN54c6uB341fEZanIzkjfGe7UaFuuaLZbpEiS5j7Wk2MUHAZqZIoECw29lg==" + }, "node_modules/@nextcloud/logger/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -3379,11 +3385,11 @@ } }, "node_modules/@nextcloud/typings": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-0.2.4.tgz", - "integrity": "sha512-49M8XUDQH27VIQE+13KrqSOYcyOsDUk6Yfw17jbBVtXFoDJ3YBSYYq8YaKeAM3Lz2JVbEpqQW9suAT+EyYSb6g==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-1.4.3.tgz", + "integrity": "sha512-9Yc40alExKpHwNKdpZzULwb+Fz5HgEFKZvywXYK5QbR96Z7V5iI3Greu8MhmZErfUJ6zES7PHpz3S3jM1kdnUw==", "dependencies": { - "@types/jquery": "2.0.54" + "@types/jquery": "2.0.60" } }, "node_modules/@nextcloud/vue": { @@ -3481,6 +3487,14 @@ "core-js": "^3.6.4" } }, + "node_modules/@nextcloud/vue-dashboard/node_modules/@nextcloud/typings": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-0.2.4.tgz", + "integrity": "sha512-49M8XUDQH27VIQE+13KrqSOYcyOsDUk6Yfw17jbBVtXFoDJ3YBSYYq8YaKeAM3Lz2JVbEpqQW9suAT+EyYSb6g==", + "dependencies": { + "@types/jquery": "2.0.54" + } + }, "node_modules/@nextcloud/vue-dashboard/node_modules/@nextcloud/vue": { "version": "3.10.2", "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-3.10.2.tgz", @@ -3518,6 +3532,11 @@ "node": ">=10.0.0" } }, + "node_modules/@nextcloud/vue-dashboard/node_modules/@types/jquery": { + "version": "2.0.54", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-2.0.54.tgz", + "integrity": "sha512-D/PomKwNkDfSKD13DEVQT/pq2TUjN54c6uB341fEZanIzkjfGe7UaFuuaLZbpEiS5j7Wk2MUHAZqZIoECw29lg==" + }, "node_modules/@nextcloud/vue-dashboard/node_modules/loader-utils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", @@ -4103,9 +4122,9 @@ } }, "node_modules/@types/jquery": { - "version": "2.0.54", - "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-2.0.54.tgz", - "integrity": "sha512-D/PomKwNkDfSKD13DEVQT/pq2TUjN54c6uB341fEZanIzkjfGe7UaFuuaLZbpEiS5j7Wk2MUHAZqZIoECw29lg==" + "version": "2.0.60", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-2.0.60.tgz", + "integrity": "sha512-izi6OBEVrAwaHiqWITjOPBbVtcKZKAXTocJqPZsAKA2lvmbpFEyPSAxgcqmisbiMYj9EvrooUEPLHQeQqVMWAg==" }, "node_modules/@types/jsdom": { "version": "20.0.0", @@ -16095,6 +16114,14 @@ "semver": "^7.3.5" } }, + "node_modules/nextcloud-vue-collections/node_modules/@nextcloud/typings": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-0.2.4.tgz", + "integrity": "sha512-49M8XUDQH27VIQE+13KrqSOYcyOsDUk6Yfw17jbBVtXFoDJ3YBSYYq8YaKeAM3Lz2JVbEpqQW9suAT+EyYSb6g==", + "dependencies": { + "@types/jquery": "2.0.54" + } + }, "node_modules/nextcloud-vue-collections/node_modules/@nextcloud/vue": { "version": "3.10.2", "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-3.10.2.tgz", @@ -16140,6 +16167,11 @@ "core-js": "^3.6.4" } }, + "node_modules/nextcloud-vue-collections/node_modules/@types/jquery": { + "version": "2.0.54", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-2.0.54.tgz", + "integrity": "sha512-D/PomKwNkDfSKD13DEVQT/pq2TUjN54c6uB341fEZanIzkjfGe7UaFuuaLZbpEiS5j7Wk2MUHAZqZIoECw29lg==" + }, "node_modules/nextcloud-vue-collections/node_modules/loader-utils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", @@ -24075,16 +24107,6 @@ "@nextcloud/typings": "^1.0.0", "core-js": "^3.6.4", "toastify-js": "^1.12.0" - }, - "dependencies": { - "@nextcloud/typings": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-1.0.0.tgz", - "integrity": "sha512-r8SRvXszWTyKWEhVd3gx7eBAcCKwdoLlr+ZrR8hrSxs2nfH00de/QoGdo0n/Rcv/9mMtX/haJNd71KwODM2+uQ==", - "requires": { - "@types/jquery": "2.0.54" - } - } } }, "@nextcloud/eslint-config": { @@ -24178,6 +24200,19 @@ "semver": "^7.3.5" } }, + "@nextcloud/typings": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-0.2.4.tgz", + "integrity": "sha512-49M8XUDQH27VIQE+13KrqSOYcyOsDUk6Yfw17jbBVtXFoDJ3YBSYYq8YaKeAM3Lz2JVbEpqQW9suAT+EyYSb6g==", + "requires": { + "@types/jquery": "2.0.54" + } + }, + "@types/jquery": { + "version": "2.0.54", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-2.0.54.tgz", + "integrity": "sha512-D/PomKwNkDfSKD13DEVQT/pq2TUjN54c6uB341fEZanIzkjfGe7UaFuuaLZbpEiS5j7Wk2MUHAZqZIoECw29lg==" + }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -24237,11 +24272,11 @@ "requires": {} }, "@nextcloud/typings": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-0.2.4.tgz", - "integrity": "sha512-49M8XUDQH27VIQE+13KrqSOYcyOsDUk6Yfw17jbBVtXFoDJ3YBSYYq8YaKeAM3Lz2JVbEpqQW9suAT+EyYSb6g==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-1.4.3.tgz", + "integrity": "sha512-9Yc40alExKpHwNKdpZzULwb+Fz5HgEFKZvywXYK5QbR96Z7V5iI3Greu8MhmZErfUJ6zES7PHpz3S3jM1kdnUw==", "requires": { - "@types/jquery": "2.0.54" + "@types/jquery": "2.0.60" } }, "@nextcloud/vue": { @@ -24400,6 +24435,14 @@ "core-js": "^3.6.4" } }, + "@nextcloud/typings": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-0.2.4.tgz", + "integrity": "sha512-49M8XUDQH27VIQE+13KrqSOYcyOsDUk6Yfw17jbBVtXFoDJ3YBSYYq8YaKeAM3Lz2JVbEpqQW9suAT+EyYSb6g==", + "requires": { + "@types/jquery": "2.0.54" + } + }, "@nextcloud/vue": { "version": "3.10.2", "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-3.10.2.tgz", @@ -24434,6 +24477,11 @@ "vue2-datepicker": "^3.6.3" } }, + "@types/jquery": { + "version": "2.0.54", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-2.0.54.tgz", + "integrity": "sha512-D/PomKwNkDfSKD13DEVQT/pq2TUjN54c6uB341fEZanIzkjfGe7UaFuuaLZbpEiS5j7Wk2MUHAZqZIoECw29lg==" + }, "loader-utils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", @@ -24822,9 +24870,9 @@ } }, "@types/jquery": { - "version": "2.0.54", - "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-2.0.54.tgz", - "integrity": "sha512-D/PomKwNkDfSKD13DEVQT/pq2TUjN54c6uB341fEZanIzkjfGe7UaFuuaLZbpEiS5j7Wk2MUHAZqZIoECw29lg==" + "version": "2.0.60", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-2.0.60.tgz", + "integrity": "sha512-izi6OBEVrAwaHiqWITjOPBbVtcKZKAXTocJqPZsAKA2lvmbpFEyPSAxgcqmisbiMYj9EvrooUEPLHQeQqVMWAg==" }, "@types/jsdom": { "version": "20.0.0", @@ -34170,6 +34218,14 @@ "semver": "^7.3.5" } }, + "@nextcloud/typings": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-0.2.4.tgz", + "integrity": "sha512-49M8XUDQH27VIQE+13KrqSOYcyOsDUk6Yfw17jbBVtXFoDJ3YBSYYq8YaKeAM3Lz2JVbEpqQW9suAT+EyYSb6g==", + "requires": { + "@types/jquery": "2.0.54" + } + }, "@nextcloud/vue": { "version": "3.10.2", "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-3.10.2.tgz", @@ -34214,6 +34270,11 @@ } } }, + "@types/jquery": { + "version": "2.0.54", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-2.0.54.tgz", + "integrity": "sha512-D/PomKwNkDfSKD13DEVQT/pq2TUjN54c6uB341fEZanIzkjfGe7UaFuuaLZbpEiS5j7Wk2MUHAZqZIoECw29lg==" + }, "loader-utils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", diff --git a/package.json b/package.json index 5371f0d1d..39e5ea1c4 100644 --- a/package.json +++ b/package.json @@ -75,6 +75,7 @@ "@nextcloud/browserslist-config": "^2.3.0", "@nextcloud/eslint-config": "^8.1.2", "@nextcloud/stylelint-config": "^2.2.0", + "@nextcloud/typings": "^1.4.3", "@nextcloud/webpack-vue-config": "^5.3.0", "@vue/test-utils": "^1.3.0", "@vue/vue2-jest": "^29.1.0", diff --git a/src/components/LeftSidebar/ConversationsList/Conversation.vue b/src/components/LeftSidebar/ConversationsList/Conversation.vue index b3312d7a6..6dfb2e86e 100644 --- a/src/components/LeftSidebar/ConversationsList/Conversation.vue +++ b/src/components/LeftSidebar/ConversationsList/Conversation.vue @@ -93,7 +93,7 @@ </NcListItem> </template> -<script> +<script lang="ts"> import { showError, showSuccess } from '@nextcloud/dialogs' import NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js' import Cog from 'vue-material-design-icons/Cog.vue' @@ -105,8 +105,21 @@ import { generateUrl } from '@nextcloud/router' import { emit } from '@nextcloud/event-bus' import { CONVERSATION, PARTICIPANT, ATTENDEE } from '../../../constants.js' import NcListItem from '@nextcloud/vue/dist/Components/NcListItem.js' +import { defineComponent, PropType } from 'vue' + +type Item = { + token: string + // participants: Array<IParticipant> + participantType: number + unreadMessages: number + unreadMention: boolean + objectType: string + type: number + displayName: string + isFavorite: boolean +} -export default { +export default defineComponent({ name: 'Conversation', components: { NcActionButton, @@ -123,7 +136,7 @@ export default { default: false, }, item: { - type: Object, + type: Object as PropType<Item>, default() { return { token: '', @@ -323,7 +336,7 @@ export default { * Deletes the conversation. */ async deleteConversation() { - OC.dialogs.confirm( + window.OC.dialogs.confirm( t('spreed', 'Do you really want to delete "{displayName}"?', this.item, undefined, { escape: false, sanitize: false, @@ -376,7 +389,7 @@ export default { this.$emit('click', event) }, }, -} +}) </script> <style lang="scss" scoped> diff --git a/src/env.d.ts b/src/env.d.ts new file mode 100644 index 000000000..4789aa4d2 --- /dev/null +++ b/src/env.d.ts @@ -0,0 +1,19 @@ +/* eslint-disable no-unused-vars */ +/// <reference types="@nextcloud/typings" /> + +declare global { + const OC: Nextcloud.v24.OC & + { + dialogs: { + confirm: (arg1: any, arg2: any, arg3: any) => void, + } + } +} + +declare module '*.vue' { + import type { DefineComponent } from 'vue' + const component: DefineComponent<{}, {}, any> + export default component +} + +export {} diff --git a/tsconfig.json b/tsconfig.json index a89a9be5b..9a026cf58 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,20 +1,28 @@ { + "vueCompilerOptions": { + "target": 2.7 + }, "compilerOptions": { "outDir": "./dist/", "sourceMap": false, - "noImplicitAny": true, - "module": "es6", - "target": "es5", - "paths": { - "@nextcloud/event-bus": [ - "./node_modules/@nextcloud/event-bus/dist/index.js", - "./node_modules/@nextcloud/event-bus/dist/lib/*" - ] - }, - "allowJs": true + "noImplicitAny": false, + "allowJs": true, + "target": "ESNext", + "useDefineForClassFields": true, + "module": "ESNext", + "moduleResolution": "Node", + "strict": true, + "jsx": "preserve", + "resolveJsonModule": true, + "isolatedModules": true, + "esModuleInterop": true, + "lib": ["ESNext", "DOM"], + "skipLibCheck": true, + "noEmit": true }, "include": [ - "src/**/*.ts" + "src/**/*.ts", + "src/**/*.js", ], "exclude": [ "node_modules", |