##// END OF EJS Templates
Added ProgressView
Jonathan Frederic -
Show More
@@ -172,4 +172,50 b' require(["notebook/js/widget"], function(){'
172 });
172 });
173
173
174 IPython.notebook.widget_manager.register_widget_view('FloatTextView', FloatTextView);
174 IPython.notebook.widget_manager.register_widget_view('FloatTextView', FloatTextView);
175
176
177 var ProgressView = IPython.WidgetView.extend({
178
179 // Called when view is rendered.
180 render : function(){
181 this.$el
182 .addClass('widget-hbox-single')
183 .html('');
184 this.$label = $('<div />')
185 .appendTo(this.$el)
186 .addClass('widget-hlabel')
187 .hide();
188 this.$progress = $('<div />')
189 .addClass('progress')
190 .addClass('widget-progress')
191 .appendTo(this.$el);
192 this.$bar = $('<div />')
193 .addClass('bar')
194 .css('width', '50%')
195 .appendTo(this.$progress);
196 this.update(); // Set defaults.
197 },
198
199 // Handles: Backend -> Frontend Sync
200 // Frontent -> Frontend Sync
201 update : function(){
202 var value = this.model.get('value');
203 var max = this.model.get('max');
204 var min = this.model.get('min');
205 var percent = 100.0 * (value - min) / (max - min);
206 this.$bar.css('width', percent + '%');
207
208 var description = this.model.get('description');
209 if (description.length == 0) {
210 this.$label.hide();
211 } else {
212 this.$label.html(description);
213 this.$label.show();
214 }
215 return IPython.WidgetView.prototype.update.call(this);
216 },
217
218 });
219
220 IPython.notebook.widget_manager.register_widget_view('ProgressView', ProgressView);
175 });
221 });
@@ -83,6 +83,19 b''
83 width: 150px;
83 width: 150px;
84 }
84 }
85
85
86 .widget-progress {
87 width: 363px;
88
89 /* Disable progress bar animation */
90 .bar {
91 -webkit-transition: none;
92 -moz-transition: none;
93 -ms-transition: none;
94 -o-transition: none;
95 transition: none;
96 }
97 }
98
86 .widget-combo-btn {
99 .widget-combo-btn {
87 min-width: 138px; /* + 26px drop arrow btn = 164px */
100 min-width: 138px; /* + 26px drop arrow btn = 164px */
88 height: 30px;
101 height: 30px;
@@ -170,6 +170,7 b' h1:hover .anchor-link,h2:hover .anchor-link,h3:hover .anchor-link,h4:hover .anch'
170 .widget-area .widget-subarea .widget-vslider{border:1px solid #CCCCCC;background:#FFFFFF;height:100%;width:5px;margin-left:12px;padding-bottom:14px;border-radius:4px;}.widget-area .widget-subarea .widget-vslider .ui-slider{border:0px !important;background:none !important;margin-left:-4px;height:100%;margin-top:5px;}.widget-area .widget-subarea .widget-vslider .ui-slider .ui-slider-handle{width:28px !important;height:14px !important;margin-left:-15px;}
170 .widget-area .widget-subarea .widget-vslider{border:1px solid #CCCCCC;background:#FFFFFF;height:100%;width:5px;margin-left:12px;padding-bottom:14px;border-radius:4px;}.widget-area .widget-subarea .widget-vslider .ui-slider{border:0px !important;background:none !important;margin-left:-4px;height:100%;margin-top:5px;}.widget-area .widget-subarea .widget-vslider .ui-slider .ui-slider-handle{width:28px !important;height:14px !important;margin-left:-15px;}
171 .widget-area .widget-subarea .widget-text{width:350px;margin-bottom:0px;}
171 .widget-area .widget-subarea .widget-text{width:350px;margin-bottom:0px;}
172 .widget-area .widget-subarea .widget-numeric-text{width:150px;}
172 .widget-area .widget-subarea .widget-numeric-text{width:150px;}
173 .widget-area .widget-subarea .widget-progress{width:363px;}.widget-area .widget-subarea .widget-progress .bar{-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}
173 .widget-area .widget-subarea .widget-combo-btn{min-width:138px;height:30px;}
174 .widget-area .widget-subarea .widget-combo-btn{min-width:138px;height:30px;}
174 .widget-area .widget-subarea .widget-container{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;}
175 .widget-area .widget-subarea .widget-container{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;}
175 .widget-area .widget-subarea .widget-hbox{display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;-webkit-box-pack:start;-moz-box-pack:start;box-pack:start;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;margin:5px;}
176 .widget-area .widget-subarea .widget-hbox{display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;-webkit-box-pack:start;-moz-box-pack:start;box-pack:start;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;margin:5px;}
@@ -1589,6 +1589,7 b' span#checkpoint_status,span#autosave_status{font-size:small;}'
1589 .widget-area .widget-subarea .widget-vslider{border:1px solid #CCCCCC;background:#FFFFFF;height:100%;width:5px;margin-left:12px;padding-bottom:14px;border-radius:4px;}.widget-area .widget-subarea .widget-vslider .ui-slider{border:0px !important;background:none !important;margin-left:-4px;height:100%;margin-top:5px;}.widget-area .widget-subarea .widget-vslider .ui-slider .ui-slider-handle{width:28px !important;height:14px !important;margin-left:-15px;}
1589 .widget-area .widget-subarea .widget-vslider{border:1px solid #CCCCCC;background:#FFFFFF;height:100%;width:5px;margin-left:12px;padding-bottom:14px;border-radius:4px;}.widget-area .widget-subarea .widget-vslider .ui-slider{border:0px !important;background:none !important;margin-left:-4px;height:100%;margin-top:5px;}.widget-area .widget-subarea .widget-vslider .ui-slider .ui-slider-handle{width:28px !important;height:14px !important;margin-left:-15px;}
1590 .widget-area .widget-subarea .widget-text{width:350px;margin-bottom:0px;}
1590 .widget-area .widget-subarea .widget-text{width:350px;margin-bottom:0px;}
1591 .widget-area .widget-subarea .widget-numeric-text{width:150px;}
1591 .widget-area .widget-subarea .widget-numeric-text{width:150px;}
1592 .widget-area .widget-subarea .widget-progress{width:363px;}.widget-area .widget-subarea .widget-progress .bar{-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}
1592 .widget-area .widget-subarea .widget-combo-btn{min-width:138px;height:30px;}
1593 .widget-area .widget-subarea .widget-combo-btn{min-width:138px;height:30px;}
1593 .widget-area .widget-subarea .widget-container{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;}
1594 .widget-area .widget-subarea .widget-container{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;}
1594 .widget-area .widget-subarea .widget-hbox{display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;-webkit-box-pack:start;-moz-box-pack:start;box-pack:start;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;margin:5px;}
1595 .widget-area .widget-subarea .widget-hbox{display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;-webkit-box-pack:start;-moz-box-pack:start;box-pack:start;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;margin:5px;}
General Comments 0
You need to be logged in to leave comments. Login now