@ntlab/ntjs-assets 2.0.43 → 2.0.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- /*! Select for DataTables 2.0.5
1
+ /*! Select for DataTables 2.1.0
2
2
  * © SpryMedia Ltd - datatables.net/license/mit
3
3
  */
4
4
 
@@ -56,7 +56,7 @@ DataTable.select.classes = {
56
56
  checkbox: 'dt-select-checkbox'
57
57
  };
58
58
 
59
- DataTable.select.version = '2.0.5';
59
+ DataTable.select.version = '2.1.0';
60
60
 
61
61
  DataTable.select.init = function (dt) {
62
62
  var ctx = dt.settings()[0];
@@ -126,6 +126,7 @@ DataTable.select.init = function (dt) {
126
126
  var style = 'api';
127
127
  var blurable = false;
128
128
  var toggleable = true;
129
+ var selectable = null;
129
130
  var info = true;
130
131
  var selector = 'td, th';
131
132
  var className = 'selected';
@@ -182,6 +183,10 @@ DataTable.select.init = function (dt) {
182
183
  if (opts.headerCheckbox !== undefined) {
183
184
  headerCheckbox = opts.headerCheckbox;
184
185
  }
186
+
187
+ if (opts.selectable !== undefined) {
188
+ selectable = opts.selectable;
189
+ }
185
190
  }
186
191
 
187
192
  dt.select.selector(selector);
@@ -190,6 +195,7 @@ DataTable.select.init = function (dt) {
190
195
  dt.select.blurable(blurable);
191
196
  dt.select.toggleable(toggleable);
192
197
  dt.select.info(info);
198
+ dt.select.selectable(selectable);
193
199
  ctx._select.className = className;
194
200
 
195
201
  // If the init options haven't enabled select, but there is a selectable
@@ -199,11 +205,9 @@ DataTable.select.init = function (dt) {
199
205
  }
200
206
 
201
207
  // Insert a checkbox into the header if needed - might need to wait
202
- // for init complete, or it might already be done
208
+ // for init complete
203
209
  if (headerCheckbox || headerCheckbox === 'select-page' || headerCheckbox === 'select-all') {
204
- initCheckboxHeader(dt, headerCheckbox);
205
-
206
- dt.on('init', function () {
210
+ dt.ready(function () {
207
211
  initCheckboxHeader(dt, headerCheckbox);
208
212
  });
209
213
  }
@@ -570,9 +574,13 @@ function info(api, node) {
570
574
  return;
571
575
  }
572
576
 
573
- var rows = api.rows({ selected: true }).flatten().length;
574
- var columns = api.columns({ selected: true }).flatten().length;
575
- var cells = api.cells({ selected: true }).flatten().length;
577
+ // If _select_set has any length, then ids are available and should be used
578
+ // as the counter. Otherwise use the API to workout how many rows are
579
+ // selected.
580
+ var rowSetLength = api.settings()[0]._select_set.length;
581
+ var rows = rowSetLength ? rowSetLength : api.rows({ selected: true }).count();
582
+ var columns = api.columns({ selected: true }).count();
583
+ var cells = api.cells({ selected: true }).count();
576
584
 
577
585
  var add = function (el, name, num) {
578
586
  el.append(
@@ -612,7 +620,8 @@ function info(api, node) {
612
620
  * @param {*} headerCheckbox the header checkbox option
613
621
  */
614
622
  function initCheckboxHeader( dt, headerCheckbox ) {
615
- var dtInternalColumns = dt.settings()[0].aoColumns;
623
+ var dtSettings = dt.settings()[0];
624
+ var dtInternalColumns = dtSettings.aoColumns;
616
625
 
617
626
  // Find any checkbox column(s)
618
627
  dt.columns().iterator('column', function (s, idx) {
@@ -636,33 +645,36 @@ function initCheckboxHeader( dt, headerCheckbox ) {
636
645
  .on('change', function () {
637
646
  if (this.checked) {
638
647
  if (headerCheckbox == 'select-page') {
639
- dt.rows({page: 'current'}).select()
648
+ dt.rows({page: 'current'}).select();
640
649
  } else {
641
650
  dt.rows({search: 'applied'}).select();
642
651
  }
643
652
  }
644
653
  else {
645
- dt.rows({selected: true}).deselect();
654
+ if (headerCheckbox == 'select-page') {
655
+ dt.rows({page: 'current', selected: true}).deselect();
656
+ }
657
+ else {
658
+ dt.rows({selected: true}).deselect();
659
+ }
646
660
  }
647
661
  })
648
662
  .on('click', function (e) {
649
663
  e.stopPropagation();
650
664
  });
651
-
665
+
652
666
  // Update the header checkbox's state when the selection in the
653
667
  // table changes
654
668
  dt.on('draw select deselect', function (e, pass, type) {
655
669
  if (type === 'row' || ! type) {
656
- var count = dt.rows({selected: true}).count();
657
- var search = dt.rows({search: 'applied', selected: true}).count();
658
- var available = headerCheckbox == 'select-page' ? dt.rows({page: 'current'}).count() : dt.rows({search: 'applied'}).count();
670
+ var nums = headerCheckboxState(dt, headerCheckbox);
659
671
 
660
- if (search && search <= count && search === available) {
672
+ if (nums.search && nums.search <= nums.count && nums.search === nums.available) {
661
673
  input
662
674
  .prop('checked', true)
663
675
  .prop('indeterminate', false);
664
676
  }
665
- else if (search === 0 && count === 0) {
677
+ else if (nums.search === 0 && nums.count === 0) {
666
678
  input
667
679
  .prop('checked', false)
668
680
  .prop('indeterminate', false);
@@ -678,6 +690,54 @@ function initCheckboxHeader( dt, headerCheckbox ) {
678
690
  });
679
691
  }
680
692
 
693
+ /**
694
+ * Determine the counts used to define the header checkbox's state
695
+ *
696
+ * @param {*} dt DT API
697
+ * @param {*} headerCheckbox Configuration for what the header checkbox does
698
+ * @returns Counts object
699
+ */
700
+ function headerCheckboxState(dt, headerCheckbox) {
701
+ var ctx = dt.settings()[0];
702
+ var selectable = ctx._select.selectable;
703
+ var available = 0;
704
+ var count = headerCheckbox == 'select-page'
705
+ ? dt.rows({page: 'current', selected: true}).count()
706
+ : dt.rows({selected: true}).count();
707
+ var search = headerCheckbox == 'select-page'
708
+ ? dt.rows({page: 'current', selected: true}).count()
709
+ : dt.rows({search: 'applied', selected: true}).count();
710
+
711
+ if (! selectable) {
712
+ available = headerCheckbox == 'select-page'
713
+ ? dt.rows({page: 'current'}).count()
714
+ : dt.rows({search: 'applied'}).count();
715
+ }
716
+ else {
717
+ // Need to count how many rows are actually selectable to know if all selectable
718
+ // rows are selected or not
719
+ var indexes = headerCheckbox == 'select-page'
720
+ ? dt.rows({page: 'current'}).indexes()
721
+ : dt.rows({search: 'applied'}).indexes();
722
+
723
+ for (var i=0 ; i<indexes.length ; i++) {
724
+ // For speed I use the internal DataTables object.
725
+ var rowInternal = ctx.aoData[indexes[i]];
726
+ var result = selectable(rowInternal._aData, rowInternal.nTr, indexes[i]);
727
+
728
+ if (result) {
729
+ available++;
730
+ }
731
+ }
732
+ }
733
+
734
+ return {
735
+ available: available,
736
+ count: count,
737
+ search: search
738
+ }
739
+ }
740
+
681
741
  /**
682
742
  * Initialisation of a new table. Attach event handlers and callbacks to allow
683
743
  * Select to operate correctly.
@@ -692,6 +752,9 @@ function init(ctx) {
692
752
  var api = new DataTable.Api(ctx);
693
753
  ctx._select_init = true;
694
754
 
755
+ // _select_set contains a list of the ids of all rows that are selected
756
+ ctx._select_set = [];
757
+
695
758
  // Row callback so that classes can be added to rows and cells if the item
696
759
  // was selected before the element was created. This will happen with the
697
760
  // `deferRender` option enabled.
@@ -702,9 +765,15 @@ function init(ctx) {
702
765
  ctx.aoRowCreatedCallback.push(function (row, data, index) {
703
766
  var i, ien;
704
767
  var d = ctx.aoData[index];
768
+ var id = api.row(index).id();
705
769
 
706
770
  // Row
707
- if (d._select_selected) {
771
+ if (
772
+ d._select_selected ||
773
+ (id !== 'undefined' && ctx._select_set.includes(id))
774
+ ) {
775
+ d._select_selected = true;
776
+
708
777
  $(row)
709
778
  .addClass(ctx._select.className)
710
779
  .find('input.' + checkboxClass(true)).prop('checked', true);
@@ -723,46 +792,7 @@ function init(ctx) {
723
792
  }
724
793
  );
725
794
 
726
- // On Ajax reload we want to reselect all rows which are currently selected,
727
- // if there is an rowId (i.e. a unique value to identify each row with)
728
- api.on('preXhr.dt.dtSelect', function (e, settings) {
729
- if (settings !== api.settings()[0]) {
730
- // Not triggered by our DataTable!
731
- return;
732
- }
733
-
734
- // note that column selection doesn't need to be cached and then
735
- // reselected, as they are already selected
736
- var rows = api
737
- .rows({ selected: true })
738
- .ids(true)
739
- .filter(function (d) {
740
- return d !== undefined;
741
- });
742
-
743
- var cells = api
744
- .cells({ selected: true })
745
- .eq(0)
746
- .map(function (cellIdx) {
747
- var id = api.row(cellIdx.row).id(true);
748
- return id ? { row: id, column: cellIdx.column } : undefined;
749
- })
750
- .filter(function (d) {
751
- return d !== undefined;
752
- });
753
-
754
- // On the next draw, reselect the currently selected items
755
- api.one('draw.dt.dtSelect', function () {
756
- api.rows(rows).select();
757
-
758
- // `cells` is not a cell index selector, so it needs a loop
759
- if (cells.any()) {
760
- cells.each(function (id) {
761
- api.cells(id.row, id.column).select();
762
- });
763
- }
764
- });
765
- });
795
+ _cumulativeEvents(api);
766
796
 
767
797
  // Update the table information element with selected item summary
768
798
  api.on('info.dt', function (e, ctx, node) {
@@ -935,6 +965,57 @@ function _safeId(node) {
935
965
  return node.id.replace(/[^a-zA-Z0-9\-\_]/g, '-');
936
966
  }
937
967
 
968
+ /**
969
+ * Set up event handlers for cumulative selection
970
+ *
971
+ * @param {*} api DT API instance
972
+ */
973
+ function _cumulativeEvents(api) {
974
+ // Add event listeners to add / remove from the _select_set
975
+ api.on('select', function (e, dt, type, indexes) {
976
+ // Only support for rows at the moment
977
+ if (type !== 'row') {
978
+ return;
979
+ }
980
+
981
+ var ctx = api.settings()[0];
982
+
983
+ _add(api, ctx._select_set, indexes);
984
+ });
985
+
986
+ api.on('deselect', function (e, dt, type, indexes) {
987
+ // Only support for rows at the moment
988
+ if (type !== 'row') {
989
+ return;
990
+ }
991
+
992
+ var ctx = api.settings()[0];
993
+
994
+ _remove(api, ctx._select_set, indexes);
995
+ });
996
+ }
997
+
998
+ function _add(api, arr, indexes) {
999
+ for (var i=0 ; i<indexes.length ; i++) {
1000
+ var id = api.row(indexes[i]).id();
1001
+
1002
+ if (id && id !== 'undefined' && ! arr.includes(id)) {
1003
+ arr.push(id);
1004
+ }
1005
+ }
1006
+ }
1007
+
1008
+ function _remove(api, arr, indexes) {
1009
+ for (var i=0 ; i<indexes.length ; i++) {
1010
+ var id = api.row(indexes[i]).id();
1011
+ var idx = arr.indexOf(id);
1012
+
1013
+ if (idx !== -1) {
1014
+ arr.splice(idx, 1);
1015
+ }
1016
+ }
1017
+ }
1018
+
938
1019
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
939
1020
  * DataTables selectors
940
1021
  */
@@ -1083,10 +1164,15 @@ apiRegister('select.style()', function (style) {
1083
1164
  // Add / remove mouse event handlers. They aren't required when only
1084
1165
  // API selection is available
1085
1166
  var dt = new DataTable.Api(ctx);
1086
- disableMouseSelection(dt);
1087
1167
 
1088
1168
  if (style !== 'api') {
1089
- enableMouseSelection(dt);
1169
+ dt.ready(function () {
1170
+ disableMouseSelection(dt);
1171
+ enableMouseSelection(dt);
1172
+ });
1173
+ }
1174
+ else {
1175
+ disableMouseSelection(dt);
1090
1176
  }
1091
1177
 
1092
1178
  eventTrigger(new DataTable.Api(ctx), 'selectStyle', [style]);
@@ -1099,16 +1185,36 @@ apiRegister('select.selector()', function (selector) {
1099
1185
  }
1100
1186
 
1101
1187
  return this.iterator('table', function (ctx) {
1102
- disableMouseSelection(new DataTable.Api(ctx));
1188
+ var dt = new DataTable.Api(ctx);
1189
+ var style = ctx._select.style;
1190
+
1191
+ disableMouseSelection(dt);
1103
1192
 
1104
1193
  ctx._select.selector = selector;
1105
1194
 
1106
- if (ctx._select.style !== 'api') {
1107
- enableMouseSelection(new DataTable.Api(ctx));
1195
+ if (style && style !== 'api') {
1196
+ dt.ready(function () {
1197
+ disableMouseSelection(dt);
1198
+ enableMouseSelection(dt);
1199
+ });
1200
+ }
1201
+ else {
1202
+ disableMouseSelection(dt);
1108
1203
  }
1109
1204
  });
1110
1205
  });
1111
1206
 
1207
+ apiRegister('select.selectable()', function (set) {
1208
+ let ctx = this.context[0];
1209
+
1210
+ if (set) {
1211
+ ctx._select.selectable = set;
1212
+ return this;
1213
+ }
1214
+
1215
+ return ctx._select.selectable;
1216
+ });
1217
+
1112
1218
  apiRegister('select.last()', function (set) {
1113
1219
  let ctx = this.context[0];
1114
1220
 
@@ -1120,8 +1226,17 @@ apiRegister('select.last()', function (set) {
1120
1226
  return ctx._select_lastCell;
1121
1227
  });
1122
1228
 
1229
+ apiRegister('select.cumulative()', function () {
1230
+ let ctx = this.context[0];
1231
+
1232
+ return ctx && ctx._select_set
1233
+ ? ctx._select_set
1234
+ : [];
1235
+ });
1236
+
1123
1237
  apiRegisterPlural('rows().select()', 'row().select()', function (select) {
1124
1238
  var api = this;
1239
+ var selectedIndexes = [];
1125
1240
 
1126
1241
  if (select === false) {
1127
1242
  return this.deselect();
@@ -1136,9 +1251,20 @@ apiRegisterPlural('rows().select()', 'row().select()', function (select) {
1136
1251
  var dtData = ctx.aoData[idx];
1137
1252
  var dtColumns = ctx.aoColumns;
1138
1253
 
1254
+ if (ctx._select.selectable) {
1255
+ var result = ctx._select.selectable(dtData._aData, dtData.nTr, idx);
1256
+
1257
+ if (result === false) {
1258
+ // Not selectable - do nothing
1259
+ return;
1260
+ }
1261
+ }
1262
+
1139
1263
  $(dtData.nTr).addClass(ctx._select.className);
1140
1264
  dtData._select_selected = true;
1141
1265
 
1266
+ selectedIndexes.push(idx);
1267
+
1142
1268
  for (var i=0 ; i<dtColumns.length ; i++) {
1143
1269
  var col = dtColumns[i];
1144
1270
 
@@ -1163,8 +1289,8 @@ apiRegisterPlural('rows().select()', 'row().select()', function (select) {
1163
1289
  }
1164
1290
  });
1165
1291
 
1166
- this.iterator('table', function (ctx, i) {
1167
- eventTrigger(api, 'select', ['row', api[i]], true);
1292
+ this.iterator('table', function (ct) {
1293
+ eventTrigger(api, 'select', ['row', selectedIndexes], true);
1168
1294
  });
1169
1295
 
1170
1296
  return this;
@@ -1526,6 +1652,8 @@ $.each(['Row', 'Column', 'Cell'], function (i, item) {
1526
1652
  init: function (dt) {
1527
1653
  var that = this;
1528
1654
 
1655
+ this.active(dt.select.items() === lc);
1656
+
1529
1657
  dt.on('selectItems.dt.DT', function (e, ctx, items) {
1530
1658
  that.active(items === lc);
1531
1659
  });
@@ -1576,8 +1704,18 @@ DataTable.render.select = function (valueProp, nameProp) {
1576
1704
  var dtRow = meta.settings.aoData[meta.row];
1577
1705
  var selected = dtRow._select_selected;
1578
1706
  var ariaLabel = meta.settings.oLanguage.select.aria.rowCheckbox;
1707
+ var selectable = meta.settings._select.selectable;
1579
1708
 
1580
1709
  if (type === 'display') {
1710
+ // Check if the row is selectable before showing the checkbox
1711
+ if (selectable) {
1712
+ var result = selectable(row, dtRow.nTr, meta.row);
1713
+
1714
+ if (result === false) {
1715
+ return '';
1716
+ }
1717
+ }
1718
+
1581
1719
  return $('<input>')
1582
1720
  .attr({
1583
1721
  'aria-label': ariaLabel,
@@ -1636,11 +1774,10 @@ $.fn.DataTable.select = DataTable.select;
1636
1774
  * Initialisation
1637
1775
  */
1638
1776
 
1639
- // DataTables creation - check if select has been defined in the options. Note
1640
- // this required that the table be in the document! If it isn't then something
1641
- // needs to trigger this method unfortunately. The next major release of
1642
- // DataTables will rework the events and address this.
1643
- $(document).on('preInit.dt.dtSelect', function (e, ctx) {
1777
+ // DataTables creation - we need this to run _before_ data is read in, but
1778
+ // for backwards compat. we also run again on preInit. If it happens twice
1779
+ // it will simply do nothing the second time around.
1780
+ $(document).on('i18n.dt.dtSelect preInit.dt.dtSelect', function (e, ctx) {
1644
1781
  if (e.namespace !== 'dt') {
1645
1782
  return;
1646
1783
  }
@@ -1,4 +1,4 @@
1
- /*! Select for DataTables 2.0.5
1
+ /*! Select for DataTables 2.1.0
2
2
  * © SpryMedia Ltd - datatables.net/license/mit
3
3
  */
4
- !function(l){var s,c;"function"==typeof define&&define.amd?define(["jquery","datatables.net"],function(e){return l(e,window,document)}):"object"==typeof exports?(s=require("jquery"),c=function(e,t){t.fn.dataTable||require("datatables.net")(e,t)},"undefined"==typeof window?module.exports=function(e,t){return e=e||window,t=t||s(e),c(e,t),l(t,e,e.document)}:(c(window,s),module.exports=l(s,window,window.document))):l(jQuery,window,document)}(function(m,i,e){"use strict";var _=m.fn.dataTable;function r(n,e,t){function l(t,l){l<t&&(e=l,l=t,t=e);var e,s=!1;return n.columns(":visible").indexes().filter(function(e){return e===t&&(s=!0),e===l?!(s=!1):s})}function s(t,l){var e,s=n.rows({search:"applied"}).indexes(),c=(s.indexOf(t)>s.indexOf(l)&&(e=l,l=t,t=e),!1);return s.filter(function(e){return e===t&&(c=!0),e===l?!(c=!1):c})}var c,t=n.cells({selected:!0}).any()||t?(c=l(t.column,e.column),s(t.row,e.row)):(c=l(0,e.column),s(0,e.row)),t=n.cells(t,c).flatten();n.cells(e,{selected:!0}).any()?n.cells(t).deselect():n.cells(t).select()}function u(e){var t=_.select.classes.checkbox;return e?t.replace(/ /g,"."):t}function s(e){var t=e.settings()[0]._select.selector;m(e.table().container()).off("mousedown.dtSelect",t).off("mouseup.dtSelect",t).off("click.dtSelect",t),m("body").off("click.dtSelect"+b(e.table().node()))}function n(o){var a,t=m(o.table().container()),l=o.settings()[0],s=l._select.selector;t.on("mousedown.dtSelect",s,function(e){(e.shiftKey||e.metaKey||e.ctrlKey)&&t.css("-moz-user-select","none").one("selectstart.dtSelect",s,function(){return!1}),i.getSelection&&(a=i.getSelection())}).on("mouseup.dtSelect",s,function(){t.css("-moz-user-select","")}).on("click.dtSelect",s,function(e){var t,l=o.select.items();if(a){var s=i.getSelection();if((!s.anchorNode||m(s.anchorNode).closest("table")[0]===o.table().node())&&s!==a)return}var c,s=o.settings()[0],n=o.table().container();m(e.target).closest("div.dt-container")[0]==n&&(n=o.cell(m(e.target).closest("td, th"))).any()&&(c=m.Event("user-select.dt"),d(o,c,[l,n,e]),c.isDefaultPrevented()||(c=n.index(),"row"===l?(t=c.row,w(e,o,s,"row",t)):"column"===l?(t=n.index().column,w(e,o,s,"column",t)):"cell"===l&&(t=n.index(),w(e,o,s,"cell",t)),s._select_lastCell=c))}),m("body").on("click.dtSelect"+b(o.table().node()),function(e){var t;!l._select.blurable||m(e.target).parents().filter(o.table().container()).length||0===m(e.target).parents("html").length||m(e.target).parents("div.DTE").length||(t=m.Event("select-blur.dt"),d(o,t,[e.target,e]),t.isDefaultPrevented())||v(l,!0)})}function d(e,t,l,s){s&&!e.flatten().length||("string"==typeof t&&(t+=".dt"),l.unshift(e),m(e.table().node()).trigger(t,l))}function f(e){return e.mRender&&"selectCheckbox"===e.mRender._name}function a(s,e){var t,l,c,n,o;"api"!==s.select.style()&&!1!==s.select.info()&&(o=s.rows({selected:!0}).flatten().length,t=s.columns({selected:!0}).flatten().length,l=s.cells({selected:!0}).flatten().length,c=function(e,t,l){e.append(m('<span class="select-item"/>').append(s.i18n("select."+t+"s",{_:"%d "+t+"s selected",0:"",1:"1 "+t+" selected"},l)))},e=m(e),c(n=m('<span class="select-info"/>'),"row",o),c(n,"column",t),c(n,"cell",l),(o=e.children("span.select-info")).length&&o.remove(),""!==n.text())&&e.append(n)}function p(o,a){var l=o.settings()[0].aoColumns;o.columns().iterator("column",function(e,t){var n;f(l[t])&&(t=o.column(t).header(),m("input",t).length||(n=m("<input>").attr({class:u(!0),type:"checkbox","aria-label":o.i18n("select.aria.headerCheckbox")||"Select all rows"}).appendTo(t).on("change",function(){this.checked?("select-page"==a?o.rows({page:"current"}):o.rows({search:"applied"})).select():o.rows({selected:!0}).deselect()}).on("click",function(e){e.stopPropagation()}),o.on("draw select deselect",function(e,t,l){var s,c;"row"!==l&&l||(l=o.rows({selected:!0}).count(),s=o.rows({search:"applied",selected:!0}).count(),c=("select-page"==a?o.rows({page:"current"}):o.rows({search:"applied"})).count(),s&&s<=l&&s===c?n.prop("checked",!0).prop("indeterminate",!1):0===s&&0===l?n.prop("checked",!1).prop("indeterminate",!1):n.prop("checked",!1).prop("indeterminate",!0))})))})}function h(e,t,l,s){var c,n=e[t+"s"]({search:"applied"}).indexes(),s=n.indexOf(s),o=n.indexOf(l);e[t+"s"]({selected:!0}).any()||-1!==s?(o<s&&(c=o,o=s,s=c),n.splice(o+1,n.length),n.splice(0,s)):n.splice(n.indexOf(l)+1,n.length),e[t](l,{selected:!0}).any()?(n.splice(n.indexOf(l),1),e[t+"s"](n).deselect()):e[t+"s"](n).select()}function v(e,t){!t&&"single"!==e._select.style||((t=new _.Api(e)).rows({selected:!0}).deselect(),t.columns({selected:!0}).deselect(),t.cells({selected:!0}).deselect())}function w(e,t,l,s,c){var n=t.select.style(),o=t.select.toggleable(),a=t[s](c,{selected:!0}).any();a&&!o||("os"===n?e.ctrlKey||e.metaKey?t[s](c).select(!a):e.shiftKey?"cell"===s?r(t,c,l._select_lastCell||null):h(t,s,c,l._select_lastCell?l._select_lastCell[s]:null):(o=t[s+"s"]({selected:!0}),a&&1===o.flatten().length?t[s](c).deselect():(o.deselect(),t[s](c).select())):"multi+shift"==n&&e.shiftKey?"cell"===s?r(t,c,l._select_lastCell||null):h(t,s,c,l._select_lastCell?l._select_lastCell[s]:null):t[s](c).select(!a))}function b(e){return e.id.replace(/[^a-zA-Z0-9\-\_]/g,"-")}_.select={},_.select.classes={checkbox:"dt-select-checkbox"},_.select.version="2.0.5",_.select.init=function(c){var e,t,l,s,n,o,a,i,r,u,d,f,h=c.settings()[0];if(!_.versionCheck("2"))throw"Warning: Select requires DataTables 2 or newer";!h._select&&(e=c.state.loaded(),t=function(e,t,l){if(null!==l&&void 0!==l.select){if(c.rows({selected:!0}).any()&&c.rows().deselect(),void 0!==l.select.rows&&c.rows(l.select.rows).select(),c.columns({selected:!0}).any()&&c.columns().deselect(),void 0!==l.select.columns&&c.columns(l.select.columns).select(),c.cells({selected:!0}).any()&&c.cells().deselect(),void 0!==l.select.cells)for(var s=0;s<l.select.cells.length;s++)c.cell(l.select.cells[s].row,l.select.cells[s].column).select();c.state.save()}},c.on("stateSaveParams",function(e,t,l){l.select={},l.select.rows=c.rows({selected:!0}).ids(!0).toArray(),l.select.columns=c.columns({selected:!0})[0],l.select.cells=c.cells({selected:!0})[0].map(function(e){return{row:c.row(e.row).id(!0),column:e.column}})}).on("stateLoadParams",t).one("init",function(){t(0,0,e)}),s=h.oInit.select,l=_.defaults.select,l=void 0===s?l:s,s="row",r="td, th",u="selected",f=!(d=i=a=!(o=!(n="api"))),h._select={infoEls:[]},!0===l?(n="os",f=!0):"string"==typeof l?(n=l,f=!0):m.isPlainObject(l)&&(void 0!==l.blurable&&(o=l.blurable),void 0!==l.toggleable&&(a=l.toggleable),void 0!==l.info&&(i=l.info),void 0!==l.items&&(s=l.items),f=(n=void 0!==l.style?l.style:"os",!0),void 0!==l.selector&&(r=l.selector),void 0!==l.className&&(u=l.className),void 0!==l.headerCheckbox)&&(d=l.headerCheckbox),c.select.selector(r),c.select.items(s),c.select.style(n),c.select.blurable(o),c.select.toggleable(a),c.select.info(i),h._select.className=u,!f&&m(c.table().node()).hasClass("selectable")&&c.select.style("os"),d||"select-page"===d||"select-all"===d)&&(p(c,d),c.on("init",function(){p(c,d)}))},m.each([{type:"row",prop:"aoData"},{type:"column",prop:"aoColumns"}],function(e,i){_.ext.selector[i.type].push(function(e,t,l){var s,c=t.selected,n=[];if(!0!==c&&!1!==c)return l;for(var o=0,a=l.length;o<a;o++)(s=e[i.prop][l[o]])&&(!0===c&&!0===s._select_selected||!1===c&&!s._select_selected)&&n.push(l[o]);return n})}),_.ext.selector.cell.push(function(e,t,l){var s,c=t.selected,n=[];if(void 0===c)return l;for(var o=0,a=l.length;o<a;o++)(s=e.aoData[l[o].row])&&(!0===c&&s._selected_cells&&!0===s._selected_cells[l[o].column]||!1===c&&(!s._selected_cells||!s._selected_cells[l[o].column]))&&n.push(l[o]);return n});var t=_.Api.register,l=_.Api.registerPlural;function o(t,l){return function(e){return e.i18n("buttons."+t,l)}}function g(e){e=e._eventNamespace;return"draw.dt.DT"+e+" select.dt.DT"+e+" deselect.dt.DT"+e}t("select()",function(){return this.iterator("table",function(e){_.select.init(new _.Api(e))})}),t("select.blurable()",function(t){return void 0===t?this.context[0]._select.blurable:this.iterator("table",function(e){e._select.blurable=t})}),t("select.toggleable()",function(t){return void 0===t?this.context[0]._select.toggleable:this.iterator("table",function(e){e._select.toggleable=t})}),t("select.info()",function(t){return void 0===t?this.context[0]._select.info:this.iterator("table",function(e){e._select.info=t})}),t("select.items()",function(t){return void 0===t?this.context[0]._select.items:this.iterator("table",function(e){e._select.items=t,d(new _.Api(e),"selectItems",[t])})}),t("select.style()",function(l){return void 0===l?this.context[0]._select.style:this.iterator("table",function(e){e._select||_.select.init(new _.Api(e)),e._select_init||(o=e,c=new _.Api(o),o._select_init=!0,o.aoRowCreatedCallback.push(function(e,t,l){var s,c,n=o.aoData[l];for(n._select_selected&&m(e).addClass(o._select.className).find("input."+u(!0)).prop("checked",!0),s=0,c=o.aoColumns.length;s<c;s++)(o.aoColumns[s]._select_selected||n._selected_cells&&n._selected_cells[s])&&m(n.anCells[s]).addClass(o._select.className)}),c.on("preXhr.dt.dtSelect",function(e,t){var l,s;t===c.settings()[0]&&(l=c.rows({selected:!0}).ids(!0).filter(function(e){return void 0!==e}),s=c.cells({selected:!0}).eq(0).map(function(e){var t=c.row(e.row).id(!0);return t?{row:t,column:e.column}:void 0}).filter(function(e){return void 0!==e}),c.one("draw.dt.dtSelect",function(){c.rows(l).select(),s.any()&&s.each(function(e){c.cells(e.row,e.column).select()})}))}),c.on("info.dt",function(e,t,l){t._select.infoEls.includes(l)||t._select.infoEls.push(l),a(c,l)}),c.on("select.dtSelect.dt deselect.dtSelect.dt",function(){o._select.infoEls.forEach(function(e){a(c,e)}),c.state.save()}),c.on("destroy.dtSelect",function(){m(c.rows({selected:!0}).nodes()).removeClass(c.settings()[0]._select.className),m("input."+u(!0),c.table().header()).remove(),s(c),c.off(".dtSelect"),m("body").off(".dtSelect"+b(c.table().node()))})),e._select.style=l;var o,c,t=new _.Api(e);s(t),"api"!==l&&n(t),d(new _.Api(e),"selectStyle",[l])})}),t("select.selector()",function(t){return void 0===t?this.context[0]._select.selector:this.iterator("table",function(e){s(new _.Api(e)),e._select.selector=t,"api"!==e._select.style&&n(new _.Api(e))})}),t("select.last()",function(e){var t=this.context[0];return e?(t._select_lastCell=e,this):t._select_lastCell}),l("rows().select()","row().select()",function(e){var o=this;return!1===e?this.deselect():(this.iterator("row",function(e,t){v(e);var l=e.aoData[t],s=e.aoColumns;m(l.nTr).addClass(e._select.className),l._select_selected=!0;for(var c=0;c<s.length;c++){var n=s[c];null===n.sType&&o.columns().types(),f(n)&&((n=l.anCells)&&n[c]&&m("input."+u(!0),n[c]).prop("checked",!0),null!==l._aSortData)&&(l._aSortData[c]=null)}}),this.iterator("table",function(e,t){d(o,"select",["row",o[t]],!0)}),this)}),t("row().selected()",function(){var e=this.context[0];return!!(e&&this.length&&e.aoData[this[0]]&&e.aoData[this[0]]._select_selected)}),l("columns().select()","column().select()",function(e){var l=this;return!1===e?this.deselect():(this.iterator("column",function(e,t){v(e),e.aoColumns[t]._select_selected=!0;t=new _.Api(e).column(t);m(t.header()).addClass(e._select.className),m(t.footer()).addClass(e._select.className),t.nodes().to$().addClass(e._select.className)}),this.iterator("table",function(e,t){d(l,"select",["column",l[t]],!0)}),this)}),t("column().selected()",function(){var e=this.context[0];return!!(e&&this.length&&e.aoColumns[this[0]]&&e.aoColumns[this[0]]._select_selected)}),l("cells().select()","cell().select()",function(e){var l=this;return!1===e?this.deselect():(this.iterator("cell",function(e,t,l){v(e);t=e.aoData[t];void 0===t._selected_cells&&(t._selected_cells=[]),t._selected_cells[l]=!0,t.anCells&&m(t.anCells[l]).addClass(e._select.className)}),this.iterator("table",function(e,t){d(l,"select",["cell",l.cells(l[t]).indexes().toArray()],!0)}),this)}),t("cell().selected()",function(){var e=this.context[0];if(e&&this.length){e=e.aoData[this[0][0].row];if(e&&e._selected_cells&&e._selected_cells[this[0][0].column])return!0}return!1}),l("rows().deselect()","row().deselect()",function(){var o=this;return this.iterator("row",function(e,t){var l=e.aoData[t],s=e.aoColumns;m(l.nTr).removeClass(e._select.className),l._select_selected=!1,e._select_lastCell=null;for(var c=0;c<s.length;c++){var n=s[c];null===n.sType&&o.columns().types(),f(n)&&((n=l.anCells)&&n[c]&&m("input."+u(!0),l.anCells[c]).prop("checked",!1),null!==l._aSortData)&&(l._aSortData[c]=null)}}),this.iterator("table",function(e,t){d(o,"deselect",["row",o[t]],!0)}),this}),l("columns().deselect()","column().deselect()",function(){var l=this;return this.iterator("column",function(s,e){s.aoColumns[e]._select_selected=!1;var t=new _.Api(s),l=t.column(e);m(l.header()).removeClass(s._select.className),m(l.footer()).removeClass(s._select.className),t.cells(null,e).indexes().each(function(e){var t=s.aoData[e.row],l=t._selected_cells;!t.anCells||l&&l[e.column]||m(t.anCells[e.column]).removeClass(s._select.className)})}),this.iterator("table",function(e,t){d(l,"deselect",["column",l[t]],!0)}),this}),l("cells().deselect()","cell().deselect()",function(){var l=this;return this.iterator("cell",function(e,t,l){t=e.aoData[t];void 0!==t._selected_cells&&(t._selected_cells[l]=!1),t.anCells&&!e.aoColumns[l]._select_selected&&m(t.anCells[l]).removeClass(e._select.className)}),this.iterator("table",function(e,t){d(l,"deselect",["cell",l[t]],!0)}),this});var x=0;return m.extend(_.ext.buttons,{selected:{text:o("selected","Selected"),className:"buttons-selected",limitTo:["rows","columns","cells"],init:function(l,e,s){var c=this;s._eventNamespace=".select"+x++,l.on(g(s),function(){var e,t;c.enable((e=l,!(-1===(t=s).limitTo.indexOf("rows")||!e.rows({selected:!0}).any())||!(-1===t.limitTo.indexOf("columns")||!e.columns({selected:!0}).any())||!(-1===t.limitTo.indexOf("cells")||!e.cells({selected:!0}).any())))}),this.disable()},destroy:function(e,t,l){e.off(l._eventNamespace)}},selectedSingle:{text:o("selectedSingle","Selected single"),className:"buttons-selected-single",init:function(t,e,l){var s=this;l._eventNamespace=".select"+x++,t.on(g(l),function(){var e=t.rows({selected:!0}).flatten().length+t.columns({selected:!0}).flatten().length+t.cells({selected:!0}).flatten().length;s.enable(1===e)}),this.disable()},destroy:function(e,t,l){e.off(l._eventNamespace)}},selectAll:{text:o("selectAll","Select all"),className:"buttons-select-all",action:function(e,t,l,s){var c=this.select.items(),n=s.selectorModifier;(n?("function"==typeof n&&(n=n.call(t,e,t,l,s)),this[c+"s"](n)):this[c+"s"]()).select()}},selectNone:{text:o("selectNone","Deselect all"),className:"buttons-select-none",action:function(){v(this.settings()[0],!0)},init:function(t,e,l){var s=this;l._eventNamespace=".select"+x++,t.on(g(l),function(){var e=t.rows({selected:!0}).flatten().length+t.columns({selected:!0}).flatten().length+t.cells({selected:!0}).flatten().length;s.enable(0<e)}),this.disable()},destroy:function(e,t,l){e.off(l._eventNamespace)}},showSelected:{text:o("showSelected","Show only selected"),className:"buttons-show-selected",action:function(e,t){var s;t.search.fixed("dt-select")?(t.search.fixed("dt-select",null),this.active(!1)):(s=t.settings()[0].aoData,t.search.fixed("dt-select",function(e,t,l){return s[l]._select_selected}),this.active(!0)),t.draw()}}}),m.each(["Row","Column","Cell"],function(e,t){var c=t.toLowerCase();_.ext.buttons["select"+t+"s"]={text:o("select"+t+"s","Select "+c+"s"),className:"buttons-select-"+c+"s",action:function(){this.select.items(c)},init:function(e){var s=this;e.on("selectItems.dt.DT",function(e,t,l){s.active(l===c)})}}}),_.type("select-checkbox",{className:"dt-select",detect:_.versionCheck("2.1")?{oneOf:function(){return!1},allOf:function(){return!1},init:function(e,t,l){return f(t)}}:function(e){return"select-checkbox"===e&&e},order:{pre:function(e){return"X"===e?-1:0}}}),m.extend(!0,_.defaults.oLanguage,{select:{aria:{rowCheckbox:"Select row"}}}),_.render.select=function(e,t){function l(e,t,l,s){var c=s.settings.aoData[s.row]._select_selected,s=s.settings.oLanguage.select.aria.rowCheckbox;return"display"===t?m("<input>").attr({"aria-label":s,class:u(),name:o?o(l):null,type:"checkbox",value:n?n(l):null,checked:c}).on("input",function(e){e.preventDefault(),this.checked=m(this).closest("tr").hasClass("selected")})[0]:"type"===t?"select-checkbox":"filter"!==t&&c?"X":""}var n=e?_.util.get(e):null,o=t?_.util.get(t):null;return l._name="selectCheckbox",l},_.ext.order["select-checkbox"]=function(t,e){return this.api().column(e,{order:"index"}).nodes().map(function(e){return"row"===t._select.items?m(e).parent().hasClass(t._select.className).toString():"cell"===t._select.items&&m(e).hasClass(t._select.className).toString()})},m.fn.DataTable.select=_.select,m(e).on("preInit.dt.dtSelect",function(e,t){"dt"===e.namespace&&_.select.init(new _.Api(t))}),_});
4
+ !function(l){var s,c;"function"==typeof define&&define.amd?define(["jquery","datatables.net"],function(e){return l(e,window,document)}):"object"==typeof exports?(s=require("jquery"),c=function(e,t){t.fn.dataTable||require("datatables.net")(e,t)},"undefined"==typeof window?module.exports=function(e,t){return e=e||window,t=t||s(e),c(e,t),l(t,e,e.document)}:(c(window,s),module.exports=l(s,window,window.document))):l(jQuery,window,document)}(function(m,i,e){"use strict";var p=m.fn.dataTable;function r(n,e,t){function l(t,l){l<t&&(e=l,l=t,t=e);var e,s=!1;return n.columns(":visible").indexes().filter(function(e){return e===t&&(s=!0),e===l?!(s=!1):s})}function s(t,l){var e,s=n.rows({search:"applied"}).indexes(),c=(s.indexOf(t)>s.indexOf(l)&&(e=l,l=t,t=e),!1);return s.filter(function(e){return e===t&&(c=!0),e===l?!(c=!1):c})}var c,t=n.cells({selected:!0}).any()||t?(c=l(t.column,e.column),s(t.row,e.row)):(c=l(0,e.column),s(0,e.row)),t=n.cells(t,c).flatten();n.cells(e,{selected:!0}).any()?n.cells(t).deselect():n.cells(t).select()}function v(e){var t=p.select.classes.checkbox;return e?t.replace(/ /g,"."):t}function c(e){var t=e.settings()[0]._select.selector;m(e.table().container()).off("mousedown.dtSelect",t).off("mouseup.dtSelect",t).off("click.dtSelect",t),m("body").off("click.dtSelect"+_(e.table().node()))}function n(o){var a,t=m(o.table().container()),l=o.settings()[0],s=l._select.selector;t.on("mousedown.dtSelect",s,function(e){(e.shiftKey||e.metaKey||e.ctrlKey)&&t.css("-moz-user-select","none").one("selectstart.dtSelect",s,function(){return!1}),i.getSelection&&(a=i.getSelection())}).on("mouseup.dtSelect",s,function(){t.css("-moz-user-select","")}).on("click.dtSelect",s,function(e){var t,l=o.select.items();if(a){var s=i.getSelection();if((!s.anchorNode||m(s.anchorNode).closest("table")[0]===o.table().node())&&s!==a)return}var c,s=o.settings()[0],n=o.table().container();m(e.target).closest("div.dt-container")[0]==n&&(n=o.cell(m(e.target).closest("td, th"))).any()&&(c=m.Event("user-select.dt"),u(o,c,[l,n,e]),c.isDefaultPrevented()||(c=n.index(),"row"===l?(t=c.row,h(e,o,s,"row",t)):"column"===l?(t=n.index().column,h(e,o,s,"column",t)):"cell"===l&&(t=n.index(),h(e,o,s,"cell",t)),s._select_lastCell=c))}),m("body").on("click.dtSelect"+_(o.table().node()),function(e){var t;!l._select.blurable||m(e.target).parents().filter(o.table().container()).length||0===m(e.target).parents("html").length||m(e.target).parents("div.DTE").length||(t=m.Event("select-blur.dt"),u(o,t,[e.target,e]),t.isDefaultPrevented())||f(l,!0)})}function u(e,t,l,s){s&&!e.flatten().length||("string"==typeof t&&(t+=".dt"),l.unshift(e),m(e.table().node()).trigger(t,l))}function b(e){return e.mRender&&"selectCheckbox"===e.mRender._name}function s(s,e){var t,l,c,n,o;"api"!==s.select.style()&&!1!==s.select.info()&&(o=s.settings()[0]._select_set.length||s.rows({selected:!0}).count(),t=s.columns({selected:!0}).count(),l=s.cells({selected:!0}).count(),c=function(e,t,l){e.append(m('<span class="select-item"/>').append(s.i18n("select."+t+"s",{_:"%d "+t+"s selected",0:"",1:"1 "+t+" selected"},l)))},e=m(e),c(n=m('<span class="select-info"/>'),"row",o),c(n,"column",t),c(n,"cell",l),(o=e.children("span.select-info")).length&&o.remove(),""!==n.text())&&e.append(n)}function o(o){var r,a=new p.Api(o);o._select_init=!0,o._select_set=[],o.aoRowCreatedCallback.push(function(e,t,l){var s,c,n=o.aoData[l],l=a.row(l).id();for((n._select_selected||"undefined"!==l&&o._select_set.includes(l))&&(n._select_selected=!0,m(e).addClass(o._select.className).find("input."+v(!0)).prop("checked",!0)),s=0,c=o.aoColumns.length;s<c;s++)(o.aoColumns[s]._select_selected||n._selected_cells&&n._selected_cells[s])&&m(n.anCells[s]).addClass(o._select.className)}),(r=a).on("select",function(e,t,l,s){if("row"===l)for(var l=r.settings()[0],c=r,n=l._select_set,o=s,a=0;a<o.length;a++){var i=c.row(o[a]).id();i&&"undefined"!==i&&!n.includes(i)&&n.push(i)}}),r.on("deselect",function(e,t,l,s){if("row"===l)for(var l=r.settings()[0],c=r,n=l._select_set,o=s,a=0;a<o.length;a++){var i=c.row(o[a]).id(),i=n.indexOf(i);-1!==i&&n.splice(i,1)}}),a.on("info.dt",function(e,t,l){t._select.infoEls.includes(l)||t._select.infoEls.push(l),s(a,l)}),a.on("select.dtSelect.dt deselect.dtSelect.dt",function(){o._select.infoEls.forEach(function(e){s(a,e)}),a.state.save()}),a.on("destroy.dtSelect",function(){m(a.rows({selected:!0}).nodes()).removeClass(a.settings()[0]._select.className),m("input."+v(!0),a.table().header()).remove(),c(a),a.off(".dtSelect"),m("body").off(".dtSelect"+_(a.table().node()))})}function d(e,t,l,s){var c,n=e[t+"s"]({search:"applied"}).indexes(),s=n.indexOf(s),o=n.indexOf(l);e[t+"s"]({selected:!0}).any()||-1!==s?(o<s&&(c=o,o=s,s=c),n.splice(o+1,n.length),n.splice(0,s)):n.splice(n.indexOf(l)+1,n.length),e[t](l,{selected:!0}).any()?(n.splice(n.indexOf(l),1),e[t+"s"](n).deselect()):e[t+"s"](n).select()}function f(e,t){!t&&"single"!==e._select.style||((t=new p.Api(e)).rows({selected:!0}).deselect(),t.columns({selected:!0}).deselect(),t.cells({selected:!0}).deselect())}function h(e,t,l,s,c){var n=t.select.style(),o=t.select.toggleable(),a=t[s](c,{selected:!0}).any();a&&!o||("os"===n?e.ctrlKey||e.metaKey?t[s](c).select(!a):e.shiftKey?"cell"===s?r(t,c,l._select_lastCell||null):d(t,s,c,l._select_lastCell?l._select_lastCell[s]:null):(o=t[s+"s"]({selected:!0}),a&&1===o.flatten().length?t[s](c).deselect():(o.deselect(),t[s](c).select())):"multi+shift"==n&&e.shiftKey?"cell"===s?r(t,c,l._select_lastCell||null):d(t,s,c,l._select_lastCell?l._select_lastCell[s]:null):t[s](c).select(!a))}function _(e){return e.id.replace(/[^a-zA-Z0-9\-\_]/g,"-")}p.select={},p.select.classes={checkbox:"dt-select-checkbox"},p.select.version="2.1.0",p.select.init=function(o){var e,t,l,s,c,n,a,i,r,u,d,f,h,_=o.settings()[0];if(!p.versionCheck("2"))throw"Warning: Select requires DataTables 2 or newer";!_._select&&(e=o.state.loaded(),t=function(e,t,l){if(null!==l&&void 0!==l.select){if(o.rows({selected:!0}).any()&&o.rows().deselect(),void 0!==l.select.rows&&o.rows(l.select.rows).select(),o.columns({selected:!0}).any()&&o.columns().deselect(),void 0!==l.select.columns&&o.columns(l.select.columns).select(),o.cells({selected:!0}).any()&&o.cells().deselect(),void 0!==l.select.cells)for(var s=0;s<l.select.cells.length;s++)o.cell(l.select.cells[s].row,l.select.cells[s].column).select();o.state.save()}},o.on("stateSaveParams",function(e,t,l){l.select={},l.select.rows=o.rows({selected:!0}).ids(!0).toArray(),l.select.columns=o.columns({selected:!0})[0],l.select.cells=o.cells({selected:!0})[0].map(function(e){return{row:o.row(e.row).id(!0),column:e.column}})}).on("stateLoadParams",t).one("init",function(){t(0,0,e)}),s=_.oInit.select,l=p.defaults.select,l=void 0===s?l:s,s="row",a=!(n=!(c="api")),u="td, th",d="selected",h=!(f=r=!(i=null)),_._select={infoEls:[]},!0===l?(c="os",h=!0):"string"==typeof l?(c=l,h=!0):m.isPlainObject(l)&&(void 0!==l.blurable&&(n=l.blurable),void 0!==l.toggleable&&(a=l.toggleable),void 0!==l.info&&(r=l.info),void 0!==l.items&&(s=l.items),h=(c=void 0!==l.style?l.style:"os",!0),void 0!==l.selector&&(u=l.selector),void 0!==l.className&&(d=l.className),void 0!==l.headerCheckbox&&(f=l.headerCheckbox),void 0!==l.selectable)&&(i=l.selectable),o.select.selector(u),o.select.items(s),o.select.style(c),o.select.blurable(n),o.select.toggleable(a),o.select.info(r),o.select.selectable(i),_._select.className=d,!h&&m(o.table().node()).hasClass("selectable")&&o.select.style("os"),f||"select-page"===f||"select-all"===f)&&o.ready(function(){var c,n,l;n=f,l=(c=o).settings()[0].aoColumns,c.columns().iterator("column",function(e,t){var s;b(l[t])&&(t=c.column(t).header(),m("input",t).length||(s=m("<input>").attr({class:v(!0),type:"checkbox","aria-label":c.i18n("select.aria.headerCheckbox")||"Select all rows"}).appendTo(t).on("change",function(){this.checked?("select-page"==n?c.rows({page:"current"}):c.rows({search:"applied"})).select():("select-page"==n?c.rows({page:"current",selected:!0}):c.rows({selected:!0})).deselect()}).on("click",function(e){e.stopPropagation()}),c.on("draw select deselect",function(e,t,l){"row"!==l&&l||((l=function(e,t){var l=e.settings()[0],s=l._select.selectable,c=0,n=("select-page"==t?e.rows({page:"current",selected:!0}):e.rows({selected:!0})).count(),o=("select-page"==t?e.rows({page:"current",selected:!0}):e.rows({search:"applied",selected:!0})).count();if(s)for(var a=("select-page"==t?e.rows({page:"current"}):e.rows({search:"applied"})).indexes(),i=0;i<a.length;i++){var r=l.aoData[a[i]];s(r._aData,r.nTr,a[i])&&c++}else c=("select-page"==t?e.rows({page:"current"}):e.rows({search:"applied"})).count();return{available:c,count:n,search:o}}(c,n)).search&&l.search<=l.count&&l.search===l.available?s.prop("checked",!0).prop("indeterminate",!1):0===l.search&&0===l.count?s.prop("checked",!1).prop("indeterminate",!1):s.prop("checked",!1).prop("indeterminate",!0))})))})})},m.each([{type:"row",prop:"aoData"},{type:"column",prop:"aoColumns"}],function(e,i){p.ext.selector[i.type].push(function(e,t,l){var s,c=t.selected,n=[];if(!0!==c&&!1!==c)return l;for(var o=0,a=l.length;o<a;o++)(s=e[i.prop][l[o]])&&(!0===c&&!0===s._select_selected||!1===c&&!s._select_selected)&&n.push(l[o]);return n})}),p.ext.selector.cell.push(function(e,t,l){var s,c=t.selected,n=[];if(void 0===c)return l;for(var o=0,a=l.length;o<a;o++)(s=e.aoData[l[o].row])&&(!0===c&&s._selected_cells&&!0===s._selected_cells[l[o].column]||!1===c&&(!s._selected_cells||!s._selected_cells[l[o].column]))&&n.push(l[o]);return n});var t=p.Api.register,l=p.Api.registerPlural;function a(t,l){return function(e){return e.i18n("buttons."+t,l)}}function w(e){e=e._eventNamespace;return"draw.dt.DT"+e+" select.dt.DT"+e+" deselect.dt.DT"+e}t("select()",function(){return this.iterator("table",function(e){p.select.init(new p.Api(e))})}),t("select.blurable()",function(t){return void 0===t?this.context[0]._select.blurable:this.iterator("table",function(e){e._select.blurable=t})}),t("select.toggleable()",function(t){return void 0===t?this.context[0]._select.toggleable:this.iterator("table",function(e){e._select.toggleable=t})}),t("select.info()",function(t){return void 0===t?this.context[0]._select.info:this.iterator("table",function(e){e._select.info=t})}),t("select.items()",function(t){return void 0===t?this.context[0]._select.items:this.iterator("table",function(e){e._select.items=t,u(new p.Api(e),"selectItems",[t])})}),t("select.style()",function(l){return void 0===l?this.context[0]._select.style:this.iterator("table",function(e){e._select||p.select.init(new p.Api(e)),e._select_init||o(e),e._select.style=l;var t=new p.Api(e);"api"!==l?t.ready(function(){c(t),n(t)}):c(t),u(new p.Api(e),"selectStyle",[l])})}),t("select.selector()",function(s){return void 0===s?this.context[0]._select.selector:this.iterator("table",function(e){var t=new p.Api(e),l=e._select.style;c(t),e._select.selector=s,l&&"api"!==l?t.ready(function(){c(t),n(t)}):c(t)})}),t("select.selectable()",function(e){var t=this.context[0];return e?(t._select.selectable=e,this):t._select.selectable}),t("select.last()",function(e){var t=this.context[0];return e?(t._select_lastCell=e,this):t._select_lastCell}),t("select.cumulative()",function(){var e=this.context[0];return e&&e._select_set?e._select_set:[]}),l("rows().select()","row().select()",function(e){var o=this,a=[];return!1===e?this.deselect():(this.iterator("row",function(e,t){f(e);var l=e.aoData[t],s=e.aoColumns;if(e._select.selectable&&!1===e._select.selectable(l._aData,l.nTr,t))return;m(l.nTr).addClass(e._select.className),l._select_selected=!0,a.push(t);for(var c=0;c<s.length;c++){var n=s[c];null===n.sType&&o.columns().types(),b(n)&&((n=l.anCells)&&n[c]&&m("input."+v(!0),n[c]).prop("checked",!0),null!==l._aSortData)&&(l._aSortData[c]=null)}}),this.iterator("table",function(e){u(o,"select",["row",a],!0)}),this)}),t("row().selected()",function(){var e=this.context[0];return!!(e&&this.length&&e.aoData[this[0]]&&e.aoData[this[0]]._select_selected)}),l("columns().select()","column().select()",function(e){var l=this;return!1===e?this.deselect():(this.iterator("column",function(e,t){f(e),e.aoColumns[t]._select_selected=!0;t=new p.Api(e).column(t);m(t.header()).addClass(e._select.className),m(t.footer()).addClass(e._select.className),t.nodes().to$().addClass(e._select.className)}),this.iterator("table",function(e,t){u(l,"select",["column",l[t]],!0)}),this)}),t("column().selected()",function(){var e=this.context[0];return!!(e&&this.length&&e.aoColumns[this[0]]&&e.aoColumns[this[0]]._select_selected)}),l("cells().select()","cell().select()",function(e){var l=this;return!1===e?this.deselect():(this.iterator("cell",function(e,t,l){f(e);t=e.aoData[t];void 0===t._selected_cells&&(t._selected_cells=[]),t._selected_cells[l]=!0,t.anCells&&m(t.anCells[l]).addClass(e._select.className)}),this.iterator("table",function(e,t){u(l,"select",["cell",l.cells(l[t]).indexes().toArray()],!0)}),this)}),t("cell().selected()",function(){var e=this.context[0];if(e&&this.length){e=e.aoData[this[0][0].row];if(e&&e._selected_cells&&e._selected_cells[this[0][0].column])return!0}return!1}),l("rows().deselect()","row().deselect()",function(){var o=this;return this.iterator("row",function(e,t){var l=e.aoData[t],s=e.aoColumns;m(l.nTr).removeClass(e._select.className),l._select_selected=!1,e._select_lastCell=null;for(var c=0;c<s.length;c++){var n=s[c];null===n.sType&&o.columns().types(),b(n)&&((n=l.anCells)&&n[c]&&m("input."+v(!0),l.anCells[c]).prop("checked",!1),null!==l._aSortData)&&(l._aSortData[c]=null)}}),this.iterator("table",function(e,t){u(o,"deselect",["row",o[t]],!0)}),this}),l("columns().deselect()","column().deselect()",function(){var l=this;return this.iterator("column",function(s,e){s.aoColumns[e]._select_selected=!1;var t=new p.Api(s),l=t.column(e);m(l.header()).removeClass(s._select.className),m(l.footer()).removeClass(s._select.className),t.cells(null,e).indexes().each(function(e){var t=s.aoData[e.row],l=t._selected_cells;!t.anCells||l&&l[e.column]||m(t.anCells[e.column]).removeClass(s._select.className)})}),this.iterator("table",function(e,t){u(l,"deselect",["column",l[t]],!0)}),this}),l("cells().deselect()","cell().deselect()",function(){var l=this;return this.iterator("cell",function(e,t,l){t=e.aoData[t];void 0!==t._selected_cells&&(t._selected_cells[l]=!1),t.anCells&&!e.aoColumns[l]._select_selected&&m(t.anCells[l]).removeClass(e._select.className)}),this.iterator("table",function(e,t){u(l,"deselect",["cell",l[t]],!0)}),this});var g=0;return m.extend(p.ext.buttons,{selected:{text:a("selected","Selected"),className:"buttons-selected",limitTo:["rows","columns","cells"],init:function(l,e,s){var c=this;s._eventNamespace=".select"+g++,l.on(w(s),function(){var e,t;c.enable((e=l,!(-1===(t=s).limitTo.indexOf("rows")||!e.rows({selected:!0}).any())||!(-1===t.limitTo.indexOf("columns")||!e.columns({selected:!0}).any())||!(-1===t.limitTo.indexOf("cells")||!e.cells({selected:!0}).any())))}),this.disable()},destroy:function(e,t,l){e.off(l._eventNamespace)}},selectedSingle:{text:a("selectedSingle","Selected single"),className:"buttons-selected-single",init:function(t,e,l){var s=this;l._eventNamespace=".select"+g++,t.on(w(l),function(){var e=t.rows({selected:!0}).flatten().length+t.columns({selected:!0}).flatten().length+t.cells({selected:!0}).flatten().length;s.enable(1===e)}),this.disable()},destroy:function(e,t,l){e.off(l._eventNamespace)}},selectAll:{text:a("selectAll","Select all"),className:"buttons-select-all",action:function(e,t,l,s){var c=this.select.items(),n=s.selectorModifier;(n?("function"==typeof n&&(n=n.call(t,e,t,l,s)),this[c+"s"](n)):this[c+"s"]()).select()}},selectNone:{text:a("selectNone","Deselect all"),className:"buttons-select-none",action:function(){f(this.settings()[0],!0)},init:function(t,e,l){var s=this;l._eventNamespace=".select"+g++,t.on(w(l),function(){var e=t.rows({selected:!0}).flatten().length+t.columns({selected:!0}).flatten().length+t.cells({selected:!0}).flatten().length;s.enable(0<e)}),this.disable()},destroy:function(e,t,l){e.off(l._eventNamespace)}},showSelected:{text:a("showSelected","Show only selected"),className:"buttons-show-selected",action:function(e,t){var s;t.search.fixed("dt-select")?(t.search.fixed("dt-select",null),this.active(!1)):(s=t.settings()[0].aoData,t.search.fixed("dt-select",function(e,t,l){return s[l]._select_selected}),this.active(!0)),t.draw()}}}),m.each(["Row","Column","Cell"],function(e,t){var c=t.toLowerCase();p.ext.buttons["select"+t+"s"]={text:a("select"+t+"s","Select "+c+"s"),className:"buttons-select-"+c+"s",action:function(){this.select.items(c)},init:function(e){var s=this;this.active(e.select.items()===c),e.on("selectItems.dt.DT",function(e,t,l){s.active(l===c)})}}}),p.type("select-checkbox",{className:"dt-select",detect:p.versionCheck("2.1")?{oneOf:function(){return!1},allOf:function(){return!1},init:function(e,t,l){return b(t)}}:function(e){return"select-checkbox"===e&&e},order:{pre:function(e){return"X"===e?-1:0}}}),m.extend(!0,p.defaults.oLanguage,{select:{aria:{rowCheckbox:"Select row"}}}),p.render.select=function(e,t){function l(e,t,l,s){var c=s.settings.aoData[s.row],n=c._select_selected,o=s.settings.oLanguage.select.aria.rowCheckbox,a=s.settings._select.selectable;return"display"!==t?"type"===t?"select-checkbox":"filter"!==t&&n?"X":"":a&&!1===a(l,c.nTr,s.row)?"":m("<input>").attr({"aria-label":o,class:v(),name:r?r(l):null,type:"checkbox",value:i?i(l):null,checked:n}).on("input",function(e){e.preventDefault(),this.checked=m(this).closest("tr").hasClass("selected")})[0]}var i=e?p.util.get(e):null,r=t?p.util.get(t):null;return l._name="selectCheckbox",l},p.ext.order["select-checkbox"]=function(t,e){return this.api().column(e,{order:"index"}).nodes().map(function(e){return"row"===t._select.items?m(e).parent().hasClass(t._select.className).toString():"cell"===t._select.items&&m(e).hasClass(t._select.className).toString()})},m.fn.DataTable.select=p.select,m(e).on("i18n.dt.dtSelect preInit.dt.dtSelect",function(e,t){"dt"===e.namespace&&p.select.init(new p.Api(t))}),p});
@@ -114,7 +114,7 @@
114
114
  "datatables-extension": "searchpanes"
115
115
  },
116
116
  "DataTables-Select": {
117
- "version": "2.0.5",
117
+ "version": "2.1.0",
118
118
  "datatables-extension": "select"
119
119
  },
120
120
  "DataTables-StateRestore": {
@@ -191,7 +191,7 @@
191
191
  "jsdelivr-dist": ""
192
192
  },
193
193
  "jstree": {
194
- "version": "3.3.16",
194
+ "version": "3.3.17",
195
195
  "cdnjs": ""
196
196
  },
197
197
  "leaflet": {