/*!
* Column visibility buttons for Buttons and DataTables.
* 2016 SpryMedia Ltd - datatables.net/license
*/
import $ from"jquery";import DataTable from"datatables.net";import"datatables.net-buttons";$.extend(DataTable.ext.buttons,{colvis:function(e,i){var l=null,n={extend:"collection",init:function(n,o){l=o},text:function(n){return n.i18n("buttons.colvis","Column visibility")},className:"buttons-colvis",closeButton:!1,buttons:[{extend:"columnsToggle",columns:i.columns,columnText:i.columnText}]};return e.on("column-reorder.dt"+i.namespace,function(n,o,t){e.button(null,e.button(null,l).node()).collectionRebuild([{extend:"columnsToggle",columns:i.columns,columnText:i.columnText}])}),n},columnsToggle:function(n,o){return n.columns(o.columns).indexes().map(function(n){return{extend:"columnToggle",columns:n,columnText:o.columnText}}).toArray()},columnToggle:function(n,o){return{extend:"columnVisibility",columns:o.columns,columnText:o.columnText}},columnsVisibility:function(n,o){return n.columns(o.columns).indexes().map(function(n){return{extend:"columnVisibility",columns:n,visibility:o.visibility,columnText:o.columnText}}).toArray()},columnVisibility:{columns:void 0,text:function(n,o,t){return t._columnText(n,t)},className:"buttons-columnVisibility",action:function(n,o,t,e){var o=o.columns(e.columns),i=o.visible();o.visible(void 0!==e.visibility?e.visibility:!(i.length&&i[0]))},init:function(e,n,i){var l=this;n.attr("data-cv-idx",i.columns),e.on("column-visibility.dt"+i.namespace,function(n,o){o.bDestroying||o.nTable!=e.settings()[0].nTable||l.active(e.column(i.columns).visible())}).on("column-reorder.dt"+i.namespace,function(n,o,t){i.destroying||1===e.columns(i.columns).count()&&(l.text(i._columnText(e,i)),l.active(e.column(i.columns).visible()))}),this.active(e.column(i.columns).visible())},destroy:function(n,o,t){n.off("column-visibility.dt"+t.namespace).off("column-reorder.dt"+t.namespace)},_columnText:function(n,o){var t=n.column(o.columns).index(),e=n.settings()[0].aoColumns[t].sTitle;return e=(e=e||n.column(t).header().innerHTML).replace(/\n/g," ").replace(/
/gi," ").replace(/