##// END OF EJS Templates
fix bug in stale profile clean up for clusters...
fix bug in stale profile clean up for clusters "clusters" tab of my notebook wasn't rendering, so checked the log, found the stack trace: ``` [...] File "/usr/local/lib/python3.4/site-packages/ipython-3.0.0-py3.4.egg/IPython/html/services/clusters/handlers.py", line 21, in get self.finish(json.dumps(self.cluster_manager.list_profiles())) File "/usr/local/lib/python3.4/site-packages/ipython-3.0.0-py3.4.egg/IPython/html/services/clusters/clustermanager.py", line 77, in list_profiles self.update_profiles() File "/usr/local/lib/python3.4/site-packages/ipython-3.0.0-py3.4.egg/IPython/html/services/clusters/clustermanager.py", line 74, in update_profiles self.profiles.pop(stale) TypeError: unhashable type: 'set' ``` looks like a pretty straightforward mistake

File last commit:

r21208:e65db1aa
r21236:10a376e0
Show More
widgets.less
283 lines | 6.5 KiB | text/x-less | LessCssLexer
@widget-width: 350px;
@widget-width-short: 150px;
// Pad interact widgets by default.
.widget-interact {
>div, >input {
padding: 2.5px;
}
}
.widget-area {
/*
LESS file that styles IPython notebook widgets and the area they sit in.
The widget area typically looks something like this:
+------------------------------------------+
| widget-area |
| +--------+---------------------------+ |
| | prompt | widget-subarea | |
| | | +--------+ +--------+ | |
| | | | widget | | widget | | |
| | | +--------+ +--------+ | |
| +--------+---------------------------+ |
+------------------------------------------+
*/
page-break-inside : avoid;
.hbox();
.widget-subarea {
padding : 0.44em 0.4em 0.4em 1px;
margin-left : 6px;
.border-box-sizing();
.vbox();
.box-flex2();
.align-start();
}
&.connection-problems .prompt:after {
content: @fa-var-chain-broken;
font-family: 'FontAwesome';
color: @brand-danger;
font-size: @notebook_font_size;
top: 3px;
padding: 3px;
}
}
/* THE CLASSES BELOW CAN APPEAR ANYWHERE IN THE DOM (POSSIBLEY OUTSIDE OF
THE WIDGET AREA). */
.slide-track {
/* Slider Track */
border : 1px solid #CCCCCC;
background : #FFFFFF;
.corner-all(); /* Round the corners of the slide track */
}
.widget-hslider {
/* Horizontal jQuery Slider
Both the horizontal and vertical versions of the slider are characterized
by a styled div that contains an invisible jQuery slide div which
contains a visible slider handle div. This is requred so we can control
how the slider is drawn and 'fix' the issue where the slide handle
doesn't stop at the end of the slide.
Both horizontal and vertical sliders have this div nesting:
+------------------------------------------+
| widget-(h/v)slider |
| +--------+---------------------------+ |
| | ui-slider | |
| | +------------------+ | |
| | | ui-slider-handle | | |
| | +------------------+ | |
| +--------+---------------------------+ |
+------------------------------------------+
*/
/* Fix the padding of the slide track so the ui-slider is sized
correctly. */
padding-left : 8px;
padding-right : 2px;
overflow : visible;
/* Default size of the slider */
width : @widget-width;
height : 5px;
max-height : 5px;
margin-top : 13px;
margin-bottom: 10px;
/* Style the slider track */
.slide-track();
/* Make the div a flex box (makes FF behave correctly). */
.hbox();
.ui-slider {
/* Inner, invisible slide div */
border : 0px;
background : none;
.hbox();
.box-flex1();
.ui-slider-handle {
width: 12px;
height: 28px;
margin-top: -8px;
border-radius: @border-radius-base;
}
.ui-slider-range {
height : 12px;
margin-top : -4px;
background : @page-backdrop-color;
}
}
}
.widget-vslider {
/* Vertical jQuery Slider */
/* Fix the padding of the slide track so the ui-slider is sized
correctly. */
padding-bottom : 5px;
overflow : visible;
/* Default size of the slider */
width : 5px;
max-width : 5px;
height : 250px;
margin-left : 12px;
/* Style the slider track */
.slide-track();
/* Make the div a flex box (makes FF behave correctly). */
.vbox();
.ui-slider {
/* Inner, invisible slide div */
border : 0px;
background : none;
margin-left : -4px;
margin-top : 5px;
.vbox();
.box-flex1();
.ui-slider-handle {
width : 28px;
height : 12px;
margin-left : -9px;
border-radius: @border-radius-base;
}
.ui-slider-range {
width : 12px;
margin-left : -1px;
background : @page-backdrop-color;
}
}
}
.widget-text {
/* String Textbox - used for TextBoxView and TextAreaView */
width : @widget-width;
margin : 0px;
}
.widget-listbox {
/* Listbox */
width : @widget-width;
margin-bottom : 0px;
}
.widget-numeric-text {
/* Single Line Textbox - used for IntTextView and FloatTextView */
width : @widget-width-short;
margin : 0px;
}
.widget-progress {
/* Progress Bar */
margin-top: 6px;
min-width : @widget-width;
.progress-bar {
/* Disable progress bar animation */
-webkit-transition : none;
-moz-transition : none;
-ms-transition : none;
-o-transition : none;
transition : none;
}
}
.widget-combo-btn {
/* ComboBox Main Button */
/* Subtract 25px to account for the drop arrow button */
min-width : @widget-width-short - 25px;
}
.widget_item .dropdown-menu li a {
color: inherit;
}
.widget-valid {
margin-top: 9px;
margin-bottom: 10px;
margin-left: 3px;
margin-right: 3px;
}
.widget-hbox {
/* Horizontal widgets */
.hbox();
input[type="checkbox"] {
margin-top: 9px;
margin-bottom: 10px;
}
.widget-label {
/* Horizontal Label */
min-width : 10ex;
padding-right : 8px;
padding-top : 5px;
text-align : right;
vertical-align : text-top;
}
.widget-readout {
padding-left : 8px;
padding-top : 5px;
text-align : left;
vertical-align : text-top;
}
}
.widget-vbox {
/* Vertical widgets */
.vbox();
.widget-label {
/* Vertical Label */
padding-bottom : 5px;
text-align : center;
vertical-align : text-bottom;
}
.widget-readout {
/* Vertical Label */
padding-top : 5px;
text-align : center;
vertical-align : text-top;
}
}
.widget-box {
/* Box */
.border-box-sizing();
.align-start();
}
.widget-radio-box {
/* Contains RadioButtonsWidget */
.vbox();
.border-box-sizing();
padding-top: 4px;
label {
margin-top: 0px;
margin-left: 20px;
}
}