feat: replace our home-grown gantt implementation with ganttastic #2180

Merged
konrad merged 78 commits from feature/ganttastic into main 2022-10-27 16:03:27 +00:00
Owner

This PR replaces our home-grown gantt chart implementation with vue-ganttastic which is a lot more robust and seems to work better overall.

Resolves #2169
Resolves #2115
Resolves https://github.com/go-vikunja/frontend/issues/71
Hopefully Resolves #1487

Related forum discussions:

https://community.vikunja.io/t/gantt-display-wrong/316

https://community.vikunja.io/t/gantt-display-wrong-date/525

This PR replaces our home-grown gantt chart implementation with [vue-ganttastic](https://github.com/InfectoOne/vue-ganttastic) which is a lot more robust and seems to work better overall. Resolves #2169 Resolves #2115 Resolves https://github.com/go-vikunja/frontend/issues/71 Hopefully Resolves #1487 Related forum discussions: https://community.vikunja.io/t/gantt-display-wrong/316 https://community.vikunja.io/t/gantt-display-wrong-date/525
konrad requested review from dpschen 2022-07-20 22:54:18 +00:00
dpschen was assigned by konrad 2022-07-20 22:54:25 +00:00
Member

Hi konrad!

Thank you for creating a PR!

I've deployed the changes of this PR on a preview environment under this URL: https://2180-feature-ganttastic--vikunja-frontend-preview.netlify.app

You can use this url to view the changes live and test them out.
You will need to manually connect this to an api running somehwere. The easiest to use is https://try.vikunja.io/.

Have a nice day!

Beep boop, I'm a bot.

Hi konrad! Thank you for creating a PR! I've deployed the changes of this PR on a preview environment under this URL: https://2180-feature-ganttastic--vikunja-frontend-preview.netlify.app You can use this url to view the changes live and test them out. You will need to manually connect this to an api running somehwere. The easiest to use is https://try.vikunja.io/. Have a nice day! > Beep boop, I'm a bot.
First-time contributor

Thank you very much, and this preview bot is fantastic, too!

Nitpick: "Create a new task" at the bottom only works when pressing Enter, not when pressing the button.

Thank you very much, and this preview bot is fantastic, too! Nitpick: "Create a new task" at the bottom only works when pressing Enter, not when pressing the button.
First-time contributor

general usability thing:
The scrollbar should be always visible, e.g. if you go to https://2180-feature-ganttastic--vikunja-frontend-preview.netlify.app/lists/16/gantt and show undated tasks, you need to fiddle a lot to do long-term schedules on smaller screen sizes.
Also, limiting the calendar to one month is very unfit for typical project planning. Infinite zooming and panning, including sidescrolling if a task is dragged outwards would be fantastic.

general usability thing: The scrollbar should be always visible, e.g. if you go to https://2180-feature-ganttastic--vikunja-frontend-preview.netlify.app/lists/16/gantt and show undated tasks, you need to fiddle a lot to do long-term schedules on smaller screen sizes. Also, limiting the calendar to one month is very unfit for typical project planning. Infinite zooming and panning, including sidescrolling if a task is dragged outwards would be fantastic.
Author
Owner

Also, limiting the calendar to one month is very unfit for typical project planning. Infinite zooming and panning, including sidescrolling if a task is dragged outwards would be fantastic.

I've increased the default range to more than two months now.

Did you try changing the date range?

And side-scrolling - yes, that's definitely something nice to have. It is a bit more work though so I'd like to do that in another PR.

> Also, limiting the calendar to one month is very unfit for typical project planning. Infinite zooming and panning, including sidescrolling if a task is dragged outwards would be fantastic. I've increased the default range to more than two months now. Did you try changing the date range? And side-scrolling - yes, that's definitely something nice to have. It is a bit more work though so I'd like to do that in another PR.
Contributor

When I'm trying to set "Size → Month", prod hangs, dev infinitely floods the browser console with this error:

RangeError: Invalid time value
    format index.js:373
    weekdayFromTimeLabel gantt-chart.vue:243
    timeunit gantt-chart.vue:21
    timeunit library.mjs:642
    setup library.mjs:312
    setup library.mjs:299
    0 ListGantt.vue:11

Screenshot from the debugger:

When I'm trying to set "Size → Month", prod hangs, dev infinitely floods the browser console with this error: ``` RangeError: Invalid time value format index.js:373 weekdayFromTimeLabel gantt-chart.vue:243 timeunit gantt-chart.vue:21 timeunit library.mjs:642 setup library.mjs:312 setup library.mjs:299 0 ListGantt.vue:11 ``` Screenshot from the debugger:
dpschen reviewed 2022-07-21 23:01:16 +00:00
@ -0,0 +1,44 @@
<!--
Please fill out this issue template to report a bug.

remove from pull request

remove from pull request
Author
Owner

Done.

Done.
konrad marked this conversation as resolved
@ -0,0 +1,341 @@
<template>
<div class="gantt-container loading-container" :class="{'is-loading': taskService.loading || taskCollectionService.loading}">

Use loading component. This way it's easier for us to refactor the is-loading styles from bulma later.

Use loading component. This way it's easier for us to refactor the `is-loading` styles from bulma later.
Author
Owner

Done.

Done.
konrad marked this conversation as resolved
@ -0,0 +9,4 @@
:grid="true"
@dragend-bar="updateTask"
@dblclick-bar="openTask"
font="'Open Sans', sans-serif"

Is it possible to use here simply inherit as value?

Is it possible to use here simply `inherit` as value?
Author
Owner

Seems to work, yes.

Seems to work, yes.

Not necessary with lates release. Removed.

Not necessary with lates release. Removed.
konrad marked this conversation as resolved
@ -0,0 +59,4 @@
import {format, parse} from 'date-fns'
import {colorIsDark} from '@/helpers/color/colorIsDark'
import {useStore} from 'vuex'
import Rights from '../../models/constants/rights.json'

Picky: Use @/models...

Picky: Use `@/models...`
Author
Owner

Done.

Done.
konrad marked this conversation as resolved
@ -0,0 +63,4 @@
import TaskModel from '@/models/task'
import {useRouter} from 'vue-router'
const dateFormat = 'yyyy-LL-dd HH:mm'

picky: use DATE_FORMAT to make clear it's a 'config const'

picky: use `DATE_FORMAT` to make clear it's a 'config const'

But also: shouldn't this depend on the user setting / language?

But also: shouldn't this depend on the user setting / language?
Author
Owner

shouldn't this depend on the user setting / language?

It's only used to pass the date in the correct format to the gantt chart libaray so it will always be the same. Not sure why they only take strings as input instead of Date objects but that's how it is.

> shouldn't this depend on the user setting / language? It's only used to pass the date in the correct format to the gantt chart libaray so it will always be the same. Not sure why they only take strings as input instead of `Date` objects but that's how it is.
konrad marked this conversation as resolved
@ -0,0 +87,4 @@
},
showTasksWithoutDates: {
type: Boolean,
required: false,

picky: If you use a default value there is no need to define required

picky: If you use a default value there is no need to define `required`
Author
Owner

Done.

Done.
konrad marked this conversation as resolved
@ -0,0 +107,4 @@
const canWrite = computed(() => store.state.currentList.maxRight > Rights.READ)
const tasks = ref([])

define types

define types
Author
Owner

Done.

Done.
konrad marked this conversation as resolved
@ -0,0 +141,4 @@
}
async function loadTasks() {
tasks.value = new Map()

define types

define types
Author
Owner

Done.

Done.
konrad marked this conversation as resolved
@ -0,0 +173,4 @@
mapGanttBars()
}
loadTasks()

