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

Side by Side Diff: chrome/browser/resources/settings/settings_page/settings_page_header.js

Issue 1132613003: Fixes for cr-settings-page-header (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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
« no previous file with comments | « chrome/browser/resources/settings/settings_main/settings_main.html ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 /** 5 /**
6 * @fileoverview 6 * @fileoverview
7 * 'cr-settings-page-header' shows a basic heading with a 'iron-icon'. 7 * 'cr-settings-page-header' shows a basic heading with a 'iron-icon'.
8 * 8 *
9 * Example: 9 * Example:
10 * 10 *
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 computed: 'getCurrentPageTitle_(pageStack)', 63 computed: 'getCurrentPageTitle_(pageStack)',
64 }, 64 },
65 }, 65 },
66 66
67 /** 67 /**
68 * @param {!Array<!HTMLElement>} pageStack 68 * @param {!Array<!HTMLElement>} pageStack
69 * @return {string} The icon for the top page in the stack. 69 * @return {string} The icon for the top page in the stack.
70 * @private 70 * @private
71 */ 71 */
72 getTopPageIcon_: function(pageStack) { 72 getTopPageIcon_: function(pageStack) {
73 if (pageStack.length == 0)
74 return '';
73 return pageStack[0].icon; 75 return pageStack[0].icon;
74 }, 76 },
75 77
76 /** 78 /**
77 * @param {!HTMLElement} page 79 * @param {!HTMLElement} page
78 * @return {string} A url link to the given page. 80 * @return {string} A url link to the given page.
79 * @private 81 * @private
80 */ 82 */
81 urlFor_: function(page) { 83 urlFor_: function(page) {
82 return page.route ? urlFor(page.route) : ''; 84 return page.route ? urlFor(page.route) : '';
83 }, 85 },
84 86
85 /** 87 /**
86 * @param {!Array<!HTMLElement>} pageStack 88 * @param {!Array<!HTMLElement>} pageStack
87 * @return {string} The title of the current page. 89 * @return {string} The title of the current page.
88 * @private 90 * @private
89 */ 91 */
90 getCurrentPageTitle_: function(pageStack) { 92 getCurrentPageTitle_: function(pageStack) {
93 if (pageStack.length == 0)
94 return '';
91 return pageStack[0].pageTitle; 95 return pageStack[0].pageTitle;
92 }, 96 },
93 97
94 /** @private */ 98 /** @private */
95 selectedPageChanged_: function() { 99 selectedPageChanged_: function() {
96 if (this.selectedPage.subpage) { 100 if (this.selectedPage && this.selectedPage.subpage) {
97 // NOTE: Must reassign pageStack rather than doing push() so that the 101 // NOTE: Must reassign pageStack rather than doing push() so that the
98 // computed property (parentPages) will be notified of the update. 102 // computed property (parentPages) will be notified of the update.
99 this.pageStack = this.pageStack.concat(this.selectedPage); 103 this.pageStack = this.pageStack.concat(this.selectedPage);
104 } else if (this.selectedPage) {
105 this.pageStack = [this.selectedPage];
100 } else { 106 } else {
101 this.pageStack = [this.selectedPage]; 107 this.pageStack = [];
102 } 108 }
103 }, 109 },
104 110
105 /** 111 /**
106 * Gets the parent pages in the given page stack; i.e. returns all pages but 112 * Gets the parent pages in the given page stack; i.e. returns all pages but
107 * the topmost subpage. 113 * the topmost subpage.
108 * 114 *
109 * @param {Array<HTMLElement>} stack 115 * @param {Array<HTMLElement>} stack
110 * @return {!Array<HTMLElement>} 116 * @return {!Array<HTMLElement>}
111 * @private 117 * @private
112 */ 118 */
113 getParentPages_: function(stack) { 119 getParentPages_: function(stack) {
114 if (!stack || stack.length <= 1) { 120 if (!stack || stack.length <= 1) {
115 return []; 121 return [];
116 } 122 }
117 123
118 return stack.slice(0, stack.length - 1); 124 return stack.slice(0, stack.length - 1);
119 }, 125 },
120 }); 126 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/settings/settings_main/settings_main.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698