| @@ 30-72 (lines=43) @@ | ||
| 27 | } |
|
| 28 | } |
|
| 29 | }, |
|
| 30 | Filter: function (rq){ |
|
| 31 | function getFilterFieldsByTableID(tableID){ |
|
| 32 | var fields = {filterBy: null, filter: null}; |
|
| 33 | var filterDiv = getFilterDivByTableIDOrNull(tableID); |
|
| 34 | if(filterDiv !== null){ |
|
| 35 | setFilterBy(fields, filterDiv); |
|
| 36 | setFilterValue(fields, filterDiv); |
|
| 37 | } |
|
| 38 | return fields; |
|
| 39 | } |
|
| 40 | function getFilterDivByTableIDOrNull(tableID){ |
|
| 41 | var res = null; |
|
| 42 | if(document.getElementById(tableID).parentNode.getElementsByTagName("div").length > 0){ |
|
| 43 | for(var i = 0; i < document.getElementById(tableID).parentNode.getElementsByTagName("div").length; i++){ |
|
| 44 | if(document.getElementById(tableID).parentNode.getElementsByTagName("div")[i].getAttribute("class") === "filter"){ |
|
| 45 | return document.getElementById(tableID).parentNode.getElementsByTagName("div")[i]; |
|
| 46 | } |
|
| 47 | } |
|
| 48 | ||
| 49 | } |
|
| 50 | return res; |
|
| 51 | } |
|
| 52 | function setFilterBy(fields, filterDiv){ |
|
| 53 | var slctObj = filterDiv.getElementsByTagName("select")[0]; |
|
| 54 | if(slctObj && slctObj.options[slctObj.selectedIndex].value !== "all"){ |
|
| 55 | fields.filterBy = slctObj.options[slctObj.selectedIndex].value; |
|
| 56 | } |
|
| 57 | } |
|
| 58 | function setFilterValue(fields, filterDiv){ |
|
| 59 | var textObj = filterDiv.getElementsByTagName("input")[0]; |
|
| 60 | if(textObj && textObj.value && textObj.value.length !== 0){ |
|
| 61 | fields.filter = encodeURIComponent(textObj.value.trim()); |
|
| 62 | } |
|
| 63 | } |
|
| 64 | ||
| 65 | var r = getFilterFieldsByTableID(rq.tableId); |
|
| 66 | if(r.filter !== null){ |
|
| 67 | rq.filter = r.filter; |
|
| 68 | } |
|
| 69 | if(r.filterBy !== null){ |
|
| 70 | rq.filterBy = r.filterBy; |
|
| 71 | } |
|
| 72 | }, |
|
| 73 | Run: (function(rq, crntTableId, strDesc){ |
|
| 74 | rq.tableId = crntTableId; |
|
| 75 | th_instance.BuildRequest.Sort(rq, strDesc); |
|
| @@ 27-69 (lines=43) @@ | ||
| 24 | } |
|
| 25 | } |
|
| 26 | }, |
|
| 27 | Filter: function (rq){ |
|
| 28 | function getFilterFieldsByTableID(tableID){ |
|
| 29 | var fields = {filterBy: null, filter: null}; |
|
| 30 | var filterDiv = getFilterDivByTableIDOrNull(tableID); |
|
| 31 | if(filterDiv !== null){ |
|
| 32 | setFilterBy(fields, filterDiv); |
|
| 33 | setFilterValue(fields, filterDiv); |
|
| 34 | } |
|
| 35 | return fields; |
|
| 36 | } |
|
| 37 | function getFilterDivByTableIDOrNull(tableID){ |
|
| 38 | var res = null; |
|
| 39 | if(document.getElementById(tableID).parentNode.getElementsByTagName("div").length > 0){ |
|
| 40 | for(var i = 0; i < document.getElementById(tableID).parentNode.getElementsByTagName("div").length; i++){ |
|
| 41 | if(document.getElementById(tableID).parentNode.getElementsByTagName("div")[i].getAttribute("class") === "filter"){ |
|
| 42 | return document.getElementById(tableID).parentNode.getElementsByTagName("div")[i]; |
|
| 43 | } |
|
| 44 | } |
|
| 45 | ||
| 46 | } |
|
| 47 | return res; |
|
| 48 | } |
|
| 49 | function setFilterBy(fields, filterDiv){ |
|
| 50 | var slctObj = filterDiv.getElementsByTagName("select")[0]; |
|
| 51 | if(slctObj && slctObj.options[slctObj.selectedIndex].value !== "all"){ |
|
| 52 | fields.filterBy = slctObj.options[slctObj.selectedIndex].value; |
|
| 53 | } |
|
| 54 | } |
|
| 55 | function setFilterValue(fields, filterDiv){ |
|
| 56 | var textObj = filterDiv.getElementsByTagName("input")[0]; |
|
| 57 | if(textObj && textObj.value && textObj.value.length !== 0){ |
|
| 58 | fields.filter = encodeURIComponent(textObj.value.trim()); |
|
| 59 | } |
|
| 60 | } |
|
| 61 | ||
| 62 | var r = getFilterFieldsByTableID(rq.tableId); |
|
| 63 | if(r.filter !== null){ |
|
| 64 | rq.filter = r.filter; |
|
| 65 | } |
|
| 66 | if(r.filterBy !== null){ |
|
| 67 | rq.filterBy = r.filterBy; |
|
| 68 | } |
|
| 69 | }, |
|
| 70 | Run: (function(rq, crntTableId, strDesc){ |
|
| 71 | rq.tableId = crntTableId; |
|
| 72 | TableHelper.BuildRequest.Sort(rq, strDesc); |
|