" +
"
" +
"" +
attachments +
'' +
" " +
' ' +
comments +
' ' +
'
' +
"
" +
renderAvatar(assigned, true, 'xs', null, members) +
'
' +
'
'
);
}
// Init kanban
const kanban = new jKanban({
element: '.kanban-wrapper',
gutter: '15px',
widthBoard: '250px',
dragItems: true,
boards: boards,
dragBoards: true,
addItemButton: true,
buttonContent: '+ Add Item',
itemAddOptions: {
enabled: true, // add a button to board for easy item creation
content: '+ Add New Item', // text or html content of the board button
class: 'kanban-title-button btn', // default class of the button
footer: false // position the button on footer
},
click: function (el) {
let element = el;
let title = element.getAttribute('data-eid')
? element.querySelector('.kanban-text').textContent
: element.textContent,
date = element.getAttribute('data-due-date'),
dateObj = new Date(),
year = dateObj.getFullYear(),
dateToUse = date
? date + ', ' + year
: dateObj.getDate() + ' ' + dateObj.toLocaleString('en', { month: 'long' }) + ', ' + year,
label = element.getAttribute('data-badge-text'),
avatars = element.getAttribute('data-assigned');
// Show kanban offcanvas
kanbanOffcanvas.show();
// To get data on sidebar
kanbanSidebar.querySelector('#title').value = title;
kanbanSidebar.querySelector('#due-date').nextSibling.value = dateToUse;
// ! Using jQuery method to get sidebar due to select2 dependency
$('.kanban-update-item-sidebar').find(select2).val(label).trigger('change');
// Remove & Update assigned
kanbanSidebar.querySelector('.assigned').innerHTML = '';
kanbanSidebar
.querySelector('.assigned')
.insertAdjacentHTML(
'afterbegin',
renderAvatar(avatars, false, 'xs', '1', el.getAttribute('data-members')) +
"