From d9c791e5b82ee8f5d2a46d1561f09a70337a9f95 Mon Sep 17 00:00:00 2001 From: Max Guglielmi Date: Fri, 17 Apr 2015 16:32:42 +1000 Subject: [PATCH] Continued Columns Visibility extension --- .../colsVisibility/colsVisibility.js | 141 ++++++++++++------ 1 file changed, 94 insertions(+), 47 deletions(-) diff --git a/src-es6/extensions/colsVisibility/colsVisibility.js b/src-es6/extensions/colsVisibility/colsVisibility.js index 684257d5..d43ea770 100644 --- a/src-es6/extensions/colsVisibility/colsVisibility.js +++ b/src-es6/extensions/colsVisibility/colsVisibility.js @@ -246,87 +246,134 @@ export class ColsVisibility{ ul.className = this.colVisListCss; var tbl = this.colVisHeadersTbl ? this.colVisHeadersTbl : tf.tbl; - var headerIndex = (o.colVisHeadersTbl) - ? o.colVisHeadersIndex : o.GetHeadersRowIndex(); + var headerIndex = this.colVisHeadersTbl ? + this.colVisHeadersIndex : tf.getHeadersRowIndex(); var headerRow = tbl.rows[headerIndex]; //Tick all option - if(o.showHideEnableTickAll){ - var li = tf_CreateCheckItem('col__'+o.id, o.showHideTickAllText, o.showHideTickAllText); - tf_AddClass(li,this.colVisListItemCssClass); + if(this.colVisEnableTickAll){ + var li = tf_CreateCheckItem( + 'col__'+tf.id, this.colVisTickAllText, this.colVisTickAllText); + Dom.addClass(li, this.colVisListItemCssClass); ul.appendChild(li); var isAllTicked = false; - li.check.onclick = function(){ - for(var h=0; h { + for(var h = 0; h < headerRow.cells.length; h++){ + var itm = Dom.id('col_'+h+'_'+tf.id); + if(!isAllTicked && itm.checked){ + itm.checked = false; + } + if(isAllTicked && !itm.checked){ + itm.checked = true; + } + if(itm){ + itm.click(); + } } - isAllTicked = (isAllTicked ? false : true); - }; - if(tf_isIE) - {//IE: label looses check capability - li.label.onclick = function(){ this.firstChild.click(); }; - } + isAllTicked = !isAllTicked; + }); + + // if(tf_isIE) + // {//IE: label looses check capability + // li.label.onclick = function(){ this.firstChild.click(); }; + // } } - for(var i=0; i { + var elm = evt.target; + this.checkItem(elm.parentNode); + }); + + // if(tf_isIE) + // {//IE: label looses check capability + // li.label.onclick = function(){ this.firstChild.click(); }; + // } } //separator - var p = tf_CreateElm('p',['align','center']); - + var p = Dom.createElm('p', ['align','center']); + var btn; //Close link - if(this.btnColVisCloseHtml==null) - { - var btn = tf_CreateElm( 'a', ['href','javascript:;'] ); + if(!this.btnColVisCloseHtml){ + btn = Dom.createElm('a', ['href','javascript:;']); btn.className = this.btnColVisCloseCssClass; btn.innerHTML = this.btnColVisCloseText; btn.onclick = this.Evt._ShowColsVisibility; p.appendChild(btn); } else { p.innerHTML = this.btnColVisCloseHtml; - var btn = p.firstChild; + btn = p.firstChild; btn.onclick = this.Evt._ShowColsVisibility; } container.appendChild(ul); container.appendChild(p); - //this.colVisSpanEl.appendChild(container); this.btnColVisEl.parentNode.insertBefore(container, this.btnColVisEl); this.colVisContEl = container; //IE6 only: options are not checked if colVisTickToHide=false - if(tf_isIE && !o.colVisTickToHide) - for(var i=0; i