source: gs3-installations/thewillow/trunk/sites/thewillow/dlcol-chatgpt/iframe-page/dl-chatgpt_files/thewillow-extra.js.download@ 38779

Last change on this file since 38779 was 38779, checked in by davidb, 4 months ago

Files that need to be moved to <gsdl3srchome>/web to provide a static web page example using an iframe to embedd the React/NextJS based chatbot

File size: 3.8 KB
Line 
1
2
3function 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
17function 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
68function 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
87function 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});
Note: See TracBrowser for help on using the repository browser.