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

Side by Side Diff: third_party/polymer/v1_0/components-chromium/app-route/app-route-converter-behavior-extracted.js

Issue 2357093002: Polymer WebUI: Remove app-route from Polymer components (Closed)
Patch Set: Rebase Created 4 years, 3 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
(Empty)
1 'use strict';
2
3 /**
4 * Provides bidirectional mapping between `path` and `queryParams` and a
5 * app-route compatible `route` object.
6 *
7 * For more information, see the docs for `app-route-converter`.
8 *
9 * @polymerBehavior
10 */
11 Polymer.AppRouteConverterBehavior = {
12 properties: {
13 /**
14 * A model representing the deserialized path through the route tree, as
15 * well as the current queryParams.
16 *
17 * A route object is the kernel of the routing system. It is intended to
18 * be fed into consuming elements such as `app-route`.
19 *
20 * @type {?Object}
21 */
22 route: {
23 type: Object,
24 notify: true
25 },
26
27 /**
28 * A set of key/value pairs that are universally accessible to branches of
29 * the route tree.
30 *
31 * @type {?Object}
32 */
33 queryParams: {
34 type: Object,
35 notify: true
36 },
37
38 /**
39 * The serialized path through the route tree. This corresponds to the
40 * `window.location.pathname` value, and will update to reflect changes
41 * to that value.
42 */
43 path: {
44 type: String,
45 notify: true,
46 }
47 },
48
49 observers: [
50 '_locationChanged(path, queryParams)',
51 '_routeChanged(route.prefix, route.path)',
52 '_routeQueryParamsChanged(route.__queryParams)'
53 ],
54
55 created: function() {
56 this.linkPaths('route.__queryParams', 'queryParams');
57 this.linkPaths('queryParams', 'route.__queryParams');
58 },
59
60 /**
61 * Handler called when the path or queryParams change.
62 */
63 _locationChanged: function() {
64 if (this.route &&
65 this.route.path === this.path &&
66 this.queryParams === this.route.__queryParams) {
67 return;
68 }
69 this.route = {
70 prefix: '',
71 path: this.path,
72 __queryParams: this.queryParams
73 };
74 },
75
76 /**
77 * Handler called when the route prefix and route path change.
78 */
79 _routeChanged: function() {
80 if (!this.route) {
81 return;
82 }
83
84 this.path = this.route.prefix + this.route.path;
85 },
86
87 /**
88 * Handler called when the route queryParams change.
89 *
90 * @param {Object} queryParams A set of key/value pairs that are
91 * universally accessible to branches of the route tree.
92 */
93 _routeQueryParamsChanged: function(queryParams) {
94 if (!this.route) {
95 return;
96 }
97 this.queryParams = queryParams;
98 }
99 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698