Project

General

Profile

Feature #103 ยป servoyCommonsExample.patch

Patrick Talbot, 07/25/2010 08:08 AM

View differences:

forms/orderDialog.frm (working copy)
306 306
}
307 307
],
308 308
name:"orderDialog",
309
onShowMethodID:"962B7BCF-6075-499C-9DBD-8BB3B609346C",
309 310
paperPrintScale:100,
310 311
showInMenu:true,
311 312
size:"400,470",
forms/orderDialog.js (working copy)
1
/** *
2
 * @param event
3
 *
4
 * @properties={typeid:24,uuid:"D48CBC8C-D9D1-412D-9F19-F5758F6532EA"}
1
/**
2
 * @properties={typeid:35,uuid:"CF2372D8-BB0B-4CD0-B773-35AC29EABA09",variableType:-4}
5 3
 */
6
function validate(event) {
7
	var requiredFields = {
4
var errors = [];
5

  
6
/**
7
 * @properties={typeid:35,uuid:"A9994A6A-6D12-4354-9896-39F0BFD62E2E",variableType:-4}
8
 */
9
var requiredFields = {
8 10
	  freight : 'Freight',
9 11
	  orderdate : 'Order Date',
10 12
	  requireddate : 'Required Date',
......
15 17
	  shippostalcode : 'Postal Code',
16 18
	  shipvia : 'Ship Via'
17 19
	};
18
	
20

  
21
/**
22
 * @param {JSEvent} event
23
 *
24
 * @properties={typeid:24,uuid:"D48CBC8C-D9D1-412D-9F19-F5758F6532EA"}
25
 */
26
function validate(event) {
27
	errors = [];
19 28
	for(field in requiredFields){
20 29
		if(!foundset.getDataProviderValue(field)){
21
			errorMessage = 'Missing required field: '+ requiredFields[field];
22
			return false;
30
			errors.push(field);
23 31
		}
24 32
	}
25
	return _super.validate(event)
33
	if (errors.length > 0) {
34
		updateUI(event);
35
		return false;
36
	}
37
	return _super.validate(event);
26 38
}
39

  
40
/**
41
 * @param {JSEvent} event
42
 *
43
 *
44
 * @properties={typeid:24,uuid:"72BA1A9E-F095-4F0E-B637-DD006F4B01C9"}
45
 */
46
function updateUI(event) {
47
	var frm = solutionModel.getForm(controller.getName());
48
	var labels = frm.getLabels();
49
	if (errors.length > 0) {
50
		while(errors.length > 0) {
51
			var field = errors.pop();
52
			for(var i in labels) {
53
				var label = labels[i];
54
				if (label.labelFor == field) {
55
					label.foreground = '#FF0000';
56
				}
57
			}
58
		}
59
	} else {
60
		for(var i in labels) {
61
			var label = labels[i];
62
			label.foreground = '#000000';
63
		}
64
	}
65
	controller.recreateUI();
66
	_super.updateUI(event);
67
}
68

  
69
/**
70
 * Callback method for when form is shown.
71
 *
72
 * @param {Boolean} firstShow form is shown first time after load
73
 * @param {JSEvent} event the event that triggered the action
74
 *
75
 * @properties={typeid:24,uuid:"962B7BCF-6075-499C-9DBD-8BB3B609346C"}
76
 */
77
function onShow(firstShow, event) {
78
	errors = [];
79
	return _super.onShow(firstShow, event)
80
}
    (1-1/1)