primereact 7.0.1 → 7.1.0

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.
Files changed (314) hide show
  1. package/README.md +1 -1
  2. package/accordion/accordion.cjs.js +12 -6
  3. package/accordion/accordion.cjs.min.js +1 -1
  4. package/accordion/accordion.d.ts +5 -2
  5. package/accordion/accordion.esm.js +12 -6
  6. package/accordion/accordion.esm.min.js +1 -1
  7. package/accordion/accordion.js +12 -6
  8. package/accordion/accordion.min.js +1 -1
  9. package/api/api.cjs.js +2 -0
  10. package/api/api.cjs.min.js +1 -1
  11. package/api/api.d.ts +30 -30
  12. package/api/api.esm.js +2 -0
  13. package/api/api.esm.min.js +1 -1
  14. package/api/api.js +2 -0
  15. package/api/api.min.js +1 -1
  16. package/autocomplete/autocomplete.cjs.js +4 -4
  17. package/autocomplete/autocomplete.cjs.min.js +1 -1
  18. package/autocomplete/autocomplete.d.ts +9 -4
  19. package/autocomplete/autocomplete.esm.js +4 -4
  20. package/autocomplete/autocomplete.esm.min.js +1 -1
  21. package/autocomplete/autocomplete.js +4 -4
  22. package/autocomplete/autocomplete.min.js +1 -1
  23. package/avatar/avatar.d.ts +1 -1
  24. package/blockui/blockui.cjs.js +12 -5
  25. package/blockui/blockui.cjs.min.js +1 -1
  26. package/blockui/blockui.esm.js +12 -5
  27. package/blockui/blockui.esm.min.js +1 -1
  28. package/blockui/blockui.js +12 -5
  29. package/blockui/blockui.min.js +1 -1
  30. package/button/button.d.ts +1 -1
  31. package/calendar/calendar.cjs.js +22 -3
  32. package/calendar/calendar.cjs.min.js +1 -1
  33. package/calendar/calendar.d.ts +3 -2
  34. package/calendar/calendar.esm.js +22 -3
  35. package/calendar/calendar.esm.min.js +1 -1
  36. package/calendar/calendar.js +22 -3
  37. package/calendar/calendar.min.js +1 -1
  38. package/carousel/carousel.cjs.js +8 -9
  39. package/carousel/carousel.cjs.min.js +1 -1
  40. package/carousel/carousel.esm.js +8 -9
  41. package/carousel/carousel.esm.min.js +1 -1
  42. package/carousel/carousel.js +8 -9
  43. package/carousel/carousel.min.js +1 -1
  44. package/cascadeselect/cascadeselect.cjs.js +1 -1
  45. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  46. package/cascadeselect/cascadeselect.d.ts +2 -1
  47. package/cascadeselect/cascadeselect.esm.js +1 -1
  48. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  49. package/cascadeselect/cascadeselect.js +1 -1
  50. package/cascadeselect/cascadeselect.min.js +1 -1
  51. package/checkbox/checkbox.d.ts +1 -1
  52. package/chip/chip.d.ts +1 -1
  53. package/colorpicker/colorpicker.cjs.js +1 -1
  54. package/colorpicker/colorpicker.cjs.min.js +1 -1
  55. package/colorpicker/colorpicker.d.ts +19 -5
  56. package/colorpicker/colorpicker.esm.js +1 -1
  57. package/colorpicker/colorpicker.esm.min.js +1 -1
  58. package/colorpicker/colorpicker.js +1 -1
  59. package/colorpicker/colorpicker.min.js +1 -1
  60. package/column/column.d.ts +1 -1
  61. package/confirmdialog/confirmdialog.d.ts +1 -1
  62. package/confirmpopup/confirmpopup.cjs.js +2 -2
  63. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  64. package/confirmpopup/confirmpopup.d.ts +3 -2
  65. package/confirmpopup/confirmpopup.esm.js +2 -2
  66. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  67. package/confirmpopup/confirmpopup.js +2 -2
  68. package/confirmpopup/confirmpopup.min.js +1 -1
  69. package/contextmenu/contextmenu.cjs.js +1 -1
  70. package/contextmenu/contextmenu.cjs.min.js +1 -1
  71. package/contextmenu/contextmenu.d.ts +2 -1
  72. package/contextmenu/contextmenu.esm.js +1 -1
  73. package/contextmenu/contextmenu.esm.min.js +1 -1
  74. package/contextmenu/contextmenu.js +1 -1
  75. package/contextmenu/contextmenu.min.js +1 -1
  76. package/core/core.js +185 -68
  77. package/core/core.min.js +9 -9
  78. package/csstransition/csstransition.cjs.js +49 -19
  79. package/csstransition/csstransition.cjs.min.js +1 -1
  80. package/csstransition/csstransition.d.ts +8 -0
  81. package/csstransition/csstransition.esm.js +48 -19
  82. package/csstransition/csstransition.esm.min.js +1 -1
  83. package/csstransition/csstransition.js +49 -21
  84. package/csstransition/csstransition.min.js +1 -1
  85. package/csstransition/package.json +2 -1
  86. package/datatable/datatable.cjs.js +238 -186
  87. package/datatable/datatable.cjs.min.js +1 -1
  88. package/datatable/datatable.d.ts +25 -11
  89. package/datatable/datatable.esm.js +238 -186
  90. package/datatable/datatable.esm.min.js +1 -1
  91. package/datatable/datatable.js +238 -186
  92. package/datatable/datatable.min.js +1 -1
  93. package/dialog/dialog.cjs.js +2 -8
  94. package/dialog/dialog.cjs.min.js +1 -1
  95. package/dialog/dialog.d.ts +2 -1
  96. package/dialog/dialog.esm.js +2 -8
  97. package/dialog/dialog.esm.min.js +1 -1
  98. package/dialog/dialog.js +2 -8
  99. package/dialog/dialog.min.js +1 -1
  100. package/dropdown/dropdown.cjs.js +14 -4
  101. package/dropdown/dropdown.cjs.min.js +1 -1
  102. package/dropdown/dropdown.d.ts +2 -1
  103. package/dropdown/dropdown.esm.js +14 -4
  104. package/dropdown/dropdown.esm.min.js +1 -1
  105. package/dropdown/dropdown.js +14 -4
  106. package/dropdown/dropdown.min.js +1 -1
  107. package/editor/editor.cjs.js +6 -2
  108. package/editor/editor.cjs.min.js +1 -1
  109. package/editor/editor.d.ts +1 -0
  110. package/editor/editor.esm.js +6 -2
  111. package/editor/editor.esm.min.js +1 -1
  112. package/editor/editor.js +6 -2
  113. package/editor/editor.min.js +1 -1
  114. package/fieldset/fieldset.d.ts +2 -1
  115. package/fileupload/fileupload.d.ts +1 -1
  116. package/galleria/galleria.cjs.js +1 -2
  117. package/galleria/galleria.cjs.min.js +1 -1
  118. package/galleria/galleria.d.ts +2 -1
  119. package/galleria/galleria.esm.js +1 -2
  120. package/galleria/galleria.esm.min.js +1 -1
  121. package/galleria/galleria.js +1 -2
  122. package/galleria/galleria.min.js +1 -1
  123. package/inputmask/inputmask.cjs.js +2 -2
  124. package/inputmask/inputmask.cjs.min.js +1 -1
  125. package/inputmask/inputmask.d.ts +1 -1
  126. package/inputmask/inputmask.esm.js +2 -2
  127. package/inputmask/inputmask.esm.min.js +1 -1
  128. package/inputmask/inputmask.js +2 -2
  129. package/inputmask/inputmask.min.js +1 -1
  130. package/inputnumber/inputnumber.cjs.js +10 -5
  131. package/inputnumber/inputnumber.cjs.min.js +1 -1
  132. package/inputnumber/inputnumber.d.ts +4 -4
  133. package/inputnumber/inputnumber.esm.js +10 -5
  134. package/inputnumber/inputnumber.esm.min.js +1 -1
  135. package/inputnumber/inputnumber.js +10 -5
  136. package/inputnumber/inputnumber.min.js +1 -1
  137. package/mention/mention.cjs.js +1 -1
  138. package/mention/mention.cjs.min.js +1 -1
  139. package/mention/mention.d.ts +2 -1
  140. package/mention/mention.esm.js +1 -1
  141. package/mention/mention.esm.min.js +1 -1
  142. package/mention/mention.js +1 -1
  143. package/mention/mention.min.js +1 -1
  144. package/menu/menu.cjs.js +1 -1
  145. package/menu/menu.cjs.min.js +1 -1
  146. package/menu/menu.d.ts +2 -1
  147. package/menu/menu.esm.js +1 -1
  148. package/menu/menu.esm.min.js +1 -1
  149. package/menu/menu.js +1 -1
  150. package/menu/menu.min.js +1 -1
  151. package/menubar/menubar.min.css +1 -1
  152. package/messages/messages.d.ts +2 -1
  153. package/multiselect/multiselect.cjs.js +2 -2
  154. package/multiselect/multiselect.cjs.min.js +1 -1
  155. package/multiselect/multiselect.d.ts +3 -2
  156. package/multiselect/multiselect.esm.js +2 -2
  157. package/multiselect/multiselect.esm.min.js +1 -1
  158. package/multiselect/multiselect.js +2 -2
  159. package/multiselect/multiselect.min.js +1 -1
  160. package/multistatecheckbox/multistatecheckbox.d.ts +1 -1
  161. package/organizationchart/organizationchart.min.css +1 -1
  162. package/overlaypanel/overlaypanel.cjs.js +3 -7
  163. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  164. package/overlaypanel/overlaypanel.d.ts +2 -1
  165. package/overlaypanel/overlaypanel.esm.js +3 -7
  166. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  167. package/overlaypanel/overlaypanel.js +3 -7
  168. package/overlaypanel/overlaypanel.min.js +1 -1
  169. package/package.json +3 -2
  170. package/panel/panel.cjs.js +3 -2
  171. package/panel/panel.cjs.min.js +1 -1
  172. package/panel/panel.d.ts +5 -3
  173. package/panel/panel.esm.js +4 -3
  174. package/panel/panel.esm.min.js +1 -1
  175. package/panel/panel.js +3 -2
  176. package/panel/panel.min.js +1 -1
  177. package/panelmenu/panelmenu.d.ts +2 -1
  178. package/password/password.cjs.js +1 -1
  179. package/password/password.cjs.min.js +1 -1
  180. package/password/password.d.ts +2 -1
  181. package/password/password.esm.js +1 -1
  182. package/password/password.esm.min.js +1 -1
  183. package/password/password.js +1 -1
  184. package/password/password.min.js +1 -1
  185. package/portal/portal.cjs.js +2 -6
  186. package/portal/portal.cjs.min.js +1 -1
  187. package/portal/portal.esm.js +2 -6
  188. package/portal/portal.esm.min.js +1 -1
  189. package/portal/portal.js +3 -8
  190. package/portal/portal.min.js +1 -1
  191. package/primereact.all.cjs.js +850 -630
  192. package/primereact.all.cjs.min.js +1 -1
  193. package/primereact.all.esm.js +850 -630
  194. package/primereact.all.esm.min.js +1 -1
  195. package/primereact.all.js +850 -630
  196. package/primereact.all.min.js +1 -1
  197. package/resources/primereact.css +356 -354
  198. package/resources/primereact.min.css +1 -1
  199. package/resources/themes/arya-blue/theme.css +4 -0
  200. package/resources/themes/arya-green/theme.css +4 -0
  201. package/resources/themes/arya-orange/theme.css +4 -0
  202. package/resources/themes/arya-purple/theme.css +4 -0
  203. package/resources/themes/bootstrap4-dark-blue/theme.css +4 -0
  204. package/resources/themes/bootstrap4-dark-purple/theme.css +4 -0
  205. package/resources/themes/bootstrap4-light-blue/theme.css +4 -0
  206. package/resources/themes/bootstrap4-light-purple/theme.css +4 -0
  207. package/resources/themes/fluent-light/theme.css +4 -0
  208. package/resources/themes/lara-dark-blue/theme.css +26 -22
  209. package/resources/themes/lara-dark-indigo/theme.css +26 -22
  210. package/resources/themes/lara-dark-purple/theme.css +26 -22
  211. package/resources/themes/lara-dark-teal/theme.css +26 -22
  212. package/resources/themes/lara-light-blue/theme.css +4 -0
  213. package/resources/themes/lara-light-indigo/theme.css +4 -0
  214. package/resources/themes/lara-light-purple/theme.css +4 -0
  215. package/resources/themes/lara-light-teal/theme.css +4 -0
  216. package/resources/themes/luna-amber/theme.css +4 -0
  217. package/resources/themes/luna-blue/theme.css +4 -0
  218. package/resources/themes/luna-green/theme.css +4 -0
  219. package/resources/themes/luna-pink/theme.css +4 -0
  220. package/resources/themes/md-dark-deeppurple/theme.css +4 -0
  221. package/resources/themes/md-dark-indigo/theme.css +4 -0
  222. package/resources/themes/md-light-deeppurple/theme.css +4 -0
  223. package/resources/themes/md-light-indigo/theme.css +4 -0
  224. package/resources/themes/mdc-dark-deeppurple/theme.css +4 -0
  225. package/resources/themes/mdc-dark-indigo/theme.css +4 -0
  226. package/resources/themes/mdc-light-deeppurple/theme.css +4 -0
  227. package/resources/themes/mdc-light-indigo/theme.css +4 -0
  228. package/resources/themes/nova/theme.css +4 -0
  229. package/resources/themes/nova-accent/theme.css +4 -0
  230. package/resources/themes/nova-alt/theme.css +4 -0
  231. package/resources/themes/rhea/theme.css +4 -0
  232. package/resources/themes/saga-blue/theme.css +4 -0
  233. package/resources/themes/saga-green/theme.css +4 -0
  234. package/resources/themes/saga-orange/theme.css +4 -0
  235. package/resources/themes/saga-purple/theme.css +4 -0
  236. package/resources/themes/tailwind-light/theme.css +4 -0
  237. package/resources/themes/vela-blue/theme.css +4 -0
  238. package/resources/themes/vela-green/theme.css +4 -0
  239. package/resources/themes/vela-orange/theme.css +4 -0
  240. package/resources/themes/vela-purple/theme.css +4 -0
  241. package/scrolltop/scrolltop.d.ts +3 -2
  242. package/selectitem/selectitem.d.ts +1 -1
  243. package/sidebar/sidebar.d.ts +2 -1
  244. package/slidemenu/slidemenu.cjs.js +1 -1
  245. package/slidemenu/slidemenu.cjs.min.js +1 -1
  246. package/slidemenu/slidemenu.d.ts +2 -1
  247. package/slidemenu/slidemenu.esm.js +1 -1
  248. package/slidemenu/slidemenu.esm.min.js +1 -1
  249. package/slidemenu/slidemenu.js +1 -1
  250. package/slidemenu/slidemenu.min.js +1 -1
  251. package/speeddial/speeddial.d.ts +1 -1
  252. package/splitbutton/splitbutton.cjs.js +7 -3
  253. package/splitbutton/splitbutton.cjs.min.js +1 -1
  254. package/splitbutton/splitbutton.d.ts +5 -2
  255. package/splitbutton/splitbutton.esm.js +7 -3
  256. package/splitbutton/splitbutton.esm.min.js +1 -1
  257. package/splitbutton/splitbutton.js +7 -3
  258. package/splitbutton/splitbutton.min.js +1 -1
  259. package/tabview/tabview.cjs.js +21 -4
  260. package/tabview/tabview.cjs.min.js +1 -1
  261. package/tabview/tabview.d.ts +8 -0
  262. package/tabview/tabview.esm.js +21 -4
  263. package/tabview/tabview.esm.min.js +1 -1
  264. package/tabview/tabview.js +21 -4
  265. package/tabview/tabview.min.js +1 -1
  266. package/tag/tag.d.ts +1 -1
  267. package/tieredmenu/tieredmenu.cjs.js +1 -1
  268. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  269. package/tieredmenu/tieredmenu.d.ts +2 -1
  270. package/tieredmenu/tieredmenu.esm.js +1 -1
  271. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  272. package/tieredmenu/tieredmenu.js +1 -1
  273. package/tieredmenu/tieredmenu.min.js +1 -1
  274. package/toast/toast.d.ts +2 -1
  275. package/togglebutton/togglebutton.d.ts +1 -1
  276. package/tooltip/tooltip.cjs.js +32 -6
  277. package/tooltip/tooltip.cjs.min.js +1 -1
  278. package/tooltip/tooltip.d.ts +0 -1
  279. package/tooltip/tooltip.esm.js +32 -6
  280. package/tooltip/tooltip.esm.min.js +1 -1
  281. package/tooltip/tooltip.js +32 -6
  282. package/tooltip/tooltip.min.js +1 -1
  283. package/tooltip/tooltipoptions.d.ts +2 -0
  284. package/tree/tree.d.ts +8 -4
  285. package/treenode/treenode.d.ts +1 -1
  286. package/treeselect/treeselect.cjs.js +1 -1
  287. package/treeselect/treeselect.cjs.min.js +1 -1
  288. package/treeselect/treeselect.d.ts +2 -1
  289. package/treeselect/treeselect.esm.js +1 -1
  290. package/treeselect/treeselect.esm.min.js +1 -1
  291. package/treeselect/treeselect.js +1 -1
  292. package/treeselect/treeselect.min.js +1 -1
  293. package/treetable/treetable.cjs.js +48 -1
  294. package/treetable/treetable.cjs.min.js +1 -1
  295. package/treetable/treetable.d.ts +1 -1
  296. package/treetable/treetable.esm.js +48 -1
  297. package/treetable/treetable.esm.min.js +1 -1
  298. package/treetable/treetable.js +48 -1
  299. package/treetable/treetable.min.js +1 -1
  300. package/utils/utils.cjs.js +48 -1
  301. package/utils/utils.cjs.min.js +1 -1
  302. package/utils/utils.d.ts +1 -0
  303. package/utils/utils.esm.js +48 -1
  304. package/utils/utils.esm.min.js +1 -1
  305. package/utils/utils.js +48 -1
  306. package/utils/utils.min.js +1 -1
  307. package/virtualscroller/virtualscroller.cjs.js +27 -17
  308. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  309. package/virtualscroller/virtualscroller.esm.js +27 -17
  310. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  311. package/virtualscroller/virtualscroller.js +27 -17
  312. package/virtualscroller/virtualscroller.min.js +1 -1
  313. package/web-types.json +2 -2
  314. package/util.d.ts +0 -1
