4 * Ajatus - Distributed CRM
5 * @requires jQuery v1.2.1
7 * Copyright (c) 2007 Jerry Jalava <jerry.jalava@gmail.com>
8 * Copyright (c) 2007 Nemein Oy <http://nemein.com>
9 * Website: http://ajatus.info
10 * Licensed under the GPL license
11 * http://www.gnu.org/licenses/gpl.html
16 $.ajatus = $.ajatus || {};
17 $.ajatus.widgets = $.ajatus.widgets || {};
18 $.ajatus.widgets.core = typeof($.ajatus.widgets.core) == 'undefined' ? {} : $.ajatus.widgets.core;
20 $.ajatus.widgets.core.text = {
30 get_create_tpl: function(name, default_value)
33 'input', { type: 'hidden', name: 'widget['+name+':name]', value: this.name }, '',
34 'input', { type: 'hidden', name: 'widget['+name+':config]', value: $.ajatus.converter.toJSON(this.settings) }, '',
35 'input', { type: 'hidden', name: 'widget['+name+':required]', value: this.required }, '',
36 'span', { className: 'value_prefix' }, $.ajatus.i10n.get(this.settings.value_prefix),
37 'input', { type: 'text', className: 'text', name: name, value: default_value }, '',
38 'span', { className: 'value_suffix' }, $.ajatus.i10n.get(this.settings.value_suffix)
41 get_edit_tpl: function(name, data)
43 data.val = this.value_on_edit(data.val);
45 'input', { type: 'hidden', name: 'widget['+name+':name]', value: this.name }, '',
46 'input', { type: 'hidden', name: 'widget['+name+':config]', value: $.ajatus.converter.toJSON(this.settings) }, '',
47 'input', { type: 'hidden', name: 'widget['+name+':required]', value: this.required }, '',
48 'input', { type: 'hidden', name: 'widget['+name+':prev_val]', value: data.val != '' ? $.ajatus.converter.toJSON(data.val): '' }, '',
49 'span', { className: 'value_prefix' }, $.ajatus.i10n.get(this.settings.value_prefix),
50 'input', { type: 'text', className: 'text', name: name, value: data.val }, '',
51 'span', { className: 'value_suffix' }, $.ajatus.i10n.get(this.settings.value_suffix)
54 get_view_tpl: function(name, data)
56 data.val = this.value_on_view(data.val);
58 'div', { className: data._id+'_element_'+name+'_value' }, data.val
61 set_config: function(config)
63 this.settings = $.extend(this.settings, config);
65 value_on_save: function(value)
69 value_on_edit: function(value)
73 value_on_view: function(value, type)
75 if (typeof type == 'undefined') {
79 return $.ajatus.i10n.get(this.settings.value_prefix) + value.toString() + $.ajatus.i10n.get(this.settings.value_suffix);
84 init: function(holder, form_mode)
87 this.init_form_mode(holder);
89 this.init_view_mode(holder);
92 init_form_mode: function(holder)
96 var element = $('input.text', holder);
98 width: self.settings.width > 0 ? self.settings.width : '99%'
100 maxlength: self.settings.max_length > 0 ? self.settings.max_length : null
103 init_view_mode: function(holder)
107 create_widget_details: function(data, name) {
108 var details = $.ajatus.widgets.generate_default_details(this, data, name);
112 create_widget_settings: function(data) {
113 var settings = $.ajatus.widgets.generate_default_settings(this, data);