!function(e){"function"==typeof define&&define.amd?define(["jquery","datatables.net"],(function(t){return e(t,window,document)})):"object"==typeof exports?module.exports=function(t,c){return t||(t=window),c&&c.fn.dataTable||(c=require("datatables.net")(t,c).$),e(c,t,t.document)}:e(jQuery,window,document)}((function(e,t,c){var s=e.fn.dataTable,o=function(e){if(!s.versionCheck||!s.versionCheck("1.10.8"))throw"DataTables Checkboxes requires DataTables 1.10.8 or newer";this.s={dt:new s.Api(e),columns:[],data:[],dataDisabled:[],ignoreSelect:!1},this.s.ctx=this.s.dt.settings()[0],this.s.ctx.checkboxes||(e.checkboxes=this,this._constructor())};o.prototype={_constructor:function(){for(var t=this,l=t.s.dt,a=t.s.ctx,n=!1,d=!1,i=0;i<a.aoColumns.length;i++)if(a.aoColumns[i].checkboxes){var h=e(l.column(i).header());n=!0,e.isPlainObject(a.aoColumns[i].checkboxes)||(a.aoColumns[i].checkboxes={}),a.aoColumns[i].checkboxes=e.extend({},o.defaults,a.aoColumns[i].checkboxes);var u={searchable:!1,orderable:!1};if(""===a.aoColumns[i].sClass?u.className="dt-checkboxes-cell":u.className=a.aoColumns[i].sClass+" dt-checkboxes-cell",null===a.aoColumns[i].sWidthOrig&&(u.width="1%"),null===a.aoColumns[i].mRender&&(u.render=function(){return'<input type="checkbox" class="dt-checkboxes">'}),s.ext.internal._fnColumnOptions(a,i,u),h.removeClass("sorting"),h.off(".dt"),null===a.sAjaxSource){var r=l.cells("tr",i);r.invalidate("data"),e(r.nodes()).addClass(u.className)}if(t.s.data[i]={},t.s.dataDisabled[i]={},t.s.columns.push(i),a.aoColumns[i].checkboxes.selectRow&&(a._select?d=!0:a.aoColumns[i].checkboxes.selectRow=!1),a.aoColumns[i].checkboxes.selectAll&&(h.data("html",h.html()),null!==a.aoColumns[i].checkboxes.selectAllRender)){var b="";e.isFunction(a.aoColumns[i].checkboxes.selectAllRender)?b=a.aoColumns[i].checkboxes.selectAllRender():"string"==typeof a.aoColumns[i].checkboxes.selectAllRender&&(b=a.aoColumns[i].checkboxes.selectAllRender),h.html(b).addClass("dt-checkboxes-select-all").attr("data-col",i)}}if(n){t.loadState();var x=e(l.table().node()),k=e(l.table().body()),f=e(l.table().container());d&&(x.addClass("dt-checkboxes-select"),x.on("user-select.dt.dtCheckboxes",(function(e,c,s,o,l){t.onDataTablesUserSelect(e,c,s,o,l)})),x.on("select.dt.dtCheckboxes deselect.dt.dtCheckboxes",(function(e,c,s,o){t.onDataTablesSelectDeselect(e,s,o)})),l.select.info(!1),x.on("draw.dt.dtCheckboxes select.dt.dtCheckboxes deselect.dt.dtCheckboxes",(function(){t.showInfoSelected()}))),x.on("draw.dt.dtCheckboxes",(function(e){t.onDataTablesDraw(e)})),k.on("click.dtCheckboxes","input.dt-checkboxes",(function(e){t.onClick(e,this)})),f.on("click.dtCheckboxes",'thead th.dt-checkboxes-select-all input[type="checkbox"]',(function(e){t.onClickSelectAll(e,this)})),f.on("click.dtCheckboxes","thead th.dt-checkboxes-select-all",(function(){e('input[type="checkbox"]',this).not(":disabled").trigger("click")})),d||f.on("click.dtCheckboxes","tbody td.dt-checkboxes-cell",(function(){e('input[type="checkbox"]',this).not(":disabled").trigger("click")})),f.on("click.dtCheckboxes","thead th.dt-checkboxes-select-all label, tbody td.dt-checkboxes-cell label",(function(e){e.preventDefault()})),e(c).on("click.dtCheckboxes",'.fixedHeader-floating thead th.dt-checkboxes-select-all input[type="checkbox"]',(function(e){a._fixedHeader&&a._fixedHeader.dom.header.floating&&t.onClickSelectAll(e,this)})),e(c).on("click.dtCheckboxes",".fixedHeader-floating thead th.dt-checkboxes-select-all",(function(){a._fixedHeader&&a._fixedHeader.dom.header.floating&&e('input[type="checkbox"]',this).trigger("click")})),x.on("init.dt.dtCheckboxes",(function(){t.onDataTablesInit()})),x.on("stateSaveParams.dt.dtCheckboxes",(function(e,c,s){t.onDataTablesStateSave(e,c,s)})),x.one("destroy.dt.dtCheckboxes",(function(e,c){t.onDataTablesDestroy(e,c)}))}},onDataTablesInit:function(){var t=this,c=t.s.dt,s=t.s.ctx;s.oFeatures.bServerSide||(s.oFeatures.bStateSave&&t.updateState(),e(c.table().node()).on("xhr.dt.dtCheckboxes",(function(e,c,s,o){t.onDataTablesXhr(e.settings,s,o)})))},onDataTablesUserSelect:function(e,t,c,s){var o=s.index().row,l=this.getSelectRowColIndex(),a=t.cell({row:o,column:l}).data();this.isCellSelectable(l,a)||e.preventDefault()},onDataTablesSelectDeselect:function(e,t,c){var s=this,o=s.s.dt;if(!s.s.ignoreSelect&&"row"===t){var l=s.getSelectRowColIndex();if(null!==l){var a=o.cells(c,l);s.updateData(a,l,"select"===e.type),s.updateCheckbox(a,l,"select"===e.type),s.updateSelectAll(l)}}},onDataTablesStateSave:function(t,c,s){var o=this,l=o.s.ctx;s.checkboxes=[],e.each(o.s.columns,(function(e,t){l.aoColumns[t].checkboxes.stateSave&&(s.checkboxes[t]=o.s.data[t])}))},onDataTablesDestroy:function(){var t=this,s=t.s.dt,o=e(s.table().node()),l=e(s.table().body()),a=e(s.table().container());e(c).off("click.dtCheckboxes"),a.off(".dtCheckboxes"),l.off(".dtCheckboxes"),o.off(".dtCheckboxes"),t.s.data={},t.s.dataDisabled={},e(".dt-checkboxes-select-all",o).each((function(t,c){e(c).html(e(c).data("html")).removeClass("dt-checkboxes-select-all")}))},onDataTablesDraw:function(){var t=this,c=t.s.ctx;(c.oFeatures.bServerSide||c.oFeatures.bDeferRender)&&t.updateStateCheckboxes({page:"current",search:"none"}),e.each(t.s.columns,(function(e,c){t.updateSelectAll(c)}))},onDataTablesXhr:function(){var t=this,c=t.s.dt,s=t.s.ctx,o=e(c.table().node());e.each(t.s.columns,(function(e,c){t.s.data[c]={},t.s.dataDisabled[c]={}})),s.oFeatures.bStateSave&&(t.loadState(),o.one("draw.dt.dtCheckboxes",(function(){t.updateState()})))},updateData:function(e,t,c){var s=this.s.dt,o=this.s.ctx;o.aoColumns[t].checkboxes&&(e.data().each((function(e){c?o.checkboxes.s.data[t][e]=1:delete o.checkboxes.s.data[t][e]})),o.oFeatures.bStateSave&&o.aoColumns[t].checkboxes.stateSave&&s.state.save())},updateSelect:function(e,t){var c=this,s=c.s.dt;c.s.ctx._select&&(c.s.ignoreSelect=!0,t?s.rows(e).select():s.rows(e).deselect(),c.s.ignoreSelect=!1)},updateCheckbox:function(t,c,s){var o=this.s.ctx,l=t.nodes();l.length&&(e("input.dt-checkboxes",l).not(":disabled").prop("checked",s),e.isFunction(o.aoColumns[c].checkboxes.selectCallback)&&o.aoColumns[c].checkboxes.selectCallback(l,s))},updateState:function(){var t=this;t.updateStateCheckboxes({page:"all",search:"none"}),e.each(t.s.columns,(function(e,c){t.updateSelectAll(c)}))},updateStateCheckboxes:function(t){var c=this,s=c.s.dt,o=c.s.ctx;s.cells("tr",c.s.columns,t).every((function(t,s){var l=this.data(),a=c.isCellSelectable(s,l);o.checkboxes.s.data[s].hasOwnProperty(l)&&(c.updateCheckbox(this,s,!0),o.aoColumns[s].checkboxes.selectRow&&a&&c.updateSelect(t,!0)),a||e("input.dt-checkboxes",this.node()).prop("disabled",!0)}))},onClick:function(t,c){var s,o=this,l=o.s.dt,a=o.s.ctx,n=e(c).closest("td");s=n.parents(".DTFC_Cloned").length?l.fixedColumns().cellIndex(n):n;var d=l.cell(s),i=d.index().column;a.aoColumns[i].checkboxes.selectRow?setTimeout((function(){var e=d.data(),t=o.s.data[i].hasOwnProperty(e);t!==c.checked&&(o.updateCheckbox(d,i,t),o.updateSelectAll(i))}),0):(d.checkboxes.select(c.checked),t.stopPropagation())},onClickSelectAll:function(t,c){var s=this.s.dt,o=this.s.ctx,l=null,a=e(c).closest("th");a.parents(".DTFC_Cloned").length?l=s.fixedColumns().cellIndex(a).column:l=s.column(a).index();e(c).data("is-changed",!0),s.column(l,{page:o.aoColumns[l].checkboxes&&o.aoColumns[l].checkboxes.selectAllPages?"all":"current",search:"applied"}).checkboxes.select(c.checked),t.stopPropagation()},loadState:function(){var t=this,c=t.s.dt,s=t.s.ctx;if(s.oFeatures.bStateSave){var o=c.state.loaded();e.each(t.s.columns,(function(e,c){o&&o.checkboxes&&o.checkboxes.hasOwnProperty(c)&&s.aoColumns[c].checkboxes.stateSave&&(t.s.data[c]=o.checkboxes[c])}))}},updateSelectAll:function(t){var c=this,s=c.s.dt,o=c.s.ctx;if(o.aoColumns[t].checkboxes&&o.aoColumns[t].checkboxes.selectAll){var l,a,n=s.cells("tr",t,{page:o.aoColumns[t].checkboxes.selectAllPages?"all":"current",search:"applied"}),d=s.table().container(),i=e('.dt-checkboxes-select-all[data-col="'+t+'"] input[type="checkbox"]',d),h=0,u=0,r=n.data();e.each(r,(function(e,s){c.isCellSelectable(t,s)?c.s.data[t].hasOwnProperty(s)&&h++:u++})),o._fixedHeader&&o._fixedHeader.dom.header.floating&&(i=e('.fixedHeader-floating .dt-checkboxes-select-all[data-col="'+t+'"] input[type="checkbox"]')),0===h?(l=!1,a=!1):h+u===r.length?(l=!0,a=!1):(l=!0,a=!0);var b=i.data("is-changed"),x=i.prop("checked"),k=i.prop("indeterminate");(b||x!==l||k!==a)&&(i.data("is-changed",!1),i.prop({checked:l,indeterminate:a}),e.isFunction(o.aoColumns[t].checkboxes.selectAllCallback)&&o.aoColumns[t].checkboxes.selectAllCallback(i.closest("th").get(0),l,a))}},showInfoSelected:function(){var t=this,c=t.s.dt,s=t.s.ctx;if(s.aanFeatures.i){var o=t.getSelectRowColIndex();if(null!==o){var l=0;for(var a in s.checkboxes.s.data[o])s.checkboxes.s.data[o].hasOwnProperty(a)&&l++;e.each(s.aanFeatures.i,(function(t,s){var o=e(s),a=e('<span class="select-info"/>');!function(t,s,o){t.append(e('<span class="select-item"/>').append(c.i18n("select."+s+"s",{_:"%d "+s+"s selected",0:"",1:"1 "+s+" selected"},o)))}(a,"row",l);var n=o.children("span.select-info");n.length&&n.remove(),""!==a.text()&&o.append(a)}))}}},isCellSelectable:function(e,t){return!this.s.ctx.checkboxes.s.dataDisabled[e].hasOwnProperty(t)},getCellIndex:function(e){var t=this.s.dt;return this.s.ctx._oFixedColumns?t.fixedColumns().cellIndex(e):t.cell(e).index()},getSelectRowColIndex:function(){for(var e=this.s.ctx,t=null,c=0;c<e.aoColumns.length;c++)if(e.aoColumns[c].checkboxes&&e.aoColumns[c].checkboxes.selectRow){t=c;break}return t},updateFixedColumn:function(e){var t=this.s.dt,c=this.s.ctx;if(c._oFixedColumns){var s=c._oFixedColumns.s.iLeftColumns,o=c.aoColumns.length-c._oFixedColumns.s.iRightColumns-1;(e<s||e>o)&&t.fixedColumns().update()}}},o.defaults={stateSave:!0,selectRow:!1,selectAll:!0,selectAllPages:!0,selectCallback:null,selectAllCallback:null,selectAllRender:'<input type="checkbox">'};var l=e.fn.dataTable.Api;return l.register("checkboxes()",(function(){return this})),l.registerPlural("columns().checkboxes.select()","column().checkboxes.select()",(function(t){return void 0===t&&(t=!0),this.iterator("column-rows",(function(c,s,o,l,a){if(c.aoColumns[s].checkboxes){var n=[];e.each(a,(function(e,t){n.push({row:t,column:s})}));var d=this.cells(n),i=d.data(),h=[];n=[],e.each(i,(function(e,t){c.checkboxes.isCellSelectable(s,t)&&(n.push({row:a[e],column:s}),h.push(a[e]))})),d=this.cells(n),c.checkboxes.updateData(d,s,t),c.checkboxes.updateCheckbox(d,s,t),c.aoColumns[s].checkboxes.selectRow&&c.checkboxes.updateSelect(h,t),c._oFixedColumns?setTimeout((function(){c.checkboxes.updateSelectAll(s)}),0):c.checkboxes.updateSelectAll(s),c.checkboxes.updateFixedColumn(s)}}),1)})),l.registerPlural("cells().checkboxes.select()","cell().checkboxes.select()",(function(e){return void 0===e&&(e=!0),this.iterator("cell",(function(t,c,s){if(t.aoColumns[s].checkboxes){var o=this.cells([{row:c,column:s}]),l=this.cell({row:c,column:s}).data();t.checkboxes.isCellSelectable(s,l)&&(t.checkboxes.updateData(o,s,e),t.checkboxes.updateCheckbox(o,s,e),t.aoColumns[s].checkboxes.selectRow&&t.checkboxes.updateSelect(c,e),t._oFixedColumns?setTimeout((function(){t.checkboxes.updateSelectAll(s)}),0):t.checkboxes.updateSelectAll(s),t.checkboxes.updateFixedColumn(s))}}),1)})),l.registerPlural("cells().checkboxes.enable()","cell().checkboxes.enable()",(function(t){return void 0===t&&(t=!0),this.iterator("cell",(function(c,s,o){if(c.aoColumns[o].checkboxes){var l=this.cell({row:s,column:o}),a=l.data();t?delete c.checkboxes.s.dataDisabled[o][a]:c.checkboxes.s.dataDisabled[o][a]=1;var n=l.node();n&&e("input.dt-checkboxes",n).prop("disabled",!t),c.aoColumns[o].checkboxes.selectRow&&c.checkboxes.s.data[o].hasOwnProperty(a)&&c.checkboxes.updateSelect(s,t)}}),1)})),l.registerPlural("cells().checkboxes.disable()","cell().checkboxes.disable()",(function(e){return void 0===e&&(e=!0),this.checkboxes.enable(!e)})),l.registerPlural("columns().checkboxes.deselect()","column().checkboxes.deselect()",(function(e){return void 0===e&&(e=!0),this.checkboxes.select(!e)})),l.registerPlural("cells().checkboxes.deselect()","cell().checkboxes.deselect()",(function(e){return void 0===e&&(e=!0),this.checkboxes.select(!e)})),l.registerPlural("columns().checkboxes.deselectAll()","column().checkboxes.deselectAll()",(function(){return this.iterator("column",(function(e,t){e.aoColumns[t].checkboxes&&(e.checkboxes.s.data[t]={},this.column(t).checkboxes.select(!1))}),1)})),l.registerPlural("columns().checkboxes.selected()","column().checkboxes.selected()",(function(){return this.iterator("column-rows",(function(t,c,s,o,l){if(t.aoColumns[c].checkboxes){var a=[];if(t.oFeatures.bServerSide)e.each(t.checkboxes.s.data[c],(function(e){t.checkboxes.isCellSelectable(c,e)&&a.push(e)}));else{var n=[];e.each(l,(function(e,t){n.push({row:t,column:c})}));var d=this.cells(n).data();e.each(d,(function(e,s){t.checkboxes.s.data[c].hasOwnProperty(s)&&t.checkboxes.isCellSelectable(c,s)&&a.push(s)}))}return a}return[]}),1)})),o.version="1.2.11",e.fn.DataTable.Checkboxes=o,e.fn.dataTable.Checkboxes=o,e(c).on("preInit.dt.dtCheckboxes",(function(e,t){"dt"===e.namespace&&new o(t)})),o}));