Index: appengine_apps/chromium_status/static/js/status_viewer/viewer_app.js |
diff --git a/appengine_apps/chromium_status/static/js/status_viewer/viewer_app.js b/appengine_apps/chromium_status/static/js/status_viewer/viewer_app.js |
deleted file mode 100644 |
index 6cb4dc97593ffd06451fa5f02a3d65c6658bcdf3..0000000000000000000000000000000000000000 |
--- a/appengine_apps/chromium_status/static/js/status_viewer/viewer_app.js |
+++ /dev/null |
@@ -1,202 +0,0 @@ |
-// Copyright (c) 2009 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-/** |
- * The TreeStatusViewerApp encapsulates the application's global state, |
- * and controls its subviews. |
- * |
- * @constructor |
- */ |
-function TreeStatusViewerApp() { |
- // Factories for each of the view types. |
- this.viewFactories_ = { |
- fragmentation: CreateFragmentationView, |
- stats: CreateStatsView, |
- list: CreateListView, |
- peak: CreatePeakHoursView |
- }; |
- |
- // Views which have been created so far, keyed by their name. |
- this.liveViews_ = {}; |
- |
- // The last list of entries fetched from the server. |
- this.entries_ = null; |
- |
- // The last time range that entries were fetched from the server for. |
- this.timeRange_ = null; |
-} |
- |
-/** |
- * This is the main entry point to the application, when the page has |
- * finished loading. |
- */ |
-TreeStatusViewerApp.prototype.OnPageLoaded = function() { |
- // Look for any parameters in the query string that we recognize, |
- // and apply them to change the UI accordingly. |
- // (For example update the "Start date" input box). |
- this.ApplyQueryParameters(); |
- |
- // Trigger fetch of data from server. |
- this.OnTimeRangeChanged(); |
-} |
- |
-/** |
- * This method is called whenever the window of time has been changed |
- * and we need to fetch new data off the server to update the views. |
- */ |
-TreeStatusViewerApp.prototype.OnTimeRangeChanged = function() { |
- var timeRange = this.GetTimeRange(); |
- |
- // Invalidate data derived from the previous time range. |
- this.timeRange = null; |
- this.entries_ = null; |
- this.liveViews_ = {}; |
- |
- // Use AJAX to fetch the tree status data for the new time range. |
- // On completion it will call OnDataAvailable() with the data. |
- this.SetLoadingIndicator("Fetching data..."); |
- var callback = this.OnDataAvailable.bind(this, timeRange); |
- DataFetcher.GetTreeStatusEntries(timeRange, callback); |
-} |
- |
-/** |
- * This method is called when new data has been received from the server. |
- */ |
-TreeStatusViewerApp.prototype.OnDataAvailable = function(timeRange, entries) { |
- this.SetLoadingIndicator(""); |
- |
- // Set the new data as current. |
- this.timeRange_ = timeRange; |
- this.entries_ = entries; |
- |
- // Force the view to redraw itself using the new data. |
- this.SwitchToView(this.GetCurrentViewName()); |
-} |
- |
-/** |
- * Gets the range of time the user is interested in. |
- * @return {TimeRange} |
- */ |
-TreeStatusViewerApp.prototype.GetTimeRange = function() { |
- var input = document.getElementById('startTime'); |
- var d = DateUtil.ParseStringToLocalDate(input.value); |
- if (!d) { |
- d = new Date(); // Assume current day |
- d.setHours(0); |
- d.setMinutes(0); |
- d.setMinutes(0); |
- d.setSeconds(0); |
- d.setMilliseconds(0); |
- } |
- |
- var startTime = d.getTime() + DateUtil.MILLIS_PER_DAY; |
- |
- input = document.getElementById('numDays'); |
- var numDays = parseInt(input.value, 10); |
- var endTime = startTime - DateUtil.MILLIS_PER_DAY * numDays; |
- |
- return new TimeRange(startTime, endTime); |
-} |
- |
-/** |
- * Gets the current window's URL's query parameters, as a |
- * dictionary of key/value pairs. |
- * |
- * @return {Object} Dictionary of name/value pairs. |
- */ |
-function GetQueryParameters() { |
- var values = {}; |
- if (window.location.search) { |
- params = window.location.search.substr(1).split("&"); |
- for (var i = 0; i < params.length; ++i) { |
- var parts = params[i].split("="); |
- if (parts.length == 2) { |
- values[parts[0]] = decodeURIComponent(parts[1]); |
- } |
- } |
- } |
- return values; |
-} |
- |
-/** |
- * Checks the URL for query parameters, and applies any with meaning to us. |
- */ |
-TreeStatusViewerApp.prototype.ApplyQueryParameters = function() { |
- var formNames = ["startTime", "numDays", "curView"]; |
- |
- var params = GetQueryParameters(); |
- |
- for (var i = 0; i < formNames.length; ++i) { |
- var d = document.getElementById(formNames[i]); |
- if (formNames[i] in params) { |
- d.value = params[formNames[i]]; |
- } |
- } |
-} |
- |
-/** |
- * Updates a part of the UI to show we are waiting for stuff to happen. |
- * @param {string} text The message to display. |
- */ |
-TreeStatusViewerApp.prototype.SetLoadingIndicator = function(text) { |
- var d = document.getElementById("loading"); |
- d.innerHTML = text; |
- DomUtil.DisplayNode(d, text != ""); |
-} |
- |
-/** |
- * Gets the name of the currently active view. |
- * @return {string} |
- */ |
-TreeStatusViewerApp.prototype.GetCurrentViewName = function() { |
- return document.getElementById("curView").value; |
-} |
- |
-/** |
- * Sets |viewName| as the active view. |
- * @param {string} viewName |
- */ |
-TreeStatusViewerApp.prototype.SetCurrentViewName = function(viewName) { |
- document.getElementById("curView").value = viewName; |
-} |
- |
-/** |
- * Switches |viewName| to be the active view. |
- * @param {string} viewName |
- */ |
-TreeStatusViewerApp.prototype.SwitchToView = function(viewName) { |
- var prevViewName = this.GetCurrentViewName(); |
- this.SetCurrentViewName(viewName); |
- |
- // Hide the previously active view. |
- if (this.liveViews_[prevViewName]) { |
- this.liveViews_[prevViewName].Show(false); |
- } |
- |
- // If a view hasn't been created yet for |viewName|, do so. |
- if (!this.liveViews_[viewName]) { |
- this.liveViews_[viewName] = |
- this.viewFactories_[viewName](this.timeRange_, this.entries_); |
- } |
- |
- // Show the now active view. |
- this.liveViews_[viewName].Show(true); |
-} |
- |
-/** |
- * Generic method to change the styling of the view's tab handle to indicate |
- * whether it is active, and to show/hide its content pane. |
- * This assumes we have given consistent IDs to the elements. |
- * |
- * @param {string} viewName |
- * @param {boolean} visible |
- */ |
-TreeStatusViewerApp.prototype.ShowViewContentAndTabArea = |
- function(viewName, visible) { |
- DomUtil.DisplayNode(document.getElementById(viewName + "_container"), |
- visible); |
- |
- var badgeClass = visible ? "viewBadge_selected" : "viewBadge"; |
- document.getElementById(viewName + "_badge").className = badgeClass; |
-} |