@@ -39,8 +39,8 @@ export default class SelectOne extends RunestoneBase {
3939 this . selector_id = $ ( opts . orig ) . first ( ) . attr ( "id" ) ;
4040 this . primaryOnly = $ ( opts . orig ) . data ( "primary" ) ;
4141 this . ABExperiment = $ ( opts . orig ) . data ( "ab" ) ;
42- this . toggle = $ ( opts . orig ) . data ( "toggle" ) ;
4342 this . toggleOptions = $ ( opts . orig ) . data ( "toggleoptions" ) ;
43+ this . toggleLabels = $ ( opts . orig ) . data ( "togglelabels" ) ;
4444 opts . orig . id = this . selector_id ;
4545 }
4646 /**
@@ -82,12 +82,12 @@ export default class SelectOne extends RunestoneBase {
8282 if ( this . timedWrapper ) {
8383 data . timedWrapper = this . timedWrapper ;
8484 }
85- if ( this . toggle ) {
86- data . toggle = this . toggle ;
87- }
8885 if ( this . toggleOptions ) {
8986 data . toggleOptions = this . toggleOptions ;
9087 }
88+ if ( this . toggleLabels ) {
89+ data . toggleLabels = this . toggleLabels ;
90+ }
9191 let opts = this . origOpts ;
9292 let selectorId = this . selector_id ;
9393 console . log ( "getting question source" ) ;
@@ -125,12 +125,9 @@ export default class SelectOne extends RunestoneBase {
125125 self . containerDiv = res . question . containerDiv ;
126126 self . realComponent . selectorId = selectorId ;
127127 } else {
128- if ( data . toggle ) {
129- var toggleOptions = data . toggleOptions ;
130- var toggleLabels ;
131- if ( toggleOptions . includes ( "labels{" ) ) {
132- toggleLabels = toggleOptions . slice ( toggleOptions . indexOf ( "labels{" ) + 7 , toggleOptions . indexOf ( "}" ) ) ;
133- toggleOptions = toggleOptions . replace ( toggleLabels , "" ) ;
128+ if ( data . toggleOptions ) {
129+ var toggleLabels = data . toggleLabels . replace ( "togglelabels:" , "" ) . trim ( ) ;
130+ if ( toggleLabels ) {
134131 toggleLabels = toggleLabels . split ( "," ) ;
135132 for ( var t = 0 ; t < toggleLabels . length ; t ++ ) {
136133 toggleLabels [ t ] = toggleLabels [ t ] . trim ( ) ;
@@ -213,7 +210,7 @@ export default class SelectOne extends RunestoneBase {
213210 " - " +
214211 toggleQuestions [ i ] ;
215212 }
216- if ( ( i == 0 ) && ( toggleOptions . includes ( "lock" ) ) ) {
213+ if ( ( i == 0 ) && ( data . toggleOptions . includes ( "lock" ) ) ) {
217214 toggleUI += " (only this question will be graded)" ;
218215 }
219216 toggleUI += "</option>" ;
@@ -231,7 +228,7 @@ export default class SelectOne extends RunestoneBase {
231228 selector_id : selectorId ,
232229 useRunestoneServices : true ,
233230 } ) ;
234- if ( data . toggle ) {
231+ if ( data . toggleOptions ) {
235232 $ ( "#component-preview" ) . hide ( ) ;
236233 var toggleQuestionSelect = document . getElementById (
237234 selectorId + "-toggleQuestion"
@@ -257,7 +254,7 @@ export default class SelectOne extends RunestoneBase {
257254 async function ( ) {
258255 await this . togglePreview (
259256 toggleQuestionSelect . parentElement . id ,
260- toggleOptions ,
257+ data . toggleOptions ,
261258 toggleQuestionTypes
262259 ) ;
263260 } . bind ( this )
@@ -289,7 +286,7 @@ export default class SelectOne extends RunestoneBase {
289286 toggleQuestionSelect . options [ toggleQuestionSelect . selectedIndex ]
290287 . value ;
291288 var htmlsrc = await this . getToggleSrc ( selectedQuestion ) ;
292- let res = renderRunestoneComponent ( htmlsrc , "toggle-preview" , {
289+ renderRunestoneComponent ( htmlsrc , "toggle-preview" , {
293290 selector_id : "toggle-preview" ,
294291 useRunestoneServices : true ,
295292 } ) ;
@@ -346,7 +343,7 @@ export default class SelectOne extends RunestoneBase {
346343 var selectorId = parentID + "-toggleSelectedQuestion" ;
347344 var toggleQuestionSelect = document . getElementById ( parentID ) . getElementsByTagName ( "select" ) [ 0 ] ;
348345 document . getElementById ( selectorId ) . innerHTML = "" ; // need to check whether this is even necessary
349- let res = renderRunestoneComponent ( htmlsrc , selectorId , {
346+ renderRunestoneComponent ( htmlsrc , selectorId , {
350347 selector_id : selectorId ,
351348 useRunestoneServices : true ,
352349 } ) ;
@@ -357,7 +354,7 @@ export default class SelectOne extends RunestoneBase {
357354 selectedQuestion ,
358355 { }
359356 ) ;
360- let response = await fetch ( request ) ;
357+ await fetch ( request ) ;
361358 $ ( "#toggle-preview" ) . html ( "" ) ;
362359 $ ( "#" + parentID ) . data ( "toggle_current" , selectedQuestion ) ;
363360 $ ( "#" + parentID ) . data ( "toggle_current_type" , toggleQuestionTypes [ toggleQuestionSelect . selectedIndex ] ) ;
0 commit comments