Commit Graph

310 Commits

Author SHA1 Message Date
Dominik Pschenitschni bbf4ef4697 feat: ListList script setup (#2441)
continuous-integration/drone/push Build is failing Details
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>
2022-09-28 16:08:23 +00:00
Dominik Pschenitschni a737fc5bc2
feat: port config store to pinia
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is failing Details
2022-09-23 13:30:09 +02:00
Dominik Pschenitschni 95ad245b59
fix: missed porting these getters and commits 2022-09-23 13:29:10 +02:00
Dominik Pschenitschni 093ab766d4
feat: port namespace store to pinia
continuous-integration/drone/pr Build is passing Details
2022-09-21 23:32:21 +02:00
Dominik Pschenitschni a38075f376 feat: move list store to pina (#2392)
continuous-integration/drone/push Build is passing Details
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>
2022-09-21 16:21:25 +00:00
konrad 84260841be feat(list): add info dialoge to show list description (#2368)
continuous-integration/drone/push Build is passing Details
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: #2368
Reviewed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
2022-09-15 12:36:43 +00:00
Dominik Pschenitschni 602ab8379e fix: vue-i18n global scope (#2366)
continuous-integration/drone/push Build is passing Details
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>
2022-09-15 09:54:01 +00:00
kolaente 49217889b5
fix: bucket title edit success message appearing twice
continuous-integration/drone/push Build is passing Details
2022-09-15 10:08:17 +02:00
Dominik Pschenitschni 1a11b43ca8 feat: improve models
continuous-integration/drone/push Build is passing Details
2022-09-13 14:59:02 +00:00
Dominik Pschenitschni 54de368642
fix: use typed useStore
continuous-integration/drone/pr Build is passing Details
2022-09-05 20:10:32 +02:00
Dominik Pschenitschni 49f3b928cb
chore: minor fixes 2022-09-05 19:01:42 +02:00
Dominik Pschenitschni 7d4ba6249e
feat: add modelTypes 2022-09-05 17:57:21 +02:00
Dominik Pschenitschni 041a1a4cc0
move constants 2022-09-05 17:43:55 +02:00
Dominik Pschenitschni 244478400a
feat: improve store typing 2022-09-05 17:43:23 +02:00
Dominik Pschenitschni 3766b5e51b
feat: improve store and model typing 2022-09-05 17:43:22 +02:00
Dominik Pschenitschni 42e72d14a4
chore: better variable typing 2022-09-05 17:38:37 +02:00
Dominik Pschenitschni 4a247b2a7d
chore: remove global mixing 2022-09-05 17:38:11 +02:00
Dominik Pschenitschni 332acf012c
feat: function attribute typing 2022-09-05 16:37:37 +02:00
Dominik Pschenitschni 8fb00653e4
feat: constants 2022-09-05 16:37:37 +02:00
Dominik Pschenitschni af630d3b8c
chore: improve type imports 2022-09-05 16:37:36 +02:00
Dominik Pschenitschni f6437c81da feat: list settings edit script setup (#1988)
continuous-integration/drone/push Build is passing Details
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #1988
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
2022-09-02 15:13:32 +00:00
Dominik Pschenitschni ff655808b3 feat: settings background script setup (#2104)
continuous-integration/drone/push Build is passing Details
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #2104
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
2022-09-01 16:09:50 +00:00
kolaente ad7ed86d36
fix: don't replace the last edited task with the one currently editing
continuous-integration/drone/push Build is passing Details
2022-08-02 15:27:24 +02:00
kolaente cdb63b578d
chore: use the <dropdown> and <dropdown-item> components everywhere
continuous-integration/drone/push Build is passing Details
Resolves #2176
2022-07-20 17:08:58 +02:00
kolaente 175fb02629
fix: don't allow marking a task as done in a read-only list
continuous-integration/drone/push Build is failing Details
2022-07-19 18:37:11 +02:00
kolaente dac9d918b5
feat(kanban): show loading indicators when handling tasks
continuous-integration/drone/push Build is failing Details
2022-07-19 18:33:45 +02:00
kolaente e7de930129
fix: properly update state when duplicating a list
continuous-integration/drone/push Build is passing Details
2022-07-19 17:15:39 +02:00
kolaente a0d0c2cb1f
fix(kanban): error when moving a task to an empty bucket
continuous-integration/drone/push Build is passing Details
2022-07-19 17:13:22 +02:00
Dominik Pschenitschni 0456f4a041 fix: use of sortable js with transition-group (#2160)
continuous-integration/drone/push Build is failing Details
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #2160
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
2022-07-19 14:32:12 +00:00
kolaente 99cd68ad43
fix(kanban): make sure the task position is calculated correctly
continuous-integration/drone/push Build is failing Details
The very first task in a bucket always has the position 0. Now, if we move another task in front of that, it too gets the position 0 assigned. That means the two first tasks now both have the position 0 and are not sorted correctly. This commit fixes that: When moving a task to the very first position it checks if the task now on the second position also has position 0 assigned to it. If that's the case, we'll now update that task's position as well to make sure it has another position than 0.
2022-07-13 16:51:56 +02:00
kolaente 99a5afc817
fix: task sorting by position in list view
continuous-integration/drone/push Build is failing Details
Resolves #2119
2022-07-13 16:24:50 +02:00
kolaente 4a8b7a726a
fix: task sorting in table
continuous-integration/drone/push Build is passing Details
Resolves #2118
2022-07-13 16:19:58 +02:00
kolaente 579cff647d
feat: allow marking a task done from a filter
continuous-integration/drone/push Build is passing Details
Resolves #2113
2022-07-12 11:59:39 +02:00
Dominik Pschenitschni 9a26310ad6 fix(ListList): use ButtonLink 2022-07-06 21:07:26 +00:00
Dominik Pschenitschni 6ddede4863 feat(BaseButton): add target _blank for links by default 2022-07-06 21:07:26 +00:00
Dominik Pschenitschni 3b9bc5b2f8 feat: use BaseButton where easily possible
This replaces links with BaseButton components. BaseButton will use `<button type="button">` inside for this case. This improves accessibility a lot. Also we might be able to remove the `.stop` modifiers in some places because AFAIK the button element stops propagation by default.
2022-07-06 21:07:26 +00:00
kolaente 2b8a786825
fix: archiving a list
continuous-integration/drone/push Build is failing Details
2022-06-30 18:04:41 +02:00
kolaente 8eed0be072
feat: enable kanban scroll snap only for mobile devices
continuous-integration/drone/push Build is passing Details
Fixes https://github.com/go-vikunja/frontend/issues/64
2022-06-30 16:59:45 +02:00
kolaente e0864fab3e
fix: properly define focus expose for new task input field
continuous-integration/drone/push Build is passing Details
resolves #1993
2022-06-17 14:25:59 +02:00
kolaente 745d4660d8
fix: properly reference task input textarea from parent component
continuous-integration/drone/push Build is passing Details
Resolves #1993
2022-05-23 22:33:43 +02:00
Dominik Pschenitschni 5ef939a230 feature/fix-vue-i18n-9.2.31 (#1994)
continuous-integration/drone/push Build is passing Details
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #1994
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
2022-05-23 05:23:59 +00:00
Dominik Pschenitschni 1569042471
fix: replace vue.draggable.next with zhyswan-draggable
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is failing Details
Reason: Author doesn't maintain vue port anymore.
See: https://github.com/SortableJS/vue.draggable.next/issues/140#issuecomment-1123622724=
2022-05-22 23:44:16 +02:00
Dominik Pschenitschni 93b2482d4c feat: archive list script setup
continuous-integration/drone/push Build is passing Details
2022-05-22 15:32:52 +00:00
Dominik Pschenitschni 5291fc1192 feat: NewList script setup (#1989)
continuous-integration/drone/push Build is passing Details
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #1989
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
2022-05-22 15:10:44 +00:00
Dominik Pschenitschni 96fce73192 fix: disabled attribute fallback (#1984)
continuous-integration/drone/push Build is passing Details
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #1984
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
2022-05-22 15:08:37 +00:00
kolaente a38bd7e971
fix: list title not set as page title after closing a task popup
continuous-integration/drone/push Build is passing Details
2022-05-08 11:58:37 +02:00
kolaente c2694dc089
fix: filter button alignments and backgrounds for link shares
continuous-integration/drone/push Build is passing Details
2022-05-08 11:13:19 +02:00
kolaente b40d6f783c
fix: actually deleting the list now works
continuous-integration/drone/push Build is failing Details
2022-04-25 19:59:02 +02:00
Dominik Pschenitschni 8578225982 feat: simplify namespace search (#1835)
continuous-integration/drone/push Build is failing Details
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #1835
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
2022-04-25 17:38:57 +00:00
kolaente 62adf171ec
feat: show the number of tasks we're about to remove when deleting a list
continuous-integration/drone/push Build is failing Details
2022-04-24 18:11:10 +02:00
kolaente 24701a17f5
fix: new task input focus 2022-04-24 17:26:57 +02:00
Dominik Pschenitschni 9c2438026b fix: remove obsolete watchEffect (#1795)
continuous-integration/drone/push Build is passing Details
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #1795
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
2022-04-18 17:32:21 +00:00
Dominik Pschenitschni 8473bd6a8b feat: add scroll snapping to kanban view
continuous-integration/drone/push Build is passing Details
2022-04-11 22:09:06 +00:00
kolaente b2897545e4
fix: properly set list backgrounds when switching between lists
continuous-integration/drone/push Build is failing Details
Probably caused by the blur hash feature, switching between lists would not work if the list background was set via unsplash. I've refactored the whole decision tree which checks if a background should be loaded or not. It actually does not matter where the background is from (unsplash or upload) or if we had one in the last list - we only need to know if the current list has a background or if we just changed it and need to update right away.
2022-04-03 14:20:16 +02:00
Dominik Pschenitschni ba9f69344a
feat: use defineComponent wrapper 2022-04-02 17:16:57 +02:00
Dominik Pschenitschni a3329f1b42
feat: add lang ts to script block 2022-04-02 17:15:46 +02:00
konrad 4cff3ebee1 feat: use blurHash when loading list backgrounds (#1188)
continuous-integration/drone/push Build is passing Details
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: #1188
2022-04-02 15:05:30 +00:00
kolaente 2e537f6d63
fix: loading list views would sometimes not get loaded
continuous-integration/drone/push Build is passing Details
To make sure the tasks of a list are only loaded after the list itself is fetched from the server, we hide the list view until the list is fully loaded. When switching between different views of the same list, this would cause the list view to not be loaded at all because the list was already loaded at that point.

closes #1732
2022-04-02 12:47:13 +02:00
kolaente 46050611d8 fix: forgotten import
continuous-integration/drone/push Build is passing Details
2022-03-27 21:06:30 +00:00
kolaente a055a3ea52 fix: lint 2022-03-27 21:06:30 +00:00
kolaente b7a976a9cf fix: setting the last viewed list after navigating away from it
The new list background was set on the home page when navigating to the list. This was because the `CURRENT_LIST` was set to the last visited list, even after the call to `this.$store.commit(CURRENT_LIST, null)` because everything is async. I tracked the problem down to the call to `watchEffect` in the ListWrapper component. Apparently, `watchEffect` is called every time _the watched variable is assigned to_ and not only when it changes. When navigating away from the list, that watcher is getting called with the list id, the one already loaded, and sets it in store which in turn overrides the call from the contentAuth component.
2022-03-27 21:06:30 +00:00
kolaente 42c0fc6185 fix: make sure a list background is set in store when adding one
When creating a new list, setting a background and then navigating to the home page, the list background would not be shown in the list card. Now, we're setting the newly updated list with all its background information properly in store (why are there even multiple places for this?).
2022-03-27 21:06:30 +00:00
konrad 7f56a3537c fix: load the list tasks only after the list itself was loaded (#1251)
continuous-integration/drone/push Build is failing Details
Currently, when opening a list sometimes the tasks are shown before the list itself is loaded. Because the list contains the rights, this means no edit buttons etc are available at that point which is pretty confusing.

This PR ensures the list-specific view is loaded only after the list itself is loaded.

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: #1251
2022-03-27 19:56:56 +00:00
kolaente 7f2189b455
fix: don't rotate kanban cards while dragging
continuous-integration/drone/push Build is passing Details
The way I implemented that had a few annoying side effects like wiggling around when clicking on the bucket
2022-02-27 19:43:05 +01:00
kolaente a23b4a96ee
fix: kanban board layout on mobile
continuous-integration/drone/push Build is passing Details
2022-02-27 16:36:20 +01:00
kolaente 553fd54f78
fix(kanban): background content scrolling when opening a task
continuous-integration/drone/push Build is passing Details
2022-02-26 14:39:25 +01:00
kolaente 5b509da215
fix(kanban): make sure the buckets don't appear glued to the bottom 2022-02-26 14:28:55 +01:00
kolaente f54f533700
fix(kanban): transition animation for bucket footer when adding a new task
continuous-integration/drone/push Build is passing Details
2022-02-26 14:20:53 +01:00
kolaente 17ba56f12d
feat: rotate task cards slightly while moving them between buckets
continuous-integration/drone/push Build is passing Details
2022-02-26 14:03:30 +01:00
kolaente 051dd98ff7
fix: undo task done from list view
continuous-integration/drone/push Build is passing Details
2022-02-26 13:18:44 +01:00
Dominik Pschenitschni 45e1ae66d6
feat: restore styling / fix styling issues
continuous-integration/drone/pr Build is passing Details
2022-02-13 13:49:32 +01:00
Dominik Pschenitschni e2c81d840f
fix: hack to fix wrong index position 2022-02-13 13:49:32 +01:00
Dominik Pschenitschni 69654b823e
feat: increase task drop area size for bucket list 2022-02-13 13:49:31 +01:00
Dominik Pschenitschni de626eab31
feat: don't open task detail in modal for list and table view
continuous-integration/drone/pr Build is passing Details
2022-01-31 01:31:41 +01:00
Dominik Pschenitschni de3c47dc69
fix ts errors in various files 2022-01-30 16:53:46 +01:00
Dominik Pschenitschni 76f4cca5fe
fix: move local storage list view to router 2022-01-04 21:55:33 +01:00
Dominik Pschenitschni 5916a44724
feat: provide listId prop via router 2022-01-04 21:55:32 +01:00
Dominik Pschenitschni 6d62ca1ada
fix: check now just once 2022-01-04 21:55:32 +01:00
Dominik Pschenitschni 2db820d926
feat: review changes 2022-01-04 21:55:32 +01:00
Dominik Pschenitschni 700fce3c2c
fix: sharing components 2022-01-04 21:55:32 +01:00
Dominik Pschenitschni e78d47fdcf
fix: list specs 2022-01-04 21:55:30 +01:00
Dominik Pschenitschni 5937f01cc5
fix: list loading 2022-01-04 21:55:30 +01:00
Dominik Pschenitschni 29a9335844
feat: save current list view just once 2022-01-04 21:55:30 +01:00
Dominik Pschenitschni 7eed0628d0
feat: mount list views as route-views 2022-01-04 21:55:30 +01:00
Dominik Pschenitschni 16b0d03601
fix: readd modal transitions 2022-01-04 21:55:30 +01:00
Dominik Pschenitschni c70211ad32
feat: unify modal view
fix: List.vue
2022-01-04 21:55:30 +01:00
Dominik Pschenitschni 281c922de1
feat: make taskList a composable 2022-01-04 21:55:29 +01:00
Dominik Pschenitschni 5a0c0eff9f
feat: implement modals with vue router 4
This is an implementation of the modals with the new possibilities of vue router 3.

See: https://github.com/vuejs/vue-router/issues/703#issuecomment-865066913 for a better explanation
and the linked example implementation: https://github.com/vuejs/vue-router-next/blob/master/e2e/modal/index.ts
2022-01-04 21:55:29 +01:00
Dominik Pschenitschni cdbd1c2ac4 feat: create BaseButton component (#1123)
continuous-integration/drone/push Build is running Details
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #1123
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
2022-01-04 18:58:06 +00:00
kolaente 8ae84eaf42 fix: padding and centering of the kanban limit and dropdown 2021-12-30 15:59:59 +00:00
Michaelpalacce 7ebca9afc5 feat/alphabetical-sort (#1162)
continuous-integration/drone/push Build is passing Details
Alphabetical sorting.
Disables re-ordering when applied.
Does not work with the search button as expected, but neither do the filters tbh... Works fine with the search in the filters menu.

I know we talked about having a dropdown but since this is pretty much finished I thought I'd submit a PR. I am a bit short on time these days but may submit a new PR to add the dropdown ( should be simple enough )

Co-authored-by: Stefan Genov <stefantigro@gmail.com>
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #1162
Reviewed-by: konrad <k@knt.li>
Reviewed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-authored-by: Michaelpalacce <stefantigro@gmail.com>
Co-committed-by: Michaelpalacce <stefantigro@gmail.com>
2021-12-21 16:29:49 +00:00
konrad f8d009a6aa feat: add message component (#1082)
continuous-integration/drone/push Build is passing Details
This PR adds a simple message component that replaces bulma's default message.

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: #1082
Reviewed-by: dpschen <dpschen@noreply.kolaente.de>
Co-authored-by: konrad <k@knt.li>
Co-committed-by: konrad <k@knt.li>
2021-11-28 14:18:27 +00:00
adrinux 46fa43d67f Migrate to bulma-css-variables and introduce dark mode (#954)
continuous-integration/drone/push Build encountered an error Details
Co-authored-by: Adrian Simmons <adrian@perlucida.co.uk>
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: #954
Reviewed-by: dpschen <dpschen@noreply.kolaente.de>
Reviewed-by: konrad <k@knt.li>
Co-authored-by: adrinux <adrian@perlucida.co.uk>
Co-committed-by: adrinux <adrian@perlucida.co.uk>
2021-11-22 21:12:54 +00:00
dpschen b838e7494d fix attribute coercion for contenteditable (#1025)
continuous-integration/drone/push Build is passing Details
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #1025
Reviewed-by: konrad <k@knt.li>
Co-authored-by: dpschen <dpschen@noreply.kolaente.de>
Co-committed-by: dpschen <dpschen@noreply.kolaente.de>
2021-11-18 13:00:54 +00:00
konrad ae5d3ecac5 fix: kanban card spacing (#1005)
continuous-integration/drone/push Build is passing Details
Co-authored-by: kolaente <k@knt.li>
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #1005
Co-authored-by: konrad <k@knt.li>
Co-committed-by: konrad <k@knt.li>
2021-11-16 21:44:07 +00:00
konrad feea191ecf feat: add v-shortcut directive for keyboard shortcuts (#942)
continuous-integration/drone/push Build is passing Details
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: #942
Reviewed-by: dpschen <dpschen@noreply.kolaente.de>
Co-authored-by: konrad <k@knt.li>
Co-committed-by: konrad <k@knt.li>
2021-11-13 20:28:29 +00:00
konrad 31f0c384ac feat: add button to clear active filters (#924)
continuous-integration/drone/push Build is passing Details
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: #924
Reviewed-by: dpschen <dpschen@noreply.kolaente.de>
Co-authored-by: konrad <k@knt.li>
Co-committed-by: konrad <k@knt.li>
2021-11-13 19:48:06 +00:00
dpschen 8e6e52bf02 feat: wrap edit-task with card (#948)
continuous-integration/drone/push Build is failing Details
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: #948
Reviewed-by: konrad <k@knt.li>
Co-authored-by: dpschen <dpschen@noreply.kolaente.de>
Co-committed-by: dpschen <dpschen@noreply.kolaente.de>
2021-11-13 14:13:56 +00:00
Dominik Pschenitschni c6b24dd8f1
feat: add Done component 2021-10-25 16:39:35 +02:00
Dominik Pschenitschni 9e6afdb752
fix kanban height calculation with hack 2021-10-25 16:39:34 +02:00