-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCreateSetPanel.js
109 lines (105 loc) · 3.07 KB
/
CreateSetPanel.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
function onNameChange(ele)
{
ismaxlength(ele);
updateRegularNameDisplay(ele);
}
function onSuperSafeNameChange(ele, maxAllowed)
{
chkSelect(ele, maxAllowed);
updateSuperSafeNameDisplay();
}
function chkSelect(ele, maxAllowed)
{
var aSelected = new Array();
for (var i = 0; i < ele.options.length; i++)
{
if (ele.options[i].selected)
aSelected.push(ele.options[i].value);
}
if (aSelected.length > maxAllowed)
{
alert(Roblox.CreateSetPanel.Resources.youMaySelect + maxAllowed + Roblox.CreateSetPanel.Resources.elementsInList);
for (var m = 0; m < ele.length; m++)
{
var found = false;
// Why doesn't index of work?
for (var k = 0; k < prevSelected.length; k++)
{
if (prevSelected[k] == ele[m].value)
{
ele.options[m].selected = true;
found = true;
break;
}
}
if (!found)
{
ele.options[m].selected = false;
}
}
}
else
{
prevSelected = aSelected;
}
}
function updateSuperSafeNameDisplay()
{
// Iterate through selections and generate name
var nameString = "";
var isFirst = true;
var adjectiveList = document.getElementById(superSafeAdjectiveListClientId); //$('#' + superSafeAdjectiveListClientId);
for (var i = 0; i < adjectiveList.options.length; i++)
{
if (adjectiveList.options[i].selected)
{
if (!isFirst)
{
nameString += " ";
}
isFirst = false;
nameString += adjectiveList.options[i].value;
}
}
var categoryList = document.getElementById(superSafeCategoryListClientId);
for (var i = 0; i < categoryList.options.length; i++)
{
if (categoryList.options[i].selected)
{
if (!isFirst)
{
nameString += " ";
}
isFirst = false;
nameString += categoryList.options[i].value;
}
}
var nameList = document.getElementById(superSafeNameListClientId);
for (var i = 0; i < nameList.options.length; i++)
{
if (nameList.options[i].selected)
{
if (!isFirst)
{
nameString += " ";
isFirst = false;
}
isFirst = false;
nameString += nameList.options[i].value;
}
}
$('#NameDisplay').html(userName + "'s " + nameString);
}
function updateRegularNameDisplay(ele)
{
if (ele.value.length > 0)
$('#NameDisplay').html(userName + "'s " + ele.value.escapeHTML());
else
$('#NameDisplay').empty();
}
function ismaxlength(obj)
{
var mlength = obj.getAttribute ? parseInt(obj.getAttribute("maxlength")) : "";
if (obj.getAttribute && obj.value.length > mlength)
obj.value = obj.value.substring(0, mlength);
}