This and the three lines below should be combined to one watcher that trigger immediately.

loadTasks should accept these three as params, so that it's clear that these are needed to reload.

Something like:

watchEffect(() => loadTasks({
	dateTo: props.dateTo,
    dateFrom: props.dateFrom,
    showTasksWithoutDates: props.showTasksWithoutDates,
})
This and the three lines below should be combined to one watcher that trigger immediately. `loadTasks` should accept these three as params, so that it's clear that these are needed to reload. Something like: ``` watchEffect(() => loadTasks({ dateTo: props.dateTo, dateFrom: props.dateFrom, showTasksWithoutDates: props.showTasksWithoutDates, }) ```
Author
Owner

Done.

Done.
konrad marked this conversation as resolved
@ -0,0 +184,4 @@
task.startDate = e.bar.startDate
task.endDate = e.bar.endDate
const r = await taskService.value.update(task)
for (const i in ganttBars.value) {
Avoid `for ... in`, see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in#array_iteration_and_for...in
Author
Owner

Done.

Done.
konrad marked this conversation as resolved
@ -0,0 +192,4 @@
}
const newTaskFieldActive = ref(false)
const newTaskTitleField = ref()
Add type: https://vuejs.org/guide/typescript/composition-api.html#typing-template-refs
Author
Owner

Done.

Done.
konrad marked this conversation as resolved
src/main.ts Outdated
@ -124,6 +124,9 @@ if (window.SENTRY_ENABLED) {
import('./sentry').then(sentry => sentry.default(app, router))
}
import ganttastic from '@infectoone/vue-ganttastic'

Don't load lib global. We only want it in the gantt view.
We could copy these lines instead 474a4fdf40/src/index.ts (L3-L14) and simply import the two components.

Don't load lib global. We only want it in the gantt view. We could copy these lines instead https://github.com/InfectoOne/vue-ganttastic/blob/474a4fdf4040fd07f7d3b800b129742445ab8721/src/index.ts#L3-L14 and simply import the two components.
Author
Owner

I tried that but the published npm package only provides a bundle. No individual components..

I tried that but the published npm package only provides a bundle. No individual components..

solved

solved
dpschen marked this conversation as resolved
@ -89,2 +75,4 @@
const showTasksWithoutDates = ref(false)
const precision = ref('day')
const now = ref(new Date())

Should this update?

Should this update?
Author
Owner

No, doesn't even need to be ref.

No, doesn't even need to be ref.
konrad marked this conversation as resolved
@ -93,0 +80,4 @@
const defaultTo = format(new Date((new Date()).setDate(now.value.getDate() + 55)), 'yyyy-LL-dd')
const range = ref(`${defaultFrom} to ${defaultTo}`)
// TODO: only update once both dates are available (maybe use a watcher + refs instead?)

Can you explain in a different way?

Can you explain in a different way?
Author
Owner

The problem is the gantt chart already updates when only one date (the start or end date) is selected. Ideally, they would only update the prop when both of these dates are available to avoid these partial updates.

The problem is the gantt chart already updates when only one date (the start or end date) is selected. Ideally, they would only update the prop when both of these dates are available to avoid these partial updates.

Maybe I'm still not getting this correctly, but can't we just update the value when both (start and end) are set?

Maybe I'm still not getting this correctly, but can't we just update the value when both (start and end) are set?
Author
Owner

Currently the from and to dates get passed as individual props. That means if one changes, it changes directly in the chart.

I think the way to go here would be to pass a single object with both dates instead?

Currently the from and to dates get passed as individual props. That means if one changes, it changes directly in the chart. I think the way to go here would be to pass a single object with both dates instead?

That seems like the right approach

That seems like the right approach

Will check this out again. Shouldn't be too hard.

Will check this out again. Shouldn't be too hard.
yarn.lock Outdated
@ -4607,6 +4614,11 @@ dayjs@^1.10.4:
resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.3.tgz#4754eb694a624057b9ad2224b67b15d552589258"
integrity sha512-xxwlswWOlGhzgQ4TKzASQkUhqERI3egRNqgV4ScR8wlANA/A9tZ7miXa44vTTKEq5l7vWoL5G57bG3zA+Kow0A==
dayjs@^1.10.5:

We now have two date libs

We now have two date libs
Author
Owner

Yes. Since dayjs is a small one, I think we should be fine to leave it in for now. We should make sure only one is used in the future though.

Yes. Since dayjs is a small one, I think we should be fine to leave it in for now. We should make sure only one is used in the future though.

Too bad vue-ganttastic picked that library :D

Too bad `vue-ganttastic` picked that library :D
konrad marked this conversation as resolved
Author
Owner

Thanks for all the comments.

I'll be on vacation until 30.07., will take a proper look at all of them after that.

Thanks for all the comments. I'll be on vacation until 30.07., will take a proper look at all of them after that.
First-time contributor

Did you try changing the date range?

Nope, missed that, woops - thank you :)

And side-scrolling - yes, that's definitely something nice to have. It is a bit more work though so I'd like to do that in another PR.

