diff --git a/dashboard-ui/bower_components/iron-resizable-behavior/.bower.json b/dashboard-ui/bower_components/iron-resizable-behavior/.bower.json
index 1f0548f3d7..9ae5e84c7e 100644
--- a/dashboard-ui/bower_components/iron-resizable-behavior/.bower.json
+++ b/dashboard-ui/bower_components/iron-resizable-behavior/.bower.json
@@ -27,14 +27,14 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "homepage": "https://github.com/polymerelements/iron-resizable-behavior",
+ "homepage": "https://github.com/PolymerElements/iron-resizable-behavior",
"_release": "1.0.2",
"_resolution": {
"type": "version",
"tag": "v1.0.2",
"commit": "85de8ba28be2bf17c81d6436ef1119022b003674"
},
- "_source": "git://github.com/polymerelements/iron-resizable-behavior.git",
+ "_source": "git://github.com/PolymerElements/iron-resizable-behavior.git",
"_target": "^1.0.0",
- "_originalSource": "polymerelements/iron-resizable-behavior"
+ "_originalSource": "PolymerElements/iron-resizable-behavior"
}
\ No newline at end of file
diff --git a/dashboard-ui/bower_components/paper-radio-button/.bower.json b/dashboard-ui/bower_components/paper-radio-button/.bower.json
new file mode 100644
index 0000000000..b0e8f9b031
--- /dev/null
+++ b/dashboard-ui/bower_components/paper-radio-button/.bower.json
@@ -0,0 +1,45 @@
+{
+ "name": "paper-radio-button",
+ "version": "1.0.5",
+ "description": "A material design radio button",
+ "authors": [
+ "The Polymer Authors"
+ ],
+ "keywords": [
+ "web-components",
+ "polymer",
+ "radio",
+ "control"
+ ],
+ "private": true,
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/paper-radio-button"
+ },
+ "license": "http://polymer.github.io/LICENSE.txt",
+ "homepage": "https://github.com/PolymerElements/paper-radio-button",
+ "ignore": [],
+ "dependencies": {
+ "paper-ripple": "PolymerElements/paper-ripple#^1.0.0",
+ "paper-styles": "PolymerLabs/paper-styles#^1.0.0",
+ "paper-behaviors": "PolymerElements/paper-behaviors#^1.0.0",
+ "polymer": "Polymer/polymer#^1.0.0"
+ },
+ "devDependencies": {
+ "web-component-tester": "*",
+ "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
+ "test-fixture": "PolymerElements/test-fixture#^1.0.0",
+ "iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
+ "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
+ },
+ "_release": "1.0.5",
+ "_resolution": {
+ "type": "version",
+ "tag": "v1.0.5",
+ "commit": "05cd3c675d1e807362d2e72c83d3ae34c5d120a9"
+ },
+ "_source": "git://github.com/PolymerElements/paper-radio-button.git",
+ "_target": "~1.0.5",
+ "_originalSource": "PolymerElements/paper-radio-button",
+ "_direct": true
+}
\ No newline at end of file
diff --git a/dashboard-ui/bower_components/paper-radio-button/.gitignore b/dashboard-ui/bower_components/paper-radio-button/.gitignore
new file mode 100644
index 0000000000..8d4ae2536a
--- /dev/null
+++ b/dashboard-ui/bower_components/paper-radio-button/.gitignore
@@ -0,0 +1 @@
+bower_components
diff --git a/dashboard-ui/bower_components/paper-radio-button/bower.json b/dashboard-ui/bower_components/paper-radio-button/bower.json
new file mode 100644
index 0000000000..b6a2bad255
--- /dev/null
+++ b/dashboard-ui/bower_components/paper-radio-button/bower.json
@@ -0,0 +1,35 @@
+{
+ "name": "paper-radio-button",
+ "version": "1.0.5",
+ "description": "A material design radio button",
+ "authors": [
+ "The Polymer Authors"
+ ],
+ "keywords": [
+ "web-components",
+ "polymer",
+ "radio",
+ "control"
+ ],
+ "private": true,
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/paper-radio-button"
+ },
+ "license": "http://polymer.github.io/LICENSE.txt",
+ "homepage": "https://github.com/PolymerElements/paper-radio-button",
+ "ignore": [],
+ "dependencies": {
+ "paper-ripple": "PolymerElements/paper-ripple#^1.0.0",
+ "paper-styles": "PolymerLabs/paper-styles#^1.0.0",
+ "paper-behaviors": "PolymerElements/paper-behaviors#^1.0.0",
+ "polymer": "Polymer/polymer#^1.0.0"
+ },
+ "devDependencies": {
+ "web-component-tester": "*",
+ "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
+ "test-fixture": "PolymerElements/test-fixture#^1.0.0",
+ "iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
+ "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
+ }
+}
diff --git a/dashboard-ui/bower_components/paper-radio-button/demo/index.html b/dashboard-ui/bower_components/paper-radio-button/demo/index.html
new file mode 100644
index 0000000000..b79501b7d2
--- /dev/null
+++ b/dashboard-ui/bower_components/paper-radio-button/demo/index.html
@@ -0,0 +1,93 @@
+
+
+
+
+ paper-radio-button demo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Enabled
+
+
Oxygen
+
Carbon
+
Hydrogen
+
Nitrogen
+
Calcium
+
+
+
+
+
Disabled
+
+
Oxygen
+
Carbon
+
Hydrogen
+
Nitrogen
+
Calcium
+
+
+
+
+
Color
+
+
Oxygen
+
Carbon
+
Hydrogen
+
Nitrogen
+
Calcium
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/paper-radio-button/hero.svg b/dashboard-ui/bower_components/paper-radio-button/hero.svg
new file mode 100644
index 0000000000..7fbac94dd7
--- /dev/null
+++ b/dashboard-ui/bower_components/paper-radio-button/hero.svg
@@ -0,0 +1,22 @@
+
+
+
+
diff --git a/dashboard-ui/bower_components/paper-radio-button/index.html b/dashboard-ui/bower_components/paper-radio-button/index.html
new file mode 100644
index 0000000000..a564b412af
--- /dev/null
+++ b/dashboard-ui/bower_components/paper-radio-button/index.html
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+ paper-radio-button
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/paper-radio-button/paper-radio-button.css b/dashboard-ui/bower_components/paper-radio-button/paper-radio-button.css
new file mode 100644
index 0000000000..852296ee0d
--- /dev/null
+++ b/dashboard-ui/bower_components/paper-radio-button/paper-radio-button.css
@@ -0,0 +1,111 @@
+/*
+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
+*/
+
+:host {
+ display: inline-block;
+ white-space: nowrap;
+}
+
+:host(:focus) {
+ outline: none;
+}
+
+#radioContainer {
+ display: inline-block;
+ position: relative;
+ width: 16px;
+ height: 16px;
+ cursor: pointer;
+ vertical-align: middle;
+}
+
+:host #ink {
+ position: absolute;
+ top: -16px;
+ left: -16px;
+ width: 48px;
+ height: 48px;
+ color: var(--paper-radio-button-unchecked-ink-color, --primary-text-color);
+ opacity: 0.6;
+ pointer-events: none;
+}
+
+:host #ink[checked] {
+ color: var(--paper-radio-button-checked-ink-color, --default-primary-color);
+}
+
+:host #offRadio {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 12px;
+ height: 12px;
+ border-radius: 50%;
+ border: solid 2px;
+ background-color: var(--paper-radio-button-unchecked-background-color, transparent);
+ border-color: var(--paper-radio-button-unchecked-color, --primary-text-color);
+ transition: border-color 0.28s;
+}
+
+:host #onRadio {
+ position: absolute;
+ top: 4px;
+ left: 4px;
+ width: 8px;
+ height: 8px;
+ border-radius: 50%;
+ background-color: var(--paper-radio-button-checked-color, --default-primary-color);
+ -webkit-transform: scale(0);
+ transform: scale(0);
+ transition: -webkit-transform ease 0.28s;
+ transition: transform ease 0.28s;
+}
+
+:host([checked]) #offRadio {
+ border-color: var(--paper-radio-button-checked-color, --default-primary-color);
+}
+
+:host([checked]) #onRadio {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+}
+
+#radioLabel {
+ position: relative;
+ display: inline-block;
+ vertical-align: middle;
+ margin-left: 10px;
+ white-space: normal;
+ pointer-events: none;
+ color: var(--paper-radio-button-label-color, --primary-text-color);
+}
+
+#radioLabel[hidden] {
+ display: none;
+}
+
+/* disabled state */
+:host([disabled]) {
+ pointer-events: none;
+}
+
+:host([disabled]) #offRadio {
+ border-color: var(--paper-radio-button-unchecked-color, --primary-text-color);
+ opacity: 0.5;
+}
+
+:host([disabled][checked]) #onRadio {
+ background-color: var(--paper-radio-button-unchecked-color, --primary-text-color);
+ opacity: 0.5;
+}
+
+:host([disabled]) #radioLabel {
+ /* slightly darker than the button, so that it's readable */
+ opacity: 0.65;
+}
diff --git a/dashboard-ui/bower_components/paper-radio-button/paper-radio-button.html b/dashboard-ui/bower_components/paper-radio-button/paper-radio-button.html
new file mode 100644
index 0000000000..781ea10771
--- /dev/null
+++ b/dashboard-ui/bower_components/paper-radio-button/paper-radio-button.html
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/paper-radio-button/test/basic.html b/dashboard-ui/bower_components/paper-radio-button/test/basic.html
new file mode 100644
index 0000000000..6851d3d51b
--- /dev/null
+++ b/dashboard-ui/bower_components/paper-radio-button/test/basic.html
@@ -0,0 +1,101 @@
+
+
+
+
+
+ paper-radio-button basic tests
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Batman
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/paper-radio-button/test/index.html b/dashboard-ui/bower_components/paper-radio-button/test/index.html
new file mode 100644
index 0000000000..bc6ad6e08f
--- /dev/null
+++ b/dashboard-ui/bower_components/paper-radio-button/test/index.html
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+ paper-radio-button tests
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/requirejs/.bower.json b/dashboard-ui/bower_components/requirejs/.bower.json
index 2b3967d632..0da5fbf063 100644
--- a/dashboard-ui/bower_components/requirejs/.bower.json
+++ b/dashboard-ui/bower_components/requirejs/.bower.json
@@ -1,6 +1,7 @@
{
"name": "requirejs",
- "version": "2.1.19",
+ "version": "2.1.20",
+ "ignore": [],
"homepage": "http://requirejs.org",
"authors": [
"jrburke.com"
@@ -14,14 +15,13 @@
"BSD-3-Clause",
"MIT"
],
- "_release": "2.1.19",
+ "_release": "2.1.20",
"_resolution": {
"type": "version",
- "tag": "2.1.19",
- "commit": "0616d2b7899c058419342c6dff56ca6ad9f04955"
+ "tag": "2.1.20",
+ "commit": "eaec2af816f2550c0a4a2b69a4f3a635aec48d29"
},
"_source": "git://github.com/jrburke/requirejs-bower.git",
"_target": "~2.1.19",
- "_originalSource": "requirejs",
- "_direct": true
+ "_originalSource": "requirejs"
}
\ No newline at end of file
diff --git a/dashboard-ui/bower_components/requirejs/bower.json b/dashboard-ui/bower_components/requirejs/bower.json
index f86e3d81ef..d008e02d68 100644
--- a/dashboard-ui/bower_components/requirejs/bower.json
+++ b/dashboard-ui/bower_components/requirejs/bower.json
@@ -1,6 +1,7 @@
{
"name": "requirejs",
"version": "2.1.19",
+ "ignore": [],
"homepage": "http://requirejs.org",
"authors": [
"jrburke.com"
diff --git a/dashboard-ui/bower_components/requirejs/require.js b/dashboard-ui/bower_components/requirejs/require.js
index a3e74da0b2..5237640495 100644
--- a/dashboard-ui/bower_components/requirejs/require.js
+++ b/dashboard-ui/bower_components/requirejs/require.js
@@ -1,5 +1,5 @@
/** vim: et:ts=4:sw=4:sts=4
- * @license RequireJS 2.1.19 Copyright (c) 2010-2015, The Dojo Foundation All Rights Reserved.
+ * @license RequireJS 2.1.20 Copyright (c) 2010-2015, The Dojo Foundation All Rights Reserved.
* Available via the MIT or new BSD license.
* see: http://github.com/jrburke/requirejs for details
*/
@@ -12,7 +12,7 @@ var requirejs, require, define;
(function (global) {
var req, s, head, baseElement, dataMain, src,
interactiveScript, currentlyAddingScript, mainScript, subPath,
- version = '2.1.19',
+ version = '2.1.20',
commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,
cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,
jsSuffixRegExp = /\.js$/,
@@ -21,7 +21,6 @@ var requirejs, require, define;
ostring = op.toString,
hasOwn = op.hasOwnProperty,
ap = Array.prototype,
- apsp = ap.splice,
isBrowser = !!(typeof window !== 'undefined' && typeof navigator !== 'undefined' && window.document),
isWebWorker = !isBrowser && typeof importScripts !== 'undefined',
//PS3 indicates loaded and complete, but need to wait for complete
@@ -554,11 +553,13 @@ var requirejs, require, define;
function takeGlobalQueue() {
//Push all the globalDefQueue items into the context's defQueue
if (globalDefQueue.length) {
- //Array splice in the values since the context code has a
- //local var ref to defQueue, so cannot just reassign the one
- //on context.
- apsp.apply(defQueue,
- [defQueue.length, 0].concat(globalDefQueue));
+ each(globalDefQueue, function(queueItem) {
+ var id = queueItem[0];
+ if (typeof id === 'string') {
+ context.defQueueMap[id] = true;
+ }
+ defQueue.push(queueItem);
+ });
globalDefQueue = [];
}
}
@@ -845,7 +846,10 @@ var requirejs, require, define;
factory = this.factory;
if (!this.inited) {
- this.fetch();
+ // Only fetch if not already in the defQueue.
+ if (!hasProp(context.defQueueMap, id)) {
+ this.fetch();
+ }
} else if (this.error) {
this.emit('error', this.error);
} else if (!this.defining) {
@@ -1244,6 +1248,7 @@ var requirejs, require, define;
callGetModule(args);
}
}
+ context.defQueueMap = {};
}
context = {
@@ -1253,6 +1258,7 @@ var requirejs, require, define;
defined: defined,
urlFetched: urlFetched,
defQueue: defQueue,
+ defQueueMap: {},
Module: Module,
makeModuleMap: makeModuleMap,
nextTick: req.nextTick,
@@ -1502,6 +1508,7 @@ var requirejs, require, define;
defQueue.splice(i, 1);
}
});
+ delete context.defQueueMap[id];
if (mod) {
//Hold on to listeners in case the
@@ -1563,6 +1570,7 @@ var requirejs, require, define;
callGetModule(args);
}
+ context.defQueueMap = {};
//Do this after the cycle of callGetModule in case the result
//of those calls/init calls changes the registry.
@@ -2067,7 +2075,12 @@ var requirejs, require, define;
//where the module name is not known until the script onload event
//occurs. If no context, use the global queue, and get it processed
//in the onscript load callback.
- (context ? context.defQueue : globalDefQueue).push([name, deps, callback]);
+ if (context) {
+ context.defQueue.push([name, deps, callback]);
+ context.defQueueMap[name] = true;
+ } else {
+ globalDefQueue.push([name, deps, callback]);
+ }
};
define.amd = {
diff --git a/dashboard-ui/forgotpassword.html b/dashboard-ui/forgotpassword.html
index 3e4cf9ee9c..1ce4bc46f6 100644
--- a/dashboard-ui/forgotpassword.html
+++ b/dashboard-ui/forgotpassword.html
@@ -4,7 +4,7 @@
${TitleForgotPassword}
-
+
diff --git a/dashboard-ui/scripts/forgotpassword.js b/dashboard-ui/scripts/forgotpassword.js
index a62115c9d9..e21abcc990 100644
--- a/dashboard-ui/scripts/forgotpassword.js
+++ b/dashboard-ui/scripts/forgotpassword.js
@@ -63,7 +63,9 @@
$(document).on('pageinitdepends', '#forgotPasswordPage', function () {
- $('.forgotPasswordForm').off('submit', onSubmit).on('submit', onSubmit);
+
+ var page = this;
+ $('.forgotPasswordForm', page).off('submit', onSubmit).on('submit', onSubmit);
});
})(window);
\ No newline at end of file
diff --git a/dashboard-ui/scripts/mediacontroller.js b/dashboard-ui/scripts/mediacontroller.js
index 8406451f02..47e3ef4d75 100644
--- a/dashboard-ui/scripts/mediacontroller.js
+++ b/dashboard-ui/scripts/mediacontroller.js
@@ -78,8 +78,9 @@
var playerInfo = MediaController.getPlayerInfo();
var html = '';
-
html += '
';
@@ -124,84 +123,78 @@
var promise = MediaController.getTargets();
- var html = '
';
+ var html = '';
$(document.body).append(html);
require(['jqmicons']);
- setTimeout(function () {
+ var elem = $('#playerSelectionPanel').panel({}).trigger('create').panel("open").on("panelclose", function () {
- var elem = document.getElementById('playerSelectionPanel');
- elem.open();
+ $(this).off("panelclose").remove();
+ });
- promise.done(function (targets) {
+ promise.done(function (targets) {
- $('.players', elem).html(getTargetsHtml(targets)).trigger('create');
+ $('.players', elem).html(getTargetsHtml(targets)).trigger('create');
- $('.chkEnableMirrorMode', elem).on('change', function () {
- setMirrorModeEnabled(this.checked);
+ $('.chkEnableMirrorMode', elem).on('change', function () {
+ setMirrorModeEnabled(this.checked);
- if (this.checked && currentDisplayInfo) {
+ if (this.checked && currentDisplayInfo) {
- mirrorItem(currentDisplayInfo);
+ mirrorItem(currentDisplayInfo);
- }
+ }
- });
+ });
- $('.radioSelectPlayerTarget', elem).off('change').on('change', function () {
+ $('.radioSelectPlayerTarget', elem).off('change').on('change', function () {
- var supportsMirror = this.getAttribute('data-mirror') == 'true';
+ var supportsMirror = this.getAttribute('data-mirror') == 'true';
- if (supportsMirror) {
- $('.fldMirrorMode', elem).show();
- } else {
- $('.fldMirrorMode', elem).hide();
- }
-
- var playerName = this.getAttribute('data-playername');
- var targetId = this.getAttribute('data-targetid');
- var targetName = this.getAttribute('data-targetname');
- var deviceName = this.getAttribute('data-deviceName');
- var playableMediaTypes = this.getAttribute('data-mediatypes').split(',');
- var supportedCommands = this.getAttribute('data-commands').split(',');
-
- MediaController.trySetActivePlayer(playerName, {
- id: targetId,
- name: targetName,
- playableMediaTypes: playableMediaTypes,
- supportedCommands: supportedCommands,
- deviceName: deviceName
-
- });
-
- if (currentDisplayInfo) {
-
- mirrorIfEnabled(currentDisplayInfo);
- }
-
- });
-
- if ($('.radioSelectPlayerTarget:checked', elem)[0].getAttribute('data-mirror') == 'true') {
+ if (supportsMirror) {
$('.fldMirrorMode', elem).show();
} else {
$('.fldMirrorMode', elem).hide();
}
- });
- }, 350);
+ var playerName = this.getAttribute('data-playername');
+ var targetId = this.getAttribute('data-targetid');
+ var targetName = this.getAttribute('data-targetname');
+ var deviceName = this.getAttribute('data-deviceName');
+ var playableMediaTypes = this.getAttribute('data-mediatypes').split(',');
+ var supportedCommands = this.getAttribute('data-commands').split(',');
+
+ MediaController.trySetActivePlayer(playerName, {
+ id: targetId,
+ name: targetName,
+ playableMediaTypes: playableMediaTypes,
+ supportedCommands: supportedCommands,
+ deviceName: deviceName
+
+ });
+
+ if (currentDisplayInfo) {
+
+ mirrorIfEnabled(currentDisplayInfo);
+ }
+
+ });
+
+ if ($('.radioSelectPlayerTarget:checked', elem)[0].getAttribute('data-mirror') == 'true') {
+ $('.fldMirrorMode', elem).show();
+ } else {
+ $('.fldMirrorMode', elem).hide();
+ }
+ });
}
function bindKeys(controller) {
diff --git a/dashboard-ui/vulcanize-out.html b/dashboard-ui/vulcanize-out.html
index 4bba1732bd..128a5c3fdb 100644
--- a/dashboard-ui/vulcanize-out.html
+++ b/dashboard-ui/vulcanize-out.html
@@ -6716,6 +6716,8 @@ this.fire('dom-change');
'space:keyup': '_spaceKeyUpHandler',
},
+ _mouseEventRe: /^mouse/,
+
_tapHandler: function() {
if (this.toggles) {
// a tap is needed to toggle the active state
@@ -6736,7 +6738,33 @@ this.fire('dom-change');
this.fire('change');
},
- _downHandler: function() {
+ _eventSourceIsPrimaryInput: function(event) {
+ event = event.detail.sourceEvent || event;
+
+ // Always true for non-mouse events....
+ if (!this._mouseEventRe.test(event.type)) {
+ return true;
+ }
+
+ // http://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons
+ if ('buttons' in event) {
+ return event.buttons === 1;
+ }
+
+ // http://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/which
+ if (typeof event.which === 'number') {
+ return event.which < 2;
+ }
+
+ // http://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button
+ return event.button < 1;
+ },
+
+ _downHandler: function(event) {
+ if (!this._eventSourceIsPrimaryInput(event)) {
+ return;
+ }
+
this._setPointerDown(true);
this._setPressed(true);
this._setReceivedFocusFromKeyboard(false);
@@ -12315,6 +12343,10 @@ is separate from validation, and `allowed-pattern` does not affect how the input
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+