{
return this.el.select('.roo-button-text',true).first().dom.innerHTML;
},
- hide: function() {
-
-
- this.el.hide();
- },
- show: function() {
-
- this.el.show();
- },
+
setWeight : function(str)
{
this.el.removeClass(this.weightClass);
* @cfg {Boolean} allow_close default true
* @cfg {Boolean} fitwindow default false
* @cfg {String} size (sm|lg) default empty
- * @cfg {Number} maxWidth set the maxWidth of modal
+ * @cfg {Number} max_width set the max width of modal
*
*
* @constructor
animate : true,
fitwindow: false,
-
-
+
// private
dialogEl: false,
bodyEl: false,
size: '',
- maxWidth: 0,
-
+ max_width: 0,
+
+ max_height: 0,
+
+ fit_content: false,
onRender : function(ct, position)
{
resize : function()
{
- this.maskEl.setSize(Roo.lib.Dom.getViewWidth(true), Roo.lib.Dom.getViewHeight(true));
+ this.maskEl.setSize(
+ Roo.lib.Dom.getViewWidth(true),
+ Roo.lib.Dom.getViewHeight(true)
+ );
if (this.fitwindow) {
- var w = this.width || Roo.lib.Dom.getViewportWidth(true) - 30;
- var h = this.height || Roo.lib.Dom.getViewportHeight(true) - 60;
- this.setSize(w,h);
+ this.setSize(
+ this.width || Roo.lib.Dom.getViewportWidth(true) - 30,
+ this.height || Roo.lib.Dom.getViewportHeight(true) - 60
+ );
+ return;
}
- if(!this.fitwindow && this.maxWidth !== 0){
+ if(this.max_width !== 0) {
+
+ var w = Math.min(this.max_width, Roo.lib.Dom.getViewportWidth(true) - 30);
+
+ if(this.height) {
+ this.setSize(w, this.height);
+ return;
+ }
- var w = Math.min(this.maxWidth, Roo.lib.Dom.getViewportWidth(true) - 30);
- var h = this.height || Roo.lib.Dom.getViewportHeight(true) - 60;
- this.setSize(w,h);
+ if(this.max_height) {
+ this.setSize(w,Math.min(
+ this.max_height,
+ Roo.lib.Dom.getViewportHeight(true) - 60
+ ));
+
+ return;
+ }
+
+ if(!this.fit_content) {
+ this.setSize(w, Roo.lib.Dom.getViewportHeight(true) - 60);
+ return;
+ }
+
+ this.setSize(w, Math.min(
+ 60 +
+ this.headerEl.getHeight() +
+ this.footerEl.getHeight() +
+ this.getChildHeight(this.bodyEl.dom.childNodes),
+ Roo.lib.Dom.getViewportHeight(true) - 60)
+ );
}
},
if (!w && !h) {
return;
}
+
this.resizeTo(w,h);
},
this.diff = this.dialogEl.getHeight() - this.bodyEl.getHeight();
}
- this.bodyEl.setHeight(h-this.diff);
+ this.bodyEl.setHeight(h - this.diff);
this.fireEvent('resize', this);
//code
}
this.tmpl.overwrite(this.bodyEl, obj);
+ },
+
+ getChildHeight : function(child_nodes)
+ {
+ if(
+ !child_nodes ||
+ child_nodes.length == 0
+ ) {
+ return;
+ }
+
+ var child_height = 0;
+
+ for(var i = 0; i < child_nodes.length; i++) {
+
+ /*
+ * for modal with tabs...
+ if(child_nodes[i].classList.contains('roo-layout-panel')) {
+
+ var layout_childs = child_nodes[i].childNodes;
+
+ for(var j = 0; j < layout_childs.length; j++) {
+
+ if(layout_childs[j].classList.contains('roo-layout-panel-body')) {
+
+ var layout_body_childs = layout_childs[j].childNodes;
+
+ for(var k = 0; k < layout_body_childs.length; k++) {
+
+ if(layout_body_childs[k].classList.contains('navbar')) {
+ child_height += layout_body_childs[k].offsetHeight;
+ continue;
+ }
+
+ if(layout_body_childs[k].classList.contains('roo-layout-tabs-body')) {
+
+ var layout_body_tab_childs = layout_body_childs[k].childNodes;
+
+ for(var m = 0; m < layout_body_tab_childs.length; m++) {
+
+ if(layout_body_tab_childs[m].classList.contains('roo-layout-active-content')) {
+ child_height += this.getChildHeight(layout_body_tab_childs[m].childNodes);
+ continue;
+ }
+
+ }
+
+ }
+
+ }
+ }
+ }
+ continue;
+ }
+ */
+
+ child_height += child_nodes[i].offsetHeight;
+ // Roo.log(child_nodes[i].offsetHeight);
+ }
+
+ return child_height;
}
});
* @cfg {Boolean} scrollBody (true|false) default false - body scrolled / fixed header
* @cfg {Roo.bootstrap.PagingToolbar} footer a paging toolbar
* @cfg {Boolean} lazyLoad auto load data while scrolling to the end (default false)
- * @cfg {Boolean} autoHideFooter auto hide footer if only one page (default false)
+ * @cfg {Boolean} auto_hide_footer auto hide footer if only one page (default false)
*
* @constructor
CSS : Roo.util.CSS,
- autoHideFooter : false,
+ auto_hide_footer : false,
getAutoCreate : function()
{
var tfoot = this.el.select('tfoot', true).first();
- if(this.footerShow && this.autoHideFooter && this.mainFoot){
+ if(this.footerShow && this.auto_hide_footer && this.mainFoot){
this.mainFoot.setVisibilityMode(Roo.Element.DISPLAY).hide();
this.onHeaderChange();
this.onLoad();
+ },
+
+ setColumnWidth: function(col_index, width)
+ {
+ // width = "md-2 xs-2..."
+ if(!this.colModel.config[col_index]) {
+ return;
+ }
+
+ var w = width.split(" ");
+
+ var rows = this.el.dom.getElementsByClassName("x-col-"+col_index);
+ var h_row = this.el.dom.getElementsByClassName("x-hcol-"+col_index);
+
+
+ for(var j = 0; j < w.length; j++) {
+
+ if(!w[j]) {
+ continue;
+ }
+
+ var size_cls = w[j].split("-");
+
+ if(!Number.isInteger(size_cls[1] * 1)) {
+ continue;
+ }
+
+ if(!this.colModel.config[col_index][size_cls[0]]) {
+ continue;
+ }
+
+ if(!h_row[0].classList.contains("col-"+size_cls[0]+"-"+this.colModel.config[col_index][size_cls[0]])) {
+ continue;
+ }
+
+ h_row[0].classList.replace(
+ "col-"+size_cls[0]+"-"+this.colModel.config[col_index][size_cls[0]],
+ "col-"+size_cls[0]+"-"+size_cls[1]
+ );
+
+ for(var i = 0; i < rows.length; i++) {
+
+ var size_cls = w[j].split("-");
+
+ if(!Number.isInteger(size_cls[1] * 1)) {
+ continue;
+ }
+
+ if(!this.colModel.config[col_index][size_cls[0]]) {
+ continue;
+ }
+
+ if(!rows[i].classList.contains("col-"+size_cls[0]+"-"+this.colModel.config[col_index][size_cls[0]])) {
+ continue;
+ }
+
+ rows[i].classList.replace(
+ "col-"+size_cls[0]+"-"+this.colModel.config[col_index][size_cls[0]],
+ "col-"+size_cls[0]+"-"+size_cls[1]
+ );
+ }
+
+ this.colModel.config[col_index][size_cls[0]] = size_cls[1];
+ }
}
-
});
return;
}
+ Roo.log('invalid field: ' + f.name);
+
valid = false;
if(!target && f.el.isVisible(true)){
return;
}
- if(f.xtype == 'DateField'){
- f.setVisible(false);
- return;
- }
-
f.hide();
}, this);
return;
}
- if(f.xtype == 'DateField'){
- f.setVisible(true);
- return;
- }
-
f.show();
}, this);
}
+ if(this.indicator){
+ this.indicator.removeClass('visible');
+ this.indicator.addClass(this.indicatorpos == 'right' ? 'hidden' : 'invisible');
+ }
+
this.fireEvent('valid', this);
},
*/
useNativeIOS : false,
+ /**
+ * @cfg {Boolean} mobile_restrict_height (true|false) restrict height for touch view
+ */
+ mobile_restrict_height : false,
+
ios_options : false,
//private
this.list.on('scroll', this.onViewScroll, this);
if(!this.tpl){
- this.tpl = '<li class="roo-select2-result"><div class="checkbox"><input id="{roo-id}" type="checkbox" {roo-data-checked}><label for="{roo-id}"><b>{' + this.displayField + '}</b></label></div></li>';
+ this.tpl = '<li class="roo-select2-result"><div class="checkbox"><input id="{roo-id}"' +
+ 'type="checkbox" {roo-data-checked}><label for="{roo-id}"><b>{' + this.displayField + '}</b></label></div></li>';
}
this.view = new Roo.View(this.list, this.tpl, {
- singleSelect:true, tickable:true, parent:this, store: this.store, selectedClass: this.selectedClass
+ singleSelect:true,
+ tickable:true,
+ parent:this,
+ store: this.store,
+ selectedClass: this.selectedClass
});
//this.view.wrapEl.setDisplayed(false);
document.activeElement.blur();
}, this);
+ this._touchViewMask = Roo.DomHelper.append(document.body, {tag: "div", cls:"x-dlg-mask"}, true);
+
return;
}else{
this.touchViewEl.addClass('in');
}
-
+
+ if(this._touchViewMask){
+ Roo.get(document.body).addClass("x-body-masked");
+ this._touchViewMask.setSize(Roo.lib.Dom.getViewWidth(true), Roo.lib.Dom.getViewHeight(true));
+ this._touchViewMask.setStyle('z-index', 10000);
+ this._touchViewMask.addClass('show');
+ }
+
this.doTouchViewQuery();
},
this.touchViewEl.setStyle('display', 'none');
}
+ if(this._touchViewMask){
+ this._touchViewMask.removeClass('show');
+ Roo.get(document.body).removeClass("x-body-masked");
+ }
},
setTouchViewValue : function()
bodyHeight = bodyHeight - this.touchViewHeaderEl.getHeight();
}
- var listHeight = this.touchViewListGroup.getHeight();
+ var listHeight = this.touchViewListGroup.getHeight() + this.touchViewBodyEl.getPadding('tb') * 2;
+
+ if(this.mobile_restrict_height && listHeight < bodyHeight){
+ this.touchViewBodyEl.setHeight(listHeight);
+ }
var _this = this;
this.showMode();
if(this.isInline) {
- this.show();
+ this.showPopup();
}
},
onFocus : function()
{
Roo.bootstrap.DateField.superclass.onFocus.call(this);
- this.show();
+ this.showPopup();
},
onBlur : function()
this.setValue(d);
- this.hide();
+ this.hidePopup();
},
- show : function()
+ showPopup : function()
{
this.picker().show();
this.update();
this.place();
- this.fireEvent('show', this, this.date);
+ this.fireEvent('showpopup', this, this.date);
},
- hide : function()
+ hidePopup : function()
{
if(this.isInline) {
return;
this.viewMode = this.startViewMode;
this.showMode();
- this.fireEvent('hide', this, this.date);
+ this.fireEvent('hidepopup', this, this.date);
},
{
if (!this.picker().isVisible()){
if (e.keyCode == 27) { // allow escape to hide and re-show picker
- this.show();
+ this.showPopup();
}
return;
}
switch(e.keyCode){
case 27: // escape
- this.hide();
+ this.hidePopup();
e.preventDefault();
break;
case 37: // left
break;
case 13: // enter
this.setValue(this.formatDate(this.date));
- this.hide();
+ this.hidePopup();
e.preventDefault();
break;
case 9: // tab
this.setValue(this.formatDate(this.date));
- this.hide();
+ this.hidePopup();
break;
case 16: // shift
case 17: // ctrl
case 18: // alt
break;
default :
- this.hide();
+ this.hidePopup();
}
},
// this.fill()
this.setValue(this.formatDate(this.date));
- this.hide();
+ this.hidePopup();
break;
}
break;
if(this.singleMode){
this.setValue(this.formatDate(this.viewDate));
- this.hide();
+ this.hidePopup();
return;
}
// this.fill();
//Roo.log(this.formatDate(this.date));
this.setValue(this.formatDate(this.date));
- this.hide();
+ this.hidePopup();
}
break;
}
this.date = this.viewDate = '';
Roo.bootstrap.DateField.superclass.setValue.call(this, '');
- },
-
- setVisible : function(visible)
- {
- if(!this.getEl()){
- return;
- }
-
- this.getEl().removeClass('hidden');
-
- if(visible){
- return;
- }
-
- this.getEl().addClass('hidden');
}
});
this.first = this.navgroup.addItem({
tooltip: this.firstText,
cls: "prev",
- icon : 'fa fa-backward',
+ icon : 'fa fa-step-backward',
disabled: true,
preventDefault: true,
listeners : { click : this.onClick.createDelegate(this, ["first"]) }
this.prev = this.navgroup.addItem({
tooltip: this.prevText,
cls: "prev",
- icon : 'fa fa-step-backward',
+ icon : 'fa fa-backward',
disabled: true,
preventDefault: true,
listeners : { click : this.onClick.createDelegate(this, ["prev"]) }
this.next = this.navgroup.addItem({
tooltip: this.nextText,
cls: "next",
- html : ' <i class="fa fa-step-forward">',
+ html : ' <i class="fa fa-forward">',
disabled: true,
preventDefault: true,
listeners : { click : this.onClick.createDelegate(this, ["next"]) }
});
this.last = this.navgroup.addItem({
tooltip: this.lastText,
- icon : 'fa fa-forward',
+ icon : 'fa fa-step-forward',
cls: "next",
disabled: true,
preventDefault: true,
placement = 'top';
}
+ align = this.alignment[placement];
}
this.el.alignTo(this.bindEl, align[0],align[1]);
var cn = new Roo.bootstrap.MasonryBrick(cfg);
//this.register(cn);
cn.parentId = this.id;
- cn.onRender(this.el, null);
+ cn.render(this.el);
return cn;
},
* @cfg {String} thousandsDelimiter Symbol of thousandsDelimiter
*/
thousandsDelimiter : false,
-
+ /**
+ * @cfg {Number} max_length Maximum input field length allowed (defaults to Number.MAX_VALUE)
+ */
+ max_length: false,
inputlg : 9,
inputmd : 9,
cls: 'hidden-number-input'
};
+ if(this.max_length) {
+ input.maxlength = this.max_length;
+ }
+
if (this.name) {
hiddenInput.name = this.name;
}