fix: remove some of the typescript warnings

This commit is contained in:
Dominik Pschenitschni 2022-01-05 11:05:44 +01:00
parent 2b302974cc
commit 49955eb03a
No known key found for this signature in database
GPG key ID: B257AC0149F43A77
12 changed files with 76 additions and 62 deletions

View file

@ -21,6 +21,7 @@
"@kyvg/vue3-notification": "2.3.4", "@kyvg/vue3-notification": "2.3.4",
"@sentry/tracing": "6.16.1", "@sentry/tracing": "6.16.1",
"@sentry/vue": "6.16.1", "@sentry/vue": "6.16.1",
"@types/is-touch-device": "^1.0.0",
"@vue/compat": "3.2.26", "@vue/compat": "3.2.26",
"@vueuse/core": "7.5.2", "@vueuse/core": "7.5.2",
"@vueuse/router": "7.5.3", "@vueuse/router": "7.5.3",

View file

@ -1,6 +1,6 @@
<template> <template>
<div <div
:class="[background ? 'has-background' : '', $route.name+'-view']" :class="[background ? 'has-background' : '', $route.name as string +'-view']"
:style="{'background-image': `url(${background})`}" :style="{'background-image': `url(${background})`}"
class="link-share-container" class="link-share-container"
> >

View file

