Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ebcf3977 authored by Amanda Kassay's avatar Amanda Kassay
Browse files

Tabs js error fix, DevSite css issues fix, Search filtering

Staged: http://akassay.nyc.corp.google.com:8080/index.html#q=Activity
Change-Id: Id25525a8d8c927ea67cd13b43652d75ce53733cf
parent 190e610d
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
@@ -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;
}
+89 −35
Original line number Diff line number Diff line
@@ -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 /
@@ -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;
  })();

@@ -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;
@@ -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';
@@ -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);
@@ -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');

@@ -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)')) {
@@ -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();

@@ -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;

@@ -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,"&lt;")
                .replace(/>/g,"&gt;");
};

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);
};