7948e9b4293f8de9e2fd4cf7b34f82a745a4c2a2
[roojs1] / Roo / bootstrap / Column.js
1 /*
2  * - LGPL
3  *
4  * column
5  * 
6  */
7
8 /**
9  * @class Roo.bootstrap.Column
10  * @extends Roo.bootstrap.Component
11  * Bootstrap Column class
12  * @cfg {Number} xs colspan out of 12 for mobile-sized screens or 0 for hidden
13  * @cfg {Number} sm colspan out of 12 for tablet-sized screens or 0 for hidden
14  * @cfg {Number} md colspan out of 12 for computer-sized screens or 0 for hidden
15  * @cfg {Number} lg colspan out of 12 for large computer-sized screens or 0 for hidden
16  * @cfg {Number} xsoff colspan offset out of 12 for mobile-sized screens or 0 for hidden
17  * @cfg {Number} smoff colspan offset out of 12 for tablet-sized screens or 0 for hidden
18  * @cfg {Number} mdoff colspan offset out of 12 for computer-sized screens or 0 for hidden
19  * @cfg {Number} lgoff colspan offset out of 12 for large computer-sized screens or 0 for hidden
20  *
21  * 
22  * @cfg {Boolean} hidden (true|false) hide the element
23  * @cfg {String} alert (success|info|warning|danger) type alert (changes background / border...)
24  * @cfg {String} fa (ban|check|...) font awesome icon
25  * @cfg {Number} fasize (1|2|....) font awsome size
26
27  * @cfg {String} icon (info-sign|check|...) glyphicon name
28
29  * @cfg {String} html content of column.
30  * 
31  * @constructor
32  * Create a new Column
33  * @param {Object} config The config object
34  */
35
36 Roo.bootstrap.Column = function(config){
37     Roo.bootstrap.Column.superclass.constructor.call(this, config);
38 };
39
40 Roo.extend(Roo.bootstrap.Column, Roo.bootstrap.Component,  {
41     
42     xs: false,
43     sm: false,
44     md: false,
45     lg: false,
46     xsoff: false,
47     smoff: false,
48     mdoff: false,
49     lgoff: false,
50     html: '',
51     offset: 0,
52     alert: false,
53     fa: false,
54     icon : false,
55     hidden : false,
56     fasize : 1,
57     
58     getAutoCreate : function(){
59         var cfg = Roo.apply({}, Roo.bootstrap.Column.superclass.getAutoCreate.call(this));
60         
61         cfg = {
62             tag: 'div',
63             cls: 'column'
64         };
65         
66         var settings=this;
67         ['xs','sm','md','lg'].map(function(size){
68             //Roo.log( size + ':' + settings[size]);
69             
70             if (settings[size+'off'] !== false) {
71                 cfg.cls += ' col-' + size + '-offset-' + settings[size+'off'] ;
72             }
73             
74             if (settings[size] === false) {
75                 return;
76             }
77             
78             if (!settings[size]) { // 0 = hidden
79                 cfg.cls += ' hidden-' + size;
80                 return;
81             }
82             cfg.cls += ' col-' + size + '-' + settings[size];
83             
84         });
85         
86         if (this.hidden) {
87             cfg.cls += ' hidden';
88         }
89         
90         if (this.alert && ["success","info","warning", "danger"].indexOf(this.alert) > -1) {
91             cfg.cls +=' alert alert-' + this.alert;
92         }
93         
94         
95         if (this.html.length) {
96             cfg.html = this.html;
97         }
98         if (this.fa) {
99             var fasize = '';
100             if (this.fasize > 1) {
101                 fasize = ' fa-' + this.fasize + 'x';
102             }
103             cfg.html = '<i class="fa fa-'+this.fa + fasize + '"></i>' + (cfg.html || '');
104             
105             
106         }
107         if (this.icon) {
108             cfg.html = '<i class="glyphicon glyphicon-'+this.icon + '"></i>' +  (cfg.html || '');
109         }
110         
111         return cfg;
112     }
113    
114 });
115
116  
117
118