From 73c02b6803d878a4df40464d4c42687f9e172713 Mon Sep 17 00:00:00 2001 From: Patrick Donelan Date: Tue, 10 Feb 2009 08:00:18 +0000 Subject: [PATCH] Part-way through merging Survey features from trunk Cleaned up Survey Edit screen, hover help, layout etc.. Added "jump to" AutoComplete box on Section Edit dialog (as per Answer Edit dialog) N.B. "take survey" is currently broken, but will be easy to fix --- lib/WebGUI/Asset/Wobject/Survey.pm | 2 - lib/WebGUI/i18n/English/Asset_Survey.pm | 67 ++++++++---------- root_import_survey.wgpkg | Bin 9586 -> 10490 bytes .../wobject/Survey/editsurvey/object.js | 14 ++-- 4 files changed, 35 insertions(+), 48 deletions(-) diff --git a/lib/WebGUI/Asset/Wobject/Survey.pm b/lib/WebGUI/Asset/Wobject/Survey.pm index 91dcbf57a..5441660d1 100644 --- a/lib/WebGUI/Asset/Wobject/Survey.pm +++ b/lib/WebGUI/Asset/Wobject/Survey.pm @@ -20,8 +20,6 @@ use base 'WebGUI::Asset::Wobject'; use WebGUI::Asset::Wobject::Survey::SurveyJSON; use WebGUI::Asset::Wobject::Survey::ResponseJSON; -use Data::Dumper; - #------------------------------------------------------------------- =head2 definition ( session, [definition] ) diff --git a/lib/WebGUI/i18n/English/Asset_Survey.pm b/lib/WebGUI/i18n/English/Asset_Survey.pm index 41d5a3a90..db4f29ad8 100644 --- a/lib/WebGUI/i18n/English/Asset_Survey.pm +++ b/lib/WebGUI/i18n/English/Asset_Survey.pm @@ -83,7 +83,7 @@ our $I18N = { }, 'section name' => { - message => q|Section name:|, + message => q|Section title:|, lastUpdated => 1224686319 }, 'section name description' => { @@ -101,7 +101,7 @@ our $I18N = { lastUpdated => 0 }, 'section custom variable name' => { - message => q|Section custom variable name:|, + message => q|Section variable name:|, lastUpdated => 1224686319 }, 'section custom variable name description' => { @@ -110,7 +110,7 @@ our $I18N = { lastUpdated => 0 }, 'section branch goto variable name' => { - message => q|Section branch goto variable name:|, + message => q|Jump to:|, lastUpdated => 1224686319 }, 'section branch goto variable name description' => { @@ -260,21 +260,21 @@ our $I18N = { context => q|Description of the 'allow comment' field, used as hoverhelp in the edit question dialog.|, lastUpdated => 0 }, - 'cols' => { - message => q|Cols:|, + 'comment cols' => { + message => q|Comment Cols:|, lastUpdated => 1224686319 }, 'cols description' => { - message => q|The number of columns of the textarea input.|, + message => q|The number of columns used for the comment TextArea input field.|, context => q|Description of the 'cols' field, used as hoverhelp in the edit question dialog.|, lastUpdated => 0 }, - 'rows' => { - message => q|Rows:|, + 'comment rows' => { + message => q|Comment Rows:|, lastUpdated => 1224686319 }, 'rows description' => { - message => q|The number of rows of the textarea input.|, + message => q|The number of rows shown for the comment TextArea input field.|, context => q|Description of the 'rows' field, used as hoverhelp in the edit question dialog.|, lastUpdated => 0 }, @@ -329,11 +329,11 @@ our $I18N = { lastUpdated => 0 }, 'recorded answer' => { - message => q|Recorded answer:|, + message => q|Answer title:|, lastUpdated => 1224686319 }, 'recorded answer description' => { - message => q|The answer that will be recorded in the database. The recorded answer will be displayed in a multiple choice question's buttons, only if the question's 'Show text in button' property is set to yes. Otherwise the multiple choice buttons will be empty. |, + message => q|Text to display inside multiple-choice answer buttons (only if 'Show text in button' is enabled for this question).|, context => q|Description of the 'recorded answer' field, used as hoverhelp in the edit answer dialog.|, lastUpdated => 0 }, @@ -349,9 +349,14 @@ our $I18N = { message => q|The section or question with this variable name will be the next to be displayed after this answer.|, context => q|Description of the 'jump to' field, used as hoverhelp in the edit answer dialog.|, lastUpdated => 0 + }, + 'jump expression description' => { + message => q|An expression used to control complex branching based user responses to previous questions. A branch expression is made up of a list of rules, one per line, along with a branch target for each rule. |, + context => q|Description of the 'jump expression' field, used as hoverhelp in the edit answer dialog.|, + lastUpdated => 0 }, 'text answer' => { - message => q|Text answer|, + message => q|TextArea|, lastUpdated => 1224686319 }, 'is this the correct answer' => { @@ -371,34 +376,30 @@ our $I18N = { message => q|No|, lastUpdated => 1224686319 }, - 'min' => { - message => q|Min|, - lastUpdated => 1224686319 - }, - 'max' => { - message => q|Max|, + 'min label' => { + message => q|Slider Min|, lastUpdated => 1224686319 }, 'min description' => { - message => q|Set the min value of this answer for slider type questions.|, + message => q|The minimum value of this answer for slider type questions.|, context => q|Description of the 'min' field, used as hoverhelp in the edit answer dialog.|, lastUpdated => 0 }, 'max label' => { - message => q|Max|, + message => q|Slider Max|, lastUpdated => 1224686319 }, 'max description' => { - message => q|Set the max value of this answer for slider type questions.|, + message => q|The maximum value of this answer for slider type questions.|, context => q|Description of the 'max' field, used as hoverhelp in the edit answer dialog.|, lastUpdated => 0 }, 'step label' => { - message => q|Step|, + message => q|Slider Step|, lastUpdated => 1224686319 }, 'step description' => { - message => q|Set the step value of this answer for slider type questions.|, + message => q|The step value of this answer for slider type questions.|, context => q|Description of the 'step' field, used as hoverhelp in the edit answer dialog.|, lastUpdated => 0 }, @@ -407,7 +408,7 @@ our $I18N = { lastUpdated => 1224686319 }, 'verbatim description' => { - message => q|Set to yes to add an extra text input to the answer, where the user can enter a single line of text.|, + message => q|Set to yes to add an extra text input to the answer, where the user can enter a single line of text. Typically used to permit a free-text 'other' response.|, context => q|Description of the 'verbatim' field, used as hoverhelp in the edit answer dialog.|, lastUpdated => 0 }, @@ -416,7 +417,7 @@ our $I18N = { lastUpdated => 1224686319 }, 'answer value description' => { - message => q|Enter a value for this answer.|, + message => q|Assign a numeric scores to this answers. Used in question scoring and jump expressions.|, context => q|Description of the 'answer value' field, used as hoverhelp in the edit answer dialog.|, lastUpdated => 0 }, @@ -1157,18 +1158,6 @@ section/answer.|, lastUpdated => 0, }, - 'min' => { - message => q|The min value of this answer for slider type questions.|, - context => q|Description of a template variable for a template Help page.|, - lastUpdated => 0, - }, - - 'max' => { - message => q|The max value of this answer for slider type questions..|, - context => q|Description of a template variable for a template Help page.|, - lastUpdated => 0, - }, - 'step' => { message => q|The step value of this answer for slider type questions..|, context => q|Description of a template variable for a template Help page.|, @@ -1182,13 +1171,13 @@ section/answer.|, }, 'textCols' => { - message => q|The number of columns for textarea answers.|, + message => q|The number of columns for TextArea questions.|, context => q|Description of a template variable for a template Help page.|, lastUpdated => 0, }, 'textRows' => { - message => q|The number of rows for textarea answers.|, + message => q|The number of rows for TextArea questions.|, context => q|Description of a template variable for a template Help page.|, lastUpdated => 0, }, diff --git a/root_import_survey.wgpkg b/root_import_survey.wgpkg index 690eb6c7fc922cd4c032cfba5cc7c1bd8c34d87a..8691beeb78149fe16c6401068f67b19b7025deb4 100644 GIT binary patch literal 10490 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 literal 9586 zcmV-&C5_r2iwFP!000001MNL)chg9+eBNK7&7Q@x=WOD4UWDuk3=G+Yz>qM^&dt3X z*-~PGEO{h3A+tOG{nn#jQcJRv*bWQ{hs0KQS65e8cUM(cl{OwM|EJYzZT0&P9<*BR zt$yplgYFjpIO?bMpxtiwTK!IYtF`sOX}7u^_ybLr|1(W9Hv!ZpZkA5m@r^r#LBbCX zlK;Rf;%2W`HUI5ad$V1b|L$gI^MM1@T>j6p=6_@P zs4t?2|NIFS;aZx-iF@v^IlIpP{O{lC(Ikl{ev$=#ichH;)*L3joB7_8D}1`vU8Bla z5V~ph?DHf}p!9&+MAI--#jwgUg1u6N>|+YQ|`^)u1vhqv#Jo)5Fodv_jB)_;BbavFd5{y_IW zO+o^m#BtUP#yGZSI!!M8tET6lxzjLP=dbI&7i79!kiG~!&yT2a+kE~eiL*GnnlL4d zfu1MvbaLoDLpVs-c1JhM{P84|)Y}{Tnd^+QY_jhEIt?x!pRPTPqs))8^%H=5y5ivismRAhmV}$$W372kEhw$`u6GCzH^$KMtfP1h5r6~fAGV*L+6-A<{%1jve)D? ztVUHwK+t{qlxA0<@8BS07sE6KkXVQt`XKhMoc}muH#rZY-PR*#;(A^Xo#V&f2||-V zPy_lN2GJ)c@k4+|CBPhh1|zZha7KxL2DO?r$7%Cw8Z-yfAoQANFzA$juaARhgHUps zjPU~C6WgTC^ivSQZ+A?e7SzjSJoxAjvnEe~;4tK<9DJhGpV!x&f5TjP{=|=f!-lXt zcZnNzo4}J7eu#^9o0 z@aSQLkOu(BSzi|nGfaX>mYdCw?uDDuW0>YN8J5neg4~oA_(dfO%Oo`Ol((^Ezwt zpG5=bb=x!-aYYxj>F{Ekcl{Q2GtayInk|4t^!eOfB4}7fZcj^7@Rq&pQb?^Z9wN6t_O$l>qr2C zN($6J&Zg1uF-|4GdJDg1liU;yEh`Bhrz2-Djv<1P+gC_uusBAzrkl>v#-AWbcyjc@mG`0KFp?e2qG!GCUo*(Rr!90V0M_S=O}r+9Fj}DzO?Bn%pB; z9VA_|#Jjso%(1(BA_Z)vt)MdVD)xf2K%n04bi19M?QY+|k0fM*_dRO^rU1_8mHFh|CZ>OPes3k8xo_vljKK*d`<553+lC@7R)9|yQF-=g*NC;L1jdyon zoVqtqQ;Y>Gwq#E$(3~i~aa;oTc|`pZFgvi;FZULQO$ zw%$4Hf4>TmE7d#VQmubV3S$9x9n}Os5uz%}r1(RUB* zgiy23lC|$O_MLc|Iq{ie(Jao~Pzva2gOLKIN0L8}u2QB9R8NAj|1ubp!i2-Q9S7Ohkg_@dT$t=sU$qXdTBw z0Hg+vcwxU9Kj34Y>oJ)712B3%9mT=W*C-O2g4JYI_w%bb@n1)x+TNeRY-{`=kL{;^ zD6~eJf?cP6IAixSAX`|7@Q^tV7>WlWY_77iJXaB_*0M0iOf~X@ISWGnWsJK_*_e&# zb4j}ttSu4H0QIW5fNQ0)YBZfZ*$j&oi3y3I1@=LsVl(0uMYdj`J9a@=pf#aKH<)EdaU z3a}%YS5A@wuBMThRX)eR1wu5C-bIGx<~Vzb$a!9o9WpSr3PyCXr3cK#b8&$|hlT(% zW9Ba0a0*jY98cm8k~0>u9SOoU$*%OKKd z*SsB{I7xhoMrezV5d2#xLypBu=&-WZQz)ZaFs%})d-fA1Wwo#423)ZT*NY-(_fcl( zbm)dszLuK@{^jYD+d6JoU}y}#4^r?nxUx1l-D37;D0@MJxx`;SGyj4y-EqU!L)+y&Vh;~{@1;lbi{ zI-BknM>+O2m`DJTQ_<_sgi6pJMhiMeuEvGJG$mBZF2LCcedN^%#3;MZoCjY zOZiDmy0`(C%r5_${jO@KC04tR{wtA{e_0q5Qia5s?WSqdl8+O4YoNU(ts(+UTVH_UDTQ-g-~x&enx7r(sZG zY*eR+H+92fqnd;-r-32rlfB`#%LO=dHxe6ZmB3VCW)!T!;%dvDPlFP(vFxk_OIueV z<8q0lE#^xJUe*X^n{3fepW6y-649YD&t%muEWFKW?6>L}T8%_<3jUQFklKmnK(T73 z=0LHye%P{Ku^rU0PtKDpHz46v)_NEX(#a$Ktww20V%^5di*bE$4!fTVUfrJm`Eg^t z4d2lD=y5}=LZLXT+H+8_YDLb04P0HVXQSzO(8%|zp4;8m(J>gGlMi}Bh7}b2O{uH( zXyZIMt2$on4X27h<{6&*xqNu?`Ra$KF356hR{qpl&Q+wKV?VDdiM7B2!S#k|NKh7s z>&0aj@uZas_{I6Gvi#HbK?BxO4W5Vcf>&H8npES@eAzeivP(9!chSn_ESuop|B9t= z7>YJ>I6h=CcSj$+xc=G&9N|V zy$fEq!?I0|o>@!7glvA^yVmAbHxmd|UzD4DlzpCE6P>9mj>3xNZ}tQ1kW-k0~=pMwQy31lj-=r0NAAz^I zvH1vF4s1W{9U{K7@T`aguE5}ajb5|+XF&v^qFh27H7a`G#{!WDG%G;)oG!KpA%Mx4 zRtMt)t6F~(OB_6ZDAaNN4B|S;c}jCDwkrFt-MjAEsoiiNUyM`x)=tk1Hnp6}mD7@@ z!3tg4OM1VCL;Fs*+t+AoUuE*s#yDGD_;t9hce`_7mDdjZ*1vxI{`D)vH+<=?>lQU`>$<-7%{i%8_4kYzF{x!J&c4mHLQMl2-E zs5YYIm6c9pjt3>W;l&ztq#1Btm13w)#t1-hE*Luw6ih@1O=EVtvyWaYk0fnPd%aFQ&Iv+Tw z`~&#ZgTHiIK{l)j9tyDde8~GjHEp+k8LA6NIx=opQ-C^yL@!Y~iBsR3r$b%)R-K~w z34y)nFZBU}DHFn^oIQA)y1pap-)OYw33y?D7{u|XI`I{->jr&fkPY zA-%6GRTHR`rXx(@hQ?{IETiza0mAK1rl1DJ><#XRAzZ->A^8`0TX)buAD)Q3Z1AKF zPbl*md>&wIO|qND;9mhUS_l%3)1G{$$UT4uPTiF3#UleUxUfKz9=Z;|Qw)%#{@9Bf z;I>+S6`jrKUbScV3=8_lTyxL^0o?6&|N01x;p^l#zROtQbEJ zLKicC1FkVPKzg4*tf!yaNS4+r#T1AtryV}>y$&)N(^{08tS8yx_RQc@s*DYBziSVo zP+o$*$pj0-M@8CJVx()V3a6T>7F5zTR)rJXYJvI(nW!r1q-$6>NyZW^=cxNDywAhE zl_KIC5g13CE$^lx4;OJNpp@(-l5dfD{AY|7&4CGVX2h|HM4ddI=_rjp^hh?zHx2RFB|@CAfqgJNd|~U0NDi?zwAIfg!A|##HbF+F(!w zbl4iENwGqsK{XQBFduZf+s0M$S8qOO_qHHsP_MlN^FdS5ThI2_U`Qw-$r23-H9F>f z(U(hs3j5E_>g+#lF#Fm0|GT|=`_C%4=3BP^TpkR2?r;D6DfsDR60diT{{8yr_ZNo$ zinRaKkOcygoi@I4G7bq^f~n zGZ9y6xK3g^AtK1k=4=z;7&H0V3>}&YU>HxXxH*5a8_!1|xKIyBnMKXYrju~m1b6(< zkIo?@L$}Wn;1-?=R~1qcsP9_DRWb@z5;Mnjs9rq5EXwvgqj?90rfja)#49Tq=Vb!Xl9*z}%Ob^`#=r=(uW8D;}1CiTH(4?(t zP^_{KuNv_&k*{=|Mi<@UR&?d3i$|&@keWvDu8Y)}i5S9jV%I`549;Cz(r!mG3BE1HJSz{?z7 z4ni5b(3*g*&0w<@?%cdwj2<|n5w7yCo!%^+s;&26I#DG$Sz%q<364cUK@)VD8z7U7x$r z;LZ;IxDVBC&KPUy;H-l9;E0H3>#Wrf>ZbwWsKh+3(-Hz-; zD4XReUIgyjIKtz`gwBPX*n~EVt#K`U7dLyWAhcPL_!#%3X0`Xc)s&{zt3-SS9ors63(B=b$F|Ldfgz>QvDMz&m@=~vl!itcVz(0W`7Z!aa z^b>%RlV%W(5MvO!Qe!}L*70UWaO9WfP`RV+)(g8OG3@N*;7yKx@;xX&imd4LGC|$> z3a>~iFu2D3NDp2VqEWx=`w`=fCO34i>~>lZ47X|U!lK+OZ}QfYyAK^JQsW!F8mX}V zw^wNYZ}e^|!(U#Vd?r1qoK?S&X0Oi+p3Rg<0ijdMSH7W(+{$h1Tx#sydmV>d#;O=bPzj;h36}vO_Y!#-TTNVD z46G)G5~NRspDa!}|1-UqM{uJA3HnE943RZ>8aQW~*+^GVSD?Cy>8ZmNrNgim)Lab_;!oK$)CXS>lMi10dDgiT?ukY;iOUgW)Gw&Ae#8YY5Y= zzS@<9g!})$dQOjUZW=gr`TJtM%X~9h8*_$b3{#NI$oLdMN5FBrMx|jRS z19&8Jh2K0esp3!*TF!5NS#I+7bmIv>``j4ZM|Z-l#JiLZsyU9C2^^6r(GRQSlqVyn|xh+fx+24?|(r0)u;uH>XjPi@~6 zc=fY-65AeZYxVHzclh&>evo?2;B6}Q{VIO(4}rS|L9s>m|l9= z1%1yASHGeF`3n_Doot()2=6FRDAD$%eW;+S&5ZKplfpPtId}EGUHk$e35%&M*QF8l zk*@%uFcNp3jS}?4eoc$vhPYV^iCxWPFoE?eC|F9cAa$}4{epL=vQ@N_c6#1u zD=?OLK6*mgS0&91&vI3^FE%c1D6qD+TkWT+BZ)-8n^~0?5V`$+DY;g0fw_KAU{PNF zSQCHtV1p0|e;{_j&345LJByBsAE)Dqla+*NXvX7C38=EhoyS?cel-o&-Juaik?YAs zkx)Xcc!D8m{plKlfVT9Gt>SyPMHw@unQ#aT@cOnCco}w($0*9&AS&jj2a~2kO1*mp z4<;I?{RCl4f({}2FWDW$*@z6)MrCd+eS$S}m#kYNJlyqx^)ZDAsgk8TNSZWG5=e<; zP!~g4kOwdBVDn+tB`=OVDtf&pr2*n(UTtfA}tvFt7*tuhK zX4`O%T$nl2a09Z)ul&5$;%nE%1%lXwqi|emX~0f3`==znxSW3;HORX3ASMr*Oe39?K@GrWmA13 zhF*9_;J`R-;;-d^=dg2Fommz~%jp8L4ET}fCQbQaIo*6rvl zZMV0KF)hqCke}nP!Zu)2+h9T(Ef!%f&-IDn5YJ96S_Z z9hGU->UPGsm18om-`Z77hZ}O4501rGwab`DC;5x2BTJnGSvWsm<(p}KsvhgDNL=3C z3K*%p75xxkVimjc&zB=!m76wSJ{)0z<16@{!ToO4-QhcWGQ?^wGLI zCQ9Jq0g_vbQ_uDS)EuG?bhxFUMsstIY_N33DR#61o+);@V0I~j|6(}B0b_;DEmFl( z${YKR%2B*a!m^MEW+y1j`SO$O#_R_l^LblKed?v;hC5>!YWV!-*;)nk696)oLo0?< zU=Dp+C0}r|)@^NnTG)kEtuw0-knhf$wH$$KTv_${J;R6e58%$)?(VcVH;t>yg874Wly;N_;%CxU&&OuijX^o(_Mi1TSr@+7D1Uo59IiN)999Y_6hkb$US7wXn zI(H)(_fZplIDk8}N7yOpr7EwMhRG>$H&jMapxwMFORwL{xqJ(+JqCe?u2C3`HgysS zOGYBnmRbW4&o#WgiE#fl6BmNml4Kj63$G;Sn!A|6P*`6vU7As0G#$Hnb@twot= zO-cvSKoXo7KW7^kIqIO2WKv{Q@sp#Sv^#={A4tlnJq2IO`uw*#o1{uj0q>8%7r7HB z$;Bw)=krtAJxDxdx(m1s49+9)3(n#RIHF4zWeORTuaYlB`*r$%#b8beDUW{cn_j0J z2Bl}^I5`|{X(r{9nG#D-kd0uya1xZc zMp_3*Lev8g-K&*JxfpH!lnvEi%8*H1j@y_bgB(pQ74kD};0py56RVcCajT?{*}HZk zHDrQ?>EyLeq;D-rV}%~1cIVg7#oIgEhPC0Yb@2tbk8ZYFJDX;R@xpX*o6cW{3#mns zdwu+7y4RP`%GUoEsrmB=>-|5S&Q^c3=>OU7-@pHTCG2rs{a>Vyr+aS-6g0NjA-o(d z^SvimRA3wfp_^uqfdk%|;(G@vmgami@p$p6&15Mm>cAzfL?qA=D3!pX#EV;lLOa94-lXJK=pzalDxNKZ}#6E_k1ufQlGTGpf>s z{a6DQast_TfzE4fL(U+<_QVJI9q28HQ)&Y-;N4R6@_des0v}mK)}HpKBR4uPB`T*^UKLjTRT02UgRA@ zr5seFo7YHV5OX>?iZg&bBqf>$pqpYuq+UHmz}JwpIy**8ORb<4q%Yw;50c20b3mBx z01bBfTOET1Fl9ET`+-*}@N~30ot~!A$GHH*t z|9Q3fV!Qiv{OOk~({VdUkFOwjZ(O83F35v$GI9q#y+bTvH&1A