diff --git a/cms/static/client_templates/metadata_number_entry.html b/cms/static/client_templates/metadata_number_entry.html
index 981db06bd4..f60e47160f 100644
--- a/cms/static/client_templates/metadata_number_entry.html
+++ b/cms/static/client_templates/metadata_number_entry.html
@@ -1,6 +1,6 @@
-
+
diff --git a/cms/static/js/base.js b/cms/static/js/base.js
index c8371fcf64..a986f2ac00 100644
--- a/cms/static/js/base.js
+++ b/cms/static/js/base.js
@@ -896,3 +896,17 @@ function saveSetSectionScheduleDate(e) {
hideModal();
});
}
+
+function checkNumberSettingValidity(e) {
+ e.preventDefault();
+
+ if (!e.checkNumberSettingValidity())
+ {
+ alert("You have invalid input. Correct it!");
+ obj.focus();
+
+ $('this').val('');
+ }
+}
+
+
diff --git a/cms/static/sass/views/_unit.scss b/cms/static/sass/views/_unit.scss
index 86758c5c68..09a4a37abe 100644
--- a/cms/static/sass/views/_unit.scss
+++ b/cms/static/sass/views/_unit.scss
@@ -517,12 +517,12 @@ body.course.unit {
&.is-set {
@include linear-gradient($blue, $blue);
color: $blue-d1;
- box-shadow: inset 0 3px 3px $shadow-d1;
+ box-shadow: inset 0 2px 2px $shadow-d1;
background-color: $blue;
cursor: default;
&:hover {
- box-shadow: inset 0 3px 3px $shadow-d1;
+ box-shadow: inset 0 2px 2px $shadow-d1;
background-color: $blue;
}
}
@@ -664,6 +664,10 @@ body.course.unit {
text-overflow: ellipsis;
}
+ input[type="number"] {
+ width: 39%;
+ }
+
select {
@include box-shadow(0 1px 2px $shadow-l1 inset);
background: none repeat scroll #F2F2F2;
diff --git a/cms/templates/base.html b/cms/templates/base.html
index 521bb8b1ff..83627ba3e6 100644
--- a/cms/templates/base.html
+++ b/cms/templates/base.html
@@ -22,6 +22,7 @@
+
<%include file="widgets/segment-io.html" />
@@ -38,6 +39,8 @@
+
+
<%static:js group='main'/>
<%static:js group='module-js'/>
@@ -49,7 +52,6 @@
-
diff --git a/common/static/css/vendor/html5-input-polyfills/number-polyfill.css b/common/static/css/vendor/html5-input-polyfills/number-polyfill.css
new file mode 100644
index 0000000000..ceaa34a8e9
--- /dev/null
+++ b/common/static/css/vendor/html5-input-polyfills/number-polyfill.css
@@ -0,0 +1,80 @@
+/* HTML5 Number polyfill | Jonathan Stipe | https://github.com/jonstipe/number-polyfill*/
+div.number-spin-btn-container {
+ display: inline-block;
+ position: relative;
+ vertical-align: bottom;
+ margin: 0;
+ padding: 0; }
+
+div.number-spin-btn {
+ -moz-box-sizing: border-box;
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ border-width: 2px;
+ border-color: #ededed #777777 #777777 #ededed;
+ border-style: solid;
+ background-color: #cccccc;
+ width: 1.2em; }
+ div.number-spin-btn:hover {
+ cursor: pointer; }
+ div.number-spin-btn:active {
+ border-width: 2px;
+ border-color: #5e5e5e #d8d8d8 #d8d8d8 #5e5e5e;
+ border-style: solid;
+ background-color: #999999; }
+
+div.number-spin-btn-up {
+ border-bottom-width: 1px;
+ -moz-border-radius: 3px 3px 0px 0px;
+ -webkit-border-radius: 3px 3px 0px 0px;
+ border-radius: 3px 3px 0px 0px; }
+ div.number-spin-btn-up:before {
+ border-width: 0 0.3em 0.3em 0.3em;
+ border-color: transparent transparent black transparent;
+ top: 25%; }
+ div.number-spin-btn-up:active {
+ border-bottom-width: 1px; }
+ div.number-spin-btn-up:active:before {
+ border-bottom-color: white;
+ top: 26%;
+ left: 51%; }
+
+div.number-spin-btn-down {
+ border-top-width: 1px;
+ -moz-border-radius: 0px 0px 3px 3px;
+ -webkit-border-radius: 0px 0px 3px 3px;
+ border-radius: 0px 0px 3px 3px; }
+ div.number-spin-btn-down:before {
+ border-width: 0.3em 0.3em 0 0.3em;
+ border-color: black transparent transparent transparent;
+ top: 75%; }
+ div.number-spin-btn-down:active {
+ border-top-width: 1px; }
+ div.number-spin-btn-down:active:before {
+ border-top-color: white;
+ top: 76%;
+ left: 51%; }
+
+div.number-spin-btn-up:before,
+div.number-spin-btn-down:before {
+ content: "";
+ width: 0;
+ height: 0;
+ border-style: solid;
+ position: absolute;
+ left: 50%;
+ margin: -0.15em 0 0 -0.3em;
+ padding: 0; }
+
+input:disabled + div.number-spin-btn-container > div.number-spin-btn-up:active, input:disabled + div.number-spin-btn-container > div.number-spin-btn-down:active {
+ border-color: #ededed #777777 #777777 #ededed;
+ border-style: solid;
+ background-color: #cccccc; }
+input:disabled + div.number-spin-btn-container > div.number-spin-btn-up:before, input:disabled + div.number-spin-btn-container > div.number-spin-btn-up:active:before {
+ border-bottom-color: #999999;
+ top: 25%;
+ left: 50%; }
+input:disabled + div.number-spin-btn-container > div.number-spin-btn-down:before, input:disabled + div.number-spin-btn-container > div.number-spin-btn-down:active:before {
+ border-top-color: #999999;
+ top: 75%;
+ left: 50%; }