sync
[roojs1] / Roo / bootstrap / DateSplitField.js
diff --git a/Roo/bootstrap/DateSplitField.js b/Roo/bootstrap/DateSplitField.js
deleted file mode 100644 (file)
index 421a119..0000000
+++ /dev/null
@@ -1,432 +0,0 @@
-/*
- * - LGPL
- *
- * page DateSplitField.
- * 
- */
-
-
-/**
- * @class Roo.bootstrap.DateSplitField
- * @extends Roo.bootstrap.Component
- * Bootstrap DateSplitField class
- * @cfg {string} fieldLabel - the label associated
- * @cfg {Number} labelWidth set the width of label (0-12)
- * @cfg {String} labelAlign (top|left)
- * @cfg {Boolean} dayAllowBlank (true|false) default false
- * @cfg {Boolean} monthAllowBlank (true|false) default false
- * @cfg {Boolean} yearAllowBlank (true|false) default false
- * @cfg {string} dayPlaceholder 
- * @cfg {string} monthPlaceholder
- * @cfg {string} yearPlaceholder
- * @cfg {string} dayFormat default 'd'
- * @cfg {string} monthFormat default 'm'
- * @cfg {string} yearFormat default 'Y'
- * @cfg {Number} labellg set the width of label (1-12)
- * @cfg {Number} labelmd set the width of label (1-12)
- * @cfg {Number} labelsm set the width of label (1-12)
- * @cfg {Number} labelxs set the width of label (1-12)
-
- *     
- * @constructor
- * Create a new DateSplitField
- * @param {Object} config The config object
- */
-
-Roo.bootstrap.DateSplitField = function(config){
-    Roo.bootstrap.DateSplitField.superclass.constructor.call(this, config);
-    
-    this.addEvents({
-        // raw events
-         /**
-         * @event years
-         * getting the data of years
-         * @param {Roo.bootstrap.DateSplitField} this
-         * @param {Object} years
-         */
-        "years" : true,
-        /**
-         * @event days
-         * getting the data of days
-         * @param {Roo.bootstrap.DateSplitField} this
-         * @param {Object} days
-         */
-        "days" : true,
-        /**
-         * @event invalid
-         * Fires after the field has been marked as invalid.
-         * @param {Roo.form.Field} this
-         * @param {String} msg The validation message
-         */
-        invalid : true,
-       /**
-         * @event valid
-         * Fires after the field has been validated with no errors.
-         * @param {Roo.form.Field} this
-         */
-        valid : true
-    });
-};
-
-Roo.extend(Roo.bootstrap.DateSplitField, Roo.bootstrap.Component,  {
-    
-    fieldLabel : '',
-    labelAlign : 'top',
-    labelWidth : 3,
-    dayAllowBlank : false,
-    monthAllowBlank : false,
-    yearAllowBlank : false,
-    dayPlaceholder : '',
-    monthPlaceholder : '',
-    yearPlaceholder : '',
-    dayFormat : 'd',
-    monthFormat : 'm',
-    yearFormat : 'Y',
-    isFormField : true,
-    labellg : 0,
-    labelmd : 0,
-    labelsm : 0,
-    labelxs : 0,
-    
-    getAutoCreate : function()
-    {
-        var cfg = {
-            tag : 'div',
-            cls : 'row roo-date-split-field-group',
-            cn : [
-                {
-                    tag : 'input',
-                    type : 'hidden',
-                    cls : 'form-hidden-field roo-date-split-field-group-value',
-                    name : this.name
-                }
-            ]
-        };
-        
-        var labelCls = 'col-md-12';
-        var contentCls = 'col-md-4';
-        
-        if(this.fieldLabel){
-            
-            var label = {
-                tag : 'div',
-                cls : 'column roo-date-split-field-label col-md-' + ((this.labelAlign == 'top') ? '12' : this.labelWidth),
-                cn : [
-                    {
-                        tag : 'label',
-                        html : this.fieldLabel
-                    }
-                ]
-            };
-            
-            if(this.labelAlign == 'left'){
-            
-                if(this.labelWidth > 12){
-                    label.style = "width: " + this.labelWidth + 'px';
-                }
-
-                if(this.labelWidth < 13 && this.labelmd == 0){
-                    this.labelmd = this.labelWidth;
-                }
-
-                if(this.labellg > 0){
-                    labelCls = ' col-lg-' + this.labellg;
-                    contentCls = ' col-lg-' + ((12 - this.labellg) / 3);
-                }
-
-                if(this.labelmd > 0){
-                    labelCls = ' col-md-' + this.labelmd;
-                    contentCls = ' col-md-' + ((12 - this.labelmd) / 3);
-                }
-
-                if(this.labelsm > 0){
-                    labelCls = ' col-sm-' + this.labelsm;
-                    contentCls = ' col-sm-' + ((12 - this.labelsm) / 3);
-                }
-
-                if(this.labelxs > 0){
-                    labelCls = ' col-xs-' + this.labelxs;
-                    contentCls = ' col-xs-' + ((12 - this.labelxs) / 3);
-                }
-            }
-            
-            label.cls += ' ' + labelCls;
-            
-            cfg.cn.push(label);
-        }
-        
-        Roo.each(['day', 'month', 'year'], function(t){
-            cfg.cn.push({
-                tag : 'div',
-                cls : 'column roo-date-split-field-' + t + ' ' + contentCls
-            });
-        }, this);
-        
-        return cfg;
-    },
-    
-    inputEl: function ()
-    {
-        return this.el.select('.roo-date-split-field-group-value', true).first();
-    },
-    
-    onRender : function(ct, position) 
-    {
-        var _this = this;
-        
-        Roo.bootstrap.DateSplitFiel.superclass.onRender.call(this, ct, position);
-        
-        this.inputEl = this.el.select('.roo-date-split-field-group-value', true).first();
-        
-        this.dayField = new Roo.bootstrap.ComboBox({
-            allowBlank : this.dayAllowBlank,
-            alwaysQuery : true,
-            displayField : 'value',
-            editable : false,
-            fieldLabel : '',
-            forceSelection : true,
-            mode : 'local',
-            placeholder : this.dayPlaceholder,
-            selectOnFocus : true,
-            tpl : '<div class="roo-select2-result"><b>{value}</b></div>',
-            triggerAction : 'all',
-            typeAhead : true,
-            valueField : 'value',
-            store : new Roo.data.SimpleStore({
-                data : (function() {    
-                    var days = [];
-                    _this.fireEvent('days', _this, days);
-                    return days;
-                })(),
-                fields : [ 'value' ]
-            }),
-            listeners : {
-                select : function (_self, record, index)
-                {
-                    _this.setValue(_this.getValue());
-                }
-            }
-        });
-
-        this.dayField.render(this.el.select('.roo-date-split-field-day', true).first(), null);
-        
-        this.monthField = new Roo.bootstrap.MonthField({
-            after : '<i class=\"fa fa-calendar\"></i>',
-            allowBlank : this.monthAllowBlank,
-            placeholder : this.monthPlaceholder,
-            readOnly : true,
-            listeners : {
-                render : function (_self)
-                {
-                    this.el.select('span.input-group-addon', true).first().on('click', function(e){
-                        e.preventDefault();
-                        _self.focus();
-                    });
-                },
-                select : function (_self, oldvalue, newvalue)
-                {
-                    _this.setValue(_this.getValue());
-                }
-            }
-        });
-        
-        this.monthField.render(this.el.select('.roo-date-split-field-month', true).first(), null);
-        
-        this.yearField = new Roo.bootstrap.ComboBox({
-            allowBlank : this.yearAllowBlank,
-            alwaysQuery : true,
-            displayField : 'value',
-            editable : false,
-            fieldLabel : '',
-            forceSelection : true,
-            mode : 'local',
-            placeholder : this.yearPlaceholder,
-            selectOnFocus : true,
-            tpl : '<div class="roo-select2-result"><b>{value}</b></div>',
-            triggerAction : 'all',
-            typeAhead : true,
-            valueField : 'value',
-            store : new Roo.data.SimpleStore({
-                data : (function() {
-                    var years = [];
-                    _this.fireEvent('years', _this, years);
-                    return years;
-                })(),
-                fields : [ 'value' ]
-            }),
-            listeners : {
-                select : function (_self, record, index)
-                {
-                    _this.setValue(_this.getValue());
-                }
-            }
-        });
-
-        this.yearField.render(this.el.select('.roo-date-split-field-year', true).first(), null);
-    },
-    
-    setValue : function(v, format)
-    {
-        this.inputEl.dom.value = v;
-        
-        var f = format || (this.yearFormat + '-' + this.monthFormat + '-' + this.dayFormat);
-        
-        var d = Date.parseDate(v, f);
-        
-        if(!d){
-            this.validate();
-            return;
-        }
-        
-        this.setDay(d.format(this.dayFormat));
-        this.setMonth(d.format(this.monthFormat));
-        this.setYear(d.format(this.yearFormat));
-        
-        this.validate();
-        
-        return;
-    },
-    
-    setDay : function(v)
-    {
-        this.dayField.setValue(v);
-        this.inputEl.dom.value = this.getValue();
-        this.validate();
-        return;
-    },
-    
-    setMonth : function(v)
-    {
-        this.monthField.setValue(v, true);
-        this.inputEl.dom.value = this.getValue();
-        this.validate();
-        return;
-    },
-    
-    setYear : function(v)
-    {
-        this.yearField.setValue(v);
-        this.inputEl.dom.value = this.getValue();
-        this.validate();
-        return;
-    },
-    
-    getDay : function()
-    {
-        return this.dayField.getValue();
-    },
-    
-    getMonth : function()
-    {
-        return this.monthField.getValue();
-    },
-    
-    getYear : function()
-    {
-        return this.yearField.getValue();
-    },
-    
-    getValue : function()
-    {
-        var f = this.yearFormat + '-' + this.monthFormat + '-' + this.dayFormat;
-        
-        var date = this.yearField.getValue() + '-' + this.monthField.getValue() + '-' + this.dayField.getValue();
-        
-        return date;
-    },
-    
-    reset : function()
-    {
-        this.setDay('');
-        this.setMonth('');
-        this.setYear('');
-        this.inputEl.dom.value = '';
-        this.validate();
-        return;
-    },
-    
-    validate : function()
-    {
-        var d = this.dayField.validate();
-        var m = this.monthField.validate();
-        var y = this.yearField.validate();
-        
-        var valid = true;
-        
-        if(
-                (!this.dayAllowBlank && !d) ||
-                (!this.monthAllowBlank && !m) ||
-                (!this.yearAllowBlank && !y)
-        ){
-            valid = false;
-        }
-        
-        if(this.dayAllowBlank && this.monthAllowBlank && this.yearAllowBlank){
-            return valid;
-        }
-        
-        if(valid){
-            this.markValid();
-            return valid;
-        }
-        
-        this.markInvalid();
-        
-        return valid;
-    },
-    
-    markValid : function()
-    {
-        
-        var label = this.el.select('label', true).first();
-        var icon = this.el.select('i.fa-star', true).first();
-
-        if(label && icon){
-            icon.remove();
-        }
-        
-        this.fireEvent('valid', this);
-    },
-    
-     /**
-     * Mark this field as invalid
-     * @param {String} msg The validation message
-     */
-    markInvalid : function(msg)
-    {
-        
-        var label = this.el.select('label', true).first();
-        var icon = this.el.select('i.fa-star', true).first();
-
-        if(label && !icon){
-            this.el.select('.roo-date-split-field-label', true).createChild({
-                tag : 'i',
-                cls : 'text-danger fa fa-lg fa-star',
-                tooltip : 'This field is required',
-                style : 'margin-right:5px;'
-            }, label, true);
-        }
-        
-        this.fireEvent('invalid', this, msg);
-    },
-    
-    clearInvalid : function()
-    {
-        var label = this.el.select('label', true).first();
-        var icon = this.el.select('i.fa-star', true).first();
-
-        if(label && icon){
-            icon.remove();
-        }
-        
-        this.fireEvent('valid', this);
-    },
-    
-    getName: function()
-    {
-        return this.name;
-    }
-    
-});
-
\ No newline at end of file