Advertisement
Guest User

onload.listRenaming.js

a guest
Oct 28th, 2014
660
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. function restoreRow ( oTable, nRow ) {
  3.     var aData = oTable.fnGetData(nRow);
  4.     var jqTds = $('>td', nRow);
  5.     for ( var i=0, iLen=jqTds.length ; i<iLen ; i++ ) {
  6.         oTable.fnUpdate( aData[i], nRow, i, false );
  7.     }
  8.     oTable.fnDraw();
  9. }
  10.  
  11. function editRow(oTable, nRow){
  12.     var aData = oTable.fnGetData(nRow);
  13.     var jqTds = $('>td', nRow);
  14.     jqTds[0].innerHTML = '<input id="code" type="text" value="' + aData[0] + '">';
  15.     jqTds[1].innerHTML = '<input id="name"  type="text" value="' + aData[1] + '">';
  16.     jqTds[2].innerHTML = '<input id="period" type="text" value="' + aData[2] + '">';
  17.     jqTds[3].innerHTML = '<input id="period" type="text" value="' + aData[3] + '">';
  18.     jqTds[7].innerHTML = '<input type="submit" name="edit" value="Save" class="edit" id="save" />';
  19.     document.getElementById('code').focus();
  20. }
  21.  
  22. function saveRow(oTable, nRow, oldValue){
  23.     var jqInputs = $('input', nRow);
  24.     var chk_name = (oldValue[0].toLowerCase() == jqInputs[0].value.toLowerCase()) ? false : true;
  25.     var chk_env = (oldValue[1].toLowerCase() == jqInputs[1].value.toLowerCase()) ? false : true;
  26.     var chk_desc = (oldValue[2].toLowerCase() == jqInputs[2].value.toLowerCase()) ? false : true;  
  27.     var chk_typename = (oldValue[3].toLowerCase() == jqInputs[3].value.toLowerCase()) ? false : true;
  28.     //Compare old and new values
  29.     if(chk_name || chk_env || chk_desc || chk_typename) {
  30.         $.ajax({
  31.             url: "updateAgency.do",
  32.             data: {
  33.                 id: nRow.id,
  34.                 new_name: jqInputs[0].value,
  35.                 new_env: jqInputs[1].value,
  36.                 new_desc: jqInputs[2].value,
  37.                 new_typename: jqInputs[2].value,
  38.                 chk_code: chk_code,
  39.                 chk_name: chk_name                
  40.             },
  41.             dataType: "json",
  42.             success: function(data) {
  43.                 if(data.updated) {
  44.                     //Update success
  45.                     oTable.fnUpdate(jqInputs[0].value, nRow, 0, false);
  46.                     oTable.fnUpdate(jqInputs[1].value, nRow, 1, false);
  47.                     oTable.fnUpdate(jqInputs[2].value, nRow, 2, false);
  48.                 } else {
  49.                     //Update failed
  50.                     restoreRow(oTable, nRow);
  51.                 }
  52.                 //alert(data.message);
  53.             }        
  54.         })        
  55.     }
  56.     restoreRow(oTable, nRow);
  57.     oTable.fnUpdate('<input type="submit" name="edit" value="Edit" class="edit" id="edit" />', nRow, 4, false);
  58.     oTable.fnDraw();      
  59. }
  60.  
  61. $(function($){
  62.     $(".button").button();
  63.     $('p').collapsible('toggle');
  64.    
  65.     var nEditing = null;
  66.     $('#ListTable input.edit').on('click', function() {        
  67.         var nRow = $(this).parents('tr')[0];
  68.         var aData = oTable.fnGetData(nRow);
  69.         var oldValue = [ aData[0], aData[1] ];        
  70.         if(nEditing !==null && nEditing != nRow) {
  71.             restoreRow(oTable, nEditing);
  72.             editRow(oTable, nRow);
  73.             nEditing = nRow;
  74.         } else if (nEditing == nRow && this.value == "Save") {
  75.             saveRow(oTable, nEditing, oldValue);
  76.             nEditing = null;
  77.         } else {
  78.             editRow(oTable, nRow);
  79.             nEditing = nRow;
  80.         }
  81.     });
  82.    
  83.    
  84.    
  85.     var oTable = $('#ListTable').dataTable({
  86.         "bStateSave": true,
  87.         "bJQueryUI": true,
  88.         "sPaginationType": "full_numbers",
  89.         "bAutoWidth": false,
  90.         "aoColumnDefs": [
  91.         {
  92.             "bSearchable": false,
  93.             "aTargets": [4, 5,6,7,8]
  94.             },
  95.             {
  96.             "bSortable": false,
  97.             "aTargets": [4, 5,6,7,8]
  98.             },
  99.              { "bVisible": false, "aTargets": [9] } // comment to show it
  100.         ]
  101.     });
  102.    
  103.     //  select enable/disable
  104.        $("#enabledChoice").click( function() {
  105.            console.log('click');
  106.            oTable.fnDraw();
  107.        });
  108.        
  109.        $.fn.dataTableExt.afnFiltering.push(function( oSettings, aData, iDataIndex ) {
  110.         var chosenName = $("select#enabledChoice").val(); // Grab selected item in the dropdown list
  111.         var nameInColumn = aData[9]; // 9 is the index (begins from 0) of the column I want to sort
  112.         // If nothing or "All" is selected, don't filter
  113.          if ( chosenName == "" || chosenName == "All")
  114.             {
  115.              return true;
  116.             }
  117.          else if ( chosenName == nameInColumn)
  118.            {
  119.             return true;
  120.            }
  121.          return false;
  122.      });  
  123.    
  124.     // delete
  125.        $('#ListTable #delete').on('click', function() {  
  126.         var ans = confirm("Do you want to disable the rename rule?");
  127.         if(ans==true){
  128.             var nRow = $(this).parents('tr')[0];
  129.             var env = $(this).parents('tr').data('env');
  130.             var renameRuleName = $(this).parents('tr').data('rrname');
  131.             var renameRuleShortDescription = $(this).parents('tr').data('rrshort');
  132.             var renameRuleLongDescription  = $(this).parents('tr').data('rrlong');
  133.             var renameRuleTypeId = $(this).parents('tr').data('rrtid');
  134.             var renameRuleTypeName = $(this).parents('tr').data('rrtname');
  135.             var renameRuleData = $(this).parents('tr').data('rrdata');
  136.            
  137.             oTable.fnDeleteRow(nRow);
  138.             $.ajax({
  139.                 url: 'deleteRenameRule.do',
  140.                 data: "renameID=" + nRow.id + "&env=" + env + "&renameRuleName=" + renameRuleName + "&renameRuleShortDescription=" + renameRuleShortDescription + "&renameRuleLongDescription=" + renameRuleLongDescription +"&renameRuleTypeId=" + renameRuleTypeId  + "&renameRuleTypeName=" + renameRuleTypeName + "&renameRuleData=" + renameRuleData,
  141.                 success: function(response) {
  142.                    toastr.success(response.message);
  143.                 }
  144.             })            
  145.         }
  146.     });
  147.     //delete
  148.    
  149.     // assign to agency
  150.        $('#ListTable input.assignAgency').on('click', function() {  
  151.         var ans = confirm("Do you want to assign this rule to this agency ?");
  152.         if(ans==true){
  153.             var nRow = $(this).parents('tr')[0];
  154.              var agencyID = $('#agencyID').val();
  155.             var disabled = $('#disabled').val();
  156.             $.ajax({
  157.                 url: 'assignRenameRuleToAgency.do',
  158.                 data: "ruleId=" + nRow.id + "&agencyID=" + agencyID + "&disabled=" +disabled ,
  159.                 success: function(response) {
  160.                     if(response.message.charAt(0) === 'E')
  161.                     toastr.error(response.message);
  162.                    
  163.                     else
  164.                    toastr.success(response.message);
  165.                 }
  166.             })            
  167.         }
  168.     });
  169.     //assign
  170.    
  171.     // assign to global
  172.        $('#ListTable input.assignGlobal').on('click', function() {  
  173.         var ans = confirm("Do you want to assign this rule to global ?");
  174.         if(ans==true){
  175.              var nRow = $(this).parents('tr')[0];
  176.             $.ajax({
  177.                 url: 'assignRenameRuleToGlobal.do',
  178.                 data: "ruleId=" + nRow.id ,
  179.                 success: function(response) {
  180.                     if(response.message.charAt(0) === 'E')
  181.                     toastr.error(response.message);
  182.                     else
  183.                     toastr.success(response.message);
  184.                 }
  185.             })            
  186.         }
  187.     });
  188.     //assign
  189.    
  190.     // start modal
  191.        var dialog, form,
  192.             name = $( "#name" ),
  193.                         env = $('#env'),
  194.             allFields = $( [] ).add( name ).add(env),
  195.             tips = $( ".validateTips" );
  196.         function updateTips( t ) {
  197.             tips
  198.                 .text( t )
  199.                 .addClass( "ui-state-highlight" );
  200.             setTimeout(function() {
  201.                 tips.removeClass( "ui-state-highlight", 1500 );
  202.             }, 500 );
  203.         }
  204.                
  205.                  function checkEmpty(str) {
  206.                  alert(" value of env from select " + str.val());
  207.                  if (str.val() === "")
  208.                  {
  209.                      $('.enva').addClass("ui-state-error");
  210.                       updateTips("You must select an environment");
  211.                       return false;                
  212.                  }
  213.                   else{
  214.                      return true;
  215.                  }
  216.                 }
  217.                
  218.         function checkLength( o, n, min, max ) {
  219.                        alert(" valueof name from select " + o.val());
  220.             if ( o.val().length > max || o.val().length < min ) {
  221.                 o.addClass( "ui-state-error" );
  222.                 updateTips( "Length of " + n + " must be between " +
  223.                     min + " and " + max + "." );
  224.                 return false;
  225.             } else {
  226.                 return true;
  227.             }
  228.         }
  229.  
  230.         function addUser() {              
  231.             var valid = true;
  232.             allFields.removeClass("ui-state-error");
  233.                         alert("env.val() =   "  +env.val());
  234.                         valid = valid && checkEmpty(env);
  235.             valid = valid && checkLength( name, "rule type name", 3, 16 );
  236.             if ( valid ) {
  237.                 alert("valid ......");
  238.                 dialog.dialog( "close" );
  239.             }  
  240.         }
  241.  
  242.         dialog = $("#dialog-form").dialog({
  243.             autoOpen: false,
  244.             height: 400,
  245.             width: 620,
  246.             modal: true,
  247.             buttons: {
  248.                 "Create Rename Rule Type ": addUser,
  249.                 Cancel: function() {
  250.                     dialog.dialog( "close" );
  251.                 }
  252.             },
  253.             close: function() {
  254.                 form[ 0 ].reset();
  255.                 allFields.removeClass("ui-state-error");
  256.             }
  257.         });
  258.  
  259.         form = dialog.find("form").on("submit", function( event ) {
  260.             event.preventDefault();
  261.             addUser();
  262.         });
  263.  
  264.         $("#create-user").on( "click", function() {
  265.             dialog.dialog( "open" );
  266.         });
  267.    
  268.    
  269.     // end modal
  270.                
  271. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement