-
Notifications
You must be signed in to change notification settings - Fork 0
/
IridiumPicker.js
81 lines (71 loc) · 1.72 KB
/
IridiumPicker.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
/**
* Picker constructor
* @param x
* @param y
* @param min
* @param max
* @param name
* @param page
* @param tempalte
*/
function IridiumPicker(x, y, min, max, name, page, template)
{
this.item = IR.GetItem(page).CreateItem(IR.ITEM_PICKER, name, {
X: x,
Y: y,
Min: min,
Max: max,
Template: IR.GetPopup(template),
VisibleCount: 3
});
this.min = min;
this.max = max;
this.x = x;
this.y = y;
this.template = template;
IR.AddListener(IR.EVENT_PICKER_SCROLL, this.item, this.onScroll, this);
IR.SetTimeout(300, this.restore, this)
}
/**
* Получить имя токена
*/
IridiumPicker.prototype.getTokenName = function()
{
return "Tokens.UI." + this.item.Parent.Name + this.item.Name;
}
/**
* Scroll event
* @param position
*/
IridiumPicker.prototype.onScroll = function(position)
{
IR.Log("onScroll: " + position)
IR.SetVariable(this.getTokenName(), position);
}
/**
* Set position
*/
IridiumPicker.prototype.setPosition = function(value)
{
IR.Log("value from token: " + value);
if(value == undefined || value == "")
value = 0;
if(value == 0)
value = 12;
value = value - 1;
IR.Log("Wii set postion to: " + value);
this.item.Position = value;
}
/**
* restore prev value
*/
IridiumPicker.prototype.restore = function()
{
var value = IR.GetVariable(this.getTokenName());
this.setPosition(value);
}
IR.AddListener(IR.EVENT_START,0,function()
{
var myPicker1 = new IridiumPicker(20, 30, 1, 12, "IridiumPicker 1", "Page 1", "Template Picker");
var myPicker2 = new IridiumPicker(250, 30, 1, 12, "IridiumPicker 2", "Page 1", "Template Picker");
})