OLD | NEW |
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-drawer' holds the user card and navigation menu for settings | 7 * 'cr-settings-drawer' holds the user card and navigation menu for settings |
8 * pages. | 8 * pages. |
9 * | 9 * |
10 * Example: | 10 * Example: |
11 * | 11 * |
12 * <core-drawer-panel> | 12 * <paper-drawer-panel> |
13 * <cr-settings-drawer drawer selectedId="{{selectedId}}" | 13 * <cr-settings-drawer drawer selected-id="{{selectedId}}" |
14 * pages="{{pages}}"> | 14 * pages="[[pages]]"> |
15 * </cr-settings-drawer> | 15 * </cr-settings-drawer> |
16 * <cr-settings-main main selectedId="{{selectedId}}" pages="{{pages}}"> | 16 * <cr-settings-main main selected-id="{{selectedId}}" pages="[[pages]]"> |
17 * </cr-settings-main> | 17 * </cr-settings-main> |
18 * </core-drawer-panel> | 18 * </paper-drawer-panel> |
19 * | 19 * |
20 * @group Chrome Settings Elements | 20 * @group Chrome Settings Elements |
21 * @element cr-settings-drawer | 21 * @element cr-settings-drawer |
22 */ | 22 */ |
23 Polymer('cr-settings-drawer', { | 23 Polymer({ |
24 publish: { | 24 is: 'cr-settings-drawer', |
| 25 |
| 26 properties: { |
25 /** | 27 /** |
26 * Pages to include in the navigation. | 28 * Pages to include in the navigation. |
27 * | 29 * @type {!Array<!HTMLElement>} |
28 * @attribute pages | |
29 * @type Array<!Object> | |
30 * @default null | |
31 */ | 30 */ |
32 pages: null, | 31 pages: { |
| 32 type: Array, |
| 33 value: function() { return []; }, |
| 34 }, |
33 | 35 |
34 /** | 36 /** |
35 * ID of the currently selected page. | 37 * ID of the currently selected page. |
36 * | 38 * @type {string} |
37 * @attribute selectedId | |
38 * @type string | |
39 * default '' | |
40 */ | 39 */ |
41 selectedId: '', | 40 selectedId: { |
42 }, | 41 type: String, |
| 42 notify: true, |
| 43 }, |
43 | 44 |
44 /** @override */ | 45 /** |
45 created: function() { | 46 * @private {!Object} |
46 this.pages = []; | 47 * TODO(michaelpg): Create custom element and data source for user card. |
47 }, | 48 */ |
48 | 49 user_: { |
49 /** | 50 type: Object, |
50 * @type {Object} | 51 value: function() { |
51 * TODO(michaelpg): Create custom element and data source for user card. | 52 return { |
52 */ | 53 name: 'Chrome User', |
53 user: { | 54 email: 'user@example.com', |
54 name: 'Chrome User', | 55 iconUrl: 'chrome://theme/IDR_PROFILE_AVATAR_23@1x', |
55 email: 'user@example.com', | 56 }; |
56 iconUrl: 'chrome://theme/IDR_PROFILE_AVATAR_23@1x', | 57 }, |
| 58 readOnly: true, |
| 59 }, |
57 }, | 60 }, |
58 }); | 61 }); |
OLD | NEW |