mirror of
https://bitbucket.org/studiotem/jandl-taskmanager-app.git
synced 2026-10-21 14:29:34 +00:00
[server links] description
This commit is contained in:
1 parent
1b7315617f
commit
484eca5548
4 files changed
+71
-121
No files matched your search
@@ -1,26 +1,17 @@
|
||||
<template>
|
||||
<div class="px-5 py-5 border-bottom" v-if="description" >
|
||||
<p>Popis zadania</p>
|
||||
<section v-html="description" class="description-detail px-2 py-2 w-100 rounded mt-2" />
|
||||
</div>
|
||||
|
||||
<div v-if="masterTaskDescLinks?.length > 0" class="px-5 d-flex flex-column">
|
||||
<p class="py-3">Odkazy na server</p>
|
||||
<div v-for="index in masterTaskDescLinks" :key="index" class="server-links my-1 rounded-pill text-truncate position-relative">
|
||||
<a :href="index">{{ index }}</a>
|
||||
<p v-if="!copiedIndices.includes('subtask-' + index)" class="copy-btn" @click.stop="copyToClipboard('subtask-', index)">Copy</p>
|
||||
<p v-else class="copying-btn">Copied!</p>
|
||||
</div>
|
||||
<section v-html="preparedDescription" class="description-detail px-2 py-2 w-100 rounded mt-2" />
|
||||
</div>
|
||||
|
||||
<div class="px-5 py-5 border-bottom" v-if="inheritedDescription">
|
||||
<p>Popis mastertasku</p>
|
||||
<section v-html="inheritedDescription" class="description-detail px-2 py-2 w-100 rounded mt-2" />
|
||||
<section v-html="preparedInheritedDescription" class="description-detail px-2 py-2 w-100 rounded mt-2" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getServerLinks, detectOS } from '@/plugins/tm@_utils/server-links.utils'
|
||||
import { prepareHTMLDescription } from '@/plugins/tm@_utils/server-links.utils'
|
||||
|
||||
export default {
|
||||
props: {
|
||||
@@ -37,29 +28,15 @@ export default {
|
||||
|
||||
data() {
|
||||
return {
|
||||
copiedIndices: []
|
||||
copiedIndices: [],
|
||||
preparedDescription: '',
|
||||
preparedInheritedDescription: ''
|
||||
}
|
||||
},
|
||||
|
||||
computed: {
|
||||
masterTaskDescLinks() {
|
||||
return getServerLinks(this.description)
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
copyToClipboard(prefix, index) {
|
||||
const fullIndex = prefix + index
|
||||
const os = detectOS()
|
||||
navigator.clipboard.writeText(os + ': ' + index).then(() => {
|
||||
this.copiedIndices.push(fullIndex)
|
||||
setTimeout(() => {
|
||||
const idx = this.copiedIndices.indexOf(fullIndex)
|
||||
if (idx > -1)
|
||||
this.copiedIndices.splice(idx, 1)
|
||||
}, 1000)
|
||||
})
|
||||
}
|
||||
mounted() {
|
||||
this.preparedDescription = prepareHTMLDescription(this.description)
|
||||
this.preparedInheritedDescription = prepareHTMLDescription(this.inheritedDescription)
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -298,7 +298,7 @@ export default {
|
||||
async save() {
|
||||
if (this.mastertask.id) {
|
||||
this.mastertask.employees = this.mastertask.employees.map(employee => {
|
||||
const { duration } = this.mastertask.subtasks.find(({ employee_id }) => employee_id == employee.id)
|
||||
const { duration } = this.mastertask.subtasks.find(({ employee_id }) => employee_id == employee.id) || {}
|
||||
employee.duration = duration
|
||||
return employee
|
||||
})
|
||||
|
||||
@@ -1,35 +1,17 @@
|
||||
<template>
|
||||
<div class="px-5 py-5 border-bottom" v-if="description" >
|
||||
<p>Popis zadania</p>
|
||||
<section v-html="description" class="description-detail px-2 py-2 w-100 rounded mt-2" />
|
||||
</div>
|
||||
|
||||
<div v-if="subtaskDescLinks?.length > 0" class="px-5 d-flex flex-column">
|
||||
<p class="py-3">Odkazy na server</p>
|
||||
<div v-for="index in subtaskDescLinks" :key="'subtask-' + index" class="server-links my-1 rounded-pill text-truncate position-relative">
|
||||
<a :href="index">{{ index }}</a>
|
||||
<p v-if="!copiedIndices.includes('subtask-' + index)" class="copy-btn" @click.stop="copyToClipboard('subtask-', index)">Copy</p>
|
||||
<p v-else class="copying-btn">Copied!</p>
|
||||
</div>
|
||||
<section v-html="preparedDescription" class="description-detail px-2 py-2 w-100 rounded mt-2" />
|
||||
</div>
|
||||
|
||||
<div class="px-5 py-5 border-bottom" v-if="mastertaskDescription">
|
||||
<p>Popis mastertasku</p>
|
||||
<section v-html="mastertaskDescription" class="description-detail px-2 py-2 w-100 rounded mt-2" />
|
||||
</div>
|
||||
|
||||
<div v-if="subtaskMTDecsLinks?.length > 0" class="px-5 d-flex flex-column">
|
||||
<p class="py-3">Odkazy na server</p>
|
||||
<div v-for="index in subtaskMTDecsLinks" :key="'mastertask-' + index" class="server-links my-1 rounded-pill text-truncate position-relative">
|
||||
<a :href="index">{{ index }}</a>
|
||||
<p v-if="!copiedIndices.includes('mastertask-' + index)" class="copy-btn" @click.stop="copyToClipboard('mastertask-', index)">Copy</p>
|
||||
<p v-else class="copying-btn">Copied!</p>
|
||||
</div>
|
||||
<section v-html="preparedMastertaskDescription" class="description-detail px-2 py-2 w-100 rounded mt-2" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getServerLinks, detectOS } from '@/plugins/tm@_utils/server-links.utils'
|
||||
import { prepareHTMLDescription } from '@/plugins/tm@_utils/server-links.utils'
|
||||
|
||||
export default {
|
||||
props: {
|
||||
@@ -46,33 +28,15 @@ export default {
|
||||
|
||||
data() {
|
||||
return {
|
||||
copiedIndices: []
|
||||
copiedIndices: [],
|
||||
preparedDescription: '',
|
||||
preparedMastertaskDescription: ''
|
||||
}
|
||||
},
|
||||
|
||||
computed: {
|
||||
subtaskDescLinks() {
|
||||
return getServerLinks(this.description)
|
||||
},
|
||||
|
||||
subtaskMTDecsLinks() {
|
||||
return getServerLinks(this.mastertaskDescription)
|
||||
}
|
||||
mounted() {
|
||||
this.preparedDescription = prepareHTMLDescription(this.description)
|
||||
this.preparedMastertaskDescription = prepareHTMLDescription(this.mastertaskDescription)
|
||||
},
|
||||
|
||||
methods: {
|
||||
copyToClipboard(prefix, index) {
|
||||
const fullIndex = prefix + index
|
||||
const os = detectOS()
|
||||
navigator.clipboard.writeText(os + ': ' + index).then(() => {
|
||||
this.copiedIndices.push(fullIndex)
|
||||
setTimeout(() => {
|
||||
const idx = this.copiedIndices.indexOf(fullIndex)
|
||||
if (idx > -1)
|
||||
this.copiedIndices.splice(idx, 1)
|
||||
}, 1000)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
Reference in new issue
Block a user