You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

363 lines
11 KiB

  1. var isChrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
  2. var gridName1;
  3. function PopUp(gridName, url, param) {
  4. gridName1 = gridName;
  5. if (param == undefined || param == "") {
  6. param = "dialogHeight:400px;dialogWidth:500px;dialogLeft:300;dialogTop:100;center:yes";
  7. }
  8. if (isChrome) {
  9. window.open(url, "_blank", param);
  10. } else {
  11. errorCode = window.showModalDialog(url, window.self, param);
  12. }
  13. //errorCode = window.showModalDialog(url, window.self, param);
  14. try {
  15. if (errorCode != 0)
  16. return;
  17. SubmitForm(gridName);
  18. //CallBack();
  19. }
  20. catch (ex) { }
  21. }
  22. function ShowMessageToParent(errorCode) {
  23. if (errorCode != 0)
  24. return;
  25. SubmitForm(gridName1);
  26. }
  27. function PopUp2(url, param) {
  28. if (param == undefined || param == "") {
  29. param = "dialogHeight:400px;dialogWidth:500px;dialogLeft:300;dialogTop:100;center:yes";
  30. }
  31. var isChrome = !!window.chrome && !!window.chrome.webstore;
  32. if (isChrome) {
  33. return window.open(url, "_blank", param);
  34. } else {
  35. return window.showModalDialog(url, window.self, param);
  36. }
  37. //window.showModalDialog(url, window.self, param);
  38. }
  39. function FilterAll(gridName) {
  40. var tbl = document.getElementById(gridName + "_tblFilter");
  41. if (tbl) {
  42. var inputs = tbl.getElementsByTagName("input");
  43. for (var i = 0; i < inputs.length; i++) {
  44. if (inputs[i].type != "button") {
  45. inputs[i].value = "";
  46. }
  47. }
  48. inputs = tbl.getElementsByTagName("select");
  49. for (var i = 0; i < inputs.length; i++) {
  50. inputs[i].value = "";
  51. }
  52. SubmitForm(gridName);
  53. }
  54. }
  55. function SubmitForm(gridName) {
  56. var btn_hdd = document.getElementById(gridName + "_submitButton");
  57. if (btn_hdd != null) btn_hdd.click();
  58. }
  59. function Nav(page, gridName) {
  60. //alert(page);
  61. var pageNumber_hdd = document.getElementById(gridName + "_pageNumber");
  62. if (pageNumber_hdd != null) pageNumber_hdd.value = page;
  63. //alert(pageNumber_hdd.value);
  64. SubmitForm(gridName);
  65. }
  66. function NewTableToggle(idTD, idImg, gridName) {
  67. var td = document.getElementById(gridName + "_" + idTD);
  68. var img = document.getElementById(gridName + "_" + idImg);
  69. if (td != null && img != null) {
  70. var isHidden = td.style.display == "none" ? true : false;
  71. img.src = isHidden ? "/images/icon_hide.gif" : "/images/icon_show.gif";
  72. img.alt = isHidden ? "Hide" : "Show";
  73. td.style.display = isHidden ? "" : "none";
  74. }
  75. }
  76. function NewTableToggle(idTD, idImg, gridName, url) {
  77. var td = document.getElementById(gridName + "_" + idTD);
  78. var img = document.getElementById(gridName + "_" + idImg);
  79. if (td != null && img != null) {
  80. var isHidden = td.style.display == "none" ? true : false;
  81. img.src = isHidden ? url + "/images/icon_hide.gif" : url + "/images/icon_show.gif";
  82. img.alt = isHidden ? "Hide" : "Show";
  83. td.style.display = isHidden ? "" : "none";
  84. }
  85. }
  86. function ToggleFieldset(el) {
  87. var fieldset = document.getElementById('filters');
  88. if (fieldset.className = "collapsible collapsed") {
  89. fieldset.className = "collapsible"
  90. }
  91. else {
  92. fieldset.className = "collapsed";
  93. }
  94. if (document.getElementById('divFilterForm').style.display == "" || document.getElementById('divFilterForm').style.display == "none") {
  95. document.getElementById('divFilterForm').style.display = 'block';
  96. }
  97. else {
  98. document.getElementById('divFilterForm').style.display = 'none';
  99. }
  100. }
  101. function SortGrid(gridName, sortBy, sortOrder) {
  102. var sortBy_hdd = document.getElementById(gridName + "_sortBy");
  103. if (sortBy_hdd != null) sortBy_hdd.value = sortBy;
  104. var sortOrder_hdd = document.getElementById(gridName + "_sortOrder");
  105. if (sortOrder_hdd != null) sortOrder_hdd.value = sortOrder;
  106. //alert(sortBy);
  107. SubmitForm(gridName);
  108. }
  109. function DownloadGrid(path) {
  110. url = path + "/Download.aspx?mode=grid";
  111. window.open(url, "", "width=825,height=500,resizable=1,status=1,toolbar=0,scrollbars=1,center=1");
  112. }
  113. function DownloadGridRemit(path) {
  114. url = path + "/Download.aspx?mode=grid&type=remit";
  115. window.open(url, "", "width=825,height=500,resizable=1,status=1,toolbar=0,scrollbars=1,center=1");
  116. }
  117. function DownloadPDFGrid(path) {
  118. url = path + "/DownloadPDF.aspx?mode=grid";
  119. window.open(url, "", "width=825,height=500,resizable=1,status=1,toolbar=0,scrollbars=1,center=1");
  120. }
  121. function SetCheckBox(gridName, checkBoxName, me) {
  122. var checkboxes = document.getElementsByName(checkBoxName);
  123. var checkBoxStatus_hdd = document.getElementById(gridName + "_doCheck");
  124. var checkBoxStatus = checkBoxStatus_hdd.value == "N" ? "Y" : "N";
  125. var boolDoCheck = checkBoxStatus == "Y" ? true : false;
  126. me.innerText = (me.innerText == "[ ]" ? "[x]" : "[ ]");
  127. for (var i = 0; i < checkboxes.length; i++) {
  128. checkboxes[i].checked = boolDoCheck;
  129. }
  130. checkBoxStatus_hdd.value = checkBoxStatus;
  131. }
  132. //ShowChanges
  133. function Approve(id, gridName, approveFunctionId) {
  134. var mode_hdd = document.getElementById(gridName + "_mode");
  135. mode_hdd.value = 'approve';
  136. var currentRowId_hdd = document.getElementById(gridName + "_currentRowId");
  137. currentRowId_hdd.value = id;
  138. SubmitForm(gridName);
  139. }
  140. function DeleteRow(id, gridName, mes) {
  141. if (mes == undefined || mes == null || mes == "")
  142. mes = "Are you sure to delete selected record?";
  143. if (confirm(mes)) {
  144. var currentRowId_hdd = document.getElementById(gridName + "_currentRowId");
  145. currentRowId_hdd.value = id;
  146. SubmitForm(gridName);
  147. }
  148. }
  149. function ManageSelection(me, gridName, allowMultiSelection) {
  150. var elements = document.getElementsByName(gridName + "_rowId");
  151. if (!allowMultiSelection) {
  152. for (var i = 0; i < elements.length; i++) {
  153. elements[i].checked = false;
  154. }
  155. me.checked = true;
  156. }
  157. }
  158. function SelectAll(me, gridName, allowMultiSelection) {
  159. var objMode = document.getElementById(gridName + "_mode");
  160. if (!allowMultiSelection) {
  161. objMode.value = "1"
  162. }
  163. var mode = objMode.value == "1" ? false : true;
  164. if (allowMultiSelection) {
  165. objMode.value = objMode.value == "1" ? "0" : "1";
  166. }
  167. if (allowMultiSelection)
  168. me.firstChild.data = (mode ? "×" : "√");
  169. else
  170. me.firstChild.data = "×";
  171. var elements = document.getElementsByName(gridName + "_rowId");
  172. for (var i = 0; i < elements.length; i++) {
  173. elements[i].checked = mode;
  174. }
  175. }
  176. function ClearAll(gridName) {
  177. var elements = document.getElementsByName(gridName + "_rowId");
  178. for (var i = 0; i < elements.length; i++) {
  179. elements[i].checked = false;
  180. }
  181. }
  182. function GetRowId(gridName) {
  183. var elements = document.getElementsByName(gridName + "_rowId");
  184. var idList = "";
  185. for (var i = 0; i < elements.length; i++) {
  186. if (elements[i].checked) {
  187. idList += (idList == "" ? "" : ",") + elements[i].value;
  188. }
  189. }
  190. return idList;
  191. }
  192. //Grid Field Edit
  193. function ShowInEditableMode(me, gridName, data) {
  194. var pos = FindPos(me);
  195. var top = pos[1] + 20;
  196. RemoveFilterDiv();
  197. var newdiv = document.createElement('div');
  198. newdiv.setAttribute('id', "filterByColumn");
  199. newdiv.style.position = "absolute";
  200. newdiv.style.left = pos[0] + "px";
  201. newdiv.style.top = top + "px";
  202. newdiv.style.background = "#000000";
  203. newdiv.style.border = "1px solid black";
  204. var html = "<div style = \"width:155px;\">" +
  205. "<div style =\"float:left;font-family: verdana;margin:2px\"><b>Edit</b></div>" +
  206. "<div style =\"float:right\">" +
  207. "<span title = \"Close\" style = \"cursor:pointer;margin:2px\" onclick = \"RemoveFilterDiv();\"><b>x</b></span>" +
  208. "</div>" +
  209. "<div style=\"clear:both\">" +
  210. "<input type=\"text\" id=\"txtField\" value=\"" + data + "\" />" +
  211. "</div>" +
  212. "</div>";
  213. // var html = "<div style = \"width:155px;\"><input type=\"text\" id=\"txtField\" /></div>";
  214. newdiv.innerHTML = html;
  215. document.body.appendChild(newdiv);
  216. document.getElementById("txtField").focus();
  217. }
  218. //GRID FILTER STARTS (JS)
  219. function ShowFilter(me, gridName, colIndex) {
  220. var grid = document.getElementById(gridName + "_body");
  221. var colHeading = grid.rows[0].cells[colIndex].childNodes[0].firstChild.data;
  222. if (colHeading == undefined)
  223. colHeading = grid.rows[0].cells[colIndex].childNodes[0].firstChild.firstChild.data;
  224. var pos = FindPos(me);
  225. ShowFilterDiv(colHeading, gridName, colIndex, pos[0], pos[1]);
  226. }
  227. //List Grid Filter
  228. function ShowFilterForListGrid(me, gridName, colIndex, colHeading) {
  229. var pos = FindPos(me);
  230. ShowFilterDiv(colHeading, gridName, colIndex, pos[0], pos[1]);
  231. }
  232. function ShowFilterDiv(caption, gridName, colIndex, left, top) {
  233. var filterObj = document.getElementById("filterBox");
  234. var filterValue = (filterObj != null && filterObj != undefined ? filterObj.value : "");
  235. RemoveFilterDiv();
  236. var newdiv = document.createElement('div');
  237. newdiv.setAttribute('id', "filterByColumn");
  238. newdiv.style.position = "absolute";
  239. newdiv.style.left = left + "px";
  240. newdiv.style.top = top + "px";
  241. newdiv.style.background = "#00CC00";
  242. newdiv.style.border = "1px solid black";
  243. var html = "<div style = \"width:155px;\">" +
  244. "<div style =\"float:left;font-family: verdana;margin:2px\"><b>" + caption + "</b></div>" +
  245. "<div style =\"float:right\">" +
  246. "<span title = \"Close\" style = \"cursor:pointer;margin:2px\" onclick = \"RemoveFilterDiv();\"><b>x</b></span>" +
  247. "</div>" +
  248. "<div style=\"clear:both\">" +
  249. "<input type=\"text\" id = \"filterBox\" style = \"width:149px;\"" +
  250. "value = \"" + filterValue + "\"" +
  251. "onKeyDown=\"FilterGrid(event,'" + gridName + "'," + colIndex + ", this);\" " +
  252. "onKeyUp=\"FilterGrid(event,'" + gridName + "'," + colIndex + ", this);\" >" +
  253. "</div>" +
  254. "</div>";
  255. newdiv.innerHTML = html;
  256. document.body.appendChild(newdiv);
  257. document.getElementById("filterBox").focus();
  258. }
  259. function RemoveFilterDiv() {
  260. var olddiv = document.getElementById("filterByColumn");
  261. if (olddiv)
  262. document.body.removeChild(olddiv);
  263. }
  264. function FilterGrid(event, gridName, columnIndex, me) {
  265. try {
  266. var keyCode = (event.which) ? event.which : event.keyCode;
  267. if (keyCode == 27) {
  268. Filter("", gridName, columnIndex);
  269. RemoveFilterDiv();
  270. return;
  271. }
  272. Filter(me.value, gridName, columnIndex);
  273. }
  274. catch (ex) {
  275. //do nothing
  276. }
  277. }
  278. function Filter(filterText, gridName, columnIndex) {
  279. var grid = document.getElementById(gridName + "_body");
  280. var rows = grid.rows.length;
  281. for (var row = 1; row < rows; row++) {
  282. var value = "";
  283. try {
  284. value = grid.rows[row].cells[columnIndex].innerHTML;
  285. }
  286. catch (ex) {
  287. //do nothing
  288. }
  289. if (value.toUpperCase().indexOf(filterText.toUpperCase()) > -1) {
  290. grid.rows[row].style.display = "";
  291. }
  292. else {
  293. grid.rows[row].style.display = "none";
  294. }
  295. }
  296. }
  297. function FindPos(obj) {
  298. var curleft = curtop = 0;
  299. if (obj.offsetParent) {
  300. curleft = obj.offsetLeft
  301. curtop = obj.offsetTop
  302. while (obj = obj.offsetParent) {
  303. curleft += obj.offsetLeft
  304. curtop += obj.offsetTop
  305. }
  306. }
  307. return [curleft, curtop];
  308. }
  309. //GRID FILTER ENDS