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 added 1 commit 2022-07-20 22:54:09 +00:00
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
continuous-integration/drone/pr Build is failing Details
bd06f725be
Merge branch 'main' into feature/ganttastic
# 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
continuous-integration/drone/pr Build is passing Details
7a457eb161
feat(link shares): cleanup link share table
continuous-integration/drone/pr Build is passing Details
d91d1fecf1
chore: remove &nbsp;
continuous-integration/drone/pr Build is passing Details
5f678e2449
chore: remove unused id
continuous-integration/drone/pr Build is passing Details
26d02d5593
feat: programmatically generate list of available views
continuous-integration/drone/push Build is failing Details
65f9def438
chore(deps): update dependency typescript to v4.8.3 (#2341)
Reviewed-on: #2341
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is failing Details
38d72b59df
chore(deps): update dependency vitest to v0.23.2
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
4dd397e3d2
chore(deps): update dependency autoprefixer to v10.4.9
continuous-integration/drone/push Build is passing Details
6e026cc7cc
chore(deps): update dependency netlify-cli to v11.7.1
continuous-integration/drone/push Build is passing Details
2f0f648d28
chore(deps): update dependency eslint to v8.23.1
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
53858e0c31
chore(deps): update typescript-eslint monorepo to v5.37.0
continuous-integration/drone/push Build is passing Details
64726a6421
fix(deps): update dependency blurhash to v2 (#2351)
Reviewed-on: #2351
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is passing Details
7b398f73f6
feat: add fallback for useCopyToClipboard (#2343)
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>
continuous-integration/drone/push Build is passing Details
61427987c2
fix(deps): update dependency date-fns to v2.29.3 (#2354)
Reviewed-on: #2354
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is passing Details
1a11b43ca8
feat: improve models
continuous-integration/drone/push Build is passing Details
2013924949
chore(deps): update dependency autoprefixer to v10.4.10 (#2355)
Reviewed-on: #2355
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is passing Details
db8b8812af
feat: use v-model more consequent (#2356)
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>
continuous-integration/drone/pr Build is failing Details
e67fc7fb7e
fix: use proper computed for available views list
continuous-integration/drone/pr Build is passing Details
2b82df5dbd
Merge branch 'main' into feature/redirect-to-specific-view
# Conflicts:
#	src/components/sharing/linkSharing.vue
continuous-integration/drone/push Build is passing Details
f083f181e2
fix: only warn once if triggeredNotifications are not supported (#2344)
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>
continuous-integration/drone/pr Build was killed Details
224cea33ce
feat: make share link name italic
continuous-integration/drone/pr Build is passing Details
6576b6148c
feat: move the url link to the bottom of the items
continuous-integration/drone/push Build is passing Details
854068fff9
chore(deps): update dependency cypress to v10.8.0 (#2359)
Reviewed-on: #2359
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is passing Details
a6e9b36bd6
feat(link shares): allows switching the initial view by passing a query parameter (#2335)
Reviewed-on: #2335
Reviewed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
continuous-integration/drone/push Build is passing Details
0316656d81
chore(deps): update dependency autoprefixer to v10.4.11 (#2363)
Reviewed-on: #2363
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
064001e259
chore(deps): update dependency postcss-preset-env to v7.8.2
continuous-integration/drone/push Build is failing Details
9c367877f4
chore(deps): update dependency vite to v3.1.1 (#2365)
Reviewed-on: #2365
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is passing Details
49217889b5
fix: bucket title edit success message appearing twice
continuous-integration/drone/push Build is passing Details
92f24e59a7
fix: don't parse dates in urls
Resolves #2353
continuous-integration/drone/push Build is passing Details
602ab8379e
fix: vue-i18n global scope (#2366)
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>
continuous-integration/drone/pr Build is passing Details
2683fec0a6
feat: show the task color bubble everywhere
continuous-integration/drone/push Build is passing Details
b24d5f2dce
fix(quick add magic): time parsing for certain conditions (#2367)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: #2367
Reviewed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
continuous-integration/drone/pr Build is passing Details
6d9c4a7aa0
chore: improve types
continuous-integration/drone/push Build is passing Details
84260841be
feat(list): add info dialoge to show list description (#2368)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: #2368
Reviewed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
continuous-integration/drone/push Build is passing Details
f70b1d2902
feat: color the task color button when the task has a color set (#2331)
Reviewed-on: #2331
Reviewed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
565765537d
chore(deps): pin dependency @types/dompurify to 2.3.4
continuous-integration/drone/push Build is passing Details
221edb2086
fix(deps): update sentry-javascript monorepo to v7.13.0
continuous-integration/drone/push Build is failing Details
ad6b335d41
feat: namespace settings archive script setup
continuous-integration/drone/push Build is passing Details
fa77b20c13
chore(deps): update dependency eslint-plugin-vue to v9.5.0 (#2371)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: #2371
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is passing Details
2eff239f9e
chore(deps): update dependency eslint-plugin-vue to v9.5.1 (#2373)
Reviewed-on: #2373
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
9134269ead
chore(deps): update dependency vite to v3.1.2
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build was killed Details
0fccb3d5a9
fix(deps): update dependency @types/sortablejs to v1.15.0
continuous-integration/drone/push Build was killed Details
fc0cf3fc87
chore(deps): update dependency vitest to v0.23.4
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build was killed Details
54e9513c14
chore(deps): update dependency esbuild to v0.15.8
continuous-integration/drone/push Build was killed Details
0360cd0867
chore(deps): update dependency vite-plugin-pwa to v0.12.8 (#2375)
Reviewed-on: #2375
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build was killed Details
de7617fbaf
chore(deps): update caniuse-and-related to v4.21.4 (#2379)
Reviewed-on: #2379
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build was killed Details
e8613b48fc
chore(deps): update dependency netlify-cli to v11.8.0 (#2380)
Reviewed-on: #2380
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build was killed Details
070ef7e5aa
chore(deps): update dependency @vitejs/plugin-legacy to v2.2.0 (#2381)
Reviewed-on: #2381
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build was killed Details
1ecb186b7c
chore(deps): update dependency vite to v3.1.3 (#2382)
Reviewed-on: #2382
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build was killed Details
b06e3cac3f
chore(deps): update typescript-eslint monorepo to v5.38.0 (#2383)
Reviewed-on: #2383
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build was killed Details
fadaac4ef1
chore(deps): update dependency vite-plugin-pwa to v0.13.0 (#2385)
Reviewed-on: #2385
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build was killed Details
4c9a018c13
fix(deps): update dependency easymde to v2.18.0 (#2386)
Reviewed-on: #2386
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build was killed Details
ddabd7f63a
chore(deps): update dependency autoprefixer to v10.4.12
continuous-integration/drone/push Build is failing Details
ff5d1fc8c1
feat: ListNamespaces script setup (#2389)
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>
continuous-integration/drone/push Build is passing Details
e91b5fde02
feat: NewTeam script setup (#2388)
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>
continuous-integration/drone/push Build is passing Details
d67e5e386d
feat: port label store to pinia | pinia 1/9 (#2391)
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>
continuous-integration/drone/push Build is passing Details
f85a08afb4
fix(deps): update dependency pinia to v2.0.22 (#2400)
Reviewed-on: #2400
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/pr Build is failing Details
e5d04c98da
fix: test pnpm cache
continuous-integration/drone/push Build is passing Details
a38075f376
feat: move list store to pina (#2392)
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>
continuous-integration/drone/pr Build is passing Details
43e2d036d7
fix: remove console.log
continuous-integration/drone/push Build is failing Details
0814890cac
feat: deleteNamespace script setup (#2387)
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>
continuous-integration/drone/push Build is passing Details
d57e27b4a6
feat: task relatedTasks script setup (#1939)
Reviewed-on: #1939
Reviewed-by: konrad <k@knt.li>
continuous-integration/drone/pr Build is failing Details
b542221dac
chore: don't cache node_modules
continuous-integration/drone/pr Build is failing Details
6624db1d49
chore: don't use node alpine image
continuous-integration/drone/pr Build is failing Details
62e227c767
fix: explicitly install cypress
continuous-integration/drone/pr Build is passing Details
dfb3561310
chore: use node alpine image
This reverts commit 6624db1d49.
continuous-integration/drone/pr Build is passing Details
ef6454483a
chore(ci): sign drone config
continuous-integration/drone/push Build is passing Details
f7ca064127
feat: use pnpm (#1789)
Reviewed-on: #1789
continuous-integration/drone/pr Build is passing Details
093ab766d4
feat: port namespace store to pinia
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is failing Details
ad694ff8bc
chore(deps): update dependency @vue/eslint-config-typescript to v11.0.2
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is failing Details
02e73fa377
chore(deps): update dependency vite-plugin-pwa to v0.13.1
continuous-integration/drone/push Build is failing Details
479fc7e433
chore(deps): update dependency rollup to v2.79.1
continuous-integration/drone/push Build is failing Details
b9335a7362
fix(deps): update dependency codemirror to v5.65.9
continuous-integration/drone/push Build is failing Details
0e072b582b
chore(deps): update pnpm to v7.12.1
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is failing Details
13bc25ff5d
chore(deps): update dependency sass to v1.55.0
continuous-integration/drone/push Build is failing Details
4dfcd8e70f
feat: feat-attachments-script-setup (#2358)
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>
continuous-integration/drone/push Build was killed Details
937fd36f72
feat: convert namespaces store to pina (#2393)
Reviewed-on: #2393
Reviewed-by: konrad <k@knt.li>
continuous-integration/drone/push Build is failing Details
6e5501a5f1
fix(labels): unset loading state after loading all labels
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is failing Details
2fd9f0ee47
chore(deps): update dependency esbuild to v0.15.9
continuous-integration/drone/push Build is failing Details
20e9420638
feat: port attachments store to pinia
continuous-integration/drone/push Build is failing Details
5ffb13a3a8
chore(deps): update pnpm to v7.12.2 (#2408)
Reviewed-on: #2408
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is failing Details
ede5cdd8cf
fix: only pass date to flatpickr if it's a valid date
Resolves #2384
continuous-integration/drone/push Build is failing Details
aa64e9835c
fix: loading state when creating a new task from list view
continuous-integration/drone/push Build is failing Details
3c9c5eff12
fix: make add task button 100% height
continuous-integration/drone/push Build is failing Details
2bf9771e28
fix: lint
continuous-integration/drone/push Build is failing Details
62ed7c5964
fix: color list titles so that they are visible on cards with a background
Resolves #2372
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is failing Details
a737fc5bc2
feat: port config store to pinia
continuous-integration/drone/push Build is failing Details
4e9c592090
chore(deps): update dependency caniuse-lite to v1.0.30001412 (#2421)
Reviewed-on: #2421
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is failing Details
b44c71e6cc
chore(deps): update dependency netlify-cli to v11.8.3 (#2422)
Reviewed-on: #2422
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is failing Details
b1f2229d22
chore(deps): update dependency eslint to v8.24.0 (#2410)
Reviewed-on: #2410
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is failing Details
5f6cfa8e09
fix(deps): update vueuse to v9.3.0 (#2423)
Reviewed-on: #2423
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is failing Details
1eae7ece9c
chore(deps): update dependency rollup-plugin-visualizer to v5.8.2 (#2420)
Reviewed-on: #2420
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is failing Details
ba2605af1b
feat: filter-popup script setup (#2418)
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>
continuous-integration/drone/push Build is failing Details
89e428b4d2
feat: ListLabels script setup (#2416)
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>
continuous-integration/drone/push Build is failing Details
9f3936544d
fix: use https for api url (#2425)
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>
continuous-integration/drone/push Build is failing Details
069d03932d
chore(deps): update typescript-eslint monorepo to v5.38.1 (#2426)
Reviewed-on: #2426
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is failing Details
ecd0df21c1
fix(deps): update dependency blurhash to v2.0.1
879dfb74b6
Merge branch 'main' into feature/ganttastic
# Conflicts:
#	src/main.ts
#	yarn.lock
continuous-integration/drone/pr Build is failing Details
a1e280e47b
Merge branch 'main' into feature/ganttastic
# 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
continuous-integration/drone/push Build is failing Details
bbf4ef4697
feat: ListList script setup (#2441)
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>
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is failing Details
c421701fb7
chore(deps): update dependency @vue/test-utils to v2.1.0
continuous-integration/drone/push Build is failing Details
94d6f38e89
fix missed conversion to ref (#2445)
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>
continuous-integration/drone/push Build is failing Details
8f25f5d353
feat: improve api-config (#2444)
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>
continuous-integration/drone/pr Build is passing Details
8e3f54ae42
feat: convert model methods to named functions
continuous-integration/drone/push Build is failing Details
9856fab38f
feat: migrate auth store to pina (#2398)
Reviewed-on: #2398
Reviewed-by: konrad <k@knt.li>
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is failing Details
64cf1c8ccf
chore(deps): update dependency esbuild to v0.15.10
continuous-integration/drone/pr Build is passing Details
34ffd1d572
feat: port tasks store to pinia
continuous-integration/drone/push Build is failing Details
b84da722ca
chore(deps): update dependency @cypress/vite-dev-server to v3.2.0 (#2448)
Reviewed-on: #2448
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is failing Details
8c394d8024
feat: port tasks store to pina (#2409)
Reviewed-on: #2409
continuous-integration/drone/pr Build is passing Details
5bd7c77b68
chore: use jsDoc to explain param
continuous-integration/drone/push Build is failing Details
ec227a6872
feat: automatically create subtask relations based on indention (#2443)
Reviewed-on: #2443
Reviewed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
continuous-integration/drone/push Build is failing Details
d120e8c82d
chore(deps): update dependency postcss to v8.4.17 (#2449)
Reviewed-on: #2449
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/pr Build was killed Details
c7a3c18972
Merge branch 'main' into feature/ganttastic
# Conflicts:
#	pnpm-lock.yaml
#	src/main.ts
dpschen added 1 commit 2022-09-30 17:17:46 +00:00
continuous-integration/drone/pr Build is failing Details
6cb8d7a3f5
fix imports
konrad added 1 commit 2022-10-01 22:25:17 +00:00
continuous-integration/drone/pr Build is failing Details
1bbdd3b117
Merge branch 'main' into feature/ganttastic
# 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
97a6b2f3d1
Merge branch 'main' into feature/ganttastic
# Conflicts:
#	package.json
#	pnpm-lock.yaml
#	src/components/tasks/gantt-component.vue
continuous-integration/drone/pr Build is failing Details
7745f16893
chore: update lockfile
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
continuous-integration/drone/pr Build is passing Details
0f1c5e9394
fix(tests): adjust gantt rows identifier
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 29 commits 2022-10-27 13:33:18 +00:00
continuous-integration/drone/push Build is passing Details
d67dca4a81
chore(deps): update dependency @types/node to v16.18.0 (#2567)
Reviewed-on: #2567
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is failing Details
527873dad4
chore(deps): update dependency happy-dom to v7.6.0 (#2571)
Reviewed-on: #2571
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is passing Details
57cc7b8f37
chore(deps): update dependency @vue/test-utils to v2.2.0 (#2570)
Reviewed-on: #2570
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is passing Details
8d368c552d
chore(deps): update dependency caniuse-lite to v1.0.30001423 (#2568)
Reviewed-on: #2568
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is failing Details
333df9b247
chore(deps): update dependency netlify-cli to v12.0.11 (#2569)
Reviewed-on: #2569
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is passing Details
05d000fc50
fix(deps): update dependency vue-router to v4.1.6 (#2572)
Reviewed-on: #2572
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is failing Details
5ddce387fe
fix: show frontend version in about dialog
b18640d688
Merge branch 'main' into feature/ganttastic
# Conflicts:
#	pnpm-lock.yaml
#	src/modelTypes/ITask.ts
#	src/stores/auth.ts
#	src/types/vue-flatpickr-component.d.ts
continuous-integration/drone/pr Build is failing Details
8040af4140
fix: improve return type
konrad added 21 commits 2022-10-27 15:27:49 +00:00
continuous-integration/drone/push Build is passing Details
12faafbe7c
fix(i18n): spelling typo
continuous-integration/drone/push Build is failing Details
22d93a1a3c
chore(deps): update typescript-eslint monorepo to v5.41.0 (#2573)
Reviewed-on: #2573
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is passing Details
35649d0e87
chore(deps): update dependency @types/node to v18 (#2574)
Reviewed-on: #2574
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is passing Details
a0795db040
fix: building version into releases
continuous-integration/drone/push Build is passing Details
70e81ee682
fix(deps): update vueuse to v9.4.0 (#2575)
Reviewed-on: #2575
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is passing Details
e13e477682
fix: lint
continuous-integration/drone/push Build is failing Details
ef6bc3cbab
chore(deps): update dependency cypress to v10.11.0 (#2576)
Reviewed-on: #2576
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
59be904d4a
chore(deps): update dependency @types/node to v18.11.6
continuous-integration/drone/push Build is passing Details
7ec31363c3
chore(deps): update dependency vite to v3.2.0 (#2580)
Reviewed-on: #2580
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is passing Details
5e7fe3280c
chore(deps): update dependency @types/node to v18.11.7 (#2581)
Reviewed-on: #2581
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is passing Details
4ad99bdad1
chore(deps): update dependency @vitejs/plugin-legacy to v2.3.0 (#2578)
Reviewed-on: #2578
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/push Build is failing Details
96e44bf225
chore(deps): update dependency @vitejs/plugin-vue to v3.2.0 (#2579)
Reviewed-on: #2579
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
ef3f19d046
fix(deps): update sentry-javascript monorepo to v7.17.0
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
continuous-integration/drone/pr Build is passing Details
5271166120
chore(gantt): pnpm install after merge
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.