@@ -43,11 +43,10 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapState } from 'vuex'
|
import { mapState } from 'vuex'
|
||||||
import AppNavigation from './components/navigation/AppNavigation'
|
|
||||||
import { Modal, Content, AppContent } from '@nextcloud/vue'
|
import { Modal, Content, AppContent } from '@nextcloud/vue'
|
||||||
import { BoardApi } from './services/BoardApi'
|
|
||||||
import { emit, subscribe } from '@nextcloud/event-bus'
|
import { emit, subscribe } from '@nextcloud/event-bus'
|
||||||
|
import AppNavigation from './components/navigation/AppNavigation.vue'
|
||||||
|
import { BoardApi } from './services/BoardApi.js'
|
||||||
const boardApi = new BoardApi()
|
const boardApi = new BoardApi()
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ import Modal from '@nextcloud/vue/dist/Components/Modal'
|
|||||||
import Multiselect from '@nextcloud/vue/dist/Components/Multiselect'
|
import Multiselect from '@nextcloud/vue/dist/Components/Multiselect'
|
||||||
import EmptyContent from '@nextcloud/vue/dist/Components/EmptyContent'
|
import EmptyContent from '@nextcloud/vue/dist/Components/EmptyContent'
|
||||||
import axios from '@nextcloud/axios'
|
import axios from '@nextcloud/axios'
|
||||||
import { CardApi } from './services/CardApi'
|
import { CardApi } from './services/CardApi.js'
|
||||||
|
|
||||||
const cardApi = new CardApi()
|
const cardApi = new CardApi()
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- FIXME ins/del tags do no longer work with activity so we should get rid of that -->
|
<!-- FIXME ins/del tags do no longer work with activity so we should get rid of that -->
|
||||||
|
<!-- eslint-disable vue/no-v-html -->
|
||||||
<p v-if="activity.message" class="activity--message" v-html="sanitizedMessage" />
|
<p v-if="activity.message" class="activity--message" v-html="sanitizedMessage" />
|
||||||
|
<!-- eslint-enable -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -39,7 +41,7 @@ import RichText from '@juliushaertl/vue-richtext'
|
|||||||
import { UserBubble } from '@nextcloud/vue'
|
import { UserBubble } from '@nextcloud/vue'
|
||||||
import moment from '@nextcloud/moment'
|
import moment from '@nextcloud/moment'
|
||||||
import DOMPurify from 'dompurify'
|
import DOMPurify from 'dompurify'
|
||||||
import relativeDate from '../mixins/relativeDate'
|
import relativeDate from '../mixins/relativeDate.js'
|
||||||
|
|
||||||
const InternalLink = {
|
const InternalLink = {
|
||||||
name: 'InternalLink',
|
name: 'InternalLink',
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import axios from '@nextcloud/axios'
|
import axios from '@nextcloud/axios'
|
||||||
import { generateOcsUrl } from '@nextcloud/router'
|
import { generateOcsUrl } from '@nextcloud/router'
|
||||||
import ActivityEntry from './ActivityEntry'
|
import ActivityEntry from './ActivityEntry.vue'
|
||||||
import InfiniteLoading from 'vue-infinite-loading'
|
import InfiniteLoading from 'vue-infinite-loading'
|
||||||
|
|
||||||
const ACTIVITY_FETCH_LIMIT = 50
|
const ACTIVITY_FETCH_LIMIT = 50
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { Modal } from '@nextcloud/vue'
|
import { Modal } from '@nextcloud/vue'
|
||||||
import attachmentUpload from '../mixins/attachmentUpload'
|
import attachmentUpload from '../mixins/attachmentUpload.js'
|
||||||
import { loadState } from '@nextcloud/initial-state'
|
import { loadState } from '@nextcloud/initial-state'
|
||||||
|
|
||||||
let maxUploadSizeState
|
let maxUploadSizeState
|
||||||
|
|||||||
@@ -203,8 +203,8 @@
|
|||||||
<script>
|
<script>
|
||||||
import { mapState, mapGetters } from 'vuex'
|
import { mapState, mapGetters } from 'vuex'
|
||||||
import { Actions, ActionButton, Popover, Avatar } from '@nextcloud/vue'
|
import { Actions, ActionButton, Popover, Avatar } from '@nextcloud/vue'
|
||||||
import labelStyle from '../mixins/labelStyle'
|
import labelStyle from '../mixins/labelStyle.js'
|
||||||
import CardCreateDialog from '../CardCreateDialog'
|
import CardCreateDialog from '../CardCreateDialog.vue'
|
||||||
import ArchiveIcon from 'vue-material-design-icons/Archive'
|
import ArchiveIcon from 'vue-material-design-icons/Archive'
|
||||||
import FilterIcon from 'vue-material-design-icons/Filter'
|
import FilterIcon from 'vue-material-design-icons/Filter'
|
||||||
import FilterOffIcon from 'vue-material-design-icons/FilterOff'
|
import FilterOffIcon from 'vue-material-design-icons/FilterOff'
|
||||||
|
|||||||
@@ -72,12 +72,12 @@
|
|||||||
<script>
|
<script>
|
||||||
|
|
||||||
import { Container, Draggable } from 'vue-smooth-dnd'
|
import { Container, Draggable } from 'vue-smooth-dnd'
|
||||||
import { mapState, mapGetters } from 'vuex'
|
|
||||||
import Controls from '../Controls'
|
|
||||||
import Stack from './Stack'
|
|
||||||
import { EmptyContent } from '@nextcloud/vue'
|
import { EmptyContent } from '@nextcloud/vue'
|
||||||
import GlobalSearchResults from '../search/GlobalSearchResults'
|
import { mapState, mapGetters } from 'vuex'
|
||||||
import { showError } from '../../helpers/errors'
|
import Controls from '../Controls.vue'
|
||||||
|
import Stack from './Stack.vue'
|
||||||
|
import GlobalSearchResults from '../search/GlobalSearchResults.vue'
|
||||||
|
import { showError } from '../../helpers/errors.js'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Board',
|
name: 'Board',
|
||||||
|
|||||||
@@ -59,10 +59,10 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapState, mapGetters } from 'vuex'
|
import { mapState, mapGetters } from 'vuex'
|
||||||
import SharingTabSidebar from './SharingTabSidebar'
|
import SharingTabSidebar from './SharingTabSidebar.vue'
|
||||||
import TagsTabSidebar from './TagsTabSidebar'
|
import TagsTabSidebar from './TagsTabSidebar.vue'
|
||||||
import DeletedTabSidebar from './DeletedTabSidebar'
|
import DeletedTabSidebar from './DeletedTabSidebar.vue'
|
||||||
import TimelineTabSidebar from './TimelineTabSidebar'
|
import TimelineTabSidebar from './TimelineTabSidebar.vue'
|
||||||
import { AppSidebar, AppSidebarTab } from '@nextcloud/vue'
|
import { AppSidebar, AppSidebarTab } from '@nextcloud/vue'
|
||||||
|
|
||||||
const capabilities = window.OC.getCapabilities()
|
const capabilities = window.OC.getCapabilities()
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapState } from 'vuex'
|
import { mapState } from 'vuex'
|
||||||
import relativeDate from '../../mixins/relativeDate'
|
import relativeDate from '../../mixins/relativeDate.js'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DeletedTabSidebar',
|
name: 'DeletedTabSidebar',
|
||||||
|
|||||||
@@ -121,7 +121,7 @@ import { Container, Draggable } from 'vue-smooth-dnd'
|
|||||||
|
|
||||||
import { Actions, ActionButton, Modal } from '@nextcloud/vue'
|
import { Actions, ActionButton, Modal } from '@nextcloud/vue'
|
||||||
import { showError, showUndo } from '@nextcloud/dialogs'
|
import { showError, showUndo } from '@nextcloud/dialogs'
|
||||||
import CardItem from '../cards/CardItem'
|
import CardItem from '../cards/CardItem.vue'
|
||||||
|
|
||||||
import '@nextcloud/dialogs/styles/toast.scss'
|
import '@nextcloud/dialogs/styles/toast.scss'
|
||||||
import ArchiveIcon from 'vue-material-design-icons/Archive'
|
import ArchiveIcon from 'vue-material-design-icons/Archive'
|
||||||
|
|||||||
@@ -70,7 +70,7 @@
|
|||||||
<script>
|
<script>
|
||||||
|
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
import Color from '../../mixins/color'
|
import Color from '../../mixins/color.js'
|
||||||
import { ColorPicker, Actions, ActionButton } from '@nextcloud/vue'
|
import { ColorPicker, Actions, ActionButton } from '@nextcloud/vue'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import ActivityList from '../ActivityList'
|
import ActivityList from '../ActivityList.vue'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'TimelineTabSidebar',
|
name: 'TimelineTabSidebar',
|
||||||
|
|||||||
@@ -43,8 +43,8 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
import BoardItem from './BoardItem'
|
import BoardItem from './BoardItem.vue'
|
||||||
import Controls from '../Controls'
|
import Controls from '../Controls.vue'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Boards',
|
name: 'Boards',
|
||||||
|
|||||||
@@ -104,15 +104,16 @@
|
|||||||
<script>
|
<script>
|
||||||
import axios from '@nextcloud/axios'
|
import axios from '@nextcloud/axios'
|
||||||
import { Actions, ActionButton, ActionLink } from '@nextcloud/vue'
|
import { Actions, ActionButton, ActionLink } from '@nextcloud/vue'
|
||||||
import AttachmentDragAndDrop from '../AttachmentDragAndDrop'
|
|
||||||
import relativeDate from '../../mixins/relativeDate'
|
|
||||||
import { formatFileSize } from '@nextcloud/files'
|
import { formatFileSize } from '@nextcloud/files'
|
||||||
import { getCurrentUser } from '@nextcloud/auth'
|
import { getCurrentUser } from '@nextcloud/auth'
|
||||||
import { generateUrl, generateOcsUrl, generateRemoteUrl } from '@nextcloud/router'
|
import { generateUrl, generateOcsUrl, generateRemoteUrl } from '@nextcloud/router'
|
||||||
import { mapState, mapActions } from 'vuex'
|
import { mapState, mapActions } from 'vuex'
|
||||||
import { loadState } from '@nextcloud/initial-state'
|
import { loadState } from '@nextcloud/initial-state'
|
||||||
import attachmentUpload from '../../mixins/attachmentUpload'
|
|
||||||
import { getFilePickerBuilder } from '@nextcloud/dialogs'
|
import { getFilePickerBuilder } from '@nextcloud/dialogs'
|
||||||
|
import AttachmentDragAndDrop from '../AttachmentDragAndDrop.vue'
|
||||||
|
import relativeDate from '../../mixins/relativeDate.js'
|
||||||
|
import attachmentUpload from '../../mixins/attachmentUpload.js'
|
||||||
|
|
||||||
const maxUploadSizeState = loadState('deck', 'maxUploadSize')
|
const maxUploadSizeState = loadState('deck', 'maxUploadSize')
|
||||||
|
|
||||||
const picker = getFilePickerBuilder(t('deck', 'File to share'))
|
const picker = getFilePickerBuilder(t('deck', 'File to share'))
|
||||||
|
|||||||
@@ -84,17 +84,16 @@
|
|||||||
<script>
|
<script>
|
||||||
import { ActionButton, AppSidebar, AppSidebarTab } from '@nextcloud/vue'
|
import { ActionButton, AppSidebar, AppSidebarTab } from '@nextcloud/vue'
|
||||||
import { generateUrl } from '@nextcloud/router'
|
import { generateUrl } from '@nextcloud/router'
|
||||||
import { mapState, mapGetters } from 'vuex'
|
|
||||||
import CardSidebarTabDetails from './CardSidebarTabDetails'
|
|
||||||
import CardSidebarTabAttachments from './CardSidebarTabAttachments'
|
|
||||||
import CardSidebarTabComments from './CardSidebarTabComments'
|
|
||||||
import CardSidebarTabActivity from './CardSidebarTabActivity'
|
|
||||||
import relativeDate from '../../mixins/relativeDate'
|
|
||||||
import moment from '@nextcloud/moment'
|
|
||||||
import AttachmentIcon from 'vue-material-design-icons/Paperclip.vue'
|
|
||||||
|
|
||||||
import { showError } from '@nextcloud/dialogs'
|
import { showError } from '@nextcloud/dialogs'
|
||||||
import { getLocale } from '@nextcloud/l10n'
|
import { getLocale } from '@nextcloud/l10n'
|
||||||
|
import moment from '@nextcloud/moment'
|
||||||
|
import { mapState, mapGetters } from 'vuex'
|
||||||
|
import AttachmentIcon from 'vue-material-design-icons/Paperclip.vue'
|
||||||
|
import CardSidebarTabDetails from './CardSidebarTabDetails.vue'
|
||||||
|
import CardSidebarTabAttachments from './CardSidebarTabAttachments.vue'
|
||||||
|
import CardSidebarTabComments from './CardSidebarTabComments.vue'
|
||||||
|
import CardSidebarTabActivity from './CardSidebarTabActivity.vue'
|
||||||
|
import relativeDate from '../../mixins/relativeDate.js'
|
||||||
|
|
||||||
const capabilities = window.OC.getCapabilities()
|
const capabilities = window.OC.getCapabilities()
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import ActivityList from '../ActivityList'
|
import ActivityList from '../ActivityList.vue'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'CardSidebarTabActivity',
|
name: 'CardSidebarTabActivity',
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import AttachmentList from './AttachmentList'
|
import AttachmentList from './AttachmentList.vue'
|
||||||
export default {
|
export default {
|
||||||
name: 'CardSidebarTabAttachments',
|
name: 'CardSidebarTabAttachments',
|
||||||
components: {
|
components: {
|
||||||
|
|||||||
@@ -36,8 +36,8 @@
|
|||||||
<script>
|
<script>
|
||||||
import { mapState, mapGetters } from 'vuex'
|
import { mapState, mapGetters } from 'vuex'
|
||||||
import { Avatar } from '@nextcloud/vue'
|
import { Avatar } from '@nextcloud/vue'
|
||||||
import CommentItem from './CommentItem'
|
import CommentItem from './CommentItem.vue'
|
||||||
import CommentForm from './CommentForm'
|
import CommentForm from './CommentForm.vue'
|
||||||
import InfiniteLoading from 'vue-infinite-loading'
|
import InfiniteLoading from 'vue-infinite-loading'
|
||||||
import { getCurrentUser } from '@nextcloud/auth'
|
import { getCurrentUser } from '@nextcloud/auth'
|
||||||
|
|
||||||
|
|||||||
@@ -128,14 +128,14 @@ import moment from '@nextcloud/moment'
|
|||||||
import { Avatar, Actions, ActionButton, Multiselect, DatetimePicker } from '@nextcloud/vue'
|
import { Avatar, Actions, ActionButton, Multiselect, DatetimePicker } from '@nextcloud/vue'
|
||||||
|
|
||||||
import { CollectionList } from 'nextcloud-vue-collections'
|
import { CollectionList } from 'nextcloud-vue-collections'
|
||||||
import Color from '../../mixins/color'
|
import Color from '../../mixins/color.js'
|
||||||
import {
|
import {
|
||||||
getLocale,
|
getLocale,
|
||||||
getDayNamesMin,
|
getDayNamesMin,
|
||||||
getFirstDay,
|
getFirstDay,
|
||||||
getMonthNamesShort,
|
getMonthNamesShort,
|
||||||
} from '@nextcloud/l10n'
|
} from '@nextcloud/l10n'
|
||||||
import Description from './Description'
|
import Description from './Description.vue'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'CardSidebarTabDetails',
|
name: 'CardSidebarTabDetails',
|
||||||
|
|||||||
@@ -65,7 +65,7 @@
|
|||||||
import { mapState } from 'vuex'
|
import { mapState } from 'vuex'
|
||||||
import { UserBubble, Avatar } from '@nextcloud/vue'
|
import { UserBubble, Avatar } from '@nextcloud/vue'
|
||||||
import At from 'vue-at'
|
import At from 'vue-at'
|
||||||
import { rawToParsed } from '../../helpers/mentions'
|
import { rawToParsed } from '../../helpers/mentions.js'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'CommentForm',
|
name: 'CommentForm',
|
||||||
|
|||||||
@@ -66,10 +66,10 @@
|
|||||||
<script>
|
<script>
|
||||||
import { Avatar, Actions, ActionButton, UserBubble } from '@nextcloud/vue'
|
import { Avatar, Actions, ActionButton, UserBubble } from '@nextcloud/vue'
|
||||||
import RichText from '@juliushaertl/vue-richtext'
|
import RichText from '@juliushaertl/vue-richtext'
|
||||||
import CommentForm from './CommentForm'
|
import CommentForm from './CommentForm.vue'
|
||||||
import { getCurrentUser } from '@nextcloud/auth'
|
import { getCurrentUser } from '@nextcloud/auth'
|
||||||
import md5 from 'blueimp-md5'
|
import md5 from 'blueimp-md5'
|
||||||
import relativeDate from '../../mixins/relativeDate'
|
import relativeDate from '../../mixins/relativeDate.js'
|
||||||
import ReplyIcon from 'vue-material-design-icons/Reply'
|
import ReplyIcon from 'vue-material-design-icons/Reply'
|
||||||
|
|
||||||
const AtMention = {
|
const AtMention = {
|
||||||
|
|||||||
@@ -48,10 +48,12 @@
|
|||||||
</Actions>
|
</Actions>
|
||||||
</h5>
|
</h5>
|
||||||
|
|
||||||
|
<!-- eslint-disable vue/no-v-html -->
|
||||||
<div v-if="!descriptionEditing && hasDescription"
|
<div v-if="!descriptionEditing && hasDescription"
|
||||||
id="description-preview"
|
id="description-preview"
|
||||||
@click="clickedPreview"
|
@click="clickedPreview"
|
||||||
v-html="renderedDescription" />
|
v-html="renderedDescription" />
|
||||||
|
<!-- eslint-enable -->
|
||||||
<p v-else-if="!descriptionEditing" class="placeholder" @click="showEditor()">
|
<p v-else-if="!descriptionEditing" class="placeholder" @click="showEditor()">
|
||||||
{{ t('deck', 'Write a description …') }}
|
{{ t('deck', 'Write a description …') }}
|
||||||
</p>
|
</p>
|
||||||
@@ -78,7 +80,7 @@
|
|||||||
import MarkdownIt from 'markdown-it'
|
import MarkdownIt from 'markdown-it'
|
||||||
import MarkdownItTaskLists from 'markdown-it-task-lists'
|
import MarkdownItTaskLists from 'markdown-it-task-lists'
|
||||||
import MarkdownItLinkAttributes from 'markdown-it-link-attributes'
|
import MarkdownItLinkAttributes from 'markdown-it-link-attributes'
|
||||||
import AttachmentList from './AttachmentList'
|
import AttachmentList from './AttachmentList.vue'
|
||||||
import { Actions, ActionButton, Modal } from '@nextcloud/vue'
|
import { Actions, ActionButton, Modal } from '@nextcloud/vue'
|
||||||
import { formatFileSize } from '@nextcloud/files'
|
import { formatFileSize } from '@nextcloud/files'
|
||||||
import { generateUrl } from '@nextcloud/router'
|
import { generateUrl } from '@nextcloud/router'
|
||||||
|
|||||||
@@ -49,8 +49,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import AvatarList from './AvatarList'
|
import AvatarList from './AvatarList.vue'
|
||||||
import CardMenu from './CardMenu'
|
import CardMenu from './CardMenu.vue'
|
||||||
import TextIcon from 'vue-material-design-icons/Text.vue'
|
import TextIcon from 'vue-material-design-icons/Text.vue'
|
||||||
import AttachmentIcon from 'vue-material-design-icons/Paperclip.vue'
|
import AttachmentIcon from 'vue-material-design-icons/Paperclip.vue'
|
||||||
import CheckmarkIcon from 'vue-material-design-icons/CheckboxMarked.vue'
|
import CheckmarkIcon from 'vue-material-design-icons/CheckboxMarked.vue'
|
||||||
|
|||||||
@@ -79,12 +79,12 @@
|
|||||||
<script>
|
<script>
|
||||||
import ClickOutside from 'vue-click-outside'
|
import ClickOutside from 'vue-click-outside'
|
||||||
import { mapState, mapGetters } from 'vuex'
|
import { mapState, mapGetters } from 'vuex'
|
||||||
import CardBadges from './CardBadges'
|
import CardBadges from './CardBadges.vue'
|
||||||
import Color from '../../mixins/color'
|
import Color from '../../mixins/color.js'
|
||||||
import labelStyle from '../../mixins/labelStyle'
|
import labelStyle from '../../mixins/labelStyle.js'
|
||||||
import AttachmentDragAndDrop from '../AttachmentDragAndDrop'
|
import AttachmentDragAndDrop from '../AttachmentDragAndDrop.vue'
|
||||||
import CardMenu from './CardMenu'
|
import CardMenu from './CardMenu.vue'
|
||||||
import DueDate from './badges/DueDate'
|
import DueDate from './badges/DueDate.vue'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'CardItem',
|
name: 'CardItem',
|
||||||
|
|||||||
@@ -96,8 +96,8 @@ import axios from '@nextcloud/axios'
|
|||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
import ClickOutside from 'vue-click-outside'
|
import ClickOutside from 'vue-click-outside'
|
||||||
import { AppNavigation as AppNavigationVue, AppNavigationItem, AppNavigationSettings, Multiselect } from '@nextcloud/vue'
|
import { AppNavigation as AppNavigationVue, AppNavigationItem, AppNavigationSettings, Multiselect } from '@nextcloud/vue'
|
||||||
import AppNavigationAddBoard from './AppNavigationAddBoard'
|
import AppNavigationAddBoard from './AppNavigationAddBoard.vue'
|
||||||
import AppNavigationBoardCategory from './AppNavigationBoardCategory'
|
import AppNavigationBoardCategory from './AppNavigationBoardCategory.vue'
|
||||||
import { loadState } from '@nextcloud/initial-state'
|
import { loadState } from '@nextcloud/initial-state'
|
||||||
import { generateOcsUrl } from '@nextcloud/router'
|
import { generateOcsUrl } from '@nextcloud/router'
|
||||||
import { getCurrentUser } from '@nextcloud/auth'
|
import { getCurrentUser } from '@nextcloud/auth'
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import AppNavigationBoard from './AppNavigationBoard'
|
import AppNavigationBoard from './AppNavigationBoard.vue'
|
||||||
import { AppNavigationItem } from '@nextcloud/vue'
|
import { AppNavigationItem } from '@nextcloud/vue'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|||||||
@@ -80,11 +80,11 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
import Controls from '../Controls'
|
import Controls from '../Controls.vue'
|
||||||
import CardItem from '../cards/CardItem'
|
import CardItem from '../cards/CardItem.vue'
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
import moment from '@nextcloud/moment'
|
import moment from '@nextcloud/moment'
|
||||||
import GlobalSearchResults from '../search/GlobalSearchResults'
|
import GlobalSearchResults from '../search/GlobalSearchResults.vue'
|
||||||
|
|
||||||
const FILTER_UPCOMING = 'upcoming'
|
const FILTER_UPCOMING = 'upcoming'
|
||||||
|
|
||||||
|
|||||||
@@ -52,13 +52,13 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import CardItem from '../cards/CardItem'
|
import CardItem from '../cards/CardItem.vue'
|
||||||
import { mapState } from 'vuex'
|
import { mapState } from 'vuex'
|
||||||
import axios from '@nextcloud/axios'
|
import axios from '@nextcloud/axios'
|
||||||
import { generateOcsUrl } from '@nextcloud/router'
|
import { generateOcsUrl } from '@nextcloud/router'
|
||||||
import InfiniteLoading from 'vue-infinite-loading'
|
import InfiniteLoading from 'vue-infinite-loading'
|
||||||
import RichText from '@juliushaertl/vue-richtext'
|
import RichText from '@juliushaertl/vue-richtext'
|
||||||
import Placeholder from './Placeholder'
|
import Placeholder from './Placeholder.vue'
|
||||||
import { Actions, ActionButton } from '@nextcloud/vue'
|
import { Actions, ActionButton } from '@nextcloud/vue'
|
||||||
|
|
||||||
const createCancelToken = () => axios.CancelToken.source()
|
const createCancelToken = () => axios.CancelToken.source()
|
||||||
|
|||||||
@@ -23,8 +23,8 @@
|
|||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
|
|
||||||
import './../css/collections.css'
|
import './../css/collections.css'
|
||||||
import FileSharingPicker from './views/FileSharingPicker'
|
import FileSharingPicker from './views/FileSharingPicker.js'
|
||||||
import { buildSelector } from './helpers/selector'
|
import { buildSelector } from './helpers/selector.js'
|
||||||
|
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line
|
||||||
__webpack_nonce__ = btoa(OC.requestToken);
|
__webpack_nonce__ = btoa(OC.requestToken);
|
||||||
@@ -44,7 +44,7 @@ window.addEventListener('DOMContentLoaded', () => {
|
|||||||
|
|
||||||
window.OCP.Collaboration.registerType('deck', {
|
window.OCP.Collaboration.registerType('deck', {
|
||||||
action: () => {
|
action: () => {
|
||||||
const BoardSelector = () => import('./BoardSelector')
|
const BoardSelector = () => import('./BoardSelector.vue')
|
||||||
return buildSelector(BoardSelector)
|
return buildSelector(BoardSelector)
|
||||||
},
|
},
|
||||||
typeString: t('deck', 'Link to a board'),
|
typeString: t('deck', 'Link to a board'),
|
||||||
@@ -53,7 +53,7 @@ window.addEventListener('DOMContentLoaded', () => {
|
|||||||
|
|
||||||
window.OCP.Collaboration.registerType('deck-card', {
|
window.OCP.Collaboration.registerType('deck-card', {
|
||||||
action: () => {
|
action: () => {
|
||||||
const CardSelector = () => import('./CardSelector')
|
const CardSelector = () => import('./CardSelector.vue')
|
||||||
return buildSelector(CardSelector)
|
return buildSelector(CardSelector)
|
||||||
},
|
},
|
||||||
typeString: t('deck', 'Link to a card'),
|
typeString: t('deck', 'Link to a card'),
|
||||||
|
|||||||
@@ -21,9 +21,9 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import Vuex from 'vuex'
|
import Vuex, { Store } from 'vuex'
|
||||||
|
|
||||||
import overview from './store/overview'
|
import overview from './store/overview.js'
|
||||||
|
|
||||||
import './css/dashboard.scss'
|
import './css/dashboard.scss'
|
||||||
|
|
||||||
@@ -33,7 +33,7 @@ Vue.use(Vuex)
|
|||||||
|
|
||||||
const debug = process.env.NODE_ENV !== 'production'
|
const debug = process.env.NODE_ENV !== 'production'
|
||||||
|
|
||||||
const store = new Vuex.Store({
|
const store = new Store({
|
||||||
modules: {
|
modules: {
|
||||||
overview,
|
overview,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -23,9 +23,9 @@
|
|||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import { generateUrl } from '@nextcloud/router'
|
import { generateUrl } from '@nextcloud/router'
|
||||||
|
|
||||||
import CardCreateDialog from './CardCreateDialog'
|
import CardCreateDialog from './CardCreateDialog.vue'
|
||||||
import { buildSelector } from './helpers/selector'
|
import { buildSelector } from './helpers/selector.js'
|
||||||
import './init-collections'
|
import './init-collections.js'
|
||||||
|
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line
|
||||||
__webpack_nonce__ = btoa(OC.requestToken);
|
__webpack_nonce__ = btoa(OC.requestToken);
|
||||||
|
|||||||
@@ -20,9 +20,6 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import App from './App'
|
|
||||||
import router from './router'
|
|
||||||
import store from './store/main'
|
|
||||||
import { sync } from 'vuex-router-sync'
|
import { sync } from 'vuex-router-sync'
|
||||||
import { translate, translatePlural } from '@nextcloud/l10n'
|
import { translate, translatePlural } from '@nextcloud/l10n'
|
||||||
import { generateFilePath } from '@nextcloud/router'
|
import { generateFilePath } from '@nextcloud/router'
|
||||||
@@ -30,7 +27,10 @@ import { showError } from '@nextcloud/dialogs'
|
|||||||
import { subscribe } from '@nextcloud/event-bus'
|
import { subscribe } from '@nextcloud/event-bus'
|
||||||
import { Tooltip } from '@nextcloud/vue'
|
import { Tooltip } from '@nextcloud/vue'
|
||||||
import ClickOutside from 'vue-click-outside'
|
import ClickOutside from 'vue-click-outside'
|
||||||
import './models'
|
import App from './App.vue'
|
||||||
|
import router from './router.js'
|
||||||
|
import store from './store/main.js'
|
||||||
|
import './models/index.js'
|
||||||
|
|
||||||
// the server snap.js conflicts with vertical scrolling so we disable it
|
// the server snap.js conflicts with vertical scrolling so we disable it
|
||||||
document.body.setAttribute('data-snap-ignore', 'true')
|
document.body.setAttribute('data-snap-ignore', 'true')
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import Color from './color'
|
import Color from './color.js'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
mixins: [Color],
|
mixins: [Color],
|
||||||
|
|||||||
@@ -23,13 +23,13 @@
|
|||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import Router from 'vue-router'
|
import Router from 'vue-router'
|
||||||
import { generateUrl } from '@nextcloud/router'
|
import { generateUrl } from '@nextcloud/router'
|
||||||
import { BOARD_FILTERS } from './store/main'
|
import { BOARD_FILTERS } from './store/main.js'
|
||||||
import Boards from './components/boards/Boards'
|
import Boards from './components/boards/Boards.vue'
|
||||||
import Board from './components/board/Board'
|
import Board from './components/board/Board.vue'
|
||||||
import Sidebar from './components/Sidebar'
|
import Sidebar from './components/Sidebar.vue'
|
||||||
import BoardSidebar from './components/board/BoardSidebar'
|
import BoardSidebar from './components/board/BoardSidebar.vue'
|
||||||
import CardSidebar from './components/card/CardSidebar'
|
import CardSidebar from './components/card/CardSidebar.vue'
|
||||||
import Overview from './components/overview/Overview'
|
import Overview from './components/overview/Overview.vue'
|
||||||
|
|
||||||
Vue.use(Router)
|
Vue.use(Router)
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
import axios from '@nextcloud/axios'
|
import axios from '@nextcloud/axios'
|
||||||
import { generateUrl } from '@nextcloud/router'
|
import { generateUrl } from '@nextcloud/router'
|
||||||
import './../models'
|
import './../models/index.js'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class handles all the api communication with the Deck backend.
|
* This class handles all the api communication with the Deck backend.
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
import axios from '@nextcloud/axios'
|
import axios from '@nextcloud/axios'
|
||||||
import { generateUrl } from '@nextcloud/router'
|
import { generateUrl } from '@nextcloud/router'
|
||||||
import './../models'
|
import './../models/index.js'
|
||||||
|
|
||||||
export class StackApi {
|
export class StackApi {
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { AttachmentApi } from './../services/AttachmentApi'
|
import { AttachmentApi } from './../services/AttachmentApi.js'
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
|
|
||||||
const apiClient = new AttachmentApi()
|
const apiClient = new AttachmentApi()
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { CardApi } from './../services/CardApi'
|
import { CardApi } from './../services/CardApi.js'
|
||||||
import moment from 'moment'
|
import moment from 'moment'
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { CommentApi } from '../services/CommentApi'
|
import { CommentApi } from '../services/CommentApi.js'
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
|
|
||||||
const apiClient = new CommentApi()
|
const apiClient = new CommentApi()
|
||||||
|
|||||||
@@ -24,17 +24,17 @@ import 'url-search-params-polyfill'
|
|||||||
|
|
||||||
import { loadState } from '@nextcloud/initial-state'
|
import { loadState } from '@nextcloud/initial-state'
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import Vuex from 'vuex'
|
import Vuex, { Store } from 'vuex'
|
||||||
import axios from '@nextcloud/axios'
|
import axios from '@nextcloud/axios'
|
||||||
import { generateOcsUrl, generateUrl } from '@nextcloud/router'
|
import { generateOcsUrl, generateUrl } from '@nextcloud/router'
|
||||||
import { BoardApi } from '../services/BoardApi'
|
import { BoardApi } from '../services/BoardApi.js'
|
||||||
import actions from './actions'
|
import actions from './actions.js'
|
||||||
import stack from './stack'
|
import stack from './stack.js'
|
||||||
import card from './card'
|
import card from './card.js'
|
||||||
import comment from './comment'
|
import comment from './comment.js'
|
||||||
import trashbin from './trashbin'
|
import trashbin from './trashbin.js'
|
||||||
import attachment from './attachment'
|
import attachment from './attachment.js'
|
||||||
import overview from './overview'
|
import overview from './overview.js'
|
||||||
Vue.use(Vuex)
|
Vue.use(Vuex)
|
||||||
|
|
||||||
const apiClient = new BoardApi()
|
const apiClient = new BoardApi()
|
||||||
@@ -46,7 +46,7 @@ export const BOARD_FILTERS = {
|
|||||||
SHARED: 'shared',
|
SHARED: 'shared',
|
||||||
}
|
}
|
||||||
|
|
||||||
export default new Vuex.Store({
|
export default new Store({
|
||||||
modules: {
|
modules: {
|
||||||
actions,
|
actions,
|
||||||
stack,
|
stack,
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import Vuex from 'vuex'
|
import Vuex from 'vuex'
|
||||||
import { OverviewApi } from '../services/OverviewApi'
|
import { OverviewApi } from '../services/OverviewApi.js'
|
||||||
Vue.use(Vuex)
|
Vue.use(Vuex)
|
||||||
|
|
||||||
const apiClient = new OverviewApi()
|
const apiClient = new OverviewApi()
|
||||||
|
|||||||
@@ -21,8 +21,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import { StackApi } from './../services/StackApi'
|
import { StackApi } from './../services/StackApi.js'
|
||||||
import applyOrderToArray from './../helpers/applyOrderToArray'
|
import applyOrderToArray from './../helpers/applyOrderToArray.js'
|
||||||
|
|
||||||
const apiClient = new StackApi()
|
const apiClient = new StackApi()
|
||||||
|
|
||||||
|
|||||||
@@ -20,8 +20,8 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { StackApi } from '../services/StackApi'
|
import { StackApi } from '../services/StackApi.js'
|
||||||
import { CardApi } from '../services/CardApi'
|
import { CardApi } from '../services/CardApi.js'
|
||||||
|
|
||||||
const stackApi = new StackApi()
|
const stackApi = new StackApi()
|
||||||
const cardApi = new CardApi()
|
const cardApi = new CardApi()
|
||||||
|
|||||||
@@ -59,10 +59,10 @@
|
|||||||
<script>
|
<script>
|
||||||
import { DashboardWidget } from '@nextcloud/vue-dashboard'
|
import { DashboardWidget } from '@nextcloud/vue-dashboard'
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
import labelStyle from './../mixins/labelStyle'
|
import labelStyle from './../mixins/labelStyle.js'
|
||||||
import DueDate from '../components/cards/badges/DueDate'
|
import DueDate from '../components/cards/badges/DueDate.vue'
|
||||||
import { generateUrl } from '@nextcloud/router'
|
import { generateUrl } from '@nextcloud/router'
|
||||||
import CardCreateDialog from '../CardCreateDialog'
|
import CardCreateDialog from '../CardCreateDialog.vue'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Dashboard',
|
name: 'Dashboard',
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import { createShare } from '../services/SharingApi'
|
import { createShare } from '../services/SharingApi.js'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
icon: 'icon-deck',
|
icon: 'icon-deck',
|
||||||
@@ -33,7 +33,7 @@ export default {
|
|||||||
container.id = 'deck-board-select'
|
container.id = 'deck-board-select'
|
||||||
const body = document.getElementById('body-user')
|
const body = document.getElementById('body-user')
|
||||||
body.append(container)
|
body.append(container)
|
||||||
const CardSelector = () => import('./../CardSelector')
|
const CardSelector = () => import('./../CardSelector.vue')
|
||||||
const ComponentVM = new Vue({
|
const ComponentVM = new Vue({
|
||||||
render: (h) => h(CardSelector, {
|
render: (h) => h(CardSelector, {
|
||||||
title: t('deck', 'Share {file} with a Deck card', { file: decodeURIComponent(self.fileInfo.name) }),
|
title: t('deck', 'Share {file} with a Deck card', { file: decodeURIComponent(self.fileInfo.name) }),
|
||||||
|
|||||||
Reference in New Issue
Block a user