From f2eb6656260f8401df1e51f99b383a747e269ca1 Mon Sep 17 00:00:00 2001 From: Tom Giannattasio Date: Thu, 8 Nov 2012 13:13:54 -0500 Subject: [PATCH] cheatsheet and advanced settings added --- cms/static/coffee/src/views/unit.coffee | 18 ++-- cms/static/img/choice-example.png | Bin 0 -> 2751 bytes cms/static/img/multi-example.png | Bin 0 -> 2875 bytes cms/static/img/number-example.png | Bin 0 -> 1430 bytes cms/static/img/problem-settings-icon.png | Bin 0 -> 1320 bytes cms/static/img/select-example.png | Bin 0 -> 1961 bytes cms/static/img/string-example.png | Bin 0 -> 1458 bytes cms/static/js/speed-editor.js | 44 +++++++++- cms/static/sass/_graphics.scss | 8 ++ cms/static/sass/_unit.scss | 106 ++++++++++++++++++++++- cms/templates/unit.html | 83 +++++++++++++++++- 11 files changed, 244 insertions(+), 15 deletions(-) create mode 100644 cms/static/img/choice-example.png create mode 100644 cms/static/img/multi-example.png create mode 100644 cms/static/img/number-example.png create mode 100644 cms/static/img/problem-settings-icon.png create mode 100644 cms/static/img/select-example.png create mode 100644 cms/static/img/string-example.png diff --git a/cms/static/coffee/src/views/unit.coffee b/cms/static/coffee/src/views/unit.coffee index 6c06c85400..6b072b208a 100644 --- a/cms/static/coffee/src/views/unit.coffee +++ b/cms/static/coffee/src/views/unit.coffee @@ -84,8 +84,6 @@ class CMS.Views.UnitEdit extends Backbone.View event.preventDefault() @$componentItem = $('
  • ').addClass('editing') - $modalCover.show() - $modalCover.bind('click', @closeEditor) type = $(event.currentTarget).data('type') switch type @@ -97,23 +95,27 @@ class CMS.Views.UnitEdit extends Backbone.View $preview = $($('#problem-preview').html()) initProblemEditors(@$editor, $preview) - @$editor.find('.save-button').bind('click', => + @$editor.find('.save-button, .cancel-button').bind('click', => @$componentItem.removeClass('editing') @closeEditor() ) - $componentActions = $($('#component-actions').html()); + $componentActions = $($('#component-actions').html()) @$componentItem.append(@$editor) @$componentItem.append($preview) - @$componentItem.append($componentActions); + @$componentItem.append($componentActions) + @$componentItem.hide() @$newComponentItem.before(@$componentItem) + @$componentItem.slideDown(200) + $modalCover.fadeIn(200) + $modalCover.bind('click', @closeEditor) closeEditor: (event) => - console.log('close') - $modalCover.hide() + @$editor.slideUp(150) + $modalCover.fadeOut(150) $modalCover.unbind('click', @closeEditor) - @$editor.remove() + @$editor.slideUp(150) @$componentItem.removeClass('editing') saveNewComponent: (event) => diff --git a/cms/static/img/choice-example.png b/cms/static/img/choice-example.png new file mode 100644 index 0000000000000000000000000000000000000000..ee136577a98ef53f441a294c9a54652cd8bbd76d GIT binary patch literal 2751 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 literal 0 HcmV?d00001 diff --git a/cms/static/img/select-example.png b/cms/static/img/select-example.png new file mode 100644 index 0000000000000000000000000000000000000000..ef80e629deb1513c013d57d98b576584706635c6 GIT binary patch literal 1961 zcmaJ?dsGu=7N^R#iqHx|46+MDBotc6`#}amArBzH0P-ji%z-=x5^*wdGD?V6EFwr* zl@cj+D{NWH(Jif&11REAtVIyFtRRa~Kztx9o+8LrbODi_Sh4-1?04qz-Fxouckg%a z@0_nBAuiI%VS|I6ot={`N|H$YLx|UX)e7Q!e{tYTn}JK^coLe0=PEJSE?k4EU_gc_ zv*AQosma^k1rvysKDuN%E{9@4HHy%bwiucTF%W2i@B@=Usm_6MKm}*(^g_zixi$)* z(+DZ4T!;Y~#IRNuWyatnb6m38oTCFHBWMy*Uh;y(-sYxL zfR`b7j*#+8QF15&5Th6jaB1v7HG|0ncsv@D!{zaq0RW4^WYHPK!wY0`KrRnt@qt&1 zLS(}m7{ZUE`@+}vDRE}Mp8*>t8rAh2<;Sb;=DpfOL6D@}oVjl^?;30sX}+)LJCpoFGoNOuW9whS8XC1MmH%9bS8~qJJM1h1pWU|1bH28 z#1r9P>-}9~V{)DWrYFKibO)v;2A8$bmdXH%F<6PCSTc%kTk2wh7R6Dc7Bv9kBp%=g zDb+f?&EfwN0YRWlZ^V^)H7t_|DFg>ir_+F9K9kRraM(sZ$uZ2q(ucZ&`3B6;4u&YAv)!W(Gd&nf=$)Q_Y%E7pDFCwzP?&iBRo8L~aS4q`E0@JlA@Q>Oc24-_VJz2Z|)!Dv&u^eatl*X*Z`eK%QwlHT@mlc)apzmEk!%bj{Y zbu^gr8Qh!3cKkLx-O{6a@h;gh4uWPE_LTcHI&Jc`xVgFMn$zkMyLL&w)B&EJo^Mu0 z)cX7RUEz%%J?j3Qbxm1CMMVhzEn!g5fe}+mN(wLL(xaVy9E3r3`AcPdncu7j=!lCAu3cVtZv?^V*}HvtHZnvyYW|X0S#GKmV7PyRDv)xGPt4|TG4FQ$qWGeK5i>Q)c)Ky&lSFR=bm@rwL2 zbvy>+E)I@jf+j=NhG@l@rm84!Z|Z-e4~Kw{V>*QyO}>0mgi91TXi>WI>0Y0M)#*ES z#Sc3@N0jnjRjThqNQM#b^OJqu5nPc`Js>+>A@L+V68`6BCu_Yp-R~314d;c*80dID z9`7~S5?6jwal$d8_S3ep@H<74Qs2Vr430Oaeoj^xFpnVXJ-R!tlezta1!XUG8XMUx zbL5a>UFqfVyrP4B4L5)4ylox(w6{05wx^pv{;<@VIv#oE@_2j0zB)s?-`}_Wnd&-N z7U$i$nPk3jZPH$4+9DeNu_!11S={I5MZtX4i{eHh{n2HP=uTR9^ErM`R^!aE@~E!5 zu&u=x_*Q-7+MJ7AdxuMztKz%EoAUSfZlR^d#H=Y&p6Y-g$b5cJO7=VNJq{?CsuxaM zXZD?4U%ly@8$$=oa|N^ML4AJHN0L>?XMI|C9lmOP%rqdwa7pd^hb}C(1WPH5_jmvB zc5i#Y`5(3Y{r#j;X-z`d8tW9E8SMrY2p)VhaFP}f!1?3U*?;8}aO*>79>m|;uJF!o z9hi50#&P-ND*xESdG&%7q~+JnrPA9UWE>1_nHzK#nwnbsMqFb@PRTUIlZp|%!$Fae zk@4Y&Z+;s#y@EH%9UdOmH>ZX7xvvSH@RqDCytvQ)0=41E6W92;h0m(*w%^~s{}1=B ztH|2c+S(to8mXMB%F6X`7uW1xU6;S^t9MRaDm$uLVU0fj{q>Srcx<)BqoJjRd}!0? z=xBnLh2@JzN{kq`cWscR$3Su?mWM}DeSgAWYGPm9I! zaTu`SV3r5xgs3j@`>U6>d%6B~?^uQF;m#VxWZ8^=+bX7`oa(YV{#fCQ=gN6^(6T_k ZXh+%=(@A>w>_gk-DU-%YPKq)M{s#s*7-9eb literal 0 HcmV?d00001 diff --git a/cms/static/img/string-example.png b/cms/static/img/string-example.png new file mode 100644 index 0000000000000000000000000000000000000000..6f628b20d45787ce48c34366801fadab7bc053f5 GIT binary patch literal 1458 zcmaJ>drTX394{?dCU4PTWw0IvGnCO6ZAUMZ0@p%2SJD+^olBH!d%ywr;O>Azzyf2) zHWDFGqftX~Ml>M{X8&O31_V)YaXgIK2AhN-Zn6jCCFN1-l>ze)@p6yf_nYtM^L>4C zXHD5z!2yv091bVgpx2t&ZwmXoyr0Xy?|R2wK7-L&m>i;jse~znlWr%h2w=eALd1-~ z_NuZWghlY;&|C{+F&+bL1SW!gF(L;>vS^l2;~-&M3BmwYq!7i`!nw=6LIAa^g(nn7 ziIIemB2-^ZAvx9Axwh&Oo60WKqyi}pkR`wn1_m5hDNch9wQ!3UWY0dgSO{!|FePf? z)1oX!695qu0w_dDi8hH;3MiE#sa&B{N)H1viBu+*u(vW%DhCxxP<8~^zJzQx%3c7P zwVB(wSW7J|Vi*z>iz_QDMU_b+f+`eCRVtN_LncdPBNFKk5L7NflHeU4YR5Jn?t zz-b1?ZHPgu7P1^76t#oON{S&L9;1!B*n2n^V28btT5C23E-ZLEFoTI73T#cVNR-)jH0>KzxW zAK!6TxU8`&eFSIqPO-usJx3Zi9B!OJo1W_!w{Cd7ngJ86-}dzEyL6$qcKz=sQ;=3)Qd~ScJG-#B7+R3!+;BgC zunUqILzA+c-(9tO1_jWyQO#QqUk?FQj`Jy9b*G`$wyEI}{Xwxvl$39`TjeeK=FO5J zzvq?$6DIimeI2DUf%=)UmeFvcctc-o5+pt;Yp_{_F4+_looFOxG*g zhXWmv)6I8&Z1=dmo|AX~+W+wwl-7URXrAv}Xm@&@*5i@9f%-Wnq&R=2 zkz7|`{o}^&;~8rM@80wNmh3_!KaA1T)9D{;3j4BQ^K7K*i{42~ zz>6oHj|RMgl?bhbv|RLWT3Y<Dfsio|&*tYsNE-kv3A50u-Fpn%^>1=pqK>Y|mBuuL zKd)(p#~&MM4CL}tbuXNu-}#j0-)wFAU?i$p-U2Q4cZ8cp4#;E_|4NCP?;1*tf9<7> zw0`VouQzAk)y$|2k0?UFzP9OE@4J32zaqYSg3BCg{3Ut(o9OZ-2`x{n^W*TPxclg8 Re3|brYS3kCFJ|O7`~y~pDCqzI literal 0 HcmV?d00001 diff --git a/cms/static/js/speed-editor.js b/cms/static/js/speed-editor.js index 7d6a37a6b2..fbb73be530 100644 --- a/cms/static/js/speed-editor.js +++ b/cms/static/js/speed-editor.js @@ -1,6 +1,8 @@ var $body; var $preview; var $tooltip; +var $cheatsheet; +var $currentEditor; var simpleEditor; var xmlEditor; var currentEditor; @@ -8,7 +10,18 @@ var controlDown; var commandDown; +(function() { + $body = $('body'); + $body.on('click', '.editor-bar a', onEditorButton); + $body.on('click', '.editor-tabs .tab', setEditorTab); + $body.on('click', '.cheatsheet-toggle', toggleCheatsheet); + $body.on('click', '.problem-settings-button', toggleProblemSettings); + $(document).bind('keyup', onKeyboard); +})(); + + function initProblemEditors($editor, $prev) { + $currentEditor = $editor; simpleEditor = CodeMirror.fromTextArea($editor.find('.edit-box')[0], { lineWrapping: true, extraKeys: { @@ -40,10 +53,35 @@ function initProblemEditors($editor, $prev) { $(simpleEditor.getWrapperElement()).bind('click', setFocus); $preview = $prev.find('.problem'); +} - $body.on('click', '.editor-bar a', onEditorButton); - $body.on('click', '.editor-tabs a', setEditorTab); - $(document).bind('keyup', onKeyboard); +function toggleProblemSettings(e) { + e.preventDefault(); + + $(this).toggleClass('is-open'); + + if($(this).hasClass('is-open')) { + $(this).find('.button-label').html('Hide Advanced Settings'); + $('.problem-settings').slideDown(150); + } else { + $(this).find('.button-label').html('Show Advanced Settings'); + $('.problem-settings').slideUp(150); + } +} + +function toggleCheatsheet(e) { + e.preventDefault(); + + console.log('bam'); + + if(!$currentEditor.find('.simple-editor-cheatsheet')[0]) { + $cheatsheet = $($('#simple-editor-cheatsheet').html()); + $currentEditor.append($cheatsheet); + } + + setTimeout(function() { + $cheatsheet.toggleClass('shown'); + }, 10); } function setEditorTab(e) { diff --git a/cms/static/sass/_graphics.scss b/cms/static/sass/_graphics.scss index 22f0870d6a..097da8e5ba 100644 --- a/cms/static/sass/_graphics.scss +++ b/cms/static/sass/_graphics.scss @@ -309,6 +309,14 @@ background-position: -220px 0; } +.settings-icon { + display: inline-block; + width: 20px; + height: 20px; + vertical-align: middle; + background: url(../img/problem-settings-icon.png) no-repeat; +} + diff --git a/cms/static/sass/_unit.scss b/cms/static/sass/_unit.scss index c95b3548e2..0cd09022ec 100644 --- a/cms/static/sass/_unit.scss +++ b/cms/static/sass/_unit.scss @@ -228,7 +228,12 @@ .editor { background: $blue; padding: 20px; - border-radius: 3px 3px 0 0; + + h5 { + color: #fff; + margin-bottom: 20px; + font-weight: 700; + } label { display: inline-block; @@ -272,6 +277,22 @@ border-color: #3c3c3c; } + .problem-settings-button { + @include blue-button; + @include box-sizing(border-box); + width: 100%; + padding: 12px 0 14px; + text-align: center; + + &.is-open { + border-radius: 0 0 3px 3px; + } + + .settings-icon { + margin-right: 10px; + } + } + .editor-bar { position: relative; @include linear-gradient(top, #d4dee8, #c9d5e2); @@ -302,7 +323,7 @@ float: left; } - a { + .tab { height: 24px; padding: 7px 20px 3px; border: 1px solid #a5aaaf; @@ -318,9 +339,32 @@ border-bottom-color: #fff; } } + + .cheatsheet-toggle { + width: 21px; + height: 21px; + padding: 0; + margin: 3px 5px 0 16px; + border-radius: 22px; + border: 1px solid #a5aaaf; + background: #e5ecf3; + font-size: 13px; + font-weight: 700; + color: #565d64; + text-align: center; + } } } + .problem-settings { + display: none; + padding: 20px 30px; + background: rgba(0, 0, 0, .1); + border: 1px solid #437fbf; + border-bottom: none; + border-radius: 3px 3px 0 0; + } + .CodeMirror { font-size: 13px; border: 1px solid #3c3c3c; @@ -576,3 +620,61 @@ display: none; } } + +.simple-editor-cheatsheet { + position: absolute; + top: 0; + left: 100%; + width: 0; + border-radius: 0 3px 3px 0; + @include linear-gradient(left, rgba(0, 0, 0, .1), rgba(0, 0, 0, 0) 15px); + background-color: #fff; + overflow: hidden; + @include transition(width .3s); + + &.shown { + width: 300px; + } + + .cheatsheet-wrapper { + width: 240px; + padding: 20px 30px; + } + + h6 { + margin-bottom: 7px; + font-size: 15px; + font-weight: 700; + } + + .row { + @include clearfix; + padding-bottom: 5px !important; + margin-bottom: 10px !important; + border-bottom: 1px solid #ddd !important; + + &:last-child { + border-bottom: none !important; + margin-bottom: 0 !important; + } + } + + .col { + float: left; + + &.sample { + width: 60px; + margin-right: 30px; + } + } + + pre { + font-size: 12px; + line-height: 18px; + } + + code { + padding: 0; + background: none; + } +} \ No newline at end of file diff --git a/cms/templates/unit.html b/cms/templates/unit.html index b126a3e1f4..db3c94f69d 100644 --- a/cms/templates/unit.html +++ b/cms/templates/unit.html @@ -16,6 +16,62 @@ + +