Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/spreed.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco <marcoambrosini@icloud.com>2022-09-30 15:58:06 +0300
committerMarco <marcoambrosini@icloud.com>2022-09-30 15:58:06 +0300
commitaae63c5ad42778e8515c10b6f56ab8a44d36b6b2 (patch)
tree9ba1589b1dd0afc06e97af35d577af196e410049
parent00b6a64a8b5d1dcff6d9e288d626bd3fa57437c3 (diff)
Tempts4
Signed-off-by: Marco <marcoambrosini@icloud.com>
-rw-r--r--jsconfig.json5
-rw-r--r--package-lock.json125
-rw-r--r--package.json1
-rw-r--r--src/components/LeftSidebar/ConversationsList/Conversation.vue23
-rw-r--r--src/env.d.ts19
-rw-r--r--tsconfig.json30
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",