From cfc8a37aae0b93fe292207c0b16ad74dc316ccff Mon Sep 17 00:00:00 2001 From: jmclaus Date: Sun, 24 Feb 2013 12:02:06 -0500 Subject: [PATCH] Fully functional Genex --- .../capa/capa/templates/editageneinput.html | 17 +- common/static/js/capa/edit-a-gene.js | 42 +- ...B3B0A256735176413A40727372820E6.cache.html | 633 ++++++++++++++++++ ...BFB2B59BF73690E64CA963B37E3E6C2.cache.html | 631 +++++++++++++++++ ...EC2E5D94B410DDAB081BBAC4222386F.cache.html | 618 +++++++++++++++++ ...504BC625F3CBFF0967F88C441871055.cache.html | 631 +++++++++++++++++ ...8AB039AB796F1D6C3B133DAD892A057.cache.html | 607 +++++++++++++++++ ...66BAF3695DBE904ECE0FB5DC56AED92.cache.html | 621 +++++++++++++++++ common/static/js/capa/genex/clear.cache.gif | Bin 0 -> 43 bytes common/static/js/capa/genex/genex.css | 122 ++++ common/static/js/capa/genex/genex.nocache.js | 18 + common/static/js/capa/genex/hosted.html | 365 ++++++++++ .../static/js/capa/genex/images/circles.png | Bin 0 -> 1492 bytes .../js/capa/genex/images/circles_ie6.png | Bin 0 -> 432 bytes common/static/js/capa/genex/images/corner.png | Bin 0 -> 1140 bytes .../js/capa/genex/images/corner_ie6.png | Bin 0 -> 412 bytes .../static/js/capa/genex/images/hborder.png | Bin 0 -> 1995 bytes .../js/capa/genex/images/hborder_ie6.png | Bin 0 -> 706 bytes .../js/capa/genex/images/thumb_horz.png | Bin 0 -> 222 bytes .../js/capa/genex/images/thumb_vertical.png | Bin 0 -> 231 bytes .../static/js/capa/genex/images/vborder.png | Bin 0 -> 298 bytes .../js/capa/genex/images/vborder_ie6.png | Bin 0 -> 189 bytes 22 files changed, 4276 insertions(+), 29 deletions(-) create mode 100644 common/static/js/capa/genex/1B3B0A256735176413A40727372820E6.cache.html create mode 100644 common/static/js/capa/genex/3BFB2B59BF73690E64CA963B37E3E6C2.cache.html create mode 100644 common/static/js/capa/genex/4EC2E5D94B410DDAB081BBAC4222386F.cache.html create mode 100644 common/static/js/capa/genex/7504BC625F3CBFF0967F88C441871055.cache.html create mode 100644 common/static/js/capa/genex/88AB039AB796F1D6C3B133DAD892A057.cache.html create mode 100644 common/static/js/capa/genex/C66BAF3695DBE904ECE0FB5DC56AED92.cache.html create mode 100644 common/static/js/capa/genex/clear.cache.gif create mode 100644 common/static/js/capa/genex/genex.css create mode 100644 common/static/js/capa/genex/genex.nocache.js create mode 100644 common/static/js/capa/genex/hosted.html create mode 100644 common/static/js/capa/genex/images/circles.png create mode 100644 common/static/js/capa/genex/images/circles_ie6.png create mode 100644 common/static/js/capa/genex/images/corner.png create mode 100644 common/static/js/capa/genex/images/corner_ie6.png create mode 100644 common/static/js/capa/genex/images/hborder.png create mode 100644 common/static/js/capa/genex/images/hborder_ie6.png create mode 100644 common/static/js/capa/genex/images/thumb_horz.png create mode 100644 common/static/js/capa/genex/images/thumb_vertical.png create mode 100644 common/static/js/capa/genex/images/vborder.png create mode 100644 common/static/js/capa/genex/images/vborder_ie6.png diff --git a/common/lib/capa/capa/templates/editageneinput.html b/common/lib/capa/capa/templates/editageneinput.html index 8dd4fa89d1..8dc9414aed 100644 --- a/common/lib/capa/capa/templates/editageneinput.html +++ b/common/lib/capa/capa/templates/editageneinput.html @@ -1,4 +1,5 @@ -
+
+
% if status == 'unsubmitted': @@ -8,16 +9,11 @@ % elif status == 'incorrect':
% elif status == 'incomplete': -
+
% endif - - - - - - Applet failed to run. No Java plug-in was found. - - + +
+

