source: sandbox/2.3-MailArchiver/calendar/js/dhtmlx/sources/ext/ext_editors.js @ 6779

Revision 6779, 3.1 KB checked in by rafaelraymundo, 12 years ago (diff)

Ticket #2946 - Liberado Expresso(branch 2.3) integrado ao MailArchiver?.

Line 
1scheduler.form_blocks['combo']={
2        render:function(sns) {
3                var res = '';
4                res += "<div class='"+sns.type+"' style='height:"+(sns.height||20)+"px;' ></div>";     
5                return res;
6        },
7        set_value:function(node,value,ev,config){
8                if(node._combo) {
9                        node._combo.destructor();
10                } 
11                window.dhx_globalImgPath = config.image_path||'/';
12                node._combo = new dhtmlXCombo(node, config.name, node.offsetWidth-8);           
13                node._combo.enableFilteringMode(!!config.filtering, config.script_path||null, !!config.cache);
14               
15                if (!config.script_path) { // script-side filtration is used
16                        var all_options = [];
17                        for (var i = 0; i < config.options.length; i++) {
18                                var single_option = [];
19                                single_option.push(config.options[i].key);
20                                single_option.push(config.options[i].label);
21                                all_options.push(single_option);
22                        }
23                        node._combo.addOption(all_options);
24                        if (ev[config.map_to]) {
25                                var index = node._combo.getIndexByValue(ev[config.map_to]);
26                                node._combo.selectOption(index);
27                        }
28                } else { // server-side filtration is used
29                        node._combo.setComboValue(ev[config.map_to]||null);
30                }
31        },
32        get_value:function(node,ev,config){
33                var selected_id = node._combo.getSelectedValue(); // value = key
34                return selected_id;
35        },
36        focus:function(node){
37        }
38};
39
40scheduler.form_blocks['radio']={
41        render:function(sns) {
42                var res = '';
43                res += "<div class='"+sns.type+"' style='height:"+sns.height+"px;' >";
44                for (var i=0; i<sns.options.length; i++) {
45                        var id = scheduler.uid();
46                        res += "<input id='"+id+"' type='radio' name='"+sns.name+"' value='"+sns.options[i].key+"'><label for='"+id+"'>"+" "+sns.options[i].label+"</label>";
47                        if(sns.vertical)
48                                res += "<br/>";
49                }
50                res += "</div>";
51               
52                return res;
53        },
54        set_value:function(node,value,ev,config){
55                var radiobuttons = node.getElementsByTagName('input');
56                for (var i = 0; i < radiobuttons.length; i++) {
57                        radiobuttons[i].checked = false;
58                        if (radiobuttons[i].value == ev[config.map_to]) {
59                                radiobuttons[i].checked = true;
60                        }
61                }
62        },
63        get_value:function(node,ev,config){
64                var radiobuttons = node.getElementsByTagName('input');
65                for(var i=0; i<radiobuttons.length; i++) {
66                        if(radiobuttons[i].checked) {
67                                return radiobuttons[i].value;
68                        }
69                }
70        },
71        focus:function(node){
72        }
73};
74
75scheduler.form_blocks['checkbox']={
76        render:function(sns) {
77                return '';
78        },
79        set_value:function(node,value,ev,config){
80                var id = scheduler.uid();
81                var isChecked = false;
82                if (typeof config.checked_value != 'undefined' && ev[config.map_to] == config.checked_value) {
83                        isChecked = true;
84                }
85                node.previousSibling.className += " dhx_cal_checkbox";
86                node.previousSibling.innerHTML="<input id='"+id+"' type='checkbox' value='true' name='"+config.name+"'"+((isChecked)?"checked='true'":'')+"'><label for='"+id+"'>"+(scheduler.locale.labels["section_"+config.name]||config.name)+"</label>";
87               
88        },
89        get_value:function(node,ev,config){
90                var checkbox = node.previousSibling.getElementsByTagName('input')[0]; // moved to the header
91                return (checkbox.checked)?(config.checked_value||true):(config.unchecked_value||false);
92        },
93        focus:function(node){
94        }
95};
Note: See TracBrowser for help on using the repository browser.