update video probing

This commit is contained in:
Luke Pulverenti 2015-09-23 00:00:30 -04:00
parent 8a32cc215f
commit b70aa4926c
25 changed files with 407 additions and 355 deletions

View file

@ -16,34 +16,38 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
Polymer.IronSelectableBehavior = {
/**
* Fired when iron-selector is activated (selected or deselected).
* It is fired before the selected items are changed.
* Cancel the event to abort selection.
* Fired when iron-selector is activated (selected or deselected).
* It is fired before the selected items are changed.
* Cancel the event to abort selection.
*
* @event iron-activate
*
**/
*/
/**
* Fired when an item is selected
* Fired when an item is selected
*
* @event iron-select
*
**/
*/
/**
* Fired when an item is deselected
* Fired when an item is deselected
*
* @event iron-deselect
*/
/**
* Fired when the list of selectable items changes (e.g., items are
* added or removed). The detail of the event is a list of mutation
* records that describe what changed.
*
**/
* @event iron-items-changed
*/
properties: {
/**
* If you want to use the attribute value of an element for `selected` instead of the index,
* set this to the name of the attribute.
*
* @attribute attrForSelected
* @type {string}
*/
attrForSelected: {
type: String,
@ -52,9 +56,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
/**
* Gets or sets the selected element. The default is to use the index of the item.
*
* @attribute selected
* @type {string}
*/
selected: {
type: String,
@ -63,9 +64,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
/**
* Returns the currently selected item.
*
* @attribute selectedItem
* @type {Object}
*/
selectedItem: {
type: Object,
@ -77,10 +75,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
* The event that fires from items when they are selected. Selectable
* will listen for this event from items and update the selection state.
* Set to empty string to listen to no events.
*
* @attribute activateEvent
* @type {string}
* @default 'tap'
*/
activateEvent: {
type: String,
@ -91,17 +85,11 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
/**
* This is a CSS selector string. If this is set, only items that match the CSS selector
* are selectable.
*
* @attribute selectable
* @type {string}
*/
selectable: String,
/**
* The class to set on elements when selected.
*
* @attribute selectedClass
* @type {string}
*/
selectedClass: {
type: String,
@ -110,9 +98,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
/**
* The attribute to set on elements when selected.
*
* @attribute selectedAttribute
* @type {string}
*/
selectedAttribute: {
type: String,
@ -123,10 +108,8 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
* The set of excluded elements where the key is the `localName`
* of the element that will be ignored from the item list.
*
* @type {object}
* @default {template: 1}
*/
excludedLocalNames: {
type: Object,
value: function() {
@ -295,7 +278,15 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
// observe items change under the given node.
_observeItems: function(node) {
var observer = new MutationObserver(function() {
// TODO(cdata): Update this when we get distributed children changed.
var observer = new MutationObserver(function(mutations) {
// Let other interested parties know about the change so that
// we don't have to recreate mutation observers everywher.
this.fire('iron-items-changed', mutations, {
bubbles: false,
cancelable: false
});
if (this.selected != null) {
this._updateSelected();
}