Changeset 31384 for other-projects/hathitrust/wcsa/extracted-features-solr/trunk/web-portal/index.js
- Timestamp:
- 2017-02-02T21:41:53+13:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
other-projects/hathitrust/wcsa/extracted-features-solr/trunk/web-portal/index.js
r31383 r31384 1 1 2 var langs_with_pos =["da","de","en","nl","pt"]; 2 //var langs_with_pos =["da","de","en","nl","pt"]; 3 var langs_with_pos =["en","de","pt","da","nl"]; 3 4 var langs_without_pos =["af","ar","bg","bn","cs","el","es","et","fa","fi","fr","he","hi","hr","hu","id","it","ja","kn","ko","lt","lv","mk","ml","mr","ne","no","pa","pl","ro","ru","sk","sl","so","sq","sv","sw","ta","te","th","tl","tr","uk","ur","vi","zh-cn","zh-tw"]; 4 5 … … 93 94 } 94 95 95 $(function() { 96 $('#en-enabled').click(lang_pos_toggle); 97 $('#de-enabled').click(lang_pos_toggle); 98 $('#de-pos-choice *').prop('disabled',true); 99 96 function submit_action(event) 97 { 98 event.preventDefault(); 99 100 var action = $('#search-form').attr("action"); 101 102 var arg_indent = $('#indent').attr('value'); 103 var arg_wt = $('#wt').attr('value'); 104 var arg_start = $('#start').attr('value'); 105 var arg_rows = $('#rows').attr('value'); 106 var q_text = $('#q').val(); 107 108 if (q_text === "") { 109 alert("No query term entered"); 110 return; 111 } 112 113 var fields = []; 114 //var langs_with_pos = [ "da", "de", "en", "nl", "pt", "se" ]; 115 var universal_pos_tags = [ "VERB", "NOUN", "ADJ", "ADV", "ADP", "CONJ", "DET", "NUM", "PRT", "X" ]; 116 117 for (var li=0; li<langs_with_pos.length; li++) { 118 var lang = langs_with_pos[li]; 119 var lang_enabled_id = lang + "-enabled"; 120 var $lang_enabled_cb = $('#'+lang_enabled_id); 121 if ($lang_enabled_cb.is(':checked')) { 122 console.log("Extracting POS tags for: " + lang); 123 124 for (var ti=0; ti<universal_pos_tags.length; ti++) { 125 var tag = universal_pos_tags[ti]; 126 var lang_tag_id = lang+"-"+tag+"-htrctoken-cb"; 127 var $lang_tag_cb = $('#'+lang_tag_id); 128 if ($lang_tag_cb.is(':checked')) { 129 var lang_tag_field = "xxxx"+lang+"_"+tag+"_htrctoken"; 130 fields.push(lang_tag_field+":"+q_text); 131 } 132 } 133 } 134 } 135 136 for (var li=0; li<langs_without_pos.length; li++) { 137 var lang = langs_without_pos[li]; 138 var lang_enabled_id = lang + "-enabled"; 139 var $lang_enabled_cb = $('#'+lang_enabled_id); 140 141 if ($lang_enabled_cb.is(':checked')) { 142 console.log("Adding in non-POS field for: " + lang); 143 var lang_tag_field = "xxxx"+lang+"_htrctoken"; 144 fields.push(lang_tag_field+":"+q_text); 145 } 146 } 147 148 if (fields.length == 0) { 149 alert("No languages selected"); 150 return; 151 } 152 153 var arg_q = fields.join(" OR "); 154 155 156 // Example search on one of the htrc-full-ef fields is: 157 // q=xxxxen_NOUN_htrctoken:farming 158 159 var args = { q: arg_q, indent: arg_indent, wt: arg_wt, start: arg_start, rows: arg_rows }; 160 161 $.ajax({ 162 type: 'GET', 163 url: action, 164 data: args, 165 dataType: 'json', 166 success: show_results, 167 error: ajax_error 168 }); 169 170 } 171 172 function generate_pos_langs() 173 { 174 var pos_checkbox = [ 175 { pos:"VERB", label:"Verbs", tooltip:"Verbs (all tenses and modes)" }, 176 { pos:"NOUN", label:"Nouns", tooltip:"Nouns (common and proper)" }, 177 { pos:"ADJ", label:"Adjectives", tooltip: null }, 178 { pos:"ADV", label:"Adverbs", tooltip: null }, 179 { pos:"ADP", label:"Adpositions", tooltip:"Adpositions (prepositions and postpositions)" }, 180 { pos:"CONJ", label:"Conjunctions",tooltip: null }, 181 { pos:"DET", label:"Determiners", tooltip: null }, 182 { pos:"NUM", label:"Numbers", tooltip:"Cardinal numbers" }, 183 { pos:"PRT", label:"Particles", tooltip:"Particles or other function words" }, 184 { pos:"X", label:"Other", tooltip:"Other words, such as foreign words, typos, abbreviations"} 185 ]; 186 187 var $pos_fieldsets = $('#pos-fieldsets'); 188 189 for (var li=0; li<langs_with_pos.length; li++) { 190 191 var l = langs_with_pos[li]; 192 var lang_full = isoLangs[l].name; 193 var lang_native_full = isoLangs[l].nativeName; 194 var opt_title = (lang_full !== lang_native_full) ? 'title="'+lang_native_full+'"' : ""; 195 196 var opt_enabled = (l == "en") ? 'checked="checked"' : ""; 197 198 var legend = ""; 199 legend += ' <legend style="margin-bottom: 5px; padding-top: 15px;">\n'; 200 legend += ' <input type="checkbox" name="'+l+'-enabled" id="'+l+'-enabled" ' + opt_enabled +'/>\n'; 201 legend += ' <span ' + opt_title + '>'+lang_full+':</span>\n'; 202 legend += ' </legend>\n'; 203 204 205 var check_box_list = []; 206 207 for (var pi=0; pi<pos_checkbox.length; pi++) { 208 var pos_info = pos_checkbox[pi]; 209 var pos = pos_info.pos; 210 var label = pos_info.label; 211 var tooltip = pos_info.tooltip; 212 var opt_tooltip = (tooltip != null) ? 'title="'+tooltip+'"' : ""; 213 214 var check_box = ""; 215 check_box += ' <input type="checkbox" name="'+l+'-'+pos+'-htrctoken-cb" id="'+l+'-'+pos+'-htrctoken-cb" checked="checked" />\n'; 216 check_box += ' <label for="'+l+'-'+pos+'-htrctoken-cb" '+opt_tooltip+'>'+label+'</label>\n'; 217 218 check_box_list.push(check_box); 219 } 220 221 var fieldset = ""; 222 fieldset += '<fieldset>\n'; 223 fieldset += legend; 224 fieldset += ' <div id="'+l+'-pos-choice">\n'; 225 226 var check_box_join = check_box_list.join(' '); 227 fieldset += check_box_join; 228 229 fieldset += ' </div>\n'; 230 fieldset += '</fieldset>\n'; 231 232 $pos_fieldsets.append(fieldset); 233 $('#'+l+'-enabled').click(lang_pos_toggle); 234 235 if (l == "en") { 236 $('#en-pos-choice *').prop('disabled',false); 237 } 238 else { 239 $('#'+l+'-pos-choice *').prop('disabled',true); 240 } 241 } 242 243 244 //$('#en-enabled').click(lang_pos_toggle); 245 //$('#de-enabled').click(lang_pos_toggle); 246 //$('#de-pos-choice *').prop('disabled',true); 247 } 248 249 function generate_other_langs() 250 { 100 251 // setup other languages 101 252 // for each 'langs_without_pos' generate HTML of the form: 102 253 // <input type="checkbox" name="fr-enabled" id="fr-enabled" />French 103 254 var $other_langs = $('#other-langs'); 255 104 256 for (var i=0; i<langs_without_pos.length; i++) { 105 257 var lang = langs_without_pos[i]; … … 122 274 123 275 } 124 125 126 127 $('#search-submit').click(function(event) { 128 event.preventDefault(); 129 130 var action = $('#search-form').attr("action"); 131 132 var arg_indent = $('#indent').attr('value'); 133 var arg_wt = $('#wt').attr('value'); 134 var q_text = $('#q').val(); 135 136 var fields = []; 137 var langs_with_pos = [ "da", "de", "en", "nl", "pt", "se" ]; 138 var universal_pos_tags = [ "VERB", "NOUN", "ADJ", "ADV", "ADP", "CONJ", "DET", "NUM", "PRT", "X" ]; 139 140 for (var l=0; l<langs_with_pos.length; l++) { 141 var lang = langs_with_pos[l]; 142 for (var t=0; t<universal_pos_tags.length; t++) { 143 var tag = universal_pos_tags[t]; 144 var lang_tag_id = lang+"-"+tag+"-htrctoken-cb"; 145 var $lang_tag_cb = $('#'+lang_tag_id); 146 if ($lang_tag_cb.is(':checked')) { 147 var lang_tag_field = "xxxx"+lang+"_"+tag+"_htrctoken"; 148 fields.push(lang_tag_field+":"+q_text); 149 } 150 } 151 } 152 153 var arg_q = fields.join(" OR "); 154 155 156 // Example search on one of the htrc-full-ef fields is: 157 // q=xxxxen_NOUN_htrctoken:farming 158 159 var args = { q: arg_q, indent: arg_indent, wt: arg_wt }; 160 161 $.ajax({ 162 type: 'GET', 163 url: action, 164 data: args, 165 dataType: 'json', 166 success: show_results, 167 error: ajax_error 168 }); 169 170 }); 276 } 277 278 $(function() { 279 generate_pos_langs(); 280 281 generate_other_langs(); 282 283 $('#search-submit').click(submit_action); 171 284 172 285 });
Note:
See TracChangeset
for help on using the changeset viewer.