1 |
|
---|
2 |
|
---|
3 | function twFormToggleAllFields()
|
---|
4 | {
|
---|
5 | var $obtype_all = $('#obtype-all');
|
---|
6 | var $individual_obtype_fields = $('#individual-obtype-fields div');
|
---|
7 |
|
---|
8 | if ($obtype_all.is(':checked')) {
|
---|
9 | $individual_obtype_fields.children().prop('disabled',true);
|
---|
10 | }
|
---|
11 | else {
|
---|
12 | $individual_obtype_fields.children().prop('disabled',false);
|
---|
13 | }
|
---|
14 |
|
---|
15 | }
|
---|
16 |
|
---|
17 | function twFormToGSQuery()
|
---|
18 | {
|
---|
19 | var ft_query_term = $('#fulltext-search-terms').val();
|
---|
20 |
|
---|
21 | var num_terms = 0;
|
---|
22 | if (!ft_query_term.match(/^\s*$/)) {
|
---|
23 | num_terms++;
|
---|
24 |
|
---|
25 | var $ftq_input = $('#QueryForm input.fulltext-query-term');
|
---|
26 | $ftq_input.val(ft_query_term);
|
---|
27 | }
|
---|
28 |
|
---|
29 | var $ftq_ob_field_input = $('#QueryForm input.objecttype-query-term');
|
---|
30 |
|
---|
31 | // Check for 'all fields'
|
---|
32 |
|
---|
33 | if ($('#obtype-all').is(':checked')) {
|
---|
34 | num_terms++;
|
---|
35 |
|
---|
36 | var $ob_field_checked = $(".obtype-field");
|
---|
37 |
|
---|
38 | var ftq_ob_field_val = "";
|
---|
39 | $ob_field_checked.each(function(index,value) {
|
---|
40 | ftq_ob_field_val += " " + $(this).val();
|
---|
41 | });
|
---|
42 |
|
---|
43 | $ftq_ob_field_input.val(ftq_ob_field_val.trim());
|
---|
44 | }
|
---|
45 | else {
|
---|
46 |
|
---|
47 | var $ob_field_checked = $(".obtype-field:checked");
|
---|
48 |
|
---|
49 | var ftq_ob_field_val = "";
|
---|
50 | $ob_field_checked.each(function(index,value) {
|
---|
51 | num_terms++;
|
---|
52 | ftq_ob_field_val += " " + $(this).val();
|
---|
53 | });
|
---|
54 | }
|
---|
55 |
|
---|
56 | if (num_terms == 0) {
|
---|
57 | // No actual query input
|
---|
58 | return false;
|
---|
59 | }
|
---|
60 |
|
---|
61 | $ftq_ob_field_input.val(ftq_ob_field_val.trim());
|
---|
62 |
|
---|
63 | // go ahead with search/query
|
---|
64 | return true;
|
---|
65 | }
|
---|
66 |
|
---|
67 |
|
---|
68 | function showStories(elem)
|
---|
69 | {
|
---|
70 | var cl1_url = gs.xsltParams["library_name"]+"/collection/"+gs.cgiParams["c"]+"/browse/CL1";
|
---|
71 |
|
---|
72 | $.ajax({
|
---|
73 | "type": "GET",
|
---|
74 | "url": cl1_url,
|
---|
75 | "data": { 'excerptid': 'results' }
|
---|
76 | })
|
---|
77 | .done(function(response) {
|
---|
78 | $('#story-list').html(response);
|
---|
79 | $('#story-list').show();
|
---|
80 | })
|
---|
81 | .fail(function() {
|
---|
82 | console.error("Error retrieving URL: " + cl1_url);
|
---|
83 | })
|
---|
84 |
|
---|
85 | }
|
---|
86 |
|
---|
87 | function hideStories(elem)
|
---|
88 | {
|
---|
89 | $('#story-list').hide();
|
---|
90 | }
|
---|
91 |
|
---|
92 | $(document).ready(function() {
|
---|
93 | if (gs.variables.pageAction == "q") {
|
---|
94 | $('#gs-nav li').removeClass('ui-tabs-selected');
|
---|
95 | $('#query-tab').addClass('ui-tabs-selected');
|
---|
96 | }
|
---|
97 | else if ((gs.variables.pageType == "page") && (gs.variables.pageSubAction == "about")) {
|
---|
98 | $('#gs-nav li').removeClass('ui-tabs-selected');
|
---|
99 | $('#about-tab').addClass('ui-tabs-selected');
|
---|
100 | }
|
---|
101 | else if ((gs.variables.pageType == "page") && (gs.variables.pageSubAction == "stories")) {
|
---|
102 | $('#gs-nav li').removeClass('ui-tabs-selected');
|
---|
103 | $('#stories-tab').addClass('ui-tabs-selected');
|
---|
104 |
|
---|
105 |
|
---|
106 | $('#stories-tab').on('mouseenter',function() { showStories(this) });
|
---|
107 | $('#stories-tab').on('mouseleave',function() { hideStories(this) });
|
---|
108 | }
|
---|
109 |
|
---|
110 | // Inspect the query form cgi-params, and set the ThomFong designed version of the
|
---|
111 | // query form accordingly
|
---|
112 |
|
---|
113 | //if (gs.cgiParams.s1_fqv) {
|
---|
114 | if (gs.variables.pageAction && gs.variables.pageAction == "q") {
|
---|
115 | var query_terms = gs.cgiParams.s1_fqv.split(",");
|
---|
116 | var query_fields = gs.cgiParams.s1_fqf.split(","); // e.g., "TE","OB"
|
---|
117 |
|
---|
118 | var field_to_terms = {};
|
---|
119 |
|
---|
120 | var num_query_fields = query_fields.length;
|
---|
121 | for (var i=0; i<num_query_fields; i++) {
|
---|
122 | var field = query_fields[i];
|
---|
123 |
|
---|
124 | field_to_terms[field] = query_terms[i];
|
---|
125 | }
|
---|
126 |
|
---|
127 | var text_terms_str = field_to_terms["TE"];
|
---|
128 | var ob_terms_str = field_to_terms["OB"];
|
---|
129 |
|
---|
130 | // Perpetuate the previously entered query term => insert it (back) into the query <input> box
|
---|
131 | $('#fulltext-search-terms').val(text_terms_str);
|
---|
132 |
|
---|
133 |
|
---|
134 | if (ob_terms_str != "") {
|
---|
135 | // Perpetuate the previously ticked check-boxes, => set them to be true in the newly loaded for
|
---|
136 | var ob_terms_array = ob_terms_str.split(" ");
|
---|
137 |
|
---|
138 | var ob_terms_len = ob_terms_array.length;
|
---|
139 | for (var i=0; i<ob_terms_len; i++) {
|
---|
140 | ob_term = ob_terms_array[i];
|
---|
141 | $('.obtype-field[value='+ob_term+']').prop('checked',true);
|
---|
142 | }
|
---|
143 | }
|
---|
144 |
|
---|
145 | }
|
---|
146 |
|
---|
147 | });
|
---|