%PDF- %PDF-
Direktori : /home/tjamichg/portal.tjamich.gob.mx/adminit2018/assets/js/pages/ |
Current File : /home/tjamichg/portal.tjamich.gob.mx/adminit2018/assets/js/pages/base_pages_projects_view.js |
/* * Document : base_pages_projects_view.js * Author : pixelcave * Description: Custom JS code used in Project Page */ var BasePagesProjectsView = function() { // Helper variables - set in initTasks() var $taskIdNext, $tasks, $taskForm, $taskInput, $taskInputVal, $taskList, $taskListStarred, $taskListCompleted, $taskBadge, $taskBadgeStarred, $taskBadgeCompleted; // Set variables and default functionality var initTasks = function(){ $tasks = jQuery('.js-tasks'); $taskForm = jQuery('#js-task-form'); $taskInput = jQuery('#js-task-input'); $taskList = jQuery('.js-task-list'); $taskListStarred = jQuery('.js-task-list-starred'); $taskListCompleted = jQuery('.js-task-list-completed'); $taskBadge = jQuery('.js-task-badge'); $taskBadgeStarred = jQuery('.js-task-badge-starred'); $taskBadgeCompleted = jQuery('.js-task-badge-completed'); // Set your own next new task id based on your database setup $taskIdNext = 9; // Update badges badgesUpdate(); // New task form submission $taskForm.on('submit', function(e){ e.preventDefault(); // Get input value $taskInputVal = $taskInput.prop('value'); // Check if the user entered something if ( $taskInputVal ) { // Add Task taskAdd($taskInputVal); // Clear and focus input field $taskInput.prop('value', '').focus(); } }); // Task status update on checkbox click var $stask, $staskId; $tasks.on('click', '.js-task-status', function(e){ e.preventDefault(); $stask = jQuery(this).closest('.js-task'); $staskId = $stask.attr('data-task-id'); // Check task status and toggle it if ( $stask.attr('data-task-completed') === 'true' ) { taskSetActive( $staskId ); } else { taskSetCompleted( $staskId ); } }); // Task starred status update on star click var $ftask, $ftaskId; $tasks.on('click', '.js-task-star', function(){ $ftask = jQuery(this).closest('.js-task'); $ftaskId = $ftask.attr('data-task-id'); // Check task starred status and toggle it if ( $ftask.attr('data-task-starred') === 'true' ) { taskStarRemove( $ftaskId ); } else { taskStarAdd( $ftaskId ); } }); // Remove task on remove button click $tasks.on('click', '.js-task-remove', function(){ $ftask = jQuery(this).closest('.js-task'); $ftaskId = $ftask.attr('data-task-id'); // Remove task taskRemove( $ftaskId ); }); }; // Update badges var badgesUpdate = function() { $taskBadge.text( $taskList.children().length || '' ); $taskBadgeStarred.text( $taskListStarred.children().length || '' ); $taskBadgeCompleted.text( $taskListCompleted.children().length || '' ); }; // Add a task var taskAdd = function( $taskContent ){ // Add it to the task list $taskList .prepend( '<div class="js-task block block-rounded push-5 animated fadeIn" data-task-id="' + $taskIdNext + '" data-task-completed="false" data-task-starred="false">' + '<table class="block-table table-vcenter">' + '<tr>' + '<td class="text-center" style="width: 50px;">' + '<label class="js-task-status css-input css-checkbox css-checkbox-primary css-checkbox-rounded">' + '<input type="checkbox"><span></span>' + '</label>' + '</td>' + '<td class="js-task-content font-w600">' + jQuery('<span />').text($taskContent).html() + '</td>' + '<td style="width: 100px;">' + '<button class="js-task-star btn btn-link text-warning" type="button">' + '<i class="fa fa-star-o"></i>' + '</button> ' + '<button class="js-task-remove btn btn-link text-danger" type="button">' + '<i class="fa fa-times"></i>' + '</button>' + '</td>' + '</tr>' + '</table>' + '</div>' ); // Update badges badgesUpdate(); // Save the task based on your database setup // .. // Update task next id $taskIdNext++; }; // Remove a task var taskRemove = function( $taskId ){ jQuery('.js-task[data-task-id="' + $taskId + '"]').remove(); // Update badges badgesUpdate(); // Remove the task based on your database setup // .. }; // Star a task var taskStarAdd = function( $taskId ){ var $task = jQuery('.js-task[data-task-id="' + $taskId + '"]'); // Check if exists and update accordignly the markup if ( $task.length > 0 ) { $task.attr('data-task-starred', true); $task.find('.js-task-star > i').toggleClass('fa-star fa-star-o'); if ( $task.attr('data-task-completed') === 'false') { $task.prependTo($taskListStarred); } // Update badges badgesUpdate(); // Star the task based on your database setup // .. } }; // Unstar a task var taskStarRemove = function( $taskId ){ var $task = jQuery('.js-task[data-task-id="' + $taskId + '"]'); // Check if exists and update accordignly the markup if ( $task.length > 0 ) { $task.attr('data-task-starred', false); $task.find('.js-task-star > i').toggleClass('fa-star fa-star-o'); if ( $task.attr('data-task-completed') === 'false') { $task.prependTo($taskList); } // Update badges badgesUpdate(); // Unstar the task based on your database setup // .. } }; // Set a task to active var taskSetActive = function( $taskId ){ var $task = jQuery('.js-task[data-task-id="' + $taskId + '"]'); // Check if exists and update accordignly if ( $task.length > 0 ) { $task.attr('data-task-completed', false); $task.find('.block-table').toggleClass('bg-gray-lighter'); $task.find('.js-task-status > input').prop('checked', false); $task.find('.js-task-content > del').contents().unwrap(); if ( $task.attr('data-task-starred') === 'true') { $task.prependTo($taskListStarred); } else { $task.prependTo($taskList); } // Update badges badgesUpdate(); // Update task status based on your database setup // .. } }; // Set a task to completed var taskSetCompleted = function( $taskId ){ var $task = jQuery('.js-task[data-task-id="' + $taskId + '"]'); // Check if exists and update accordignly if ( $task.length > 0 ) { $task.attr('data-task-completed', true); $task.find('.block-table').toggleClass('bg-gray-lighter'); $task.find('.js-task-status > input').prop('checked', true); $task.find('.js-task-content').wrapInner('<del></del>'); $task.prependTo($taskListCompleted); // Update badges badgesUpdate(); // Update task status based on your database setup // .. } }; return { init: function () { // Init Tasks initTasks(); } }; }(); // Initialize when page loads jQuery(function(){ BasePagesProjectsView.init(); });