source: sandbox/webservice/restclient_new/plugins/ejs/view.js @ 7809

Revision 7809, 7.1 KB checked in by alexandrecorreia, 11 years ago (diff)

Ticket #2507 - Criado um novo cliente REST para teste/documentação no Expresso.

  • Property svn:executable set to *
Line 
1EJS.Helpers.prototype.date_tag = function(name, value , html_options) {
2    if(! (value instanceof Date))
3                value = new Date()
4       
5        var month_names = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
6        var years = [], months = [], days =[];
7        var year = value.getFullYear();
8        var month = value.getMonth();
9        var day = value.getDate();
10        for(var y = year - 15; y < year+15 ; y++)
11        {
12                years.push({value: y, text: y})
13        }
14        for(var m = 0; m < 12; m++)
15        {
16                months.push({value: (m), text: month_names[m]})
17        }
18        for(var d = 0; d < 31; d++)
19        {
20                days.push({value: (d+1), text: (d+1)})
21        }
22        var year_select = this.select_tag(name+'[year]', year, years, {id: name+'[year]'} )
23        var month_select = this.select_tag(name+'[month]', month, months, {id: name+'[month]'})
24        var day_select = this.select_tag(name+'[day]', day, days, {id: name+'[day]'})
25       
26    return year_select+month_select+day_select;
27}
28
29EJS.Helpers.prototype.form_tag = function(action, html_options) {
30                 
31   
32    html_options     = html_options                     || {};
33        html_options.action = action
34    if(html_options.multipart == true) {
35        html_options.method = 'post';
36        html_options.enctype = 'multipart/form-data';
37    }
38   
39    return this.start_tag_for('form', html_options)
40}
41
42EJS.Helpers.prototype.form_tag_end = function() { return this.tag_end('form'); }
43
44EJS.Helpers.prototype.hidden_field_tag   = function(name, value, html_options) {
45    return this.input_field_tag(name, value, 'hidden', html_options);
46}
47
48EJS.Helpers.prototype.input_field_tag = function(name, value , inputType, html_options) {
49   
50    html_options = html_options || {};
51    html_options.id  = html_options.id  || name;
52    html_options.value = value || '';
53    html_options.type = inputType || 'text';
54    html_options.name = name;
55   
56    return this.single_tag_for('input', html_options)
57}
58
59EJS.Helpers.prototype.is_current_page = function(url) {
60        return (window.location.href == url || window.location.pathname == url ? true : false);
61}
62
63EJS.Helpers.prototype.link_to = function(name, url, html_options) {
64    if(!name) var name = 'null';
65    if(!html_options) var html_options = {}
66       
67        if(html_options.confirm){
68                html_options.onclick =
69                " var ret_confirm = confirm(\""+html_options.confirm+"\"); if(!ret_confirm){ return false;} "
70                html_options.confirm = null;
71        }
72    html_options.href=url
73    return this.start_tag_for('a', html_options)+name+ this.tag_end('a');
74}
75
76EJS.Helpers.prototype.submit_link_to = function(name, url, html_options){
77        if(!name) var name = 'null';
78    if(!html_options) var html_options = {}
79    html_options.onclick = html_options.onclick  || '' ;
80       
81        if(html_options.confirm){
82                html_options.onclick =
83                " var ret_confirm = confirm(\""+html_options.confirm+"\"); if(!ret_confirm){ return false;} "
84                html_options.confirm = null;
85        }
86       
87    html_options.value = name;
88        html_options.type = 'submit'
89    html_options.onclick=html_options.onclick+
90                (url ? this.url_for(url) : '')+'return false;';
91    //html_options.href='#'+(options ? Routes.url_for(options) : '')
92        return this.start_tag_for('input', html_options)
93}
94
95EJS.Helpers.prototype.link_to_if = function(condition, name, url, html_options, post, block) {
96        return this.link_to_unless((condition == false), name, url, html_options, post, block);
97}
98
99EJS.Helpers.prototype.link_to_unless = function(condition, name, url, html_options, block) {
100        html_options = html_options || {};
101        if(condition) {
102                if(block && typeof block == 'function') {
103                        return block(name, url, html_options, block);
104                } else {
105                        return name;
106                }
107        } else
108                return this.link_to(name, url, html_options);
109}
110
111EJS.Helpers.prototype.link_to_unless_current = function(name, url, html_options, block) {
112        html_options = html_options || {};
113        return this.link_to_unless(this.is_current_page(url), name, url, html_options, block)
114}
115
116
117EJS.Helpers.prototype.password_field_tag = function(name, value, html_options) { return this.input_field_tag(name, value, 'password', html_options); }
118
119EJS.Helpers.prototype.select_tag = function(name, value, choices, html_options) {     
120    html_options = html_options || {};
121    html_options.id  = html_options.id  || name;
122    html_options.value = value;
123        html_options.name = name;
124   
125    var txt = ''
126    txt += this.start_tag_for('select', html_options)
127   
128    for(var i = 0; i < choices.length; i++)
129    {
130        var choice = choices[i];
131        var optionOptions = {value: choice.value}
132        if(choice.value == value)
133            optionOptions.selected ='selected'
134        txt += this.start_tag_for('option', optionOptions )+choice.text+this.tag_end('option')
135    }
136    txt += this.tag_end('select');
137    return txt;
138}
139
140EJS.Helpers.prototype.single_tag_for = function(tag, html_options) { return this.tag(tag, html_options, '/>');}
141
142EJS.Helpers.prototype.start_tag_for = function(tag, html_options)  { return this.tag(tag, html_options); }
143
144EJS.Helpers.prototype.submit_tag = function(name, html_options) { 
145    html_options = html_options || {};
146    //html_options.name  = html_options.id  || 'commit';
147    html_options.type = html_options.type  || 'submit';
148    html_options.value = name || 'Submit';
149    return this.single_tag_for('input', html_options);
150}
151
152EJS.Helpers.prototype.tag = function(tag, html_options, end) {
153    if(!end) var end = '>'
154    var txt = ' '
155    for(var attr in html_options) {
156           if(html_options[attr] != null)
157        var value = html_options[attr].toString();
158       else
159        var value=''
160       if(attr == "Class") // special case because "class" is a reserved word in IE
161        attr = "class";
162       if( value.indexOf("'") != -1 )
163            txt += attr+'=\"'+value+'\" '
164       else
165            txt += attr+"='"+value+"' "
166    }
167    return '<'+tag+txt+end;
168}
169
170EJS.Helpers.prototype.tag_end = function(tag)             { return '</'+tag+'>'; }
171
172EJS.Helpers.prototype.text_area_tag = function(name, value, html_options) {
173    html_options = html_options || {};
174    html_options.id  = html_options.id  || name;
175    html_options.name  = html_options.name  || name;
176        value = value || ''
177    if(html_options.size) {
178        html_options.cols = html_options.size.split('x')[0]
179        html_options.rows = html_options.size.split('x')[1];
180        delete html_options.size
181    }
182   
183    html_options.cols = html_options.cols  || 50;
184    html_options.rows = html_options.rows  || 4;
185   
186    return  this.start_tag_for('textarea', html_options)+value+this.tag_end('textarea')
187}
188EJS.Helpers.prototype.text_tag = EJS.Helpers.prototype.text_area_tag
189
190EJS.Helpers.prototype.text_field_tag     = function(name, value, html_options) { return this.input_field_tag(name, value, 'text', html_options); }
191
192EJS.Helpers.prototype.url_for = function(url) {
193        return 'window.location="'+url+'";'
194}
195EJS.Helpers.prototype.img_tag = function(image_location, alt, options){
196        options = options || {};
197        options.src = image_location
198        options.alt = alt
199        return this.single_tag_for('img', options)
200}
Note: See TracBrowser for help on using the repository browser.