@@ -1046,26 +1046,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
1046
1046
  props: this.props.tableProps
1047
1047
  }));
1048
1048
 
1049
- if (body && !this.state.editing) {
1050
- content = body ? utils.ObjectUtils.getJSXElement(body, this.props.rowData, {
1051
- column: this.props.column,
1052
- field: this.field,
1053
- rowIndex: this.props.rowIndex,
1054
- frozenRow: this.props.frozenRow,
1055
- props: this.props.tableProps
1056
- }) : value;
1057
- } else if (editor && this.state.editing) {
1058
- content = utils.ObjectUtils.getJSXElement(editor, {
1059
- rowData: this.state.editingRowData,
1060
- value: this.resolveFieldData(this.state.editingRowData),
1061
- column: this.props.column,
1062
- field: this.field,
1063
- rowIndex: this.props.rowIndex,
1064
- frozenRow: this.props.frozenRow,
1065
- props: this.props.tableProps,
1066
- editorCallback: this.editorCallback
1067
- });
1068
- } else if (selectionMode) {
1049
+ if (selectionMode) {
1069
1050
  var showSelection = this.props.showSelectionElement ? this.props.showSelectionElement(this.props.rowData, {
1070
1051
  rowIndex: this.props.rowIndex,
1071
1052
  props: this.props.tableProps
@@ -1176,6 +1157,25 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
1176
1157
  rowEditor: rowEditorProps
1177
1158
  });
1178
1159
  }
1160
+ } else if (body && !this.state.editing) {
1161
+ content = body ? utils.ObjectUtils.getJSXElement(body, this.props.rowData, {
1162
+ column: this.props.column,
1163
+ field: this.field,
1164
+ rowIndex: this.props.rowIndex,
1165
+ frozenRow: this.props.frozenRow,
1166
+ props: this.props.tableProps
1167
+ }) : value;
1168
+ } else if (editor && this.state.editing) {
1169
+ content = utils.ObjectUtils.getJSXElement(editor, {
1170
+ rowData: this.state.editingRowData,
1171
+ value: this.resolveFieldData(this.state.editingRowData),
1172
+ column: this.props.column,
1173
+ field: this.field,
1174
+ rowIndex: this.props.rowIndex,
1175
+ frozenRow: this.props.frozenRow,
1176
+ props: this.props.tableProps,
1177
+ editorCallback: this.editorCallback
1178
+ });
1179
1179
  } else {
1180
1180
  content = value;
1181
1181
  }
