/*
|
This file is part of Ext JS 4.2
|
|
Copyright (c) 2011-2013 Sencha Inc
|
|
Contact: http://www.sencha.com/contact
|
|
GNU General Public License Usage
|
This file may be used under the terms of the GNU General Public License version 3.0 as
|
published by the Free Software Foundation and appearing in the file LICENSE included in the
|
packaging of this file.
|
|
Please review the following information to ensure the GNU General Public License version 3.0
|
requirements will be met: http://www.gnu.org/copyleft/gpl.html.
|
|
If you are unsure which license is appropriate for your use, please contact the sales department
|
at http://www.sencha.com/contact.
|
|
Build date: 2013-05-16 14:36:50 (f9be68accb407158ba2b1be2c226a6ce1f649314)
|
*/
|
/**
|
* @private
|
* Private Container class used by the {@link Ext.grid.RowEditor} to hold its buttons.
|
*/
|
Ext.define('Ext.grid.RowEditorButtons', {
|
extend: 'Ext.container.Container',
|
alias: 'widget.roweditorbuttons',
|
|
frame: true,
|
shrinkWrap: true,
|
position: 'bottom',
|
|
constructor: function(config) {
|
var me = this,
|
rowEditor = config.rowEditor,
|
cssPrefix = Ext.baseCSSPrefix,
|
plugin = rowEditor.editingPlugin;
|
|
config = Ext.apply({
|
baseCls: cssPrefix + 'grid-row-editor-buttons',
|
defaults: {
|
xtype: 'button',
|
ui: rowEditor.buttonUI,
|
scope: plugin,
|
flex: 1,
|
minWidth: Ext.panel.Panel.prototype.minButtonWidth
|
},
|
items: [{
|
cls: cssPrefix + 'row-editor-update-button',
|
itemId: 'update',
|
handler: plugin.completeEdit,
|
text: rowEditor.saveBtnText,
|
disabled: rowEditor.updateButtonDisabled
|
}, {
|
cls: cssPrefix + 'row-editor-cancel-button',
|
handler: plugin.cancelEdit,
|
text: rowEditor.cancelBtnText
|
}]
|
}, config);
|
|
me.callParent([config]);
|
|
me.addClsWithUI(me.position);
|
},
|
|
setButtonPosition: function(position) {
|
var me = this;
|
|
me.removeClsWithUI(me.position);
|
me.position = position;
|
me.addClsWithUI(position);
|
},
|
|
getFramingInfoCls: function(){
|
return this.baseCls + '-' + this.ui + '-' + this.position;
|
},
|
|
getFrameInfo: function() {
|
var frameInfo = this.callParent();
|
|
// Trick Renderable into rendering the top framing elements, even though they
|
// are not needed in the default "bottom" position. This allows us to flip the
|
// buttons into "top" position without re-rendering.
|
frameInfo.top = true;
|
|
return frameInfo;
|
}
|
});
|