summaryrefslogtreecommitdiff
path: root/src/main/webapp/WEB-INF/jsp/dashboard_main.jsp
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/webapp/WEB-INF/jsp/dashboard_main.jsp')
-rw-r--r--src/main/webapp/WEB-INF/jsp/dashboard_main.jsp351
1 files changed, 0 insertions, 351 deletions
diff --git a/src/main/webapp/WEB-INF/jsp/dashboard_main.jsp b/src/main/webapp/WEB-INF/jsp/dashboard_main.jsp
deleted file mode 100644
index 71f6679..0000000
--- a/src/main/webapp/WEB-INF/jsp/dashboard_main.jsp
+++ /dev/null
@@ -1,351 +0,0 @@
-<%--
- ~ Copyright (c) 2016 Google Inc. All Rights Reserved.
- ~
- ~ Licensed under the Apache License, Version 2.0 (the "License"); you
- ~ may not use this file except in compliance with the License. You may
- ~ obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- ~ implied. See the License for the specific language governing
- ~ permissions and limitations under the License.
- --%>
-<%@ page contentType='text/html;charset=UTF-8' language='java' %>
-<%@ taglib prefix='fn' uri='http://java.sun.com/jsp/jstl/functions' %>
-<%@ taglib prefix='c' uri='http://java.sun.com/jsp/jstl/core'%>
-
-<html>
- <link rel='stylesheet' href='/css/dashboard_main.css'>
- <%@ include file='header.jsp' %>
- <body>
- <script>
- var allTests = ${allTestsJson};
- var testSet = new Set(allTests);
- var subscriptionMap = ${subscriptionMapJson};
-
- var addFavorite = function() {
- if ($(this).hasClass('disabled')) {
- return;
- }
- var test = $('#input-box').val();
- if (!testSet.has(test) || test in subscriptionMap) {
- return;
- }
- $('#add-button').addClass('disabled');
- $.post('/api/favorites', { testName: test}).then(function(data) {
- if (!data.key) {
- return;
- }
- subscriptionMap[test] = data.key;
- var wrapper = $('<div></div>');
- var a = $('<a></a>')
- .attr('href', '${resultsUrl}?testName=' + test);
- var div = $('<div class="col s11 card hoverable option"></div>');
- div.addClass('valign-wrapper waves-effect');
- div.appendTo(a);
- var span = $('<span class="entry valign"></span>').text(test);
- span.appendTo(div);
- a.appendTo(wrapper);
-
- var btnContainer = $('<div class="col s1 center btn-container"></div>');
- var silence = $('<a class="col s6 btn-flat notification-button active"></a>');
- silence.append('<i class="material-icons">notifications_active</i>');
- silence.attr('test', test);
- silence.attr('title', 'Disable notifications');
- silence.appendTo(btnContainer);
- silence.click(toggleNotifications);
-
- var clear = $('<a class="col s6 btn-flat remove-button"></a>');
- clear.append('<i class="material-icons">clear</i>');
- clear.attr('test', test);
- clear.attr('title', 'Remove favorite');
- clear.appendTo(btnContainer);
- clear.click(removeFavorite);
-
- btnContainer.appendTo(wrapper);
-
- wrapper.prependTo('#options').hide()
- .slideDown(150);
- $('#input-box').val(null);
- Materialize.updateTextFields();
- }).always(function() {
- $('#add-button').removeClass('disabled');
- });
- }
-
- var toggleNotifications = function() {
- var self = $(this);
- if (self.hasClass('disabled')) {
- return;
- }
- self.addClass('disabled');
- var test = self.attr('test');
- if (!(test in subscriptionMap)) {
- return;
- }
- var muteStatus = self.hasClass('active');
- var element = self;
- $.post('/api/favorites', { userFavoritesKey: subscriptionMap[test], muteNotifications: muteStatus}).then(function(data) {
- element = self.clone();
- if (element.hasClass('active')) {
- element.find('i').text('notifications_off')
- element.removeClass('active');
- element.addClass('inactive');
- element.attr('title', 'Enable notifications');
- } else {
- element.find('i').text('notifications_active')
- element.removeClass('inactive');
- element.addClass('active');
- element.attr('title', 'Disable notifications');
- }
- element.click(toggleNotifications);
- self.replaceWith(function() {
- return element;
- });
- }).always(function() {
- element.removeClass('disabled');
- });
- }
-
- var removeFavorite = function() {
- var self = $(this);
- if (self.hasClass('disabled')) {
- return;
- }
- var test = self.attr('test');
- if (!(test in subscriptionMap)) {
- return;
- }
- self.addClass('disabled');
- $.ajax({
- url: '/api/favorites/' + subscriptionMap[test],
- type: 'DELETE'
- }).always(function() {
- self.removeClass('disabled');
- }).then(function() {
- delete subscriptionMap[test];
- self.parent().parent().slideUp(150, function() {
- self.remove();
- });
- });
- }
-
- var addFavoriteButton = function() {
- var self = $(this);
- var test = self.attr('test');
-
- $.post('/api/favorites', { testName: test}).then(function(data) {
- if (data.key) {
- subscriptionMap[test] = data.key;
-
- self.children().text("star");
- self.switchClass("add-fav-button", "min-fav-button", 0);
-
- self.off('click', addFavoriteButton);
- self.on('click', removeFavoriteButton);
- }
- })
- .fail(function() {
- alert( "Error occurred on registering your favorite test case!" );
- });
- }
-
- var removeFavoriteButton = function() {
- var self = $(this);
- var test = self.attr('test');
-
- $.ajax({
- url: '/api/favorites/' + subscriptionMap[test],
- type: 'DELETE'
- }).then(function() {
- delete subscriptionMap[test];
-
- self.children().text("star_border");
- self.switchClass("min-fav-button", "add-fav-button", 0);
-
- self.off('click', removeFavoriteButton);
- self.on('click', addFavoriteButton);
- });
- }
-
- $.widget('custom.sizedAutocomplete', $.ui.autocomplete, {
- _resizeMenu: function() {
- this.menu.element.outerWidth($('#input-box').width());
- }
- });
-
- $(function() {
- $('#input-box').sizedAutocomplete({
- source: allTests,
- classes: {
- 'ui-autocomplete': 'card'
- }
- });
-
- $('#input-box').keyup(function(event) {
- if (event.keyCode == 13) { // return button
- $('#add-button').click();
- }
- });
-
- $('.remove-button').click(removeFavorite);
- $('.notification-button').click(toggleNotifications);
- $('#add-button').click(addFavorite);
-
- $('.add-fav-button').click(addFavoriteButton);
-
- $('.min-fav-button').click(removeFavoriteButton);
-
- $('#favoritesLink').click(function() {
- window.open('/', '_self');
- });
- $('#allLink').click(function() {
- window.open('/?showAll=true', '_self');
- });
- $('#acksLink').click(function() {
- window.open('/show_test_acknowledgments', '_self');
- });
- });
- </script>
- <div class='container wide'>
-
- <c:if test="${!showAll}">
- <ul id="guide_collapsible" class="collapsible" data-collapsible="accordion">
- <li>
- <div class="collapsible-header">
- <i class="material-icons">library_books</i>
- Notice
- <span class="new badge right" style="position: inherit;">1</span>
- </div>
- <div class="collapsible-body">
- <div class='row'>
- <div class='col s12' style="margin: 15px 0px 0px 30px;">
- <c:choose>
- <c:when test="${fn:endsWith(serverName, 'googleplex.com')}">
- <c:set var="dataVersion" scope="page" value="new"/>
- <c:choose>
- <c:when test="${fn:startsWith(serverName, 'android-vts-internal')}">
- <c:set var="dataLink" scope="page" value="https://android-vts.appspot.com"/>
- </c:when>
- <c:when test="${fn:startsWith(serverName, 'android-vts-staging')}">
- <c:set var="dataLink" scope="page" value="https://android-vts-staging.appspot.com"/>
- </c:when>
- <c:otherwise>
- <c:set var="dataLink" scope="page" value="https://android-vts-staging.appspot.com"/>
- </c:otherwise>
- </c:choose>
- </c:when>
- <c:when test="${fn:endsWith(serverName, 'appspot.com')}">
- <c:set var="dataVersion" scope="page" value="previous"/>
- <c:choose>
- <c:when test="${fn:startsWith(serverName, 'android-vts-staging')}">
- <c:set var="dataLink" scope="page" value="https://android-vts-staging.googleplex.com"/>
- </c:when>
- <c:when test="${fn:startsWith(serverName, 'android-vts')}">
- <c:set var="dataLink" scope="page" value="https://android-vts-internal.googleplex.com"/>
- </c:when>
- <c:otherwise>
- <c:set var="dataLink" scope="page" value="https://android-vts-staging.googleplex.com"/>
- </c:otherwise>
- </c:choose>
- </c:when>
- <c:otherwise>
- <c:set var="dataVersion" scope="page" value="local dev"/>
- <c:set var="dataLink" scope="page" value="http://localhost"/>
- </c:otherwise>
- </c:choose>
- Recently, we launched new appspot servers for dashboard. Thus you will have two diffrent versions of server for each staging and production data.
- <br/>
- If you want to find the <c:out value = "${dataVersion}"/> test data, please visit the next url <a href="<c:out value = "${dataLink}"/>"><c:out value = "${dataLink}"/></a>.
- </div>
- </div>
- </div>
- </li>
- </ul>
- </c:if>
-
- <c:choose>
- <c:when test='${not empty error}'>
- <div id='error-container' class='row card'>
- <div class='col s12 center-align'>
- <h5>${error}</h5>
- </div>
- </div>
- </c:when>
- <c:otherwise>
- <div class='row home-tabs-row'>
- <div class='col s12'>
- <ul class='tabs'>
- <li class='tab col s4' id='favoritesLink'><a class='${showAll ? "inactive" : "active"}'>Favorites</a></li>
- <li class='tab col s4' id='allLink'><a class='${showAll ? "active" : "inactive"}'>All Tests</a></li>
- <li class='tab col s4' id='acksLink'><a>Test Acknowledgements</a></li>
- </ul>
- </div>
- </div>
- <c:set var='width' value='${showAll ? 11 : 11}' />
- <c:if test='${not showAll}'>
- <div class='row'>
- <div class='input-field col s8'>
- <input type='text' id='input-box'></input>
- <label for='input-box'>Search for tests to add to favorites</label>
- </div>
- <div id='add-button-wrapper' class='col s1 valign-wrapper'>
- <a id='add-button' class='btn-floating btn waves-effect waves-light red valign'><i class='material-icons'>add</i></a>
- </div>
- </div>
- </c:if>
- <div class='row' id='options'>
- <c:forEach items='${testNames}' var='test'>
- <div>
- <a href='${resultsUrl}?testName=${test.name}'>
- <div class='col s${width} card hoverable option valign-wrapper waves-effect'>
- <span class='entry valign'>${test.name}
- <c:if test='${test.failCount >= 0 && test.passCount >= 0}'>
- <c:set var='color' value='${test.failCount > 0 ? "red" : (test.passCount > 0 ? "green" : "grey")}' />
- <span class='indicator right center ${color}'>
- ${test.passCount} / ${test.passCount + test.failCount}
- </span>
- </c:if>
- </span>
- </div>
- </a>
- <c:choose>
- <c:when test="${showAll}">
- <div class="col s1 center btn-container">
- <c:choose>
- <c:when test="${test.isFavorite}">
- <a class="col s6 btn-flat min-fav-button" test="${test.name}" title="Remove favorite">
- <i class="material-icons">star</i>
- </a>
- </c:when>
- <c:otherwise>
- <a class="col s6 btn-flat add-fav-button" test="${test.name}" title="Add favorite">
- <i class="material-icons">star_border</i>
- </a>
- </c:otherwise>
- </c:choose>
- </div>
- </c:when>
- <c:otherwise>
- <div class='col s1 center btn-container'>
- <a class='col s6 btn-flat notification-button ${test.muteNotifications ? "inactive" : "active"}' test='${test.name}' title='${test.muteNotifications ? "Enable" : "Disable"} notifications'>
- <i class='material-icons'>notifications_${test.muteNotifications ? "off" : "active"}</i>
- </a>
- <a class='col s6 btn-flat remove-button' test='${test.name}' title='Remove favorite'>
- <i class='material-icons'>clear</i>
- </a>
- </div>
- </c:otherwise>
- </c:choose>
- </div>
- </c:forEach>
- </div>
- </c:otherwise>
- </c:choose>
- </div>
- <%@ include file='footer.jsp' %>
- </body>
-</html>