Skip to content

Commit e50d692

Browse files
committed
Fix dialog buttons not dynamically updating
The buttons in the dialogs were changed at some point from input with span to plain button elements with no parent input. But the JavaScript code updating the dialog still used the span element in the find calls, and the buttons were not updated as the result. This issue should now be fixed, the buttons Guided / Expert mode, Back, Next in the dialogs should update based on the current step.
1 parent 63805f5 commit e50d692

1 file changed

Lines changed: 16 additions & 16 deletions

File tree

js/phpvirtualbox.js

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2893,7 +2893,7 @@ function vboxWizard() {
28932893
vl.onLoad = function() {
28942894

28952895
// Change this button text
2896-
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('span:contains("'+trans('Expert Mode', 'UIWizard')+'")')
2896+
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('button:contains("'+trans('Expert Mode', 'UIWizard')+'")')
28972897
.html(trans('Guided Mode', 'UIWizard'));
28982898

28992899
for(var i = 0; i < self.stepButtons.length; i++) {
@@ -2904,7 +2904,7 @@ function vboxWizard() {
29042904
}
29052905

29062906
// Hide back button
2907-
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('span:contains("'+self.backArrow + ' '+self.backText+'")').parent().hide();
2907+
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('button:contains("'+self.backArrow + ' '+self.backText+'")').hide();
29082908

29092909
// Translations and setup
29102910
vboxInitDisplay(self.name+'Content',self.context);
@@ -2914,7 +2914,7 @@ function vboxWizard() {
29142914
// Go to last step
29152915
self.displayStep(1);
29162916

2917-
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('span:contains("'+self.finishText+'")').parent().trigger('focus');
2917+
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('button:contains("'+self.finishText+'")').trigger('focus');
29182918

29192919
};
29202920
vl.run();
@@ -2942,7 +2942,7 @@ function vboxWizard() {
29422942

29432943
// Change this button text
29442944
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane')
2945-
.find('span:contains("'+trans('Guided Mode', 'UIWizard')+'")')
2945+
.find('button:contains("'+trans('Guided Mode', 'UIWizard')+'")')
29462946
.html(trans('Expert Mode', 'UIWizard'));
29472947

29482948
for(var i = 0; i < self.stepButtons.length; i++) {
@@ -2956,13 +2956,13 @@ function vboxWizard() {
29562956
vboxInitDisplay(self.name+'Content',self.context);
29572957

29582958
// Show back button
2959-
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('span:contains("'+self.backArrow + ' '+self.backText+'")').parent().show();
2959+
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('button:contains("'+self.backArrow + ' '+self.backText+'")').show();
29602960

29612961
self.steps = self.simpleSteps;
29622962

29632963
self.displayStep(1);
29642964

2965-
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('span:contains("'+self.nextArrow+'")').parent().trigger('focus');
2965+
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('button:contains("'+self.nextArrow+'")').trigger('focus');
29662966

29672967

29682968
};
@@ -3007,7 +3007,7 @@ function vboxWizard() {
30073007
'stack':true,
30083008
'classes':{'ui-dialog':'vboxDialogContent vboxWizard'},
30093009
'open': function() {
3010-
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('span:contains("'+self.nextArrow+'")').parent().trigger('focus');
3010+
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('button:contains("'+self.nextArrow+'")').trigger('focus');
30113011
},
30123012
'title':(self.icon ? '<img src="images/vbox/'+self.icon+ ( (self.icon.indexOf('.png') == -1) ? '_16px.png': '') +'" class="vboxDialogTitleIcon" /> ': '') + self.title
30133013

@@ -3041,7 +3041,7 @@ function vboxWizard() {
30413041
$('#'+self.name+'Title').hide();
30423042

30433043
// Hide back button
3044-
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('span:contains("'+self.backArrow + ' '+self.backText+'")').parent().hide();
3044+
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('button:contains("'+self.backArrow + ' '+self.backText+'")').hide();
30453045
}
30463046

30473047
self.displayStep(1);
@@ -3085,20 +3085,20 @@ function vboxWizard() {
30853085
/* update buttons */
30863086
if(self.stepButtons) {
30873087
for(var i = 0; i < self.stepButtons.length; i++) {
3088-
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('span:contains("'+self.stepButtons[i].name+'")').parent().css({'display':((step == self.steps && self.stepButtons[i].steps[0]==-1) || jQuery.inArray(step,self.stepButtons[i].steps) > -1 ? '': 'none')});
3088+
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('button:contains("'+self.stepButtons[i].name+'")').css({'display':((step == self.steps && self.stepButtons[i].steps[0]==-1) || jQuery.inArray(step,self.stepButtons[i].steps) > -1 ? '': 'none')});
30893089
}
30903090
}
30913091
if(step == 1 && step != self.steps) {
3092-
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('span:contains("'+self.backText+'")').parent().addClass('disabled').trigger('blur');
3093-
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('span:contains("'+self.finishText+'")').html($('<div />').text((self.steps > 1 ? self.nextText+' '+self.nextArrow: self.finishText)).html());
3092+
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('button:contains("'+self.backText+'")').addClass('disabled').trigger('blur');
3093+
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('button:contains("'+self.finishText+'")').html($('<div />').text((self.steps > 1 ? self.nextText+' '+self.nextArrow: self.finishText)).html());
30943094
} else {
30953095

3096-
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('span:contains("'+self.backText+'")').parent().removeClass('disabled');
3096+
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('button:contains("'+self.backText+'")').removeClass('disabled');
30973097

30983098
if(step == self.steps) {
3099-
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('span:contains("'+self.nextArrow+'")').html($('<div />').text(self.finishText).html());
3099+
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('button:contains("'+self.nextArrow+'")').html($('<div />').text(self.finishText).html());
31003100
} else {
3101-
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('span:contains("'+self.finishText+'")').html($('<div />').text(self.nextText+' '+self.nextArrow).html());
3101+
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('button:contains("'+self.finishText+'")').html($('<div />').text(self.nextText+' '+self.nextArrow).html());
31023102
}
31033103
}
31043104
$('#'+self.name+'Title').html(trans($('#'+self.name+'Step'+step).attr('title'),self.context));
@@ -3114,7 +3114,7 @@ function vboxWizard() {
31143114
* @memberOf vboxWizard
31153115
*/
31163116
this.setLast = function() {
3117-
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('span:contains("'+self.nextText+'")').html($('<div />').text(self.finishText).html());
3117+
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('button:contains("'+self.nextText+'")').html($('<div />').text(self.finishText).html());
31183118
self._origSteps = self.steps;
31193119
self.steps = self._curStep;
31203120
};
@@ -3126,7 +3126,7 @@ function vboxWizard() {
31263126
* @memberOf vboxWizard
31273127
*/
31283128
this.unsetLast = function() {
3129-
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('span:contains("'+self.finishText+'")').html($('<div />').text(self.nextText+' '+self.nextArrow).html());
3129+
$('#'+self.name+'Dialog').parent().find('.ui-dialog-buttonpane').find('button:contains("'+self.finishText+'")').html($('<div />').text(self.nextText+' '+self.nextArrow).html());
31303130
if(self._origSteps) self.steps = self._origSteps;
31313131
};
31323132

0 commit comments

Comments
 (0)