Chromium Code Reviews| Index: elements/viewer-progress-bar/viewer-progress-bar.html |
| diff --git a/elements/viewer-progress-bar/viewer-progress-bar.html b/elements/viewer-progress-bar/viewer-progress-bar.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..ae402f4557a584b17e908cec514b66d6e945448a |
| --- /dev/null |
| +++ b/elements/viewer-progress-bar/viewer-progress-bar.html |
| @@ -0,0 +1,37 @@ |
| +<polymer-element name="viewer-progress-bar" attributes="progress text"> |
| +<template> |
| + <link rel="stylesheet" href="viewer-progress-bar.css"> |
| + <div class="scaler"> |
| + <ul id="segments"></ul> |
| + <div class="center-circle"></div> |
| + </div> |
| + <div id="text">{{text}}</div> |
| +</template> |
| +<script> |
| + Polymer('viewer-progress-bar', { |
| + progress: 0, |
| + text: 'Loading', |
| + segments: [], |
| + ready: function() { |
| + var NUM_SEGMENTS = 8; |
|
ganetsky1
2014/02/05 16:55:20
You could make this component more resuable and co
raymes
2014/02/07 00:33:41
I had a try at doing this but the math to do the s
raymes
2014/02/10 01:47:45
I ended up changing this to be generic. Done!
|
| + for (var i = 0; i < NUM_SEGMENTS; ++i) { |
| + var segment = document.createElement('li'); |
| + segment.classList.add('segment'); |
| + this.$.segments.appendChild(segment); |
|
ganetsky1
2014/02/05 16:55:20
It would be better if you just cloned a DOM nome i
raymes
2014/02/07 00:33:41
I tried to do the templating but it didn't work fo
|
| + this.segments.push(segment); |
| + } |
| + this.progressChanged(); |
| + }, |
| + progressChanged: function() { |
| + var numVisible = this.progress * this.segments.length / 100.0; |
| + for (var i = 0; i < this.segments.length; i++) { |
| + this.segments[i].style.visibility = |
| + i < numVisible ? 'visible' : 'hidden'; |
| + } |
| + |
| + if (this.progress == 100) |
| + this.style.opacity = 0; |
| + }, |
| + }); |
| +</script> |
| +</polymer-element> |