Compare commits
11 Commits
949176fd28
...
6fc64468e0
Author | SHA1 | Date |
---|---|---|
renovate | 6fc64468e0 | |
renovate | 01089f4f3d | |
kolaente | a7461d1ddd | |
kolaente | a451189bb6 | |
kolaente | bf9af27fc3 | |
kolaente | 5619fda0f2 | |
kolaente | 167953b26b | |
kolaente | 664bf0a5f4 | |
kolaente | 5e991f3024 | |
kolaente | 28050d9cd5 | |
kolaente | e94b71d577 |
|
@ -541,6 +541,86 @@ describe('Task', () => {
|
||||||
.should('contain', 'Success')
|
.should('contain', 'Success')
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('Can set a due date to a specific date for a task', () => {
|
||||||
|
const tasks = TaskFactory.create(1, {
|
||||||
|
id: 1,
|
||||||
|
done: false,
|
||||||
|
})
|
||||||
|
cy.visit(`/tasks/${tasks[0].id}`)
|
||||||
|
|
||||||
|
cy.get('.task-view .action-buttons .button')
|
||||||
|
.contains('Set Due Date')
|
||||||
|
.click()
|
||||||
|
cy.get('.task-view .columns.details .column')
|
||||||
|
.contains('Due Date')
|
||||||
|
.get('.date-input .datepicker .show')
|
||||||
|
.click()
|
||||||
|
cy.get('.datepicker-popup .flatpickr-innerContainer .flatpickr-days .flatpickr-day.today')
|
||||||
|
.click()
|
||||||
|
cy.get('[data-cy="closeDatepicker"]')
|
||||||
|
.contains('Confirm')
|
||||||
|
.click()
|
||||||
|
|
||||||
|
const today = new Date()
|
||||||
|
const day = today.toLocaleString('default', {day: '2-digit'})
|
||||||
|
const month = today.toLocaleString('default', {month: 'short'})
|
||||||
|
const year = today.toLocaleString('default', {year: 'numeric'})
|
||||||
|
const date = `${day} ${month} ${year}, 12:00:00`
|
||||||
|
cy.get('.task-view .columns.details .column')
|
||||||
|
.contains('Due Date')
|
||||||
|
.get('.date-input .datepicker-popup')
|
||||||
|
.should('not.exist')
|
||||||
|
cy.get('.task-view .columns.details .column')
|
||||||
|
.contains('Due Date')
|
||||||
|
.get('.date-input')
|
||||||
|
.should('contain.text', date)
|
||||||
|
cy.get('.global-notification')
|
||||||
|
.should('contain', 'Success')
|
||||||
|
})
|
||||||
|
|
||||||
|
it('Can change a due date to a specific date for a task', () => {
|
||||||
|
const dueDate = new Date()
|
||||||
|
dueDate.setHours(12)
|
||||||
|
dueDate.setMinutes(0)
|
||||||
|
dueDate.setSeconds(0)
|
||||||
|
dueDate.setDate(1)
|
||||||
|
const tasks = TaskFactory.create(1, {
|
||||||
|
id: 1,
|
||||||
|
done: false,
|
||||||
|
due_date: dueDate.toISOString(),
|
||||||
|
})
|
||||||
|
cy.visit(`/tasks/${tasks[0].id}`)
|
||||||
|
|
||||||
|
cy.get('.task-view .action-buttons .button')
|
||||||
|
.contains('Set Due Date')
|
||||||
|
.click()
|
||||||
|
cy.get('.task-view .columns.details .column')
|
||||||
|
.contains('Due Date')
|
||||||
|
.get('.date-input .datepicker .show')
|
||||||
|
.click()
|
||||||
|
cy.get('.datepicker-popup .flatpickr-innerContainer .flatpickr-days .flatpickr-day.today')
|
||||||
|
.click()
|
||||||
|
cy.get('[data-cy="closeDatepicker"]')
|
||||||
|
.contains('Confirm')
|
||||||
|
.click()
|
||||||
|
|
||||||
|
const today = new Date()
|
||||||
|
const day = today.toLocaleString('default', {day: '2-digit'})
|
||||||
|
const month = today.toLocaleString('default', {month: 'short'})
|
||||||
|
const year = today.toLocaleString('default', {year: 'numeric'})
|
||||||
|
const date = `${day} ${month} ${year}, 12:00:00`
|
||||||
|
cy.get('.task-view .columns.details .column')
|
||||||
|
.contains('Due Date')
|
||||||
|
.get('.date-input .datepicker-popup')
|
||||||
|
.should('not.exist')
|
||||||
|
cy.get('.task-view .columns.details .column')
|
||||||
|
.contains('Due Date')
|
||||||
|
.get('.date-input')
|
||||||
|
.should('contain.text', date)
|
||||||
|
cy.get('.global-notification')
|
||||||
|
.should('contain', 'Success')
|
||||||
|
})
|
||||||
|
|
||||||
it('Can set a reminder', () => {
|
it('Can set a reminder', () => {
|
||||||
TaskReminderFactory.truncate()
|
TaskReminderFactory.truncate()
|
||||||
const tasks = TaskFactory.create(1, {
|
const tasks = TaskFactory.create(1, {
|
||||||
|
@ -645,7 +725,7 @@ describe('Task', () => {
|
||||||
.click()
|
.click()
|
||||||
cy.get('.reminder-options-popup .card-content .reminder-period input')
|
cy.get('.reminder-options-popup .card-content .reminder-period input')
|
||||||
.first()
|
.first()
|
||||||
.type('10')
|
.type('{selectall}10')
|
||||||
cy.get('.reminder-options-popup .card-content .reminder-period select')
|
cy.get('.reminder-options-popup .card-content .reminder-period select')
|
||||||
.first()
|
.first()
|
||||||
.select('days')
|
.select('days')
|
||||||
|
@ -771,7 +851,7 @@ describe('Task', () => {
|
||||||
.should('exist')
|
.should('exist')
|
||||||
})
|
})
|
||||||
|
|
||||||
it.only('Can check items off a checklist', () => {
|
it('Can check items off a checklist', () => {
|
||||||
const tasks = TaskFactory.create(1, {
|
const tasks = TaskFactory.create(1, {
|
||||||
id: 1,
|
id: 1,
|
||||||
description: `
|
description: `
|
||||||
|
@ -858,7 +938,7 @@ describe('Task', () => {
|
||||||
method: 'PUT',
|
method: 'PUT',
|
||||||
url: `${Cypress.env('API_URL')}/tasks/${tasks[0].id}/attachments`,
|
url: `${Cypress.env('API_URL')}/tasks/${tasks[0].id}/attachments`,
|
||||||
headers: {
|
headers: {
|
||||||
'Authorization': `Bearer ${window.localStorage.getItem('token')}`,
|
'Authorization': `Bearer ${window.localStorage.getItem('token')}`,
|
||||||
'Content-Type': 'multipart/form-data',
|
'Content-Type': 'multipart/form-data',
|
||||||
},
|
},
|
||||||
body: formData,
|
body: formData,
|
||||||
|
|
66
package.json
66
package.json
|
@ -55,39 +55,39 @@
|
||||||
"@kyvg/vue3-notification": "3.1.3",
|
"@kyvg/vue3-notification": "3.1.3",
|
||||||
"@sentry/tracing": "7.93.0",
|
"@sentry/tracing": "7.93.0",
|
||||||
"@sentry/vue": "7.93.0",
|
"@sentry/vue": "7.93.0",
|
||||||
"@tiptap/core": "2.1.15",
|
"@tiptap/core": "2.1.16",
|
||||||
"@tiptap/extension-blockquote": "2.1.15",
|
"@tiptap/extension-blockquote": "2.1.16",
|
||||||
"@tiptap/extension-bold": "2.1.15",
|
"@tiptap/extension-bold": "2.1.16",
|
||||||
"@tiptap/extension-bullet-list": "2.1.15",
|
"@tiptap/extension-bullet-list": "2.1.16",
|
||||||
"@tiptap/extension-code": "2.1.15",
|
"@tiptap/extension-code": "2.1.16",
|
||||||
"@tiptap/extension-code-block-lowlight": "2.1.15",
|
"@tiptap/extension-code-block-lowlight": "2.1.16",
|
||||||
"@tiptap/extension-document": "2.1.15",
|
"@tiptap/extension-document": "2.1.16",
|
||||||
"@tiptap/extension-dropcursor": "2.1.15",
|
"@tiptap/extension-dropcursor": "2.1.16",
|
||||||
"@tiptap/extension-gapcursor": "2.1.15",
|
"@tiptap/extension-gapcursor": "2.1.16",
|
||||||
"@tiptap/extension-hard-break": "2.1.15",
|
"@tiptap/extension-hard-break": "2.1.16",
|
||||||
"@tiptap/extension-heading": "2.1.15",
|
"@tiptap/extension-heading": "2.1.16",
|
||||||
"@tiptap/extension-history": "2.1.15",
|
"@tiptap/extension-history": "2.1.16",
|
||||||
"@tiptap/extension-horizontal-rule": "2.1.15",
|
"@tiptap/extension-horizontal-rule": "2.1.16",
|
||||||
"@tiptap/extension-image": "2.1.15",
|
"@tiptap/extension-image": "2.1.16",
|
||||||
"@tiptap/extension-italic": "2.1.15",
|
"@tiptap/extension-italic": "2.1.16",
|
||||||
"@tiptap/extension-link": "2.1.15",
|
"@tiptap/extension-link": "2.1.16",
|
||||||
"@tiptap/extension-list-item": "2.1.15",
|
"@tiptap/extension-list-item": "2.1.16",
|
||||||
"@tiptap/extension-ordered-list": "2.1.15",
|
"@tiptap/extension-ordered-list": "2.1.16",
|
||||||
"@tiptap/extension-paragraph": "2.1.15",
|
"@tiptap/extension-paragraph": "2.1.16",
|
||||||
"@tiptap/extension-placeholder": "2.1.15",
|
"@tiptap/extension-placeholder": "2.1.16",
|
||||||
"@tiptap/extension-strike": "2.1.15",
|
"@tiptap/extension-strike": "2.1.16",
|
||||||
"@tiptap/extension-table": "2.1.15",
|
"@tiptap/extension-table": "2.1.16",
|
||||||
"@tiptap/extension-table-cell": "2.1.15",
|
"@tiptap/extension-table-cell": "2.1.16",
|
||||||
"@tiptap/extension-table-header": "2.1.15",
|
"@tiptap/extension-table-header": "2.1.16",
|
||||||
"@tiptap/extension-table-row": "2.1.15",
|
"@tiptap/extension-table-row": "2.1.16",
|
||||||
"@tiptap/extension-task-item": "2.1.15",
|
"@tiptap/extension-task-item": "2.1.16",
|
||||||
"@tiptap/extension-task-list": "2.1.15",
|
"@tiptap/extension-task-list": "2.1.16",
|
||||||
"@tiptap/extension-text": "2.1.15",
|
"@tiptap/extension-text": "2.1.16",
|
||||||
"@tiptap/extension-typography": "2.1.15",
|
"@tiptap/extension-typography": "2.1.16",
|
||||||
"@tiptap/extension-underline": "2.1.15",
|
"@tiptap/extension-underline": "2.1.16",
|
||||||
"@tiptap/pm": "2.1.15",
|
"@tiptap/pm": "2.1.16",
|
||||||
"@tiptap/suggestion": "2.1.15",
|
"@tiptap/suggestion": "2.1.16",
|
||||||
"@tiptap/vue-3": "2.1.15",
|
"@tiptap/vue-3": "2.1.16",
|
||||||
"@types/is-touch-device": "1.0.2",
|
"@types/is-touch-device": "1.0.2",
|
||||||
"@types/lodash.clonedeep": "4.5.9",
|
"@types/lodash.clonedeep": "4.5.9",
|
||||||
"@vueuse/core": "10.7.1",
|
"@vueuse/core": "10.7.1",
|
||||||
|
|
404
pnpm-lock.yaml
404
pnpm-lock.yaml
|
@ -41,104 +41,104 @@ dependencies:
|
||||||
specifier: 7.93.0
|
specifier: 7.93.0
|
||||||
version: 7.93.0(vue@3.4.8)
|
version: 7.93.0(vue@3.4.8)
|
||||||
'@tiptap/core':
|
'@tiptap/core':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/pm@2.1.15)
|
version: 2.1.16(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/extension-blockquote':
|
'@tiptap/extension-blockquote':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)
|
||||||
'@tiptap/extension-bold':
|
'@tiptap/extension-bold':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)
|
||||||
'@tiptap/extension-bullet-list':
|
'@tiptap/extension-bullet-list':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)
|
||||||
'@tiptap/extension-code':
|
'@tiptap/extension-code':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)
|
||||||
'@tiptap/extension-code-block-lowlight':
|
'@tiptap/extension-code-block-lowlight':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)(@tiptap/extension-code-block@2.1.12)(@tiptap/pm@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)(@tiptap/extension-code-block@2.1.12)(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/extension-document':
|
'@tiptap/extension-document':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)
|
||||||
'@tiptap/extension-dropcursor':
|
'@tiptap/extension-dropcursor':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/extension-gapcursor':
|
'@tiptap/extension-gapcursor':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/extension-hard-break':
|
'@tiptap/extension-hard-break':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)
|
||||||
'@tiptap/extension-heading':
|
'@tiptap/extension-heading':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)
|
||||||
'@tiptap/extension-history':
|
'@tiptap/extension-history':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/extension-horizontal-rule':
|
'@tiptap/extension-horizontal-rule':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/extension-image':
|
'@tiptap/extension-image':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)
|
||||||
'@tiptap/extension-italic':
|
'@tiptap/extension-italic':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)
|
||||||
'@tiptap/extension-link':
|
'@tiptap/extension-link':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/extension-list-item':
|
'@tiptap/extension-list-item':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)
|
||||||
'@tiptap/extension-ordered-list':
|
'@tiptap/extension-ordered-list':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)
|
||||||
'@tiptap/extension-paragraph':
|
'@tiptap/extension-paragraph':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)
|
||||||
'@tiptap/extension-placeholder':
|
'@tiptap/extension-placeholder':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/extension-strike':
|
'@tiptap/extension-strike':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)
|
||||||
'@tiptap/extension-table':
|
'@tiptap/extension-table':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/extension-table-cell':
|
'@tiptap/extension-table-cell':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)
|
||||||
'@tiptap/extension-table-header':
|
'@tiptap/extension-table-header':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)
|
||||||
'@tiptap/extension-table-row':
|
'@tiptap/extension-table-row':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)
|
||||||
'@tiptap/extension-task-item':
|
'@tiptap/extension-task-item':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/extension-task-list':
|
'@tiptap/extension-task-list':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)
|
||||||
'@tiptap/extension-text':
|
'@tiptap/extension-text':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)
|
||||||
'@tiptap/extension-typography':
|
'@tiptap/extension-typography':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)
|
||||||
'@tiptap/extension-underline':
|
'@tiptap/extension-underline':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)
|
||||||
'@tiptap/pm':
|
'@tiptap/pm':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15
|
version: 2.1.16
|
||||||
'@tiptap/suggestion':
|
'@tiptap/suggestion':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
|
version: 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/vue-3':
|
'@tiptap/vue-3':
|
||||||
specifier: 2.1.15
|
specifier: 2.1.16
|
||||||
version: 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)(vue@3.4.8)
|
version: 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)(vue@3.4.8)
|
||||||
'@types/is-touch-device':
|
'@types/is-touch-device':
|
||||||
specifier: 1.0.2
|
specifier: 1.0.2
|
||||||
version: 1.0.2
|
version: 1.0.2
|
||||||
|
@ -295,8 +295,8 @@ devDependencies:
|
||||||
specifier: 5.2.0
|
specifier: 5.2.0
|
||||||
version: 5.2.0(terser@5.24.0)(vite@5.0.11)
|
version: 5.2.0(terser@5.24.0)(vite@5.0.11)
|
||||||
'@vitejs/plugin-vue':
|
'@vitejs/plugin-vue':
|
||||||
specifier: 4.6.2
|
specifier: 5.0.3
|
||||||
version: 4.6.2(vite@5.0.11)(vue@3.4.8)
|
version: 5.0.3(vite@5.0.11)(vue@3.4.8)
|
||||||
'@vue/eslint-config-typescript':
|
'@vue/eslint-config-typescript':
|
||||||
specifier: 12.0.0
|
specifier: 12.0.0
|
||||||
version: 12.0.0(eslint-plugin-vue@9.19.2)(eslint@8.56.0)(typescript@5.3.3)
|
version: 12.0.0(eslint-plugin-vue@9.19.2)(eslint@8.56.0)(typescript@5.3.3)
|
||||||
|
@ -334,8 +334,8 @@ devDependencies:
|
||||||
specifier: 9.19.2
|
specifier: 9.19.2
|
||||||
version: 9.19.2(eslint@8.56.0)
|
version: 9.19.2(eslint@8.56.0)
|
||||||
happy-dom:
|
happy-dom:
|
||||||
specifier: 12.10.3
|
specifier: 13.1.4
|
||||||
version: 12.10.3
|
version: 13.1.4
|
||||||
histoire:
|
histoire:
|
||||||
specifier: 0.17.6
|
specifier: 0.17.6
|
||||||
version: 0.17.6(@types/node@20.10.8)(sass@1.69.7)(terser@5.24.0)(vite@5.0.11)
|
version: 0.17.6(@types/node@20.10.8)(sass@1.69.7)(terser@5.24.0)(vite@5.0.11)
|
||||||
|
@ -386,7 +386,7 @@ devDependencies:
|
||||||
version: 5.1.0(vue@3.4.8)
|
version: 5.1.0(vue@3.4.8)
|
||||||
vitest:
|
vitest:
|
||||||
specifier: 1.1.3
|
specifier: 1.1.3
|
||||||
version: 1.1.3(@types/node@20.10.8)(happy-dom@12.10.3)(sass@1.69.7)(terser@5.24.0)
|
version: 1.1.3(@types/node@20.10.8)(happy-dom@13.1.4)(sass@1.69.7)(terser@5.24.0)
|
||||||
vue-tsc:
|
vue-tsc:
|
||||||
specifier: 1.8.27
|
specifier: 1.8.27
|
||||||
version: 1.8.27(typescript@5.3.3)
|
version: 1.8.27(typescript@5.3.3)
|
||||||
|
@ -4369,301 +4369,301 @@ packages:
|
||||||
defer-to-connect: 1.1.3
|
defer-to-connect: 1.1.3
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@tiptap/core@2.1.15(@tiptap/pm@2.1.15):
|
/@tiptap/core@2.1.16(@tiptap/pm@2.1.16):
|
||||||
resolution: {integrity: sha512-bsSUOQ9/OrQ3O4OFrMzjbCcShwHUS0w71DZoZTkOElnUFK2fu6IjDh8kbZyIxMW+sWuvLK/KePLdHOKOl1l/3Q==}
|
resolution: {integrity: sha512-nKnV603UyzbcrqhCXTWxDN22Ujb4VNfmKkACms1JOMGo7BVARmMCp2nBsLW8fmgCxmf8AS0LXY63tU7ILWYc5g==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/pm': ^2.0.0
|
'@tiptap/pm': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/pm': 2.1.15
|
'@tiptap/pm': 2.1.16
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-blockquote@2.1.15(@tiptap/core@2.1.15):
|
/@tiptap/extension-blockquote@2.1.16(@tiptap/core@2.1.16):
|
||||||
resolution: {integrity: sha512-H7zKKL85ZefhXS0ye3YYCUemStcs3PQLuSznR/T/KX3ds7AMhHbfRx3nRbMYYUT2dHd0DVVrhgdQPu4HhwbZVQ==}
|
resolution: {integrity: sha512-1OMk8cBrL0VnbnzD3XHx7U4oMDCiXRR7Spfl9JqwC9pS4RosOUBySNxpEBwhSegB0pK6sd7m44qLqj00If+cHA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-bold@2.1.15(@tiptap/core@2.1.15):
|
/@tiptap/extension-bold@2.1.16(@tiptap/core@2.1.16):
|
||||||
resolution: {integrity: sha512-bGaRXldgZaf7fGwuD0nFuwhxOPLhSa9cqkq4zOUHEQ0LAdXAqAtOe7ftF2Er7bHTd9kp6bvVvcNSWKi+PTTApw==}
|
resolution: {integrity: sha512-gz2VrBkRRsGBiOHx1qB++VUfpuRdhJp6jlgNqqHFbIkjKr2NB+u7oiH5SbjlL4eG0wlam1QA4jAkXhZgdvkA4g==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-bubble-menu@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
|
/@tiptap/extension-bubble-menu@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
|
||||||
resolution: {integrity: sha512-nHTeIYKruau6KL7fh1pvWBrzVXH1YE7S96RPPQ6dNwZjb9F3tXNVrIpPhR3Pafhy4LGHYvWYiZekc3Ir0dM4aQ==}
|
resolution: {integrity: sha512-MwKCmu2kU7+Xln/BvlrolU2hCXgoCoTr4NXJ+3v8A9w7tIq8leADoWacfEee2t3VNnGdXw/Xjza+DAr77JWjGg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
'@tiptap/pm': ^2.0.0
|
'@tiptap/pm': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/pm': 2.1.15
|
'@tiptap/pm': 2.1.16
|
||||||
tippy.js: 6.3.7
|
tippy.js: 6.3.7
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-bullet-list@2.1.15(@tiptap/core@2.1.15):
|
/@tiptap/extension-bullet-list@2.1.16(@tiptap/core@2.1.16):
|
||||||
resolution: {integrity: sha512-xRJK7s2Nr47VgCfCzhQ5X5uYZPIARWS9HddFyDzlUK5fJbW9ISQ0HEl2y1eEAUqG+l0l/1o6HuBu4A4EkGMUQA==}
|
resolution: {integrity: sha512-Cheaep5JShO9TtRslrOObSVKtRQFKozou2ZWDas5sIeef/A/GWPfVTzusfBGE/ItHwZNaDXwJOoVnSUPT8ulfw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-code-block-lowlight@2.1.15(@tiptap/core@2.1.15)(@tiptap/extension-code-block@2.1.12)(@tiptap/pm@2.1.15):
|
/@tiptap/extension-code-block-lowlight@2.1.16(@tiptap/core@2.1.16)(@tiptap/extension-code-block@2.1.12)(@tiptap/pm@2.1.16):
|
||||||
resolution: {integrity: sha512-/CvqgGrLz6gFacWfLbBrh6fBYCcr/nXXSWiAql68YofntjAzKjnrpVHmn9xriyrFnsRLRuhD+yNXaZAvt9U/VA==}
|
resolution: {integrity: sha512-tudlWkCcd+wrVot9yWQJLMd3Y6u5ma4tVDju3EEruzC/Tpf/Uoxj/HBoPIGT2L+l/O3Qq1OPeSkmeaW6qAdpPA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
'@tiptap/extension-code-block': ^2.0.0
|
'@tiptap/extension-code-block': ^2.0.0
|
||||||
'@tiptap/pm': ^2.0.0
|
'@tiptap/pm': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/extension-code-block': 2.1.12(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
|
'@tiptap/extension-code-block': 2.1.12(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/pm': 2.1.15
|
'@tiptap/pm': 2.1.16
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-code-block@2.1.12(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
|
/@tiptap/extension-code-block@2.1.12(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
|
||||||
resolution: {integrity: sha512-RXtSYCVsnk8D+K80uNZShClfZjvv1EgO42JlXLVGWQdIgaNyuOv/6I/Jdf+ZzhnpsBnHufW+6TJjwP5vJPSPHA==}
|
resolution: {integrity: sha512-RXtSYCVsnk8D+K80uNZShClfZjvv1EgO42JlXLVGWQdIgaNyuOv/6I/Jdf+ZzhnpsBnHufW+6TJjwP5vJPSPHA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
'@tiptap/pm': ^2.0.0
|
'@tiptap/pm': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/pm': 2.1.15
|
'@tiptap/pm': 2.1.16
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-code@2.1.15(@tiptap/core@2.1.15):
|
/@tiptap/extension-code@2.1.16(@tiptap/core@2.1.16):
|
||||||
resolution: {integrity: sha512-0IMHsTEuJ0AUXGLwJm60MdDSbflN2J8z/8ahFpw4qBGgJELXCSFCdGVW4QBd3A5QkAYsMZHfSOXhF1sTBIgM9Q==}
|
resolution: {integrity: sha512-2+fVfh3qQORgMRSZ6hn+yW5/rLzlulCzMhdL07G0lWY8/eWEv3p9DCfgw9AOHrrHFim8/MVWyRkrkBM/yHX9FA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-document@2.1.15(@tiptap/core@2.1.15):
|
/@tiptap/extension-document@2.1.16(@tiptap/core@2.1.16):
|
||||||
resolution: {integrity: sha512-rqlpCaVxjUmCqZhc8KYm3/21z8jhg3gphG0AO2MX78zyT0Wgw/EEDii1kFzFbTVj8VUV3JfaU1HWNVjK8hbDNQ==}
|
resolution: {integrity: sha512-VSOrzGnpI9dJDffFn3ZjmPKYkH/YtYeDl6nqLu7TafRqyLMSEqxxxq/+Qs/7j8jbzq6osslY0sySckSulroIOg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-dropcursor@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
|
/@tiptap/extension-dropcursor@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
|
||||||
resolution: {integrity: sha512-VTod6dGC2M1hy0suReUJu7f1raSAyROSKE+Hp1zTaRaEjnE8mW+2PtPLQ5CRHmdLgAD2k1dGRNnxnsO6aqX2jg==}
|
resolution: {integrity: sha512-voWEIAmxV3f9Q0gc3K89HRq8KFeOVtHJBRHYihZwxMnvq2aMIwdpCx0GbiCd4slQaBLd1ASJHz1uAigVhR2+uA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
'@tiptap/pm': ^2.0.0
|
'@tiptap/pm': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/pm': 2.1.15
|
'@tiptap/pm': 2.1.16
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-floating-menu@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
|
/@tiptap/extension-floating-menu@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
|
||||||
resolution: {integrity: sha512-2qrRE2HpF2vgYK72+CbT6xrhlShw4dS2xPV6kuXaYuBHR7tiyeGusCg7CXr7mZxIdTVj/+nNj3GCtST/+A7d5w==}
|
resolution: {integrity: sha512-VBT4HBhkKr9S1VExyTb/qfQyZ5F0VJLasUoH8E4kdq3deCeifmTTIOukuXK5QbicFHVQmY2epeU6+w5c/bAcHQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
'@tiptap/pm': ^2.0.0
|
'@tiptap/pm': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/pm': 2.1.15
|
'@tiptap/pm': 2.1.16
|
||||||
tippy.js: 6.3.7
|
tippy.js: 6.3.7
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-gapcursor@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
|
/@tiptap/extension-gapcursor@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
|
||||||
resolution: {integrity: sha512-92Vdnr7UHAjCNJXa1J61PVu7K68OW44o7pRPVwBujlPWZK9MgEJAOC0DNW3u4u+dqJu8fdrfnUXSrzzB/DCoLg==}
|
resolution: {integrity: sha512-Bgjo0da0W1QOhtnT3NR7GHPmVBZykNRekNGsTA3+nxCjkqh1G32Jt58TBKP3vdLBaww3lhrii0SYVErlFgIJnA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
'@tiptap/pm': ^2.0.0
|
'@tiptap/pm': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/pm': 2.1.15
|
'@tiptap/pm': 2.1.16
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-hard-break@2.1.15(@tiptap/core@2.1.15):
|
/@tiptap/extension-hard-break@2.1.16(@tiptap/core@2.1.16):
|
||||||
resolution: {integrity: sha512-vQvP6Nzc6KE1mmKZdwNAlB12/1HeBmgUFSJPevnDLVvnaxla1tri/GtBIYONhZK3zPPY2PPj4Dt+4JWgK0rn1g==}
|
resolution: {integrity: sha512-H3Bk8Gu5pV7xH8TrzH0WAoXrJVEKsDA6Evyl7H7aCAMAvotQL0ehuuX88bjPMCSAvBXZE39wYnJCJshGbVx0BA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-heading@2.1.15(@tiptap/core@2.1.15):
|
/@tiptap/extension-heading@2.1.16(@tiptap/core@2.1.16):
|
||||||
resolution: {integrity: sha512-3ck2+Xkke8IvLXDzYP1fw/GlWr0SZ1AnaNQvywobG4+WKc2HjhgBnHG9mZiCNvL3dXrSqSs2spBraoKYrMYBfA==}
|
resolution: {integrity: sha512-vFQuAAnIxDwKjTV+ScSwIaeG4Uhm1cZddnbLTru1EJfIz9VvpHDZKEyL4ZJvWuKMAhCzlw54TQhBCVHqalXyaA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-history@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
|
/@tiptap/extension-history@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
|
||||||
resolution: {integrity: sha512-KhCElkZJvNdOPxtCt+CzgxE2vIk+r4mnTay9+hC/6iVRcs24JTaDUihSwiC+lW0ot5zB1OxWUCLpgRnpJ9qdkA==}
|
resolution: {integrity: sha512-9YHPf8Xqqp5CQy1hJonkBzROj0ZHR1ZaIk9IaLlAPTpdkrUDXV9SC7qp3lozQsMg4vmU3K6H5VQo4ADpnR00OQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
'@tiptap/pm': ^2.0.0
|
'@tiptap/pm': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/pm': 2.1.15
|
'@tiptap/pm': 2.1.16
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-horizontal-rule@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
|
/@tiptap/extension-horizontal-rule@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
|
||||||
resolution: {integrity: sha512-vywkBeGMOe6Duk3aInVPF6iHjoHWTNVYK5DCrUVyegb+XKqDIuiRN5UjOZ/3fqAZ6lvuuIMF58ZsW5c+skrXNg==}
|
resolution: {integrity: sha512-Q+Zp0lJF7212YIuZnbMmn4KC1MZoZjQIuvSd+DOgCwKSeUcTXBbljDjOiN8yrY134r+A4fFM7KHTXWYqZGZQug==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
'@tiptap/pm': ^2.0.0
|
'@tiptap/pm': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/pm': 2.1.15
|
'@tiptap/pm': 2.1.16
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-image@2.1.15(@tiptap/core@2.1.15):
|
/@tiptap/extension-image@2.1.16(@tiptap/core@2.1.16):
|
||||||
resolution: {integrity: sha512-hAtCwSBP1F+I/kvDDV/fmLMlF7Xx1FmMZOekgQwMtbgMYGpgttpYUFqMxMFYN7ldsSOXzmxGEtlfc1Jq3f741w==}
|
resolution: {integrity: sha512-idvmJzdG/u9YDt/GOCvgQMB1p/GZbBqb2Spk8BhXHoBGHR4zFo609ExccXYKR4UWs0iTACDq80VwJvfHa8XYKw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-italic@2.1.15(@tiptap/core@2.1.15):
|
/@tiptap/extension-italic@2.1.16(@tiptap/core@2.1.16):
|
||||||
resolution: {integrity: sha512-8bNDAv3kvIb+bIsGq5az/rd5oIN3E3NSIx2x/FZ1LqMTVhBJ/mWRVZf8etV4O2oCRXiVPlUDXCEMWqDRxCzYgg==}
|
resolution: {integrity: sha512-6mFGPBGxd2aICJ5Q3zYxuXO8slKoOP/PsSjEQn1bjs3h8Q3mPxHX290ePVp728o5F0myM9sxKSz2V6/VeuS/Yw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-link@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
|
/@tiptap/extension-link@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
|
||||||
resolution: {integrity: sha512-mqjZws+8VyOl++pUeB2t4E/sCKhsxutLGVZY7yGRNdl30SfJirTf9hdcJRSpVkmI+9fiQ6Xnx081kCs7oaKZLw==}
|
resolution: {integrity: sha512-QIXYwxHi2kKU2sqDXngTpggO4ZmLm4vMxDlbWT9so1iUPAqQJW2ZRbdygFYy1txirWcoaJKocPwSJemyAeUzmw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
'@tiptap/pm': ^2.0.0
|
'@tiptap/pm': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/pm': 2.1.15
|
'@tiptap/pm': 2.1.16
|
||||||
linkifyjs: 4.1.1
|
linkifyjs: 4.1.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-list-item@2.1.15(@tiptap/core@2.1.15):
|
/@tiptap/extension-list-item@2.1.16(@tiptap/core@2.1.16):
|
||||||
resolution: {integrity: sha512-71/9rJ3gJPUt1lAf31FvpcYB8tvKyC93wKngl/GOfL5VSjOqrsNMne8hqsHzuEgu+uPElVHgSG3b5MLhxUU9TA==}
|
resolution: {integrity: sha512-RLUodzFispIe1adarCEzf+OfaGZna/WR/k/HqPnbflSiJ6/I2P5MqI+ELjGGvc53eanf3+KpsHlB2Pganp8sMA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-ordered-list@2.1.15(@tiptap/core@2.1.15):
|
/@tiptap/extension-ordered-list@2.1.16(@tiptap/core@2.1.16):
|
||||||
resolution: {integrity: sha512-AyhxEpc+7/TDeK4kK1kAVhmsNGEekmd3pa+Xfrajr+3w93QKJwwTdoXz9rFLj6rP8/2JWPMpxVF4DTO67olFWg==}
|
resolution: {integrity: sha512-6QLUm90wz2lfzWGV4fX5NOOFA8zKlcDBNrTeOd0V7H4fcafLmANqU/5o4LLNJmK8y8f1YAvmHr9xgciqggGJJA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-paragraph@2.1.15(@tiptap/core@2.1.15):
|
/@tiptap/extension-paragraph@2.1.16(@tiptap/core@2.1.16):
|
||||||
resolution: {integrity: sha512-QPpv+PR3LfOcRpWTDXvQ904yJ4+3AGNOCXAoW/I0qzW/rb0h1vTSUrknGGR6gzxaDwPsUqewVmxL/ZejO/EKfQ==}
|
resolution: {integrity: sha512-JwCKSFjBLd9xAmxLe7hf1h4AucDvkGTfDb/wA1jId64g+uf0/tm6RDjnk/QD+D2YzoLGFLjQm0GAdPXTmyTPdA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-placeholder@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
|
/@tiptap/extension-placeholder@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
|
||||||
resolution: {integrity: sha512-a6jtylXlUUl/GmPfbBf2pVHcm60RnZWVO5V2H/WTLzzzl+jUuPKeXyS3ISyaueCOSq9zEsvOQz+DQjiFsUEhdw==}
|
resolution: {integrity: sha512-C6xgWKn6LT7yhvz0RCHjzFxpstFCHUw2eXisrHlOz36SP/1EmGIBiKqJUP7ySSSQMgl4hzHDhj6W1KyGdsyYaA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
'@tiptap/pm': ^2.0.0
|
'@tiptap/pm': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/pm': 2.1.15
|
'@tiptap/pm': 2.1.16
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-strike@2.1.15(@tiptap/core@2.1.15):
|
/@tiptap/extension-strike@2.1.16(@tiptap/core@2.1.16):
|
||||||
resolution: {integrity: sha512-rGt/A8H5H1fFaxKFI7J8vNJOzUpgThDMSewuaHngGZN0+8Dd5opmXWUjwEEVqWWVP43L3uO8i8+d8V1/WPMV+Q==}
|
resolution: {integrity: sha512-Z1hmBK1QWMMGDV2MJ3KBDiMuzcScjyx88cP5ln5G7626Zxeqywf84KF+2WyHBzJWfwMWpAouzwHKe9ld39Vu1w==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-table-cell@2.1.15(@tiptap/core@2.1.15):
|
/@tiptap/extension-table-cell@2.1.16(@tiptap/core@2.1.16):
|
||||||
resolution: {integrity: sha512-s2hO3ZW+iszjBgKJlGapNY5N4DIcVVUpHrZngNzGmv0EbbLYCyFoGQKAaJhq0z335rW5Hq+k19BE0HKI3jc1pQ==}
|
resolution: {integrity: sha512-qHKQAfPSLaTb4A9f/++YPX4uC+F8LFxuNfgOIMzEJbPxSJ00KJp56YM1w0ctAJIZoxHWN7USRW6RYm995aLblg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-table-header@2.1.15(@tiptap/core@2.1.15):
|
/@tiptap/extension-table-header@2.1.16(@tiptap/core@2.1.16):
|
||||||
resolution: {integrity: sha512-5MmoT6ZmRzYZorXdqkiWaph02ZQBecoHd/vTpYMD1CwD7sEP+2Oij11jJq6URbvVDLEZU8LqT0wlC+Fo4O7J8A==}
|
resolution: {integrity: sha512-RIyHNPTUhLHSNMQnqGG1rd53qxIwVbnb3AIANDV/KWpaACDgAOLJvdH/+oRiVe5C9BlAw6l9kGDr8iBAhBdnWw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-table-row@2.1.15(@tiptap/core@2.1.15):
|
/@tiptap/extension-table-row@2.1.16(@tiptap/core@2.1.16):
|
||||||
resolution: {integrity: sha512-fKqXouDfHVZrpcbCPEluHiJOqkSfNHyqS+IA1DQvM/3kWpqfh8GMs7ZQJI2RGXmgqUul0sbDpB7jT3OD3cPhmw==}
|
resolution: {integrity: sha512-fVoNuef+YX7HyGpgljdphYdoxmbRjs/WJZDYsbXSmNaNc6I1jT9gpeBmRcVaB8oqrtIaE1GaR7u6Ricp4tpkVA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-table@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
|
/@tiptap/extension-table@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
|
||||||
resolution: {integrity: sha512-7mEytHrY7eLaJHyHNwC5l7IXHMTBF2HydCX/sF5Z3oNh63bCGWo/5NjvW6fjJd9B6KQ5yH5ec+gO7uPaf/555w==}
|
resolution: {integrity: sha512-Xvi0GyHYKBL3KQ5CiayDxjMecEIdokZDTjczPzDB1VYiHwM1/PFFWqJlhmSSOzGgcyjwV8/Pn6eumqM3rCqKFw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
'@tiptap/pm': ^2.0.0
|
'@tiptap/pm': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/pm': 2.1.15
|
'@tiptap/pm': 2.1.16
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-task-item@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
|
/@tiptap/extension-task-item@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
|
||||||
resolution: {integrity: sha512-0jjVlhDhfkfXN78310BAk9w+9q7+Xkvi53LsCyQGxaGkypDOjTdPLY94vmaopmjwkKhBRJFGYmGzc9zENMAWhA==}
|
resolution: {integrity: sha512-kqeoAPAh3TGhAiJMkFlVcRzI765MB4KzGL9fJEQY7oeZF8FG9mYcMlqD7SkpdmV5UOJ+uWByIca4yWwHoyBIUg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
'@tiptap/pm': ^2.0.0
|
'@tiptap/pm': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/pm': 2.1.15
|
'@tiptap/pm': 2.1.16
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-task-list@2.1.15(@tiptap/core@2.1.15):
|
/@tiptap/extension-task-list@2.1.16(@tiptap/core@2.1.16):
|
||||||
resolution: {integrity: sha512-E9YYoyRjJZRIZPDGaq7LIoz1loQ6Tz8Ri+EeObkf2GIKTohzLQz3GQk8mpuoLFWAr3P+VGEq2857aQFj2P9mNQ==}
|
resolution: {integrity: sha512-NZzjK8SN3LZcjnwHLiCYPrNRs4nqax+b36GqB1o4GC1Vqmkt8ynW+MII09i08LhBYVJSX2yzRKPE2RDhCeAWig==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-text@2.1.15(@tiptap/core@2.1.15):
|
/@tiptap/extension-text@2.1.16(@tiptap/core@2.1.16):
|
||||||
resolution: {integrity: sha512-TpYbSmJOItU0OkydnRgKFT0BpZpS4E1GC/rlpc7R3f+lL8VMuS7AnZKFQj8A7F8mEEWAWZtDIjLPvY3SztVtVg==}
|
resolution: {integrity: sha512-XzSJmAj32uYpaL/9FX3tRSU52DwZ9w+3yEffIcSN9MSwioqLsSolXOz7TuJfW6lSTar1ml9UPlRqX4dpayUTDQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-typography@2.1.15(@tiptap/core@2.1.15):
|
/@tiptap/extension-typography@2.1.16(@tiptap/core@2.1.16):
|
||||||
resolution: {integrity: sha512-oZ3KLj6VDHlFGhDHMGbj2u6JL3Svk3E3xMQD/ON3/WyHm0gv8L0i373cn1DgBddnLJTcYvQIDl/q1i1y3lCSng==}
|
resolution: {integrity: sha512-1lQzgcnviYV/wm78YB4CIuVI4is0bLGxxEjrDjOexEYINbBJAEESYeUZjwVyU7VKJRWO/0rpwtFJ7D/BVibMkQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/extension-underline@2.1.15(@tiptap/core@2.1.15):
|
/@tiptap/extension-underline@2.1.16(@tiptap/core@2.1.16):
|
||||||
resolution: {integrity: sha512-GennZVVC0QI7An7CRsnHykYPZnHAQWG8o8l+4Stg3UcGym7xH9tUv3JNxiDbjijw/jHDQVf7FJtjTNH749+4NA==}
|
resolution: {integrity: sha512-OXGzIlKz5fA9BRdqC+HOkLFfJULfq2kOXc0ipKLoUq5sNoMGvmxnJbgv+mczKCDoJR/F3NsDCHQXLmaW7AYvcw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/pm@2.1.15:
|
/@tiptap/pm@2.1.16:
|
||||||
resolution: {integrity: sha512-iQYr1XBWqrILzNYKWeCTmF83AhYKuONukIKf09QD2kLwlR2ZRca3NM4U3KFs3oHYt5xjdFrT95U8nmCIs10VEQ==}
|
resolution: {integrity: sha512-yibLkjtgbBSnWCXbDyKM5kgIGLfMvfbRfFzb8T0uz4PI/L54o0a4fiWSW5Fg10B5+o+NAXW2wMxoId8/Tw91lQ==}
|
||||||
dependencies:
|
dependencies:
|
||||||
prosemirror-changeset: 2.2.1
|
prosemirror-changeset: 2.2.1
|
||||||
prosemirror-collab: 1.3.1
|
prosemirror-collab: 1.3.1
|
||||||
|
@ -4685,27 +4685,27 @@ packages:
|
||||||
prosemirror-view: 1.32.1
|
prosemirror-view: 1.32.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/suggestion@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
|
/@tiptap/suggestion@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
|
||||||
resolution: {integrity: sha512-m2Hv4nOBKd1LTDCZFxRz8v9KSW+WmA0Z1XZTRRu4M8YkDlgTuzLuOTHwITa+zpUAHzuESgEATK+Pl2NyOqUv6g==}
|
resolution: {integrity: sha512-3kYgpT1oTSgjLesAU3rV3lkcqVRV9K520/tA1IhXAC+UsofUEkflXftoMnaJjwgEfKM3n87uJlyPFEUBiC7xYg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
'@tiptap/pm': ^2.0.0
|
'@tiptap/pm': ^2.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/pm': 2.1.15
|
'@tiptap/pm': 2.1.16
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tiptap/vue-3@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)(vue@3.4.8):
|
/@tiptap/vue-3@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)(vue@3.4.8):
|
||||||
resolution: {integrity: sha512-EubApxGbpAVD7+fQ9h0xSd/hbyDI+fF91LGHeBHEZA2gLX8XX3cSXRlPWcEYvvB1VeTfUfxnY912uVAGRm9m9Q==}
|
resolution: {integrity: sha512-pvfIsBAyFeZVllnl38DFX8X11XMvFcT2/vViAtkDwJpX2W/m/nmxOSlEnqmOEzC+sbFqk7bhKpBVElaROV+U0w==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^2.0.0
|
'@tiptap/core': ^2.0.0
|
||||||
'@tiptap/pm': ^2.0.0
|
'@tiptap/pm': ^2.0.0
|
||||||
vue: ^3.0.0
|
vue: ^3.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
|
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/extension-bubble-menu': 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
|
'@tiptap/extension-bubble-menu': 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/extension-floating-menu': 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
|
'@tiptap/extension-floating-menu': 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
|
||||||
'@tiptap/pm': 2.1.15
|
'@tiptap/pm': 2.1.16
|
||||||
vue: 3.4.8(typescript@5.3.3)
|
vue: 3.4.8(typescript@5.3.3)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
@ -5087,11 +5087,11 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@vitejs/plugin-vue@4.6.2(vite@5.0.11)(vue@3.4.8):
|
/@vitejs/plugin-vue@5.0.3(vite@5.0.11)(vue@3.4.8):
|
||||||
resolution: {integrity: sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==}
|
resolution: {integrity: sha512-b8S5dVS40rgHdDrw+DQi/xOM9ed+kSRZzfm1T74bMmBDCd8XO87NKlFYInzCtwvtWwXZvo1QxE2OSspTATWrbA==}
|
||||||
engines: {node: ^14.18.0 || >=16.0.0}
|
engines: {node: ^18.0.0 || >=20.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
vite: ^4.0.0 || ^5.0.0
|
vite: ^5.0.0
|
||||||
vue: ^3.2.25
|
vue: ^3.2.25
|
||||||
dependencies:
|
dependencies:
|
||||||
vite: 5.0.11(@types/node@20.10.8)(sass@1.69.7)(terser@5.24.0)
|
vite: 5.0.11(@types/node@20.10.8)(sass@1.69.7)(terser@5.24.0)
|
||||||
|
@ -7536,8 +7536,8 @@ packages:
|
||||||
strip-bom-string: 1.0.0
|
strip-bom-string: 1.0.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/happy-dom@12.10.3:
|
/happy-dom@13.1.4:
|
||||||
resolution: {integrity: sha512-JzUXOh0wdNGY54oKng5hliuBkq/+aT1V3YpTM+lrN/GoLQTANZsMaIvmHiHe612rauHvPJnDZkZ+5GZR++1Abg==}
|
resolution: {integrity: sha512-f8STa4iuJcpXn7YjgqBEemzinyPAdjlHMxlCNbIERdRIjJO9Z9Cj3XW5LuiEhsURFfl0AOWqj0hQitme4gq+Gg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
css.escape: 1.5.1
|
css.escape: 1.5.1
|
||||||
entities: 4.5.0
|
entities: 4.5.0
|
||||||
|
@ -11134,7 +11134,7 @@ packages:
|
||||||
fsevents: 2.3.3
|
fsevents: 2.3.3
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vitest@1.1.3(@types/node@20.10.8)(happy-dom@12.10.3)(sass@1.69.7)(terser@5.24.0):
|
/vitest@1.1.3(@types/node@20.10.8)(happy-dom@13.1.4)(sass@1.69.7)(terser@5.24.0):
|
||||||
resolution: {integrity: sha512-2l8om1NOkiA90/Y207PsEvJLYygddsOyr81wLQ20Ra8IlLKbyQncWsGZjnbkyG2KwwuTXLQjEPOJuxGMG8qJBQ==}
|
resolution: {integrity: sha512-2l8om1NOkiA90/Y207PsEvJLYygddsOyr81wLQ20Ra8IlLKbyQncWsGZjnbkyG2KwwuTXLQjEPOJuxGMG8qJBQ==}
|
||||||
engines: {node: ^18.0.0 || >=20.0.0}
|
engines: {node: ^18.0.0 || >=20.0.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
@ -11170,7 +11170,7 @@ packages:
|
||||||
chai: 4.3.10
|
chai: 4.3.10
|
||||||
debug: 4.3.4(supports-color@8.1.1)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
execa: 8.0.1
|
execa: 8.0.1
|
||||||
happy-dom: 12.10.3
|
happy-dom: 13.1.4
|
||||||
local-pkg: 0.5.0
|
local-pkg: 0.5.0
|
||||||
magic-string: 0.30.5
|
magic-string: 0.30.5
|
||||||
pathe: 1.1.1
|
pathe: 1.1.1
|
||||||
|
|
|
@ -4,6 +4,11 @@
|
||||||
"extends": [
|
"extends": [
|
||||||
"config:js-app"
|
"config:js-app"
|
||||||
],
|
],
|
||||||
|
"hostRules": [
|
||||||
|
{
|
||||||
|
"timeout": 600000
|
||||||
|
}
|
||||||
|
],
|
||||||
"packageRules": [
|
"packageRules": [
|
||||||
{
|
{
|
||||||
"matchPackageNames": ["happy-dom"],
|
"matchPackageNames": ["happy-dom"],
|
||||||
|
|
|
@ -128,9 +128,11 @@ const flatPickrDate = computed({
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
const oldDate = formatDate(date.value, 'yyy-LL-dd H:mm')
|
if (date.value !== null) {
|
||||||
if (oldDate !== newValue) {
|
const oldDate = formatDate(date.value, 'yyy-LL-dd H:mm')
|
||||||
return
|
if (oldDate === newValue) {
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
date.value = createDateFromString(newValue)
|
date.value = createDateFromString(newValue)
|
||||||
updateData()
|
updateData()
|
||||||
|
|
|
@ -110,7 +110,7 @@
|
||||||
v-tooltip="$t('input.editor.bulletList')"
|
v-tooltip="$t('input.editor.bulletList')"
|
||||||
>
|
>
|
||||||
<span class="icon">
|
<span class="icon">
|
||||||
<icon :icon="['fa', 'fa-list-ol']"/>
|
<icon :icon="['fa', 'fa-list-ul']"/>
|
||||||
</span>
|
</span>
|
||||||
</BaseButton>
|
</BaseButton>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
|
@ -120,7 +120,7 @@
|
||||||
v-tooltip="$t('input.editor.orderedList')"
|
v-tooltip="$t('input.editor.orderedList')"
|
||||||
>
|
>
|
||||||
<span class="icon">
|
<span class="icon">
|
||||||
<icon :icon="['fa', 'fa-list-ul']"/>
|
<icon :icon="['fa', 'fa-list-ol']"/>
|
||||||
</span>
|
</span>
|
||||||
</BaseButton>
|
</BaseButton>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
|
|
|
@ -671,36 +671,17 @@ watch(
|
||||||
line-height: 1.1;
|
line-height: 1.1;
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
|
||||||
color: #68cef8;
|
|
||||||
}
|
|
||||||
|
|
||||||
code {
|
code {
|
||||||
background-color: rgba(#616161, 0.1);
|
background-color: var(--grey-200);
|
||||||
color: #616161;
|
color: var(--grey-700);
|
||||||
}
|
}
|
||||||
|
|
||||||
pre {
|
pre {
|
||||||
background: #0d0d0d;
|
background: var(--grey-200);
|
||||||
color: #fff;
|
color: var(--grey-700);
|
||||||
font-family: 'JetBrainsMono', monospace;
|
font-family: 'JetBrainsMono', monospace;
|
||||||
padding: 0.75rem 1rem;
|
padding: 0.75rem 1rem;
|
||||||
border-radius: 0.5rem;
|
border-radius: $radius;
|
||||||
|
|
||||||
code {
|
|
||||||
color: inherit;
|
|
||||||
padding: 0;
|
|
||||||
background: none;
|
|
||||||
font-size: 0.8rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pre {
|
|
||||||
background: #0d0d0d;
|
|
||||||
color: #fff;
|
|
||||||
font-family: 'JetBrainsMono', monospace;
|
|
||||||
padding: 0.75rem 1rem;
|
|
||||||
border-radius: 0.5rem;
|
|
||||||
|
|
||||||
code {
|
code {
|
||||||
color: inherit;
|
color: inherit;
|
||||||
|
@ -711,7 +692,7 @@ watch(
|
||||||
|
|
||||||
.hljs-comment,
|
.hljs-comment,
|
||||||
.hljs-quote {
|
.hljs-quote {
|
||||||
color: #616161;
|
color: var(--grey-500);
|
||||||
}
|
}
|
||||||
|
|
||||||
.hljs-variable,
|
.hljs-variable,
|
||||||
|
@ -724,7 +705,7 @@ watch(
|
||||||
.hljs-name,
|
.hljs-name,
|
||||||
.hljs-selector-id,
|
.hljs-selector-id,
|
||||||
.hljs-selector-class {
|
.hljs-selector-class {
|
||||||
color: #f98181;
|
color: var(--code-variable);
|
||||||
}
|
}
|
||||||
|
|
||||||
.hljs-number,
|
.hljs-number,
|
||||||
|
@ -734,23 +715,23 @@ watch(
|
||||||
.hljs-literal,
|
.hljs-literal,
|
||||||
.hljs-type,
|
.hljs-type,
|
||||||
.hljs-params {
|
.hljs-params {
|
||||||
color: #fbbc88;
|
color: var(--code-literal);
|
||||||
}
|
}
|
||||||
|
|
||||||
.hljs-string,
|
.hljs-string,
|
||||||
.hljs-symbol,
|
.hljs-symbol,
|
||||||
.hljs-bullet {
|
.hljs-bullet {
|
||||||
color: #b9f18d;
|
color: var(--code-symbol);
|
||||||
}
|
}
|
||||||
|
|
||||||
.hljs-title,
|
.hljs-title,
|
||||||
.hljs-section {
|
.hljs-section {
|
||||||
color: #faf594;
|
color: var(--code-section);
|
||||||
}
|
}
|
||||||
|
|
||||||
.hljs-keyword,
|
.hljs-keyword,
|
||||||
.hljs-selector-tag {
|
.hljs-selector-tag {
|
||||||
color: #70cff8;
|
color: var(--code-keyword);
|
||||||
}
|
}
|
||||||
|
|
||||||
.hljs-emphasis {
|
.hljs-emphasis {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<slot name="trigger" :isOpen="open" :toggle="toggle"></slot>
|
<slot name="trigger" :isOpen="open" :toggle="toggle" :close="close"></slot>
|
||||||
<div
|
<div
|
||||||
class="popup"
|
class="popup"
|
||||||
:class="{
|
:class="{
|
||||||
|
@ -8,7 +8,7 @@
|
||||||
}"
|
}"
|
||||||
ref="popup"
|
ref="popup"
|
||||||
>
|
>
|
||||||
<slot name="content" :isOpen="open" :toggle="toggle"/>
|
<slot name="content" :isOpen="open" :toggle="toggle" :close="close"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
|
@ -51,6 +51,7 @@ import Multiselect from '@/components/input/multiselect.vue'
|
||||||
import type {ILabel} from '@/modelTypes/ILabel'
|
import type {ILabel} from '@/modelTypes/ILabel'
|
||||||
import {useLabelStore} from '@/stores/labels'
|
import {useLabelStore} from '@/stores/labels'
|
||||||
import {useTaskStore} from '@/stores/tasks'
|
import {useTaskStore} from '@/stores/tasks'
|
||||||
|
import {getRandomColorHex} from '@/helpers/color/randomColor'
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
modelValue: {
|
modelValue: {
|
||||||
|
@ -132,7 +133,10 @@ async function createAndAddLabel(title: string) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
const newLabel = await labelStore.createLabel(new LabelModel({title}))
|
const newLabel = await labelStore.createLabel(new LabelModel({
|
||||||
|
title,
|
||||||
|
hexColor: getRandomColorHex(),
|
||||||
|
}))
|
||||||
addLabel(newLabel, false)
|
addLabel(newLabel, false)
|
||||||
labels.value.push(newLabel)
|
labels.value.push(newLabel)
|
||||||
success({message: t('task.label.addCreateSuccess')})
|
success({message: t('task.label.addCreateSuccess')})
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
{{ reminderText }}
|
{{ reminderText }}
|
||||||
</SimpleButton>
|
</SimpleButton>
|
||||||
</template>
|
</template>
|
||||||
<template #content="{isOpen, toggle}">
|
<template #content="{isOpen, close}">
|
||||||
<Card class="reminder-options-popup" :class="{'is-open': isOpen}" :padding="false">
|
<Card class="reminder-options-popup" :class="{'is-open': isOpen}" :padding="false">
|
||||||
<div class="options" v-if="activeForm === null">
|
<div class="options" v-if="activeForm === null">
|
||||||
<SimpleButton
|
<SimpleButton
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
:key="k"
|
:key="k"
|
||||||
class="option-button"
|
class="option-button"
|
||||||
:class="{'currently-active': p.relativePeriod === modelValue?.relativePeriod && modelValue?.relativeTo === p.relativeTo}"
|
:class="{'currently-active': p.relativePeriod === modelValue?.relativePeriod && modelValue?.relativeTo === p.relativeTo}"
|
||||||
@click="setReminderFromPreset(p, toggle)"
|
@click="setReminderFromPreset(p, close)"
|
||||||
>
|
>
|
||||||
{{ formatReminder(p) }}
|
{{ formatReminder(p) }}
|
||||||
</SimpleButton>
|
</SimpleButton>
|
||||||
|
@ -40,20 +40,20 @@
|
||||||
<ReminderPeriod
|
<ReminderPeriod
|
||||||
v-if="activeForm === 'relative'"
|
v-if="activeForm === 'relative'"
|
||||||
v-model="reminder"
|
v-model="reminder"
|
||||||
@update:modelValue="updateDataAndMaybeClose(toggle)"
|
@update:modelValue="updateDataAndMaybeClose(close)"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<DatepickerInline
|
<DatepickerInline
|
||||||
v-if="activeForm === 'absolute'"
|
v-if="activeForm === 'absolute'"
|
||||||
v-model="reminderDate"
|
v-model="reminderDate"
|
||||||
@update:modelValue="setReminderDate(toggle)"
|
@update:modelValue="setReminderDate(close)"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<x-button
|
<x-button
|
||||||
v-if="showFormSwitch !== null"
|
v-if="showFormSwitch !== null"
|
||||||
class="reminder__close-button"
|
class="reminder__close-button"
|
||||||
:shadow="false"
|
:shadow="false"
|
||||||
@click="toggle"
|
@click="updateDataAndMaybeClose(close)"
|
||||||
>
|
>
|
||||||
{{ $t('misc.confirm') }}
|
{{ $t('misc.confirm') }}
|
||||||
</x-button>
|
</x-button>
|
||||||
|
@ -148,25 +148,26 @@ function updateData() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function setReminderDate(toggle) {
|
function setReminderDate(close) {
|
||||||
reminder.value.reminder = reminderDate.value === null
|
reminder.value.reminder = reminderDate.value === null
|
||||||
? null
|
? null
|
||||||
: new Date(reminderDate.value)
|
: new Date(reminderDate.value)
|
||||||
reminder.value.relativeTo = null
|
reminder.value.relativeTo = null
|
||||||
reminder.value.relativePeriod = 0
|
reminder.value.relativePeriod = 0
|
||||||
updateDataAndMaybeClose(toggle)
|
updateDataAndMaybeClose(close)
|
||||||
}
|
}
|
||||||
|
|
||||||
function setReminderFromPreset(preset, toggle) {
|
|
||||||
|
function setReminderFromPreset(preset, close) {
|
||||||
reminder.value = preset
|
reminder.value = preset
|
||||||
updateData()
|
updateData()
|
||||||
toggle()
|
close()
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateDataAndMaybeClose(toggle) {
|
function updateDataAndMaybeClose(close) {
|
||||||
updateData()
|
updateData()
|
||||||
if (clearAfterUpdate) {
|
if (clearAfterUpdate) {
|
||||||
toggle()
|
close()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -55,6 +55,7 @@ import TaskReminderModel from '@/models/taskReminder'
|
||||||
|
|
||||||
import type {ITaskReminder} from '@/modelTypes/ITaskReminder'
|
import type {ITaskReminder} from '@/modelTypes/ITaskReminder'
|
||||||
import {REMINDER_PERIOD_RELATIVE_TO_TYPES, type IReminderPeriodRelativeTo} from '@/types/IReminderPeriodRelativeTo'
|
import {REMINDER_PERIOD_RELATIVE_TO_TYPES, type IReminderPeriodRelativeTo} from '@/types/IReminderPeriodRelativeTo'
|
||||||
|
import {useDebounceFn} from '@vueuse/core'
|
||||||
|
|
||||||
const {
|
const {
|
||||||
modelValue,
|
modelValue,
|
||||||
|
@ -105,7 +106,7 @@ function updateData() {
|
||||||
reminder.value.relativeTo = period.value.relativeTo
|
reminder.value.relativeTo = period.value.relativeTo
|
||||||
reminder.value.reminder = null
|
reminder.value.reminder = null
|
||||||
|
|
||||||
emit('update:modelValue', reminder.value)
|
useDebounceFn(() => emit('update:modelValue', reminder.value), 1000)
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -288,6 +288,7 @@ async function markAsDone(checked: boolean) {
|
||||||
title: t('task.undo'),
|
title: t('task.undo'),
|
||||||
callback: () => undoDone(checked),
|
callback: () => undoDone(checked),
|
||||||
}])
|
}])
|
||||||
|
updateDueDate()
|
||||||
}
|
}
|
||||||
|
|
||||||
if (checked) {
|
if (checked) {
|
||||||
|
|
|
@ -4,8 +4,8 @@
|
||||||
* @param color
|
* @param color
|
||||||
* @returns {string}
|
* @returns {string}
|
||||||
*/
|
*/
|
||||||
export function colorFromHex(color: string) {
|
export function colorFromHex(color: string): string {
|
||||||
if (color.substring(0, 1) === '#') {
|
if (color !== '' && color.substring(0, 1) === '#') {
|
||||||
color = color.substring(1, 7)
|
color = color.substring(1, 7)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,6 @@ import type {ILabel} from '@/modelTypes/ILabel'
|
||||||
import type {IUser} from '@/modelTypes/IUser'
|
import type {IUser} from '@/modelTypes/IUser'
|
||||||
|
|
||||||
import {colorIsDark} from '@/helpers/color/colorIsDark'
|
import {colorIsDark} from '@/helpers/color/colorIsDark'
|
||||||
import {getRandomColorHex} from '@/helpers/color/randomColor'
|
|
||||||
|
|
||||||
export default class LabelModel extends AbstractModel<ILabel> implements ILabel {
|
export default class LabelModel extends AbstractModel<ILabel> implements ILabel {
|
||||||
id = 0
|
id = 0
|
||||||
|
@ -24,12 +23,8 @@ export default class LabelModel extends AbstractModel<ILabel> implements ILabel
|
||||||
constructor(data: Partial<ILabel> = {}) {
|
constructor(data: Partial<ILabel> = {}) {
|
||||||
super()
|
super()
|
||||||
this.assignData(data)
|
this.assignData(data)
|
||||||
|
|
||||||
if (this.hexColor === '') {
|
|
||||||
this.hexColor = getRandomColorHex()
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.hexColor.substring(0, 1) !== '#') {
|
if (this.hexColor !== '' && this.hexColor.substring(0, 1) !== '#') {
|
||||||
this.hexColor = '#' + this.hexColor
|
this.hexColor = '#' + this.hexColor
|
||||||
}
|
}
|
||||||
this.textColor = colorIsDark(this.hexColor) ? '#4a4a4a' : '#fff'
|
this.textColor = colorIsDark(this.hexColor) ? '#4a4a4a' : '#fff'
|
||||||
|
|
|
@ -67,7 +67,7 @@ export const useLabelStore = defineStore('label', () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
function setLabel(label: ILabel) {
|
function setLabel(label: ILabel) {
|
||||||
labels.value[label.id] = label
|
labels.value[label.id] = {...label}
|
||||||
update(label)
|
update(label)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,6 +29,7 @@ import {useBaseStore} from '@/stores/base'
|
||||||
import ProjectUserService from '@/services/projectUsers'
|
import ProjectUserService from '@/services/projectUsers'
|
||||||
import {useAuthStore} from '@/stores/auth'
|
import {useAuthStore} from '@/stores/auth'
|
||||||
import TaskCollectionService from '@/services/taskCollection'
|
import TaskCollectionService from '@/services/taskCollection'
|
||||||
|
import {getRandomColorHex} from '@/helpers/color/randomColor'
|
||||||
|
|
||||||
interface MatchedAssignee extends IUser {
|
interface MatchedAssignee extends IUser {
|
||||||
match: string,
|
match: string,
|
||||||
|
@ -337,7 +338,10 @@ export const useTaskStore = defineStore('task', () => {
|
||||||
let label = validateLabel(Object.values(labelStore.labels), labelTitle)
|
let label = validateLabel(Object.values(labelStore.labels), labelTitle)
|
||||||
if (typeof label === 'undefined') {
|
if (typeof label === 'undefined') {
|
||||||
// label not found, create it
|
// label not found, create it
|
||||||
const labelModel = new LabelModel({title: labelTitle})
|
const labelModel = new LabelModel({
|
||||||
|
title: labelTitle,
|
||||||
|
hexColor: getRandomColorHex(),
|
||||||
|
})
|
||||||
label = await labelStore.createLabel(labelModel)
|
label = await labelStore.createLabel(labelModel)
|
||||||
}
|
}
|
||||||
return label
|
return label
|
||||||
|
|
|
@ -256,6 +256,13 @@
|
||||||
--card-border-color: var(--grey-200);
|
--card-border-color: var(--grey-200);
|
||||||
--logo-text-color: hsl(180, 1%, 15%);
|
--logo-text-color: hsl(180, 1%, 15%);
|
||||||
|
|
||||||
|
// Code colors
|
||||||
|
--code-variable: #da2222;
|
||||||
|
--code-literal: #fd8a09;
|
||||||
|
--code-symbol: #0ead69;
|
||||||
|
--code-section: #3a86ff;
|
||||||
|
--code-keyword: #8338ec;
|
||||||
|
|
||||||
&.dark {
|
&.dark {
|
||||||
@media screen {
|
@media screen {
|
||||||
// Light mode colours reversed for dark mode
|
// Light mode colours reversed for dark mode
|
||||||
|
@ -311,6 +318,13 @@
|
||||||
--scheme-invert: var(--grey-900);
|
--scheme-invert: var(--grey-900);
|
||||||
--scheme-invert-bis: var(--grey-900);
|
--scheme-invert-bis: var(--grey-900);
|
||||||
--scheme-invert-ter: var(--grey-800);
|
--scheme-invert-ter: var(--grey-800);
|
||||||
|
|
||||||
|
// Code colors
|
||||||
|
--code-variable: #f98181;
|
||||||
|
--code-literal: #fbbc88;
|
||||||
|
--code-symbol: #b9f18d;
|
||||||
|
--code-section: #faf594;
|
||||||
|
--code-keyword: #70cff8;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -150,8 +150,8 @@ function deleteLabel(label: ILabel) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function editLabelSubmit() {
|
function editLabelSubmit() {
|
||||||
return labelStore.updateLabel(labelEditLabel.value)
|
return labelStore.updateLabel(labelEditLabel.value)
|
||||||
}
|
}
|
||||||
|
|
||||||
function editLabel(label: ILabel) {
|
function editLabel(label: ILabel) {
|
||||||
if (label.createdBy.id !== userInfo.value.id) {
|
if (label.createdBy.id !== userInfo.value.id) {
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import {computed, ref} from 'vue'
|
import {computed, onBeforeMount, ref} from 'vue'
|
||||||
import {useI18n} from 'vue-i18n'
|
import {useI18n} from 'vue-i18n'
|
||||||
import {useRouter} from 'vue-router'
|
import {useRouter} from 'vue-router'
|
||||||
|
|
||||||
|
@ -46,6 +46,7 @@ import LabelModel from '@/models/label'
|
||||||
import {useLabelStore} from '@/stores/labels'
|
import {useLabelStore} from '@/stores/labels'
|
||||||
import {useTitle} from '@/composables/useTitle'
|
import {useTitle} from '@/composables/useTitle'
|
||||||
import {success} from '@/message'
|
import {success} from '@/message'
|
||||||
|
import {getRandomColorHex} from '@/helpers/color/randomColor'
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
|
||||||
|
@ -55,6 +56,8 @@ useTitle(() => t('label.create.title'))
|
||||||
const labelStore = useLabelStore()
|
const labelStore = useLabelStore()
|
||||||
const label = ref(new LabelModel())
|
const label = ref(new LabelModel())
|
||||||
|
|
||||||
|
onBeforeMount(() => label.value.hexColor = getRandomColorHex())
|
||||||
|
|
||||||
const showError = ref(false)
|
const showError = ref(false)
|
||||||
const loading = computed(() => labelStore.isLoading)
|
const loading = computed(() => labelStore.isLoading)
|
||||||
|
|
||||||
|
|
|
@ -179,7 +179,23 @@ watch(
|
||||||
if (projectId < 0) {
|
if (projectId < 0) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
tasks.value = tasks.value.filter(t => typeof t.relatedTasks?.parenttask === 'undefined')
|
const tasksById = {}
|
||||||
|
tasks.value.forEach(t => tasksById[t.id] = true)
|
||||||
|
|
||||||
|
tasks.value = tasks.value.filter(t => {
|
||||||
|
if (typeof t.relatedTasks?.parenttask === 'undefined') {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
// If the task is a subtask, make sure the parent task is available in the current view as well
|
||||||
|
for (const pt of t.relatedTasks.parenttask) {
|
||||||
|
if(typeof tasksById[pt.id] === 'undefined') {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
})
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Reference in New Issue