@@ -37,3 +33,4 @@

% endif
+ diff --git a/common/static/js/capa/edit-a-gene.js b/common/static/js/capa/edit-a-gene.js index 48753e507d..aeb26237c4 100644 --- a/common/static/js/capa/edit-a-gene.js +++ b/common/static/js/capa/edit-a-gene.js @@ -1,27 +1,31 @@ (function () { var timeout = 1000; - function initializeApplet(applet) { - console.log("Initializing " + applet); - waitForApplet(applet); - } + waitForGenex(); - function waitForApplet(applet) { - if (applet.isActive && applet.isActive()) { - console.log("Applet is ready."); - var answerStr = applet.checkAnswer(); - console.log(answerStr); - var input = $('.editageneinput input'); - console.log(input); - input.val(answerStr); - } else if (timeout > 30 * 1000) { - console.error("Applet did not load on time."); - } else { - console.log("Waiting for applet..."); - setTimeout(function() { waitForApplet(applet); }, timeout); + function waitForGenex() { + if (typeof(genex) !== "undefined" && genex) { + genex.onInjectionDone("genex"); + } + else { + setTimeout(function() { waitForGenex(); }, timeout); } } - var applets = $('.editageneinput object'); - applets.each(function(i, el) { initializeApplet(el); }); + //NOTE: + // Genex uses four global functions: + // genexSetDNASequence (exported from GWT) + // genexSetClickEvent (exported from GWT) + // genexSetKeyEvent (exported from GWT) + // It calls genexIsReady with a deferred command when it has finished + // initialization and has drawn itself + genexIsReady = function() { + //Load DNA sequence + var dna_sequence = $('#dna_sequence').val(); + genexSetDNASequence(dna_sequence); + //Now load mouse and keyboard handlers + genexSetClickEvent(); + genexSetKeyEvent(); + }; }).call(this); + diff --git a/common/static/js/capa/genex/1B3B0A256735176413A40727372820E6.cache.html b/common/static/js/capa/genex/1B3B0A256735176413A40727372820E6.cache.html new file mode 100644 index 0000000000..62c5b7a605 --- /dev/null +++ b/common/static/js/capa/genex/1B3B0A256735176413A40727372820E6.cache.html @@ -0,0 +1,633 @@ + + + + \ No newline at end of file diff --git a/common/static/js/capa/genex/3BFB2B59BF73690E64CA963B37E3E6C2.cache.html b/common/static/js/capa/genex/3BFB2B59BF73690E64CA963B37E3E6C2.cache.html new file mode 100644 index 0000000000..f47030bf01 --- /dev/null +++ b/common/static/js/capa/genex/3BFB2B59BF73690E64CA963B37E3E6C2.cache.html @@ -0,0 +1,631 @@ + + + + \ No newline at end of file diff --git a/common/static/js/capa/genex/4EC2E5D94B410DDAB081BBAC4222386F.cache.html b/common/static/js/capa/genex/4EC2E5D94B410DDAB081BBAC4222386F.cache.html new file mode 100644 index 0000000000..090d22b68c --- /dev/null +++ b/common/static/js/capa/genex/4EC2E5D94B410DDAB081BBAC4222386F.cache.html @@ -0,0 +1,618 @@ + + + \ No newline at end of file diff --git a/common/static/js/capa/genex/7504BC625F3CBFF0967F88C441871055.cache.html b/common/static/js/capa/genex/7504BC625F3CBFF0967F88C441871055.cache.html new file mode 100644 index 0000000000..143af1d438 --- /dev/null +++ b/common/static/js/capa/genex/7504BC625F3CBFF0967F88C441871055.cache.html @@ -0,0 +1,631 @@ + + + + \ No newline at end of file diff --git a/common/static/js/capa/genex/88AB039AB796F1D6C3B133DAD892A057.cache.html b/common/static/js/capa/genex/88AB039AB796F1D6C3B133DAD892A057.cache.html new file mode 100644 index 0000000000..a75fd5115e --- /dev/null +++ b/common/static/js/capa/genex/88AB039AB796F1D6C3B133DAD892A057.cache.html @@ -0,0 +1,607 @@ + + + \ No newline at end of file diff --git a/common/static/js/capa/genex/C66BAF3695DBE904ECE0FB5DC56AED92.cache.html b/common/static/js/capa/genex/C66BAF3695DBE904ECE0FB5DC56AED92.cache.html new file mode 100644 index 0000000000..545dcff856 --- /dev/null +++ b/common/static/js/capa/genex/C66BAF3695DBE904ECE0FB5DC56AED92.cache.html @@ -0,0 +1,621 @@ + + + + \ No newline at end of file diff --git a/common/static/js/capa/genex/clear.cache.gif b/common/static/js/capa/genex/clear.cache.gif new file mode 100644 index 0000000000000000000000000000000000000000..e565824aafafe632011b281cba976baf8b3ba89a GIT binary patch literal 43 qcmZ?wbhEHbWMp7uXkcLY4+e@qSs1y10y+#p0Fq%~V)9{Rum%7ZWeN!Z literal 0 HcmV?d00001 diff --git a/common/static/js/capa/genex/genex.css b/common/static/js/capa/genex/genex.css new file mode 100644 index 0000000000..459c854f92 --- /dev/null +++ b/common/static/js/capa/genex/genex.css @@ -0,0 +1,122 @@ +.genex-button { + margin-right: -8px; + height: 40px !important; +} + +.genex-label { + /*font: normal normal normal 10pt/normal 'Open Sans', Verdana, Geneva, sans-serif !important;*/ + /*padding: 4px 0px 0px 10px !important;*/ + font-family: sans-serif !important; + font-size: 13px !important; + font-style: normal !important; + font-variant: normal !important; + font-weight: bold !important; + padding-top: 6px !important; + margin-left: 18px; +} + +.gwt-HTML { + cursor: default; + overflow-x: auto !important; + overflow-y: auto !important; + background-color: rgb(248, 248, 248) !important; +} + +.genex-scrollpanel { + word-wrap: normal !important; + white-space: pre !important; +} + +pre, #dna-strand { + font-family: 'courier new', courier !important; + font-size: 13px !important; + font-style: normal !important; + font-variant: normal !important; + font-weight: normal !important; + border-style: none !important; + background-color: rgb(248, 248, 248) !important; + word-wrap: normal !important; + white-space: pre !important; + overflow-x: visible !important; + overflow-y: visible !important; +} + +.gwt-DialogBox .Caption { + background: #F1F1F1; + padding: 4px 8px 4px 4px; + cursor: default; + font-family: Arial Unicode MS, Arial, sans-serif; + font-weight: bold; + border-bottom: 1px solid #bbbbbb; + border-top: 1px solid #D2D2D2; +} +.gwt-DialogBox .dialogContent { +} +.gwt-DialogBox .dialogMiddleCenter { + padding: 3px; + background: white; +} +.gwt-DialogBox .dialogBottomCenter { + background: url(images/hborder.png) repeat-x 0px -2945px; + -background: url(images/hborder_ie6.png) repeat-x 0px -2144px; +} +.gwt-DialogBox .dialogMiddleLeft { + background: url(images/vborder.png) repeat-y -31px 0px; +} +.gwt-DialogBox .dialogMiddleRight { + background: url(images/vborder.png) repeat-y -32px 0px; + -background: url(images/vborder_ie6.png) repeat-y -32px 0px; +} +.gwt-DialogBox .dialogTopLeftInner { + width: 10px; + height: 8px; + zoom: 1; +} +.gwt-DialogBox .dialogTopRightInner { + width: 12px; + zoom: 1; +} +.gwt-DialogBox .dialogBottomLeftInner { + width: 10px; + height: 12px; + zoom: 1; +} +.gwt-DialogBox .dialogBottomRightInner { + width: 12px; + height: 12px; + zoom: 1; +} +.gwt-DialogBox .dialogTopLeft { + background: url(images/circles.png) no-repeat -20px 0px; + -background: url(images/circles_ie6.png) no-repeat -20px 0px; +} +.gwt-DialogBox .dialogTopRight { + background: url(images/circles.png) no-repeat -28px 0px; + -background: url(images/circles_ie6.png) no-repeat -28px 0px; +} +.gwt-DialogBox .dialogBottomLeft { + background: url(images/circles.png) no-repeat 0px -36px; + -background: url(images/circles_ie6.png) no-repeat 0px -36px; +} +.gwt-DialogBox .dialogBottomRight { + background: url(images/circles.png) no-repeat -8px -36px; + -background: url(images/circles_ie6.png) no-repeat -8px -36px; +} +* html .gwt-DialogBox .dialogTopLeftInner { + width: 10px; + overflow: hidden; +} +* html .gwt-DialogBox .dialogTopRightInner { + width: 12px; + overflow: hidden; +} +* html .gwt-DialogBox .dialogBottomLeftInner { + width: 10px; + height: 12px; + overflow: hidden; +} +* html .gwt-DialogBox .dialogBottomRightInner { + width: 12px; + height: 12px; + overflow: hidden; +} \ No newline at end of file diff --git a/common/static/js/capa/genex/genex.nocache.js b/common/static/js/capa/genex/genex.nocache.js new file mode 100644 index 0000000000..b130ea3689 --- /dev/null +++ b/common/static/js/capa/genex/genex.nocache.js @@ -0,0 +1,18 @@ +function genex(){var P='',xb='" for "gwt:onLoadErrorFn"',vb='" for "gwt:onPropertyErrorFn"',ib='"><\/script>',Z='#',Xb='.cache.html',_='/',lb='//',Qb='1B3B0A256735176413A40727372820E6',Rb='3BFB2B59BF73690E64CA963B37E3E6C2',Sb='4EC2E5D94B410DDAB081BBAC4222386F',Tb='7504BC625F3CBFF0967F88C441871055',Ub='88AB039AB796F1D6C3B133DAD892A057',Wb=':',pb='::',dc=' + +This html file is for Development Mode support. + diff --git a/common/static/js/capa/genex/images/circles.png b/common/static/js/capa/genex/images/circles.png new file mode 100644 index 0000000000000000000000000000000000000000..2a84b9c32066c484aaa8ad28c0e6f3ff77cd072c GIT binary patch literal 1492 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 Dn$5EQ literal 0 HcmV?d00001 diff --git a/common/static/js/capa/genex/images/hborder.png b/common/static/js/capa/genex/images/hborder.png new file mode 100644 index 0000000000000000000000000000000000000000..ec58ae6126a0f189b14bcaaf06a8cfebaaacffe3 GIT binary patch literal 1995 zcmeAS@N?(olHy`uVBq!ia0vp^3JeU~eH?5+R#0}_1R%v&9OUlAuG#z(zf~Y@3)nH$zj{tZ?T}AQI}UD_Z!QlhHIBqU%X_w^@j6H36riJ=Veu(aH`0@ z{vD#sKtGHKFy+^W4+fP??N0^R)?^+~3$BFxN$}SZ#?unXDvYLo{sbL9U(d|>8Gn}6?2TL8@bvWd_ZOwE zl%^oHsy!aynkVH^c-Kl zYk4Uo^1h92qL4+~OO{XZC!=<-)P6eubx?+0;ek&-eppOu*p)k5ZiaNg_uBLGnu1PU zH+c{&QeZc~Js9X{fxE2BFKh1OwsRNOSZcFec!xjJKjxB|9djP!R^J49%G1@)Wt~$( F697DM5(oeQ literal 0 HcmV?d00001 diff --git a/common/static/js/capa/genex/images/hborder_ie6.png b/common/static/js/capa/genex/images/hborder_ie6.png new file mode 100644 index 0000000000000000000000000000000000000000..2268f88a76174ada5393bf042902f7743a9e8e76 GIT binary patch literal 706 zcmeAS@N?(olHy`uVBq!ia0vp^3JeS!xg5+u){)-3!a$0#ILO_JVcj{Imq1QkfKQ04 zu2-3XZ?#EiyG6_-o1}Tx+3Os$*VyK5axL2GT(aAv@_=Xc(MbnC?A^0>>fw(wkA6II zP$Gv;^uHOH4=FyJ}PrluJ{Qcgu@6Vn+ zd-CeX^S3|WzkmPs!}pILKYsf1^V|1tKYsrC_51Jt|NsBmSR4hqgtNdSvY3H^TL^?1 zFWs&C0~BO0@$_|Nzs)4cXKd=dt5E^y`cs}Rjv*Dd-rjZ3yJNuM5V-97Ba6<*Cfj%1 z{ofS%gh9T8jV1lhzhAlO=GyPOtdKtl@HvnJcz#XAlqc0%j4oJ4}!Na7l@et z5HPKf@7*p)v^g+^HX;S`ZyD~m^5!j;d|)+;aor--1Flyd*f0SVG#qC9DOW1V$j?2; zm7U3NvFZU&lTGdyD`a}rFIGtPKEGHY*&BYbLbliZBF}{8ISfT=;S4+F;#|BN(gU0C r9Qo&B?7;WQBI=PAAM=yXNyb0851P%0GLA5i0$J|q>gTe~DWM4fBnA0p literal 0 HcmV?d00001 diff --git a/common/static/js/capa/genex/images/thumb_horz.png b/common/static/js/capa/genex/images/thumb_horz.png new file mode 100644 index 0000000000000000000000000000000000000000..b43e683e1fc8ff563a0e90c465ed6bf0c12c3924 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)I!VDxgys+>CQq09po*^6@9Je3(KLBzi0(?ST zjg5`}|Nozxn;Q@i(ACxD=;&BeQxhK_e#- zgOR?Wfxe;P-5zNcpaKz37sn8enaK&J;l&98A|fIQ4VxK+%@|MTrwIH2$}@Pn`njxg HN@xNALh?UZ literal 0 HcmV?d00001 diff --git a/common/static/js/capa/genex/images/thumb_vertical.png b/common/static/js/capa/genex/images/thumb_vertical.png new file mode 100644 index 0000000000000000000000000000000000000000..bd57f594ac98980f6eda313abba3f4ed1bed2ae6 GIT binary patch literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^EI`c8!VDzudVhQjq?n7HJVQ7*IBq}me*ol41o(uw z8XFt`|NlQXH#Z<4psTCP(b2J{rY1f<{zP2lbf6l}0*}aI1_o{+5N5n|x9$&6P^QE+ zq9iy!t)x7$D3!r6B|j-u!7Z~WwLHHlyI8?F*tBr#V>6&SQII<4qSVBa%=|oskj&gv z1|xk#1ARloyFJn%*U5UiIEHY{OcoGG5D-lj5K9vfPZtnM5)e)n5M*TF)?*Z3_i%|1 PP$7e-tDnm{r-UW|-D^M6 literal 0 HcmV?d00001 diff --git a/common/static/js/capa/genex/images/vborder.png b/common/static/js/capa/genex/images/vborder.png new file mode 100644 index 0000000000000000000000000000000000000000..6840d11a1227e163a012e526e821babed6736814 GIT binary patch literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^x~AHRJ0^8f$;XVMF7fGRl)JR*x37`TN%nDNrx zx<5cc_7YEDSN7XXl6<<>70#1?0EJXNT^vI+&L5zMQp3{0%&`0Ne@8vu$Q+;s22WQ%mvv4FO#qf+N16Zt literal 0 HcmV?d00001