Advertisement
Guest User

TestScript JS

a guest
Oct 19th, 2018
84
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.     dateplansubcounter++;
  247.     return serviceParameters;
  248. }
  249.  
  250. //[func.deliverables] load initial Deliverables activities
  251.  
  252. function loadIniDeliverables() {
  253.     var z = 'tabDeliv';
  254.     topNavR(z);
  255.     var divNamesToshow = ['divIniDeliverables'];
  256.     var divNamesToHide = ['divPlanDate', 'divResponsible', 'divIniSignatories', 'divIniRemarks'];
  257.     showDiv(divNamesToshow, true);
  258.     showDiv(divNamesToHide, false);
  259.     loadDeliverables();
  260.     }
  261.  
  262. function loadDeliverables() {
  263.     var table = document.getElementById("tbIniDeli");
  264.     var obj = new Object();
  265.     var idno = 1;
  266.     var page = '';
  267.     var ParentID = $("label").attr('id').replace(/lblParent0/, '');
  268.     obj.ParentActivityID = ParentID;
  269.     obj.Page = 1;
  270.     obj.PageSize = 40;
  271.     defCheckBox();
  272.     PageMethods.getIniDeliverables(obj, function onSuccess(data) {
  273.         $('#tbIniDeli').empty();
  274.         reloadJS();
  275.         if (data.finalActList.length == 0) {
  276.             $('#tbIniDeli').append('<tr><td colspan="3" align="left">No Record Found.<br /><br /></td></tr>');
  277.         } else {
  278.             $.each(data.finalActList, function () {
  279.                 $('#tbIniDeli').append(
  280.                     '<tr align="top" class="dtr">' +
  281.                     '<td align="left" colspan="2" class="dtd">' + this.Description + '</td>' +
  282.                     '<td align="left" colspan="2" class="dtd dtddesc dtd-'+ this.DeliverableID + '">' + this.dDescription + '</input></td>' +
  283.                     '<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>');
  284.                 var ctrl = document.getElementById("check-" + idno);
  285.                 page = this.Page;
  286.                 idno++;
  287.             });
  288.         }
  289.         $('#Paging').html(page);
  290.     },
  291.     function onError(err) {
  292.         alert(err.get_message());
  293.     });
  294. }
  295.  
  296. //[func.responsibles] load initial Responsibles activities
  297.  
  298. function loadIniResponsibles() {
  299.     var z = 'tabResp';
  300.     topNavR(z);
  301.     var divNamesToshow = ['divResponsible'];
  302.     var divNamesToHide = ['divPlanDate', 'divIniDeliverables', 'divIniSignatories', 'divIniRemarks'];
  303.     showDiv(divNamesToshow, true);
  304.     showDiv(divNamesToHide, false);
  305.     loadResponsibles();
  306.  
  307. }
  308.  
  309. function loadResponsibles() {
  310.     var table = document.getElementById("tbIniResp");
  311.     var obj = new Object();
  312.     var idno = 1;
  313.     var page = '';
  314.     var ParentID = $("label").attr('id').replace(/lblParent0/, '');
  315.     obj.ParentActivityID = ParentID;
  316.     obj.Page = 1;
  317.     obj.PageSize = 40;
  318.     defCheckBox();
  319.     PageMethods.getIniPlanDate(obj, function onSuccess(data) {
  320.         $('#tbIniResp').empty();
  321.         reloadJS();
  322.         if (data.finalActList.length == 0) {
  323.             $('#tbIniResp').append('<tr><td colspan="3" align="left">No Record Found.<br /><br /></td></tr>');
  324.         } else {
  325.             $.each(data.finalActList, function () {
  326.                 $('#tbIniResp').append(
  327.                     '<tr align="top" class="dtr hrRemover-' + this.ActivityID +'">' +
  328.                     '<td align="left" colspan="1" class="dtd-2">' + this.Description + '</td>' +
  329.                     '<td align="left" colspan="2" class="dtd-2"><input type="text" class="form-control" size="24"></td>' +
  330.                     '<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>' +
  331.                     '<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>' +
  332.                     '<tr id="rowRespAct-' + this.ActivityID + '" align="top">');
  333.                 var act = this.ActivityID;
  334.                 var desc = this.Description;
  335.                 loadIniSubActivityResp(act, desc);
  336.                 var ctrl = document.getElementById("check-" + idno);
  337.                 page = this.Page;
  338.                 idno++;
  339.             });
  340.         }
  341.         $('#Paging').html(page);
  342.     },
  343.     function onError(err) {
  344.         alert(err.get_message());
  345.     });
  346. }
  347.  
  348. //[func.subact-responsibles] load initial Responsibles subactivities
  349.  
  350. function loadIniSubActivityResp(act, desc) {
  351.     var obj = new Object();
  352.     var idno = 1;
  353.     var page = '';
  354.     obj.Page = 1;
  355.     obj.PageSize = 40;
  356.     obj.ActivityID = act;
  357.     obj.Desc = desc;
  358.     PageMethods.getIniSubPlanDate(obj, function onSuccess(data) {
  359.         $('#rowRespAct-' + act).empty();
  360.         reloadJS();
  361.         if (data.iniSubActList.length == 0) {
  362.         } else {
  363.             $('.hrRemover-' + act).removeClass("dtr");
  364.             $('#rowRespAct-' + act).append('<td colspan="5"><button type="button" class="subaccordion accFinAct"></button>' +
  365.                     '<div class="subpnlRespAcc" style="display: none;">' +
  366.                     '<table class="subpnlRespAcc-' + act + ' tbordered gridview"></tr>' +
  367.                     '<thead class="gridViewHeader">' +
  368.                     '<tr align="top">' +
  369.                     '<th align="left" style="width: 3%">⤷</th>' +
  370.                     '<th colspan="2" align="left" style="width: 30%" class="thTree">' + desc + '</th>' +
  371.                     '<th align="left" style="width: 20%"></th>' +
  372.                     '<th align="center" style="width: 7%"></th>' +
  373.                     '<th align="center" style="width: 7%"></th>' +
  374.                     '</tr>' +
  375.                     '</thead>');
  376.             $.each(data.iniSubActList, function () {
  377.                 $('.subpnlRespAcc-' + act).append(
  378.                     '<tr align="top"><td align="center"></td>' +
  379.                     '<td colspan="1">' + this.Description + '</td>' +
  380.                     '<td align="left" colspan="2"><input type="text" class="form-control" size="24"></td>' +
  381.                     '<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>' +
  382.                     '<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>');
  383.                 var ctrl = document.getElementById("check-" + idno);
  384.                 disableShortDate(ctrl);
  385.                 page = this.Page;
  386.                 idno++;
  387.             });
  388.             $('.subpnlRespAcc-' + act).append('<tr><th colspan="6"><div class="pnlBar"></div></th></tr>');
  389.         }
  390.         $('#Paging').html(page);
  391.     },
  392.     function onError(err) {
  393.         alert(err.get_message());
  394.     });
  395. }
  396.  
  397. //[func.signatories] load initial Signatories
  398.  
  399. function loadIniSignatories() {
  400.     var z = 'tabSigna';
  401.     topNavR(z);
  402.     var divNamesToshow = ['divIniSignatories'];
  403.     var divNamesToHide = ['divPlanDate', 'divResponsible', 'divIniDeliverables', 'divIniRemarks'];
  404.     showDiv(divNamesToshow, true);
  405.     showDiv(divNamesToHide, false);
  406. }
  407.  
  408. function addSignatoriesPrep_Click(index) {
  409.     var refObj = new Object;
  410.     refObj = paramSignatoriesPrep();
  411.     val = $('#txtPreparedBy').val();
  412.     if (counter == 0) {
  413.         createSignatoriesPrep_header(val);
  414.         counter++;
  415.     }
  416.     else {
  417.         addSignatoriesPrep(val)
  418.     }
  419.     $('#txtPreparedBy').val("");
  420. }
  421.  
  422. function paramSignatoriesPrep() {
  423.     var serviceParameters = new Object;
  424.     serviceParameters = new Object;
  425.     serviceParameters.PreparedBy = $("#txtPreparedBy").val();
  426.     return serviceParameters;
  427. }
  428.  
  429. function addSignatoriesPrep(val) {
  430.     $('.tblSignaPrep').append('<tr align="top">' +
  431.                         '<td>' + val + '</td>' +
  432.                         '</tr></table>');
  433. }
  434.  
  435. function createSignatoriesPrep_header(val) {
  436.     $('#signa-prep').append('<legend>Prepared By</legend>' +
  437.                     '<table class="tblSignaPrep tbordered gridview"></tr>' +
  438.                     '<thead class="gridViewHeader">' +
  439.                     '<tr align="top">' +
  440.                     '<th colspan="2" align="left" style="width: 25%" class="thTree">Name</th>' +
  441.                     '</tr>' +
  442.                     '</thead>');
  443.     addSignatoriesPrep(val);
  444. }
  445.  
  446. function addSignatoriesEndo_Click(index) {
  447.     var refObj = new Object;
  448.     refObj = paramSignatoriesEndo();
  449.     val = $('#txtEndorsedBy').val();
  450.     if (counterEndo == 0) {
  451.         createSignatoriesEndo_header(val);
  452.         counterEndo++;
  453.     }
  454.     else {
  455.         addSignatoriesEndo(val)
  456.     }
  457.     $('#txtEndorsedBy').val("");
  458. }
  459.  
  460. function paramSignatoriesEndo() {
  461.     var serviceParameters = new Object;
  462.     serviceParameters = new Object;
  463.     serviceParameters.EndorsedBy = $("#txtEndorsedBy").val();
  464.     return serviceParameters;
  465. }
  466.  
  467. function addSignatoriesEndo(val) {
  468.     $('.tblSignaEndo').append('<tr align="top">' +
  469.                         '<td>' + val + '</td>' +
  470.                         '</tr></table>');
  471. }
  472.  
  473. function createSignatoriesEndo_header(val) {
  474.     $('#signa-endo').append('<legend>Endorsed By</legend>' +
  475.                     '<table class="tblSignaEndo tbordered gridview"></tr>' +
  476.                     '<thead class="gridViewHeader">' +
  477.                     '<tr align="top">' +
  478.                     '<th colspan="2" align="left" style="width: 25%" class="thTree">Name</th>' +
  479.                     '</tr>' +
  480.                     '</thead>');
  481.     addSignatoriesEndo(val);
  482. }
  483.  
  484. //[func.remarks] load initial Remarks activities
  485.  
  486. function loadIniRemarks() {
  487.     var z = 'tabRema';
  488.     topNavR(z);
  489.     var divNamesToshow = ['divIniRemarks'];
  490.     var divNamesToHide = ['divIniDeliverables', 'divResponsible', 'divIniSignatories', 'divPlanDate'];
  491.     showDiv(divNamesToshow, true);
  492.     showDiv(divNamesToHide, false);
  493.     loadRemarks();
  494. }
  495.  
  496. function loadRemarks() {
  497.     var table = document.getElementById("tbIniRem");
  498.     var obj = new Object();
  499.     var idno = 1;
  500.     var page = '';
  501.     var ParentID = $("label").attr('id').replace(/lblParent0/, '');
  502.     obj.ParentActivityID = ParentID;
  503.     obj.Page = 1;
  504.     obj.PageSize = 40;
  505.     PageMethods.getIniPlanDate(obj, function onSuccess(data) {
  506.         $('#tbIniRem').empty();
  507.         reloadJS();
  508.         if (data.finalActList.length == 0) {
  509.             $('#tbIniRem').append('<tr><td colspan="3" align="left">No Record Found.<br /><br /></td></tr>');
  510.         } else {
  511.             $.each(data.finalActList, function () {
  512.                 $('#tbIniRem').append(
  513.                     '<tr align="top" class="dtr hrRemover-' + this.ActivityID + '">' +
  514.                     '<td align="left" colspan="1" class="dtd-2">' + this.Description + '</td>' +
  515.                     '<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>' +
  516.                     '<tr id="rowRemAct-' + this.ActivityID + '" align="top">');
  517.                 var act = this.ActivityID;
  518.                 var desc = this.Description;
  519.                 loadIniSubActivityRem(act, desc);
  520.                 var ctrl = document.getElementById("check-" + idno);
  521.                 page = this.Page;
  522.                 idno++;
  523.             });
  524.         }
  525.         $('#Paging').html(page);
  526.     },
  527.     function onError(err) {
  528.         alert(err.get_message());
  529.     });
  530. }
  531.  
  532. //[func.subact-remarks] load initial Remarks subactivities
  533.  
  534. function loadIniSubActivityRem(act, desc) {
  535.     var obj = new Object();
  536.     var idno = 1;
  537.     var page = '';
  538.     obj.Page = 1;
  539.     obj.PageSize = 40;
  540.     obj.ActivityID = act;
  541.     obj.Desc = desc;
  542.     PageMethods.getIniSubPlanDate(obj, function onSuccess(data) {
  543.         $('#rowRemAct-' + act).empty();
  544.         reloadJS();
  545.         if (data.iniSubActList.length == 0) {
  546.         } else {
  547.             $('.hrRemover-' + act).removeClass("dtr");
  548.             $('#rowRemAct-' + act).append('<td colspan="5"><button type="button" class="subaccordion accFinAct"></button>' +
  549.                     '<div class="subpnlRempAcc" style="display: none;">' +
  550.                     '<table class="subpnlRempAcc-' + act + ' tbordered gridview"></tr>' +
  551.                     '<thead class="gridViewHeader">' +
  552.                     '<tr align="top">' +
  553.                     '<th align="left" style="width: 3%">⤷</th>' +
  554.                     '<th colspan="2" align="left" style="width: 42%" class="thTree">' + desc + '</th>' +
  555.                     '<th align="left" style="width: 23%"></th>' +
  556.                     '<th align="left" style="width: 7%"></th>' +
  557.                     '</tr>' +
  558.                     '</thead>');
  559.             $.each(data.iniSubActList, function () {
  560.                 $('.subpnlRempAcc-' + act).append(
  561.                     '<tr align="top"><td align="center"></td>' +
  562.                     '<td colspan="1">' + this.Description + '</td>' +
  563.                     '<td align="left" colspan="2"><textarea style="resize:none" id="txtSubRemarks-' + this.SubActivityID + '" cols="30" rows="1" class="form-control required"></textarea></td>' +
  564.                     '</tr></table></div>');
  565.                 var ctrl = document.getElementById("check-" + idno);
  566.                 disableShortDate(ctrl);
  567.                 page = this.Page;
  568.                 idno++;
  569.             });
  570.             $('.subpnlRempAcc-' + act).append('<tr><th colspan="5"><div class="pnlBar"></div></th></tr>');
  571.         }
  572.         $('#Paging').html(page);
  573.     },
  574.     function onError(err) {
  575.         alert(err.get_message());
  576.     });
  577. }
  578.  
  579. //[func.general] General Functions
  580.  
  581. //----- initialize Project Description
  582.  
  583. function initializeProjDesc() {
  584.     var obj = new Object();
  585.     obj.ProjectID = sessionStorage.ProjectID;
  586.     obj.Description = sessionStorage.Description;
  587.     $('#titleProj').text(obj.Description);
  588. }
  589.  
  590. //------ load Project Description, Header
  591.  
  592. function loadProjDesc() {
  593.     var obj = new Object;
  594.     obj.ProjectID = sessionStorage.ProjectID;
  595.     PageMethods.getProjDesc(obj,
  596.             function (data) {
  597.                 if (data.Description != "") {
  598.                     $('#titleProj').text(data.Description);
  599.                 }
  600.                 else {
  601.                     $('#titleProj').text("error");
  602.                 }
  603.             });
  604. }
  605. //----- change active Navigator
  606.  
  607. function homeInitial() { // for Initial tab
  608.     $('#homeFin').removeClass('present');
  609.     $('#homeIni').addClass('present');
  610. }
  611. function homeFinal() { // for Final tab
  612.     $('#homeFin').addClass('present');
  613.     $('#homeIni').removeClass('present');
  614. }
  615. function topNavR(z) { // for Top Navigator
  616.     var x = document.getElementsByClassName('topN');
  617.     for (var i = 0; i < x.length; i++) {
  618.         x[i].classList.remove('present');
  619.     }
  620.     $('#' + z).addClass('present');
  621. }
  622.  
  623. //------ reload DatePicker javascript
  624.  
  625. function reloadJS() {
  626.     var table = document.getElementsByTagName('tbody');
  627.     var script = document.createElement('script');
  628.     script.src = "/Scripts/CM.js";
  629.     for (var i = 0; i < table.length; i++) {
  630.         table[i].appendChild(script);
  631.     }
  632. }
  633.  
  634. //------ load Parent Activity, Accordion
  635.  
  636. function loadParentAcc() {
  637.     var refObj = new Object;
  638.     refObj = getParentNo();
  639.     PageMethods.getParentDesc(refObj,
  640.             function (data) {
  641.                 if (data.Description != "") {
  642.                     $('#lblParent01').text(data.Description);
  643.                 }
  644.                 else {
  645.                     $('#lblParent01').text("error");
  646.                 }
  647.             });
  648. }
  649.  
  650. function loadParentAccTwo() {
  651.     var refObj = new Object;
  652.     refObj = getParentNoTwo();
  653.     PageMethods.getParentDesc(refObj,
  654.             function (data) {
  655.                 if (data.Description != "") {
  656.                     $('#lblParent02').text(data.Description);
  657.                 }
  658.                 else {
  659.                     $('#lblParent02').text("error");
  660.                 }
  661.             });
  662. }
  663.  
  664. function loadParentAccThree() {
  665.     var refObj = new Object;
  666.     refObj = getParentNoThree();
  667.     PageMethods.getParentDesc(refObj,
  668.             function (data) {
  669.                 if (data.Description != "") {
  670.                     $('#lblParent03').text(data.Description);
  671.                 }
  672.                 else {
  673.                     $('#lblParent03').text("error");
  674.                 }
  675.             });
  676. }
  677.  
  678. //----- load Parent Activity Description , Label
  679.  
  680. function getParentNo() {
  681.     var obj = new Object;
  682.     var serviceParameters = new Object;
  683.     serviceParameters = new Object;
  684.     serviceParameters.ParentActivityID = document.getElementById("lblParent01").innerHTML;
  685.     return serviceParameters;
  686. }
  687.  
  688. function getParentNoTwo() {
  689.     var serviceParameters = new Object;
  690.     serviceParameters = new Object;
  691.     serviceParameters.ParentActivityID = document.getElementById("lblParent02").innerHTML;
  692.     return serviceParameters;
  693. }
  694.  
  695. function getParentNoThree() {
  696.     var serviceParameters = new Object;
  697.     serviceParameters = new Object;
  698.     serviceParameters.ParentActivityID = document.getElementById("lblParent03").innerHTML;
  699.     return serviceParameters;
  700. }
  701.  
  702. //[func.checkbox-deliv] toggle Deliverable checkbox
  703.  
  704. function default_checkbox() {
  705.     var chk = $('#chknobox01');
  706.     if (chk.attr("checked", true)) {
  707.         chk.click();
  708.     }
  709. }
  710.  
  711. function disableDeliv(ctrl) {
  712.     var check = ctrl.checked;
  713.     $('.' + ctrl.id).each(function () {
  714.         //$(this).attr('disabled', !check);
  715.         //$(this).val('');
  716.     });
  717. }
  718.  
  719. function chkSelectAll_Deliv(object) {
  720.     var check = object.checked;
  721.     $('.chkToggle').each(function () {
  722.         this.checked = check;
  723.         disableDeliv(this);
  724.     });
  725. }
  726.  
  727. //[func.checkbox-dates] toggle Planned/Actual Date checkbox
  728.  
  729. //----- select ToggleCheckBox
  730.  
  731. function chkSelectAll(object) {
  732.     var check = object.checked;
  733.     $('.chkToggle').each(function () {
  734.         this.checked = check;
  735.         disableShortDate(this);
  736.     });
  737. }
  738.  
  739. //----- disable txtBox, shortdate
  740.  
  741. function disableShortDate(ctrl) {
  742.     var check = ctrl.checked;
  743.     $('.' + ctrl.id).each(function () {
  744.         $(this).attr('disabled', !check);
  745.         $(this).val('');
  746.     });
  747. }
  748.  
  749. //----- default Checkbox
  750.  
  751. function defCheckBox() {
  752.     var chk = $('#chkNoBox');
  753.     if (chk.attr("checked", false)) {
  754.         chk.click();
  755.     }
  756. }
  757.  
  758. //----- function Modal
  759.  
  760. function testmodal() {
  761.     bootbox.confirm('Modal for Activities', function (result) {
  762.         if (result == true) {
  763.         }
  764.     });
  765. }
  766.  
  767. //----- trigger SubAccordion
  768.  
  769. function SubAccordion_Trigger() {
  770.     var acc = $(".subaccordion");
  771.     for (var i = 0; i < acc.length; i++) {
  772.         acc[i].addEventListener("click", function () {
  773.             this.classList.toggle("activew");
  774.             var panel = this.nextElementSibling;
  775.             if (panel.style.display === "block") {
  776.                 panel.style.display = "none";
  777.             } else {
  778.                 panel.style.display = "block";
  779.             }
  780.         });
  781.     }
  782. }
  783.  
  784. //[nonfunctions] Non-Functions
  785.  
  786. //----- trigger Accordion
  787. var acc = document.getElementsByClassName("accordion");
  788. var i;
  789. for (i = 0; i < acc.length; i++) {
  790.     acc[i].addEventListener("click", function () {
  791.         this.classList.toggle("active");
  792.         var panel = this.nextElementSibling;
  793.         if (panel.style.maxHeight) {
  794.             panel.style.maxHeight = null;
  795.         } else {
  796.             panel.style.maxHeight = "1650px";
  797.         }
  798.     });
  799. }
  800.  
  801. //[script.archive] Archived functions (may come in handy...)
  802.  
  803. //--- This code selects all checkboxes under a master cbx...
  804. //    if (document.getElementById("chkNoBox").checked) {
  805. //        var chk = document.getElementsByClassName('chkToggle');
  806. //        for (var i = 0; i < chk.length; i++) {
  807. //            chk[i].checked = true;
  808. //        }
  809. //    } else {
  810. //        var chk = document.getElementsByClassName('chkToggle');
  811. //        for (var i = 0; i < chk.length; i++) {
  812. //            chk[i].checked = false;
  813. //        }
  814. //    }
  815.  
  816. //--- This code is used for inheritance
  817. //function sumcode() {
  818. //    document.getElementById("divAcc").addEventListener('click', function (event) {
  819. //        if (event.target && event.target.matches("button.accordion")) {
  820. //            trigAccordion();
  821. //        };
  822. //    });
  823. //}
  824.  
  825. //--- page breaking
  826. //style="table-layout:fixed;word-wrap:break-word;"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement