Compare commits

...

74 Commits

Author SHA1 Message Date
Julius Härtl
124cc94939 Bump version to 1.1.2
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-14 11:42:03 +02:00
Julius Härtl
d45f2e9faa Merge pull request #2443 from nextcloud/backport/2435/stable1.1 2020-10-14 09:48:06 +02:00
Julius Härtl
2ea019885d Always have pointer for cards by default
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-13 19:21:32 +00:00
Julius Härtl
ccbe2eaf94 Avoid issues with clicking in compact mode
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-13 19:21:32 +00:00
Julius Härtl
568b099c17 Give modal a bit more padding
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-13 19:21:32 +00:00
Julius Härtl
a5bd24f475 Do not trigger card open when updating the title
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-13 19:21:32 +00:00
Julius Härtl
89bec2752b Do not open the dialog automatically upon card creation, only upon click
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-13 19:21:32 +00:00
Julius Härtl
2a1fa11b0d Merge pull request #2442 from nextcloud/backport/2440/stable1.1 2020-10-13 21:20:02 +02:00
Julius Härtl
ba5570558e Fix spacing in AppContent
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-13 15:21:01 +00:00
Julius Härtl
df0531851e Fix control bar toggle
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-13 15:21:01 +00:00
Julius Härtl
bbc218de95 Move navigation toggle to vue components
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-13 15:21:00 +00:00
Julius Härtl
9b6d62d24c Merge pull request #2439 from nextcloud/backport/2437/stable1.1
[stable1.1] Only remove card padding for editable cards
2020-10-13 13:07:19 +02:00
Julius Härtl
d2ceda08cb Merge pull request #2438 from nextcloud/backport/2433/stable1.1
[stable1.1] Fix scrollable titles with Dyslexia font
2020-10-13 13:07:14 +02:00
Julius Härtl
af01ecd3d1 Merge pull request #2436 from nextcloud/backport/2434/stable1.1
[stable1.1] Move most destructive actions in drop down menus to the bottom
2020-10-13 11:47:41 +02:00
Julius Härtl
7afe28f2e9 Only remove card padding for editable cards
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-13 09:44:42 +00:00
Julius Härtl
56a79c9fcc Fix scrollable titles with Dyslexia font
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-13 09:44:28 +00:00
nienzu
6fa485c6ca Move most destructive actions in drop down menus to the bottom
Signed-off-by: nienzu <ibqqz0602@gmail.com>
2020-10-13 08:02:44 +00:00
Julius Härtl
66e386b547 Fix changelog format
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-13 09:11:37 +02:00
Julius Härtl
48e6bae44a Bump version to 1.1.1
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-13 08:59:48 +02:00
Julius Härtl
c75463429e Merge pull request #2432 from nextcloud/backport/2367/stable1.1
[stable1.1] Properly handle multiple shares in a row and refactor sharee loading
2020-10-13 08:55:07 +02:00
Julius Härtl
3d3f2de781 Properly handle multiple shares in a row and refactor sharee loading
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-13 06:18:49 +00:00
Julius Härtl
2454df9a35 Merge pull request #2407 from nextcloud/dependabot/npm_and_yarn/stable1.1/sass-loader-10.0.3
Bump sass-loader from 10.0.2 to 10.0.3
2020-10-12 09:30:43 +02:00
dependabot[bot]
2a7a0e4c6d Bump sass-loader from 10.0.2 to 10.0.3
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 10.0.2 to 10.0.3.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v10.0.2...v10.0.3)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-12 07:23:39 +00:00
Julius Härtl
6edf265b78 Merge pull request #2425 from nextcloud/backport/2404/stable1.1
[stable1.1] Update Controls.vue
2020-10-12 08:55:41 +02:00
Flamenco
8e28f8e67c Update Controls.vue
Add padding to filter popup.
2020-10-12 06:50:17 +00:00
Julius Härtl
3b11c5c7ea Merge pull request #2416 from nextcloud/dependabot/npm_and_yarn/stable1.1/vue-router-3.4.6
Bump vue-router from 3.4.5 to 3.4.6
2020-10-12 08:43:45 +02:00
Julius Härtl
be05ec1b45 Merge pull request #2415 from nextcloud/dependabot/npm_and_yarn/stable1.1/url-loader-4.1.1
Bump url-loader from 4.1.0 to 4.1.1
2020-10-12 08:43:39 +02:00
Julius Härtl
b407f102fe Merge pull request #2411 from nextcloud/dependabot/npm_and_yarn/stable1.1/file-loader-6.1.1
Bump file-loader from 6.1.0 to 6.1.1
2020-10-12 08:43:31 +02:00
Julius Härtl
e82a2be836 Merge pull request #2420 from nextcloud/dependabot/npm_and_yarn/stable1.1/nextcloud/dialogs-3.0.0
Bump @nextcloud/dialogs from 2.0.1 to 3.0.0
2020-10-12 08:43:03 +02:00
Julius Härtl
d7f7cf584f Merge pull request #2418 from nextcloud/dependabot/npm_and_yarn/stable1.1/moment-2.29.1
Bump moment from 2.29.0 to 2.29.1
2020-10-12 08:42:27 +02:00
Julius Härtl
3fae174906 Merge pull request #2409 from nextcloud/dependabot/npm_and_yarn/stable1.1/nextcloud/vue-2.7.0
Bump @nextcloud/vue from 2.6.9 to 2.7.0
2020-10-12 08:32:12 +02:00
Julius Härtl
b58bba25bb Merge pull request #2413 from nextcloud/dependabot/npm_and_yarn/stable1.1/raw-loader-4.0.2
Bump raw-loader from 4.0.1 to 4.0.2
2020-10-12 08:31:48 +02:00
Julius Härtl
407acc47a4 Merge pull request #2422 from nextcloud/dependabot/npm_and_yarn/stable1.1/nextcloud/initial-state-1.2.0
Bump @nextcloud/initial-state from 1.1.2 to 1.2.0
2020-10-12 08:29:44 +02:00
dependabot[bot]
2ba19bd6fe Bump @nextcloud/initial-state from 1.1.2 to 1.2.0
Bumps [@nextcloud/initial-state](https://github.com/nextcloud/nextcloud-initial-state) from 1.1.2 to 1.2.0.
- [Release notes](https://github.com/nextcloud/nextcloud-initial-state/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-initial-state/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-initial-state/compare/v1.1.2...v1.2.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-10 01:09:55 +00:00
dependabot[bot]
16e79dc616 Bump @nextcloud/dialogs from 2.0.1 to 3.0.0
Bumps [@nextcloud/dialogs](https://github.com/nextcloud/nextcloud-dialogs) from 2.0.1 to 3.0.0.
- [Release notes](https://github.com/nextcloud/nextcloud-dialogs/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-dialogs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-dialogs/compare/v2.0.1...v3.0.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-10 01:08:41 +00:00
dependabot[bot]
f48187f28c Bump moment from 2.29.0 to 2.29.1
Bumps [moment](https://github.com/moment/moment) from 2.29.0 to 2.29.1.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.29.0...2.29.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-10 01:08:09 +00:00
dependabot[bot]
ea5aac3d27 Bump vue-router from 3.4.5 to 3.4.6
Bumps [vue-router](https://github.com/vuejs/vue-router) from 3.4.5 to 3.4.6.
- [Release notes](https://github.com/vuejs/vue-router/releases)
- [Changelog](https://github.com/vuejs/vue-router/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-router/compare/v3.4.5...v3.4.6)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-10 01:07:12 +00:00
dependabot[bot]
3487e06c8c Bump url-loader from 4.1.0 to 4.1.1
Bumps [url-loader](https://github.com/webpack-contrib/url-loader) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/webpack-contrib/url-loader/releases)
- [Changelog](https://github.com/webpack-contrib/url-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/url-loader/compare/v4.1.0...v4.1.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-10 01:06:42 +00:00
dependabot[bot]
fd253009f1 Bump raw-loader from 4.0.1 to 4.0.2
Bumps [raw-loader](https://github.com/webpack-contrib/raw-loader) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/webpack-contrib/raw-loader/releases)
- [Changelog](https://github.com/webpack-contrib/raw-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/raw-loader/compare/v4.0.1...v4.0.2)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-10 01:06:00 +00:00
dependabot[bot]
039d3e8238 Bump file-loader from 6.1.0 to 6.1.1
Bumps [file-loader](https://github.com/webpack-contrib/file-loader) from 6.1.0 to 6.1.1.
- [Release notes](https://github.com/webpack-contrib/file-loader/releases)
- [Changelog](https://github.com/webpack-contrib/file-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/file-loader/compare/v6.1.0...v6.1.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-10 01:04:39 +00:00
dependabot[bot]
31d759ee62 Bump @nextcloud/vue from 2.6.9 to 2.7.0
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 2.6.9 to 2.7.0.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v2.6.9...v2.7.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-10 01:04:10 +00:00
Julius Härtl
53a30585f3 Merge pull request #2395 from nextcloud/backport/2358/stable1.1
[stable1.1] Properly check if FTSEvent has an argument set
2020-10-07 23:06:19 +02:00
Julius Härtl
a2ebf3d3f0 Merge pull request #2396 from nextcloud/backport/2359/stable1.1
[stable1.1] Also exclude deleted items from calendar boards
2020-10-07 23:05:23 +02:00
Julius Härtl
5b7505c60c Also exclude deleted items from calendar boards
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-07 14:47:19 +00:00
Julius Härtl
516b15d3a1 Properly check if FTSEvent has an argument set
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-07 14:46:53 +00:00
Julius Härtl
6ac8cafd46 Merge pull request #2389 from nextcloud/dependabot/npm_and_yarn/stable1.1/jest-26.5.2
Bump jest from 26.4.2 to 26.5.2
2020-10-07 16:45:59 +02:00
dependabot[bot]
e5c65a67a7 Bump jest from 26.4.2 to 26.5.2
Bumps [jest](https://github.com/facebook/jest) from 26.4.2 to 26.5.2.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/compare/v26.4.2...v26.5.2)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-07 14:12:37 +00:00
Julius Härtl
7b72c93076 Merge pull request #2394 from nextcloud/dependabot/npm_and_yarn/stable1.1/babel-jest-26.5.2
Bump babel-jest from 26.3.0 to 26.5.2
2020-10-07 16:10:37 +02:00
Julius Härtl
f5550c456e Merge pull request #2393 from nextcloud/dependabot/npm_and_yarn/stable1.1/acorn-8.0.4
Bump acorn from 8.0.1 to 8.0.4
2020-10-07 16:10:30 +02:00
Julius Härtl
fb8b724e1b Merge pull request #2391 from nextcloud/dependabot/npm_and_yarn/stable1.1/style-loader-1.3.0
Bump style-loader from 1.2.1 to 1.3.0
2020-10-07 16:10:10 +02:00
Julius Härtl
a3da157aa4 Merge pull request #2387 from nextcloud/dependabot/npm_and_yarn/stable1.1/nextcloud/eslint-plugin-1.5.0
Bump @nextcloud/eslint-plugin from 1.4.0 to 1.5.0
2020-10-07 16:10:01 +02:00
Julius Härtl
0118c1e409 Merge pull request #2377 from nextcloud/dependabot/npm_and_yarn/stable1.1/eslint-plugin-import-2.22.1
Bump eslint-plugin-import from 2.22.0 to 2.22.1
2020-10-07 16:09:52 +02:00
Julius Härtl
9dbf45ca25 Merge pull request #2379 from nextcloud/dependabot/npm_and_yarn/stable1.1/vue-easymde-1.3.0
Bump vue-easymde from 1.2.2 to 1.3.0
2020-10-07 16:09:14 +02:00
Julius Härtl
184cb01f5a Merge pull request #2382 from nextcloud/dependabot/npm_and_yarn/stable1.1/vue-router-3.4.5
Bump vue-router from 3.4.4 to 3.4.5
2020-10-07 16:09:02 +02:00
Julius Härtl
b3a4cca482 Merge pull request #2383 from nextcloud/dependabot/npm_and_yarn/stable1.1/webpack-merge-5.2.0
Bump webpack-merge from 5.1.4 to 5.2.0
2020-10-07 16:08:52 +02:00
Julius Härtl
1272c672ae Merge pull request #2386 from nextcloud/dependabot/npm_and_yarn/stable1.1/nextcloud/vue-2.6.9
Bump @nextcloud/vue from 2.6.8 to 2.6.9
2020-10-07 16:07:50 +02:00
dependabot[bot]
214898c3d6 Bump babel-jest from 26.3.0 to 26.5.2
Bumps [babel-jest](https://github.com/facebook/jest/tree/HEAD/packages/babel-jest) from 26.3.0 to 26.5.2.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v26.5.2/packages/babel-jest)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-07 12:54:48 +00:00
dependabot[bot]
7ba20e71ee Bump acorn from 8.0.1 to 8.0.4
Bumps [acorn](https://github.com/acornjs/acorn) from 8.0.1 to 8.0.4.
- [Release notes](https://github.com/acornjs/acorn/releases)
- [Commits](https://github.com/acornjs/acorn/compare/8.0.1...8.0.4)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-07 12:54:12 +00:00
dependabot[bot]
49f84c31fb Bump style-loader from 1.2.1 to 1.3.0
Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 1.2.1 to 1.3.0.
- [Release notes](https://github.com/webpack-contrib/style-loader/releases)
- [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/style-loader/compare/v1.2.1...v1.3.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-07 12:53:48 +00:00
dependabot[bot]
69f56981f4 Bump @nextcloud/eslint-plugin from 1.4.0 to 1.5.0
Bumps [@nextcloud/eslint-plugin](https://github.com/nextcloud/eslint-plugin) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/nextcloud/eslint-plugin/releases)
- [Changelog](https://github.com/nextcloud/eslint-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/eslint-plugin/compare/v1.4.0...v1.5.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-07 12:51:54 +00:00
dependabot[bot]
7acd1a054e Bump @nextcloud/vue from 2.6.8 to 2.6.9
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 2.6.8 to 2.6.9.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v2.6.8...v2.6.9)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-07 12:51:26 +00:00
dependabot[bot]
ef90ab0b2a Bump webpack-merge from 5.1.4 to 5.2.0
Bumps [webpack-merge](https://github.com/survivejs/webpack-merge) from 5.1.4 to 5.2.0.
- [Release notes](https://github.com/survivejs/webpack-merge/releases)
- [Changelog](https://github.com/survivejs/webpack-merge/blob/master/CHANGELOG.md)
- [Commits](https://github.com/survivejs/webpack-merge/compare/v5.1.4...v5.2.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-07 12:50:29 +00:00
dependabot[bot]
1a275b0884 Bump vue-router from 3.4.4 to 3.4.5
Bumps [vue-router](https://github.com/vuejs/vue-router) from 3.4.4 to 3.4.5.
- [Release notes](https://github.com/vuejs/vue-router/releases)
- [Changelog](https://github.com/vuejs/vue-router/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-router/compare/v3.4.4...v3.4.5)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-07 12:49:57 +00:00
dependabot[bot]
ffb25a7553 Bump vue-easymde from 1.2.2 to 1.3.0
Bumps [vue-easymde](https://github.com/NikulinIlya/vue-easymde) from 1.2.2 to 1.3.0.
- [Release notes](https://github.com/NikulinIlya/vue-easymde/releases)
- [Commits](https://github.com/NikulinIlya/vue-easymde/compare/v1.2.2...1.3.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-07 12:49:24 +00:00
dependabot[bot]
9a0476f538 Bump eslint-plugin-import from 2.22.0 to 2.22.1
Bumps [eslint-plugin-import](https://github.com/benmosher/eslint-plugin-import) from 2.22.0 to 2.22.1.
- [Release notes](https://github.com/benmosher/eslint-plugin-import/releases)
- [Changelog](https://github.com/benmosher/eslint-plugin-import/blob/master/CHANGELOG.md)
- [Commits](https://github.com/benmosher/eslint-plugin-import/compare/v2.22.0...v2.22.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-07 12:48:54 +00:00
Julius Härtl
9b9413c5e1 Merge pull request #2365 from nextcloud/backport/2361/stable1.1
[stable1.1] Comments do not depend on the comments app
2020-10-07 11:28:27 +02:00
Julius Härtl
e22c6e675b Merge pull request #2364 from nextcloud/backport/2363/stable1.1
[stable1.1] Use uid instead of displayname for sharee results
2020-10-07 11:28:00 +02:00
Julius Härtl
92a6cbce37 Merge pull request #2366 from nextcloud/bugfix/1.1-ci
Fix stable1.1 ci
2020-10-07 11:27:17 +02:00
Julius Härtl
871edf1a25 Revert "Fix travis setup on 18/19"
This reverts commit 05376a5d3a.

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-06 23:59:24 +02:00
Julius Härtl
05376a5d3a Fix travis setup on 18/19
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-06 23:05:19 +02:00
Jakob Röhrl
5cc52526cf removeCommentCheck
Signed-off-by: Jakob Röhrl <jakob.roehrl@web.de>
2020-10-06 21:02:07 +00:00
Julius Härtl
30bb429a57 Use uid instead of displayname for sharee results
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-06 14:06:07 +00:00
Julius Härtl
52cbd3d6d8 Test against stable releases
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-02 21:20:17 +02:00
Julius Härtl
15ae74249b 1.1.0 is for 18-20
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-02 21:11:16 +02:00
20 changed files with 1020 additions and 830 deletions

View File

@@ -5,7 +5,7 @@ steps:
image: nextcloudci/php7.3:latest
environment:
APP_NAME: deck
CORE_BRANCH: master
CORE_BRANCH: stable20
DB: sqlite
commands:
# Pre-setup steps
@@ -20,7 +20,7 @@ steps:
image: nextcloudci/php7.2:latest
environment:
APP_NAME: deck
CORE_BRANCH: master
CORE_BRANCH: stable20
DB: sqlite
commands:
- composer install
@@ -29,7 +29,7 @@ steps:
image: nextcloudci/php7.3:php7.3-2
environment:
APP_NAME: deck
CORE_BRANCH: master
CORE_BRANCH: stable20
DB: sqlite
commands:
- composer install
@@ -38,7 +38,7 @@ steps:
image: nextcloudci/php7.4:latest
environment:
APP_NAME: deck
CORE_BRANCH: master
CORE_BRANCH: stable20
DB: sqlite
commands:
- composer install
@@ -58,7 +58,7 @@ steps:
image: nextcloudci/php7.3:latest
environment:
APP_NAME: deck
CORE_BRANCH: master
CORE_BRANCH: stable20
DB: sqlite
commands:
# Pre-setup steps
@@ -84,7 +84,7 @@ steps:
image: nextcloudci/php7.4:latest
environment:
APP_NAME: deck
CORE_BRANCH: master
CORE_BRANCH: stable20
DB: sqlite
commands:
# Pre-setup steps
@@ -111,7 +111,7 @@ steps:
image: nextcloudci/php7.3:latest
environment:
APP_NAME: deck
CORE_BRANCH: master
CORE_BRANCH: stable20
DB: sqlite
commands:
# Pre-setup steps

View File

@@ -2,9 +2,13 @@ language: php
services:
- mysql
php:
- 7.2
- 7.3
- 7.4
env:
- CORE_BRANCH=master DB=mysql
- CORE_BRANCH=stable20 DB=mysql
- CORE_BRANCH=stable19 DB=mysql
- CORE_BRANCH=stable18 DB=mysql
matrix:
include:
@@ -17,10 +21,13 @@ before_install:
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh deck $CORE_BRANCH $DB
- cd ../server
- ./occ app:enable deck
before_script:
- cd apps/deck
- composer install --no-dev
- cd ../../
- ./occ app:enable deck
- cd apps/deck
script:
- composer install

View File

@@ -1,6 +1,27 @@
# Changelog
All notable changes to this project will be documented in this file.
## 1.1.2 - 2020-10-14
### Bugfixes
* [#2436](https://github.com/nextcloud/deck/pull/2436) Move most destructive actions in drop down menus to the bottom
* [#2438](https://github.com/nextcloud/deck/pull/2438) Fix scrollable titles with Dyslexia font
* [#2439](https://github.com/nextcloud/deck/pull/2439) Only remove card padding for editable cards
* [#2442](https://github.com/nextcloud/deck/pull/2442) Move navigation toggle handling to @nextcloud/vue native one
* [#2443](https://github.com/nextcloud/deck/pull/2443) Do not open the dialog automatically upon card creation, only upon click
## 1.1.1 - 2020-10-13
### Bugfixes
* [#2364](https://github.com/nextcloud/deck/pull/2364) Use uid instead of displayname for sharee results
* [#2365](https://github.com/nextcloud/deck/pull/2365) Comments do not depend on the comments app (@jakobroehrl)
* [#2395](https://github.com/nextcloud/deck/pull/2395) Fix failure if full text search app was enabled
* [#2396](https://github.com/nextcloud/deck/pull/2396) Also exclude deleted items from calendar boards
* [#2425](https://github.com/nextcloud/deck/pull/2425) Fix filter popover styling (@Flamenco)
* [#2432](https://github.com/nextcloud/deck/pull/2432) Properly handle multiple shares in a row and refactor sharee loading
## 1.1.0 - 2020-10-03
### Features

View File

@@ -17,7 +17,7 @@
- 🚀 Get your project organized
</description>
<version>1.1.0</version>
<version>1.1.2</version>
<licence>agpl</licence>
<author>Julius Härtl</author>
<namespace>Deck</namespace>
@@ -36,7 +36,7 @@
<database min-version="9.4">pgsql</database>
<database>sqlite</database>
<database min-version="5.5">mysql</database>
<nextcloud min-version="18" max-version="21" />
<nextcloud min-version="18" max-version="20" />
</dependencies>
<background-jobs>
<job>OCA\Deck\Cron\DeleteCron</job>

View File

@@ -97,13 +97,13 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
// FIXME: One moving to QBMapper we should allow filtering the boards probably by method chaining for additional where clauses
$sql = 'SELECT id, title, owner, color, archived, deleted_at, 0 as shared, last_modified FROM `*PREFIX*deck_boards` WHERE owner = ? AND last_modified > ?';
if (!$includeArchived) {
$sql .= ' AND NOT archived';
$sql .= ' AND NOT archived AND deleted_at = 0';
}
$sql .= ' UNION ' .
'SELECT boards.id, title, owner, color, archived, deleted_at, 1 as shared, last_modified FROM `*PREFIX*deck_boards` as boards ' .
'JOIN `*PREFIX*deck_board_acl` as acl ON boards.id=acl.board_id WHERE acl.participant=? AND acl.type=? AND boards.owner != ? AND last_modified > ?';
if (!$includeArchived) {
$sql .= ' AND NOT archived';
$sql .= ' AND NOT archived AND deleted_at = 0';
}
$entries = $this->findEntities($sql, [$userId, $since, $userId, Acl::PERMISSION_TYPE_USER, $userId, $since], $limit, $offset);
/* @var Board $entry */
@@ -142,7 +142,7 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
}
$sql .= ')';
if (!$includeArchived) {
$sql .= ' AND NOT archived';
$sql .= ' AND NOT archived AND deleted_at = 0';
}
$entries = $this->findEntities($sql, array_merge([$userId, Acl::PERMISSION_TYPE_GROUP], $groups), $limit, $offset);
/* @var Board $entry */
@@ -174,7 +174,7 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
}
$sql .= ')';
if (!$includeArchived) {
$sql .= ' AND NOT archived';
$sql .= ' AND NOT archived AND deleted_at = 0';
}
$entries = $this->findEntities($sql, array_merge([$userId, Acl::PERMISSION_TYPE_CIRCLE], $circles), $limit, $offset);
/* @var Board $entry */

View File

@@ -42,7 +42,7 @@ class FTSEvent extends Event {
}
public function getArgument($key) {
if ($this->hasArgument($key)) {
if (isset($this->arguments[$key])) {
return $this->arguments[$key];
}

1555
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -33,30 +33,30 @@
"@juliushaertl/vue-richtext": "^0.3.3",
"@nextcloud/auth": "^1.3.0",
"@nextcloud/axios": "^1.4.0",
"@nextcloud/dialogs": "^2.0.1",
"@nextcloud/dialogs": "^3.0.0",
"@nextcloud/event-bus": "^1.2.0",
"@nextcloud/files": "^1.1.0",
"@nextcloud/initial-state": "^1.1.2",
"@nextcloud/initial-state": "^1.2.0",
"@nextcloud/l10n": "^1.4.1",
"@nextcloud/moment": "^1.1.1",
"@nextcloud/router": "^1.2.0",
"@nextcloud/vue": "^2.6.8",
"@nextcloud/vue": "^2.7.0",
"@nextcloud/vue-dashboard": "^1.0.1",
"blueimp-md5": "^2.18.0",
"dompurify": "^2.1.1",
"lodash": "^4.17.20",
"markdown-it": "^11.0.1",
"markdown-it-task-lists": "^2.1.1",
"moment": "^2.29.0",
"moment": "^2.29.1",
"nextcloud-vue-collections": "^0.8.1",
"p-queue": "^6.6.1",
"url-search-params-polyfill": "^8.1.0",
"vue": "^2.6.12",
"vue-at": "^2.5.0-beta.2",
"vue-click-outside": "^1.1.0",
"vue-easymde": "^1.2.2",
"vue-easymde": "^1.3.0",
"vue-infinite-loading": "^2.4.5",
"vue-router": "^3.4.4",
"vue-router": "^3.4.6",
"vue-smooth-dnd": "^0.8.1",
"vuex": "^3.5.1",
"vuex-router-sync": "^5.0.0"
@@ -73,44 +73,44 @@
"@babel/preset-env": "^7.11.5",
"@nextcloud/browserslist-config": "^1.0.0",
"@nextcloud/eslint-config": "^2.1.0",
"@nextcloud/eslint-plugin": "^1.4.0",
"@nextcloud/eslint-plugin": "^1.5.0",
"@nextcloud/webpack-vue-config": "^1.4.1",
"@vue/test-utils": "^1.1.0",
"acorn": "^8.0.1",
"acorn": "^8.0.4",
"babel-eslint": "^10.1.0",
"babel-jest": "^26.3.0",
"babel-jest": "^26.5.2",
"babel-loader": "^8.1.0",
"css-loader": "^4.3.0",
"eslint": "^6.8.0",
"eslint-config-standard": "^12.0.0",
"eslint-friendly-formatter": "^4.0.1",
"eslint-loader": "^3.0.4",
"eslint-plugin-import": "^2.22.0",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^4.2.1",
"eslint-plugin-standard": "^4.0.1",
"eslint-plugin-vue": "^6.2.2",
"file-loader": "^6.1.0",
"jest": "^26.4.2",
"file-loader": "^6.1.1",
"jest": "^26.5.2",
"jest-serializer-vue": "^2.0.2",
"minimist": "^1.2.5",
"node-sass": "^4.14.1",
"raw-loader": "^4.0.1",
"sass-loader": "^10.0.2",
"style-loader": "^1.2.1",
"raw-loader": "^4.0.2",
"sass-loader": "^10.0.3",
"style-loader": "^1.3.0",
"stylelint": "^13.7.2",
"stylelint-config-recommended": "^3.0.0",
"stylelint-config-recommended-scss": "^4.2.0",
"stylelint-scss": "^3.18.0",
"stylelint-webpack-plugin": "^2.1.0",
"url-loader": "^4.1.0",
"url-loader": "^4.1.1",
"vue-jest": "^3.0.7",
"vue-loader": "^15.9.3",
"vue-template-compiler": "^2.6.12",
"webpack": "^4.44.2",
"webpack-cli": "^3.3.12",
"webpack-dev-server": "^3.11.0",
"webpack-merge": "^5.1.4"
"webpack-merge": "^5.2.0"
},
"jest": {
"moduleFileExtensions": [

View File

@@ -21,11 +21,11 @@
-->
<template>
<div id="content" :class="{ 'nav-hidden': !navShown, 'sidebar-hidden': !sidebarRouterView }">
<AppNavigation v-show="navShown" />
<div id="app-content">
<Content id="content" app-name="deck" :class="{ 'nav-hidden': !navShown, 'sidebar-hidden': !sidebarRouterView }">
<AppNavigation />
<AppContent>
<router-view />
</div>
</AppContent>
<Modal v-if="cardDetailsInModal && $route.params.cardId" :title="t('deck', 'Card details')" @close="hideModal()">
<div class="modal__content modal__card">
@@ -34,15 +34,16 @@
</Modal>
<router-view v-show="!cardDetailsInModal || !$route.params.cardId" name="sidebar" />
</div>
</Content>
</template>
<script>
import { mapState } from 'vuex'
import AppNavigation from './components/navigation/AppNavigation'
import { Modal } from '@nextcloud/vue'
import { Modal, Content, AppContent } from '@nextcloud/vue'
import { BoardApi } from './services/BoardApi'
import { emit, subscribe } from '@nextcloud/event-bus'
const boardApi = new BoardApi()
@@ -51,6 +52,8 @@ export default {
components: {
AppNavigation,
Modal,
Content,
AppContent,
},
data() {
return {
@@ -91,6 +94,15 @@ export default {
this.$store.dispatch('loadBoards')
this.$store.dispatch('loadSharees')
},
mounted() {
// Set navigation to initial state and update in case it gets toggled
emit('toggle-navigation', { open: this.navShown, _initial: true })
this.$nextTick(() => {
subscribe('navigation-toggled', (navState) => {
this.$store.dispatch('toggleNav', navState.open)
})
})
},
methods: {
hideModal() {
this.$router.push({ name: 'board' })
@@ -131,13 +143,6 @@ export default {
}
}
}
</style>
<style lang="scss">
.multiselect {
width: 100%;
}
.modal__card {
min-width: 320px;
@@ -147,3 +152,11 @@ export default {
height: 80vh;
}
</style>
<style lang="scss">
.multiselect {
width: 100%;
}
</style>

View File

@@ -22,17 +22,17 @@
<template>
<div class="controls">
<div id="app-navigation-toggle-custom" class="icon-menu" @click="toggleNav" />
<div v-if="board" class="board-title">
<div v-if="overviewName" class="board-title">
<div class="board-bullet icon-calendar-dark" />
<h2>{{ overviewName }}</h2>
</div>
<div v-else-if="board" class="board-title">
<div :style="{backgroundColor: '#' + board.color}" class="board-bullet" />
<h2><a href="#">{{ board.title }}</a></h2>
<h2>{{ board.title }}</h2>
<p v-if="showArchived">
({{ t('deck', 'Archived cards') }})
</p>
</div>
<div v-if="overviewName" class="board-title">
<h2><a href="#">{{ overviewName }}</a></h2>
</div>
<div v-if="board" class="board-actions">
<div v-if="canManage && !showArchived && !board.archived"
id="stack-add"
@@ -321,6 +321,9 @@ export default {
<style lang="scss" scoped>
.controls {
display: flex;
padding: 3px;
height: 44px;
padding-left: 44px;
.board-title {
display: flex;
@@ -337,7 +340,7 @@ export default {
height: 20px;
border: none;
border-radius: 50%;
background-color: #aaa;
background-color: transparent;
margin: 12px;
margin-left: -4px;
}
@@ -395,6 +398,7 @@ export default {
width: 250px;
max-height: 80vh;
overflow: auto;
padding: 8px;
}
.filter h3 {

View File

@@ -181,7 +181,7 @@ export default {
}
.board {
margin-left: $board-spacing;
padding-left: $board-spacing;
position: relative;
height: calc(100% - 44px);
overflow-x: scroll;

View File

@@ -7,10 +7,19 @@
:options="formatedSharees"
:user-select="true"
label="displayName"
:loading="isLoading || !!isSearching"
:disabled="isLoading"
track-by="multiselectKey"
:internal-search="true"
@input="clickAddAcl"
@search-change="asyncFind" />
@search-change="asyncFind">
<template #noOptions>
{{ isSearching ? t('deck', 'Searching for users, groups and circles ...') : t('deck', 'No participants found') }}
</template>
<template #noResult>
{{ isSearching ? t('deck', 'Searching for users, groups and circles ...') : t('deck', 'No participants found') }}
</template>
</Multiselect>
<ul
id="shareWithList"
@@ -63,6 +72,7 @@ import { Avatar, Multiselect, Actions, ActionButton, ActionCheckbox } from '@nex
import { CollectionList } from 'nextcloud-vue-collections'
import { mapGetters, mapState } from 'vuex'
import { getCurrentUser } from '@nextcloud/auth'
import { showError } from '@nextcloud/dialogs'
export default {
name: 'SharingTabSidebar',
@@ -83,6 +93,7 @@ export default {
data() {
return {
isLoading: false,
isSearching: false,
addAcl: null,
addAclForAPI: null,
}
@@ -102,7 +113,7 @@ export default {
formatedSharees() {
return this.unallocatedSharees.map(item => {
const sharee = {
user: item.label,
user: item.value.shareWith,
displayName: item.label,
icon: 'icon-user',
multiselectKey: item.shareType + ':' + item.primaryKey,
@@ -137,13 +148,20 @@ export default {
this.asyncFind('')
},
methods: {
asyncFind(query) {
this.isLoading = true
this.$store.dispatch('loadSharees', query).then(response => {
this.isLoading = false
})
async asyncFind(query) {
// manual debounce to handle async searching more easily and have more control over the loading state
const timestamp = (new Date()).getTime()
if (!this.isSearching || timestamp > this.isSearching + 300) {
this.isSearching = timestamp
await this.$store.dispatch('loadSharees', query)
// only reset searching flag if the most recent search finished
if (this.isSearching === timestamp) {
this.isSearching = false
}
}
},
clickAddAcl() {
async clickAddAcl() {
this.addAclForAPI = {
type: this.addAcl.value.shareType,
participant: this.addAcl.value.shareWith,
@@ -151,7 +169,16 @@ export default {
permissionShare: false,
permissionManage: false,
}
this.$store.dispatch('addAclToCurrentBoard', this.addAclForAPI)
this.isLoading = true
try {
await this.$store.dispatch('addAclToCurrentBoard', this.addAclForAPI)
} catch (e) {
const errorMessage = t('deck', 'Failed to create share with {displayName}', { displayName: this.addAcl.displayName })
console.error(errorMessage, e)
showError(errorMessage)
}
this.addAcl = null
this.isLoading = false
},
clickEditAcl(acl) {
this.addAclForAPI = Object.assign({}, acl)

View File

@@ -160,6 +160,7 @@ export default {
]),
...mapState({
showArchived: state => state.showArchived,
cardDetailsInModal: state => state.cardDetailsInModal,
}),
cardsByStack() {
return this.$store.getters.cardsByStack(this.stack.id).filter((card) => {
@@ -245,7 +246,9 @@ export default {
this.$refs.newCardInput.focus()
this.animate = false
})
this.$router.push({ name: 'card', params: { cardId: newCard.id } })
if (!this.cardDetailsInModal) {
this.$router.push({ name: 'card', params: { cardId: newCard.id } })
}
} catch (e) {
showError('Could not create card: ' + e.response.data.message)
} finally {

View File

@@ -179,7 +179,7 @@
<CardSidebarTabAttachments :card="currentCard" />
</AppSidebarTab>
<AppSidebarTab v-if="hasComments"
<AppSidebarTab
id="comments"
:order="2"
:name="t('deck', 'Comments')"
@@ -283,7 +283,6 @@ export default {
descriptionSaveTimeout: null,
descriptionSaving: false,
hasActivity: capabilities && capabilities.activity,
hasComments: !!OC.appswebroots['comments'],
modalShow: false,
lang: {
days: getDayNamesMin(),
@@ -572,14 +571,16 @@ export default {
// FIXME: Obivously we should at some point not randomly reuse the sidebar component
// since this is not oficially supported
.modal__card .app-sidebar {
$modal-padding: 14px;
border: 0;
min-width: 100%;
min-width: calc(100% - #{$modal-padding*2});
position: relative;
top: 0;
left: 0;
right: 0;
max-width: 100%;
max-height: 100%;
max-width: calc(100% - #{$modal-padding*2});
padding: 14px;
max-height: calc(100% - #{$modal-padding*2});
&::v-deep {
.app-sidebar-header {
position: sticky;

View File

@@ -144,17 +144,19 @@ export default {
}
}
$avatar-offset: 12px;
.avatar-list {
float: right;
display: inline-flex;
padding-right: 8px;
padding-right: $avatar-offset;
flex-direction: row-reverse;
.avatardiv,
/deep/ .avatardiv {
width: 36px;
height: 36px;
box-sizing: content-box !important;
margin-right: -12px;
margin-right: -$avatar-offset;
transition: margin-right 0.2s ease-in-out;
&.icon-more {

View File

@@ -121,10 +121,6 @@ export default {
}
}
.card:not(.card__editable) .avatars {
margin-right: 10px;
}
.fade-enter-active, .fade-leave-active {
transition: opacity .125s;
}

View File

@@ -31,7 +31,7 @@
class="card"
@click="openCard">
<div class="card-upper">
<h3 v-if="isArchived || showArchived || !canEdit">
<h3 v-if="compactMode || isArchived || showArchived || !canEdit">
{{ card.title }}
</h3>
<h3 v-else-if="!editing">
@@ -41,6 +41,7 @@
<form v-if="editing"
v-click-outside="cancelEdit"
class="dragDisabled"
@click.stop
@keyup.esc="cancelEdit"
@submit.prevent="finishedEdit(card)">
<input v-model="copiedCard.title"
@@ -59,9 +60,9 @@
name="zoom"
tag="ul"
class="labels"
@click="openCard">
@click.stop="openCard">
<li v-for="label in labelsSorted" :key="label.id" :style="labelStyle(label)">
<span @click="applyLabelFilter(label)">{{ label.title }}</span>
<span @click.stop="applyLabelFilter(label)">{{ label.title }}</span>
</li>
</transition-group>
<div v-show="!compactMode" class="card-controls compact-item" @click="openCard">
@@ -115,10 +116,10 @@ export default {
]),
canEdit() {
if (this.currentBoard) {
return this.$store.getters.canEdit
return !this.currentBoard.archived && this.$store.getters.canEdit
}
const board = this.$store.getters.boards.find((item) => item.id === this.card.boardId)
return board ? board.permissions.PERMISSION_EDIT : false
return board ? !board.archived && board.permissions.PERMISSION_EDIT : false
},
card() {
return this.item ? this.item : this.$store.getters.cardById(this.id)
@@ -171,6 +172,10 @@ export default {
background-color: var(--color-main-background);
margin-bottom: $card-spacing;
&::v-deep * {
cursor: pointer;
}
body.dark &, body.theme--dark & {
border: 2px solid var(--color-border);
}
@@ -195,7 +200,7 @@ export default {
margin: 12px $card-padding;
flex-grow: 1;
font-size: 100%;
overflow-x: hidden;
overflow: hidden;
word-wrap: break-word;
padding-left: 4px;
span {
@@ -212,11 +217,16 @@ export default {
.card-controls {
display: flex;
margin-left: $card-padding;
margin-right: $card-padding;
& > div {
display: flex;
max-height: 44px;
}
}
&.card__editable .card-controls {
margin-right: 0;
}
}
.duedate {

View File

@@ -30,18 +30,18 @@
<ActionButton v-if="showArchived === false && isCurrentUserAssigned" icon="icon-user" @click="unassignCardFromMe()">
{{ t('deck', 'Unassign myself') }}
</ActionButton>
<ActionButton icon="icon-archive" @click="archiveUnarchiveCard()">
{{ showArchived ? t('deck', 'Unarchive card') : t('deck', 'Archive card') }}
</ActionButton>
<ActionButton v-if="showArchived === false" icon="icon-delete" @click="deleteCard()">
{{ t('deck', 'Delete card') }}
</ActionButton>
<ActionButton icon="icon-external" @click.stop="modalShow=true">
{{ t('deck', 'Move card') }}
</ActionButton>
<ActionButton icon="icon-settings-dark" @click="openCard">
{{ t('deck', 'Card details') }}
</ActionButton>
<ActionButton icon="icon-archive" @click="archiveUnarchiveCard()">
{{ showArchived ? t('deck', 'Unarchive card') : t('deck', 'Archive card') }}
</ActionButton>
<ActionButton v-if="showArchived === false" icon="icon-delete" @click="deleteCard()">
{{ t('deck', 'Delete card') }}
</ActionButton>
</Actions>
</div>
<Modal v-if="modalShow" :title="t('deck', 'Move card to another board')" @close="modalShow=false">
@@ -106,7 +106,7 @@ export default {
return this.$store.getters.canEdit
}
const board = this.$store.getters.boards.find((item) => item.id === this.card.boardId)
return board.permissions.PERMISSION_EDIT
return !!board?.permissions?.PERMISSION_EDIT
},
isBoardAndStackChoosen() {
if (this.selectedBoard === '' || this.selectedStack === '') {

View File

@@ -192,8 +192,4 @@ export default {
color: var(--color-text-light);
}
}
::v-deep .app-navigation-toggle {
display: none;
}
</style>

View File

@@ -34,7 +34,6 @@ import comment from './comment'
import trashbin from './trashbin'
import attachment from './attachment'
import overview from './overview'
import debounce from 'lodash/debounce'
Vue.use(Vuex)
const apiClient = new BoardApi()
@@ -59,7 +58,7 @@ export default new Vuex.Store({
state: {
config: loadState('deck', 'config', {}),
showArchived: false,
navShown: true,
navShown: localStorage.getItem('deck.navShown') === 'true',
compactMode: localStorage.getItem('deck.compactMode') === 'true',
cardDetailsInModal: localStorage.getItem('deck.cardDetailsInModal') === 'true',
sidebarShown: false,
@@ -204,8 +203,9 @@ export default new Vuex.Store({
return board.id !== b.id
})
},
toggleNav(state) {
state.navShown = !state.navShown
toggleNav(state, navState) {
state.navShown = navState
localStorage.setItem('deck.navShown', navState)
},
toggleSidebar(state) {
state.sidebarShown = !state.sidebarShown
@@ -392,7 +392,7 @@ export default new Vuex.Store({
const boards = await apiClient.loadBoards()
commit('setBoards', boards)
},
loadSharees: debounce(function({ commit }, query) {
async loadSharees({ commit }, query) {
const params = new URLSearchParams()
if (typeof query === 'undefined') {
return
@@ -402,16 +402,15 @@ export default new Vuex.Store({
params.append('perPage', 20)
params.append('itemType', [0, 1, 7])
axios.get(generateOcsUrl('apps/files_sharing/api/v1') + 'sharees', { params }).then((response) => {
commit('setSharees', response.data.ocs.data)
})
}, 250),
const response = await axios.get(generateOcsUrl('apps/files_sharing/api/v1') + 'sharees', { params })
commit('setSharees', response.data.ocs.data)
},
setBoardFilter({ commmit }, filter) {
commmit('setBoardFilter', filter)
},
toggleNav({ commit }) {
commit('toggleNav')
toggleNav({ commit }, navState) {
commit('toggleNav', navState)
},
toggleSidebar({ commit }) {
commit('toggleSidebar')
@@ -454,13 +453,11 @@ export default new Vuex.Store({
},
// acl actions
addAclToCurrentBoard({ dispatch, commit }, newAcl) {
async addAclToCurrentBoard({ dispatch, commit }, newAcl) {
newAcl.boardId = this.state.currentBoard.id
apiClient.addAcl(newAcl)
.then((returnAcl) => {
commit('addAclToCurrentBoard', returnAcl)
dispatch('refreshBoard', newAcl.boardId)
})
const result = await apiClient.addAcl(newAcl)
commit('addAclToCurrentBoard', result)
dispatch('refreshBoard', newAcl.boardId)
},
updateAclFromCurrentBoard({ commit }, acl) {
acl.boardId = this.state.currentBoard.id