Code Duplication    Length = 43-43 lines in 2 locations

add/table_helper.js 1 location

@@ 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);

add/table.js 1 location

@@ 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);