Roo.log('initEvents with ds!!!!');
+ var _this = this;
+
+ Roo.each(this.el.select('thead th.sortable', true).elements, function(e){
+ e.on('click', _this.sort, _this);
+ });
// this.maskEl = Roo.DomHelper.append(this.el.select('.TableGrid', true).first(), {tag: "div", cls:"x-dlg-mask"}, true);
// this.maskEl.enableDisplayMode("block");
// this.maskEl.show();
},
+ sort : function(e,el)
+ {
+ var col = Roo.get(el)
+
+ if(!col.hasClass('sortable')){
+ return;
+ }
+
+ var sort = col.attr('sort');
+ var dir = 'ASC';
+
+ if(col.hasClass('glyphicon-arrow-up')){
+ dir = 'DESC';
+ }
+
+ this.store.sortInfo = {field : sort, direction : dir};
+
+ this.store.load();
+ },
+
renderHeader : function()
{
var header = {
var cm = this.cm;
for(var i = 0, len = cm.getColumnCount(); i < len; i++){
- header.cn.push({
+
+ var config = cm.config[i];
+
+ var c = {
tag: 'th',
html: cm.getColumnHeader(i)
- })
+ };
+
+ if(typeof(config.dataIndex) != 'undefined'){
+ c.sort = config.dataIndex;
+ }
+
+ if(typeof(config.sortable) != 'undefined' && config.sortable){
+ c.cls = 'sortable';
+ }
+
+ if(typeof(config.width) != 'undefined'){
+ c.style = 'width:' + config.width + 'px';
+ }
+
+ header.cn.push(c)
}
return header;
{
Roo.log('ds onload');
+ var _this = this;
var cm = this.cm;
+ Roo.each(this.el.select('thead th.sortable', true).elements, function(e){
+ e.removeClass(['glyphicon', 'glyphicon-arrow-up', 'glyphicon-arrow-down']);
+
+ if(e.hasClass('sortable') && e.attr('sort') == _this.store.sortInfo.field && _this.store.sortInfo.direction.toUpperCase() == 'ASC'){
+ e.addClass(['glyphicon', 'glyphicon-arrow-up']);
+ }
+
+ if(e.hasClass('sortable') && e.attr('sort') == _this.store.sortInfo.field && _this.store.sortInfo.direction.toUpperCase() == 'DESC'){
+ e.addClass(['glyphicon', 'glyphicon-arrow-down']);
+ }
+ });
+
var tbody = this.el.select('tbody', true).first();
var renders = [];
for(var i = 0, len = cm.getColumnCount(); i < len; i++){
var renderer = cm.getRenderer(i);
+ var config = cm.config[i];
var value = '';
var id = Roo.id();
})
}
- row.cn.push({
+ var td = {
tag: 'td',
id: id,
html: (typeof(value) === 'object') ? '' : value
- })
+ };
+
+ if(typeof(config.width) != 'undefined'){
+ td.style = 'width:' + config.width + 'px';
+ }
+
+ row.cn.push(td);
}
this.sortInfo = meta.sortInfo || this.sortInfo;
this.modified = [];
this.fireEvent('metachange', this, this.reader.meta);
+ },
+
+ moveIndex : function(data, type)
+ {
+ var index = this.indexOf(data);
+
+ var newIndex = index + type;
+
+ this.remove(data);
+
+ this.insert(newIndex, data);
+
}
});/*
* Based on:
setValue : function(v,suppressEvent)
{
- Roo.log('run');
- Roo.log(this.fieldLabel);
- Roo.log(this.inputValue);
- Roo.log(v);
this.setChecked(((typeof(v) == 'undefined') ? this.checked : (String(v) === String(this.inputValue))), suppressEvent);
}
setChecked : function(state,suppressEvent)
{
- Roo.log('RAIDO set checked');
- Roo.log(this.inputValue);
- Roo.log(this.boxLabel);
- Roo.log(state);
- Roo.each(this.inputEl().up('form').select('input[name='+this.inputEl().dom.name+']', true).elements, function(v){
- if(!state){
- return;
- }
- v.dom.checked = false;
- });
+ if(state){
+ Roo.each(this.inputEl().up('form').select('input[name='+this.inputEl().dom.name+']', true).elements, function(v){
+ v.dom.checked = false;
+ });
+ }
this.checked = state;
this.inputEl().dom.checked = state;
iframePad:3,
hideMode:'offsets',
+ clearUp: true,
+
cleanUpPaste : function()
{
// cleans up the whole document..
- Roo.log('cleanuppaste');
+ Roo.log('cleanuppaste');
+
this.cleanUpChildren(this.doc.body);
var clean = this.cleanWordChars(this.doc.body.innerHTML);
if (clean != this.doc.body.innerHTML) {
return;
}
- if (Roo.HtmlEditorCore.black.indexOf(node.tagName.toLowerCase()) > -1) {
+ if (Roo.HtmlEditorCore.black.indexOf(node.tagName.toLowerCase()) > -1 && this.clearUp) {
// remove node.
node.parentNode.removeChild(node);
return;
var l = p.split(':').shift().replace(/\s+/g,'');
l = l.replace(/^\s+/g,'').replace(/\s+$/g,'');
-
if ( cblack.indexOf(l) > -1) {
// Roo.log('(REMOVE CSS)' + node.tagName +'.' + n + ':'+l + '=' + v);
//node.removeAttribute(n);