Task lists WIP:
* Fix frontend form
This commit is contained in:
parent
ff976ee0ad
commit
e8e8af855d
@ -7,12 +7,13 @@ export default class MUCTaskListsView extends CustomElement {
|
||||
static get properties () {
|
||||
return {
|
||||
model: { type: Object, attribute: true },
|
||||
new_task_list_name: { type: String, attribute: false },
|
||||
create_tasklist_error_message: { type: String, attribute: false }
|
||||
}
|
||||
}
|
||||
|
||||
async initialize () {
|
||||
this.create_tasklist_error_message = ''
|
||||
|
||||
if (!this.model) {
|
||||
return
|
||||
}
|
||||
@ -28,6 +29,7 @@ export default class MUCTaskListsView extends CustomElement {
|
||||
|
||||
async submitCreateTaskList (ev) {
|
||||
ev.preventDefault()
|
||||
|
||||
const name = ev.target.name.value.trim()
|
||||
if (this.create_tasklist_error_message) {
|
||||
this.create_tasklist_error_message = ''
|
||||
@ -36,15 +38,25 @@ export default class MUCTaskListsView extends CustomElement {
|
||||
if ((name ?? '') === '') { return }
|
||||
|
||||
try {
|
||||
this.querySelectorAll('input[type=submit]').forEach(el => {
|
||||
el.setAttribute('disabled', true)
|
||||
el.classList.add('disabled')
|
||||
})
|
||||
|
||||
await this.model.createTaskList({
|
||||
name
|
||||
})
|
||||
|
||||
this.new_task_list_name = ''
|
||||
this.querySelector('input[name=name]').value = ''
|
||||
} catch (err) {
|
||||
console.error(err)
|
||||
// eslint-disable-next-line no-undef
|
||||
this.create_tasklist_error_message = __(LOC_task_list_create_error)
|
||||
} finally {
|
||||
this.querySelectorAll('input[type=submit]').forEach(el => {
|
||||
el.removeAttribute('disabled')
|
||||
el.classList.remove('disabled')
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -83,9 +83,11 @@ class ChatRoomTaskLists extends Collection {
|
||||
const name = data?.name
|
||||
if (!name) { throw new Error('Missing name') }
|
||||
|
||||
console.log('Creating task list ' + name + '...')
|
||||
const item = $build('item').c('tasklist', { xmlns: XMLNS_TASKLIST })
|
||||
item.c('name').t(name)
|
||||
await api.pubsub.publish(this.chatroom.get('jid'), 'livechat-tasks', item)
|
||||
console.log('Task list ' + name + ' created.')
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -18,7 +18,7 @@ export default function tplMucTaskLists (el, tasklists) {
|
||||
<div class="form-group">
|
||||
<label>
|
||||
${i18nCreateTaskList}
|
||||
<input type="text" value="${el.new_task_list_name}" name="name" placeholder="${i18nTaskListName}" />
|
||||
<input type="text" value="" name="name" placeholder="${i18nTaskListName}" />
|
||||
</label>
|
||||
<input type="submit" value="${i18nAdd}" class="btn btn-primary" />
|
||||
${!el.create_tasklist_error_message
|
||||
|
Loading…
x
Reference in New Issue
Block a user