Advertisement
Guest User

TestScript JS

a guest
Oct 19th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //--Use the tag "[]" labels to search for sections of code!
  2. //[func.ini] Initialization, document on load
  3.  
  4. $(document).on('ready', function () {
  5.     loadParentAcc();
  6.     //loadParentAccTwo();
  7.     //loadParentAccThree();
  8.     loadProjDesc();
  9.     loadIniPlanDate(1);
  10.     toggleEventForElement('#remarks1', "click", testmodal, false);
  11.     toggleEventForElement('#tabActDate', "click", loadIniActDate, true);
  12.     toggleEventForElement('#tabPlanDate', "click", loadIniPlanDate, true);
  13.     toggleEventForElement('#tabDeliv', "click", loadIniDeliverables, true);
  14.     toggleEventForElement('#tabResp', "click", loadIniResponsibles, true);
  15.     toggleEventForElement('#tabSigna', "click", loadIniSignatories, true);
  16.     toggleEventForElement('#tabRema', "click", loadIniRemarks, true);
  17.     toggleEventForElement('#homeIni', "click", homeInitial, true);
  18.     toggleEventForElement('#homeFin', "click", homeFinal, true);
  19.     toggleEventForElement('#chkNoBox', "click", chkSelectAll, true);
  20.     toggleEventForElement('#chknobox01', "click", chkSelectAll_Deliv, true);
  21.     toggleEventForElement('#saveiniPlanDate', "click", saveIniPlanDate_click, true);
  22.     $('#homeIni').addClass('present');
  23. });
  24.  
  25. //[func.global] Global functions and variables
  26.  
  27. var counter = 0; //**variable for incremantal table**
  28. var counterEndo = 0; //**another variable for table**
  29. var idno = 1; //**variable for incremental textbox id**
  30. var dateplancounter = 1; //**variable for counting the datepickers**
  31. var dateplansubcounter = 1; //**varialber for counting the sub activity date pickers**
  32. var maxlengthiniplan = 0; //**variable for checking the max length of activities spawned**
  33. var maxlengthiniplansub = 0; //**variable for checking the max length of sub activities spawned**
  34.  
  35. $('body').on('mouseenter mouseleave', '.subaccordion', function () {
  36.     SubAccordion_Trigger();
  37. });
  38.  
  39. //[func.plandate] load initial Plan Date activites
  40.  
  41. function loadIniPlanDate() {
  42.     idno = 1;
  43.     var table = document.getElementById("tbActFin");
  44.     var obj = new Object();
  45.     var page = '';
  46.     maxlengthiniplan = 0;
  47.     var ParentID = $("label").attr('id').replace(/lblParent0/, '');
  48.     obj.ParentActivityID = ParentID;
  49.     obj.Page = 1;
  50.     obj.PageSize = 40;
  51.     $('#lgdName').text("Planned Date");
  52.     defCheckBox();
  53.     PageMethods.getIniPlanDate(obj, function onSuccess(data) {
  54.         $('#tbActFin').empty();
  55.         reloadJS();
  56.         if (data.finalActList.length == 0) {
  57.             $('#tbActFin').append('<tr><td colspan="3" align="left">No Record Found.<br /><br /></td></tr>');
  58.         } else {
  59.             $.each(data.finalActList, function () {
  60.                 $('#tbActFin').append(
  61.                     '<tr align="top"><td align="center" class="tdCheck"><input type="checkbox" class="checkbox-inline checkbox chkToggle" id="check-' + idno + '" value="1" name="requestType" onclick="disableShortDate(this)" checked></input></td>' +
  62.                     '<td align="left" colspan="2">' + this.Description + '</td>' +
  63.                     '<td align="left"><input type="text" size="24" disabled="true" class="form-control shortdate check-' + idno + ' startplanact-' + this.ActivityID + '"></td>' +
  64.                     '<td align="left"><input type="text" size="24" disabled="true" class="form-control shortdate check-' + idno + ' endplanact-' + this.ActivityID + '" id="act-' + this.ActivityID + '"></td></tr><tr id="rowAct-' + this.ActivityID + '" align="top">');
  65.                 var act = this.ActivityID;
  66.                 var desc = this.Description;
  67.                 loadIniSubActivity(act, desc);
  68.                 var ctrl = document.getElementById("check-" + idno);
  69.                 disableShortDate(ctrl);
  70.                 page = this.Page;
  71.                 idno++;
  72.                 maxlengthiniplan++;
  73.             });
  74.         }
  75.         $('#Paging').html(page);
  76.     },
  77.     function onError(err) {
  78.         alert(err.get_message());
  79.     });
  80.     var z = 'tabPlanDate';
  81.     topNavR(z);
  82.     var divNamesToshow = ['divPlanDate', 'divSavePD'];
  83.     var divNamesToHide = ['divIniDeliverables', 'divResponsible', 'divIniSignatories','divIniRemarks', 'divSaveAD'];
  84.     showDiv(divNamesToshow, true);
  85.     showDiv(divNamesToHide, false);
  86. }
  87.  
  88. function saveIniPlanDate_click() {
  89.     bootbox.confirm('Are you sure you want to post these dates?', function (result) {
  90.         if (result == true) {
  91.             postIniPlanDate();
  92.             postIniPlanDate_sub();
  93.             loadIniDeliverables();
  94.         }
  95.         else {
  96.         }
  97.     });
  98. }
  99.  
  100. function postIniPlanDate() {
  101.     var i;
  102.     var refObj = new Object;
  103.     for (i = 0; i < maxlengthiniplan; i++) {
  104.         if ($('.startplanact-' + dateplancounter).is(":disabled")) {
  105.             dateplancounter++;
  106.         }
  107.         else {
  108.             refObj = function1a();
  109.             PageMethods.saveIniPlanDates(refObj);
  110.         }
  111.     }
  112. }
  113.  
  114. function function1a() {
  115.     var type = "AC";
  116.     var serviceParameters = new Object;
  117.     serviceParameters = new Object;
  118.     serviceParameters.ProjectID = sessionStorage.ProjectID;
  119.     serviceParameters.ActivityID = dateplancounter;
  120.     serviceParameters.ActivityType = type;
  121.     serviceParameters.PlannedStartDate = $(".startplanact-" + dateplancounter).val();
  122.     serviceParameters.PlannedEndDate = $(".endplanact-" + dateplancounter).val();
  123.     dateplancounter++;
  124.     return serviceParameters;
  125. }
  126.  
  127.  
  128. //[func.actualdate] load initial Actual Date activities
  129.  
  130. function loadIniActDate() {
  131.     var table = document.getElementById("tbActFin");
  132.     var obj = new Object();
  133.     var page = '';
  134.     idno = 1;
  135.     var ParentID = $("label").attr('id').replace(/lblParent0/, '');
  136.     obj.ParentActivityID = ParentID;
  137.     obj.Page = 1;
  138.     obj.PageSize = 40;
  139.     $('#lgdName').text("Actual Date");
  140.     defCheckBox();
  141.     PageMethods.getIniActDate(obj, function onSuccess(data) {
  142.         $('#tbActFin').empty();
  143.         reloadJS();
  144.         if (data.finalActList.length == 0) {
  145.             $('#tbActFin').append('<tr><td colspan="3" align="left">No Record Found.<br /><br /></td></tr>');
  146.         } else {
  147.             $.each(data.finalActList, function () {
  148.                 $('#tbActFin').append('<tr valign="top">' +
  149.                     '<td align="center" class="tdCheck"><input type="checkbox" class="checkbox-inline checkbox chkToggle" id="check-' + idno + '" value="1" name="requestType" onclick="disableShortDate(this)" checked></input></td>' +
  150.                     '<td align="left" colspan="2">' + this.Description + '</td>' +
  151.                     '<td align="left"><input type="text" size="24" disabled="true" class="form-control shortdate check-' + idno + '"></td>' +
  152.                     '<td align="left"><input type="text" size="24" disabled="true" class="form-control noForwardDate check-' + idno + '" id="ActualAct-' + this.ActivityID + '"></td></tr><tr id="rowAct-' + this.ActivityID + '" align="top">');
  153.                 var act = this.ActivityID;
  154.                 var desc = this.Description;
  155.                 loadIniSubActivity(act, desc);
  156.                 var ctrl = document.getElementById("check-" + idno);
  157.                 disableShortDate(ctrl);
  158.                 page = this.Page;
  159.                 idno++;
  160.             });
  161.         }
  162.         $('#Paging').html(page);
  163.     },
  164.     function onError(err) {
  165.         alert(err.get_message());
  166.     });
  167.     var z = 'tabActDate';
  168.     topNavR(z);
  169.     var divNamesToshow = ['divPlanDate', 'divSaveAD'];
  170.     var divNamesToHide = ['divIniDeliverables', 'divResponsible', 'divIniSignatories', 'divIniRemarks','divSavePD'];
  171.     showDiv(divNamesToshow, true);
  172.     showDiv(divNamesToHide, false);
  173. }
  174.  
  175. //[func.subact-dates] load initial subactivities (for Plan & Actual Date)
  176.  
  177. function loadIniSubActivity(act, desc) {
  178.     var obj = new Object();
  179.     var page = '';
  180.     obj.Page = 1;
  181.     obj.PageSize = 40;
  182.     obj.ActivityID = act;
  183.     obj.Desc = desc;
  184.     PageMethods.getIniSubPlanDate(obj, function onSuccess(data) {
  185.         $('#rowAct-' + act).empty();
  186.         reloadJS();
  187.         if (data.iniSubActList.length == 0) {
  188.         } else {
  189.             $('#rowAct-' + act).append('<td colspan="5"><button type="button" class="subaccordion accFinAct"></button>' +
  190.                     '<div class="subpnlAcc" style="display: none;">' +
  191.                     '<table class="subpnlAcc-' + act + ' tbordered gridview"></tr>' +
  192.                     '<thead class="gridViewHeader">' +
  193.                     '<tr align="top">' +
  194.                     '<th align="left" style="width: 3%">⤷</th>' +
  195.                     '<th colspan="2" align="left" style="width: 42%" class="thTree">' + desc + '</th>' +
  196.                     '<th align="left" style="width: 20%"></th>' +
  197.                     '<th align="left" style="width: 20%"></th>' +
  198.                     '</tr>' +
  199.                     '</thead>');
  200.             $.each(data.iniSubActList, function () {
  201.                 $('.subpnlAcc-' + act).append(
  202.                     '<tr align="top"><td align="center" class="tdCheck"><input type="checkbox" class="checkbox-inline checkbox chkToggle" id="check-' + idno + '" value="1" name="requestType" onclick="disableShortDate(this)" checked></input></td>' +
  203.                     '<td colspan="2">' + this.Description + '</td>' +
  204.                     '<td align="left"><input type="text" size="24" disabled="true" class="form-control shortdate check-' + idno + ' subactstart-' + this.SubActivityID + ' actid-' + act + '"></td>' +
  205.                     '<td align="left"><input type="text" size="24" disabled="true" class="form-control shortdate check-' + idno + ' subactend-'+ this.SubActivityID + ' act-' + act + '" id="subact-' + this.SubActivityID + '" activityid="'+act+'"><div class="act-' + act +'" id="bench-' + act + '"></div></td></tr></table></div>');
  206.                 var ctrl = document.getElementById("check-" + idno);
  207.                 disableShortDate(ctrl);
  208.                 page = this.Page;
  209.                 maxlengthiniplansub++;
  210.                 idno++;
  211.             });
  212.             $('.subpnlAcc-' + act).append('<tr><th colspan="5"><div class="pnlBar"></div></th></tr>');
  213.         }
  214.         $('#Paging').html(page);
  215.     },
  216.     function onError(err) {
  217.         alert(err.get_message());
  218.     });
  219. }
  220.  
  221. function postIniPlanDate_sub() {
  222.     var i;
  223.     var refObjSub = new Object;
  224.     var test = dateplansubcounter + maxlengthiniplan;
  225.     for (i = 0; i < maxlengthiniplansub; i++) {
  226.         if ($('.subactstart-' + dateplansubcounter).is(":disabled")) {
  227.             dateplansubcounter++;
  228.         }
  229.         else {
  230.             refObjSub = function1b();
  231.             PageMethods.saveIniPlanDates(refObjSub);
  232.         }
  233.     }
  234. }
  235.  
  236. function function1b() {
  237.     var type = "SA";
  238.     var actid = $("#subact-" + dateplansubcounter).attr("activityid");
  239.     var serviceParameters = new Object;
  240.     serviceParameters = new Object;
  241.     serviceParameters.ProjectID = sessionStorage.ProjectID;
  242.     serviceParameters.ActivityID = dateplansubcounter;
  243.     serviceParameters.ActivityType = type;
  244.     serviceParameters.PlannedStartDate = $(".subactstart-" + dateplansubcounter).val();
  245.     serviceParameters.PlannedEndDate = $(".subactend-" + dateplansubcounter).val();
  246.     alert(serviceParameters.ProjectID);
  247.     alert(serviceParameters.ActivityID);
  248.     alert(serviceParameters.ActivityType);
  249.     alert(serviceParameters.PlannedStartDate);
  250.     alert(serviceParameters.PlannedEndDate);
  251.     dateplansubcounter++;
  252.     return serviceParameters;
  253. }
  254.  
  255. //[func.deliverables] load initial Deliverables activities
  256.  
  257. function loadIniDeliverables() {
  258.     var z = 'tabDeliv';
  259.     topNavR(z);
  260.     var divNamesToshow = ['divIniDeliverables'];
  261.     var divNamesToHide = ['divPlanDate', 'divResponsible', 'divIniSignatories', 'divIniRemarks'];
  262.     showDiv(divNamesToshow, true);
  263.     showDiv(divNamesToHide, false);
  264.     loadDeliverables();
  265.     }
  266.  
  267. function loadDeliverables() {
  268.     var table = document.getElementById("tbIniDeli");
  269.     var obj = new Object();
  270.     var idno = 1;
  271.     var page = '';
  272.     var ParentID = $("label").attr('id').replace(/lblParent0/, '');
  273.     obj.ParentActivityID = ParentID;
  274.     obj.Page = 1;
  275.     obj.PageSize = 40;
  276.     defCheckBox();
  277.     PageMethods.getIniDeliverables(obj, function onSuccess(data) {
  278.         $('#tbIniDeli').empty();
  279.         reloadJS();
  280.         if (data.finalActList.length == 0) {
  281.             $('#tbIniDeli').append('<tr><td colspan="3" align="left">No Record Found.<br /><br /></td></tr>');
  282.         } else {
  283.             $.each(data.finalActList, function () {
  284.                 $('#tbIniDeli').append(
  285.                     '<tr align="top" class="dtr">' +
  286.                     '<td align="left" colspan="2" class="dtd">' + this.Description + '</td>' +
  287.                     '<td align="left" colspan="2" class="dtd dtddesc dtd-'+ this.DeliverableID + '">' + this.dDescription + '</input></td>' +
  288.                     '<td align="center" class="tdCheck"><input type="checkbox" class="checkbox-inline checkbox chkToggle" id="check-' + idno + '" value="1" name="requestType" onclick="disableDeliv('+ this.DeliverableID +')" checked></input></td></tr>');
  289.                 var ctrl = document.getElementById("check-" + idno);
  290.                 page = this.Page;
  291.                 idno++;
  292.             });
  293.         }
  294.         $('#Paging').html(page);
  295.     },
  296.     function onError(err) {
  297.         alert(err.get_message());
  298.     });
  299. }
  300.  
  301. //[func.responsibles] load initial Responsibles activities
  302.  
  303. function loadIniResponsibles() {
  304.     var z = 'tabResp';
  305.     topNavR(z);
  306.     var divNamesToshow = ['divResponsible'];
  307.     var divNamesToHide = ['divPlanDate', 'divIniDeliverables', 'divIniSignatories', 'divIniRemarks'];
  308.     showDiv(divNamesToshow, true);
  309.     showDiv(divNamesToHide, false);
  310.     loadResponsibles();
  311.  
  312. }
  313.  
  314. function loadResponsibles() {
  315.     var table = document.getElementById("tbIniResp");
  316.     var obj = new Object();
  317.     var idno = 1;
  318.     var page = '';
  319.     var ParentID = $("label").attr('id').replace(/lblParent0/, '');
  320.     obj.ParentActivityID = ParentID;
  321.     obj.Page = 1;
  322.     obj.PageSize = 40;
  323.     defCheckBox();
  324.     PageMethods.getIniPlanDate(obj, function onSuccess(data) {
  325.         $('#tbIniResp').empty();
  326.         reloadJS();
  327.         if (data.finalActList.length == 0) {
  328.             $('#tbIniResp').append('<tr><td colspan="3" align="left">No Record Found.<br /><br /></td></tr>');
  329.         } else {
  330.             $.each(data.finalActList, function () {
  331.                 $('#tbIniResp').append(
  332.                     '<tr align="top" class="dtr hrRemover-' + this.ActivityID +'">' +
  333.                     '<td align="left" colspan="1" class="dtd-2">' + this.Description + '</td>' +
  334.                     '<td align="left" colspan="2" class="dtd-2"><input type="text" class="form-control" size="24"></td>' +
  335.                     '<td class="td-cen" colspan="1" class="dtd-2"><div class="btn-group btn-group-sm" role="group"><a id="savePrimaryResp-' + this.ActivityID + '" class="gridviewhyperlink-font-standard btn btn-primary" style="color:White">+</a></div></td>' +
  336.                     '<td class="td-cen" colspan="1" class="dtd-2"><div class="btn-group btn-group-sm" role="group"><a id="saveSecondaryResp-' + this.ActivityID + '" class="gridviewhyperlink-font-standard btn btn-primary" style="color:White">+</a></div></td></tr>' +
  337.                     '<tr id="rowRespAct-' + this.ActivityID + '" align="top">');
  338.                 var act = this.ActivityID;
  339.                 var desc = this.Description;
  340.                 loadIniSubActivityResp(act, desc);
  341.                 var ctrl = document.getElementById("check-" + idno);
  342.                 page = this.Page;
  343.                 idno++;
  344.             });
  345.         }
  346.         $('#Paging').html(page);
  347.     },
  348.     function onError(err) {
  349.         alert(err.get_message());
  350.     });
  351. }
  352.  
  353. //[func.subact-responsibles] load initial Responsibles subactivities
  354.  
  355. function loadIniSubActivityResp(act, desc) {
  356.     var obj = new Object();
  357.     var idno = 1;
  358.     var page = '';
  359.     obj.Page = 1;
  360.     obj.PageSize = 40;
  361.     obj.ActivityID = act;
  362.     obj.Desc = desc;
  363.     PageMethods.getIniSubPlanDate(obj, function onSuccess(data) {
  364.         $('#rowRespAct-' + act).empty();
  365.         reloadJS();
  366.         if (data.iniSubActList.length == 0) {
  367.         } else {
  368.             $('.hrRemover-' + act).removeClass("dtr");
  369.             $('#rowRespAct-' + act).append('<td colspan="5"><button type="button" class="subaccordion accFinAct"></button>' +
  370.                     '<div class="subpnlRespAcc" style="display: none;">' +
  371.                     '<table class="subpnlRespAcc-' + act + ' tbordered gridview"></tr>' +
  372.                     '<thead class="gridViewHeader">' +
  373.                     '<tr align="top">' +
  374.                     '<th align="left" style="width: 3%">⤷</th>' +
  375.                     '<th colspan="2" align="left" style="width: 30%" class="thTree">' + desc + '</th>' +
  376.                     '<th align="left" style="width: 20%"></th>' +
  377.                     '<th align="center" style="width: 7%"></th>' +
  378.                     '<th align="center" style="width: 7%"></th>' +
  379.                     '</tr>' +
  380.                     '</thead>');
  381.             $.each(data.iniSubActList, function () {
  382.                 $('.subpnlRespAcc-' + act).append(
  383.                     '<tr align="top"><td align="center"></td>' +
  384.                     '<td colspan="1">' + this.Description + '</td>' +
  385.                     '<td align="left" colspan="2"><input type="text" class="form-control" size="24"></td>' +
  386.                     '<td class="td-cen" colspan="1"><div class="btn-group btn-group-sm" role="group"><a id="saveIniSubResp-' + this.SubActivityID + '" class="gridviewhyperlink-font-standard btn btn-primary" style="color:White">+</a></div></td>' +
  387.                     '<td class="td-cen" colspan="1"><div align="center" class="btn-group btn-group-sm" role="group"><a id="saveIniSubResp-' + this.SubActivityID + '" class="gridviewhyperlink-font-standard btn btn-primary" style="color:White">+</a></div></td></tr></table></div>');
  388.                 var ctrl = document.getElementById("check-" + idno);
  389.                 disableShortDate(ctrl);
  390.                 page = this.Page;
  391.                 idno++;
  392.             });
  393.             $('.subpnlRespAcc-' + act).append('<tr><th colspan="6"><div class="pnlBar"></div></th></tr>');
  394.         }
  395.         $('#Paging').html(page);
  396.     },
  397.     function onError(err) {
  398.         alert(err.get_message());
  399.     });
  400. }
  401.  
  402. //[func.signatories] load initial Signatories
  403.  
  404. function loadIniSignatories() {
  405.     var z = 'tabSigna';
  406.     topNavR(z);
  407.     var divNamesToshow = ['divIniSignatories'];
  408.     var divNamesToHide = ['divPlanDate', 'divResponsible', 'divIniDeliverables', 'divIniRemarks'];
  409.     showDiv(divNamesToshow, true);
  410.     showDiv(divNamesToHide, false);
  411. }
  412.  
  413. function addSignatoriesPrep_Click(index) {
  414.     var refObj = new Object;
  415.     refObj = paramSignatoriesPrep();
  416.     val = $('#txtPreparedBy').val();
  417.     if (counter == 0) {
  418.         createSignatoriesPrep_header(val);
  419.         counter++;
  420.     }
  421.     else {
  422.         addSignatoriesPrep(val)
  423.     }
  424.     $('#txtPreparedBy').val("");
  425. }
  426.  
  427. function paramSignatoriesPrep() {
  428.     var serviceParameters = new Object;
  429.     serviceParameters = new Object;
  430.     serviceParameters.PreparedBy = $("#txtPreparedBy").val();
  431.     return serviceParameters;
  432. }
  433.  
  434. function addSignatoriesPrep(val) {
  435.     $('.tblSignaPrep').append('<tr align="top">' +
  436.                         '<td>' + val + '</td>' +
  437.                         '</tr></table>');
  438. }
  439.  
  440. function createSignatoriesPrep_header(val) {
  441.     $('#signa-prep').append('<legend>Prepared By</legend>' +
  442.                     '<table class="tblSignaPrep tbordered gridview"></tr>' +
  443.                     '<thead class="gridViewHeader">' +
  444.                     '<tr align="top">' +
  445.                     '<th colspan="2" align="left" style="width: 25%" class="thTree">Name</th>' +
  446.                     '</tr>' +
  447.                     '</thead>');
  448.     addSignatoriesPrep(val);
  449. }
  450.  
  451. function addSignatoriesEndo_Click(index) {
  452.     var refObj = new Object;
  453.     refObj = paramSignatoriesEndo();
  454.     val = $('#txtEndorsedBy').val();
  455.     if (counterEndo == 0) {
  456.         createSignatoriesEndo_header(val);
  457.         counterEndo++;
  458.     }
  459.     else {
  460.         addSignatoriesEndo(val)
  461.     }
  462.     $('#txtEndorsedBy').val("");
  463. }
  464.  
  465. function paramSignatoriesEndo() {
  466.     var serviceParameters = new Object;
  467.     serviceParameters = new Object;
  468.     serviceParameters.EndorsedBy = $("#txtEndorsedBy").val();
  469.     return serviceParameters;
  470. }
  471.  
  472. function addSignatoriesEndo(val) {
  473.     $('.tblSignaEndo').append('<tr align="top">' +
  474.                         '<td>' + val + '</td>' +
  475.                         '</tr></table>');
  476. }
  477.  
  478. function createSignatoriesEndo_header(val) {
  479.     $('#signa-endo').append('<legend>Endorsed By</legend>' +
  480.                     '<table class="tblSignaEndo tbordered gridview"></tr>' +
  481.                     '<thead class="gridViewHeader">' +
  482.                     '<tr align="top">' +
  483.                     '<th colspan="2" align="left" style="width: 25%" class="thTree">Name</th>' +
  484.                     '</tr>' +
  485.                     '</thead>');
  486.     addSignatoriesEndo(val);
  487. }
  488.  
  489. //[func.remarks] load initial Remarks activities
  490.  
  491. function loadIniRemarks() {
  492.     var z = 'tabRema';
  493.     topNavR(z);
  494.     var divNamesToshow = ['divIniRemarks'];
  495.     var divNamesToHide = ['divIniDeliverables', 'divResponsible', 'divIniSignatories', 'divPlanDate'];
  496.     showDiv(divNamesToshow, true);
  497.     showDiv(divNamesToHide, false);
  498.     loadRemarks();
  499. }
  500.  
  501. function loadRemarks() {
  502.     var table = document.getElementById("tbIniRem");
  503.     var obj = new Object();
  504.     var idno = 1;
  505.     var page = '';
  506.     var ParentID = $("label").attr('id').replace(/lblParent0/, '');
  507.     obj.ParentActivityID = ParentID;
  508.     obj.Page = 1;
  509.     obj.PageSize = 40;
  510.     PageMethods.getIniPlanDate(obj, function onSuccess(data) {
  511.         $('#tbIniRem').empty();
  512.         reloadJS();
  513.         if (data.finalActList.length == 0) {
  514.             $('#tbIniRem').append('<tr><td colspan="3" align="left">No Record Found.<br /><br /></td></tr>');
  515.         } else {
  516.             $.each(data.finalActList, function () {
  517.                 $('#tbIniRem').append(
  518.                     '<tr align="top" class="dtr hrRemover-' + this.ActivityID + '">' +
  519.                     '<td align="left" colspan="1" class="dtd-2">' + this.Description + '</td>' +
  520.                     '<td align="left" colspan="2" class="dtd-2"><textarea style="resize:none" id="txtActRemarks-' +this.ActivityID +'" cols="30" rows="1" class="form-control required"></textarea></td>' +
  521.                     '<tr id="rowRemAct-' + this.ActivityID + '" align="top">');
  522.                 var act = this.ActivityID;
  523.                 var desc = this.Description;
  524.                 loadIniSubActivityRem(act, desc);
  525.                 var ctrl = document.getElementById("check-" + idno);
  526.                 page = this.Page;
  527.                 idno++;
  528.             });
  529.         }
  530.         $('#Paging').html(page);
  531.     },
  532.     function onError(err) {
  533.         alert(err.get_message());
  534.     });
  535. }
  536.  
  537. //[func.subact-remarks] load initial Remarks subactivities
  538.  
  539. function loadIniSubActivityRem(act, desc) {
  540.     var obj = new Object();
  541.     var idno = 1;
  542.     var page = '';
  543.     obj.Page = 1;
  544.     obj.PageSize = 40;
  545.     obj.ActivityID = act;
  546.     obj.Desc = desc;
  547.     PageMethods.getIniSubPlanDate(obj, function onSuccess(data) {
  548.         $('#rowRemAct-' + act).empty();
  549.         reloadJS();
  550.         if (data.iniSubActList.length == 0) {
  551.         } else {
  552.             $('.hrRemover-' + act).removeClass("dtr");
  553.             $('#rowRemAct-' + act).append('<td colspan="5"><button type="button" class="subaccordion accFinAct"></button>' +
  554.                     '<div class="subpnlRempAcc" style="display: none;">' +
  555.                     '<table class="subpnlRempAcc-' + act + ' tbordered gridview"></tr>' +
  556.                     '<thead class="gridViewHeader">' +
  557.                     '<tr align="top">' +
  558.                     '<th align="left" style="width: 3%">⤷</th>' +
  559.                     '<th colspan="2" align="left" style="width: 42%" class="thTree">' + desc + '</th>' +
  560.                     '<th align="left" style="width: 23%"></th>' +
  561.                     '<th align="left" style="width: 7%"></th>' +
  562.                     '</tr>' +
  563.                     '</thead>');
  564.             $.each(data.iniSubActList, function () {
  565.                 $('.subpnlRempAcc-' + act).append(
  566.                     '<tr align="top"><td align="center"></td>' +
  567.                     '<td colspan="1">' + this.Description + '</td>' +
  568.                     '<td align="left" colspan="2"><textarea style="resize:none" id="txtSubRemarks-' + this.SubActivityID + '" cols="30" rows="1" class="form-control required"></textarea></td>' +
  569.                     '</tr></table></div>');
  570.                 var ctrl = document.getElementById("check-" + idno);
  571.                 disableShortDate(ctrl);
  572.                 page = this.Page;
  573.                 idno++;
  574.             });
  575.             $('.subpnlRempAcc-' + act).append('<tr><th colspan="5"><div class="pnlBar"></div></th></tr>');
  576.         }
  577.         $('#Paging').html(page);
  578.     },
  579.     function onError(err) {
  580.         alert(err.get_message());
  581.     });
  582. }
  583.  
  584. //[func.general] General Functions
  585.  
  586. //----- initialize Project Description
  587.  
  588. function initializeProjDesc() {
  589.     var obj = new Object();
  590.     obj.ProjectID = sessionStorage.ProjectID;
  591.     obj.Description = sessionStorage.Description;
  592.     $('#titleProj').text(obj.Description);
  593. }
  594.  
  595. //------ load Project Description, Header
  596.  
  597. function loadProjDesc() {
  598.     var obj = new Object;
  599.     obj.ProjectID = sessionStorage.ProjectID;
  600.     PageMethods.getProjDesc(obj,
  601.             function (data) {
  602.                 if (data.Description != "") {
  603.                     $('#titleProj').text(data.Description);
  604.                 }
  605.                 else {
  606.                     $('#titleProj').text("error");
  607.                 }
  608.             });
  609. }
  610. //----- change active Navigator
  611.  
  612. function homeInitial() { // for Initial tab
  613.     $('#homeFin').removeClass('present');
  614.     $('#homeIni').addClass('present');
  615. }
  616. function homeFinal() { // for Final tab
  617.     $('#homeFin').addClass('present');
  618.     $('#homeIni').removeClass('present');
  619. }
  620. function topNavR(z) { // for Top Navigator
  621.     var x = document.getElementsByClassName('topN');
  622.     for (var i = 0; i < x.length; i++) {
  623.         x[i].classList.remove('present');
  624.     }
  625.     $('#' + z).addClass('present');
  626. }
  627.  
  628. //------ reload DatePicker javascript
  629.  
  630. function reloadJS() {
  631.     var table = document.getElementsByTagName('tbody');
  632.     var script = document.createElement('script');
  633.     script.src = "/Scripts/CM.js";
  634.     for (var i = 0; i < table.length; i++) {
  635.         table[i].appendChild(script);
  636.     }
  637. }
  638.  
  639. //------ load Parent Activity, Accordion
  640.  
  641. function loadParentAcc() {
  642.     var refObj = new Object;
  643.     refObj = getParentNo();
  644.     PageMethods.getParentDesc(refObj,
  645.             function (data) {
  646.                 if (data.Description != "") {
  647.                     $('#lblParent01').text(data.Description);
  648.                 }
  649.                 else {
  650.                     $('#lblParent01').text("error");
  651.                 }
  652.             });
  653. }
  654.  
  655. function loadParentAccTwo() {
  656.     var refObj = new Object;
  657.     refObj = getParentNoTwo();
  658.     PageMethods.getParentDesc(refObj,
  659.             function (data) {
  660.                 if (data.Description != "") {
  661.                     $('#lblParent02').text(data.Description);
  662.                 }
  663.                 else {
  664.                     $('#lblParent02').text("error");
  665.                 }
  666.             });
  667. }
  668.  
  669. function loadParentAccThree() {
  670.     var refObj = new Object;
  671.     refObj = getParentNoThree();
  672.     PageMethods.getParentDesc(refObj,
  673.             function (data) {
  674.                 if (data.Description != "") {
  675.                     $('#lblParent03').text(data.Description);
  676.                 }
  677.                 else {
  678.                     $('#lblParent03').text("error");
  679.                 }
  680.             });
  681. }
  682.  
  683. //----- load Parent Activity Description , Label
  684.  
  685. function getParentNo() {
  686.     var obj = new Object;
  687.     var serviceParameters = new Object;
  688.     serviceParameters = new Object;
  689.     serviceParameters.ParentActivityID = document.getElementById("lblParent01").innerHTML;
  690.     return serviceParameters;
  691. }
  692.  
  693. function getParentNoTwo() {
  694.     var serviceParameters = new Object;
  695.     serviceParameters = new Object;
  696.     serviceParameters.ParentActivityID = document.getElementById("lblParent02").innerHTML;
  697.     return serviceParameters;
  698. }
  699.  
  700. function getParentNoThree() {
  701.     var serviceParameters = new Object;
  702.     serviceParameters = new Object;
  703.     serviceParameters.ParentActivityID = document.getElementById("lblParent03").innerHTML;
  704.     return serviceParameters;
  705. }
  706.  
  707. //[func.checkbox-deliv] toggle Deliverable checkbox
  708.  
  709. function default_checkbox() {
  710.     var chk = $('#chknobox01');
  711.     if (chk.attr("checked", true)) {
  712.         chk.click();
  713.     }
  714. }
  715.  
  716. function disableDeliv(ctrl) {
  717.     var check = ctrl.checked;
  718.     $('.' + ctrl.id).each(function () {
  719.         //$(this).attr('disabled', !check);
  720.         //$(this).val('');
  721.     });
  722. }
  723.  
  724. function chkSelectAll_Deliv(object) {
  725.     var check = object.checked;
  726.     $('.chkToggle').each(function () {
  727.         this.checked = check;
  728.         disableDeliv(this);
  729.     });
  730. }
  731.  
  732. //[func.checkbox-dates] toggle Planned/Actual Date checkbox
  733.  
  734. //----- select ToggleCheckBox
  735.  
  736. function chkSelectAll(object) {
  737.     var check = object.checked;
  738.     $('.chkToggle').each(function () {
  739.         this.checked = check;
  740.         disableShortDate(this);
  741.     });
  742. }
  743.  
  744. //----- disable txtBox, shortdate
  745.  
  746. function disableShortDate(ctrl) {
  747.     var check = ctrl.checked;
  748.     $('.' + ctrl.id).each(function () {
  749.         $(this).attr('disabled', !check);
  750.         $(this).val('');
  751.     });
  752. }
  753.  
  754. //----- default Checkbox
  755.  
  756. function defCheckBox() {
  757.     var chk = $('#chkNoBox');
  758.     if (chk.attr("checked", false)) {
  759.         chk.click();
  760.     }
  761. }
  762.  
  763. //----- function Modal
  764.  
  765. function testmodal() {
  766.     bootbox.confirm('Modal for Activities', function (result) {
  767.         if (result == true) {
  768.         }
  769.     });
  770. }
  771.  
  772. //----- trigger SubAccordion
  773.  
  774. function SubAccordion_Trigger() {
  775.     var acc = $(".subaccordion");
  776.     for (var i = 0; i < acc.length; i++) {
  777.         acc[i].addEventListener("click", function () {
  778.             this.classList.toggle("activew");
  779.             var panel = this.nextElementSibling;
  780.             if (panel.style.display === "block") {
  781.                 panel.style.display = "none";
  782.             } else {
  783.                 panel.style.display = "block";
  784.             }
  785.         });
  786.     }
  787. }
  788.  
  789. //[nonfunctions] Non-Functions
  790.  
  791. //----- trigger Accordion
  792. var acc = document.getElementsByClassName("accordion");
  793. var i;
  794. for (i = 0; i < acc.length; i++) {
  795.     acc[i].addEventListener("click", function () {
  796.         this.classList.toggle("active");
  797.         var panel = this.nextElementSibling;
  798.         if (panel.style.maxHeight) {
  799.             panel.style.maxHeight = null;
  800.         } else {
  801.             panel.style.maxHeight = "1650px";
  802.         }
  803.     });
  804. }
  805.  
  806. //[script.archive] Archived functions (may come in handy...)
  807.  
  808. //--- This code selects all checkboxes under a master cbx...
  809. //    if (document.getElementById("chkNoBox").checked) {
  810. //        var chk = document.getElementsByClassName('chkToggle');
  811. //        for (var i = 0; i < chk.length; i++) {
  812. //            chk[i].checked = true;
  813. //        }
  814. //    } else {
  815. //        var chk = document.getElementsByClassName('chkToggle');
  816. //        for (var i = 0; i < chk.length; i++) {
  817. //            chk[i].checked = false;
  818. //        }
  819. //    }
  820.  
  821. //--- This code is used for inheritance
  822. //function sumcode() {
  823. //    document.getElementById("divAcc").addEventListener('click', function (event) {
  824. //        if (event.target && event.target.matches("button.accordion")) {
  825. //            trigAccordion();
  826. //        };
  827. //    });
  828. //}
  829.  
  830. //--- page breaking
  831. //style="table-layout:fixed;word-wrap:break-word;"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement