OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 cr.define('settings', function() { | 5 cr.define('settings', function() { |
6 /** | 6 /** |
7 * Class for navigable routes. May only be instantiated within this file. | 7 * Class for navigable routes. May only be instantiated within this file. |
8 * @constructor | 8 * @constructor |
9 * @param {string} path | 9 * @param {string} path |
10 * @private | 10 * @private |
11 */ | 11 */ |
12 var Route = function(path) { | 12 var Route = function(path) { |
13 this.path = path; | 13 this.path = path; |
14 | 14 |
15 /** @type {?settings.Route} */ | 15 /** @type {?settings.Route} */ |
16 this.parent = null; | 16 this.parent = null; |
17 | 17 |
18 /** @type {number} */ | 18 /** @type {number} */ |
19 this.depth = 0; | 19 this.depth = 0; |
20 | 20 |
| 21 /** |
| 22 * @type {boolean} Whether this route corresponds to a navigable |
| 23 * dialog. Those routes don't belong to a "section". |
| 24 */ |
| 25 this.isNavigableDialog = false; |
| 26 |
21 // Below are all legacy properties to provide compatibility with the old | 27 // Below are all legacy properties to provide compatibility with the old |
22 // routing system. TODO(tommycli): Remove once routing refactor complete. | 28 // routing system. |
| 29 |
| 30 /** @type {string} */ |
23 this.section = ''; | 31 this.section = ''; |
24 }; | 32 }; |
25 | 33 |
26 Route.prototype = { | 34 Route.prototype = { |
27 /** | 35 /** |
28 * Returns a new Route instance that's a child of this route. | 36 * Returns a new Route instance that's a child of this route. |
29 * @param {string} path Extends this route's path if it doesn't contain a | 37 * @param {string} path Extends this route's path if it doesn't contain a |
30 * leading slash. | 38 * leading slash. |
31 * @return {!settings.Route} | 39 * @return {!settings.Route} |
32 * @private | 40 * @private |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 var r = Route; | 95 var r = Route; |
88 | 96 |
89 // Root pages. | 97 // Root pages. |
90 r.BASIC = new Route('/'); | 98 r.BASIC = new Route('/'); |
91 r.ADVANCED = new Route('/advanced'); | 99 r.ADVANCED = new Route('/advanced'); |
92 r.ABOUT = new Route('/help'); | 100 r.ABOUT = new Route('/help'); |
93 | 101 |
94 // Navigable dialogs. These are the only non-section children of root pages. | 102 // Navigable dialogs. These are the only non-section children of root pages. |
95 // These are disfavored. If we add anymore, we should add explicit support. | 103 // These are disfavored. If we add anymore, we should add explicit support. |
96 r.IMPORT_DATA = r.BASIC.createChild('/importData'); | 104 r.IMPORT_DATA = r.BASIC.createChild('/importData'); |
| 105 r.IMPORT_DATA.isNavigableDialog = true; |
97 r.SIGN_OUT = r.BASIC.createChild('/signOut'); | 106 r.SIGN_OUT = r.BASIC.createChild('/signOut'); |
| 107 r.SIGN_OUT.isNavigableDialog = true; |
98 r.CLEAR_BROWSER_DATA = r.ADVANCED.createChild('/clearBrowserData'); | 108 r.CLEAR_BROWSER_DATA = r.ADVANCED.createChild('/clearBrowserData'); |
| 109 r.CLEAR_BROWSER_DATA.isNavigableDialog = true; |
99 r.RESET_DIALOG = r.ADVANCED.createChild('/resetProfileSettings'); | 110 r.RESET_DIALOG = r.ADVANCED.createChild('/resetProfileSettings'); |
| 111 r.RESET_DIALOG.isNavigableDialog = true; |
100 r.TRIGGERED_RESET_DIALOG = | 112 r.TRIGGERED_RESET_DIALOG = |
101 r.ADVANCED.createChild('/triggeredResetProfileSettings'); | 113 r.ADVANCED.createChild('/triggeredResetProfileSettings'); |
| 114 r.TRIGGERED_RESET_DIALOG.isNavigableDialog = true; |
102 | 115 |
103 // <if expr="chromeos"> | 116 // <if expr="chromeos"> |
104 r.INTERNET = r.BASIC.createSection('/internet', 'internet'); | 117 r.INTERNET = r.BASIC.createSection('/internet', 'internet'); |
105 r.INTERNET_NETWORKS = r.INTERNET.createChild('/networks'); | 118 r.INTERNET_NETWORKS = r.INTERNET.createChild('/networks'); |
106 r.NETWORK_DETAIL = r.INTERNET.createChild('/networkDetail'); | 119 r.NETWORK_DETAIL = r.INTERNET.createChild('/networkDetail'); |
107 r.KNOWN_NETWORKS = r.INTERNET.createChild('/knownNetworks'); | 120 r.KNOWN_NETWORKS = r.INTERNET.createChild('/knownNetworks'); |
108 r.BLUETOOTH = r.BASIC.createSection('/bluetooth', 'bluetooth'); | 121 r.BLUETOOTH = r.BASIC.createSection('/bluetooth', 'bluetooth'); |
109 r.BLUETOOTH_DEVICES = r.BLUETOOTH.createChild('/bluetoothDevices'); | 122 r.BLUETOOTH_DEVICES = r.BLUETOOTH.createChild('/bluetoothDevices'); |
110 // </if> | 123 // </if> |
111 | 124 |
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
403 getRouteForPath: getRouteForPath, | 416 getRouteForPath: getRouteForPath, |
404 initializeRouteFromUrl: initializeRouteFromUrl, | 417 initializeRouteFromUrl: initializeRouteFromUrl, |
405 resetRouteForTesting: resetRouteForTesting, | 418 resetRouteForTesting: resetRouteForTesting, |
406 getCurrentRoute: getCurrentRoute, | 419 getCurrentRoute: getCurrentRoute, |
407 getQueryParameters: getQueryParameters, | 420 getQueryParameters: getQueryParameters, |
408 lastRouteChangeWasPopstate: lastRouteChangeWasPopstate, | 421 lastRouteChangeWasPopstate: lastRouteChangeWasPopstate, |
409 navigateTo: navigateTo, | 422 navigateTo: navigateTo, |
410 navigateToPreviousRoute: navigateToPreviousRoute, | 423 navigateToPreviousRoute: navigateToPreviousRoute, |
411 }; | 424 }; |
412 }); | 425 }); |
OLD | NEW |