@ -33,7 +33,9 @@ import {useStore} from 'vuex'
import ListService from '@/services/list' import ListService from '@/services/list'
const background = ref(null) import {colorIsDark} from '@/helpers/color/colorIsDark'
const background = ref<string | null>(null)
const backgroundLoading = ref(false) const backgroundLoading = ref(false)
const props = defineProps({ const props = defineProps({

View file

@ -13,7 +13,7 @@
<section class="content"> <section class="content">
<div> <div>
<h2 class="title" v-if="title">{{ title }}</h2> <h2 class="title" v-if="title">{{ title }}</h2>
<api-config @foundApi="hasApiUrl = true"/> <api-config/>
<slot/> <slot/>
</div> </div>
<legal/> <legal/>
@ -23,9 +23,9 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import Logo from '@/components/home/Logo' import Logo from '@/components/home/Logo.vue'
import Message from '@/components/misc/message' import Message from '@/components/misc/message.vue'
import Legal from '@/components/misc/legal' import Legal from '@/components/misc/legal.vue'
import ApiConfig from '@/components/misc/api-config.vue' import ApiConfig from '@/components/misc/api-config.vue'
import {useStore} from 'vuex' import {useStore} from 'vuex'
import {computed} from 'vue' import {computed} from 'vue'

View file

@ -183,6 +183,8 @@ import {mapState} from 'vuex'
import Rights from '../../models/constants/rights.json' import Rights from '../../models/constants/rights.json'
import FilterPopup from '@/components/list/partials/filter-popup.vue' import FilterPopup from '@/components/list/partials/filter-popup.vue'
import {colorIsDark} from '@/helpers/color/colorIsDark'
export default { export default {
name: 'GanttChart', name: 'GanttChart',
components: { components: {
@ -252,6 +254,7 @@ export default {
canWrite: (state) => state.currentList.maxRight > Rights.READ, canWrite: (state) => state.currentList.maxRight > Rights.READ,
}), }),
methods: { methods: {
colorIsDark,
buildTheGanttChart() { buildTheGanttChart() {
this.setDates() this.setDates()
this.prepareGanttDays() this.prepareGanttDays()

View file

@ -73,6 +73,8 @@ import Done from '@/components/misc/Done.vue'
import Labels from '../../../components/tasks/partials/labels' import Labels from '../../../components/tasks/partials/labels'
import ChecklistSummary from './checklist-summary' import ChecklistSummary from './checklist-summary'
import {colorIsDark} from '@/helpers/color/colorIsDark'
export default { export default {
name: 'kanban-card', name: 'kanban-card',
components: { components: {
@ -98,6 +100,7 @@ export default {
}, },
}, },
methods: { methods: {
colorIsDark,
async toggleTaskDone(task) { async toggleTaskDone(task) {
this.loadingInternal = true this.loadingInternal = true
try { try {

View file

@ -76,7 +76,6 @@ app.component('card', Card)
// Mixins // Mixins
import {getNamespaceTitle} from './helpers/getNamespaceTitle' import {getNamespaceTitle} from './helpers/getNamespaceTitle'
import {getListTitle} from './helpers/getListTitle' import {getListTitle} from './helpers/getListTitle'
import {colorIsDark} from './helpers/color/colorIsDark'
import {setTitle} from './helpers/setTitle' import {setTitle} from './helpers/setTitle'
app.mixin({ app.mixin({
@ -87,7 +86,6 @@ app.mixin({
formatDateShort: formatDateShort, formatDateShort: formatDateShort,
getNamespaceTitle, getNamespaceTitle,
getListTitle, getListTitle,
colorIsDark,
setTitle, setTitle,
}, },
}) })

View file

@ -2,73 +2,73 @@ import { createRouter, createWebHistory, RouteLocation } from 'vue-router'
import {saveLastVisited} from '@/helpers/saveLastVisited' import {saveLastVisited} from '@/helpers/saveLastVisited'
import {store} from '@/store' import {store} from '@/store'
import HomeComponent from '../views/Home' import HomeComponent from '../views/Home.vue'
import NotFoundComponent from '../views/404' import NotFoundComponent from '../views/404.vue'
import About from '../views/About' import About from '../views/About.vue'
// User Handling // User Handling
import LoginComponent from '../views/user/Login' import LoginComponent from '../views/user/Login.vue'
import RegisterComponent from '../views/user/Register' import RegisterComponent from '../views/user/Register.vue'
import OpenIdAuth from '../views/user/OpenIdAuth' import OpenIdAuth from '../views/user/OpenIdAuth.vue'
import DataExportDownload from '../views/user/DataExportDownload' import DataExportDownload from '../views/user/DataExportDownload.vue'
// Tasks // Tasks
import ShowTasksInRangeComponent from '../views/tasks/ShowTasksInRange' import ShowTasksInRangeComponent from '../views/tasks/ShowTasksInRange.vue'
import LinkShareAuthComponent from '../views/sharing/LinkSharingAuth' import LinkShareAuthComponent from '../views/sharing/LinkSharingAuth.vue'
import TaskDetailViewModal from '../views/tasks/TaskDetailViewModal' import TaskDetailViewModal from '../views/tasks/TaskDetailViewModal.vue'
import TaskDetailView from '../views/tasks/TaskDetailView' import TaskDetailView from '../views/tasks/TaskDetailView.vue'
import ListNamespaces from '../views/namespaces/ListNamespaces' import ListNamespaces from '../views/namespaces/ListNamespaces.vue'
// Team Handling // Team Handling
import ListTeamsComponent from '../views/teams/ListTeams' import ListTeamsComponent from '../views/teams/ListTeams.vue'
// Label Handling // Label Handling
import ListLabelsComponent from '../views/labels/ListLabels' import ListLabelsComponent from '../views/labels/ListLabels.vue'
import NewLabelComponent from '../views/labels/NewLabel' import NewLabelComponent from '../views/labels/NewLabel.vue'
// Migration // Migration
import MigrationComponent from '../views/migrator/Migrate' import MigrationComponent from '../views/migrator/Migrate.vue'
import MigrateServiceComponent from '../views/migrator/MigrateService' import MigrateServiceComponent from '../views/migrator/MigrateService.vue'
// List Views // List Views
import ShowListComponent from '../views/list/ShowList' import ShowListComponent from '../views/list/ShowList.vue'
import Kanban from '../views/list/views/Kanban' import Kanban from '../views/list/views/Kanban.vue'
import List from '../views/list/views/List' import List from '../views/list/views/List.vue'
import Gantt from '../views/list/views/Gantt' import Gantt from '../views/list/views/Gantt.vue'
import Table from '../views/list/views/Table' import Table from '../views/list/views/Table.vue'
// List Settings // List Settings
import ListSettingEdit from '../views/list/settings/edit' import ListSettingEdit from '../views/list/settings/edit.vue'
import ListSettingBackground from '../views/list/settings/background' import ListSettingBackground from '../views/list/settings/background.vue'
import ListSettingDuplicate from '../views/list/settings/duplicate' import ListSettingDuplicate from '../views/list/settings/duplicate.vue'
import ListSettingShare from '../views/list/settings/share' import ListSettingShare from '../views/list/settings/share.vue'
import ListSettingDelete from '../views/list/settings/delete' import ListSettingDelete from '../views/list/settings/delete.vue'
import ListSettingArchive from '../views/list/settings/archive' import ListSettingArchive from '../views/list/settings/archive.vue'
// Namespace Settings // Namespace Settings
import NamespaceSettingEdit from '../views/namespaces/settings/edit' import NamespaceSettingEdit from '../views/namespaces/settings/edit.vue'
import NamespaceSettingShare from '../views/namespaces/settings/share' import NamespaceSettingShare from '../views/namespaces/settings/share.vue'
import NamespaceSettingArchive from '../views/namespaces/settings/archive' import NamespaceSettingArchive from '../views/namespaces/settings/archive.vue'
import NamespaceSettingDelete from '../views/namespaces/settings/delete' import NamespaceSettingDelete from '../views/namespaces/settings/delete.vue'
// Saved Filters // Saved Filters
import FilterNew from '@/views/filters/FilterNew' import FilterNew from '@/views/filters/FilterNew.vue'
import FilterEdit from '@/views/filters/FilterEdit' import FilterEdit from '@/views/filters/FilterEdit.vue'
import FilterDelete from '@/views/filters/FilterDelete' import FilterDelete from '@/views/filters/FilterDelete.vue'
const PasswordResetComponent = () => import('../views/user/PasswordReset') const PasswordResetComponent = () => import('../views/user/PasswordReset.vue')
const GetPasswordResetComponent = () => import('../views/user/RequestPasswordReset') const GetPasswordResetComponent = () => import('../views/user/RequestPasswordReset.vue')
const UserSettingsComponent = () => import('../views/user/Settings') const UserSettingsComponent = () => import('../views/user/Settings.vue')
const UserSettingsAvatarComponent = () => import('../views/user/settings/Avatar') const UserSettingsAvatarComponent = () => import('../views/user/settings/Avatar.vue')
const UserSettingsCaldavComponent = () => import('../views/user/settings/Caldav') const UserSettingsCaldavComponent = () => import('../views/user/settings/Caldav.vue')
const UserSettingsDataExportComponent = () => import('../views/user/settings/DataExport') const UserSettingsDataExportComponent = () => import('../views/user/settings/DataExport.vue')
const UserSettingsDeletionComponent = () => import('../views/user/settings/Deletion') const UserSettingsDeletionComponent = () => import('../views/user/settings/Deletion.vue')
const UserSettingsEmailUpdateComponent = () => import('../views/user/settings/EmailUpdate') const UserSettingsEmailUpdateComponent = () => import('../views/user/settings/EmailUpdate.vue')
const UserSettingsGeneralComponent = () => import('../views/user/settings/General') const UserSettingsGeneralComponent = () => import('../views/user/settings/General.vue')
const UserSettingsPasswordUpdateComponent = () => import('../views/user/settings/PasswordUpdate') const UserSettingsPasswordUpdateComponent = () => import('../views/user/settings/PasswordUpdate.vue')
const UserSettingsTOTPComponent = () => import('../views/user/settings/TOTP') const UserSettingsTOTPComponent = () => import('../views/user/settings/TOTP.vue')
// List Handling // List Handling
const NewListComponent = () => import('../views/list/NewList') const NewListComponent = () => import('../views/list/NewList.vue')
// Namespace Handling // Namespace Handling
const NewNamespaceComponent = () => import('../views/namespaces/NewNamespace') const NewNamespaceComponent = () => import('../views/namespaces/NewNamespace.vue')
const EditTeamComponent = () => import('../views/teams/EditTeam') const EditTeamComponent = () => import('../views/teams/EditTeam.vue')
const NewTeamComponent = () => import('../views/teams/NewTeam') const NewTeamComponent = () => import('../views/teams/NewTeam.vue')
const router = createRouter({ const router = createRouter({
history: createWebHistory(), history: createWebHistory(),

View file

@ -1,4 +1,6 @@
declare module 'vue' { declare module 'vue' {
import { CompatVue } from '@vue/runtime-dom'
const Vue: CompatVue
export default Vue export default Vue
export * from '@vue/runtime-dom' export * from '@vue/runtime-dom'
} }

View file

@ -24,17 +24,17 @@ export const MIGRATORS: IMigratorRecord = {
todoist: { todoist: {
id: 'todoist', id: 'todoist',
name: 'Todoist', name: 'Todoist',
icon: todoistIcon, icon: todoistIcon as string,
}, },
trello: { trello: {
id: 'trello', id: 'trello',
name: 'Trello', name: 'Trello',
icon: trelloIcon, icon: trelloIcon as string,
}, },
'microsoft-todo': { 'microsoft-todo': {
id: 'microsoft-todo', id: 'microsoft-todo',
name: 'Microsoft Todo', name: 'Microsoft Todo',
icon: microsoftTodoIcon, icon: microsoftTodoIcon as string,
}, },
'vikunja-file': { 'vikunja-file': {
id: 'vikunja-file', id: 'vikunja-file',

View file

@ -9,7 +9,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { ref } from 'vue' import { ref } from 'vue'
import ShowTasks from './ShowTasks' import ShowTasks from './ShowTasks.vue'
function getNextWeekDate() { function getNextWeekDate() {
return new Date((new Date()).getTime() + 7 * 24 * 60 * 60 * 1000) return new Date((new Date()).getTime() + 7 * 24 * 60 * 60 * 1000)

View file

@ -2869,6 +2869,11 @@
dependencies: dependencies:
"@types/node" "*" "@types/node" "*"
"@types/is-touch-device@^1.0.0":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@types/is-touch-device/-/is-touch-device-1.0.0.tgz#c835c4c220a4e5635f4895b6223630dcd429b49c"
integrity sha512-/rErV0NuroAR9EZF1xK0TrihQ/7BbVckGfSr/suq/E4tJQLr4TrADR0qAUpDs/hxtl1NiP0V/ho+fSA/5EIO9Q==
"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0":
version "2.0.3" version "2.0.3"
resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762"