OLD | NEW |
---|---|
(Empty) | |
1 <polymer-element name="viewer-progress-bar" | |
2 attributes="progress text numSegments"> | |
3 <template> | |
4 <link rel="stylesheet" href="viewer-progress-bar.css"> | |
5 <div class="scaler"> | |
6 <ul id="segments"></ul> | |
7 <div class="center-circle"></div> | |
8 </div> | |
9 <div id="text">{{text}}</div> | |
10 </template> | |
11 <script> | |
12 Polymer('viewer-progress-bar', { | |
13 progress: 0, | |
14 text: 'Loading', | |
15 numSegments: 8, | |
16 segments: [], | |
17 ready: function() { | |
18 this.numSegmentsChanged(); | |
19 }, | |
20 progressChanged: function() { | |
21 var numVisible = this.progress * this.segments.length / 100.0; | |
22 for (var i = 0; i < this.segments.length; i++) { | |
23 this.segments[i].style.visibility = | |
24 i < numVisible ? 'visible' : 'hidden'; | |
25 } | |
26 | |
27 if (this.progress == 100) | |
28 this.style.opacity = 0; | |
29 }, | |
30 numSegmentsChanged: function() { | |
31 // Clear the existing segments. | |
32 this.segments = []; | |
33 var segmentsElement = this.$.segments; | |
34 while (segmentsElement.hasChildNodes()) | |
35 segmentsElement.removeChild(segmentsElement.lastChild); | |
ganetsky1
2014/02/10 20:10:04
You can just segmentsElement.innerHTML = ''
raymes
2014/02/11 02:10:17
Done.
| |
36 | |
37 // Create the new segments. | |
38 var segment = document.createElement('li'); | |
39 segment.classList.add('segment'); | |
40 var angle = 360 / this.numSegments; | |
41 for (var i = 0; i < this.numSegments; ++i) { | |
42 var segmentCopy = segment.cloneNode(true); | |
43 segmentCopy.style.webkitTransform = | |
44 'rotate(' + (i * angle) + 'deg) skewY(' + | |
45 -1 * (90 - angle) + 'deg)'; | |
ganetsky1
2014/02/10 20:10:04
This seems like it would be easier to read in HTML
raymes
2014/02/11 02:10:17
I think basically to make it nicer this boils down
| |
46 segmentsElement.appendChild(segmentCopy); | |
47 this.segments.push(segmentCopy); | |
48 } | |
49 this.progressChanged(); | |
50 } | |
51 }); | |
52 </script> | |
53 </polymer-element> | |
OLD | NEW |