66 lines
1.8 KiB
JavaScript
66 lines
1.8 KiB
JavaScript
|
LWWidget.GameSelector = LWWidget.Page.inherits({
|
||
|
|
||
|
constructor: function () {
|
||
|
this.base();
|
||
|
this.games = [];
|
||
|
|
||
|
this.addEvent('Select');
|
||
|
},
|
||
|
|
||
|
|
||
|
setGames: function (games) {
|
||
|
if (games instanceof Array) {
|
||
|
this.games = games;
|
||
|
this.draw();
|
||
|
}
|
||
|
},
|
||
|
|
||
|
|
||
|
draw: function () {
|
||
|
var cc = '"return Base.Comp.get(' + this._cid + ').select()"',
|
||
|
st = ' style="color:white;font-size:13px;background-color:#3f7fff;width:100%" ',
|
||
|
st2 = ' style="color:white;font-size:13px;background-color:#3f7fff" ',
|
||
|
str = '<form name="gsel" onsubmit=' + cc + '><table class="table">'
|
||
|
+ '<tr><td colspan="2" style="text-align:center"><b>Game selection</b></td></tr>'
|
||
|
+ '<tr><td colspan="2"> </td></tr>'
|
||
|
+ '<tr><td><label for="gsel">Game:</label></td>'
|
||
|
+ '<td><select name="gsel" id="gsel"' + st;
|
||
|
|
||
|
for (var i in this.games) {
|
||
|
var g = this.games[i];
|
||
|
str += '<option value="' + i + '">' + g.name + '</option>';
|
||
|
}
|
||
|
|
||
|
str += '</select></td></tr><tr><td style="text-align:right">'
|
||
|
+ '<input type="checkbox" name="grem" id="grem"' + st2 + '/></td>'
|
||
|
+ '<td><label for="grem">Remember selection</label></td></tr>'
|
||
|
+ '<tr><td colspan="2"> </td></tr>'
|
||
|
+ '<tr><td colspan="2"><input type="submit" value="Select this game"'
|
||
|
+ st + '</td></tr></table></form>';
|
||
|
this.writeContents(str);
|
||
|
|
||
|
var _cb = document.getElementById('grem');
|
||
|
if (_cb) {
|
||
|
_cb.checked = (LWWidget.main.getPreference('lwRemGame') == '1');
|
||
|
}
|
||
|
},
|
||
|
|
||
|
select: function () {
|
||
|
var _s = document.getElementById('gsel');
|
||
|
if (!_s) {
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
var sv = parseInt(_s.options[_s.selectedIndex].value, 10), rem = document.getElementById('grem').checked;
|
||
|
LWWidget.main.setPreference('lwRemGame', rem ? '1' : '0');
|
||
|
if (rem) {
|
||
|
LWWidget.main.setPreference('lwGame', this.games[sv].path);
|
||
|
}
|
||
|
|
||
|
this.onSelect(this.games[sv]);
|
||
|
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
});
|