Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(73)

Side by Side Diff: chrome/browser/resources/media_router/elements/media_router_container/media_router_container.js

Issue 2725503002: [Media Router] Custom Controls 4 - Implement details view WebUI (Closed)
Patch Set: Add braces to @implements {Interface} Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This Polymer element contains the entire media router interface. It handles 5 /**
6 // hiding and showing specific components. 6 * This Polymer element contains the entire media router interface. It handles
7 * hiding and showing specific components.
8 * @implements {MediaRouterContainerInterface}
9 */
7 Polymer({ 10 Polymer({
8 is: 'media-router-container', 11 is: 'media-router-container',
9 12
10 properties: { 13 properties: {
11 /** 14 /**
12 * The list of available sinks. 15 * The list of available sinks.
13 * @type {!Array<!media_router.Sink>} 16 * @type {!Array<!media_router.Sink>}
14 */ 17 */
15 allSinks: { 18 allSinks: {
16 type: Array, 19 type: Array,
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 /** 383 /**
381 * Sinks to show for the currently selected cast mode. 384 * Sinks to show for the currently selected cast mode.
382 * @private {!Array<!media_router.Sink>|undefined} 385 * @private {!Array<!media_router.Sink>|undefined}
383 */ 386 */
384 sinksToShow_: { 387 sinksToShow_: {
385 type: Array, 388 type: Array,
386 observer: 'updateElementPositioning_', 389 observer: 'updateElementPositioning_',
387 }, 390 },
388 391
389 /** 392 /**
393 * Whether the WebUI route controls should be shown instead of the
394 * extensionview in the route details view.
395 * @type {boolean}
396 */
397 useWebUiRouteControls: {
398 type: Boolean,
399 value: false,
400 },
401
402 /**
390 * Whether the user has explicitly selected a cast mode. 403 * Whether the user has explicitly selected a cast mode.
391 * @private {boolean} 404 * @private {boolean}
392 */ 405 */
393 userHasSelectedCastMode_: { 406 userHasSelectedCastMode_: {
394 type: Boolean, 407 type: Boolean,
395 value: false, 408 value: false,
396 }, 409 },
397 410
398 /** 411 /**
399 * Whether the user has already taken an action. 412 * Whether the user has already taken an action.
(...skipping 456 matching lines...) Expand 10 before | Expand all | Expand 10 after
856 869
857 /** 870 /**
858 * Computes whether the search results list should be hidden. 871 * Computes whether the search results list should be hidden.
859 * @param {!Array<!{sinkItem: !media_router.Sink, 872 * @param {!Array<!{sinkItem: !media_router.Sink,
860 * substrings: Array<!Array<number>>}>} searchResultsToShow 873 * substrings: Array<!Array<number>>}>} searchResultsToShow
861 * The sinks currently matching the search text. 874 * The sinks currently matching the search text.
862 * @param {boolean} isSearchListHidden Whether the search list is hidden. 875 * @param {boolean} isSearchListHidden Whether the search list is hidden.
863 * @return {boolean} Whether the search results list should be hidden. 876 * @return {boolean} Whether the search results list should be hidden.
864 * @private 877 * @private
865 */ 878 */
866 computeSearchResultsHidden_: function(searchResultsToShow, 879 computeSearchResultsHidden_: function(
867 isSearchListHidden) { 880 searchResultsToShow, isSearchListHidden) {
868 return isSearchListHidden || searchResultsToShow.length == 0; 881 return isSearchListHidden || searchResultsToShow.length == 0;
869 }, 882 },
870 883
871 /** 884 /**
872 * @param {!Array<!media_router.CastMode>} castModeList The current list of 885 * @param {!Array<!media_router.CastMode>} castModeList The current list of
873 * cast modes. 886 * cast modes.
874 * @return {boolean} Whether or not to hide the share screen subheading text. 887 * @return {boolean} Whether or not to hide the share screen subheading text.
875 * @private 888 * @private
876 */ 889 */
877 computeShareScreenSubheadingHidden_: function(castModeList) { 890 computeShareScreenSubheadingHidden_: function(castModeList) {
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
1073 return Math.min(contentHeight, maxHeight) + searchOffsetHeight; 1086 return Math.min(contentHeight, maxHeight) + searchOffsetHeight;
1074 }, 1087 },
1075 1088
1076 /** 1089 /**
1077 * Updates element positioning when the view changes and possibly triggers 1090 * Updates element positioning when the view changes and possibly triggers
1078 * reporting of a user filter action. If there is no filter text, it defers 1091 * reporting of a user filter action. If there is no filter text, it defers
1079 * the reporting until some text is entered, but otherwise it reports the 1092 * the reporting until some text is entered, but otherwise it reports the
1080 * filter action here. 1093 * filter action here.
1081 * @param {?media_router.MediaRouterView} currentView The current view of the 1094 * @param {?media_router.MediaRouterView} currentView The current view of the
1082 * dialog. 1095 * dialog.
1096 * @param {?media_router.MediaRouterView} previousView The previous
1097 * |currentView|.
1083 * @private 1098 * @private
1084 */ 1099 */
1085 currentViewChanged_: function(currentView) { 1100 currentViewChanged_: function(currentView, previousView) {
1086 if (currentView == media_router.MediaRouterView.FILTER) { 1101 if (currentView == media_router.MediaRouterView.FILTER) {
1087 this.reportFilterOnInput_ = true; 1102 this.reportFilterOnInput_ = true;
1088 this.maybeReportFilter_(); 1103 this.maybeReportFilter_();
1089 } 1104 }
1090 this.updateElementPositioning_(); 1105 this.updateElementPositioning_();
1106
1107 if (previousView == media_router.MediaRouterView.ROUTE_DETAILS) {
1108 media_router.browserApi.onMediaControllerClosed();
1109 if (this.$$('route-details'))
1110 this.$$('route-details').onClosed();
1111 }
1091 }, 1112 },
1092 1113
1093 /** 1114 /**
1094 * Filters all sinks based on fuzzy matching to the currently entered search 1115 * Filters all sinks based on fuzzy matching to the currently entered search
1095 * text. 1116 * text.
1096 * @param {string} searchInputText The currently entered search text. 1117 * @param {string} searchInputText The currently entered search text.
1097 * @private 1118 * @private
1098 */ 1119 */
1099 filterSinks_: function(searchInputText) { 1120 filterSinks_: function(searchInputText) {
1100 if (searchInputText.length == 0) { 1121 if (searchInputText.length == 0) {
(...skipping 659 matching lines...) Expand 10 before | Expand all | Expand 10 after
1760 this.pseudoSinkSearchState_.checkForRealSink(this.allSinks); 1781 this.pseudoSinkSearchState_.checkForRealSink(this.allSinks);
1761 this.rebuildSinksToShow_(); 1782 this.rebuildSinksToShow_();
1762 // If we're in filter view, make sure the |sinksToShow_| change is picked 1783 // If we're in filter view, make sure the |sinksToShow_| change is picked
1763 // up. 1784 // up.
1764 if (this.currentView_ == media_router.MediaRouterView.FILTER) { 1785 if (this.currentView_ == media_router.MediaRouterView.FILTER) {
1765 this.filterSinks_(this.searchInputText_); 1786 this.filterSinks_(this.searchInputText_);
1766 } 1787 }
1767 }, 1788 },
1768 1789
1769 /** 1790 /**
1791 * Called when the connection to the route controller is invalidated. Switches
1792 * from route details view to the sink list view.
1793 */
1794 onRouteControllerInvalidated: function() {
1795 if (this.useWebUiRouteControls &&
1796 this.currentView_ == media_router.MediaRouterView.ROUTE_DETAILS) {
1797 this.currentRoute_ = null;
1798 this.showSinkList_();
1799 }
1800 },
1801
1802 /**
1770 * Called when a sink is clicked. 1803 * Called when a sink is clicked.
1771 * 1804 *
1772 * @param {!Event} event The event object. 1805 * @param {!Event} event The event object.
1773 * @private 1806 * @private
1774 */ 1807 */
1775 onSinkClick_: function(event) { 1808 onSinkClick_: function(event) {
1776 var clickedSink = 1809 var clickedSink =
1777 (this.currentView_ == media_router.MediaRouterView.FILTER) ? 1810 (this.currentView_ == media_router.MediaRouterView.FILTER) ?
1778 this.$$('#searchResults').itemForElement(event.target).sinkItem : 1811 this.$$('#searchResults').itemForElement(event.target).sinkItem :
1779 this.$$('#sinkList').itemForElement(event.target); 1812 this.$$('#sinkList').itemForElement(event.target);
(...skipping 491 matching lines...) Expand 10 before | Expand all | Expand 10 after
2271 2304
2272 /** 2305 /**
2273 * Shows the route details. 2306 * Shows the route details.
2274 * 2307 *
2275 * @param {!media_router.Route} route The route to show. 2308 * @param {!media_router.Route} route The route to show.
2276 * @private 2309 * @private
2277 */ 2310 */
2278 showRouteDetails_: function(route) { 2311 showRouteDetails_: function(route) {
2279 this.currentRoute_ = route; 2312 this.currentRoute_ = route;
2280 this.currentView_ = media_router.MediaRouterView.ROUTE_DETAILS; 2313 this.currentView_ = media_router.MediaRouterView.ROUTE_DETAILS;
2314 if (this.useWebUiRouteControls) {
2315 media_router.browserApi.onMediaControllerAvailable(route.id);
2316 }
2317 if (this.$$('route-details')) {
2318 this.$$('route-details').onOpened();
2319 }
2281 }, 2320 },
2282 2321
2283 /** 2322 /**
2284 * Shows the search results. 2323 * Shows the search results.
2285 * 2324 *
2286 * @private 2325 * @private
2287 */ 2326 */
2288 showSearchResults_: function() { 2327 showSearchResults_: function() {
2289 if (this.currentView_ != media_router.MediaRouterView.FILTER) { 2328 if (this.currentView_ != media_router.MediaRouterView.FILTER) {
2290 this.currentView_ = media_router.MediaRouterView.FILTER; 2329 this.currentView_ = media_router.MediaRouterView.FILTER;
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
2388 /** 2427 /**
2389 * Update the max dialog height and update the positioning of the elements. 2428 * Update the max dialog height and update the positioning of the elements.
2390 * 2429 *
2391 * @param {number} height The max height of the Media Router dialog. 2430 * @param {number} height The max height of the Media Router dialog.
2392 */ 2431 */
2393 updateMaxDialogHeight: function(height) { 2432 updateMaxDialogHeight: function(height) {
2394 this.dialogHeight_ = height; 2433 this.dialogHeight_ = height;
2395 this.updateElementPositioning_(); 2434 this.updateElementPositioning_();
2396 }, 2435 },
2397 }); 2436 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698