@@ -1819,7 +1819,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
1819
1819
  }, {
1820
1820
  key: "equals",
1821
1821
  value: function equals(data1, data2) {
1822
- if (this.allowCellSelection()) return (data1.rowIndex === data2.rowIndex || data1.rowData === data2.rowData) && (data1.field === data2.field || data1.cellIndex === data2.cellIndex);else return this.compareSelectionBy === 'equals' ? data1 === data2 : utils.ObjectUtils.equals(data1, data2, this.props.dataKey);
1822
+ if (this.allowCellSelection()) return (data1.rowIndex === data2.rowIndex || data1.rowData === data2.rowData) && (data1.field === data2.field || data1.cellIndex === data2.cellIndex);else return this.props.compareSelectionBy === 'equals' ? data1 === data2 : utils.ObjectUtils.equals(data1, data2, this.props.dataKey);
1823
1823
  }
1824
1824
  }, {
1825
1825
  key: "isSubheaderGrouping",
@@ -2088,7 +2088,8 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
2088
2088
  if (this.props.onSelectionChange && selection !== this.props.selection) {
2089
2089
  this.props.onSelectionChange({
2090
2090
  originalEvent: originalEvent,
2091
- value: selection
2091
+ value: selection,
2092
+ type: type
2092
2093
  });
2093
2094
  }
2094
2095
  }
@@ -2144,13 +2145,14 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
2144
2145
  if (this.props.onSelectionChange && selection !== this.props.selection) {
2145
2146
  this.props.onSelectionChange({
2146
2147
  originalEvent: originalEvent,
2147
- value: selection
2148
+ value: selection,
2149
+ type: type
2148
2150
  });
2149
2151
  }
2150
2152
  }
2151
2153
  }, {
2152
2154
  key: "onRangeSelection",
2153
- value: function onRangeSelection(event) {
2155
+ value: function onRangeSelection(event, type) {
2154
2156
  utils.DomHandler.clearSelection();
2155
2157
  this.rangeRowIndex = this.allowCellSelection() ? event.rowIndex : event.index;
2156
2158
  var selectionInRange = this.selectRange(event);
@@ -2159,7 +2161,8 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
2159
2161
  if (this.props.onSelectionChange && selection !== this.props.selection) {
2160
2162
  this.props.onSelectionChange({
2161
2163
  originalEvent: event.originalEvent,
2162
- value: selection
2164
+ value: selection,
2165
+ type: type
2163
2166
  });
2164
2167
  }
2165
2168
 
@@ -2319,7 +2322,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
2319
2322
 
2320
2323
  if (this.allowRowSelection()) {
2321
2324
  if (this.allowRangeSelection(event)) {
2322
- this.onRangeSelection(event);
2325
+ this.onRangeSelection(event, 'row');
2323
2326
  } else {
2324
2327
  var toggleable = this.isRadioSelectionModeInColumn() || this.isCheckboxSelectionModeInColumn() || this.allowMetaKeySelection(event);
2325
2328
  this.anchorRowIndex = event.index;
@@ -2405,7 +2408,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
2405
2408
  var isSameRow = event.index === this.anchorRowIndex;
2406
2409
 
2407
2410
  if (this.allowRowDrag(event) && !isSameRow) {
2408
- this.onRangeSelection(event);
2411
+ this.onRangeSelection(event, 'row');
2409
2412
  }
2410
2413
  }
2411
2414
  }, {
@@ -2608,7 +2611,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
2608
2611
 
2609
2612
  if (this.allowCellSelection()) {
2610
2613
  if (this.allowRangeSelection(event)) {
2611
- this.onRangeSelection(event);
2614
+ this.onRangeSelection(event, 'cell');
2612
2615
  } else {
2613
2616
  var toggleable = this.allowMetaKeySelection(event);
2614
2617
 
@@ -2657,7 +2660,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
2657
2660
  var isSameCell = event.rowIndex === this.anchorRowIndex && event.cellIndex === this.anchorCellIndex;
2658
2661
 
2659
2662
  if (this.allowCellDrag(event) && !isSameCell) {
2660
- this.onRangeSelection(event);
2663
+ this.onRangeSelection(event, 'cell');
2661
2664
  }
2662
2665
  }
2663
2666
  }, {
@@ -3147,7 +3150,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
3147
3150
  });
3148
3151
  this.props.onChange({
3149
3152
  originalEvent: event,
3150
- checked: this.props.checked
3153
+ checked: !this.props.checked
3151
3154
  });
3152
3155
  }
3153
3156
  }
@@ -3293,7 +3296,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
3293
3296
  }, {
3294
3297
  key: "isRowMatchModeSelected",
3295
3298
  value: function isRowMatchModeSelected(matchMode) {
3296
- return this.filterModel.matchMode === matchMode;
3299
+ return this.filterModel && this.filterModel.matchMode === matchMode;
3297
3300
  }
3298
3301
  }, {
3299
3302
  key: "showMenuButton",
@@ -3586,7 +3589,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
3586
3589
  filters[this.field].constraints.push(newConstraint);
3587
3590
  filterConstraintAddCallback && filterConstraintAddCallback({
3588
3591
  field: this.field,
3589
- constraing: newConstraint
3592
+ constraint: newConstraint
3590
3593
  });
3591
3594
  this.props.onFilterChange(filters);
3592
3595
 
@@ -3604,7 +3607,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
3604
3607
  var removedConstraint = filters[this.field].constraints.splice(index, 1);
3605
3608
  filterConstraintRemoveCallback && filterConstraintRemoveCallback({
3606
3609
  field: this.field,
3607
- constraing: removedConstraint
3610
+ constraint: removedConstraint
3608
3611
  });
3609
3612
  this.props.onFilterChange(filters);
3610
3613
 
@@ -3738,7 +3741,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
3738
3741
 
3739
3742
  if (!this.resizeListener) {
3740
3743
  this.resizeListener = function () {
3741
- if (_this5.state.overlayVisible) {
3744
+ if (_this5.state.overlayVisible && !utils.DomHandler.isTouchDevice()) {
3742
3745
  _this5.hide();
3743
3746
  }
3744
3747
  };
@@ -3846,16 +3849,17 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
3846
3849
  value: function renderFilterElement(model, index) {
3847
3850
  var _this6 = this;
3848
3851
 
3852
+ var value = model ? model.value : null;
3849
3853
  return this.getColumnProp('filterElement') ? utils.ObjectUtils.getJSXElement(this.getColumnProp('filterElement'), {
3850
3854
  field: this.field,
3851
3855
  index: index,
3852
3856
  filterModel: model,
3853
- value: model.value,
3857
+ value: value,
3854
3858
  filterApplyCallback: this.filterApplyCallback,
3855
3859
  filterCallback: this.filterCallback
3856
3860
  }) : /*#__PURE__*/React__default["default"].createElement(inputtext.InputText, {
3857
3861
  type: this.getColumnProp('filterType'),
3858
- value: model.value || '',
3862
+ value: value || '',
3859
3863
  onChange: function onChange(e) {
3860
3864
  return _this6.onInputChange(e, index);
3861
3865
  },
@@ -4519,7 +4523,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
4519
4523
  }, {
4520
4524
  key: "renderCheckbox",
4521
4525
  value: function renderCheckbox() {
4522
- if (this.getColumnProp('selectionMode') === 'multiple' && this.props.filterDisplay !== 'row') {
4526
+ if (this.props.showSelectAll && this.getColumnProp('selectionMode') === 'multiple' && this.props.filterDisplay !== 'row') {
4523
4527
  var allRowsSelected = this.props.allRowsSelected(this.props.value);
4524
4528
  return /*#__PURE__*/React__default["default"].createElement(HeaderCheckbox, {
4525
4529
  checked: allRowsSelected,
@@ -4741,6 +4745,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
4741
4745
  onColumnResizeStart: _this3.props.onColumnResizeStart,
4742
4746
  onColumnResizerClick: _this3.props.onColumnResizerClick,
4743
4747
  onColumnResizerDoubleClick: _this3.props.onColumnResizerDoubleClick,
4748
+ showSelectAll: _this3.props.showSelectAll,
4744
4749
  allRowsSelected: _this3.props.allRowsSelected,
4745
4750
  onColumnCheckboxChange: _this3.onCheckboxChange,
4746
4751
  reorderableColumns: _this3.props.reorderableColumns,
@@ -4748,6 +4753,36 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
4748
4753
  });
4749
4754
  });
4750
4755
  }
4756
+ }, {
4757
+ key: "renderCheckbox",
4758
+ value: function renderCheckbox(selectionMode) {
4759
+ if (this.props.showSelectAll && selectionMode === 'multiple') {
4760
+ var allRowsSelected = this.props.allRowsSelected(this.props.value);
4761
+ return /*#__PURE__*/React__default["default"].createElement(HeaderCheckbox, {
4762
+ checked: allRowsSelected,
4763
+ onChange: this.onCheckboxChange,
4764
+ disabled: this.props.empty
4765
+ });
4766
+ }
4767
+
4768
+ return null;
4769
+ }
4770
+ }, {
4771
+ key: "renderFilter",
4772
+ value: function renderFilter(column, filter) {
4773
+ if (filter) {
4774
+ return /*#__PURE__*/React__default["default"].createElement(ColumnFilter, {
4775
+ display: "row",
4776
+ column: column,
4777
+ filters: this.props.filters,
4778
+ filtersStore: this.props.filtersStore,
4779
+ onFilterChange: this.props.onFilterChange,
4780
+ onFilterApply: this.props.onFilterApply
4781
+ });
4782
+ }
4783
+
4784
+ return null;
4785
+ }
4751
4786
  }, {
4752
4787
  key: "renderFilterCells",
4753
4788
  value: function renderFilterCells() {
@@ -4775,24 +4810,15 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
4775
4810
  });
4776
4811
  var colKey = columnKey || field || i;
4777
4812
 
4778
- var allRowsSelected = selectionMode === 'multiple' && _this4.props.allRowsSelected(_this4.props.value);
4813
+ var checkbox = _this4.renderCheckbox(selectionMode);
4814
+
4815
+ var filterRow = _this4.renderFilter(col, filter);
4779
4816
 
4780
4817
  return /*#__PURE__*/React__default["default"].createElement("th", {
4781
4818
  key: colKey,
4782
4819
  style: colStyle,
4783
4820
  className: colClassName
4784
- }, selectionMode === 'multiple' && /*#__PURE__*/React__default["default"].createElement(HeaderCheckbox, {
4785
- checked: allRowsSelected,
4786
- onChange: _this4.onCheckboxChange,
4787
- disabled: _this4.props.empty
4788
- }), filter && /*#__PURE__*/React__default["default"].createElement(ColumnFilter, {
4789
- display: "row",
4790
- column: col,
4791
- filters: _this4.props.filters,
4792
- filtersStore: _this4.props.filtersStore,
4793
- onFilterChange: _this4.props.onFilterChange,
4794
- onFilterApply: _this4.props.onFilterApply
4795
- }));
4821
+ }, checkbox, filterRow);
4796
4822
  }
4797
4823
 
4798
4824
  return null;
@@ -4876,10 +4902,6 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
4876
4902
  _this.state.filters = props.filters;
4877
4903
  }
4878
4904
 
4879
- if (_this.isStateful()) {
4880
- _this.restoreState(_this.state);
4881
- }
4882
-
4883
4905
  _this.attributeSelector = utils.UniqueComponentId(); // header
4884
4906
 
4885
4907
  _this.onSortChange = _this.onSortChange.bind(_assertThisInitialized(_this));
@@ -4915,6 +4937,11 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
4915
4937
  value: function isVirtualScrollerDisabled() {
4916
4938
  return utils.ObjectUtils.isEmpty(this.props.virtualScrollerOptions) || !this.props.scrollable;
4917
4939
  }
4940
+ }, {
4941
+ key: "isEquals",
4942
+ value: function isEquals(data1, data2) {
4943
+ return this.props.compareSelectionBy === 'equals' ? data1 === data2 : utils.ObjectUtils.equals(data1, data2, this.props.dataKey);
4944
+ }
4918
4945
  }, {
4919
4946
  key: "hasFilter",
4920
4947
  value: function hasFilter() {
@@ -5122,7 +5149,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
5122
5149
  };
5123
5150
  };
