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 = [];
};
if(typeof(config.width) != 'undefined'){
- td.width = config.width;
+ td.style = 'width:' + config.width + 'px';
}
row.cn.push(td);
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);