From c32735321302913319f60add0d2d828250a071f9 Mon Sep 17 00:00:00 2001 From: Kaleb Murphy Date: Mon, 27 Apr 2009 20:20:58 +0000 Subject: [PATCH] Fixed a bug in the YUI simple editor for survey editing which was leaking memory. Also improved the object edit templates. --- docs/changelog/7.x.x.txt | 2 +- ...ot_import_survey_default-answer-edit.wgpkg | Bin 0 -> 1862 bytes ..._import_survey_default-question-edit.wgpkg | Bin 0 -> 2180 bytes ...t_import_survey_default-section-edit.wgpkg | Bin 0 -> 2103 bytes ...ot_import_survey_default-survey-edit.wgpkg | Bin 0 -> 1664 bytes www/extras/wobject/Survey/editsurvey.js | 1 + .../wobject/Survey/editsurvey/object.js | 50 +++++++++++------- www/extras/wobject/Survey/surveyedit.css | 6 ++- 8 files changed, 37 insertions(+), 22 deletions(-) create mode 100644 docs/upgrades/packages-7.7.5/root_import_survey_default-answer-edit.wgpkg create mode 100644 docs/upgrades/packages-7.7.5/root_import_survey_default-question-edit.wgpkg create mode 100644 docs/upgrades/packages-7.7.5/root_import_survey_default-section-edit.wgpkg create mode 100644 docs/upgrades/packages-7.7.5/root_import_survey_default-survey-edit.wgpkg diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index cd01c3f86..3835f788b 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -8,7 +8,7 @@ - fixed #10260: WebGUI::Asset::Wobject::Gallery.pm default search date misfunction - fixed #10238: Edit Calendar Event not working when proxy cache disabled - Fixed a bug in the RssFeed aspect that would cause the wrong HEAD links to be made for the feeds when exporting. - + - Fixed a bug in the YUI simple editor for survey editing which was leaking memory. Also improved the object edit templates. 7.7.4 - rfe: Extend DateTime for Week-Nrs (#9151) - fixed: 7.6 upgrade left some default content marked as packages diff --git a/docs/upgrades/packages-7.7.5/root_import_survey_default-answer-edit.wgpkg b/docs/upgrades/packages-7.7.5/root_import_survey_default-answer-edit.wgpkg new file mode 100644 index 0000000000000000000000000000000000000000..965aaeb90bd31c66038c10a1068f1610ed4eb40f GIT binary patch literal 1862 zcmV-M2f6qkiwFP!00000|Ls{@Z`(E$&U1f-;1_K`Q_GGowd;6D??&4+The9NyalvG zTTFB-N%_*D|9yv~DA88jxPet*Km;U~csZBve59yzo*YzvIgZn9w+{~B*XcOLua#fU zL8H;=wp)#6vwL)4H5yK{ePF?q>aUb>M8PzaAlJv+_1)DkoO2xIocR5pT+-@B@xP_+ zdrz)e9PP;mkltyvint4Hf(I)6jdr`$-H3nd=m=;4L#n^3ivN@9P2Y!xe;+{#oP!lE=lCY3n|noI@l_T6GqD7;zfk%Cx+?B+cX3(IYnqmncz$79$Q1@0+rLcH z$USE1BqaRftV7l$(zNaxI_p_xMxsDX*j{OjIt?GNl|hv z70PjKF+23*Ii@}il5y?Z;w=v|my$$4URG5ER4bB3=V4xJ&4Km^1Lm!;cLk7})(-0H z2(0z3cS$|BfkUwyQxAI?A&*oT zRWu6ZOy37ZvkAjCIxv70?;p*K%ToH@p$yS7z|oBR$9BW9Ek?e;g74Vbmaqk4xs-Ec z<JFvV{SeplKHx5HMZCh>}?646^JH)wu$8(>MS`Bq= z^{SQc-)4E;i{2NYJdcQO*#E-6AKo-xRDidTT0P!&Gk-4^pE?4D-$4Bu;-X>yh!bXU zU;e|uTM8#tUfI!nyRM3GUONX7_CooW18yFK^4?)~@~Q5eldH-N**xgvBQ}iL$2n%q z^+q`6**69>@q9O8d==p1am~kM=JUSQa*`!{h3ZLSoW5@T`n^uW#Nu}xth5C2`#m3b znehA2MXJibe6`ED0gzl7*JhBXIb5aW5V_-;rIDBhG2;CIPkDxeIavx&N7`Hj%#~S< zaZM~_c#_EyB_5tsGGbgS*1OO<+$LPSB6880b%$;oaYP^+2D6H1tl4OFvwfPve?jF$<8gZZtwhi!z}^>rshT`0Iu$P0&syZVxRlYoNl@X2{4(1#pm z=E;@FX^lK1{tM!9zi&02PO^Mv>2=Xik0Mb61X=VgmBQM#R0IYabG))nYf(dyJXWb{Dh}K_P$YqeWeD$cqRUHy!S!kib%$@0gZzL{mWlxq?5Jr{H zRa($mz;-+&8G^r;G3!8>APh8kS$a~Moo^3{9<8>BK}L>-e9%D^!$qnX63K|pu-HY4 zK#9)V!lOYL)CC_UEC*{V#kJ&9)T^KExiG5-0(vTzAWP+BtgK z>lPY0;epcjQf1n$6PZY}WQIJ~l%>soCs>sZ3<-pZp@Np1X?S)+lGB)j0j^Ac%YFkJ zIJu`6yXhBIjZ_vHYAAt<$=s}J$Wp^O>?=}1yVEgrB#1)sLUwF{v)_Mv@!@?LT*BVR zA|InFFl#jy!ZNTnJ(9(jEFiM4*X#Cr?QYYsh~haB`}a#-X=pUdVIk}cxi^|PMrnij z@nRIc27)Ryj4tuYV^CaGFsKqkeLajga_K7JXIijf7DuzJT65-(Cg-DH-!+?`FO$~f z)!FmtO=whW2s>ZF7h<^SymUpn_#4>BGQctGF*fxRN|A4%_lQ~)FZ08G@E A%K!iX literal 0 HcmV?d00001 diff --git a/docs/upgrades/packages-7.7.5/root_import_survey_default-question-edit.wgpkg b/docs/upgrades/packages-7.7.5/root_import_survey_default-question-edit.wgpkg new file mode 100644 index 0000000000000000000000000000000000000000..ceae4765e08c32b5fcf8b4fbd421f8b0d06f4ca9 GIT binary patch literal 2180 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 GEC2xYhb4Ld literal 0 HcmV?d00001 diff --git a/docs/upgrades/packages-7.7.5/root_import_survey_default-section-edit.wgpkg b/docs/upgrades/packages-7.7.5/root_import_survey_default-section-edit.wgpkg new file mode 100644 index 0000000000000000000000000000000000000000..050d449191fc533dbd696d19f389119b237744f8 GIT binary patch literal 2103 zcmV-72*~#ziwFP!00000|Lt0BbK|xV_UHTxjJ~j)iBF`gm$M?PbGe**ZgaL1`;yE= ztp_Gy33n990-$B3lmFgbfFLQ7vSnLxo6d2@riho_#k0G>0*hCByMJ8Q9rSv8d+>Jq zZt*7h0Mz^4ZlQPNhIU}o-|-H*{fhp(2VQrNK$G1+yVC!w-HW~r4*&iN zw9t|&7Iey5WJrGf$Je?j5plwV;!I+xZiX#=!Kh-vw@WN-9kg^~tO%)8@9vUVKqPusbE_ zdq#sxI<0r4QZkiw^5SoQl>X_7e|&bbpS-&iZ_i}%rr@56P!kt%tlE5zV{6M)+_Ggm zU^g@k)xKoD;&HUk0>(SjB3Y7${03or*Y3PJ(wx2a)wUMK{If zNoe641^kxq;K<2XJL8F%M7q=m9mpeR7C7U7o9zs11y2w6B3S@^g3kYkrMD1Xv(%qqm<;#@Dm?YR!u`z zDN#DVW}>c-GEGCq5F$qFlh$IoKZ|dfn6WUKv>u>O0w#UI6SR*yuR`~hlNMWB1Su2| za0zy~WWg1vq%7a4T?~4qyePJW@5cgct1excVwudNkpSw?z@aL}$e5Dx2gOwg##ggl zT|RbOeI8Cg1;*&J&{I%@ky*Y-;Wq@u%p+0AkkxJLKxyu1J&C6c)GrWy<%d zKWPz*%1szkH4NE}T7yZMVCF?I1sifeM=uPM7AhFNv=;L^<6x6kF)5)8<4qXBuy7q+ zk$T^cBSksH7C@nS7F-cFUn9$<_IGoCJ2zI1quIt9r$?<(c9#eyW#jx^rHvA4Ep50~ zR2V$Pbk+<$2OVSw2fjjWLDZOyV885E`Whyu=C76m`iTJrd0bxdGJmVa$RsDos!!`cwOtv2xu zb5R?D3>#?JW?9vSi-e#MYtI3G@~@Oh3<2b3Q_o{;sDa5A?Wi2K2^#R&PVYI}AM&AP ztFV_vF8qen8;uEU{{7D^Ab>9hn*3&53!#>51Dvu6%tW&risojbrBMhjy@`0HWnIMR zfknjH*F+i9(T0=7^H|a_3pGwbx#1AlB$5R7j@!4OI*;cYkQw(#!sftNSwxWYIcMS= zM^g7wZ4zM|CxypkjcaW+im?u?>){`4a@ie(B4)AxOEiM8U~GRJc_jlZ<`mO$)HZ}` zOtU^HVMCpvy;5QAz*xak^d3j~K62OUudv#h6=aTH==3bQF#CBlgB&mGD}d74X(zX# z6%sZc_43)}adXP^IlDE6_stNQcW7K#D7OkhO^|zM(=CjgtOxx*404ai*8#i!YR}Gg zwq|F5CB-jY-{5~u5x?FC5-@BAG0bvD6KDgIt^1CaAKm2=cf61Cnbod^udLVGvrVR% zcY;bO+$|L~nqeFYF8@j{g;3DDmH^ zE0p-S|HGaj<{S>~ZFsf)z#4J@D;&1&1(w019Kd#Z5!S=(?1EI2%%hJS3sT2IRYpFT*X`5V=Ewt~- zuDx-`Zu3hh;ll_&=A@@g`LU?3o`B)5v>35HHnYce_zj13MIK<%>bSjr?XbdwXZ;grCUHL~ zgys^PV(Q6oDQe_ro}9)CB=B|SS=X1qnX@R>dx;GMz)JMr`cr*c6_i{y#7GhPxSNOR5at=kBif3p;s<1mJ)6%R4M3zS-i>@ zM!-b$b&)0`(YH)i(dhJD_pskBU5fxEf^%i!^{%7S-xNC?EDlbizaP$zyT9qK{0F30?hgPg002;H9*+P3 literal 0 HcmV?d00001 diff --git a/docs/upgrades/packages-7.7.5/root_import_survey_default-survey-edit.wgpkg b/docs/upgrades/packages-7.7.5/root_import_survey_default-survey-edit.wgpkg new file mode 100644 index 0000000000000000000000000000000000000000..2710d64f2d41ca0a63f621df6f3c3e9f92fdb871 GIT binary patch literal 1664 zcmV-`27mbuWz zgha$7zyP2WrOm&00q~M!H|bP*XvcgY3G8C;1$NQc+WgaOHhbOf))su5yUp_J6i;)@ z^SoZSFYtouE$-Rdp*zti^GTMnRX{@IlO8=Dt>9UT660A8p`#RZ;_ zn$vfF`+dhuC4whJC`zQBHE0^s7X&L3d_UK-wRX)QYe0mhI{K7w0nh`phNV$dfFaA2 zp$7hU)OG(5@uq+7qqy&CRaBzVqs|&G| zL}iO!yty16`zi`9Cp>XKzBx_#`{xHG_f$lNxZqqN8f)EicSPilat^`)6s_YTIDiD;v~wgHwZzq{cCZ}boLBl zqOcPxmAK?%N~ce+YloaE!jyXfT&`=5Z-)R-U>FptIC|pvAr@eUr>PpdkFRU{PC-vm z6_NcbGJ0`&;=DTnQi5ScIm6LIW4a-Z$phl!%Z-NlvviQ{j~FT-W&poEwmYFbGl~ zGQ4j>sE;75rzFyO-JXXg9GW;X2{zZg>6NL>SkEzP)GW;8S*xXko|0ih0RT5Kbv7;Gagmb|8E%; z8`nR}|D_E#2-cPJON6yLwg}ib14zI)-aHq3Qmu#dd!S z;sTiro(q)If>M?G7|yLFWXCzR+!~EWE~t?PEiqjf4~o%(g4khDYJq|@7$`U@-%qh{ zOrdfD^)7$HC*VJ3!+U@PO1Tvjkf4&fEG)YUT3epV{1TN-Qj)b&z#D&vck}@ zBZ-ty7&btz1`eP&d(8~}YXwLJ^=IRh`A>D0tg`9$x_7fdMrk^}Rc1?7;TvKLs#V(C z8tB-}+}_!)R;=4rsa&Pf{@Pc?Y!N{-EEq(Pba@KZur4%oEennbsD!$F-e;VdN;?bN z+2qQu$f5(R5w?~soD*Fsr2#b;!Gz9=7(jJV;>A(E*knK+xHB$pFf?wNL`F|l=7@yK z6g(;21T&%&sU!))XA;y`Bn6vQUdiQXWxo{ zz~qdGWo!_-$SEVx;;1lb7L`lL3t*GuC4#o@0O?(7zwFN_3yGlWQbfms$7f(@W}CQ5 ze+Nwp$r|ihdD+r5mo52~OG(lAO?O(R7qpq!@0%Fz_b>8xaIv>O3^AMB)tJBH0Uc9l zxovORX+GX+P1(CA#4i25^Tt z`~8;}uTEEuOXVr|Z*s#f+-Xpm8EaW1bJ>wO#K89UdV71_UaO+DAXBRM&*yn(@3mIl zLgg9uZ}PyY+BD>|6L!o+Y^_lN>0<+u&9`Q-ZbXZ2gsxA_6Lppou85`ZB)c8)53i0x zuk&`8{P64RqlxOIpGjv@nv}}(xrDokW#x@xxxK14L=Yk7e(1IsG1p3q)@b!w-40|( z$q}3gsg;S>9kJnOMTWgud&qv=i;p`$)5A$k-(7uq@MRrWWA`-fEpTsvdkg%pE$|om K5fah>8~^~W8yxWf literal 0 HcmV?d00001 diff --git a/www/extras/wobject/Survey/editsurvey.js b/www/extras/wobject/Survey/editsurvey.js index 36f5c3956..848c8779c 100644 --- a/www/extras/wobject/Survey/editsurvey.js +++ b/www/extras/wobject/Survey/editsurvey.js @@ -197,4 +197,5 @@ Survey.Data = (function(){ YAHOO.util.Event.onDOMReady(function(){ //var ddTarget = new YAHOO.util.DDTarget("sections", "sections"); Survey.Comm.loadSurvey(); + Survey.ObjectTemplate.initObjectEditor(); }); diff --git a/www/extras/wobject/Survey/editsurvey/object.js b/www/extras/wobject/Survey/editsurvey/object.js index ee4a7711b..80bdf569d 100644 --- a/www/extras/wobject/Survey/editsurvey/object.js +++ b/www/extras/wobject/Survey/editsurvey/object.js @@ -8,16 +8,35 @@ Survey.ObjectTemplate = (function(){ // Keep references to widgets here so that we can destory any instances before // creating new ones (to avoid memory leaks) - var dialog, editor, resizeGotoExpression, gotoAutoComplete; - + var dialog, editor, resizeGotoExpression, gotoAutoComplete, editing; + return { - + hideEditor: function(){ + YAHOO.util.Dom.setStyle("editor_container","visibility","hidden"); + }, + showEditor: function(){ + editor.get('element').value = YAHOO.util.Dom.get('texteditortarget').value; + editor.setEditorHTML(YAHOO.util.Dom.get('texteditortarget').value); + YAHOO.util.Dom.setStyle("editor_container","visibility","visible"); + var xy = YAHOO.util.Dom.getXY(YAHOO.util.Dom.get("texteditortarget").id); + YAHOO.util.Dom.setXY("editor_container",xy); + + }, + + initObjectEditor: function() { + editor = new YAHOO.widget.SimpleEditor("editor", { + height: '100px', + width: '570px', + dompath: false + }); + + if (editor.get('toolbar')) { + editor.get('toolbar').titlebar = false; + } + editor.render(); + }, + unloadObject: function(){ - // First destory the editor.. - if (editor) { - editor.destroy(); - editor = null; - } // And then the Dialog that contains it. if (dialog) { @@ -62,6 +81,8 @@ Survey.ObjectTemplate = (function(){ text: "Submit", handler: function(){ editor.saveHTML(); + YAHOO.util.Dom.get('texteditortarget').value = editor.getEditorHTML(); + Survey.ObjectTemplate.hideEditor(); this.submit(); }, isDefault: true @@ -149,20 +170,9 @@ Survey.ObjectTemplate = (function(){ height = '300px'; } - // N.B. SimpleEditor has a memory leak so this eats memory on every instantiation - editor = new YAHOO.widget.SimpleEditor(textareaId, { - height: height, - width: '100%', - dompath: false //Turns on the bar at the bottom - }); - - if (editor.get('toolbar')) { - editor.get('toolbar').titlebar = false; - } - editor.render(); - dialog.show(); initHoverHelp(type); + Survey.ObjectTemplate.showEditor(); } }; })(); diff --git a/www/extras/wobject/Survey/surveyedit.css b/www/extras/wobject/Survey/surveyedit.css index 5f32faba1..b6f4c84e2 100644 --- a/www/extras/wobject/Survey/surveyedit.css +++ b/www/extras/wobject/Survey/surveyedit.css @@ -1,3 +1,7 @@ +#editor_container { + visibility: hidden; + z-index: 100; +} #loading-mask { position: absolute; @@ -143,4 +147,4 @@ li.answer { } #sections-panel div.ft { font-size: 100%; -} \ No newline at end of file +}