Loading tools/droiddoc/templates-sdk-dev/assets/css/default.css +30 −0 Original line number Diff line number Diff line Loading @@ -9887,3 +9887,33 @@ a.video-shadowbox-button.white:hover::after { position: absolute; top: -4px; } /** CSS Fixes for DevSite (akassay@) */ .dac-button-social, .dac-fab:not('.dac-scroll-button') { position: relative; } .dac-button-social .dac-sprite, .dac-fab .dac-sprite, .play-button .dac-sprite { margin-top: -7px; position: relative; top: 50%; } .dac-fab .dac-sprite.dac-arrow-down-gray { margin-top: -3px; } .dac-button-social .dac-sprite.dac-gplus { margin-top: -17px; } .play-button .dac-sprite { margin-top: -10px; } .dac-nav-link-forward { padding: 9px 0; } tools/droiddoc/templates-sdk-dev/assets/js/docs.js +89 −35 Original line number Diff line number Diff line Loading @@ -15,7 +15,8 @@ $.ajaxSetup({ $(document).ready(function() { // prep nav expandos var pagePath = document.location.pathname; var pagePath = devsite ? location.href.replace(location.hash, '') : document.location.pathname; // account for intl docs by removing the intl/*/ path if (pagePath.indexOf("/intl/") == 0) { pagePath = pagePath.substr(pagePath.indexOf("/", 6)); // start after intl/ to get last / Loading Loading @@ -3378,12 +3379,22 @@ window.changeLangPref = changeLangPref; })(); var localeTarget = (function() { var localeTarget = locale; if (window.devsite) { if (getQueryVariable('hl')) { var target = getQueryVariable('hl'); if (!(target === 0) || (LANGUAGES.indexOf(target) === -1)) { localeTarget = target; } } } else { if (location.pathname.substring(0,6) == "/intl/") { var target = location.pathname.split('/')[2]; if (!(target === 0) || (LANGUAGES.indexOf(target) === -1)) { localeTarget = target; } } } return localeTarget; })(); Loading Loading @@ -5357,7 +5368,8 @@ window.metadata.search = (function() { return $.get('https://content.googleapis.com/customsearch/v1?' + $.param(searchParams)); } function renderResults(el, results) { function renderResults(el, results, searchAppliance) { var referenceResults = searchAppliance.getReferenceResults(); if (!results.items) { el.append($('<div>').text('No results')); return; Loading @@ -5365,6 +5377,15 @@ window.metadata.search = (function() { for (var i = 0; i < results.items.length; i++) { var item = results.items[i]; var isDuplicate = false; $(referenceResults.android).each(function(index, result) { if (item.link.indexOf(result.link) > -1) { isDuplicate = true; return false; } }); if (!isDuplicate) { var hasImage = item.pagemap && item.pagemap.cse_thumbnail; var sectionMatch = item.link.match(/developer\.android\.com\/(\w*)/); var section = (sectionMatch && sectionMatch[1]) || 'blog'; Loading @@ -5387,38 +5408,39 @@ window.metadata.search = (function() { el.append(entry); } } if (results.queries.nextPage) { var loadMoreButton = $('<button id="dac-custom-search-load-more">') .addClass('dac-custom-search-load-more') .text('Load more') .click(function() { loadMoreResults(el, results); loadMoreResults(el, results, searchAppliance); }); el.append(loadMoreButton); } } }; function loadMoreResults(el, results) { var query = results.queries.request.searchTerms; var start = results.queries.nextPage.startIndex; function loadMoreResults(el, results, searchAppliance) { var query = results.queries.request[0].searchTerms; var start = results.queries.nextPage[0].startIndex; var loadMoreButton = el.find('#dac-custom-search-load-more'); loadMoreButton.text('Loading more...'); customSearch(query, start).then(function(results) { loadMoreButton.remove(); renderResults(el, results); renderResults(el, results, searchAppliance); }); } $.fn.customSearch = function(query) { $.fn.customSearch = function(query, searchAppliance) { var el = $(this); customSearch(query).then(function(results) { el.empty(); renderResults(el, results); renderResults(el, results, searchAppliance); }); }; })(jQuery); Loading Loading @@ -5625,10 +5647,11 @@ window.metadata.search = (function() { this.searchResultsHero = $('#dac-search-results-hero'); this.searchResultsReference = $('#dac-search-results-reference'); this.searchHeader = $('[data-search]').data('search-input.dac'); this.currQueryReferenceResults = {}; } Search.prototype.init = function() { if (this.checkRedirectToIndex()) { return; } if (!devsite && this.checkRedirectToIndex()) { return; } this.searchHistory = window.dacStore('search-history'); Loading @@ -5639,9 +5662,8 @@ window.metadata.search = (function() { this.searchClose.click(this.close.bind(this)); this.customSearch = $.fn.debounce(function(query) { $('#dac-custom-search-results').customSearch(query); }, 1000); $('#dac-custom-search-results').customSearch(query, this); }.bind(this), 1000); // Start search shortcut (/) $('body').keyup(function(event) { if (event.which === 191 && $(event.target).is(':not(:input)')) { Loading Loading @@ -5764,6 +5786,10 @@ window.metadata.search = (function() { return this.searchInput.val().replace(/(^ +)|( +$)/g, ''); }; Search.prototype.getReferenceResults = function() { return this.currQueryReferenceResults; }; Search.prototype.onSearchChanged = function() { var query = this.getQuery(); Loading @@ -5780,10 +5806,19 @@ window.metadata.search = (function() { this.lastQuery = query; this.searchResultsFor.text(query); // CSE results lag behind the metadata/reference results. We need to empty // the CSE results and add 'Loading' text so user's aren't looking at two // different sets of search results at one time. var $loadingEl = $('<div class="loadingCustomSearchResults">Loading Results...</div>'); $('#dac-custom-search-results').empty().prepend($loadingEl); this.customSearch(query); var metadataResults = metadata.search(query); this.searchResultsResources.dacSearchRenderResources(metadataResults.resources, query); this.searchResultsReference.dacSearchRenderReferences(metadataResults, query); this.currQueryReferenceResults = metadataResults; var hasHero = this.searchResultsHero.dacSearchRenderHero(metadataResults.resources, query); var hasQuery = !!query; Loading Loading @@ -6502,3 +6537,22 @@ window.dacStore = (function(window) { initWideTable(); }); })(jQuery); /** Utilities */ /* returns the given string with all HTML brackets converted to entities TODO: move this to the site's JS library */ function escapeHTML(string) { return string.replace(/</g,"<") .replace(/>/g,">"); }; function getQueryVariable(variable) { var query = window.location.search.substring(1); var vars = query.split("&"); for (var i=0;i<vars.length;i++) { var pair = vars[i].split("="); if(pair[0] == variable){return pair[1];} } return(false); }; Loading
tools/droiddoc/templates-sdk-dev/assets/css/default.css +30 −0 Original line number Diff line number Diff line Loading @@ -9887,3 +9887,33 @@ a.video-shadowbox-button.white:hover::after { position: absolute; top: -4px; } /** CSS Fixes for DevSite (akassay@) */ .dac-button-social, .dac-fab:not('.dac-scroll-button') { position: relative; } .dac-button-social .dac-sprite, .dac-fab .dac-sprite, .play-button .dac-sprite { margin-top: -7px; position: relative; top: 50%; } .dac-fab .dac-sprite.dac-arrow-down-gray { margin-top: -3px; } .dac-button-social .dac-sprite.dac-gplus { margin-top: -17px; } .play-button .dac-sprite { margin-top: -10px; } .dac-nav-link-forward { padding: 9px 0; }
tools/droiddoc/templates-sdk-dev/assets/js/docs.js +89 −35 Original line number Diff line number Diff line Loading @@ -15,7 +15,8 @@ $.ajaxSetup({ $(document).ready(function() { // prep nav expandos var pagePath = document.location.pathname; var pagePath = devsite ? location.href.replace(location.hash, '') : document.location.pathname; // account for intl docs by removing the intl/*/ path if (pagePath.indexOf("/intl/") == 0) { pagePath = pagePath.substr(pagePath.indexOf("/", 6)); // start after intl/ to get last / Loading Loading @@ -3378,12 +3379,22 @@ window.changeLangPref = changeLangPref; })(); var localeTarget = (function() { var localeTarget = locale; if (window.devsite) { if (getQueryVariable('hl')) { var target = getQueryVariable('hl'); if (!(target === 0) || (LANGUAGES.indexOf(target) === -1)) { localeTarget = target; } } } else { if (location.pathname.substring(0,6) == "/intl/") { var target = location.pathname.split('/')[2]; if (!(target === 0) || (LANGUAGES.indexOf(target) === -1)) { localeTarget = target; } } } return localeTarget; })(); Loading Loading @@ -5357,7 +5368,8 @@ window.metadata.search = (function() { return $.get('https://content.googleapis.com/customsearch/v1?' + $.param(searchParams)); } function renderResults(el, results) { function renderResults(el, results, searchAppliance) { var referenceResults = searchAppliance.getReferenceResults(); if (!results.items) { el.append($('<div>').text('No results')); return; Loading @@ -5365,6 +5377,15 @@ window.metadata.search = (function() { for (var i = 0; i < results.items.length; i++) { var item = results.items[i]; var isDuplicate = false; $(referenceResults.android).each(function(index, result) { if (item.link.indexOf(result.link) > -1) { isDuplicate = true; return false; } }); if (!isDuplicate) { var hasImage = item.pagemap && item.pagemap.cse_thumbnail; var sectionMatch = item.link.match(/developer\.android\.com\/(\w*)/); var section = (sectionMatch && sectionMatch[1]) || 'blog'; Loading @@ -5387,38 +5408,39 @@ window.metadata.search = (function() { el.append(entry); } } if (results.queries.nextPage) { var loadMoreButton = $('<button id="dac-custom-search-load-more">') .addClass('dac-custom-search-load-more') .text('Load more') .click(function() { loadMoreResults(el, results); loadMoreResults(el, results, searchAppliance); }); el.append(loadMoreButton); } } }; function loadMoreResults(el, results) { var query = results.queries.request.searchTerms; var start = results.queries.nextPage.startIndex; function loadMoreResults(el, results, searchAppliance) { var query = results.queries.request[0].searchTerms; var start = results.queries.nextPage[0].startIndex; var loadMoreButton = el.find('#dac-custom-search-load-more'); loadMoreButton.text('Loading more...'); customSearch(query, start).then(function(results) { loadMoreButton.remove(); renderResults(el, results); renderResults(el, results, searchAppliance); }); } $.fn.customSearch = function(query) { $.fn.customSearch = function(query, searchAppliance) { var el = $(this); customSearch(query).then(function(results) { el.empty(); renderResults(el, results); renderResults(el, results, searchAppliance); }); }; })(jQuery); Loading Loading @@ -5625,10 +5647,11 @@ window.metadata.search = (function() { this.searchResultsHero = $('#dac-search-results-hero'); this.searchResultsReference = $('#dac-search-results-reference'); this.searchHeader = $('[data-search]').data('search-input.dac'); this.currQueryReferenceResults = {}; } Search.prototype.init = function() { if (this.checkRedirectToIndex()) { return; } if (!devsite && this.checkRedirectToIndex()) { return; } this.searchHistory = window.dacStore('search-history'); Loading @@ -5639,9 +5662,8 @@ window.metadata.search = (function() { this.searchClose.click(this.close.bind(this)); this.customSearch = $.fn.debounce(function(query) { $('#dac-custom-search-results').customSearch(query); }, 1000); $('#dac-custom-search-results').customSearch(query, this); }.bind(this), 1000); // Start search shortcut (/) $('body').keyup(function(event) { if (event.which === 191 && $(event.target).is(':not(:input)')) { Loading Loading @@ -5764,6 +5786,10 @@ window.metadata.search = (function() { return this.searchInput.val().replace(/(^ +)|( +$)/g, ''); }; Search.prototype.getReferenceResults = function() { return this.currQueryReferenceResults; }; Search.prototype.onSearchChanged = function() { var query = this.getQuery(); Loading @@ -5780,10 +5806,19 @@ window.metadata.search = (function() { this.lastQuery = query; this.searchResultsFor.text(query); // CSE results lag behind the metadata/reference results. We need to empty // the CSE results and add 'Loading' text so user's aren't looking at two // different sets of search results at one time. var $loadingEl = $('<div class="loadingCustomSearchResults">Loading Results...</div>'); $('#dac-custom-search-results').empty().prepend($loadingEl); this.customSearch(query); var metadataResults = metadata.search(query); this.searchResultsResources.dacSearchRenderResources(metadataResults.resources, query); this.searchResultsReference.dacSearchRenderReferences(metadataResults, query); this.currQueryReferenceResults = metadataResults; var hasHero = this.searchResultsHero.dacSearchRenderHero(metadataResults.resources, query); var hasQuery = !!query; Loading Loading @@ -6502,3 +6537,22 @@ window.dacStore = (function(window) { initWideTable(); }); })(jQuery); /** Utilities */ /* returns the given string with all HTML brackets converted to entities TODO: move this to the site's JS library */ function escapeHTML(string) { return string.replace(/</g,"<") .replace(/>/g,">"); }; function getQueryVariable(variable) { var query = window.location.search.substring(1); var vars = query.split("&"); for (var i=0;i<vars.length;i++) { var pair = vars[i].split("="); if(pair[0] == variable){return pair[1];} } return(false); };