public/themes/templates/1/includes/js/game_search.js   A
last analyzed

Complexity

Total Complexity 29
Complexity/F 1.07

Size

Lines of Code 131
Function Count 27

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 88
dl 0
loc 131
rs 10
c 0
b 0
f 0
wmc 29
mnd 2
bc 2
fnc 27
bpm 0.074
cpm 1.074
noi 1

2 Functions

Rating   Name   Duplication   Size   Complexity  
A game_search.js ➔ GameSearch 0 17 3
A game_search.js ➔ addNewGame 0 24 4
1
window.GameSearch = (function () {
2
    function GameSearch () {
3
        var formValues = $('#JSCpanelGameSearchForm').serialize();
4
5
        $.ajaxQueue({
6
            // The URL for the request
7
            url: '../games/ajax_game_search.php',
8
            data: formValues,
9
            type: 'GET',
10
            dataType: 'html',
11
12
            // Code to run if the request succeeds;
13
            // the response is passed to the function
14
            success: function (html) {
15
                $('#column_center_cpanel').html(html);
16
            }
17
        });
18
    }
19
20
    function addNewGame () {
21
        var JSnewgame = $('#JSNewgameName').val();
22
        if (JSnewgame === '') {
23
            alert('Please fill in a game name');
0 ignored issues
show
Debugging Code Best Practice introduced by
The alert UI element is often considered obtrusive and is generally only used as a temporary measure. Consider replacing it with another UI element.
Loading history...
24
        } else {
25
            $('#JSGenericModal').dialog({
26
                title: 'Add new game?',
27
                open: $('#JSGenericModalText').text('Are you sure you want to insert this game into the database?'),
28
                resizable: false,
29
                height: 200,
30
                modal: true,
31
                buttons: {
32
                    'Add': function () {
33
                        $(this).dialog('close');
34
                        var url = '../games/db_games_detail.php?newgame=' + JSnewgame + '&action=insert_game';
35
                        location.href = url;
36
                    },
37
                    Cancel: function () {
38
                        $(this).dialog('close');
39
                    }
40
                }
41
            });
42
        }
43
    }
44
45
    jQuery(document).ready(function () {
46
        $('#JSResetButton').click(function () {
47
            $('#JSCpanelGameSearchForm').trigger('reset');
48
            $('#JSCpanelGameBrowse').val('num').prop('selected', true);
49
            GameSearch();
50
        })
51
        $('#JSNewgameButton').click(function () {
52
            addNewGame();
53
        })
54
55
        $('#JSCpanelGameBrowse').change(function () {
56
            GameSearch();
57
        });
58
        $('#JSCpanelPublisherBrowse').change(function () {
59
            GameSearch();
60
        });
61
        $('#JSCpanelDeveloperBrowse').change(function () {
62
            GameSearch();
63
        });
64
        $('#JSCpanelYearBrowse').change(function () {
65
            GameSearch();
66
        });
67
        $('#JSCpanelGameSearch').keyup(function () {
68
            var value = $(this).val();
69
            if (value.length >= 3 || value === '') {
70
                $('#JSCpanelGameBrowse').val('1');
71
                GameSearch();
72
            }
73
        });
74
75
        window.JSPublisherSelect = function (publisherId) {
76
            $('#JSCpanelPublisherBrowse').val(publisherId).prop('selected', true);
77
            $('#JSCpanelGameBrowse').val('-').prop('selected', true);
78
            $('#JSCpanelDeveloperBrowse').val('-').prop('selected', true);
79
            $('#JSCpanelYearBrowse').val('-').prop('selected', true);
80
            GameSearch();
81
        };
82
        window.JSDeveloperSelect = function (developerId) {
83
            $('#JSCpanelDeveloperBrowse').val(developerId).prop('selected', true);
84
            $('#JSCpanelGameBrowse').val('-').prop('selected', true);
85
            $('#JSCpanelPublisherBrowse').val('-').prop('selected', true);
86
            $('#JSCpanelYearBrowse').val('-').prop('selected', true);
87
            GameSearch();
88
        };
89
        window.JSYearSelect = function (yearId) {
90
            $('#JSCpanelYearBrowse').val(yearId).prop('selected', true);
91
            $('#JSCpanelGameBrowse').val('-').prop('selected', true);
92
            $('#JSCpanelPublisherBrowse').val('-').prop('selected', true);
93
            $('#JSCpanelDeveloperBrowse').val('-').prop('selected', true);
94
            GameSearch();
95
        };
96
        $('#JSarcade').change(function () {
97
            GameSearch();
98
        });
99
        $('#JSdevelopment').change(function () {
100
            GameSearch();
101
        });
102
        $('#JSwanted').change(function () {
103
            GameSearch();
104
        });
105
        $('#JSunreleased').change(function () {
106
            GameSearch();
107
        });
108
        $('#JSunfinished').change(function () {
109
            GameSearch();
110
        });
111
        $('#JSseuck').change(function () {
112
            GameSearch();
113
        });
114
        $('#JSstos').change(function () {
115
            GameSearch();
116
        });
117
        $('#JSstac').change(function () {
118
            GameSearch();
119
        });
120
        $('#JSboxscan').change(function () {
121
            GameSearch();
122
        });
123
        $('#JSscreenshot').change(function () {
124
            GameSearch();
125
        });
126
    });
127
128
    return {
129
        GameSearch: GameSearch
130
    }
131
})();
132