/*=========================================================================================
File Name: dashboard-ecommerce.js
Description: dashboard-ecommerce
----------------------------------------------------------------------------------------
Item Name: Modern Admin - Clean Bootstrap 4 Dashboard HTML Template
Author: PIXINVENT
Author URL: http://www.themeforest.net/user/pixinvent
==========================================================================================*/
// Todo App variables
var todoNewTasksidebar = $(".todo-new-task-sidebar"),
appContentOverlay = $(".app-content-overlay"),
sideBarLeft = $(".sidebar-left"),
todoTaskListWrapper = $(".todo-task-list-wrapper"),
todoItem = $(".todo-item"),
selectAssignLable = $(".select2-assign-label"),
selectUsersName = $(".select2-users-name"),
avatarUserImage = $(".avatar-user-image"),
updateTodo = $(".update-todo"),
addTodo = $(".add-todo"),
markCompleteBtn = $(".mark-complete-btn"),
newTaskTitle = $(".new-task-title"),
taskTitle = $(".task-title"),
noResults = $(".no-results"),
assignedAvatarContent = $(".assigned .avatar .avatar-content"),
todoAppMenu = $(".todo-app-menu");
// badge colors object define here for badge color
var badgeColors = {
"Frontend": "badge-primary",
"Backend": "badge-success",
"Issue": "badge-danger",
"Design": "badge-warning",
"Wireframe": "badge-info",
}
$(function () {
"use strict";
// if it is not touch device
if (!$.app.menu.is_touch_device()) {
// Sidebar scrollbar
if ($('.todo-application .sidebar-menu-list').length > 0) {
var sidebarMenuList = new PerfectScrollbar('.sidebar-menu-list', {
theme: "dark",
wheelPropagation: false
});
}
// New task scrollbar
if (todoNewTasksidebar.length > 0) {
var todo_new_task_sidebar = new PerfectScrollbar('.todo-new-task-sidebar', {
theme: "dark",
wheelPropagation: false
});
}
// Task list scrollbar
if ($('.todo-application .todo-task-list').length > 0) {
var sidebar_todo = new PerfectScrollbar('.todo-task-list', {
theme: "dark",
wheelPropagation: false
});
}
}
// if it is a touch device
else {
$('.sidebar-menu-list').css("overflow", "scroll");
$('.todo-new-task-sidebar').css("overflow", "scroll");
$('.todo-task-list').css("overflow", "scroll");
}
// Single Date Picker
$('.pickadate').daterangepicker({
singleDatePicker: true,
showDropdowns: true,
locale: {
format: 'MM/DD'
}
});
// dragable list
dragula([document.getElementById("todo-task-list-drag")], {
moves: function (el, container, handle) {
return handle.classList.contains("handle");
}
});
// select assigner
selectUsersName.select2({
placeholder: "Unassigned",
dropdownAutoWidth: true,
width: '100%'
});
// select label
selectAssignLable.select2({
dropdownAutoWidth: true,
width: '100%'
});
// Sidebar scrollbar
if ($('.todo-application .sidebar-menu-list').length > 0) {
var sidebarMenuList = new PerfectScrollbar('.sidebar-menu-list', {
theme: "dark",
wheelPropagation: false
});
}
// New task scrollbar
if (todoNewTasksidebar.length > 0) {
var todo_new_task_sidebar = new PerfectScrollbar('.todo-new-task-sidebar', {
theme: "dark",
wheelPropagation: false
});
}
// Task list scrollbar
if ($('.todo-application .todo-task-list').length > 0) {
var sidebar_todo = new PerfectScrollbar('.todo-task-list', {
theme: "dark",
wheelPropagation: false
});
}
// New compose message compose field
var composeEditor = new Quill('.snow-container .compose-editor', {
modules: {
toolbar: '.compose-quill-toolbar'
},
placeholder: 'Add Description..... ',
theme: 'snow'
});
//Assigner Comment Quill editor
var commentEditor = new Quill('.snow-container .comment-editor', {
modules: {
toolbar: '.comment-quill-toolbar'
},
placeholder: 'Write a Comment...',
theme: 'snow'
});
// **************Sidebar Left**************//
// -----------------------------------------
// Main menu toggle should hide app menu
$('.menu-toggle').on('click', function () {
sideBarLeft.removeClass('show');
appContentOverlay.removeClass('show');
todoNewTasksidebar.removeClass('show');
});
//on click of app overlay removeclass show from sidebar left and overlay
appContentOverlay.on('click', function () {
sideBarLeft.removeClass('show');
appContentOverlay.removeClass('show');
});
// Add class active on click of sidebar menu's filters
todoAppMenu.find(".list-group a").on('click', function () {
var $this = $(this);
todoAppMenu.find(".active").removeClass('active');
$this.addClass("active")
});
//On compose btn click of compose mail visible and sidebar left hide
$('.add-task-btn').on('click', function () {
//show class add on new task sidebar,overlay
todoNewTasksidebar.addClass('show');
appContentOverlay.addClass('show');
sideBarLeft.removeClass('show');
// taskTitle.focus();
//d-none add on avatar and remove from avatar-content
avatarUserImage.addClass("d-none");
assignedAvatarContent.removeClass("d-none");
//select2 value null assign
selectUsersName.val(null).trigger('change');
selectAssignLable.val(null).trigger('change');
//update button has add class d-none remove from add TODO
updateTodo.addClass("d-none");
addTodo.removeClass("d-none");
//mark complete btn should hide & new task title will visible
markCompleteBtn.addClass("d-none");
newTaskTitle.removeClass("d-none");
//Input field Value empty
taskTitle.val("");
var compose_editor = $(".compose-editor .ql-editor");
compose_editor[0].innerHTML = "";
var comment_editor = $(".comment-editor .ql-editor");
comment_editor[0].innerHTML = "";
selectAssignLable.attr("disabled", "true");
});
// On sidebar close click hide sidebarleft and overlay
$(".todo-application .sidebar-close-icon").on('click', function () {
sideBarLeft.removeClass('show');
appContentOverlay.removeClass('show');
});
// **************New Task sidebar**************//
// ---------------------------------------------
// add new task
addTodo.on("click", function () {
// check task assigned or not
function renderAvatar(src) {
if (src !== undefined) {
return ''
} else {
return '
' + titleTask + '
' + '