Totally agree. Just to keep it in mind, in case the current implementation proves unfit for that in some way.
See #2197

More nitpicks:
When opening the view, it always scrolls two weeks to the left, even if all tasks are further ahead. Maybe encapsulate them with some buffer if there are set tasks.
image
https://2180-feature-ganttastic--vikunja-frontend-preview.netlify.app/lists/6/gantt

> Did you try changing the date range? Nope, missed that, woops - thank you :) > And side-scrolling - yes, that's definitely something nice to have. It is a bit more work though so I'd like to do that in another PR. Totally agree. Just to keep it in mind, in case the current implementation proves unfit for that in some way. See https://kolaente.dev/vikunja/frontend/issues/2197 More nitpicks: When opening the view, it always scrolls two weeks to the left, even if all tasks are further ahead. Maybe encapsulate them with some buffer if there are set tasks. ![image](/attachments/a4b0e193-f980-434c-ab40-ea8e48ae981b) https://2180-feature-ganttastic--vikunja-frontend-preview.netlify.app/lists/6/gantt
First-time contributor

Hope you had a nice vacation :)
Can you look into getting the basic version of this merged soon? We'd love to use it for our project planning! If not, a rough ETA would be helpful, too.
I will also contact you again soon per mail about us contributing back, but currently there is too much to do here...

Hope you had a nice vacation :) Can you look into getting the basic version of this merged soon? We'd love to use it for our project planning! If not, a rough ETA would be helpful, too. I will also contact you again soon per mail about us contributing back, but currently there is too much to do here...
konrad force-pushed feature/ganttastic from 5442306b7c to c8693bc07a 2022-08-02 11:40:36 +00:00 Compare
Author
Owner

When I'm trying to set "Size → Month", prod hangs, dev infinitely floods the browser console with this error:

I looked into that and as it seems now, setting the size to "Month" does not make any sense. The size is the same, it just won't show the dates anymore. Let's remove the size dropdown for now and handle this in a follow-up PR.

> When I'm trying to set "Size → Month", prod hangs, dev infinitely floods the browser console with this error: I looked into that and as it seems now, setting the size to "Month" does not make any sense. The size is the same, it just won't show the dates anymore. Let's remove the size dropdown for now and handle this in a follow-up PR.
Author
Owner

When opening the view, it always scrolls two weeks to the left, even if all tasks are further ahead. Maybe encapsulate them with some buffer if there are set tasks.

@xeruf You mean checking where the first task begins and then add a small buffer to it instead of buffering two weeks every time?

> When opening the view, it always scrolls two weeks to the left, even if all tasks are further ahead. Maybe encapsulate them with some buffer if there are set tasks. @xeruf You mean checking where the first task begins and then add a small buffer to it instead of buffering two weeks every time?
First-time contributor

Yes that's correct, thank you :)

Yes that's correct, thank you :)
dpschen reviewed 2022-08-04 18:43:46 +00:00
@ -0,0 +104,4 @@
const canWrite = computed(() => store.state.currentList.maxRight > Rights.READ)
const tasks = ref<Map<number, TaskModel>>([])

User TaskModel['id']

User `TaskModel['id']`
Author
Owner

Done (I think you did that one?)

Done (I think you did that one?)
dpschen marked this conversation as resolved
dpschen reviewed 2022-08-04 19:11:48 +00:00
@ -0,0 +268,4 @@
.g-timeunit .timeunit-wrapper {
padding: 0.5rem 0;
font-size: 1rem !important;

why do we need so many overwriting important styles here?

why do we need so many overwriting important styles here?
Author
Owner

IIRC they're using inline styles for these :/

IIRC they're using inline styles for these :/
dpschen marked this conversation as resolved
dpschen force-pushed feature/ganttastic from 00ff7345b7 to 774f857fe6 2022-08-04 20:48:20 +00:00 Compare
konrad force-pushed feature/ganttastic from 774f857fe6 to 7ab4ff2d9e 2022-08-16 21:26:13 +00:00 Compare
Member

I created a pull request for vue-gantastic to avert some of the issues.

See https://github.com/InfectoOne/vue-ganttastic/pull/53

I created a pull request for vue-gantastic to avert some of the issues. See https://github.com/InfectoOne/vue-ganttastic/pull/53
Author
Owner

Very nice!

Very nice!
First-time contributor

Is this gonna be live soon? :)

Is this gonna be live soon? :)
Author
Owner

@xeruf well soon is relative - I'd say it depends on how fast we can get the pr in ganttastic merged and they release a new version which well then need to integrate back into this pr.

@xeruf well soon is relative - I'd say it depends on how fast we can get the pr in ganttastic merged and they release a new version which well then need to integrate back into this pr.
Member

@konrad do you want to rebase this on main?

@konrad do you want to rebase this on main?
konrad added 1 commit 2022-09-08 11:53:49 +00:00
Merge branch 'main' into feature/ganttastic
Some checks failed
continuous-integration/drone/pr Build is failing
bd06f725be
# Conflicts:
#	package.json
#	src/components/tasks/gantt-component.vue
#	src/main.ts
Author
Owner

@dpschen Done

@dpschen Done
Member

I finished the pull-request for vue-ganttastic. Waiting for review now.

