diff --git a/dashboard-ui/bower_components/neon-animation/.bower.json b/dashboard-ui/bower_components/neon-animation/.bower.json
new file mode 100644
index 0000000000..0c7de829c6
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/.bower.json
@@ -0,0 +1,62 @@
+{
+ "name": "neon-animation",
+ "description": "A system for animating Polymer-based web components",
+ "version": "1.2.2",
+ "authors": [
+ "The Polymer Authors"
+ ],
+ "keywords": [
+ "web-components",
+ "web-component",
+ "polymer",
+ "web-animations"
+ ],
+ "main": [
+ "neon-animated-pages.html",
+ "neon-animatable-behavior.html",
+ "neon-animation-behavior.html",
+ "neon-animation-runner-behavior.html",
+ "neon-shared-element-animatable-behavior.html",
+ "neon-shared-element-animation-behavior.html",
+ "neon-animatable.html",
+ "neon-animations.html"
+ ],
+ "private": true,
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/neon-animation"
+ },
+ "license": "http://polymer.github.io/LICENSE.txt",
+ "homepage": "https://github.com/PolymerElements/neon-animation",
+ "ignore": [],
+ "dependencies": {
+ "polymer": "Polymer/polymer#^1.1.0",
+ "iron-meta": "PolymerElements/iron-meta#^1.0.0",
+ "iron-resizable-behavior": "PolymerElements/iron-resizable-behavior#^1.0.0",
+ "iron-selector": "PolymerElements/iron-selector#^1.0.0",
+ "web-animations-js": "web-animations/web-animations-js#^2.2.0"
+ },
+ "devDependencies": {
+ "iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
+ "paper-toolbar": "PolymerElements/paper-toolbar#^1.0.0",
+ "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
+ "test-fixture": "PolymerElements/test-fixture#^1.0.0",
+ "web-component-tester": "^4.0.0",
+ "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
+ "paper-item": "PolymerElements/paper-item#^1.0.0",
+ "paper-styles": "PolymerElements/paper-styles#^1.0.0",
+ "iron-icon": "PolymerElements/iron-icon#^1.0.0",
+ "iron-icons": "PolymerElements/iron-icons#^1.0.0",
+ "paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0"
+ },
+ "_release": "1.2.2",
+ "_resolution": {
+ "type": "version",
+ "tag": "v1.2.2",
+ "commit": "67b614a9261c84be12293f1105bafc158a2f443c"
+ },
+ "_source": "git://github.com/PolymerElements/neon-animation.git",
+ "_target": "^1.2.2",
+ "_originalSource": "PolymerElements/neon-animation",
+ "_direct": true
+}
\ No newline at end of file
diff --git a/dashboard-ui/bower_components/neon-animation/.github/ISSUE_TEMPLATE.md b/dashboard-ui/bower_components/neon-animation/.github/ISSUE_TEMPLATE.md
new file mode 100644
index 0000000000..08943a1e15
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/.github/ISSUE_TEMPLATE.md
@@ -0,0 +1,33 @@
+
+### Description
+
+
+### Expected outcome
+
+
+
+### Actual outcome
+
+
+
+### Live Demo
+
+
+### Steps to reproduce
+
+
+
+### Browsers Affected
+
+- [ ] Chrome
+- [ ] Firefox
+- [ ] Safari 9
+- [ ] Safari 8
+- [ ] Safari 7
+- [ ] Edge
+- [ ] IE 11
+- [ ] IE 10
diff --git a/dashboard-ui/bower_components/neon-animation/.gitignore b/dashboard-ui/bower_components/neon-animation/.gitignore
new file mode 100644
index 0000000000..8d4ae2536a
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/.gitignore
@@ -0,0 +1 @@
+bower_components
diff --git a/dashboard-ui/bower_components/neon-animation/.travis.yml b/dashboard-ui/bower_components/neon-animation/.travis.yml
new file mode 100644
index 0000000000..dd1a81e710
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/.travis.yml
@@ -0,0 +1,23 @@
+language: node_js
+sudo: required
+node_js: stable
+addons:
+ firefox: latest
+ apt:
+ sources:
+ - google-chrome
+ packages:
+ - google-chrome-stable
+ sauce_connect: true
+before_script:
+ - npm install -g bower polylint web-component-tester
+ - bower install
+ - polylint
+script:
+ - xvfb-run wct
+ - "if [ \"${TRAVIS_PULL_REQUEST}\" = \"false\" ]; then wct -s 'default'; fi"
+env:
+ global:
+ - secure: AnPpB3uzTWU0hmrDmPyOb/3mJZRv4BgPFJrpaT/mQ/9979IBeFfFHJX6MqQlgo894lJWvKSvAjEutgK5Z3LQh6cLB3JuhPBInwKgFPUx/V14VIju+Z7jwx6RycE3flb2f9Y6y5My13ovswsTNnhJEkpDGlbRnJlh5c+HeP+6D0oFPFaGWvULZsAHQnEykir1TMPL2TD8SfuYWifmBj7QYQ2vsYnqZoAkPNedv/OtdoA3rziFXSG3GqXX2NJVnYqlaLj/HiHK7xLlZu/ODfo6En12DMtqJajBP7NfJkEUAF72ScOsYxlwiI1aYcVSUy6upkxxPwkBj5x7wDZ0tRFmlautyq2skDAh/fgIfRw9AMe8kj/YLef+T8bmZNT9IIelNaNcpfTQHpYWcOpPk2uBT3iIOcmp+Ys8RZKqzYmekBtHTwCGmQcfQrjBXjrjz5xlUaoMH7vauh7Ct7SkD7Fu87XSUvks4v2yypxxmHXO8jUilKuUdtAzb3dtOboO0ptsoLuBm/qSeURco4be6KPyVnDxdWdbYOxIZtE8JeY2DbonS45OgFtL1NKeEIhiTQIcOuSs0qwJFFzaBBAfek1tkTvBhMJP3JPWpIbNJhdZWzSd0LUSe892sbiZJY67FA4xcY8vK5JZNWnxFyKX1+A8ljPEd1yBImxMzUDMNS9t0G0=
+ - secure: jdh0G/FDRghnjasav0/8nOZsYgXUd5DLKgD5XrDCVrBvPwXly+AnMXE+Hr/bztEXylcEmcqrWUUfB1ODUdVn1EGk8CJaYpHyKcoMcpJiEjHYS/3i1rXRsnHs2o3dcRO69rA8A5LZeG3yYfiPVUiKlyl7MWOal3pNohDGi8dZcT0CoWnA8UaV//0uXG3GGG3X8KcbVfB2hQvG1mK6wM6W4eHVOplcBaE2xnnFDMxfU2KnRgjLSPw66PeJGczWOBR9fZql9p6kV38ZM2s4qnUsMlTZkNqn0f6CuEPqcG6+S6Tk9+0dvAHet+Ky9fgiyJPq+p6sDGfdm1ZJwOjz5MoyudzGSuHAJHH2nscQf8pUBQ1gxKaGg7GV9LUj0cjLDAFWA2KpxTlabDZhZPIMoMKFpqpvJG49gDVga5gGabom21nd/+E1i/2vvoP16kY9rjf+Gd5+tIzajXCu8Tq06Xz63idZDJbt38GjArfFFqe5k7CqE+m2vpWx/iTwe+cT70wnIq/xigvaNq6CgUuNdzkVnVBj/C7yVqwwZkfbBC7HhRna9Nyzts/j2M2vwy0oYB73WzuhpYSweaAOZq2kcUIQ5ZMGO3UkZRjwWnHxAi5mrvZhRcRIqkvJJhoMQnjwJSTah/3cz0cJh19DL+Ozde24/tuY+vOnhFb+ddo1OKD6FtM=
+dist: trusty
diff --git a/dashboard-ui/bower_components/neon-animation/CONTRIBUTING.md b/dashboard-ui/bower_components/neon-animation/CONTRIBUTING.md
new file mode 100644
index 0000000000..f147978a3e
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/CONTRIBUTING.md
@@ -0,0 +1,77 @@
+
+
+# Polymer Elements
+## Guide for Contributors
+
+Polymer Elements are built in the open, and the Polymer authors eagerly encourage any and all forms of community contribution. When contributing, please follow these guidelines:
+
+### Filing Issues
+
+**If you are filing an issue to request a feature**, please provide a clear description of the feature. It can be helpful to describe answers to the following questions:
+
+ 1. **Who will use the feature?** _“As someone filling out a form…”_
+ 2. **When will they use the feature?** _“When I enter an invalid value…”_
+ 3. **What is the user’s goal?** _“I want to be visually notified that the value needs to be corrected…”_
+
+**If you are filing an issue to report a bug**, please provide:
+
+ 1. **A clear description of the bug and related expectations.** Consider using the following example template for reporting a bug:
+
+ ```markdown
+ The `paper-foo` element causes the page to turn pink when clicked.
+
+ ## Expected outcome
+
+ The page stays the same color.
+
+ ## Actual outcome
+
+ The page turns pink.
+
+ ## Steps to reproduce
+
+ 1. Put a `paper-foo` element in the page.
+ 2. Open the page in a web browser.
+ 3. Click the `paper-foo` element.
+ ```
+
+ 2. **A reduced test case that demonstrates the problem.** If possible, please include the test case as a JSBin. Start with this template to easily import and use relevant Polymer Elements: [https://jsbin.com/cagaye/edit?html,output](https://jsbin.com/cagaye/edit?html,output).
+
+ 3. **A list of browsers where the problem occurs.** This can be skipped if the problem is the same across all browsers.
+
+### Submitting Pull Requests
+
+**Before creating a pull request**, please ensure that an issue exists for the corresponding change in the pull request that you intend to make. **If an issue does not exist, please create one per the guidelines above**. The goal is to discuss the design and necessity of the proposed change with Polymer authors and community before diving into a pull request.
+
+When submitting pull requests, please provide:
+
+ 1. **A reference to the corresponding issue** or issues that will be closed by the pull request. Please refer to these issues in the pull request description using the following syntax:
+
+ ```markdown
+ (For a single issue)
+ Fixes #20
+
+ (For multiple issues)
+ Fixes #32, fixes #40
+ ```
+
+ 2. **A succinct description of the design** used to fix any related issues. For example:
+
+ ```markdown
+ This fixes #20 by removing styles that leaked which would cause the page to turn pink whenever `paper-foo` is clicked.
+ ```
+
+ 3. **At least one test for each bug fixed or feature added** as part of the pull request. Pull requests that fix bugs or add features without accompanying tests will not be considered.
+
+If a proposed change contains multiple commits, please [squash commits](https://www.google.com/url?q=http://blog.steveklabnik.com/posts/2012-11-08-how-to-squash-commits-in-a-github-pull-request) to as few as is necessary to succinctly express the change. A Polymer author can help you squash commits, so don’t be afraid to ask us if you need help with that!
diff --git a/dashboard-ui/bower_components/neon-animation/animations/cascaded-animation.html b/dashboard-ui/bower_components/neon-animation/animations/cascaded-animation.html
new file mode 100644
index 0000000000..97b045071e
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/animations/cascaded-animation.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/animations/fade-in-animation.html b/dashboard-ui/bower_components/neon-animation/animations/fade-in-animation.html
new file mode 100644
index 0000000000..cdb74e3095
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/animations/fade-in-animation.html
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/animations/fade-out-animation.html b/dashboard-ui/bower_components/neon-animation/animations/fade-out-animation.html
new file mode 100644
index 0000000000..82cc3997cf
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/animations/fade-out-animation.html
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/animations/hero-animation.html b/dashboard-ui/bower_components/neon-animation/animations/hero-animation.html
new file mode 100644
index 0000000000..a9075e138f
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/animations/hero-animation.html
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/animations/opaque-animation.html b/dashboard-ui/bower_components/neon-animation/animations/opaque-animation.html
new file mode 100644
index 0000000000..f5b60a4514
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/animations/opaque-animation.html
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/animations/reverse-ripple-animation.html b/dashboard-ui/bower_components/neon-animation/animations/reverse-ripple-animation.html
new file mode 100644
index 0000000000..7284e9bd42
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/animations/reverse-ripple-animation.html
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/animations/ripple-animation.html b/dashboard-ui/bower_components/neon-animation/animations/ripple-animation.html
new file mode 100644
index 0000000000..1f5c736e3b
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/animations/ripple-animation.html
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/animations/scale-down-animation.html b/dashboard-ui/bower_components/neon-animation/animations/scale-down-animation.html
new file mode 100644
index 0000000000..6dc187b317
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/animations/scale-down-animation.html
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/animations/scale-up-animation.html b/dashboard-ui/bower_components/neon-animation/animations/scale-up-animation.html
new file mode 100644
index 0000000000..b5164f7fe1
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/animations/scale-up-animation.html
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/animations/slide-down-animation.html b/dashboard-ui/bower_components/neon-animation/animations/slide-down-animation.html
new file mode 100644
index 0000000000..c17141f25e
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/animations/slide-down-animation.html
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/animations/slide-from-bottom-animation.html b/dashboard-ui/bower_components/neon-animation/animations/slide-from-bottom-animation.html
new file mode 100644
index 0000000000..18c40db26b
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/animations/slide-from-bottom-animation.html
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/animations/slide-from-left-animation.html b/dashboard-ui/bower_components/neon-animation/animations/slide-from-left-animation.html
new file mode 100644
index 0000000000..d248175221
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/animations/slide-from-left-animation.html
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/animations/slide-from-right-animation.html b/dashboard-ui/bower_components/neon-animation/animations/slide-from-right-animation.html
new file mode 100644
index 0000000000..4ebbf11b86
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/animations/slide-from-right-animation.html
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/animations/slide-from-top-animation.html b/dashboard-ui/bower_components/neon-animation/animations/slide-from-top-animation.html
new file mode 100644
index 0000000000..32920f06b8
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/animations/slide-from-top-animation.html
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/animations/slide-left-animation.html b/dashboard-ui/bower_components/neon-animation/animations/slide-left-animation.html
new file mode 100644
index 0000000000..7fbc446bcc
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/animations/slide-left-animation.html
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/animations/slide-right-animation.html b/dashboard-ui/bower_components/neon-animation/animations/slide-right-animation.html
new file mode 100644
index 0000000000..e6441c4f38
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/animations/slide-right-animation.html
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/animations/slide-up-animation.html b/dashboard-ui/bower_components/neon-animation/animations/slide-up-animation.html
new file mode 100644
index 0000000000..fdf1186d16
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/animations/slide-up-animation.html
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/animations/transform-animation.html b/dashboard-ui/bower_components/neon-animation/animations/transform-animation.html
new file mode 100644
index 0000000000..f5963ed05f
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/animations/transform-animation.html
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/bower.json b/dashboard-ui/bower_components/neon-animation/bower.json
new file mode 100644
index 0000000000..192e7bef81
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/bower.json
@@ -0,0 +1,52 @@
+{
+ "name": "neon-animation",
+ "description": "A system for animating Polymer-based web components",
+ "version": "1.2.2",
+ "authors": [
+ "The Polymer Authors"
+ ],
+ "keywords": [
+ "web-components",
+ "web-component",
+ "polymer",
+ "web-animations"
+ ],
+ "main": [
+ "neon-animated-pages.html",
+ "neon-animatable-behavior.html",
+ "neon-animation-behavior.html",
+ "neon-animation-runner-behavior.html",
+ "neon-shared-element-animatable-behavior.html",
+ "neon-shared-element-animation-behavior.html",
+ "neon-animatable.html",
+ "neon-animations.html"
+ ],
+ "private": true,
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/PolymerElements/neon-animation"
+ },
+ "license": "http://polymer.github.io/LICENSE.txt",
+ "homepage": "https://github.com/PolymerElements/neon-animation",
+ "ignore": [],
+ "dependencies": {
+ "polymer": "Polymer/polymer#^1.1.0",
+ "iron-meta": "PolymerElements/iron-meta#^1.0.0",
+ "iron-resizable-behavior": "PolymerElements/iron-resizable-behavior#^1.0.0",
+ "iron-selector": "PolymerElements/iron-selector#^1.0.0",
+ "web-animations-js": "web-animations/web-animations-js#^2.2.0"
+ },
+ "devDependencies": {
+ "iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0",
+ "paper-toolbar": "PolymerElements/paper-toolbar#^1.0.0",
+ "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
+ "test-fixture": "PolymerElements/test-fixture#^1.0.0",
+ "web-component-tester": "^4.0.0",
+ "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
+ "paper-item": "PolymerElements/paper-item#^1.0.0",
+ "paper-styles": "PolymerElements/paper-styles#^1.0.0",
+ "iron-icon": "PolymerElements/iron-icon#^1.0.0",
+ "iron-icons": "PolymerElements/iron-icons#^1.0.0",
+ "paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0"
+ }
+}
diff --git a/dashboard-ui/bower_components/neon-animation/demo/card/index.html b/dashboard-ui/bower_components/neon-animation/demo/card/index.html
new file mode 100644
index 0000000000..44993465fc
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/demo/card/index.html
@@ -0,0 +1,166 @@
+
+
+
+
+ neon-animated-pages demo: card
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Choose a subject
+
+
+ POLYMER
+
+
+ ANGULAR
+
+
+
+
+
+
+
+
+ BACK
+
+
Polymer
+
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
+ tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
+ quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
+ cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
+ proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+
+
+
+
+
+
+
+ BACK
+
+
Angular
+
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
+ tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
+ quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
+ cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
+ proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/guides/neon-animation.md b/dashboard-ui/bower_components/neon-animation/guides/neon-animation.md
new file mode 100644
index 0000000000..69727b864f
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/guides/neon-animation.md
@@ -0,0 +1,314 @@
+---
+title: neon-animation
+summary: "A short guide to neon-animation and neon-animated-pages"
+tags: ['animation','core-animated-pages']
+elements: ['neon-animation','neon-animated-pages']
+updated: 2015-05-26
+---
+
+# neon-animation
+
+`neon-animation` is a suite of elements and behaviors to implement pluggable animated transitions for Polymer Elements using [Web Animations](https://w3c.github.io/web-animations/).
+
+*Warning: The API may change.*
+
+* [A basic animatable element](#basic)
+* [Animation configuration](#configuration)
+ * [Animation types](#configuration-types)
+ * [Configuration properties](#configuration-properties)
+ * [Using multiple animations](#configuration-multiple)
+ * [Running animations encapsulated in children nodes](#configuration-encapsulation)
+* [Page transitions](#page-transitions)
+ * [Shared element animations](#shared-element)
+ * [Declarative page transitions](#declarative-page)
+* [Included animations](#animations)
+* [Demos](#demos)
+
+
+## A basic animatable element
+
+Elements that can be animated should implement the `Polymer.NeonAnimatableBehavior` behavior, or `Polymer.NeonAnimationRunnerBehavior` if they're also responsible for running an animation.
+
+```js
+Polymer({
+ is: 'my-animatable',
+ behaviors: [
+ Polymer.NeonAnimationRunnerBehavior
+ ],
+ properties: {
+ animationConfig: {
+ value: function() {
+ return {
+ // provided by neon-animation/animations/scale-down-animation.html
+ name: 'scale-down-animation',
+ node: this
+ }
+ }
+ }
+ },
+ listeners: {
+ // this event is fired when the animation finishes
+ 'neon-animation-finish': '_onNeonAnimationFinish'
+ },
+ animate: function() {
+ // run scale-down-animation
+ this.playAnimation();
+ },
+ _onNeonAnimationFinish: function() {
+ console.log('animation done!');
+ }
+});
+```
+
+[Live demo](http://morethanreal.github.io/neon-animation-demo/bower_components/neon-animation/demo/doc/basic.html)
+
+
+## Animation configuration
+
+
+### Animation types
+
+An element might run different animations, for example it might do something different when it enters the view and when it exits from view. You can set the `animationConfig` property to a map from an animation type to configuration.
+
+```js
+Polymer({
+ is: 'my-dialog',
+ behaviors: [
+ Polymer.NeonAnimationRunnerBehavior
+ ],
+ properties: {
+ opened: {
+ type: Boolean
+ },
+ animationConfig: {
+ value: function() {
+ return {
+ 'entry': {
+ // provided by neon-animation/animations/scale-up-animation.html
+ name: 'scale-up-animation',
+ node: this
+ },
+ 'exit': {
+ // provided by neon-animation-animations/fade-out-animation.html
+ name: 'fade-out-animation',
+ node: this
+ }
+ }
+ }
+ }
+ },
+ listeners: {
+ 'neon-animation-finish': '_onNeonAnimationFinish'
+ },
+ show: function() {
+ this.opened = true;
+ this.style.display = 'inline-block';
+ // run scale-up-animation
+ this.playAnimation('entry');
+ },
+ hide: function() {
+ this.opened = false;
+ // run fade-out-animation
+ this.playAnimation('exit');
+ },
+ _onNeonAnimationFinish: function() {
+ if (!this.opened) {
+ this.style.display = 'none';
+ }
+ }
+});
+```
+
+[Live demo](http://morethanreal.github.io/neon-animation-demo/bower_components/neon-animation/demo/doc/types.html)
+
+You can also use the convenience properties `entryAnimation` and `exitAnimation` to set `entry` and `exit` animations:
+
+```js
+properties: {
+ entryAnimation: {
+ value: 'scale-up-animation'
+ },
+ exitAnimation: {
+ value: 'fade-out-animation'
+ }
+}
+```
+
+
+### Configuration properties
+
+You can pass additional parameters to configure an animation in the animation configuration object.
+All animations should accept the following properties:
+
+ * `name`: The name of an animation, ie. an element implementing `Polymer.NeonAnimationBehavior`.
+ * `node`: The target node to apply the animation to. Defaults to `this`.
+ * `timing`: Timing properties to use in this animation. They match the [Web Animations Animation Effect Timing interface](https://w3c.github.io/web-animations/#the-animationeffecttiming-interface). The
+ properties include the following:
+ * `duration`: The duration of the animation in milliseconds.
+ * `delay`: The delay before the start of the animation in milliseconds.
+ * `easing`: A timing function for the animation. Matches the CSS timing function values.
+
+Animations may define additional configuration properties and they are listed in their documentation.
+
+
+### Using multiple animations
+
+Set the animation configuration to an array to combine animations, like this:
+
+```js
+animationConfig: {
+ value: function() {
+ return {
+ // fade-in-animation is run with a 50ms delay from slide-down-animation
+ 'entry': [{
+ name: 'slide-down-animation',
+ node: this
+ }, {
+ name: 'fade-in-animation',
+ node: this,
+ timing: {delay: 50}
+ }]
+ }
+ }
+}
+```
+
+
+### Running animations encapsulated in children nodes
+
+You can include animations in the configuration that are encapsulated in a child element that implement `Polymer.NeonAnimatableBehavior` with the `animatable` property.
+
+```js
+animationConfig: {
+ value: function() {
+ return {
+ // run fade-in-animation on this, and the entry animation on this.$.myAnimatable
+ 'entry': [
+ {name: 'fade-in-animation', node: this},
+ {animatable: this.$.myAnimatable, type: 'entry'}
+ ]
+ }
+ }
+}
+```
+
+
+## Page transitions
+
+*The artist formerly known as ``*
+
+The `neon-animated-pages` element manages a set of pages to switch between, and runs animations between the page transitions. It implements the `Polymer.IronSelectableBehavior` behavior. Each child node should implement `Polymer.NeonAnimatableBehavior` and define the `entry` and `exit` animations. During a page transition, the `entry` animation is run on the new page and the `exit` animation is run on the old page.
+
+
+### Shared element animations
+
+Shared element animations work on multiple nodes. For example, a "hero" animation is used during a page transition to make two elements from separate pages appear to animate as a single element. Shared element animation configurations have an `id` property that identify they belong in the same animation. Elements containing shared elements also have a `sharedElements` property defines a map from `id` to element, the element involved with the animation.
+
+In the incoming page:
+
+```js
+properties: {
+ animationConfig: {
+ value: function() {
+ return {
+ // the incoming page defines the 'entry' animation
+ 'entry': {
+ name: 'hero-animation',
+ id: 'hero',
+ toPage: this
+ }
+ }
+ }
+ },
+ sharedElements: {
+ value: function() {
+ return {
+ 'hero': this.$.hero
+ }
+ }
+ }
+}
+```
+
+In the outgoing page:
+
+```js
+properties: {
+ animationConfig: {
+ value: function() {
+ return {
+ // the outgoing page defines the 'exit' animation
+ 'exit': {
+ name: 'hero-animation',
+ id: 'hero',
+ fromPage: this
+ }
+ }
+ }
+ },
+ sharedElements: {
+ value: function() {
+ return {
+ 'hero': this.$.otherHero
+ }
+ }
+ }
+}
+```
+
+
+### Declarative page transitions
+
+For convenience, if you define the `entry-animation` and `exit-animation` attributes on ``, those animations will apply for all page transitions.
+
+For example:
+
+```js
+
+ 1
+ 2
+ 3
+ 4
+ 5
+
+```
+
+The new page will slide in from the right, and the old page slide away to the left.
+
+
+## Included animations
+
+Single element animations:
+
+ * `fade-in-animation` Animates opacity from `0` to `1`;
+ * `fade-out-animation` Animates opacity from `1` to `0`;
+ * `scale-down-animation` Animates transform from `scale(1)` to `scale(0)`;
+ * `scale-up-animation` Animates transform from `scale(0)` to `scale(1)`;
+ * `slide-down-animation` Animates transform from `none` to `translateY(100%)`;
+ * `slide-up-animation` Animates transform from `none` to `translateY(-100%)`;
+ * `slide-from-top-animation` Animates transform from `translateY(-100%)` to `none`;
+ * `slide-from-bottom-animation` Animates transform from `translateY(100%)` to `none`;
+ * `slide-left-animation` Animates transform from `none` to `translateX(-100%)`;
+ * `slide-right-animation` Animates transform from `none` to `translateX(100%)`;
+ * `slide-from-left-animation` Animates transform from `translateX(-100%)` to `none`;
+ * `slide-from-right-animation` Animates transform from `translateX(100%)` to `none`;
+ * `transform-animation` Animates a custom transform.
+
+Note that there is a restriction that only one transform animation can be applied on the same element at a time. Use the custom `transform-animation` to combine transform properties.
+
+Shared element animations
+
+ * `hero-animation` Animates an element such that it looks like it scales and transforms from another element.
+ * `ripple-animation` Animates an element to full screen such that it looks like it ripples from another element.
+
+Group animations
+ * `cascaded-animation` Applys an animation to an array of elements with a delay between each.
+
+
+## Demos
+
+ * [Grid to full screen](http://morethanreal.github.io/neon-animation-demo/bower_components/neon-animation/demo/grid/index.html)
+ * [Animation on load](http://morethanreal.github.io/neon-animation-demo/bower_components/neon-animation/demo/load/index.html)
+ * [List item to detail](http://morethanreal.github.io/neon-animation-demo/bower_components/neon-animation/demo/list/index.html) (For narrow width)
+ * [Dots to squares](http://morethanreal.github.io/neon-animation-demo/bower_components/neon-animation/demo/tiles/index.html)
+ * [Declarative](http://morethanreal.github.io/neon-animation-demo/bower_components/neon-animation/demo/declarative/index.html)
diff --git a/dashboard-ui/bower_components/neon-animation/index.html b/dashboard-ui/bower_components/neon-animation/index.html
new file mode 100644
index 0000000000..6f5feedf45
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/index.html
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+ neon-animation
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/neon-animatable-behavior.html b/dashboard-ui/bower_components/neon-animation/neon-animatable-behavior.html
new file mode 100644
index 0000000000..734563f4cf
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/neon-animatable-behavior.html
@@ -0,0 +1,162 @@
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/neon-animatable.html b/dashboard-ui/bower_components/neon-animation/neon-animatable.html
new file mode 100644
index 0000000000..82deb610b6
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/neon-animatable.html
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/neon-animated-pages.html b/dashboard-ui/bower_components/neon-animation/neon-animated-pages.html
new file mode 100644
index 0000000000..b115ae20e8
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/neon-animated-pages.html
@@ -0,0 +1,228 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/neon-animation-behavior.html b/dashboard-ui/bower_components/neon-animation/neon-animation-behavior.html
new file mode 100644
index 0000000000..6939d3428a
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/neon-animation-behavior.html
@@ -0,0 +1,86 @@
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/neon-animation-runner-behavior.html b/dashboard-ui/bower_components/neon-animation/neon-animation-runner-behavior.html
new file mode 100644
index 0000000000..096d5c3e07
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/neon-animation-runner-behavior.html
@@ -0,0 +1,113 @@
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/neon-animation.html b/dashboard-ui/bower_components/neon-animation/neon-animation.html
new file mode 100644
index 0000000000..da64504859
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/neon-animation.html
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/neon-animations.html b/dashboard-ui/bower_components/neon-animation/neon-animations.html
new file mode 100644
index 0000000000..67c4df4c76
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/neon-animations.html
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/neon-shared-element-animatable-behavior.html b/dashboard-ui/bower_components/neon-animation/neon-shared-element-animatable-behavior.html
new file mode 100644
index 0000000000..e63173d368
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/neon-shared-element-animatable-behavior.html
@@ -0,0 +1,43 @@
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/neon-shared-element-animation-behavior.html b/dashboard-ui/bower_components/neon-animation/neon-shared-element-animation-behavior.html
new file mode 100644
index 0000000000..65ca1bdca2
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/neon-shared-element-animation-behavior.html
@@ -0,0 +1,72 @@
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/test/index.html b/dashboard-ui/bower_components/neon-animation/test/index.html
new file mode 100644
index 0000000000..81555a2b5d
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/test/index.html
@@ -0,0 +1,28 @@
+
+
+
+ neon-animation tests
+
+
+
+
+
+
+
diff --git a/dashboard-ui/bower_components/neon-animation/test/neon-animated-pages-descendant-selection.html b/dashboard-ui/bower_components/neon-animation/test/neon-animated-pages-descendant-selection.html
new file mode 100644
index 0000000000..0904a39582
--- /dev/null
+++ b/dashboard-ui/bower_components/neon-animation/test/neon-animated-pages-descendant-selection.html
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
';
var backIcon = browserInfo.safari ? 'chevron-left' : 'arrow-back';
- html += '';
+ html += '';
- html += '';
- html += '';
+ html += '';
+ html += '';
html += '
' + Globalize.translate('ButtonHome') + '
';
diff --git a/dashboard-ui/scripts/librarypathmapping.js b/dashboard-ui/scripts/librarypathmapping.js
index 61a401d5cf..99b4f827d2 100644
--- a/dashboard-ui/scripts/librarypathmapping.js
+++ b/dashboard-ui/scripts/librarypathmapping.js
@@ -49,7 +49,7 @@
mapHtml += '';
- mapHtml += '';
+ mapHtml += '';
mapHtml += '';
diff --git a/dashboard-ui/scripts/livetvcomponents.js b/dashboard-ui/scripts/livetvcomponents.js
index 772e109616..bb04998d1c 100644
--- a/dashboard-ui/scripts/livetvcomponents.js
+++ b/dashboard-ui/scripts/livetvcomponents.js
@@ -1,5 +1,9 @@
define(['datetime'], function (datetime) {
+ function enableScrollX() {
+ return browserInfo.mobile && AppInfo.enableAppLayouts;
+ }
+
function getTimersHtml(timers) {
var items = timers.map(function (t) {
@@ -7,16 +11,76 @@
return t;
});
- var html = LibraryBrowser.getPosterViewHtml({
- items: items,
- shape: "square",
- showTitle: true,
- showAirTime: true,
- showChannelName: true,
- lazy: true,
- cardLayout: true,
- showDetailsMenu: true
- });
+ var groups = [];
+
+ var currentGroupName = '';
+ var currentGroup = [];
+
+ var i, length;
+
+ for (i = 0, length = items.length; i < length; i++) {
+
+ var item = items[i];
+
+ var dateText = '';
+
+ if (item.StartDate) {
+ try {
+
+ var premiereDate = datetime.parseISO8601Date(item.StartDate, true);
+
+ dateText = LibraryBrowser.getFutureDateText(premiereDate, true);
+
+ } catch (err) {
+ }
+ }
+
+ if (dateText != currentGroupName) {
+
+ if (currentGroup.length) {
+ groups.push({
+ name: currentGroupName,
+ items: currentGroup
+ });
+ }
+
+ currentGroupName = dateText;
+ currentGroup = [item];
+ } else {
+ currentGroup.push(item);
+ }
+ }
+
+ var html = '';
+
+ for (i = 0, length = groups.length; i < length; i++) {
+
+ var group = groups[i];
+
+ html += '
';
+ }
return Promise.resolve(html);
}
diff --git a/dashboard-ui/scripts/livetvrecordings.js b/dashboard-ui/scripts/livetvrecordings.js
index 9f78b5b91f..41b4c6ca43 100644
--- a/dashboard-ui/scripts/livetvrecordings.js
+++ b/dashboard-ui/scripts/livetvrecordings.js
@@ -120,9 +120,10 @@
elem.classList.add('hide');
}
- elem.querySelector('.itemsContainer').innerHTML = html;
+ elem.querySelector('.recordingItems').innerHTML = html;
ImageLoader.lazyChildren(elem);
+ $(elem).createCardMenus();
});
}
@@ -156,7 +157,7 @@
window.LiveTvPage.initRecordingsTab = function (page, tabContent) {
- tabContent.querySelector('#upcomingRecordings .itemsContainer').addEventListener('timercancelled', function () {
+ tabContent.querySelector('#upcomingRecordings .recordingItems').addEventListener('timercancelled', function () {
reload(tabContent);
});
};
diff --git a/dashboard-ui/scripts/livetvseriestimers.js b/dashboard-ui/scripts/livetvseriestimers.js
index 3035e4f004..54801c25ce 100644
--- a/dashboard-ui/scripts/livetvseriestimers.js
+++ b/dashboard-ui/scripts/livetvseriestimers.js
@@ -1,4 +1,4 @@
-define(['datetime', 'jQuery'], function (datetime, $) {
+define(['datetime', 'jQuery', 'paper-icon-button-light'], function (datetime, $) {
var query = {
@@ -79,7 +79,7 @@
html += '';
- html += '';
+ html += '';
html += '';
}
diff --git a/dashboard-ui/scripts/livetvstatus.js b/dashboard-ui/scripts/livetvstatus.js
index d6f77fb928..5366d3a2dd 100644
--- a/dashboard-ui/scripts/livetvstatus.js
+++ b/dashboard-ui/scripts/livetvstatus.js
@@ -76,7 +76,7 @@
html += '';
if (tuner.CanReset) {
- html += '';
+ html += '';
}
html += '';
@@ -214,7 +214,7 @@
html += '';
html += '';
- html += '';
+ html += '';
html += '';
}
@@ -316,7 +316,7 @@
html += '';
html += '';
- html += '';
+ html += '';
html += '';
}
diff --git a/dashboard-ui/scripts/medialibrarypage.js b/dashboard-ui/scripts/medialibrarypage.js
index 64b2bcce99..928c0924d4 100644
--- a/dashboard-ui/scripts/medialibrarypage.js
+++ b/dashboard-ui/scripts/medialibrarypage.js
@@ -346,7 +346,7 @@
if (virtualFolder.showMenu !== false) {
html += '
';
- html += '';
+ html += '';
html += "
";
}
diff --git a/dashboard-ui/scripts/metadataimagespage.js b/dashboard-ui/scripts/metadataimagespage.js
index 00a0582f48..d400619f6f 100644
--- a/dashboard-ui/scripts/metadataimagespage.js
+++ b/dashboard-ui/scripts/metadataimagespage.js
@@ -171,8 +171,8 @@
html += '';
- html += '';
- html += '';
+ html += '';
+ html += '';
html += '';
}
@@ -274,8 +274,8 @@
html += '';
- html += '';
- html += '';
+ html += '';
+ html += '';
html += '';
}
@@ -343,11 +343,11 @@
html += '';
if (i > 0) {
- html += '';
+ html += '';
}
else if (plugins.length > 1) {
- html += '';
+ html += '';
}
html += '';
diff --git a/dashboard-ui/scripts/mypreferenceshome.js b/dashboard-ui/scripts/mypreferenceshome.js
index 38f6497473..7d21deb8e1 100644
--- a/dashboard-ui/scripts/mypreferenceshome.js
+++ b/dashboard-ui/scripts/mypreferenceshome.js
@@ -107,11 +107,11 @@
if (index > 0) {
- currentHtml += '';
+ currentHtml += '';
}
else if (result.Items.length > 1) {
- currentHtml += '';
+ currentHtml += '';
}
diff --git a/dashboard-ui/scripts/notificationsettings.js b/dashboard-ui/scripts/notificationsettings.js
index 386e7aa7b0..3b38d407af 100644
--- a/dashboard-ui/scripts/notificationsettings.js
+++ b/dashboard-ui/scripts/notificationsettings.js
@@ -43,7 +43,7 @@
itemHtml += '';
- itemHtml += '';
+ itemHtml += '';
itemHtml += '';
itemHtml += '';
diff --git a/dashboard-ui/scripts/pluginspage.js b/dashboard-ui/scripts/pluginspage.js
index 7767e621a4..25667cf60a 100644
--- a/dashboard-ui/scripts/pluginspage.js
+++ b/dashboard-ui/scripts/pluginspage.js
@@ -84,7 +84,7 @@
html += '
';
html += '
';
- html += '';
+ html += '';
html += "
";
html += "
";
diff --git a/dashboard-ui/scripts/scheduledtaskpage.js b/dashboard-ui/scripts/scheduledtaskpage.js
index e17f0cde9b..9288e92a78 100644
--- a/dashboard-ui/scripts/scheduledtaskpage.js
+++ b/dashboard-ui/scripts/scheduledtaskpage.js
@@ -64,7 +64,7 @@ var ScheduledTaskPage = {
html += '';
- html += '';
+ html += '';
html += '';
}
diff --git a/dashboard-ui/scripts/scheduledtaskspage.js b/dashboard-ui/scripts/scheduledtaskspage.js
index bfa96c3d68..c0663a5b37 100644
--- a/dashboard-ui/scripts/scheduledtaskspage.js
+++ b/dashboard-ui/scripts/scheduledtaskspage.js
@@ -69,15 +69,15 @@
if (task.State == "Idle") {
- html += '';
+ html += '';
}
else if (task.State == "Running") {
- html += '';
+ html += '';
} else {
- html += '';
+ html += '';
}
html += '';
@@ -186,7 +186,7 @@
elem.classList.add('btnStartTask');
elem.classList.remove('btnStopTask');
elem.classList.remove('hide');
- elem.icon = 'play-arrow';
+ elem.querySelector('iron-icon').icon = 'play-arrow';
elem.title = Globalize.translate('ButtonStart');
}
else if (state == "Running") {
@@ -194,7 +194,7 @@
elem.classList.remove('btnStartTask');
elem.classList.add('btnStopTask');
elem.classList.remove('hide');
- elem.icon = 'stop';
+ elem.querySelector('iron-icon').icon = 'stop';
elem.title = Globalize.translate('ButtonStop');
} else {
@@ -202,7 +202,7 @@
elem.classList.add('btnStartTask');
elem.classList.remove('btnStopTask');
elem.classList.add('hide');
- elem.icon = 'play-arrow';
+ elem.querySelector('iron-icon').icon = 'play-arrow';
elem.title = Globalize.translate('ButtonStart');
}
diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js
index 4dd38a66fc..57445a3678 100644
--- a/dashboard-ui/scripts/site.js
+++ b/dashboard-ui/scripts/site.js
@@ -2136,9 +2136,7 @@ var AppInfo = {};
define("alert", [embyWebComponentsBowerPath + "/alert/alert"], returnFirstDependency);
}
- if (browser.animate) {
- define("loading", [embyWebComponentsBowerPath + "/loading/loading"], returnFirstDependency);
- } else if (browser.tv) {
+ if (browser.tv) {
define("loading", [embyWebComponentsBowerPath + "/loading/loading-smarttv"], returnFirstDependency);
} else {
define("loading", [embyWebComponentsBowerPath + "/loading/loading-lite"], returnFirstDependency);
@@ -2922,7 +2920,7 @@ var AppInfo = {};
defineRoute({
path: '/tv.html',
- dependencies: ['paper-tabs', 'paper-checkbox', 'paper-button', 'paper-icon-button-light'],
+ dependencies: ['paper-checkbox', 'paper-button', 'paper-icon-button-light', 'material-design-lite'],
autoFocus: false,
controller: 'scripts/tvrecommended'
});
diff --git a/dashboard-ui/scripts/syncactivity.js b/dashboard-ui/scripts/syncactivity.js
index 1c13ab60df..ca0e3b83cf 100644
--- a/dashboard-ui/scripts/syncactivity.js
+++ b/dashboard-ui/scripts/syncactivity.js
@@ -1,4 +1,4 @@
-define(['jQuery'], function ($) {
+define(['jQuery', 'paper-icon-button-light'], function ($) {
function cancelJob(page, id) {
@@ -133,7 +133,7 @@
}
html += '
';
- html += '';
+ html += '';
html += "
";
for (var i = 0, length = textLines.length; i < length; i++) {
diff --git a/dashboard-ui/scripts/syncjob.js b/dashboard-ui/scripts/syncjob.js
index 27deace63c..eebc3def41 100644
--- a/dashboard-ui/scripts/syncjob.js
+++ b/dashboard-ui/scripts/syncjob.js
@@ -1,4 +1,4 @@
-define(['jQuery', 'datetime', 'paper-progress', 'paper-fab', 'paper-item-body', 'paper-icon-item', 'paper-icon-button', 'paper-button'], function ($, datetime) {
+define(['jQuery', 'datetime', 'paper-progress', 'paper-fab', 'paper-item-body', 'paper-icon-item', 'paper-icon-button-light', 'paper-button'], function ($, datetime) {
function renderJob(page, job, dialogOptions) {
@@ -95,9 +95,9 @@
if (hasActions) {
- html += '';
+ html += '';
} else {
- html += '';
+ html += '';
}
html += '';
diff --git a/dashboard-ui/scripts/userprofilespage.js b/dashboard-ui/scripts/userprofilespage.js
index 5d43c1c3a2..f231f1bc1c 100644
--- a/dashboard-ui/scripts/userprofilespage.js
+++ b/dashboard-ui/scripts/userprofilespage.js
@@ -1,4 +1,4 @@
-define(['jQuery'], function ($) {
+define(['jQuery', 'paper-icon-button-light'], function ($) {
function deleteUser(page, id) {
@@ -136,7 +136,7 @@
html += '
';
html += '
';
- html += '';
+ html += '';
html += "
";
html += '
';
@@ -255,7 +255,7 @@
html += '
';
html += '
';
- html += '';
+ html += '';
html += "
";
html += '
';
diff --git a/dashboard-ui/strings/en-US.json b/dashboard-ui/strings/en-US.json
index b2eabf60c5..0cdfc90eb8 100644
--- a/dashboard-ui/strings/en-US.json
+++ b/dashboard-ui/strings/en-US.json
@@ -2349,6 +2349,5 @@
"LabelOriginalTitle": "Original title:",
"LabelSortTitle": "Sort title:",
"OptionConvertRecordingPreserveAudio": "Preserve original audio when converting recordings",
- "OptionConvertRecordingPreserveAudioHelp": "This will provide better audio but may require transcoding during playback on some devices.",
- "HeaderUpcomingRecordings": "Upcoming Recordings"
+ "OptionConvertRecordingPreserveAudioHelp": "This will provide better audio but may require transcoding during playback on some devices."
}
diff --git a/dashboard-ui/syncsettings.html b/dashboard-ui/syncsettings.html
index 194028ad05..53c7586eb1 100644
--- a/dashboard-ui/syncsettings.html
+++ b/dashboard-ui/syncsettings.html
@@ -1,4 +1,4 @@
-