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

Unified Diff: third_party/polymer/v1_0/components/more-routing/more-route-selector.html

Issue 1269803005: Remove third_party/polymer from .gitignore (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: third_party/polymer/v1_0/components/more-routing/more-route-selector.html
diff --git a/third_party/polymer/v1_0/components/more-routing/more-route-selector.html b/third_party/polymer/v1_0/components/more-routing/more-route-selector.html
deleted file mode 100644
index c45a1937b9d72e4dce5a724de95c21c42ef8f3cf..0000000000000000000000000000000000000000
--- a/third_party/polymer/v1_0/components/more-routing/more-route-selector.html
+++ /dev/null
@@ -1,200 +0,0 @@
-<!--
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-<link rel="import" href="../polymer/polymer.html">
-
-<link rel="import" href="more-route-context-aware.html">
-<link rel="import" href="more-route-selection.html">
-
-<!--
-TODO(nevir): Document.
-
-TODO(nevir): Support child addition/removal/reorder.
--->
-<dom-module id="more-route-selector">
- <template>
- <more-route-selection
- id="selection"
- routes="[[routes]]"
- on-more-route-change="_onMoreRouteChange">
- </more-route-selection>
- <content></content>
- </template>
-</dom-module>
-<script>
-Polymer({
-
- is: 'more-route-selector',
-
- behaviors: [
- MoreRouting.ContextAware,
- ],
-
- properties: {
-
- /**
- * The attribute to read route expressions from (on children).
- */
- routeAttribute: {
- type: String,
- value: 'route',
- },
-
- /**
- * The routes managed by this element (inferred from the items that are
- * defined by the selector it targets).
- */
- routes: {
- type: Array,
- readOnly: true,
- notify: true,
- },
-
- /**
- * The selected `MoreRouting.Route` object, or `null`.
- *
- * @type {MoreRouting.Route}
- */
- selectedRoute: {
- type: Object,
- value: null,
- readOnly: true,
- notify: true,
- },
-
- /**
- * The index of the selected route (relative to `routes`). -1 when there
- * is no active route.
- */
- selectedIndex: {
- type: Number,
- value: -1,
- readOnly: true,
- notify: true,
- },
-
- /**
- * The _full_ path expression of the selected route, or `null`.
- */
- selectedPath: {
- type: String,
- readOnly: true,
- notify: true,
- },
-
- /**
- * The params of the selected route, or an empty object if no route.
- */
- selectedParams: {
- type: Object,
- readOnly: true,
- notify: true,
- },
-
- },
-
- /**
- * @event more-route-selected fires when a new route is selected.
- * @param {{
- * newRoute: MoreRouting.Route, oldRoute: MoreRouting.Route,
- * newIndex: number, oldIndex: number,
- * newPath: ?string, oldPath: ?string,
- * newParams: Object, oldParams: Object,
- * }}
- */
-
- attached: function() {
- this._managedSelector = this._findTargetSelector();
- if (!this._managedSelector) {
- console.warn(this, 'was built without a selector to manage. It will do nothing.');
- return;
- }
-
- this._managedSelector.addEventListener(
- 'selected-item-changed', this._onSelectedItemChanged.bind(this));
- this._updateRoutes();
- },
-
- /**
- * Handle a change in selected item, driven by the targeted selector.
- *
- * Note that this will fail if a route is chosen that requires params not
- * defined by the current URL.
- */
- _onSelectedItemChanged: function(event) {
- if (this._settingSelection) return;
- var route = this._routeForItem(event.detail.value);
- if (!route) return;
- route.navigateTo();
- },
-
- _updateRoutes: function() {
- var routes = [];
- if (this._managedSelector) {
- routes = this._managedSelector.items.map(this._routeForItem.bind(this));
- }
- this._setRoutes(routes);
- },
-
- _onMoreRouteChange: function(event) {
- if (!this._managedSelector) return;
-
- var selected = '';
-
- var index = this.routes.indexOf(event.detail.newRoute);
- var attrForSelected = this._managedSelector.attrForSelected;
- if (!attrForSelected) {
- selected = index;
- } else {
- var item = this._managedSelector.items[index];
- if (item)
- selected = item[attrForSelected] || item.getAttribute(attrForSelected);
- }
-
- // Make sure that we don't turn around and re-navigate
- this._settingSelection = true;
- this._managedSelector.select(selected);
- this._settingSelection = false;
- },
-
- _findTargetSelector: function() {
- var children = Polymer.dom(this).children;
- if (children.length !== 1) {
- console.error(this, 'expects only a single selector child');
- return null;
- }
-
- var child = children[0];
- if ('selected' in child && 'items' in child) {
- return child;
- } else {
- console.error(this, 'can only manage children that are selectors');
- return null;
- }
- },
-
- _routeForItem: function(item) {
- if (!item) return null;
- if (item.moreRouteContext && item.moreRouteContext instanceof MoreRouting.Route) {
- return item.moreRouteContext;
- }
-
- if (!item.hasAttribute(this.routeAttribute)) {
- console.warn(item, 'is missing a context route or "' + this.routeAttribute + '" attribute');
- return null;
- }
- var expression = item.getAttribute(this.routeAttribute);
- var route = MoreRouting.getRoute(expression, this.parentRoute);
- // Associate the route w/ its element while we're here.
- item.moreRouteContext = route;
-
- return route;
- },
-
-});
-</script>

Powered by Google App Engine
This is Rietveld 408576698