$(function() { /* ========================================= | | | Variables Definations | | | ========================================= */ var Container = { scrumboard: $('.scrumboard'), card: $('.scrumboard .card') } // Containers var scrumboard = Container.scrumboard; var card = Container.card; // Make Task Sortable function $_taskSortable() { $('[data-sortable="true"]').sortable({ connectWith: '.connect-sorting-content', items: ".card", cursor: 'move', placeholder: "ui-state-highlight", refreshPosition: true, stop: function( event, ui ) { var parent_ui = ui.item.parent().attr('data-section'); }, update: function( event, ui ) { console.log(ui); console.log(ui.item); } }); } // Click on Add Task button to open the modal and more.. function addTask() { $('.addTask').on('click', function(event) { event.preventDefault(); getParentElement = $(this).parents('[data-connect="sorting"]').attr('data-section'); $('.edit-task-title').hide(); $('.add-task-title').show(); $('[data-btnfn="addTask"]').show(); $('[data-btnfn="editTask"]').hide(); $('.addTaskAccordion .collapse').collapse('hide'); $('#addTaskModal').modal('show'); $_taskAdd(getParentElement); }); } // Get the range count value $('#progress-range-counter').on('input', function(event) { event.preventDefault(); /* Act on the event */ getRangeValue = $(this).val(); $('.range-count-number').html(getRangeValue); $('.range-count-number').attr('data-rangeCountNumber', getRangeValue); }); // Reset the input Values $('#addTaskModal, #addListModal').on('hidden.bs.modal', function (e) { $('input,textarea').val(''); $('input[type="range"]').val(0); $('.range-count-number').attr('data-rangecountnumber', 0); $('.range-count-number').html(0); }) // change the modal Button class on accordion open $('.addTaskAccordion .collapse').on('shown.bs.collapse', function () { getClassOfAccordion = $(this).parents('.card').attr('class').split(' ')[1]; getClassOfAddTaskBtn = $(this).parents('.modal-content').find('[data-btnfn="addTask"]').attr('class').split(' ')[1]; removeClassOfAddTaskBtn = $(this).parents('.modal-content').find('[data-btnfn="addTask"]').removeClass(getClassOfAddTaskBtn); var addClassInAddTaskBtn; if (getClassOfAccordion === 'task-simple') { addClassInAddTaskBtn = $(this).parents('.modal-content').find('[data-btnfn="addTask"]').addClass('task-simple'); } if (getClassOfAccordion === 'task-text-progress') { addClassInAddTaskBtn = $(this).parents('.modal-content').find('[data-btnfn="addTask"]').addClass('task-text-progress'); } else if (getClassOfAccordion === 'task-checkbox') { addClassInAddTaskBtn = $(this).parents('.modal-content').find('[data-btnfn="addTask"]').addClass('task-checkbox'); } else if (getClassOfAccordion === 'task-image') { addClassInAddTaskBtn = $(this).parents('.modal-content').find('[data-btnfn="addTask"]').addClass('task-image'); } }) function $_taskAdd( getParent ) { $('[data-btnfn="addTask"]').off('click').on('click', function(event) { getAddBtnClass = $(this).attr('class').split(' ')[1]; var today = new Date(); var dd = String(today.getDate()).padStart(2, '0'); var mm = String(today.getMonth()); //January is 0! var yyyy = today.getFullYear(); var monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ]; today = dd + ' ' + monthNames[mm] + ', ' + yyyy; var $_getParent = getParent; if (getAddBtnClass === 'task-simple') { var $_task = document.getElementById('s-simple-task').value; $html = '
'+ '
'+ '
'+ '
'+ '

'+$_task+'

'+ '
'+ '
'+ ' '+ ''+ '
'+ '
'+ '
'+ '
'; $("[data-section='"+$_getParent+"'] .connect-sorting-content").append($html); } else if (getAddBtnClass === 'task-text-progress') { var $_task = document.getElementById('s-task').value; var $_taskText = document.getElementById('s-text').value; var $_taskProgress = $('.range-count-number').attr('data-rangeCountNumber'); $html = '
'+ '
'+ '
'+ '
'+ '

'+ $_task +'

'+ '
'+ '
'+ ''+ '
'+ '
'+ '
'+ '
'+ '

'+ $_taskText +'

'+ '
'+ '
'+ '
'+ '
'+ '

'+$_taskProgress+'%

'+ '
'+ '
'+ '
'+ '
'+ ' '+today+''+ '
'+ '
'+ ''+ '
'+ '
'+ '
'+ '
'+ '
'; $("[data-section='"+$_getParent+"'] .connect-sorting-content").append($html); } else if (getAddBtnClass === 'task-image') { var $_task = document.getElementById('s-image-task').value; $html = '
'+ '
'+ '
'+ ''+ '
'+ '
'+ '
'+ '

'+ $_task +'

'+ '
'+ '
'+ ''+ '
'+ '
'+ '
'+ '
'+ '
'+ ' '+today+''+ '
'+ '
'+ ''+ '
'+ '
'+ '
'+ '
'+ '
'; $("[data-section='"+$_getParent+"'] .connect-sorting-content").append($html); } $('#addTaskModal').modal('hide'); $_taskEdit(); $_taskDelete(); }); } $("#add-list").off('click').on('click', function(event) { event.preventDefault(); $('.add-list').show(); $('.edit-list').hide(); $('.edit-list-title').hide(); $('.add-list-title').show(); $('#addListModal').modal('show'); }); $(".add-list").off('click').on('click', function(event) { var today = new Date(); var dd = String(today.getDate()).padStart(2, '0'); var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0! var yyyy = today.getFullYear(); today = mm + '.' + dd + '.' + yyyy; var $_listTitle = document.getElementById('s-list-name').value; var $_listTitleLower = $_listTitle.toLowerCase(); var $_listTitleRemoveWhiteSpaces = $_listTitleLower.split(' ').join('_') ; var $_listSectionDataAttr = $_listTitleRemoveWhiteSpaces; $html = '
'+ '
'+ '
'+ '
'+$_listTitle+'
'+ ''+ '
'+ '
'+ '
'+ '
'+ ' Add Task'+ '
'+ '
'+ '
'; $(".task-list-section").append($html); $('#addListModal').modal('hide'); $('#s-list-name').val(''); $_taskSortable(); $_editList() $_deleteList(); $_clearList(); addTask(); $_taskEdit(); $_taskDelete(); }) // Delete the whole list including tasks at on click function $_deleteList() { $('.list-delete').off('click').on('click', function(event) { event.preventDefault(); $(this).parents('[data-connect]').remove(); }) } function $_editList() { $('.list-edit').off('click').on('click', function(event) { event.preventDefault(); var $_outerThis = $(this); $('.add-list').hide(); $('.edit-list').show(); $('.add-list-title').hide(); $('.edit-list-title').show(); var $_listTitle = $_outerThis.parents('[data-connect="sorting"]').find('.s-heading').attr('data-listTitle'); $('#s-list-name').val($_listTitle); $('.edit-list').off('click').on('click', function(event) { var $_innerThis = $(this); var $_getListTitle = document.getElementById('s-list-name').value; var $_editedListTitle = $_outerThis.parents('[data-connect="sorting"]').find('.s-heading').html($_getListTitle); var $_editedListTitleDataAttr = $_outerThis.parents('[data-connect="sorting"]').find('.s-heading').attr('data-listTitle', $_getListTitle); $('#addListModal').modal('hide'); $('#s-list-name').val(''); }) $('#addListModal').modal('show'); $('#addListModal').on('hidden.bs.modal', function (e) { $('#s-list-name').val(''); }) }) } // Clear all task at on click function $_clearList() { $('.list-clear-all').off('click').on('click', function(event) { event.preventDefault(); $(this).parents('[data-connect="sorting"]').find('.connect-sorting-content .card').remove(); }) } // Delete the task on click function $_taskDelete() { $('.card .s-task-delete').off('click').on('click', function(event) { event.preventDefault(); get_card_parent = $(this).parents('.card'); $('#deleteConformation').modal('show'); $('[data-remove="task"]').on('click', function(event) { event.preventDefault(); /* Act on the event */ get_card_parent.remove(); $('#deleteConformation').modal('hide'); }); }) } function $_taskEdit() { $('.card .s-task-edit').off('click').on('click', function(event) { event.preventDefault(); var $_outerThis = $(this); $('.add-task-title').hide(); $('.edit-task-title').show(); $('[data-btnfn="addTask"]').hide(); $('[data-btnfn="editTask"]').show(); if ($(this).parents('.card').hasClass('img-task')) { var $_taskTitle = $_outerThis.parents('.card').find('h4').attr('data-taskTitle'); var get_value_title = $('.task-image #s-image-task').val($_taskTitle); $('.task-image .collapse').collapse('show'); } else if ($(this).parents('.card').hasClass('simple-title-task')) { var $_taskTitle = $_outerThis.parents('.card').find('h4').attr('data-taskTitle'); var get_value_title = $('.task-simple #s-simple-task').val($_taskTitle); $('.task-simple .collapse').collapse('show'); } else if ($(this).parents('.card').hasClass('task-text-progress')) { var $_taskTitle = $_outerThis.parents('.card').find('h4').attr('data-taskTitle'); var get_value_title = $('.task-text-progress #s-task').val($_taskTitle); var $_taskText = $_outerThis.parents('.card').find('p:not(".progress-count")').attr('data-taskText'); var get_value_text = $('.task-text-progress #s-text').val($_taskText); var $_taskProgress = $_outerThis.parents('.card').find('div.progress-bar').attr('data-progressState'); var get_value_progress = $('#progress-range-counter').val($_taskProgress); var get_value_progressHtml = $('.range-count-number').html($_taskProgress); var get_value_progressDataAttr = $('.range-count-number').attr('data-rangecountnumber', $_taskProgress); $('.task-text-progress .collapse').collapse('show'); } $('[data-btnfn="editTask"]').off('click').on('click', function(event) { var $_innerThis = $(this); if ($_outerThis.parents('.card').hasClass('img-task')) { var $_task = document.getElementById('s-image-task').value; var $_taskDataAttr = $_outerThis.parents('.card').find('h4').attr('data-taskTitle' , $_task); var $_taskTitle = $_outerThis.parents('.card').find('h4').html($_task); } else if ($_outerThis.parents('.card').hasClass('simple-title-task')) { var $_task = document.getElementById('s-simple-task').value; var $_taskDataAttr = $_outerThis.parents('.card').find('h4').attr('data-taskTitle' , $_task); var $_taskTitle = $_outerThis.parents('.card').find('h4').html($_task); } else if ($_outerThis.parents('.card').hasClass('task-text-progress')) { var $_taskValue = document.getElementById('s-task').value; var $_taskTextValue = document.getElementById('s-text').value; var $_taskProgressValue = $('.range-count-number').attr('data-rangeCountNumber'); var $_taskDataAttr = $_outerThis.parents('.card').find('h4').attr('data-taskTitle' , $_taskValue); var $_taskTitle = $_outerThis.parents('.card').find('h4').html($_taskValue); var $_taskTextDataAttr = $_outerThis.parents('.card').find('p:not(".progress-count")').attr('data-tasktext' , $_taskTextValue); var $_taskText = $_outerThis.parents('.card').find('p:not(".progress-count")').html($_taskTextValue); var $_taskProgressStyle = $_outerThis.parents('.card').find('div.progress-bar').attr('style', "width: " + $_taskProgressValue +"%"); var $_taskProgressDataAttr = $_outerThis.parents('.card').find('div.progress-bar').attr('data-progressState', $_taskProgressValue); var $_taskProgressAriaAttr = $_outerThis.parents('.card').find('div.progress-bar').attr('aria-valuenow', $_taskProgressValue); var $_taskProgressProgressCount = $_outerThis.parents('.card').find('.progress-count').html($_taskProgressValue+"%"); } $('#addTaskModal').modal('hide'); var setDate = $('.taskDate').html(''); $('.taskDate').hide(); }) $('#addTaskModal').modal('show'); }) } $_editList(); $_deleteList(); $_clearList(); addTask(); $_taskEdit(); $_taskDelete(); $_taskSortable(); });