Compare commits
24 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9af565b53b | ||
|
|
600a7a0786 | ||
|
|
f8a518a55b | ||
|
|
84e93c2798 | ||
|
|
61537b1dea | ||
|
|
d444686eb6 | ||
|
|
79d979561f | ||
|
|
238512104a | ||
|
|
392896efab | ||
|
|
b1fe3d9862 | ||
|
|
50d949e8be | ||
|
|
e3d72ac42b | ||
|
|
6983458169 | ||
|
|
480ec945d0 | ||
|
|
19b005ccfa | ||
|
|
6e979c5b86 | ||
|
|
ce3e969e34 | ||
|
|
d9a9a269b7 | ||
|
|
80f49360d6 | ||
|
|
f74ee6b151 | ||
|
|
012f3ea5dd | ||
|
|
6e5df95e0a | ||
|
|
6b41c80be4 | ||
|
|
64e72a92e3 |
18
CHANGELOG.md
18
CHANGELOG.md
@@ -1,6 +1,24 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
## 1.2.2 - 2020-11-24
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
* [#2584](https://github.com/nextcloud/deck/pull/2584) Fix updating checkbox state and avoid issues due to duplicate sidebar element
|
||||||
|
* [#2586](https://github.com/nextcloud/deck/pull/2586) Fix card details button
|
||||||
|
* [#2587](https://github.com/nextcloud/deck/pull/2587) Move modal top spacing to the header to avoid side-effect when scrolling
|
||||||
|
* [#2588](https://github.com/nextcloud/deck/pull/2588) Do not render images in editor
|
||||||
|
* [#2609](https://github.com/nextcloud/deck/pull/2609) Fix issue with depenendency causing newline comments to not show
|
||||||
|
* [#2611](https://github.com/nextcloud/deck/pull/2611) Fix paragraph styling in comments
|
||||||
|
|
||||||
|
## 1.2.1 - 2020-11-18
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
* [#2570](https://github.com/nextcloud/deck/pull/2570) [#2571](https://github.com/nextcloud/deck/pull/2571) Fix error when deleting users @ksteinb
|
||||||
|
* [#2573](https://github.com/nextcloud/deck/pull/2573) Fix issue where card description was changed on the wrong card when switching cards
|
||||||
|
|
||||||
## 1.2.0 - 2020-11-16
|
## 1.2.0 - 2020-11-16
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
- 🚀 Get your project organized
|
- 🚀 Get your project organized
|
||||||
|
|
||||||
</description>
|
</description>
|
||||||
<version>1.2.0</version>
|
<version>1.2.2</version>
|
||||||
<licence>agpl</licence>
|
<licence>agpl</licence>
|
||||||
<author>Julius Härtl</author>
|
<author>Julius Härtl</author>
|
||||||
<namespace>Deck</namespace>
|
<namespace>Deck</namespace>
|
||||||
|
|||||||
2548
package-lock.json
generated
2548
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
10
package.json
10
package.json
@@ -30,7 +30,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/polyfill": "^7.12.1",
|
"@babel/polyfill": "^7.12.1",
|
||||||
"@babel/runtime": "^7.12.5",
|
"@babel/runtime": "^7.12.5",
|
||||||
"@juliushaertl/vue-richtext": "^1.0.0",
|
"@juliushaertl/vue-richtext": "^1.0.1",
|
||||||
"@nextcloud/auth": "^1.3.0",
|
"@nextcloud/auth": "^1.3.0",
|
||||||
"@nextcloud/axios": "^1.5.0",
|
"@nextcloud/axios": "^1.5.0",
|
||||||
"@nextcloud/dialogs": "^3.1.1",
|
"@nextcloud/dialogs": "^3.1.1",
|
||||||
@@ -54,7 +54,7 @@
|
|||||||
"vue": "^2.6.12",
|
"vue": "^2.6.12",
|
||||||
"vue-at": "^2.5.0-beta.2",
|
"vue-at": "^2.5.0-beta.2",
|
||||||
"vue-click-outside": "^1.1.0",
|
"vue-click-outside": "^1.1.0",
|
||||||
"vue-easymde": "^1.3.0",
|
"vue-easymde": "^1.3.1",
|
||||||
"vue-infinite-loading": "^2.4.5",
|
"vue-infinite-loading": "^2.4.5",
|
||||||
"vue-router": "^3.4.9",
|
"vue-router": "^3.4.9",
|
||||||
"vue-smooth-dnd": "^0.8.1",
|
"vue-smooth-dnd": "^0.8.1",
|
||||||
@@ -68,9 +68,9 @@
|
|||||||
"node": ">=10.0.0"
|
"node": ">=10.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.12.3",
|
"@babel/core": "^7.12.7",
|
||||||
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
||||||
"@babel/preset-env": "^7.12.1",
|
"@babel/preset-env": "^7.12.7",
|
||||||
"@nextcloud/browserslist-config": "^1.0.0",
|
"@nextcloud/browserslist-config": "^1.0.0",
|
||||||
"@nextcloud/eslint-config": "^2.1.0",
|
"@nextcloud/eslint-config": "^2.1.0",
|
||||||
"@nextcloud/eslint-plugin": "^1.5.0",
|
"@nextcloud/eslint-plugin": "^1.5.0",
|
||||||
@@ -98,7 +98,7 @@
|
|||||||
"raw-loader": "^4.0.2",
|
"raw-loader": "^4.0.2",
|
||||||
"sass-loader": "^10.1.0",
|
"sass-loader": "^10.1.0",
|
||||||
"style-loader": "^1.3.0",
|
"style-loader": "^1.3.0",
|
||||||
"stylelint": "^13.7.2",
|
"stylelint": "^13.8.0",
|
||||||
"stylelint-config-recommended": "^3.0.0",
|
"stylelint-config-recommended": "^3.0.0",
|
||||||
"stylelint-config-recommended-scss": "^4.2.0",
|
"stylelint-config-recommended-scss": "^4.2.0",
|
||||||
"stylelint-scss": "^3.18.0",
|
"stylelint-scss": "^3.18.0",
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</Modal>
|
</Modal>
|
||||||
|
|
||||||
<router-view v-show="!cardDetailsInModal || !$route.params.cardId" name="sidebar" />
|
<router-view name="sidebar" :visible="!cardDetailsInModal || !$route.params.cardId" />
|
||||||
</Content>
|
</Content>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -21,12 +21,18 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<router-view name="sidebar" />
|
<router-view v-if="visible" name="sidebar" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
name: 'Sidebar',
|
name: 'Sidebar',
|
||||||
|
props: {
|
||||||
|
visible: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
closeSidebar() {
|
closeSidebar() {
|
||||||
this.$router.push({ name: 'board' })
|
this.$router.push({ name: 'board' })
|
||||||
|
|||||||
@@ -168,12 +168,13 @@ export default {
|
|||||||
left: 0;
|
left: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
max-width: calc(100% - #{$modal-padding*2});
|
max-width: calc(100% - #{$modal-padding*2});
|
||||||
padding: 14px;
|
padding: 0 14px;
|
||||||
max-height: calc(100% - #{$modal-padding*2});
|
max-height: 100%;
|
||||||
&::v-deep {
|
&::v-deep {
|
||||||
.app-sidebar-header {
|
.app-sidebar-header {
|
||||||
position: sticky;
|
position: sticky;
|
||||||
top: 0;
|
top: 0;
|
||||||
|
padding-top: $modal-padding;
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
background-color: var(--color-main-background);
|
background-color: var(--color-main-background);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -196,7 +196,13 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.comment--content::v-deep a {
|
.comment--content::v-deep {
|
||||||
text-decoration: underline;
|
a {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -113,6 +113,7 @@ export default {
|
|||||||
autosave: { enabled: false, uniqueId: 'unique' },
|
autosave: { enabled: false, uniqueId: 'unique' },
|
||||||
toolbar: false,
|
toolbar: false,
|
||||||
placeholder: t('deck', 'Write a description …'),
|
placeholder: t('deck', 'Write a description …'),
|
||||||
|
previewImagesInEditor: false,
|
||||||
},
|
},
|
||||||
descriptionSaveTimeout: null,
|
descriptionSaveTimeout: null,
|
||||||
descriptionSaving: false,
|
descriptionSaving: false,
|
||||||
@@ -180,7 +181,7 @@ export default {
|
|||||||
const clickedIndex = [...document.querySelector('#description-preview').querySelectorAll('input')].findIndex((li) => li.id === e.target.id)
|
const clickedIndex = [...document.querySelector('#description-preview').querySelectorAll('input')].findIndex((li) => li.id === e.target.id)
|
||||||
const reg = /\[(X|\s|_|-)\]/ig
|
const reg = /\[(X|\s|_|-)\]/ig
|
||||||
let nth = 0
|
let nth = 0
|
||||||
const updatedDescription = this.description.replace(reg, (match, i, original) => {
|
const updatedDescription = this.card.description.replace(reg, (match, i, original) => {
|
||||||
let result = match
|
let result = match
|
||||||
if ('' + nth++ === '' + clickedIndex) {
|
if ('' + nth++ === '' + clickedIndex) {
|
||||||
if (match.match(/^\[\s\]/i)) {
|
if (match.match(/^\[\s\]/i)) {
|
||||||
|
|||||||
@@ -24,22 +24,31 @@
|
|||||||
<div v-if="card">
|
<div v-if="card">
|
||||||
<div @click.stop.prevent>
|
<div @click.stop.prevent>
|
||||||
<Actions v-if="canEdit && !isArchived">
|
<Actions v-if="canEdit && !isArchived">
|
||||||
<ActionButton v-if="showArchived === false && !isCurrentUserAssigned" icon="icon-user" @click="assignCardToMe()">
|
<ActionButton v-if="showArchived === false && !isCurrentUserAssigned"
|
||||||
|
icon="icon-user"
|
||||||
|
:close-after-click="true"
|
||||||
|
@click="assignCardToMe()">
|
||||||
{{ t('deck', 'Assign to me') }}
|
{{ t('deck', 'Assign to me') }}
|
||||||
</ActionButton>
|
</ActionButton>
|
||||||
<ActionButton v-if="showArchived === false && isCurrentUserAssigned" icon="icon-user" @click="unassignCardFromMe()">
|
<ActionButton v-if="showArchived === false && isCurrentUserAssigned"
|
||||||
|
icon="icon-user"
|
||||||
|
:close-after-click="true"
|
||||||
|
@click="unassignCardFromMe()">
|
||||||
{{ t('deck', 'Unassign myself') }}
|
{{ t('deck', 'Unassign myself') }}
|
||||||
</ActionButton>
|
</ActionButton>
|
||||||
<ActionButton icon="icon-external" @click.stop="modalShow=true">
|
<ActionButton icon="icon-external" :close-after-click="true" @click="modalShow=true">
|
||||||
{{ t('deck', 'Move card') }}
|
{{ t('deck', 'Move card') }}
|
||||||
</ActionButton>
|
</ActionButton>
|
||||||
<ActionButton icon="icon-settings-dark" @click="openCard">
|
<ActionButton icon="icon-settings-dark" :close-after-click="true" @click="openCard">
|
||||||
{{ t('deck', 'Card details') }}
|
{{ t('deck', 'Card details') }}
|
||||||
</ActionButton>
|
</ActionButton>
|
||||||
<ActionButton icon="icon-archive" @click="archiveUnarchiveCard()">
|
<ActionButton icon="icon-archive" :close-after-click="true" @click="archiveUnarchiveCard()">
|
||||||
{{ showArchived ? t('deck', 'Unarchive card') : t('deck', 'Archive card') }}
|
{{ showArchived ? t('deck', 'Unarchive card') : t('deck', 'Archive card') }}
|
||||||
</ActionButton>
|
</ActionButton>
|
||||||
<ActionButton v-if="showArchived === false" icon="icon-delete" @click="deleteCard()">
|
<ActionButton v-if="showArchived === false"
|
||||||
|
icon="icon-delete"
|
||||||
|
:close-after-click="true"
|
||||||
|
@click="deleteCard()">
|
||||||
{{ t('deck', 'Delete card') }}
|
{{ t('deck', 'Delete card') }}
|
||||||
</ActionButton>
|
</ActionButton>
|
||||||
</Actions>
|
</Actions>
|
||||||
@@ -127,7 +136,8 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
openCard() {
|
openCard() {
|
||||||
this.$router.push({ name: 'card', params: { cardId: this.id } })
|
const boardId = this.card?.boardId ? this.card.boardId : this.$route.params.id
|
||||||
|
this.$router.push({ name: 'card', params: { id: boardId, cardId: this.card.id } }).catch(() => {})
|
||||||
},
|
},
|
||||||
deleteCard() {
|
deleteCard() {
|
||||||
this.$store.dispatch('deleteCard', this.card)
|
this.$store.dispatch('deleteCard', this.card)
|
||||||
|
|||||||
Reference in New Issue
Block a user