Loading tools/droiddoc/templates-sdk/assets/js/docs.js +263 −16 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ var navBarIsFixed = false; $(document).ready(function() { // load json file for JD doc search suggestions $.getScript(toRoot + 'reference/jd_lists.js'); $.getScript(toRoot + 'jd_lists_unified.js'); // load json file for Android API search suggestions $.getScript(toRoot + 'reference/lists.js'); // load json files for Google services API suggestions Loading Loading @@ -1539,6 +1539,13 @@ function set_item_values(toroot, $li, match) $link.attr('href',toroot + match.link); } function set_item_values_jd(toroot, $li, match) { var $link = $('a',$li); $link.html(match.title); $link.attr('href',toroot + match.url); } function new_suggestion($list) { var $li = $("<li class='jd-autocomplete'></li>"); $list.append($li); Loading Loading @@ -1615,6 +1622,9 @@ function sync_selection_table(toroot) $(".search_filtered_wrapper.docs li").remove(); // determine google results to show // NOTE: The order of the conditions below for the sugg.type MUST BE SPECIFIC: // The order must match the reverse order that each section appears as a card in // the suggestion UI... this may be only for the "develop" grouped items though. gDocsListLength = gDocsMatches.length < ROW_COUNT_DOCS ? gDocsMatches.length : ROW_COUNT_DOCS; for (i=0; i<gDocsListLength; i++) { var sugg = gDocsMatches[i]; Loading @@ -1625,16 +1635,19 @@ function sync_selection_table(toroot) if (sugg.type == "distribute") { $li = new_suggestion($(".suggest-card.distribute ul")); } else if (sugg.type == "samples") { $li = new_suggestion($(".suggest-card.develop .child-card.samples")); } else if (sugg.type == "training") { $li = new_suggestion($(".suggest-card.develop .child-card.training")); } else if (sugg.type == "guide"||"google") { if (sugg.type == "about"||"guide"||"tools"||"google") { $li = new_suggestion($(".suggest-card.develop .child-card.guides")); } else { continue; } set_item_values(toroot, $li, sugg); set_item_values_jd(toroot, $li, sugg); set_item_selected($li, i == gSelectedIndex); } Loading @@ -1659,6 +1672,10 @@ function sync_selection_table(toroot) $(".child-card.training").prepend("<li class='header'>Training:</li>"); $(".child-card.training li").appendTo(".suggest-card.develop ul"); } if ($(".child-card.samples li").length > 0) { $(".child-card.samples").prepend("<li class='header'>Samples:</li>"); $(".child-card.samples li").appendTo(".suggest-card.develop ul"); } if ($(".suggest-card.develop li").length > 0) { $(".suggest-card.develop").show(300); Loading @@ -1681,6 +1698,7 @@ function sync_selection_table(toroot) */ function search_changed(e, kd, toroot) { var currentLang = getLangPref(); var search = document.getElementById("search_autocomplete"); var text = search.value.replace(/(^ +)|( +$)/g, ''); // get the ul hosting the currently selected item Loading Loading @@ -1794,8 +1812,8 @@ function search_changed(e, kd, toroot) } } // if key-up event and not arrow down/up, // read the search query and add suggestsions to gMatches // if key-up event and not arrow down/up/left/right, // read the search query and add suggestions to gMatches else if (!kd && (e.keyCode != 40) && (e.keyCode != 38) && (e.keyCode != 37) Loading Loading @@ -1841,31 +1859,35 @@ function search_changed(e, kd, toroot) // Search for JD docs // Search for matching JD docs if (text.length >= 3) { for (var i=0; i<JD_DATA.length; i++) { // Regex to match only the beginning of a word var textRegex = new RegExp("\\b" + text.toLowerCase(), "g"); // Search for Training classes for (var i=0; i<TRAINING_RESOURCES.length; i++) { // current search comparison, with counters for tag and title, // used later to improve ranking var s = JD_DATA[i]; var s = TRAINING_RESOURCES[i]; s.matched_tag = 0; s.matched_title = 0; var matched = false; // Check if query matches any tags; work backwards toward 1 to assist ranking for (var j = s.tags.length - 1; j >= 0; j--) { for (var j = s.keywords.length - 1; j >= 0; j--) { // it matches a tag if (s.tags[j].toLowerCase().match(textRegex)) { if (s.keywords[j].toLowerCase().match(textRegex)) { matched = true; s.matched_tag = j + 1; // add 1 to index position } } // Don't consider doc title for lessons (only for class landing pages) // ...it is not a training lesson (or is but has matched a tag) if (!(s.type == "training" && s.link.indexOf("index.html") == -1) || matched) { // Don't consider doc title for lessons (only for class landing pages), // unless the lesson has a tag that already matches if ((s.lang == currentLang) && (!(s.type == "training" && s.url.indexOf("index.html") == -1) || matched)) { // it matches the doc title if (s.label.toLowerCase().match(textRegex)) { if (s.title.toLowerCase().match(textRegex)) { matched = true; s.matched_title = 1; } Loading @@ -1875,6 +1897,231 @@ function search_changed(e, kd, toroot) matchedCountDocs++; } } // Search for API Guides for (var i=0; i<GUIDE_RESOURCES.length; i++) { // current search comparison, with counters for tag and title, // used later to improve ranking var s = GUIDE_RESOURCES[i]; s.matched_tag = 0; s.matched_title = 0; var matched = false; // Check if query matches any tags; work backwards toward 1 to assist ranking for (var j = s.keywords.length - 1; j >= 0; j--) { // it matches a tag if (s.keywords[j].toLowerCase().match(textRegex)) { matched = true; s.matched_tag = j + 1; // add 1 to index position } } // Check if query matches the doc title, but only for current language if (s.lang == currentLang) { // if query matches the doc title if (s.title.toLowerCase().match(textRegex)) { matched = true; s.matched_title = 1; } } if (matched) { gDocsMatches[matchedCountDocs] = s; matchedCountDocs++; } } // Search for Tools Guides for (var i=0; i<TOOLS_RESOURCES.length; i++) { // current search comparison, with counters for tag and title, // used later to improve ranking var s = TOOLS_RESOURCES[i]; s.matched_tag = 0; s.matched_title = 0; var matched = false; // Check if query matches any tags; work backwards toward 1 to assist ranking for (var j = s.keywords.length - 1; j >= 0; j--) { // it matches a tag if (s.keywords[j].toLowerCase().match(textRegex)) { matched = true; s.matched_tag = j + 1; // add 1 to index position } } // Check if query matches the doc title, but only for current language if (s.lang == currentLang) { // if query matches the doc title if (s.title.toLowerCase().match(textRegex)) { matched = true; s.matched_title = 1; } } if (matched) { gDocsMatches[matchedCountDocs] = s; matchedCountDocs++; } } // Search for About docs for (var i=0; i<ABOUT_RESOURCES.length; i++) { // current search comparison, with counters for tag and title, // used later to improve ranking var s = ABOUT_RESOURCES[i]; s.matched_tag = 0; s.matched_title = 0; var matched = false; // Check if query matches any tags; work backwards toward 1 to assist ranking for (var j = s.keywords.length - 1; j >= 0; j--) { // it matches a tag if (s.keywords[j].toLowerCase().match(textRegex)) { matched = true; s.matched_tag = j + 1; // add 1 to index position } } // Check if query matches the doc title, but only for current language if (s.lang == currentLang) { // if query matches the doc title if (s.title.toLowerCase().match(textRegex)) { matched = true; s.matched_title = 1; } } if (matched) { gDocsMatches[matchedCountDocs] = s; matchedCountDocs++; } } // Search for Design guides for (var i=0; i<DESIGN_RESOURCES.length; i++) { // current search comparison, with counters for tag and title, // used later to improve ranking var s = DESIGN_RESOURCES[i]; s.matched_tag = 0; s.matched_title = 0; var matched = false; // Check if query matches any tags; work backwards toward 1 to assist ranking for (var j = s.keywords.length - 1; j >= 0; j--) { // it matches a tag if (s.keywords[j].toLowerCase().match(textRegex)) { matched = true; s.matched_tag = j + 1; // add 1 to index position } } // Check if query matches the doc title, but only for current language if (s.lang == currentLang) { // if query matches the doc title if (s.title.toLowerCase().match(textRegex)) { matched = true; s.matched_title = 1; } } if (matched) { gDocsMatches[matchedCountDocs] = s; matchedCountDocs++; } } // Search for Distribute guides for (var i=0; i<DISTRIBUTE_RESOURCES.length; i++) { // current search comparison, with counters for tag and title, // used later to improve ranking var s = DISTRIBUTE_RESOURCES[i]; s.matched_tag = 0; s.matched_title = 0; var matched = false; // Check if query matches any tags; work backwards toward 1 to assist ranking for (var j = s.keywords.length - 1; j >= 0; j--) { // it matches a tag if (s.keywords[j].toLowerCase().match(textRegex)) { matched = true; s.matched_tag = j + 1; // add 1 to index position } } // Check if query matches the doc title, but only for current language if (s.lang == currentLang) { // if query matches the doc title if (s.title.toLowerCase().match(textRegex)) { matched = true; s.matched_title = 1; } } if (matched) { gDocsMatches[matchedCountDocs] = s; matchedCountDocs++; } } // Search for Google guides for (var i=0; i<GOOGLE_RESOURCES.length; i++) { // current search comparison, with counters for tag and title, // used later to improve ranking var s = GOOGLE_RESOURCES[i]; s.matched_tag = 0; s.matched_title = 0; var matched = false; // Check if query matches any tags; work backwards toward 1 to assist ranking for (var j = s.keywords.length - 1; j >= 0; j--) { // it matches a tag if (s.keywords[j].toLowerCase().match(textRegex)) { matched = true; s.matched_tag = j + 1; // add 1 to index position } } // Check if query matches the doc title, but only for current language if (s.lang == currentLang) { // if query matches the doc title if (s.title.toLowerCase().match(textRegex)) { matched = true; s.matched_title = 1; } } if (matched) { gDocsMatches[matchedCountDocs] = s; matchedCountDocs++; } } // Search for Samples for (var i=0; i<SAMPLES_RESOURCES.length; i++) { // current search comparison, with counters for tag and title, // used later to improve ranking var s = SAMPLES_RESOURCES[i]; s.matched_tag = 0; s.matched_title = 0; var matched = false; // Check if query matches any tags; work backwards toward 1 to assist ranking for (var j = s.keywords.length - 1; j >= 0; j--) { // it matches a tag if (s.keywords[j].toLowerCase().match(textRegex)) { matched = true; s.matched_tag = j + 1; // add 1 to index position } } // Check if query matches the doc title, but only for current language if (s.lang == currentLang) { // if query matches the doc title.t if (s.title.toLowerCase().match(textRegex)) { matched = true; s.matched_title = 1; } } if (matched) { gDocsMatches[matchedCountDocs] = s; matchedCountDocs++; } } // Rank/sort all the matched pages rank_autocomplete_doc_results(text, gDocsMatches); } Loading tools/droiddoc/templates-sdk/components/masthead.cs +2 −0 Original line number Diff line number Diff line Loading @@ -122,6 +122,8 @@ onkeyup="return search_changed(event, false, '<?cs var:toroot ?>')" /> </div> <div class="child-card training no-display"> </div> <div class="child-card samples no-display"> </div> </div> <div class="suggest-card design no-display"> <ul class="search_filtered"> Loading Loading
tools/droiddoc/templates-sdk/assets/js/docs.js +263 −16 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ var navBarIsFixed = false; $(document).ready(function() { // load json file for JD doc search suggestions $.getScript(toRoot + 'reference/jd_lists.js'); $.getScript(toRoot + 'jd_lists_unified.js'); // load json file for Android API search suggestions $.getScript(toRoot + 'reference/lists.js'); // load json files for Google services API suggestions Loading Loading @@ -1539,6 +1539,13 @@ function set_item_values(toroot, $li, match) $link.attr('href',toroot + match.link); } function set_item_values_jd(toroot, $li, match) { var $link = $('a',$li); $link.html(match.title); $link.attr('href',toroot + match.url); } function new_suggestion($list) { var $li = $("<li class='jd-autocomplete'></li>"); $list.append($li); Loading Loading @@ -1615,6 +1622,9 @@ function sync_selection_table(toroot) $(".search_filtered_wrapper.docs li").remove(); // determine google results to show // NOTE: The order of the conditions below for the sugg.type MUST BE SPECIFIC: // The order must match the reverse order that each section appears as a card in // the suggestion UI... this may be only for the "develop" grouped items though. gDocsListLength = gDocsMatches.length < ROW_COUNT_DOCS ? gDocsMatches.length : ROW_COUNT_DOCS; for (i=0; i<gDocsListLength; i++) { var sugg = gDocsMatches[i]; Loading @@ -1625,16 +1635,19 @@ function sync_selection_table(toroot) if (sugg.type == "distribute") { $li = new_suggestion($(".suggest-card.distribute ul")); } else if (sugg.type == "samples") { $li = new_suggestion($(".suggest-card.develop .child-card.samples")); } else if (sugg.type == "training") { $li = new_suggestion($(".suggest-card.develop .child-card.training")); } else if (sugg.type == "guide"||"google") { if (sugg.type == "about"||"guide"||"tools"||"google") { $li = new_suggestion($(".suggest-card.develop .child-card.guides")); } else { continue; } set_item_values(toroot, $li, sugg); set_item_values_jd(toroot, $li, sugg); set_item_selected($li, i == gSelectedIndex); } Loading @@ -1659,6 +1672,10 @@ function sync_selection_table(toroot) $(".child-card.training").prepend("<li class='header'>Training:</li>"); $(".child-card.training li").appendTo(".suggest-card.develop ul"); } if ($(".child-card.samples li").length > 0) { $(".child-card.samples").prepend("<li class='header'>Samples:</li>"); $(".child-card.samples li").appendTo(".suggest-card.develop ul"); } if ($(".suggest-card.develop li").length > 0) { $(".suggest-card.develop").show(300); Loading @@ -1681,6 +1698,7 @@ function sync_selection_table(toroot) */ function search_changed(e, kd, toroot) { var currentLang = getLangPref(); var search = document.getElementById("search_autocomplete"); var text = search.value.replace(/(^ +)|( +$)/g, ''); // get the ul hosting the currently selected item Loading Loading @@ -1794,8 +1812,8 @@ function search_changed(e, kd, toroot) } } // if key-up event and not arrow down/up, // read the search query and add suggestsions to gMatches // if key-up event and not arrow down/up/left/right, // read the search query and add suggestions to gMatches else if (!kd && (e.keyCode != 40) && (e.keyCode != 38) && (e.keyCode != 37) Loading Loading @@ -1841,31 +1859,35 @@ function search_changed(e, kd, toroot) // Search for JD docs // Search for matching JD docs if (text.length >= 3) { for (var i=0; i<JD_DATA.length; i++) { // Regex to match only the beginning of a word var textRegex = new RegExp("\\b" + text.toLowerCase(), "g"); // Search for Training classes for (var i=0; i<TRAINING_RESOURCES.length; i++) { // current search comparison, with counters for tag and title, // used later to improve ranking var s = JD_DATA[i]; var s = TRAINING_RESOURCES[i]; s.matched_tag = 0; s.matched_title = 0; var matched = false; // Check if query matches any tags; work backwards toward 1 to assist ranking for (var j = s.tags.length - 1; j >= 0; j--) { for (var j = s.keywords.length - 1; j >= 0; j--) { // it matches a tag if (s.tags[j].toLowerCase().match(textRegex)) { if (s.keywords[j].toLowerCase().match(textRegex)) { matched = true; s.matched_tag = j + 1; // add 1 to index position } } // Don't consider doc title for lessons (only for class landing pages) // ...it is not a training lesson (or is but has matched a tag) if (!(s.type == "training" && s.link.indexOf("index.html") == -1) || matched) { // Don't consider doc title for lessons (only for class landing pages), // unless the lesson has a tag that already matches if ((s.lang == currentLang) && (!(s.type == "training" && s.url.indexOf("index.html") == -1) || matched)) { // it matches the doc title if (s.label.toLowerCase().match(textRegex)) { if (s.title.toLowerCase().match(textRegex)) { matched = true; s.matched_title = 1; } Loading @@ -1875,6 +1897,231 @@ function search_changed(e, kd, toroot) matchedCountDocs++; } } // Search for API Guides for (var i=0; i<GUIDE_RESOURCES.length; i++) { // current search comparison, with counters for tag and title, // used later to improve ranking var s = GUIDE_RESOURCES[i]; s.matched_tag = 0; s.matched_title = 0; var matched = false; // Check if query matches any tags; work backwards toward 1 to assist ranking for (var j = s.keywords.length - 1; j >= 0; j--) { // it matches a tag if (s.keywords[j].toLowerCase().match(textRegex)) { matched = true; s.matched_tag = j + 1; // add 1 to index position } } // Check if query matches the doc title, but only for current language if (s.lang == currentLang) { // if query matches the doc title if (s.title.toLowerCase().match(textRegex)) { matched = true; s.matched_title = 1; } } if (matched) { gDocsMatches[matchedCountDocs] = s; matchedCountDocs++; } } // Search for Tools Guides for (var i=0; i<TOOLS_RESOURCES.length; i++) { // current search comparison, with counters for tag and title, // used later to improve ranking var s = TOOLS_RESOURCES[i]; s.matched_tag = 0; s.matched_title = 0; var matched = false; // Check if query matches any tags; work backwards toward 1 to assist ranking for (var j = s.keywords.length - 1; j >= 0; j--) { // it matches a tag if (s.keywords[j].toLowerCase().match(textRegex)) { matched = true; s.matched_tag = j + 1; // add 1 to index position } } // Check if query matches the doc title, but only for current language if (s.lang == currentLang) { // if query matches the doc title if (s.title.toLowerCase().match(textRegex)) { matched = true; s.matched_title = 1; } } if (matched) { gDocsMatches[matchedCountDocs] = s; matchedCountDocs++; } } // Search for About docs for (var i=0; i<ABOUT_RESOURCES.length; i++) { // current search comparison, with counters for tag and title, // used later to improve ranking var s = ABOUT_RESOURCES[i]; s.matched_tag = 0; s.matched_title = 0; var matched = false; // Check if query matches any tags; work backwards toward 1 to assist ranking for (var j = s.keywords.length - 1; j >= 0; j--) { // it matches a tag if (s.keywords[j].toLowerCase().match(textRegex)) { matched = true; s.matched_tag = j + 1; // add 1 to index position } } // Check if query matches the doc title, but only for current language if (s.lang == currentLang) { // if query matches the doc title if (s.title.toLowerCase().match(textRegex)) { matched = true; s.matched_title = 1; } } if (matched) { gDocsMatches[matchedCountDocs] = s; matchedCountDocs++; } } // Search for Design guides for (var i=0; i<DESIGN_RESOURCES.length; i++) { // current search comparison, with counters for tag and title, // used later to improve ranking var s = DESIGN_RESOURCES[i]; s.matched_tag = 0; s.matched_title = 0; var matched = false; // Check if query matches any tags; work backwards toward 1 to assist ranking for (var j = s.keywords.length - 1; j >= 0; j--) { // it matches a tag if (s.keywords[j].toLowerCase().match(textRegex)) { matched = true; s.matched_tag = j + 1; // add 1 to index position } } // Check if query matches the doc title, but only for current language if (s.lang == currentLang) { // if query matches the doc title if (s.title.toLowerCase().match(textRegex)) { matched = true; s.matched_title = 1; } } if (matched) { gDocsMatches[matchedCountDocs] = s; matchedCountDocs++; } } // Search for Distribute guides for (var i=0; i<DISTRIBUTE_RESOURCES.length; i++) { // current search comparison, with counters for tag and title, // used later to improve ranking var s = DISTRIBUTE_RESOURCES[i]; s.matched_tag = 0; s.matched_title = 0; var matched = false; // Check if query matches any tags; work backwards toward 1 to assist ranking for (var j = s.keywords.length - 1; j >= 0; j--) { // it matches a tag if (s.keywords[j].toLowerCase().match(textRegex)) { matched = true; s.matched_tag = j + 1; // add 1 to index position } } // Check if query matches the doc title, but only for current language if (s.lang == currentLang) { // if query matches the doc title if (s.title.toLowerCase().match(textRegex)) { matched = true; s.matched_title = 1; } } if (matched) { gDocsMatches[matchedCountDocs] = s; matchedCountDocs++; } } // Search for Google guides for (var i=0; i<GOOGLE_RESOURCES.length; i++) { // current search comparison, with counters for tag and title, // used later to improve ranking var s = GOOGLE_RESOURCES[i]; s.matched_tag = 0; s.matched_title = 0; var matched = false; // Check if query matches any tags; work backwards toward 1 to assist ranking for (var j = s.keywords.length - 1; j >= 0; j--) { // it matches a tag if (s.keywords[j].toLowerCase().match(textRegex)) { matched = true; s.matched_tag = j + 1; // add 1 to index position } } // Check if query matches the doc title, but only for current language if (s.lang == currentLang) { // if query matches the doc title if (s.title.toLowerCase().match(textRegex)) { matched = true; s.matched_title = 1; } } if (matched) { gDocsMatches[matchedCountDocs] = s; matchedCountDocs++; } } // Search for Samples for (var i=0; i<SAMPLES_RESOURCES.length; i++) { // current search comparison, with counters for tag and title, // used later to improve ranking var s = SAMPLES_RESOURCES[i]; s.matched_tag = 0; s.matched_title = 0; var matched = false; // Check if query matches any tags; work backwards toward 1 to assist ranking for (var j = s.keywords.length - 1; j >= 0; j--) { // it matches a tag if (s.keywords[j].toLowerCase().match(textRegex)) { matched = true; s.matched_tag = j + 1; // add 1 to index position } } // Check if query matches the doc title, but only for current language if (s.lang == currentLang) { // if query matches the doc title.t if (s.title.toLowerCase().match(textRegex)) { matched = true; s.matched_title = 1; } } if (matched) { gDocsMatches[matchedCountDocs] = s; matchedCountDocs++; } } // Rank/sort all the matched pages rank_autocomplete_doc_results(text, gDocsMatches); } Loading
tools/droiddoc/templates-sdk/components/masthead.cs +2 −0 Original line number Diff line number Diff line Loading @@ -122,6 +122,8 @@ onkeyup="return search_changed(event, false, '<?cs var:toroot ?>')" /> </div> <div class="child-card training no-display"> </div> <div class="child-card samples no-display"> </div> </div> <div class="suggest-card design no-display"> <ul class="search_filtered"> Loading