5124
5151
 
5125
- this.props.onPage(getOnPageParams(restoredState.first, restoredState.rows));
5152
+ this.props.onPage(this.createEvent(getOnPageParams(restoredState.first, restoredState.rows)));
5126
5153
  } else {
5127
5154
  state.first = restoredState.first;
5128
5155
  state.rows = restoredState.rows;
@@ -5131,10 +5158,10 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
5131
5158
 
5132
5159
  if (restoredState.sortField) {
5133
5160
  if (this.props.onSort) {
5134
- this.props.onSort({
5161
+ this.props.onSort(this.createEvent({
5135
5162
  sortField: restoredState.sortField,
5136
5163
  sortOrder: restoredState.sortOrder
5137
- });
5164
+ }));
5138
5165
  } else {
5139
5166
  state.sortField = restoredState.sortField;
5140
5167
  state.sortOrder = restoredState.sortOrder;
@@ -5143,9 +5170,9 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
5143
5170
 
5144
5171
  if (restoredState.multiSortMeta) {
5145
5172
  if (this.props.onSort) {
5146
- this.props.onSort({
5173
+ this.props.onSort(this.createEvent({
5147
5174
  multiSortMeta: restoredState.multiSortMeta
5148
- });
5175
+ }));
5149
5176
  } else {
5150
5177
  state.multiSortMeta = restoredState.multiSortMeta;
5151
5178
  }
@@ -5155,9 +5182,9 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
5155
5182
  state.d_filters = this.cloneFilters(restoredState.filters);
5156
5183
 
5157
5184
  if (this.props.onFilter) {
5158
- this.props.onFilter({
5185
+ this.props.onFilter(this.createEvent({
5159
5186
  filters: restoredState.filters
5160
- });
5187
+ }));
5161
5188
  } else {
5162
5189
  state.filters = this.cloneFilters(restoredState.filters);
5163
5190
  }
@@ -5260,15 +5287,23 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
5260
5287
  value: function allRowsSelected(processedData) {
5261
5288
  var _this5 = this;
5262
5289
 
5263
- var val = this.props.frozenValue ? [].concat(_toConsumableArray(this.props.frozenValue), _toConsumableArray(processedData)) : processedData;
5264
- var selectableVal = this.props.showSelectionElement ? val.filter(function (data, index) {
5265
- return _this5.props.showSelectionElement(data, {
5266
- rowIndex: index,
5267
- props: _this5.props
5290
+ if (this.props.onSelectAllChange) {
5291
+ return this.props.selectAll;
5292
+ } else {
5293
+ var data = this.props.selectionPageOnly ? this.dataToRender(processedData) : processedData;
5294
+ var val = this.props.frozenValue ? [].concat(_toConsumableArray(this.props.frozenValue), _toConsumableArray(data)) : data;
5295
+ var selectableVal = this.props.showSelectionElement ? val.filter(function (data, index) {
5296
+ return _this5.props.showSelectionElement(data, {
5297
+ rowIndex: index,
5298
+ props: _this5.props
5299
+ });
5300
+ }) : val;
5301
+ return selectableVal && this.props.selection && selectableVal.every(function (sv) {
5302
+ return _this5.props.selection.some(function (s) {
5303
+ return _this5.isEquals(s, sv);
5304
+ });
5268
5305
  });
5269
- }) : val;
5270
- var length = this.props.lazy ? this.props.totalRecords : selectableVal ? selectableVal.length : 0;
5271
- return selectableVal && length > 0 && this.props.selection && this.props.selection.length > 0 && this.props.selection.length === length;
5306
+ }
5272
5307
  }
5273
5308
  }, {
5274
5309
  key: "getSelectionModeInColumn",
@@ -5469,37 +5504,46 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
5469
5504
  value: function onColumnHeaderCheckboxChange(e, processedData) {
5470
5505
  var _this8 = this;
5471
5506
 
5472
- var originalEvent = e.originalEvent,
5473
- checked = e.checked;
5474
- var selection;
5475
-
5476
- if (!checked) {
5477
- selection = this.props.frozenValue ? [].concat(_toConsumableArray(this.props.frozenValue), _toConsumableArray(processedData)) : processedData;
5478
- selection = this.props.showSelectionElement ? selection.filter(function (data, index) {
5479
- return _this8.props.showSelectionElement(data, {
5480
- rowIndex: index,
5481
- props: _this8.props
5482
- });
5483
- }) : selection;
5484
- this.props.onAllRowsSelect && this.props.onAllRowsSelect({
5485
- originalEvent: originalEvent,
5486
- data: selection,
5487
- type: 'all'
5488
- });
5507
+ if (this.props.onSelectAllChange) {
5508
+ this.props.onSelectAllChange(e);
5489
5509
  } else {
5490
- selection = [];
5491
- this.props.onAllRowsUnselect && this.props.onAllRowsUnselect({
5492
- originalEvent: originalEvent,
5493
- data: selection,
5494
- type: 'all'
5495
- });
5496
- }
5510
+ var originalEvent = e.originalEvent,
5511
+ checked = e.checked;
5512
+ var data = this.props.selectionPageOnly ? this.dataToRender(processedData) : processedData;
5513
+ var selection = this.props.selectionPageOnly && this.props.selection ? this.props.selection.filter(function (s) {
5514
+ return !data.some(function (d) {
5515
+ return _this8.isEquals(s, d);
5516
+ });
5517
+ }) : [];
5518
+
5519
+ if (checked) {
5520
+ selection = this.props.frozenValue ? [].concat(_toConsumableArray(selection), _toConsumableArray(this.props.frozenValue), _toConsumableArray(data)) : [].concat(_toConsumableArray(selection), _toConsumableArray(data));
5521
+ selection = this.props.showSelectionElement ? selection.filter(function (data, index) {
5522
+ return _this8.props.showSelectionElement(data, {
5523
+ rowIndex: index,
5524
+ props: _this8.props
5525
+ });
5526
+ }) : selection;
5527
+ this.props.onAllRowsSelect && this.props.onAllRowsSelect({
5528
+ originalEvent: originalEvent,
5529
+ data: selection,
5530
+ type: 'all'
5531
+ });
5532
+ } else {
5533
+ this.props.onAllRowsUnselect && this.props.onAllRowsUnselect({
5534
+ originalEvent: originalEvent,
5535
+ data: selection,
5536
+ type: 'all'
5537
+ });
5538
+ }
5497
5539
 
5498
- if (this.props.onSelectionChange) {
5499
- this.props.onSelectionChange({
5500
- originalEvent: originalEvent,
5501
- value: selection
5502
- });
5540
+ if (this.props.onSelectionChange) {
5541
+ this.props.onSelectionChange({
5542
+ originalEvent: originalEvent,
5543
+ value: selection,
5544
+ type: 'all'
5545
+ });
5546
+ }
5503
5547
  }
5504
5548
  }
5505
5549
  }, {
@@ -5632,15 +5676,13 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
5632
5676
  }, {
5633
5677
  key: "createStyleElement",
5634
5678
  value: function createStyleElement() {
5635
- this.styleElement = document.createElement('style');
5636
- document.head.appendChild(this.styleElement);
5679
+ this.styleElement = utils.DomHandler.createInlineStyle();
5637
5680
  }
5638
5681
  }, {
5639
5682
  key: "createResponsiveStyle",
5640
5683
  value: function createResponsiveStyle() {
5641
5684
  if (!this.responsiveStyleElement) {
5642
- this.responsiveStyleElement = document.createElement('style');
5643
- document.head.appendChild(this.responsiveStyleElement);
5685
+ this.responsiveStyleElement = utils.DomHandler.createInlineStyle();
5644
5686
  var innerHTML = "\n@media screen and (max-width: ".concat(this.props.breakpoint, ") {\n .p-datatable[").concat(this.attributeSelector, "] .p-datatable-thead > tr > th,\n .p-datatable[").concat(this.attributeSelector, "] .p-datatable-tfoot > tr > td {\n display: none !important;\n }\n\n .p-datatable[").concat(this.attributeSelector, "] .p-datatable-tbody > tr > td {\n display: flex;\n width: 100% !important;\n align-items: center;\n justify-content: space-between;\n }\n\n .p-datatable[").concat(this.attributeSelector, "] .p-datatable-tbody > tr > td:not(:last-child) {\n border: 0 none;\n }\n\n .p-datatable[").concat(this.attributeSelector, "].p-datatable-gridlines .p-datatable-tbody > tr > td:last-child {\n border-top: 0;\n border-right: 0;\n border-left: 0;\n }\n\n .p-datatable[").concat(this.attributeSelector, "] .p-datatable-tbody > tr > td > .p-column-title {\n display: block;\n }\n}\n");
5645
5687
  this.responsiveStyleElement.innerHTML = innerHTML;
5646
5688
  }
@@ -5648,24 +5690,18 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
5648
5690
  }, {
5649
5691
  key: "destroyResponsiveStyle",
5650
5692
  value: function destroyResponsiveStyle() {
5651
- if (this.responsiveStyleElement) {
5652
- document.head.removeChild(this.responsiveStyleElement);
5653
- this.responsiveStyleElement = null;
5654
- }
5693
+ this.responsiveStyleElement = utils.DomHandler.removeInlineStyle(this.responsiveStyleElement);
5655
5694
  }
5656
5695
  }, {
5657
5696
  key: "destroyStyleElement",
5658
5697
  value: function destroyStyleElement() {
5659
- if (this.styleElement) {
5660
- document.head.removeChild(this.styleElement);
5661
- this.styleElement = null;
5662
- }
5698
+ this.styleElement = utils.DomHandler.removeInlineStyle(this.styleElement);
5663
5699
  }
5664
5700
  }, {
5665
5701
  key: "onPageChange",
5666
5702
  value: function onPageChange(e) {
5667
5703
  this.clearEditingMetaData();
5668
- if (this.props.onPage) this.props.onPage(e);else this.setState({
5704
+ if (this.props.onPage) this.props.onPage(this.createEvent(e));else this.setState({
5669
5705
  first: e.first,
5670
5706
  rows: e.rows
5671
5707
  });
@@ -5729,7 +5765,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
5729
5765
  }
5730
5766
 
5731
5767
  if (this.props.onSort) {
5732
- this.props.onSort(eventMeta);
5768
+ this.props.onSort(this.createEvent(eventMeta));
5733
5769
  } else {
5734
5770
  eventMeta.first = 0;
5735
5771
  this.setState(eventMeta);
@@ -5748,6 +5784,15 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
5748
5784
  value: function getCalculatedSortOrder(currentOrder) {
5749
5785
  return this.props.removableSort ? this.props.defaultSortOrder === currentOrder ? currentOrder * -1 : 0 : currentOrder * -1;
5750
5786
  }
5787
+ }, {
5788
+ key: "compareValuesOnSort",
5789
+ value: function compareValuesOnSort(value1, value2) {
5790
+ var result = null;
5791
+ if (value1 == null && value2 != null) result = -1;else if (value1 != null && value2 == null) result = 1;else if (value1 == null && value2 == null) result = 0;else if (typeof value1 === 'string' && typeof value2 === 'string') result = value1.localeCompare(value2, undefined, {
5792
+ numeric: true
5793
+ });else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;
5794
+ return result;
5795
+ }
5751
5796
  }, {
5752
5797
  key: "addSortMeta",
5753
5798
  value: function addSortMeta(meta, multiSortMeta) {
@@ -5772,6 +5817,8 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
5772
5817
  }, {
5773
5818
  key: "sortSingle",
5774
5819
  value: function sortSingle(data, field, order) {
5820
+ var _this10 = this;
5821
+
5775
5822
  if (this.props.groupRowsBy && this.props.groupRowsBy === this.props.sortField) {
5776
5823
  var multiSortMeta = [{
5777
5824
  field: this.props.sortField,
@@ -5795,10 +5842,9 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
5795
5842
  value.sort(function (data1, data2) {
5796
5843
  var value1 = utils.ObjectUtils.resolveFieldData(data1, field);
5797
5844
  var value2 = utils.ObjectUtils.resolveFieldData(data2, field);
5798
- var result = null;
5799
- if (value1 == null && value2 != null) result = -1;else if (value1 != null && value2 == null) result = 1;else if (value1 == null && value2 == null) result = 0;else if (typeof value1 === 'string' && typeof value2 === 'string') result = value1.localeCompare(value2, undefined, {
5800
- numeric: true
5801
- });else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;
5845
+
5846
+ var result = _this10.compareValuesOnSort(value1, value2);
5847
+
5802
5848
  return order * result;
5803
5849
  });
5804
5850
  }
@@ -5808,7 +5854,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
5808
5854
  }, {
5809
5855
  key: "sortMultiple",
5810
5856
  value: function sortMultiple(data) {
5811
- var _this10 = this;
5857
+ var _this11 = this;
5812
5858
 
5813
5859
  var multiSortMeta = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
5814
5860
 
@@ -5825,7 +5871,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
5825
5871
 
5826
5872
  if (this.columnSortable && this.columnSortFunction) {
5827
5873
  var meta = multiSortMeta.find(function (meta) {
5828
- return meta.field === _this10.columnField;
5874
+ return meta.field === _this11.columnField;
5829
5875
  });
5830
5876
  var field = this.columnField;
5831
5877
  var order = meta ? meta.order : this.defaultSortOrder;
@@ -5835,7 +5881,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
5835
5881
  });
5836
5882
  } else {
5837
5883
  value.sort(function (data1, data2) {
5838
- return _this10.multisortField(data1, data2, multiSortMeta, 0);
5884
+ return _this11.multisortField(data1, data2, multiSortMeta, 0);
5839
5885
  });
5840
5886
  }
5841
5887
 
@@ -5846,22 +5892,12 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
5846
5892
  value: function multisortField(data1, data2, multiSortMeta, index) {
5847
5893
  var value1 = utils.ObjectUtils.resolveFieldData(data1, multiSortMeta[index].field);
5848
5894
  var value2 = utils.ObjectUtils.resolveFieldData(data2, multiSortMeta[index].field);
5849
- var result = null;
5850
-
5851
- if (typeof value1 === 'string' || value1 instanceof String) {
5852
- if (value1.localeCompare && value1 !== value2) {
5853
- return multiSortMeta[index].order * value1.localeCompare(value2, undefined, {
5854
- numeric: true
5855
- });
5856
- }
5857
- } else {
5858
- result = value1 < value2 ? -1 : 1;
5859
- }
5860
5895
 
5861
5896
  if (value1 === value2) {
5862
5897
  return multiSortMeta.length - 1 > index ? this.multisortField(data1, data2, multiSortMeta, index + 1) : 0;
5863
5898
  }
5864
5899
 
5900
+ var result = this.compareValuesOnSort(value1, value2);
5865
5901
  return multiSortMeta[index].order * result;
5866
5902
  }
5867
5903
  }, {
@@ -5875,25 +5911,25 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
5875
5911
  }, {
5876
5912
  key: "onFilterApply",
5877
5913
  value: function onFilterApply() {
5878
- var _this11 = this;
5914
+ var _this12 = this;
5879
5915
 
5880
5916
  clearTimeout(this.filterTimeout);
5881
5917
  this.filterTimeout = setTimeout(function () {
5882
- var filters = _this11.cloneFilters(_this11.state.d_filters);
5918
+ var filters = _this12.cloneFilters(_this12.state.d_filters);
5883
5919
 
5884
- if (_this11.props.onFilter) {
5885
- _this11.props.onFilter({
5920
+ if (_this12.props.onFilter) {
5921
+ _this12.props.onFilter(_this12.createEvent({
5886
5922
  filters: filters
5887
- });
5923
+ }));
5888
5924
  } else {
5889
- _this11.setState({
5925
+ _this12.setState({
5890
5926
  first: 0,
5891
5927
  filters: filters
5892
5928
  });
5893
5929
  }
5894
5930
 
5895
- if (_this11.props.onValueChange) {
5896
- _this11.props.onValueChange(_this11.processedData({
5931
+ if (_this12.props.onValueChange) {
5932
+ _this12.props.onValueChange(_this12.processedData({
5897
5933
  filters: filters
5898
5934
  }));
5899
5935
  }
@@ -5991,7 +6027,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
5991
6027
  }, {
5992
6028
  key: "cloneFilters",
5993
6029
  value: function cloneFilters(filters) {
5994
- var _this12 = this;
6030
+ var _this13 = this;
5995
6031
 
5996
6032
  filters = filters || this.props.filters;
5997
6033
  var cloned = {};
@@ -6012,34 +6048,31 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
6012
6048
  } else {
6013
6049
  var columns = this.getColumns();
6014
6050
  cloned = columns.reduce(function (_filters, col) {
6015
- if (col.props.filter) {
6016
- var field = col.props.filterField || col.props.field;
6017
- var filterFunction = col.props.filterFunction;
6018
- var dataType = col.props.dataType;
6019
- var matchMode = col.props.filterMatchMode || (PrimeReact__default["default"].filterMatchModeOptions[dataType] ? PrimeReact__default["default"].filterMatchModeOptions[dataType][0] : PrimeReact.FilterMatchMode.STARTS_WITH);
6020
- var constraint = {
6021
- value: null,
6022
- matchMode: matchMode
6023
- };
6024
-
6025
- if (filterFunction) {
6026
- PrimeReact.FilterService.register("custom_".concat(field), function () {
6027
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
6028
- args[_key] = arguments[_key];
6029
- }
6051
+ var field = col.props.filterField || col.props.field;
6052
+ var filterFunction = col.props.filterFunction;
6053
+ var dataType = col.props.dataType;
6054
+ var matchMode = col.props.filterMatchMode || (PrimeReact__default["default"].filterMatchModeOptions[dataType] ? PrimeReact__default["default"].filterMatchModeOptions[dataType][0] : PrimeReact.FilterMatchMode.STARTS_WITH);
6055
+ var constraint = {
6056
+ value: null,
6057
+ matchMode: matchMode
6058
+ };
6030
6059
 
6031
- return filterFunction.apply(void 0, args.concat([{
6032
- column: col
6033
- }]));
6034
- });
6035
- }
6060
+ if (filterFunction) {
6061
+ PrimeReact.FilterService.register("custom_".concat(field), function () {
6062
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
6063
+ args[_key] = arguments[_key];
6064
+ }
6036
6065
 
6037
- _filters[field] = _this12.props.filterDisplay === 'menu' ? {
6038
- operator: PrimeReact.FilterOperator.AND,
6039
- constraints: [constraint]
6040
- } : constraint;
6066
+ return filterFunction.apply(void 0, args.concat([{
6067
+ column: col
6068
+ }]));
6069
+ });
6041
6070
  }
6042
6071
 
6072
+ _filters[field] = _this13.props.filterDisplay === 'menu' ? {
6073
+ operator: PrimeReact.FilterOperator.AND,
6074
+ constraints: [constraint]
6075
+ } : constraint;
6043
6076
  return _filters;
6044
6077
  }, {});
6045
6078
  }
@@ -6115,7 +6148,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
6115
6148
  }, {
6116
6149
  key: "exportCSV",
6117
6150
  value: function exportCSV(options) {
6118
- var _this13 = this;
6151
+ var _this14 = this;
6119
6152
 
6120
6153
  var data;
6121
6154
  var csv = "\uFEFF";
@@ -6138,7 +6171,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
6138
6171
  csv += '"' + (header || field) + '"';
6139
6172
 
6140
6173
  if (i < columns.length - 1) {
6141
- csv += _this13.props.csvSeparator;
6174
+ csv += _this14.props.csvSeparator;
6142
6175
  }
6143
6176
  }
6144
6177
  }); //body
@@ -6154,7 +6187,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
6154
6187
  var cellData = utils.ObjectUtils.resolveFieldData(record, field);
6155
6188
 
6156
6189
  if (cellData != null) {
6157
- cellData = _this13.props.exportFunction ? _this13.props.exportFunction({
6190
+ cellData = _this14.props.exportFunction ? _this14.props.exportFunction({
6158
6191
  data: cellData,
6159
6192
  field: field,
6160
6193
  rowData: record,
@@ -6165,7 +6198,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
6165
6198
  csv += '"' + cellData + '"';
6166
6199
 
6167
6200
  if (i < columns.length - 1) {
6168
- csv += _this13.props.csvSeparator;
6201
+ csv += _this14.props.csvSeparator;
6169
6202
  }
6170
6203
  }
6171
6204
  });
@@ -6179,6 +6212,18 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
6179
6212
  document.body.click();
6180
6213
  }
6181
6214
  }
6215
+ }, {
6216
+ key: "createEvent",
6217
+ value: function createEvent(event) {
6218
+ return _objectSpread({
6219
+ first: this.getFirst(),
6220
+ rows: this.getRows(),
6221
+ sortField: this.getSortField(),
6222
+ sortOrder: this.getSortOrder(),
6223
+ multiSortMeta: this.getMultiSortMeta(),
6224
+ filters: this.getFilters()
6225
+ }, event);
6226
+ }
6182
6227
  }, {
6183
6228
  key: "processedData",
6184
6229
  value: function processedData(localState) {
@@ -6222,8 +6267,12 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
6222
6267
  this.createResponsiveStyle();
6223
6268
  }
6224
6269
 
6225
- if (this.isStateful() && this.props.resizableColumns) {
6226
- this.restoreColumnWidths();
6270
+ if (this.isStateful()) {
6271
+ this.setState(this.restoreState(this.state));
6272
+
6273
+ if (this.props.resizableColumns) {
6274
+ this.restoreColumnWidths();
6275
+ }
6227
6276
  }
6228
6277
  }
6229
6278
  }, {
@@ -6323,6 +6372,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
6323
6372
  filtersStore: filtersStore,
6324
6373
  onFilterChange: this.onFilterChange,
6325
6374
  onFilterApply: this.onFilterApply,
6375
+ showSelectAll: this.props.showSelectAll,
6326
6376
  allRowsSelected: this.allRowsSelected,
6327
6377
  onColumnCheckboxChange: this.onColumnHeaderCheckboxChange,
6328
6378
  onColumnMouseDown: this.onColumnHeaderMouseDown,
@@ -6490,7 +6540,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
6490
6540
  }, {
6491
6541
  key: "renderContent",
6492
6542
  value: function renderContent(processedData, columns, selectionModeInColumn, empty) {
6493
- var _this14 = this;
6543
+ var _this15 = this;
6494
6544
 
6495
6545
  if (!columns) return;
6496
6546
  var isVirtualScrollerDisabled = this.isVirtualScrollerDisabled();
@@ -6503,29 +6553,27 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
6503
6553
  }, /*#__PURE__*/React__default["default"].createElement(virtualscroller.VirtualScroller, _extends({}, virtualScrollerOptions, {
6504
6554
  items: processedData,
6505
6555
  columns: columns,
6506
- style: {
6507
- height: this.props.scrollHeight
6508
- },
6556
+ scrollHeight: this.props.scrollHeight,
6509
6557
  disabled: isVirtualScrollerDisabled,
6510
6558
  loaderDisabled: true,
6511
6559
  showSpacer: false,
6512
6560
  contentTemplate: function contentTemplate(options) {
6513
6561
  var ref = function ref(el) {
6514
- _this14.table = el;
6562
+ _this15.table = el;
6515
6563
  options.spacerRef && options.spacerRef(el);
6516
6564
  };
6517
6565
 
6518
- var tableClassName = utils.classNames('p-datatable-table', _this14.props.tableClassName);
6566
+ var tableClassName = utils.classNames('p-datatable-table', _this15.props.tableClassName);
6519
6567
 
6520
- var tableHeader = _this14.renderTableHeader(options, empty);
6568
+ var tableHeader = _this15.renderTableHeader(options, empty);
6521
6569
 
6522
- var tableBody = _this14.renderTableBody(options, selectionModeInColumn, empty, isVirtualScrollerDisabled);
6570
+ var tableBody = _this15.renderTableBody(options, selectionModeInColumn, empty, isVirtualScrollerDisabled);
6523
6571
 
6524
- var tableFooter = _this14.renderTableFooter(options);
6572
+ var tableFooter = _this15.renderTableFooter(options);
6525
6573
 
6526
6574
  return /*#__PURE__*/React__default["default"].createElement("table", {
6527
6575
  ref: ref,
6528
- style: _this14.props.tableStyle,
6576
+ style: _this15.props.tableStyle,
6529
6577
  className: tableClassName,
6530
6578
  role: "table"
6531
6579
  }, tableHeader, tableBody, tableFooter);
@@ -6587,12 +6635,12 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
6587
6635
  }, {
6588
6636
  key: "renderResizeHelper",
6589
6637
  value: function renderResizeHelper() {
6590
- var _this15 = this;
6638
+ var _this16 = this;
6591
6639
 
6592
6640
  if (this.props.resizableColumns) {
6593
6641
  return /*#__PURE__*/React__default["default"].createElement("div", {
6594
6642
  ref: function ref(el) {
6595
- return _this15.resizeHelper = el;
6643
+ return _this16.resizeHelper = el;
6596
6644
  },
6597
6645
  className: "p-column-resizer-helper",
6598
6646
  style: {
@@ -6606,7 +6654,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
6606
6654
  }, {
6607
6655
  key: "renderReorderIndicators",
6608
6656
  value: function renderReorderIndicators() {
6609
- var _this16 = this;
6657
+ var _this17 = this;
6610
6658
 
6611
6659
  if (this.props.reorderableColumns) {
6612
6660
  var style = {
@@ -6615,13 +6663,13 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
6615
6663
  };
6616
6664
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("span", {
6617
6665
  ref: function ref(el) {
6618
- return _this16.reorderIndicatorUp = el;
6666
+ return _this17.reorderIndicatorUp = el;
6619
6667
  },
6620
6668
  className: "pi pi-arrow-down p-datatable-reorder-indicator-up",
6621
6669
  style: style
6622
6670
  }), /*#__PURE__*/React__default["default"].createElement("span", {
6623
6671
  ref: function ref(el) {
6624
- return _this16.reorderIndicatorDown = el;
6672
+ return _this17.reorderIndicatorDown = el;
6625
6673
  },
6626
6674
  className: "pi pi-arrow-up p-datatable-reorder-indicator-down",
6627
6675
  style: style
@@ -6633,7 +6681,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
6633
6681
  }, {
6634
6682
  key: "render",
6635
6683
  value: function render() {
6636
- var _this17 = this;
6684
+ var _this18 = this;
6637
6685
 
6638
6686
  var processedData = this.processedData();
6639
6687
  var columns = this.getColumns();
@@ -6669,7 +6717,7 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
6669
6717
  var reorderIndicators = this.renderReorderIndicators();
6670
6718
  return /*#__PURE__*/React__default["default"].createElement("div", {
6671
6719
  ref: function ref(el) {
6672
- return _this17.el = el;
6720
+ return _this18.el = el;
6673
6721
  },
6674
6722
  id: this.props.id,
6675
6723
  className: className,
@@ -6736,6 +6784,10 @@ this.primereact.datatable = (function (exports, React, paginator, utils, PrimeRe
6736
6784
  dataKey: null,
6737
6785
  metaKeySelection: true,
6738
6786
  selectOnEdit: true,
6787
+ selectionPageOnly: false,
6788
+ showSelectAll: true,
6789
+ selectAll: false,
6790
+ onSelectAllChange: null,
6739
6791
  headerColumnGroup: null,
6740
6792
  footerColumnGroup: null,
6741
6793
  rowExpansionTemplate: null,