diff --git a/lms/static/coffee/src/calculator.coffee b/lms/static/coffee/src/calculator.coffee index 18e7fba4ec..2cf4893d52 100644 --- a/lms/static/coffee/src/calculator.coffee +++ b/lms/static/coffee/src/calculator.coffee @@ -8,7 +8,7 @@ class @Calculator toggle: (event) -> event.preventDefault() - $('li.calc-main').toggleClass 'open' + $('div.calc-main').toggleClass 'open' $('#calculator_wrapper #calculator_input').focus() if $('.calc.closed').length $('.calc').attr 'aria-label', 'Open Calculator' diff --git a/lms/static/images/info-icon.png b/lms/static/images/info-icon.png new file mode 100644 index 0000000000..736b2f2374 Binary files /dev/null and b/lms/static/images/info-icon.png differ diff --git a/lms/static/sass/application.scss b/lms/static/sass/application.scss index 944d3b2884..df88361111 100644 --- a/lms/static/sass/application.scss +++ b/lms/static/sass/application.scss @@ -16,6 +16,7 @@ @import 'shared/course_filter'; @import 'shared/modal'; @import 'shared/activation_messages'; +@import 'layout/calculator'; @import 'multicourse/home'; @import 'multicourse/dashboard'; diff --git a/lms/static/sass/layout/_calculator.scss b/lms/static/sass/layout/_calculator.scss new file mode 100644 index 0000000000..948b26a759 --- /dev/null +++ b/lms/static/sass/layout/_calculator.scss @@ -0,0 +1,158 @@ +div.calc-main { + bottom: -126px; + left: 0; + position: fixed; + @include transition(bottom); + -webkit-appearance: none; + width: 100%; + z-index: 99; + + &.open { + bottom: -36px; + + div#calculator_wrapper form div.input-wrapper div.help-wrapper dl { + display: block; + } + } + + a.calc { + background: url("../images/calc-icon.png") rgba(#111, .9) no-repeat center; + border-bottom: 0; + @include border-radius(3px 3px 0 0); + color: #fff; + float: right; + height: 20px; + @include hide-text; + @include inline-block; + margin-right: 10px; + padding: 8px 12px; + position: relative; + top: -36px; + width: 16px; + + &:hover { + opacity: .8; + } + + &.closed { + background-image: url("../images/close-calc-icon.png"); + } + } + + div#calculator_wrapper { + background: rgba(#111, .9); + clear: both; + max-height: 90px; + position: relative; + top: -36px; + + form { + @extend .clearfix; + @include box-sizing(border-box); + padding: lh(); + + input#calculator_button { + background: #111; + border: 1px solid #000; + @include border-radius(0); + @include box-shadow(none); + @include box-sizing(border-box); + color: #fff; + float: left; + font-size: 30px; + font-weight: bold; + margin: 0 (flex-gutter() / 2); + padding: 0; + text-shadow: none; + -webkit-appearance: none; + width: flex-grid(.5) + flex-gutter(); + + &:hover { + color: #333; + } + } + + input#calculator_output { + background: #222; + border: 0; + @include box-shadow(none); + @include box-sizing(border-box); + color: #fff; + float: left; + font-size: 16px; + font-weight: bold; + margin: 1px 0 0; + padding: 10px; + -webkit-appearance: none; + width: flex-grid(4); + } + + div.input-wrapper { + @extend .clearfix; + float: left; + margin: 0; + position: relative; + width: flex-grid(7.5); + + input#calculator_input { + border: none; + @include box-shadow(none); + @include box-sizing(border-box); + font-size: 16px; + padding: 10px; + -webkit-appearance: none; + width: 100%; + + &:focus { + outline: none; + border: none; + } + } + + div.help-wrapper { + position: absolute; + right: 8px; + top: 15px; + + a { + background: url("../images/info-icon.png") center center no-repeat; + height: 17px; + @include hide-text; + width: 17px; + } + + dl { + background: #fff; + @include border-radius(3px); + @include box-shadow(0 0 3px #999); + color: #333; + display: none; + opacity: 0; + padding: 10px; + position: absolute; + right: -40px; + top: -110px; + @include transition(); + width: 500px; + + &.shown { + opacity: 1; + top: -115px; + } + + dt { + clear: both; + float: left; + font-weight: bold; + padding-right: lh(.5); + } + + dd { + float: left; + } + } + } + } + } + } +} diff --git a/lms/urls.py b/lms/urls.py index 86d654eb40..6415680a9d 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -110,7 +110,7 @@ if settings.COURSEWARE_ENABLED: name='change_setting'), # TODO: These views need to be updated before they work - # url(r'^calculate$', 'util.views.calculate'), + url(r'^calculate$', 'util.views.calculate'), # TODO: We should probably remove the circuit package. I believe it was only used in the old way of saving wiki circuits for the wiki # url(r'^edit_circuit/(?P[^/]*)$', 'circuit.views.edit_circuit'), # url(r'^save_circuit/(?P[^/]*)$', 'circuit.views.save_circuit'),