I finished the [pull-request for vue-ganttastic](https://github.com/InfectoOne/vue-ganttastic/pull/53). Waiting for review now.
Member

FYI:
I'm trying to further improve the performance of vue-ganttastic. This doesn't block this pull request though and can also be amended later.

FYI: I'm trying to [further improve the performance of vue-ganttastic](https://github.com/InfectoOne/vue-ganttastic/pull/56). This doesn't block this pull request though and can also be amended later.
Member

The branch is merged, new release should be out soon.

The branch is merged, new release should be out soon.
dpschen added 121 commits 2022-09-28 16:01:34 +00:00
feat(link shares): cleanup link share table
All checks were successful
continuous-integration/drone/pr Build is passing
7a457eb161
chore: remove &nbsp;
All checks were successful
continuous-integration/drone/pr Build is passing
d91d1fecf1
fix: introduce a ListView type to properly type all available list views
All checks were successful
continuous-integration/drone/pr Build is passing
23598dd2ee
chore: remove unused id
All checks were successful
continuous-integration/drone/pr Build is passing
5f678e2449
feat: programmatically generate list of available views
All checks were successful
continuous-integration/drone/pr Build is passing
26d02d5593
chore(deps): update dependency typescript to v4.8.3 (#2341)
Some checks failed
continuous-integration/drone/push Build is failing
65f9def438
Reviewed-on: #2341
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
chore(deps): update dependency vitest to v0.23.2
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
38d72b59df
chore(deps): update dependency autoprefixer to v10.4.9
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
4dd397e3d2
chore(deps): update dependency caniuse-lite to v1.0.30001397
All checks were successful
continuous-integration/drone/push Build is passing
d0fefd3c08
chore(deps): update dependency netlify-cli to v11.7.1
All checks were successful
continuous-integration/drone/push Build is passing
6e026cc7cc
chore(deps): update dependency eslint to v8.23.1
All checks were successful
continuous-integration/drone/push Build is passing
2f0f648d28
chore(deps): update typescript-eslint monorepo to v5.37.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
53858e0c31
fix(deps): update dependency blurhash to v2 (#2351)
All checks were successful
continuous-integration/drone/push Build is passing
64726a6421
Reviewed-on: #2351
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
feat: add fallback for useCopyToClipboard (#2343)
All checks were successful
continuous-integration/drone/push Build is passing
7b398f73f6
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #2343
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
fix(deps): update dependency date-fns to v2.29.3 (#2354)
All checks were successful
continuous-integration/drone/push Build is passing
61427987c2
Reviewed-on: #2354
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
feat: improve models
All checks were successful
continuous-integration/drone/push Build is passing
1a11b43ca8
chore(deps): update dependency autoprefixer to v10.4.10 (#2355)
All checks were successful
continuous-integration/drone/push Build is passing
2013924949
Reviewed-on: #2355
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
feat: use v-model more consequent (#2356)
All checks were successful
continuous-integration/drone/push Build is passing
db8b8812af
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #2356
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
fix: use proper computed for available views list
Some checks failed
continuous-integration/drone/pr Build is failing
e67fc7fb7e
Merge branch 'main' into feature/redirect-to-specific-view
All checks were successful
continuous-integration/drone/pr Build is passing
2b82df5dbd
# Conflicts:
#	src/components/sharing/linkSharing.vue
fix: only warn once if triggeredNotifications are not supported (#2344)
All checks were successful
continuous-integration/drone/push Build is passing
f083f181e2
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #2344
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
chore: set more expressive variable names for available views dropdowns
Some checks reported errors
continuous-integration/drone/pr Build was killed
7e7fa807fd
feat: make share link name italic
Some checks reported errors
continuous-integration/drone/pr Build was killed
224cea33ce
feat: move the url link to the bottom of the items
All checks were successful
continuous-integration/drone/pr Build is passing
6576b6148c
chore(deps): update dependency cypress to v10.8.0 (#2359)
All checks were successful
continuous-integration/drone/push Build is passing
854068fff9
Reviewed-on: #2359
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
feat(link shares): allows switching the initial view by passing a query parameter (#2335)
All checks were successful
continuous-integration/drone/push Build is passing
a6e9b36bd6
Reviewed-on: #2335
Reviewed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
feat: color the task color button when the task has a color set
All checks were successful
continuous-integration/drone/pr Build is passing
51c806c12b
feat: color the color button icon instead of the button itself
All checks were successful
continuous-integration/drone/pr Build is passing
bdf992c9bf
feat: move the update available dialoge always to the bottom
All checks were successful
continuous-integration/drone/push Build is passing
a18c6ab8d8
chore(deps): update dependency autoprefixer to v10.4.11 (#2363)
All checks were successful
continuous-integration/drone/push Build is passing
0316656d81
Reviewed-on: #2363
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
chore(deps): update dependency postcss-preset-env to v7.8.2
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
064001e259
chore(deps): update dependency vite to v3.1.1 (#2365)
Some checks failed
continuous-integration/drone/push Build is failing
9c367877f4
Reviewed-on: #2365
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
fix: bucket title edit success message appearing twice
All checks were successful
continuous-integration/drone/push Build is passing
49217889b5
fix: don't parse dates in urls
All checks were successful
continuous-integration/drone/push Build is passing
92f24e59a7
Resolves #2353
fix: vue-i18n global scope (#2366)
All checks were successful
continuous-integration/drone/push Build is passing
602ab8379e
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #2366
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
fix: only try to save user settings when a user is authenticated
All checks were successful
continuous-integration/drone/push Build is passing
2df2bd38e2
feat: show the task color bubble everywhere
All checks were successful
continuous-integration/drone/pr Build is passing
2683fec0a6
fix(quick add magic): time parsing for certain conditions (#2367)
All checks were successful
continuous-integration/drone/push Build is passing
b24d5f2dce
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: #2367
Reviewed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
chore: improve types
All checks were successful
continuous-integration/drone/pr Build is passing
6d9c4a7aa0
feat(list): add info dialoge to show list description (#2368)
All checks were successful
continuous-integration/drone/push Build is passing
84260841be
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: #2368
Reviewed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
fix: remove margin from the color bubble component itself
All checks were successful
continuous-integration/drone/pr Build is passing
4fce71f729
feat: color the task color button when the task has a color set (#2331)
All checks were successful
continuous-integration/drone/push Build is passing
f70b1d2902
Reviewed-on: #2331
Reviewed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
chore(deps): pin dependency @types/dompurify to 2.3.4
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
565765537d
fix(deps): update sentry-javascript monorepo to v7.13.0
All checks were successful
continuous-integration/drone/push Build is passing
221edb2086
feat: namespace settings archive script setup
Some checks failed
continuous-integration/drone/push Build is failing
ad6b335d41
chore(deps): update dependency eslint-plugin-vue to v9.5.0 (#2371)
All checks were successful
continuous-integration/drone/push Build is passing
fa77b20c13
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: #2371
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
chore(deps): update dependency eslint-plugin-vue to v9.5.1 (#2373)
All checks were successful
continuous-integration/drone/push Build is passing
2eff239f9e
Reviewed-on: #2373
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
chore(deps): update dependency vite to v3.1.2
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
9134269ead
fix(deps): update dependency @types/sortablejs to v1.15.0
Some checks reported errors
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build was killed
0fccb3d5a9
chore(deps): update dependency vitest to v0.23.4
Some checks reported errors
continuous-integration/drone/push Build was killed
fc0cf3fc87
chore(deps): update dependency esbuild to v0.15.8
Some checks reported errors
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build was killed
54e9513c14
chore(deps): update dependency vite-plugin-pwa to v0.12.8 (#2375)
Some checks reported errors
continuous-integration/drone/push Build was killed
0360cd0867
Reviewed-on: #2375
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
chore(deps): update caniuse-and-related to v4.21.4 (#2379)
Some checks reported errors
continuous-integration/drone/push Build was killed
de7617fbaf
Reviewed-on: #2379
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
chore(deps): update dependency netlify-cli to v11.8.0 (#2380)
Some checks reported errors
continuous-integration/drone/push Build was killed
e8613b48fc
Reviewed-on: #2380
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
chore(deps): update dependency @vitejs/plugin-legacy to v2.2.0 (#2381)
Some checks reported errors
continuous-integration/drone/push Build was killed
070ef7e5aa
Reviewed-on: #2381
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
chore(deps): update dependency vite to v3.1.3 (#2382)
Some checks reported errors
continuous-integration/drone/push Build was killed
1ecb186b7c
Reviewed-on: #2382
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
chore(deps): update typescript-eslint monorepo to v5.38.0 (#2383)
Some checks reported errors
continuous-integration/drone/push Build was killed
b06e3cac3f
Reviewed-on: #2383
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
chore(deps): update dependency vite-plugin-pwa to v0.13.0 (#2385)
Some checks reported errors
continuous-integration/drone/push Build was killed
fadaac4ef1
Reviewed-on: #2385
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
fix(deps): update dependency easymde to v2.18.0 (#2386)
Some checks reported errors
continuous-integration/drone/push Build was killed
4c9a018c13
Reviewed-on: #2386
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
chore(deps): update dependency autoprefixer to v10.4.12
Some checks reported errors
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build was killed
ddabd7f63a
feat: ListNamespaces script setup (#2389)
Some checks failed
continuous-integration/drone/push Build is failing
ff5d1fc8c1
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #2389
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
feat: NewTeam script setup (#2388)
All checks were successful
continuous-integration/drone/push Build is passing
e91b5fde02
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #2388
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
feat: port label store to pinia | pinia 1/9 (#2391)
All checks were successful
continuous-integration/drone/push Build is passing
d67e5e386d
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #2391
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
fix(deps): update dependency pinia to v2.0.22 (#2400)
All checks were successful
continuous-integration/drone/push Build is passing
f85a08afb4
Reviewed-on: #2400
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
fix: test pnpm cache
Some checks failed
continuous-integration/drone/pr Build is failing
e5d04c98da
feat: move list store to pina (#2392)
All checks were successful
continuous-integration/drone/push Build is passing
a38075f376
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #2392
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
fix: remove console.log
All checks were successful
continuous-integration/drone/pr Build is passing
43e2d036d7
feat: deleteNamespace script setup (#2387)
Some checks failed
continuous-integration/drone/push Build is failing
0814890cac
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #2387
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
feat: task relatedTasks script setup (#1939)
All checks were successful
continuous-integration/drone/push Build is passing
d57e27b4a6
Reviewed-on: #1939
Reviewed-by: konrad <k@knt.li>
chore: don't cache node_modules
Some checks failed
continuous-integration/drone/pr Build is failing
b542221dac
chore: don't use node alpine image
Some checks failed
continuous-integration/drone/pr Build is failing
6624db1d49
fix: explicitly install cypress
Some checks failed
continuous-integration/drone/pr Build is failing
62e227c767
chore: use node alpine image
All checks were successful
continuous-integration/drone/pr Build is passing
dfb3561310
This reverts commit 6624db1d49545524083d124698fa5b6e02bbfb0c.
chore(ci): sign drone config
All checks were successful
continuous-integration/drone/pr Build is passing
ef6454483a
feat: use pnpm (#1789)
All checks were successful
continuous-integration/drone/push Build is passing
f7ca064127
Reviewed-on: #1789
feat: port namespace store to pinia
All checks were successful
continuous-integration/drone/pr Build is passing
093ab766d4
chore(deps): update dependency @vue/eslint-config-typescript to v11.0.2
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
ad694ff8bc
chore(deps): update dependency vite-plugin-pwa to v0.13.1
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
02e73fa377
chore(deps): update dependency rollup to v2.79.1
Some checks failed
continuous-integration/drone/push Build is failing
479fc7e433
fix(deps): update dependency codemirror to v5.65.9
Some checks failed
continuous-integration/drone/push Build is failing
b9335a7362
chore(deps): update pnpm to v7.12.1
Some checks failed
continuous-integration/drone/push Build is failing
0e072b582b
chore(deps): update dependency sass to v1.55.0
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
13bc25ff5d
feat: feat-attachments-script-setup (#2358)
Some checks failed
continuous-integration/drone/push Build is failing
4dfcd8e70f
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #2358
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
feat: convert namespaces store to pina (#2393)
Some checks reported errors
continuous-integration/drone/push Build was killed
937fd36f72
Reviewed-on: #2393
Reviewed-by: konrad <k@knt.li>
fix(labels): unset loading state after loading all labels
Some checks failed
continuous-integration/drone/push Build is failing
6e5501a5f1
chore(deps): update dependency esbuild to v0.15.9
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2fd9f0ee47
feat: port attachments store to pinia
Some checks failed
continuous-integration/drone/push Build is failing
20e9420638
chore(deps): update pnpm to v7.12.2 (#2408)
Some checks failed
continuous-integration/drone/push Build is failing
5ffb13a3a8
Reviewed-on: #2408
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
fix: only pass date to flatpickr if it's a valid date
Some checks failed
continuous-integration/drone/push Build is failing
ede5cdd8cf
Resolves #2384
fix: loading state when creating a new task from list view
Some checks failed
continuous-integration/drone/push Build is failing
aa64e9835c
fix: make add task button 100% height
Some checks failed
continuous-integration/drone/push Build is failing
3c9c5eff12
fix: lint
Some checks failed
continuous-integration/drone/push Build is failing
2bf9771e28
fix: color list titles so that they are visible on cards with a background
Some checks failed
continuous-integration/drone/push Build is failing
62ed7c5964
Resolves #2372
feat: port config store to pinia
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
a737fc5bc2
chore(deps): update dependency caniuse-lite to v1.0.30001412 (#2421)
Some checks failed
continuous-integration/drone/push Build is failing
4e9c592090
Reviewed-on: #2421
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
chore(deps): update dependency netlify-cli to v11.8.3 (#2422)
Some checks failed
continuous-integration/drone/push Build is failing
b44c71e6cc
Reviewed-on: #2422
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
chore(deps): update dependency eslint to v8.24.0 (#2410)
Some checks failed
continuous-integration/drone/push Build is failing
b1f2229d22
Reviewed-on: #2410
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
fix(deps): update vueuse to v9.3.0 (#2423)
Some checks failed
continuous-integration/drone/push Build is failing
5f6cfa8e09
Reviewed-on: #2423
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
chore(deps): update dependency rollup-plugin-visualizer to v5.8.2 (#2420)
Some checks failed
continuous-integration/drone/push Build is failing
1eae7ece9c
Reviewed-on: #2420
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
feat: filter-popup script setup (#2418)
Some checks failed
continuous-integration/drone/push Build is failing
ba2605af1b
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #2418
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
feat: ListLabels script setup (#2416)
Some checks failed
continuous-integration/drone/push Build is failing
89e428b4d2
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #2416
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
fix: use https for api url (#2425)
Some checks failed
continuous-integration/drone/push Build is failing
9f3936544d
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: #2425
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
chore(deps): update typescript-eslint monorepo to v5.38.1 (#2426)
Some checks failed
continuous-integration/drone/push Build is failing
069d03932d
Reviewed-on: #2426
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
fix(deps): update dependency blurhash to v2.0.1
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
ecd0df21c1
# Conflicts:
#	src/main.ts
#	yarn.lock
Merge branch 'main' into feature/ganttastic
Some checks failed
continuous-integration/drone/pr Build is failing
a1e280e47b
# Conflicts:
#	pnpm-lock.yaml
dpschen approved these changes 2022-09-28 16:02:51 +00:00
Member

Let's just merge this and I'll add update the new version later.

@konrad we should not yet upgrade to the new v2.1.1 yet. There are still some issues.

Let's just merge this and I'll add update the new version later. @konrad we should not yet upgrade to the new v2.1.1 yet. There are still some issues.
Author
Owner

@dpschen Ist v2.1.1 the version with your improvements?

@dpschen Ist v2.1.1 the version with your improvements?
Author
Owner

Looks like the CI is still failing :/

Looks like the CI is still failing :/
Member

@dpschen Ist v2.1.1 the version with your improvements?

Yes, there are still aome issues with the types that I like to solve. I didnt know how I could test these so these problems just appeared for me after the release,

> @dpschen Ist v2.1.1 the version with your improvements? Yes, there are still aome issues with the types that I like to solve. I didnt know how I could test these so these problems just appeared for me after the release,
Author
Owner

Okay, then let's fix whatever is required to make the CI happy and then merge this.

Okay, then let's fix whatever is required to make the CI happy and then merge this.
dpschen added 23 commits 2022-09-30 17:15:29 +00:00
feat: ListList script setup (#2441)
Some checks failed
continuous-integration/drone/push Build is failing
bbf4ef4697
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #2441
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
chore(deps): update dependency @vue/test-utils to v2.1.0
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
c421701fb7
fix missed conversion to ref (#2445)
Some checks failed
continuous-integration/drone/push Build is failing
94d6f38e89
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #2445
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
feat: improve api-config (#2444)
Some checks failed
continuous-integration/drone/push Build is failing
8f25f5d353
remove obsolet `success` (not used)

Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #2444
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
feat: convert model methods to named functions
All checks were successful
continuous-integration/drone/pr Build is passing
8e3f54ae42
feat: migrate auth store to pina (#2398)
Some checks failed
continuous-integration/drone/push Build is failing
9856fab38f
Reviewed-on: #2398
Reviewed-by: konrad <k@knt.li>
chore(deps): update dependency esbuild to v0.15.10
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
64cf1c8ccf
feat: port tasks store to pinia
All checks were successful
continuous-integration/drone/pr Build is passing
34ffd1d572
chore(deps): update dependency @cypress/vite-dev-server to v3.2.0 (#2448)
Some checks failed
continuous-integration/drone/push Build is failing
b84da722ca
Reviewed-on: #2448
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
feat: port tasks store to pina (#2409)
Some checks failed
continuous-integration/drone/push Build is failing
8c394d8024
Reviewed-on: #2409
chore: use jsDoc to explain param
All checks were successful
continuous-integration/drone/pr Build is passing
5bd7c77b68
feat: automatically create subtask relations based on indention (#2443)
Some checks failed
continuous-integration/drone/push Build is failing
ec227a6872
Reviewed-on: #2443
Reviewed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
chore(deps): update dependency postcss to v8.4.17 (#2449)
Some checks failed
continuous-integration/drone/push Build is failing
d120e8c82d
Reviewed-on: #2449
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
Merge branch 'main' into feature/ganttastic
Some checks reported errors
continuous-integration/drone/pr Build was killed
c7a3c18972
# Conflicts:
#	pnpm-lock.yaml
#	src/main.ts
dpschen added 1 commit 2022-09-30 17:17:46 +00:00
fix imports
Some checks failed
continuous-integration/drone/pr Build is failing
6cb8d7a3f5
konrad added 1 commit 2022-10-01 22:25:17 +00:00
Merge branch 'main' into feature/ganttastic
Some checks failed
continuous-integration/drone/pr Build is failing
1bbdd3b117
# Conflicts:
#	pnpm-lock.yaml
#	src/components/tasks/gantt-component.vue
konrad added 3 commits 2022-10-02 12:12:27 +00:00
Author
Owner

I've now fixed everything so that the CI should work but it bothers me that we have to import all gantt components in main.ts.

Put up an issue: https://github.com/InfectoOne/vue-ganttastic/issues/61

I've now fixed everything so that the CI should work but it bothers me that we have to import all gantt components in `main.ts`. Put up an issue: https://github.com/InfectoOne/vue-ganttastic/issues/61
Member

I've now fixed everything so that the CI should work but it bothers me that we have to import all gantt components in main.ts.

Put up an issue: https://github.com/InfectoOne/vue-ganttastic/issues/61

That was one of the things that I fixed: https://github.com/InfectoOne/vue-ganttastic/blob/master/src/index.ts#L18

> I've now fixed everything so that the CI should work but it bothers me that we have to import all gantt components in `main.ts`. > > Put up an issue: https://github.com/InfectoOne/vue-ganttastic/issues/61 That was one of the things that I fixed: https://github.com/InfectoOne/vue-ganttastic/blob/master/src/index.ts#L18
Author
Owner

@dpschen so let's upgrade?

@dpschen so let's upgrade?
Member

@dpschen so let's upgrade?

Too be honest I think I did some mistake in exporting the types when I created the chanes in vue-ganttastic. Something still isn't working for me:

image

This is the branch where I tested that: https://kolaente.dev/dpschen/frontend/src/branch/feature/ganttastic-with-updated-version (not rebased)

> @dpschen so let's upgrade? Too be honest I think I did some mistake in exporting the types when I created the chanes in vue-ganttastic. Something still isn't working for me: ![image](/attachments/b8707865-f9e8-469b-af30-9746b155b40b) This is the branch where I tested that: https://kolaente.dev/dpschen/frontend/src/branch/feature/ganttastic-with-updated-version (not rebased)
Author
Owner

Are the type declarations missing? Or not properly exported in the release?

Are the type declarations missing? Or not properly exported in the release?
Member

Are the type declarations missing? Or not properly exported in the release?

I think the way I exported them was wrong. Although what was put out appeared to be correct. See https://github.com/InfectoOne/vue-ganttastic/blob/master/package.json#L10

> Are the type declarations missing? Or not properly exported in the release? I think the way I exported them was wrong. Although what was put out appeared to be correct. See https://github.com/InfectoOne/vue-ganttastic/blob/master/package.json#L10
konrad added 2 commits 2022-10-05 13:16:07 +00:00
# Conflicts:
#	package.json
#	pnpm-lock.yaml
#	src/components/tasks/gantt-component.vue
chore: update lockfile
Some checks failed
continuous-integration/drone/pr Build is failing
7745f16893
Author
Owner

Should we wait for fixed exports or merge this once the tests pass?

Should we wait for fixed exports or merge this once the tests pass?
konrad added 1 commit 2022-10-05 13:21:25 +00:00
fix(tests): adjust gantt rows identifier
All checks were successful
continuous-integration/drone/pr Build is passing
0f1c5e9394
Member

I have to check but I think the types are already exported. If that's true just the components types are missing. In that case we could use dummy component types and use the new branch already.

I currently don't know how to fix the component type export issue itself though, but also didn't look at it anymore.

I could do the stuff I wrote above if you want.

I have to check but I think the types are already exported. If that's true just the components types are missing. In that case we could use dummy component types and use the new branch already. I currently don't know how to fix the component type export issue itself though, but also didn't look at it anymore. I could do the stuff I wrote above if you want.
Author
Owner

I could do the stuff I wrote above if you want.

I'd appreciate that.

> I could do the stuff I wrote above if you want. I'd appreciate that.
Member
I got the types working: https://github.com/InfectoOne/vue-ganttastic/pull/62
Member

I will chceck out if I can solve this as well:
#2180 (comment)

I currently added the fixed lib as local reference. This might break the build for now (checking it out and building it local should work though). I don't want to waste time and fix that because if there will be a new version that work would be wasted anyway. What's probably needed is copying over the added local vendor folder.

There is another issue with the chart itself:
The handling of tasks without date ranges is really cumbersome. One can move them around but the start and end date won't get set. This is different and worse than it was with the old implementation.

I will chceck out if I can solve this as well: https://kolaente.dev/vikunja/frontend/pulls/2180#issuecomment-33745 I currently added the fixed lib as local reference. This might break the build for now (checking it out and building it local should work though). I don't want to waste time and fix that because if there will be a new version that work would be wasted anyway. What's probably needed is copying over the added local vendor folder. There is another issue with the chart itself: The handling of tasks without date ranges is really cumbersome. One can move them around but the start and end date won't get set. This is different and worse than it was with the old implementation.
Author
Owner

The handling of tasks without date ranges is really cumbersome. One can move them around but the start and end date won't get set. This is different and worse than it was with the old implementation.

That sounds like a bug.

> The handling of tasks without date ranges is really cumbersome. One can move them around but the start and end date won't get set. This is different and worse than it was with the old implementation. That sounds like a bug.
Member

See this video:

See this video: ![](https://kolaente.dev/attachments/177b696c-5c84-4292-a1ce-d26acbe06fd3)
Author
Owner

Once moved the tasks should turn blue.

Once moved the tasks should turn blue.
dpschen force-pushed feature/ganttastic from 9d35feb7bf to 1d495b8603 2022-10-09 11:40:49 +00:00 Compare
dpschen added 12 commits 2022-10-19 08:04:18 +00:00
konrad reviewed 2022-10-23 14:31:13 +00:00
@ -0,0 +1,234 @@
<template>
Author
Owner

What are the flatpickr changes doing in this PR?

What are the flatpickr changes doing in this PR?
@ -0,0 +1,21 @@
import { defineAsyncComponent, type AsyncComponentLoader, type AsyncComponentOptions, type Component, type ComponentPublicInstance } from 'vue'
Author
Owner

Is this new helper relevant for the gantt chart?

Is this new helper relevant for the gantt chart?

I load the GanttChart async. This way the chart library can be loaded when necessary.

I load the GanttChart async. This way the chart library can be loaded when necessary.
Author
Owner

Okay I think this could be improved/simplified further by just loading the whole gantt view async as that's the only place where the chart is loaded. But that's something I'd leave for another PR.

Okay I think this could be improved/simplified further by just loading the whole gantt view async as that's the only place where the chart is loaded. But that's something I'd leave for another PR.

I thought GanttChart makes more sense, since it's our custom wrapper where we also load some other stuff :) This way all additional load gets loaded async while the page load is really fast, since lightweight.

I thought GanttChart makes more sense, since it's our custom wrapper where we also load some other stuff :) This way all additional load gets loaded async while the page load is really fast, since lightweight.
konrad marked this conversation as resolved
@ -0,0 +1,30 @@
import type {DateISO} from '@/types/DateISO'
import type {DateKebab} from '@/types/DateKebab'
export function parseDateProp(kebabDate: DateKebab | undefined): string | undefined {
Author
Owner

Isn't this whole function locale-dependant?

Isn't this whole function locale-dependant?

No. What I called KebabDate and ISO dates are not locale dependant afaik.

After I created it I realized that KebabDate is actually a valid ISO date. I thought that it still makes sense to keep both types around since there are conversions in both directions.

No. What I called KebabDate and ISO dates are not locale dependant afaik. After I created it I realized that KebabDate is actually a valid ISO date. I thought that it still makes sense to keep both types around since there are conversions in both directions.
@ -86,0 +105,4 @@
return
}
console.log('foo')
await import(`../../node_modules/dayjs/locale/${dayjsLanguageCode}.js`)
Author
Owner

This statement did not work in my tests. IMHO we could merge the gantt chart without proper locale support and rework that later. This PR is already a lot bigger than it should be.

This statement did not work in my tests. IMHO we could merge the gantt chart without proper locale support and rework that later. This PR is already a lot bigger than it should be.

Agree!

I found out how to make this work. Turned out that more work is needed since after the locale support works the weekdayFromTimeLabel doesn't anymore. So better to add this at a later point.

Agree! I found out how to make this work. Turned out that more work is needed since after the locale support works the `weekdayFromTimeLabel` doesn't anymore. So better to add this at a later point.
Author
Owner

And it looks like the task input is now broken :/

image

And it looks like the task input is now broken :/ ![image](/attachments/4cba8582-7523-4cab-94bd-749ac4fc5bb7)
Member

And it looks like the task input is now broken :/

image

I could fix this (not pushed yet).

> And it looks like the task input is now broken :/ > > ![image](/attachments/4cba8582-7523-4cab-94bd-749ac4fc5bb7) I could fix this (not pushed yet).
dpschen added 7 commits 2022-10-27 13:33:18 +00:00
chore(deps): update dependency @types/node to v16.18.0 (#2567)
All checks were successful
continuous-integration/drone/push Build is passing
d67dca4a81
Reviewed-on: #2567
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
chore(deps): update dependency happy-dom to v7.6.0 (#2571)
Some checks failed
continuous-integration/drone/push Build is failing
527873dad4
Reviewed-on: #2571
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
chore(deps): update dependency @vue/test-utils to v2.2.0 (#2570)
All checks were successful
continuous-integration/drone/push Build is passing
57cc7b8f37
Reviewed-on: #2570
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
chore(deps): update dependency caniuse-lite to v1.0.30001423 (#2568)
All checks were successful
continuous-integration/drone/push Build is passing
8d368c552d
Reviewed-on: #2568
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
chore(deps): update dependency netlify-cli to v12.0.11 (#2569)
Some checks failed
continuous-integration/drone/push Build is failing
333df9b247
Reviewed-on: #2569
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
fix(deps): update dependency vue-router to v4.1.6 (#2572)
All checks were successful
continuous-integration/drone/push Build is passing
05d000fc50
Reviewed-on: #2572
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
fix: show frontend version in about dialog
Some checks failed
continuous-integration/drone/push Build is failing
5ddce387fe
konrad added 21 commits 2022-10-27 15:27:49 +00:00
fix(i18n): spelling typo
All checks were successful
continuous-integration/drone/push Build is passing
12faafbe7c
fix(teams): show an error message when no user is selected to add to a team
All checks were successful
continuous-integration/drone/push Build is passing
eae555475d
fix(subscription): don't remove every namespace but the one subscribing to
All checks were successful
continuous-integration/drone/push Build is passing
f17bbeddec
fix(i18n): rename "right" to permission so that it's clearer what it is used for
Some checks failed
continuous-integration/drone/push Build is failing
51471b9551
chore(deps): update typescript-eslint monorepo to v5.41.0 (#2573)
Some checks failed
continuous-integration/drone/push Build is failing
22d93a1a3c
Reviewed-on: #2573
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
chore(deps): update dependency @types/node to v18 (#2574)
All checks were successful
continuous-integration/drone/push Build is passing
35649d0e87
Reviewed-on: #2574
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
fix: building version into releases
All checks were successful
continuous-integration/drone/push Build is passing
a0795db040
fix(deps): update vueuse to v9.4.0 (#2575)
All checks were successful
continuous-integration/drone/push Build is passing
70e81ee682
Reviewed-on: #2575
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
fix(sharing): correctly check if the user has admin rights when sharing
Some checks failed
continuous-integration/drone/push Build is failing
8a5b1ab3e3
fix: lint
All checks were successful
continuous-integration/drone/push Build is passing
e13e477682
chore(deps): update dependency cypress to v10.11.0 (#2576)
Some checks failed
continuous-integration/drone/push Build is failing
ef6bc3cbab
Reviewed-on: #2576
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
chore(deps): update dependency @types/node to v18.11.6
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
59be904d4a
chore(deps): update dependency vite to v3.2.0 (#2580)
All checks were successful
continuous-integration/drone/push Build is passing
7ec31363c3
Reviewed-on: #2580
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
chore(deps): update dependency @types/node to v18.11.7 (#2581)
All checks were successful
continuous-integration/drone/push Build is passing
5e7fe3280c
Reviewed-on: #2581
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
chore(deps): update dependency @vitejs/plugin-legacy to v2.3.0 (#2578)
All checks were successful
continuous-integration/drone/push Build is passing
4ad99bdad1
Reviewed-on: #2578
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
chore(deps): update dependency @vitejs/plugin-vue to v3.2.0 (#2579)
Some checks failed
continuous-integration/drone/push Build is failing
96e44bf225
Reviewed-on: #2579
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
fix(deps): update sentry-javascript monorepo to v7.17.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
ef3f19d046
konrad reviewed 2022-10-27 15:40:10 +00:00
konrad left a comment
Author
Owner

Looks good! I'll rebase once more, should be ready to merge after that.

Looks good! I'll rebase once more, should be ready to merge after that.
konrad force-pushed feature/ganttastic from 483a60452b to 61a89117d2 2022-10-27 15:52:00 +00:00 Compare
konrad scheduled this pull request to auto merge when all checks succeed 2022-10-27 15:53:59 +00:00
konrad added 1 commit 2022-10-27 15:55:01 +00:00
chore(gantt): pnpm install after merge
All checks were successful
continuous-integration/drone/pr Build is passing
5271166120
konrad merged commit fd3e7e655d into main 2022-10-27 16:03:27 +00:00
konrad deleted branch feature/ganttastic 2022-10-27 19:26:19 +00:00
This repo is archived. You cannot comment on pull requests.
No description provided.