From 4fe81a69f61904c064fd73fc9eb74445826fa9a2 Mon Sep 17 00:00:00 2001 From: Patrick Donelan Date: Mon, 15 Dec 2008 03:42:39 +0000 Subject: [PATCH] Implemented Survey Jump-to combo box (#9202) You will need to manually import survey_rfe_9202 until this branch is merged back into trunk. --- lib/WebGUI/Asset/Wobject/Survey.pm | 8 +++++++- survey_rfe_9202.wgpkg | Bin 0 -> 8874 bytes www/extras/wobject/Survey/editsurvey.js | 8 +++++++- www/extras/wobject/Survey/surveyedit.css | 5 ++++- 4 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 survey_rfe_9202.wgpkg diff --git a/lib/WebGUI/Asset/Wobject/Survey.pm b/lib/WebGUI/Asset/Wobject/Survey.pm index a8ed89836..7397d0edf 100644 --- a/lib/WebGUI/Asset/Wobject/Survey.pm +++ b/lib/WebGUI/Asset/Wobject/Survey.pm @@ -456,6 +456,11 @@ sub www_loadSurvey { elsif ( $var->{type} eq 'answer' ) { $editHtml = $self->processTemplate( $var, $self->get("answerEditTemplateId") ); } + + # Generate the list of valid goto targets + my @section_vars = map {$_->{variable}} @{$self->survey->sections}; + my @question_vars = map {$_->{variable}} @{$self->survey->questions}; + my @gotoTargets = grep {$_ ne ''} (@section_vars, @question_vars); my %buttons; $buttons{question} = $$address[0]; @@ -509,7 +514,8 @@ sub www_loadSurvey { #type is the object type my $return = { "address", $address, "buttons", \%buttons, "edithtml", $editHtml, - "ddhtml", $html, "ids", \@ids, "type", $var->{type} + "ddhtml", $html, "ids", \@ids, "type", $var->{type}, + gotoTargets => \@gotoTargets, }; $self->session->http->setMimeType('application/json'); return to_json($return); diff --git a/survey_rfe_9202.wgpkg b/survey_rfe_9202.wgpkg new file mode 100644 index 0000000000000000000000000000000000000000..739bb1699779d4330a31cdb35061337b4e2b30e3 GIT binary patch literal 8874 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 literal 0 HcmV?d00001 diff --git a/www/extras/wobject/Survey/editsurvey.js b/www/extras/wobject/Survey/editsurvey.js index f1e4c0a7f..6679696da 100644 --- a/www/extras/wobject/Survey/editsurvey.js +++ b/www/extras/wobject/Survey/editsurvey.js @@ -77,11 +77,17 @@ YAHOO.log('adding handler for '+ d.ids[x]); // } if(d.buttons['answer']){ var button = new YAHOO.widget.Button({ label:"Add Answer", id:"addanswer", container:"addAnswer" }); - button.on("click", this.addAnswer,d.buttons['answer']); + button.on("click", this.addAnswer,d.buttons['answer']); } if(showEdit == 1){ this.loadObjectEdit(d.edithtml,d.type); + + // build the goto auto-complete widget + if (d.gotoTargets && document.getElementById('goto')) { + var ds = new YAHOO.util.LocalDataSource(d.gotoTargets); + var ac = new YAHOO.widget.AutoComplete('goto', 'goto-yui-ac-container', ds); + } }else{ document.getElementById('edit').innerHTML = ""; } diff --git a/www/extras/wobject/Survey/surveyedit.css b/www/extras/wobject/Survey/surveyedit.css index 0050e6c20..46d4fe0c3 100644 --- a/www/extras/wobject/Survey/surveyedit.css +++ b/www/extras/wobject/Survey/surveyedit.css @@ -129,4 +129,7 @@ li.newAnswer { padding-left:50px; # cursor: move; } - +#goto-yui-ac { + width:15em; + margin-top:0.5em; +}