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
[
{
name: "basic_info_area",
type: "ScrollArea",
property: {
widget_resizable: true,
frame_shape: 'NoFrame'
},
pack: { label: self.ttr('Basic Info') },
child: [
{
name: 'formlayout',
type: 'FormGridLayout',
property: {
// label_alignment: 'AlignTop | AlignRight',
// horizontal_spacing: 10,
// vertical_spacing: 10,
// margin: 10,
columns: 2
},
child: [
{
name: "id",
type: "LineEdit",
title: self.ttr(""),
pack: {column_span: 2},
initCallback: function(obj,value,self) {
obj.setVisible(false)
}
},
{
name: "username",
type: "LineEdit",
title: self.ttr("UserName"),
validate: function (obj, val, title, moment, self) {
if (val.trim() == '') {
return [title + self.ttr(" can not be null"), 'Error'];
} else if (!val.match(new RegExp('^[A-Za-z0-9_]+$'))) {
return [title + self.ttr(" can only contain [A-Za-z0-9]!"), 'Error'];
}
},
},
{
name: "fullname",
type: "LineEdit",
title: self.ttr("FullName"),
validate: function (obj, val, title, moment, self) {
if (val.trim() == '') {
return [title + self.ttr(" can not be null"), 'Error'];
} else if (!val.match(new RegExp('^[A-Za-z0-9_]+$'))) {
return [title + self.ttr(" can only contain [A-Za-z0-9]!"), 'Error'];
}
},
},
{
name: "status",
type: "ComboBox",
title: self.ttr("Status"),
property: {
item_list: TOPENM.enumList("tpm-machine-maintenance-plan-status").toComboList()
},
validate: 'NOTNULL',
},
{
name: "attr_data.age",
type: "LineEdit",
title: self.ttr("Age"),
validate: function (obj, val, title, moment, self) {
if (!val.match(new RegExp('^[0-9_]+$'))) {
return [title + self.ttr(" can only contain [0-9]!"), 'Error'];
} else if (parseInt(val) >= 100 || parseInt(val) <= 0) {
return [title + self.ttr("Are you sure you are a hundred years old?"), 'Error'];
}
},
},
{
name: "attr_data.gender",
type: "ComboBox",
title: self.ttr("Gender"),
property: {
item_list: TOPENM.enumList("tpm-machine-maintenance-plan-gender").toComboList()
}
},
{
type: 'VBoxLayout'
},
{
type: 'Stretch'
}
]
}
]
}
]