Update dependencies (#40)
This commit is contained in:
parent
ce1a524429
commit
11d9aaae12
11 changed files with 1993 additions and 2431 deletions
|
@ -14,7 +14,7 @@ steps:
|
||||||
pull: true
|
pull: true
|
||||||
group: build-static
|
group: build-static
|
||||||
commands:
|
commands:
|
||||||
- yarn
|
- yarn --frozen-lockfile
|
||||||
- yarn run lint
|
- yarn run lint
|
||||||
- yarn run build
|
- yarn run build
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ steps:
|
||||||
pull: true
|
pull: true
|
||||||
group: build-static
|
group: build-static
|
||||||
commands:
|
commands:
|
||||||
- yarn
|
- yarn --frozen-lockfile
|
||||||
- yarn run lint
|
- yarn run lint
|
||||||
- "echo '{\"VIKUNJA_API_BASE_URL\": \"/api/v1/\"}' > /drone/src/public/config.json" # Override config
|
- "echo '{\"VIKUNJA_API_BASE_URL\": \"/api/v1/\"}' > /drone/src/public/config.json" # Override config
|
||||||
- yarn run build
|
- yarn run build
|
||||||
|
@ -89,7 +89,7 @@ steps:
|
||||||
pull: true
|
pull: true
|
||||||
group: build-static
|
group: build-static
|
||||||
commands:
|
commands:
|
||||||
- yarn
|
- yarn --frozen-lockfile
|
||||||
- yarn run lint
|
- yarn run lint
|
||||||
- "echo '{\"VIKUNJA_API_BASE_URL\": \"/api/v1/\"}' > /drone/src/public/config.json" # Override config
|
- "echo '{\"VIKUNJA_API_BASE_URL\": \"/api/v1/\"}' > /drone/src/public/config.json" # Override config
|
||||||
- yarn run build
|
- yarn run build
|
||||||
|
|
43
package.json
43
package.json
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "vikunja-frontend",
|
"name": "vikunja-frontend",
|
||||||
"version": "0.8.0",
|
"version": "0.10.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"serve": "vue-cli-service serve",
|
"serve": "vue-cli-service serve",
|
||||||
|
@ -8,13 +8,13 @@
|
||||||
"lint": "vue-cli-service lint"
|
"lint": "vue-cli-service lint"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bulma": "^0.7.1",
|
"bulma": "^0.8.0",
|
||||||
"copy-to-clipboard": "^3.2.0",
|
"copy-to-clipboard": "^3.2.0",
|
||||||
"lodash": "^4.17.11",
|
"lodash": "^4.17.15",
|
||||||
"register-service-worker": "^1.6.2",
|
"register-service-worker": "^1.6.2",
|
||||||
"v-tooltip": "^2.0.0-rc.33",
|
"v-tooltip": "^2.0.2",
|
||||||
"verte": "^0.0.12",
|
"verte": "^0.0.12",
|
||||||
"vue": "^2.5.17",
|
"vue": "^2.6.11",
|
||||||
"vue-drag-resize": "^1.3.2",
|
"vue-drag-resize": "^1.3.2",
|
||||||
"vue-easymde": "^1.0.1"
|
"vue-easymde": "^1.0.1"
|
||||||
},
|
},
|
||||||
|
@ -22,23 +22,24 @@
|
||||||
"@fortawesome/fontawesome-svg-core": "^1",
|
"@fortawesome/fontawesome-svg-core": "^1",
|
||||||
"@fortawesome/free-regular-svg-icons": "^5",
|
"@fortawesome/free-regular-svg-icons": "^5",
|
||||||
"@fortawesome/free-solid-svg-icons": "^5",
|
"@fortawesome/free-solid-svg-icons": "^5",
|
||||||
"@fortawesome/vue-fontawesome": "^0.1.1",
|
"@fortawesome/vue-fontawesome": "^0.1.9",
|
||||||
"@vue/cli": "^4.0.1",
|
"@vue/cli": "^4.1.1",
|
||||||
"@vue/cli-plugin-babel": "^3.0.1",
|
"@vue/cli-plugin-babel": "^4.1.1",
|
||||||
"@vue/cli-plugin-eslint": "^3.0.1",
|
"@vue/cli-plugin-eslint": "^4.1.1",
|
||||||
"@vue/cli-plugin-pwa": "^4.0.0",
|
"@vue/cli-plugin-pwa": "^4.1.1",
|
||||||
"@vue/cli-service": "^3.9.2",
|
"@vue/cli-service": "^4.1.1",
|
||||||
"axios": "^0.19.0",
|
"axios": "^0.19.0",
|
||||||
"bulmaswatch": "^0.7.1",
|
"babel-eslint": "^10.0.3",
|
||||||
"i": "^0.3.6",
|
"core-js": "^3.5.0",
|
||||||
"node-sass": "^4.9.3",
|
"eslint": "^6.7.2",
|
||||||
"npm": "^6.13.4",
|
"eslint-plugin-vue": "^6.0.1",
|
||||||
"sass-loader": "^7.1.0",
|
"node-sass": "^4.13.0",
|
||||||
"vue-flatpickr-component": "^8.1.2",
|
"sass-loader": "^8.0.0",
|
||||||
"vue-multiselect": "^2.1.0",
|
"vue-flatpickr-component": "^8.1.5",
|
||||||
"vue-notification": "^1.3.13",
|
"vue-multiselect": "^2.1.6",
|
||||||
"vue-router": "^3.0.1",
|
"vue-notification": "^1.3.20",
|
||||||
"vue-template-compiler": "^2.5.17"
|
"vue-router": "^3.1.3",
|
||||||
|
"vue-template-compiler": "^2.6.11"
|
||||||
},
|
},
|
||||||
"eslintConfig": {
|
"eslintConfig": {
|
||||||
"root": true,
|
"root": true,
|
||||||
|
|
|
@ -12,7 +12,10 @@
|
||||||
VueEasymde
|
VueEasymde
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
value: '',
|
value: {
|
||||||
|
type: String,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -128,10 +128,22 @@
|
||||||
export default {
|
export default {
|
||||||
name: 'userTeamShare',
|
name: 'userTeamShare',
|
||||||
props: {
|
props: {
|
||||||
type: '',
|
type: {
|
||||||
shareType: '',
|
type: String,
|
||||||
id: 0,
|
default: '',
|
||||||
userIsAdmin: false,
|
},
|
||||||
|
shareType: {
|
||||||
|
type: String,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
id: {
|
||||||
|
type: Number,
|
||||||
|
default: 0,
|
||||||
|
},
|
||||||
|
userIsAdmin: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
</template>
|
</template>
|
||||||
<div class="spinner" :class="{ 'is-loading': taskService.loading}"></div>
|
<div class="spinner" :class="{ 'is-loading': taskService.loading}"></div>
|
||||||
<div class="tasks" v-if="tasks && tasks.length > 0">
|
<div class="tasks" v-if="tasks && tasks.length > 0">
|
||||||
<div @click="gotoList(l.listID)" class="task" v-for="l in tasks" :key="l.id" v-if="!l.done">
|
<div @click="gotoList(l.listID)" class="task" v-for="l in undoneTasks" :key="l.id">
|
||||||
<label :for="l.id">
|
<label :for="l.id">
|
||||||
<div class="fancycheckbox">
|
<div class="fancycheckbox">
|
||||||
<input type="checkbox" :id="l.id" :checked="l.done" style="display: none;" disabled>
|
<input type="checkbox" :id="l.id" :checked="l.done" style="display: none;" disabled>
|
||||||
|
@ -56,6 +56,11 @@
|
||||||
this.taskService = new TaskService()
|
this.taskService = new TaskService()
|
||||||
this.loadPendingTasks()
|
this.loadPendingTasks()
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
undoneTasks: function () {
|
||||||
|
return this.tasks.filter(t => !t.done)
|
||||||
|
}
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
loadPendingTasks() {
|
loadPendingTasks() {
|
||||||
let params = {sort_by: 'due_date_unix', order_by: 'desc'}
|
let params = {sort_by: 'due_date_unix', order_by: 'desc'}
|
||||||
|
|
|
@ -252,14 +252,12 @@
|
||||||
import ListModel from '../../models/list'
|
import ListModel from '../../models/list'
|
||||||
import NamespaceModel from '../../models/namespace'
|
import NamespaceModel from '../../models/namespace'
|
||||||
|
|
||||||
import PriorityLabel from './reusable/priorityLabel'
|
|
||||||
import priorites from '../../models/priorities'
|
import priorites from '../../models/priorities'
|
||||||
|
|
||||||
import flatPickr from 'vue-flatpickr-component'
|
import flatPickr from 'vue-flatpickr-component'
|
||||||
import 'flatpickr/dist/flatpickr.css'
|
import 'flatpickr/dist/flatpickr.css'
|
||||||
import PrioritySelect from './reusable/prioritySelect'
|
import PrioritySelect from './reusable/prioritySelect'
|
||||||
import PercentDoneSelect from './reusable/percentDoneSelect'
|
import PercentDoneSelect from './reusable/percentDoneSelect'
|
||||||
import Easymde from '../global/easymde'
|
|
||||||
import EditLabels from './reusable/editLabels'
|
import EditLabels from './reusable/editLabels'
|
||||||
import EditAssignees from './reusable/editAssignees'
|
import EditAssignees from './reusable/editAssignees'
|
||||||
import Attachments from './reusable/attachments'
|
import Attachments from './reusable/attachments'
|
||||||
|
@ -276,10 +274,8 @@
|
||||||
Attachments,
|
Attachments,
|
||||||
EditAssignees,
|
EditAssignees,
|
||||||
EditLabels,
|
EditLabels,
|
||||||
Easymde,
|
|
||||||
PercentDoneSelect,
|
PercentDoneSelect,
|
||||||
PrioritySelect,
|
PrioritySelect,
|
||||||
PriorityLabel,
|
|
||||||
flatPickr,
|
flatPickr,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
|
|
|
@ -137,7 +137,6 @@
|
||||||
import message from '../../message'
|
import message from '../../message'
|
||||||
import flatPickr from 'vue-flatpickr-component'
|
import flatPickr from 'vue-flatpickr-component'
|
||||||
import 'flatpickr/dist/flatpickr.css'
|
import 'flatpickr/dist/flatpickr.css'
|
||||||
import multiselect from 'vue-multiselect'
|
|
||||||
import verte from 'verte'
|
import verte from 'verte'
|
||||||
import 'verte/dist/verte.css'
|
import 'verte/dist/verte.css'
|
||||||
|
|
||||||
|
@ -185,7 +184,6 @@
|
||||||
PercentDoneSelect,
|
PercentDoneSelect,
|
||||||
PrioritySelect,
|
PrioritySelect,
|
||||||
flatPickr,
|
flatPickr,
|
||||||
multiselect,
|
|
||||||
verte,
|
verte,
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
select-label="Assign this user"
|
select-label="Assign this user"
|
||||||
:showNoOptions="false"
|
:showNoOptions="false"
|
||||||
>
|
>
|
||||||
<template slot="tag" slot-scope="{ option, remove }">
|
<template slot="tag" slot-scope="{ option }">
|
||||||
<user :user="option" :show-username="false" :avatar-size="30"/>
|
<user :user="option" :show-username="false" :avatar-size="30"/>
|
||||||
<a @click="removeAssignee(option)" class="remove-assignee">
|
<a @click="removeAssignee(option)" class="remove-assignee">
|
||||||
<icon icon="times"/>
|
<icon icon="times"/>
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
@tag="createAndAddLabel"
|
@tag="createAndAddLabel"
|
||||||
tag-placeholder="Add this as new label"
|
tag-placeholder="Add this as new label"
|
||||||
>
|
>
|
||||||
<template slot="tag" slot-scope="{ option, remove }">
|
<template slot="tag" slot-scope="{ option }">
|
||||||
<span class="tag"
|
<span class="tag"
|
||||||
:style="{'background': option.hex_color, 'color': option.textColor}">
|
:style="{'background': option.hex_color, 'color': option.textColor}">
|
||||||
<span>{{ option.title }}</span>
|
<span>{{ option.title }}</span>
|
||||||
|
|
|
@ -40,20 +40,22 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="related-tasks" v-for="(rts, kind ) in relatedTasks" :key="kind" v-if="rts.length > 0">
|
<div class="related-tasks" v-for="(rts, kind ) in relatedTasks" :key="kind">
|
||||||
<span class="title">{{ relationKinds[kind] }}</span>
|
<template v-if="rts.length > 0">
|
||||||
<div class="tasks noborder">
|
<span class="title">{{ relationKinds[kind] }}</span>
|
||||||
<div class="task" v-for="t in rts" :key="t.id">
|
<div class="tasks noborder">
|
||||||
<router-link :to="{ name: 'taskDetailView', params: { id: t.id } }">
|
<div class="task" v-for="t in rts" :key="t.id">
|
||||||
<span class="tasktext" :class="{ 'done': t.done}">
|
<router-link :to="{ name: 'taskDetailView', params: { id: t.id } }">
|
||||||
{{t.text}}
|
<span class="tasktext" :class="{ 'done': t.done}">
|
||||||
</span>
|
{{t.text}}
|
||||||
</router-link>
|
</span>
|
||||||
<a class="remove" @click="() => {showDeleteModal = true; relationToDelete = {relation_kind: kind, other_task_id: t.id}}">
|
</router-link>
|
||||||
<icon icon="trash-alt"/>
|
<a class="remove" @click="() => {showDeleteModal = true; relationToDelete = {relation_kind: kind, other_task_id: t.id}}">
|
||||||
</a>
|
<icon icon="trash-alt"/>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
<p v-if="showNoRelationsNotice && Object.keys(relatedTasks).length === 0" class="none">No task relations yet.</p>
|
<p v-if="showNoRelationsNotice && Object.keys(relatedTasks).length === 0" class="none">No task relations yet.</p>
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue