primereact 10.0.0 → 10.0.2

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 (483) hide show
  1. package/README.md +1 -1
  2. package/accordion/accordion.esm.js +0 -1
  3. package/api/api.esm.js +0 -1
  4. package/autocomplete/autocomplete.esm.js +8 -7
  5. package/autocomplete/autocomplete.esm.min.js +1 -1
  6. package/avatar/avatar.esm.js +0 -1
  7. package/avatargroup/avatargroup.esm.js +0 -1
  8. package/badge/badge.esm.js +0 -1
  9. package/blockui/blockui.esm.js +3 -1
  10. package/blockui/blockui.esm.min.js +1 -1
  11. package/breadcrumb/breadcrumb.esm.js +0 -1
  12. package/button/button.esm.js +0 -1
  13. package/calendar/calendar.esm.js +2 -1
  14. package/calendar/calendar.esm.min.js +1 -1
  15. package/card/card.esm.js +0 -1
  16. package/carousel/carousel.esm.js +7 -8
  17. package/carousel/carousel.esm.min.js +1 -1
  18. package/cascadeselect/cascadeselect.esm.js +0 -1
  19. package/chart/chart.esm.js +0 -1
  20. package/checkbox/checkbox.esm.js +0 -1
  21. package/chip/chip.esm.js +0 -1
  22. package/chips/chips.esm.js +0 -1
  23. package/colorpicker/colorpicker.esm.js +0 -1
  24. package/column/column.esm.js +0 -1
  25. package/columngroup/columngroup.esm.js +0 -1
  26. package/componentbase/componentbase.cjs.js +12 -7
  27. package/componentbase/componentbase.cjs.min.js +1 -1
  28. package/componentbase/componentbase.esm.js +23 -13
  29. package/componentbase/componentbase.esm.min.js +1 -1
  30. package/componentbase/componentbase.js +12 -7
  31. package/componentbase/componentbase.min.js +1 -1
  32. package/confirmdialog/confirmdialog.esm.js +0 -1
  33. package/confirmpopup/confirmpopup.esm.js +0 -1
  34. package/contextmenu/contextmenu.esm.js +0 -1
  35. package/core/core.js +12 -7
  36. package/core/core.min.js +1 -1
  37. package/csstransition/csstransition.esm.js +0 -1
  38. package/datascroller/datascroller.esm.js +0 -1
  39. package/datatable/datatable.esm.js +0 -1
  40. package/dataview/dataview.esm.js +0 -1
  41. package/deferredcontent/deferredcontent.esm.js +0 -1
  42. package/dialog/dialog.esm.js +2 -1
  43. package/dialog/dialog.esm.min.js +1 -1
  44. package/divider/divider.esm.js +0 -1
  45. package/dock/dock.esm.js +0 -1
  46. package/dropdown/dropdown.esm.js +0 -1
  47. package/editor/editor.esm.js +0 -1
  48. package/fieldset/fieldset.esm.js +0 -1
  49. package/fileupload/fileupload.esm.js +0 -1
  50. package/galleria/galleria.esm.js +11 -7
  51. package/galleria/galleria.esm.min.js +1 -1
  52. package/hooks/hooks.esm.js +0 -6
  53. package/iconbase/iconbase.esm.js +0 -1
  54. package/icons/angledoubledown/index.esm.js +0 -1
  55. package/icons/angledoubleleft/index.esm.js +0 -1
  56. package/icons/angledoubleright/index.esm.js +0 -1
  57. package/icons/angledoubleup/index.esm.js +0 -1
  58. package/icons/angledown/index.esm.js +0 -1
  59. package/icons/angleleft/index.esm.js +0 -1
  60. package/icons/angleright/index.esm.js +0 -1
  61. package/icons/angleup/index.esm.js +0 -1
  62. package/icons/arrowdown/index.esm.js +0 -1
  63. package/icons/arrowup/index.esm.js +0 -1
  64. package/icons/ban/index.esm.js +0 -1
  65. package/icons/bars/index.esm.js +0 -1
  66. package/icons/calendar/index.esm.js +0 -1
  67. package/icons/check/index.esm.js +0 -1
  68. package/icons/chevrondown/index.esm.js +0 -1
  69. package/icons/chevronleft/index.esm.js +0 -1
  70. package/icons/chevronright/index.esm.js +0 -1
  71. package/icons/chevronup/index.esm.js +0 -1
  72. package/icons/download/index.esm.js +0 -1
  73. package/icons/exclamationtriangle/index.esm.js +0 -1
  74. package/icons/eye/index.esm.js +0 -1
  75. package/icons/eyeslash/index.esm.js +0 -1
  76. package/icons/filter/index.esm.js +0 -1
  77. package/icons/filterslash/index.esm.js +0 -1
  78. package/icons/infocircle/index.esm.js +0 -1
  79. package/icons/minus/index.esm.js +0 -1
  80. package/icons/pencil/index.esm.js +0 -1
  81. package/icons/plus/index.esm.js +0 -1
  82. package/icons/refresh/index.esm.js +0 -1
  83. package/icons/search/index.esm.js +0 -1
  84. package/icons/searchminus/index.esm.js +0 -1
  85. package/icons/searchplus/index.esm.js +0 -1
  86. package/icons/sortalt/index.esm.js +0 -1
  87. package/icons/sortamountdown/index.esm.js +0 -1
  88. package/icons/sortamountupalt/index.esm.js +0 -1
  89. package/icons/spinner/index.esm.js +0 -1
  90. package/icons/star/index.esm.js +0 -1
  91. package/icons/starfill/index.esm.js +0 -1
  92. package/icons/thlarge/index.esm.js +0 -1
  93. package/icons/times/index.esm.js +0 -1
  94. package/icons/timescircle/index.esm.js +0 -1
  95. package/icons/trash/index.esm.js +0 -1
  96. package/icons/undo/index.esm.js +0 -1
  97. package/icons/upload/index.esm.js +0 -1
  98. package/icons/windowmaximize/index.esm.js +0 -1
  99. package/icons/windowminimize/index.esm.js +0 -1
  100. package/image/image.esm.js +2 -1
  101. package/image/image.esm.min.js +1 -1
  102. package/inplace/inplace.esm.js +0 -1
  103. package/inputmask/inputmask.esm.js +0 -1
  104. package/inputnumber/inputnumber.esm.js +0 -1
  105. package/inputswitch/inputswitch.esm.js +0 -1
  106. package/inputtext/inputtext.esm.js +0 -1
  107. package/inputtextarea/inputtextarea.esm.js +0 -1
  108. package/keyfilter/keyfilter.esm.js +0 -1
  109. package/knob/knob.esm.js +0 -1
  110. package/listbox/listbox.esm.js +0 -1
  111. package/megamenu/megamenu.esm.js +0 -1
  112. package/mention/mention.esm.js +0 -1
  113. package/menu/menu.esm.js +0 -1
  114. package/menubar/menubar.esm.js +0 -1
  115. package/message/message.esm.js +0 -1
  116. package/messages/messages.esm.js +1 -2
  117. package/messages/messages.esm.min.js +1 -1
  118. package/multiselect/multiselect.esm.js +0 -1
  119. package/multistatecheckbox/multistatecheckbox.esm.js +0 -1
  120. package/orderlist/orderlist.esm.js +9 -5
  121. package/orderlist/orderlist.esm.min.js +1 -1
  122. package/organizationchart/organizationchart.esm.js +0 -1
  123. package/overlaypanel/overlaypanel.esm.js +0 -1
  124. package/overlayservice/overlayservice.esm.js +0 -1
  125. package/package.json +2 -2
  126. package/paginator/paginator.esm.js +0 -1
  127. package/panel/panel.esm.js +0 -1
  128. package/panelmenu/panelmenu.esm.js +0 -1
  129. package/passthrough/index.esm.js +0 -1
  130. package/passthrough/tailwind/index.cjs.js +2 -4
  131. package/passthrough/tailwind/index.cjs.min.js +1 -1
  132. package/passthrough/tailwind/index.esm.js +149 -148
  133. package/passthrough/tailwind/index.esm.min.js +1 -1
  134. package/passthrough/tailwind/index.js +2 -4
  135. package/passthrough/tailwind/index.min.js +1 -1
  136. package/password/password.esm.js +0 -1
  137. package/picklist/picklist.esm.js +0 -1
  138. package/portal/portal.esm.js +0 -1
  139. package/primereact.all.cjs.js +12 -7
  140. package/primereact.all.cjs.min.js +1 -1
  141. package/primereact.all.esm.js +70 -42
  142. package/primereact.all.esm.min.js +1 -1
  143. package/primereact.all.js +12 -7
  144. package/primereact.all.min.js +1 -1
  145. package/progressbar/progressbar.esm.js +0 -1
  146. package/progressspinner/progressspinner.esm.js +0 -1
  147. package/radiobutton/radiobutton.esm.js +0 -1
  148. package/rating/rating.esm.js +0 -1
  149. package/ripple/ripple.esm.js +0 -1
  150. package/row/row.esm.js +0 -1
  151. package/scrollpanel/scrollpanel.esm.js +0 -1
  152. package/scrolltop/scrolltop.esm.js +0 -1
  153. package/selectbutton/selectbutton.esm.js +0 -1
  154. package/sidebar/sidebar.esm.js +2 -1
  155. package/sidebar/sidebar.esm.min.js +1 -1
  156. package/skeleton/skeleton.esm.js +0 -1
  157. package/slidemenu/slidemenu.esm.js +0 -1
  158. package/slider/slider.esm.js +0 -1
  159. package/speeddial/speeddial.esm.js +0 -1
  160. package/splitbutton/splitbutton.esm.js +0 -1
  161. package/splitter/splitter.esm.js +0 -1
  162. package/steps/steps.esm.js +0 -1
  163. package/styleclass/styleclass.esm.js +0 -1
  164. package/tabmenu/tabmenu.esm.js +0 -1
  165. package/tabview/tabview.esm.js +0 -1
  166. package/tag/tag.esm.js +0 -1
  167. package/terminal/terminal.esm.js +0 -1
  168. package/terminalservice/terminalservice.esm.js +0 -1
  169. package/tieredmenu/tieredmenu.esm.js +0 -1
  170. package/timeline/timeline.esm.js +0 -1
  171. package/toast/toast.esm.js +0 -1
  172. package/togglebutton/togglebutton.esm.js +0 -1
  173. package/toolbar/toolbar.esm.js +0 -1
  174. package/tooltip/tooltip.esm.js +0 -1
  175. package/tree/tree.esm.js +0 -1
  176. package/treeselect/treeselect.esm.js +0 -1
  177. package/treetable/treetable.esm.js +0 -1
  178. package/tristatecheckbox/tristatecheckbox.esm.js +0 -1
  179. package/utils/utils.esm.js +0 -1
  180. package/virtualscroller/virtualscroller.esm.js +0 -1
  181. package/web-types.json +1 -1
  182. package/accordion/accordion.esm.min.mjs +0 -1
  183. package/accordion/accordion.esm.mjs +0 -420
  184. package/api/api.esm.min.mjs +0 -1
  185. package/api/api.esm.mjs +0 -943
  186. package/autocomplete/autocomplete.esm.min.mjs +0 -1
  187. package/autocomplete/autocomplete.esm.mjs +0 -1128
  188. package/avatar/avatar.esm.min.mjs +0 -1
  189. package/avatar/avatar.esm.mjs +0 -244
  190. package/avatargroup/avatargroup.esm.min.mjs +0 -1
  191. package/avatargroup/avatargroup.esm.mjs +0 -54
  192. package/badge/badge.esm.min.mjs +0 -1
  193. package/badge/badge.esm.mjs +0 -109
  194. package/blockui/blockui.esm.min.mjs +0 -1
  195. package/blockui/blockui.esm.mjs +0 -267
  196. package/breadcrumb/breadcrumb.esm.min.mjs +0 -1
  197. package/breadcrumb/breadcrumb.esm.mjs +0 -350
  198. package/button/button.esm.min.mjs +0 -1
  199. package/button/button.esm.mjs +0 -294
  200. package/calendar/calendar.esm.min.mjs +0 -1
  201. package/calendar/calendar.esm.mjs +0 -3474
  202. package/card/card.esm.min.mjs +0 -1
  203. package/card/card.esm.mjs +0 -97
  204. package/carousel/carousel.esm.min.mjs +0 -1
  205. package/carousel/carousel.esm.mjs +0 -800
  206. package/cascadeselect/cascadeselect.esm.min.mjs +0 -1
  207. package/cascadeselect/cascadeselect.esm.mjs +0 -818
  208. package/chart/chart.esm.min.mjs +0 -1
  209. package/chart/chart.esm.mjs +0 -154
  210. package/checkbox/checkbox.esm.min.mjs +0 -1
  211. package/checkbox/checkbox.esm.mjs +0 -356
  212. package/chip/chip.esm.min.mjs +0 -1
  213. package/chip/chip.esm.mjs +0 -247
  214. package/chips/chips.esm.min.mjs +0 -1
  215. package/chips/chips.esm.mjs +0 -500
  216. package/colorpicker/colorpicker.esm.min.mjs +0 -1
  217. package/colorpicker/colorpicker.esm.mjs +0 -787
  218. package/column/column.esm.min.mjs +0 -1
  219. package/column/column.esm.mjs +0 -7
  220. package/columngroup/columngroup.esm.min.mjs +0 -1
  221. package/columngroup/columngroup.esm.mjs +0 -5
  222. package/componentbase/componentbase.esm.min.mjs +0 -1
  223. package/componentbase/componentbase.esm.mjs +0 -328
  224. package/confirmdialog/confirmdialog.esm.min.mjs +0 -1
  225. package/confirmdialog/confirmdialog.esm.mjs +0 -375
  226. package/confirmpopup/confirmpopup.esm.min.mjs +0 -1
  227. package/confirmpopup/confirmpopup.esm.mjs +0 -609
  228. package/contextmenu/contextmenu.esm.min.mjs +0 -1
  229. package/contextmenu/contextmenu.esm.mjs +0 -663
  230. package/csstransition/csstransition.esm.min.mjs +0 -1
  231. package/csstransition/csstransition.esm.mjs +0 -137
  232. package/datascroller/datascroller.esm.min.mjs +0 -1
  233. package/datascroller/datascroller.esm.mjs +0 -319
  234. package/datatable/datatable.esm.min.mjs +0 -1
  235. package/datatable/datatable.esm.mjs +0 -6635
  236. package/dataview/dataview.esm.min.mjs +0 -1
  237. package/dataview/dataview.esm.mjs +0 -505
  238. package/deferredcontent/deferredcontent.esm.min.mjs +0 -1
  239. package/deferredcontent/deferredcontent.esm.mjs +0 -132
  240. package/dialog/dialog.esm.min.mjs +0 -1
  241. package/dialog/dialog.esm.mjs +0 -984
  242. package/divider/divider.esm.min.mjs +0 -1
  243. package/divider/divider.esm.mjs +0 -78
  244. package/dock/dock.esm.min.mjs +0 -1
  245. package/dock/dock.esm.mjs +0 -347
  246. package/dropdown/dropdown.esm.min.mjs +0 -1
  247. package/dropdown/dropdown.esm.mjs +0 -1379
  248. package/editor/editor.esm.min.mjs +0 -1
  249. package/editor/editor.esm.mjs +0 -337
  250. package/fieldset/fieldset.esm.min.mjs +0 -1
  251. package/fieldset/fieldset.esm.mjs +0 -269
  252. package/fileupload/fileupload.esm.min.mjs +0 -1
  253. package/fileupload/fileupload.esm.mjs +0 -1004
  254. package/galleria/galleria.esm.min.mjs +0 -1
  255. package/galleria/galleria.esm.mjs +0 -1094
  256. package/hooks/hooks.esm.min.mjs +0 -1
  257. package/hooks/hooks.esm.mjs +0 -1036
  258. package/iconbase/iconbase.esm.min.mjs +0 -1
  259. package/iconbase/iconbase.esm.mjs +0 -32
  260. package/icons/angledoubledown/index.esm.min.mjs +0 -1
  261. package/icons/angledoubledown/index.esm.mjs +0 -38
  262. package/icons/angledoubleleft/index.esm.min.mjs +0 -1
  263. package/icons/angledoubleleft/index.esm.mjs +0 -38
  264. package/icons/angledoubleright/index.esm.min.mjs +0 -1
  265. package/icons/angledoubleright/index.esm.mjs +0 -38
  266. package/icons/angledoubleup/index.esm.min.mjs +0 -1
  267. package/icons/angledoubleup/index.esm.mjs +0 -38
  268. package/icons/angledown/index.esm.min.mjs +0 -1
  269. package/icons/angledown/index.esm.mjs +0 -36
  270. package/icons/angleleft/index.esm.min.mjs +0 -1
  271. package/icons/angleleft/index.esm.mjs +0 -36
  272. package/icons/angleright/index.esm.min.mjs +0 -1
  273. package/icons/angleright/index.esm.mjs +0 -36
  274. package/icons/angleup/index.esm.min.mjs +0 -1
  275. package/icons/angleup/index.esm.mjs +0 -36
  276. package/icons/arrowdown/index.esm.min.mjs +0 -1
  277. package/icons/arrowdown/index.esm.mjs +0 -660
  278. package/icons/arrowup/index.esm.min.mjs +0 -1
  279. package/icons/arrowup/index.esm.mjs +0 -660
  280. package/icons/ban/index.esm.min.mjs +0 -1
  281. package/icons/ban/index.esm.mjs +0 -658
  282. package/icons/bars/index.esm.min.mjs +0 -1
  283. package/icons/bars/index.esm.mjs +0 -38
  284. package/icons/calendar/index.esm.min.mjs +0 -1
  285. package/icons/calendar/index.esm.mjs +0 -36
  286. package/icons/check/index.esm.min.mjs +0 -1
  287. package/icons/check/index.esm.mjs +0 -36
  288. package/icons/chevrondown/index.esm.min.mjs +0 -1
  289. package/icons/chevrondown/index.esm.mjs +0 -36
  290. package/icons/chevronleft/index.esm.min.mjs +0 -1
  291. package/icons/chevronleft/index.esm.mjs +0 -36
  292. package/icons/chevronright/index.esm.min.mjs +0 -1
  293. package/icons/chevronright/index.esm.mjs +0 -36
  294. package/icons/chevronup/index.esm.min.mjs +0 -1
  295. package/icons/chevronup/index.esm.mjs +0 -36
  296. package/icons/download/index.esm.min.mjs +0 -1
  297. package/icons/download/index.esm.mjs +0 -660
  298. package/icons/exclamationtriangle/index.esm.min.mjs +0 -1
  299. package/icons/exclamationtriangle/index.esm.mjs +0 -664
  300. package/icons/eye/index.esm.min.mjs +0 -1
  301. package/icons/eye/index.esm.mjs +0 -38
  302. package/icons/eyeslash/index.esm.min.mjs +0 -1
  303. package/icons/eyeslash/index.esm.mjs +0 -660
  304. package/icons/filter/index.esm.min.mjs +0 -1
  305. package/icons/filter/index.esm.mjs +0 -658
  306. package/icons/filterslash/index.esm.min.mjs +0 -1
  307. package/icons/filterslash/index.esm.mjs +0 -660
  308. package/icons/infocircle/index.esm.min.mjs +0 -1
  309. package/icons/infocircle/index.esm.mjs +0 -660
  310. package/icons/minus/index.esm.min.mjs +0 -1
  311. package/icons/minus/index.esm.mjs +0 -36
  312. package/icons/pencil/index.esm.min.mjs +0 -1
  313. package/icons/pencil/index.esm.mjs +0 -658
  314. package/icons/plus/index.esm.min.mjs +0 -1
  315. package/icons/plus/index.esm.mjs +0 -658
  316. package/icons/refresh/index.esm.min.mjs +0 -1
  317. package/icons/refresh/index.esm.mjs +0 -660
  318. package/icons/search/index.esm.min.mjs +0 -1
  319. package/icons/search/index.esm.mjs +0 -660
  320. package/icons/searchminus/index.esm.min.mjs +0 -1
  321. package/icons/searchminus/index.esm.mjs +0 -660
  322. package/icons/searchplus/index.esm.min.mjs +0 -1
  323. package/icons/searchplus/index.esm.mjs +0 -660
  324. package/icons/sortalt/index.esm.min.mjs +0 -1
  325. package/icons/sortalt/index.esm.mjs +0 -667
  326. package/icons/sortamountdown/index.esm.min.mjs +0 -1
  327. package/icons/sortamountdown/index.esm.mjs +0 -673
  328. package/icons/sortamountupalt/index.esm.min.mjs +0 -1
  329. package/icons/sortamountupalt/index.esm.mjs +0 -673
  330. package/icons/spinner/index.esm.min.mjs +0 -1
  331. package/icons/spinner/index.esm.mjs +0 -658
  332. package/icons/star/index.esm.min.mjs +0 -1
  333. package/icons/star/index.esm.mjs +0 -658
  334. package/icons/starfill/index.esm.min.mjs +0 -1
  335. package/icons/starfill/index.esm.mjs +0 -658
  336. package/icons/thlarge/index.esm.min.mjs +0 -1
  337. package/icons/thlarge/index.esm.mjs +0 -660
  338. package/icons/times/index.esm.min.mjs +0 -1
  339. package/icons/times/index.esm.mjs +0 -36
  340. package/icons/timescircle/index.esm.min.mjs +0 -1
  341. package/icons/timescircle/index.esm.mjs +0 -660
  342. package/icons/trash/index.esm.min.mjs +0 -1
  343. package/icons/trash/index.esm.mjs +0 -660
  344. package/icons/undo/index.esm.min.mjs +0 -1
  345. package/icons/undo/index.esm.mjs +0 -660
  346. package/icons/upload/index.esm.min.mjs +0 -1
  347. package/icons/upload/index.esm.mjs +0 -660
  348. package/icons/windowmaximize/index.esm.min.mjs +0 -1
  349. package/icons/windowmaximize/index.esm.mjs +0 -660
  350. package/icons/windowminimize/index.esm.min.mjs +0 -1
  351. package/icons/windowminimize/index.esm.mjs +0 -660
  352. package/image/image.esm.min.mjs +0 -1
  353. package/image/image.esm.mjs +0 -1163
  354. package/inplace/inplace.esm.min.mjs +0 -1
  355. package/inplace/inplace.esm.mjs +0 -242
  356. package/inputmask/inputmask.esm.min.mjs +0 -1
  357. package/inputmask/inputmask.esm.mjs +0 -559
  358. package/inputnumber/inputnumber.esm.min.mjs +0 -1
  359. package/inputnumber/inputnumber.esm.mjs +0 -1208
  360. package/inputswitch/inputswitch.esm.min.mjs +0 -1
  361. package/inputswitch/inputswitch.esm.mjs +0 -290
  362. package/inputtext/inputtext.esm.min.mjs +0 -1
  363. package/inputtext/inputtext.esm.mjs +0 -170
  364. package/inputtextarea/inputtextarea.esm.min.mjs +0 -1
  365. package/inputtextarea/inputtextarea.esm.mjs +0 -219
  366. package/keyfilter/keyfilter.esm.min.mjs +0 -1
  367. package/keyfilter/keyfilter.esm.mjs +0 -107
  368. package/knob/knob.esm.min.mjs +0 -1
  369. package/knob/knob.esm.mjs +0 -317
  370. package/listbox/listbox.esm.min.mjs +0 -1
  371. package/listbox/listbox.esm.mjs +0 -809
  372. package/megamenu/megamenu.esm.min.mjs +0 -1
  373. package/megamenu/megamenu.esm.mjs +0 -715
  374. package/mention/mention.esm.min.mjs +0 -1
  375. package/mention/mention.esm.mjs +0 -770
  376. package/menu/menu.esm.min.mjs +0 -1
  377. package/menu/menu.esm.mjs +0 -484
  378. package/menubar/menubar.esm.min.mjs +0 -1
  379. package/menubar/menubar.esm.mjs +0 -583
  380. package/message/message.esm.min.mjs +0 -1
  381. package/message/message.esm.mjs +0 -168
  382. package/messages/messages.esm.min.mjs +0 -1
  383. package/messages/messages.esm.mjs +0 -438
  384. package/multiselect/multiselect.esm.min.mjs +0 -1
  385. package/multiselect/multiselect.esm.mjs +0 -1723
  386. package/multistatecheckbox/multistatecheckbox.esm.min.mjs +0 -1
  387. package/multistatecheckbox/multistatecheckbox.esm.mjs +0 -351
  388. package/orderlist/orderlist.esm.min.mjs +0 -1
  389. package/orderlist/orderlist.esm.mjs +0 -820
  390. package/organizationchart/organizationchart.esm.min.mjs +0 -1
  391. package/organizationchart/organizationchart.esm.mjs +0 -479
  392. package/overlaypanel/overlaypanel.esm.min.mjs +0 -1
  393. package/overlaypanel/overlaypanel.esm.mjs +0 -515
  394. package/overlayservice/overlayservice.esm.min.mjs +0 -1
  395. package/overlayservice/overlayservice.esm.mjs +0 -6
  396. package/paginator/paginator.esm.min.mjs +0 -1
  397. package/paginator/paginator.esm.mjs +0 -932
  398. package/panel/panel.esm.min.mjs +0 -1
  399. package/panel/panel.esm.mjs +0 -315
  400. package/panelmenu/panelmenu.esm.min.mjs +0 -1
  401. package/panelmenu/panelmenu.esm.mjs +0 -644
  402. package/passthrough/index.esm.min.mjs +0 -1
  403. package/passthrough/index.esm.mjs +0 -70
  404. package/passthrough/tailwind/index.esm.min.mjs +0 -1
  405. package/passthrough/tailwind/index.esm.mjs +0 -3513
  406. package/password/password.esm.min.mjs +0 -1
  407. package/password/password.esm.mjs +0 -566
  408. package/picklist/picklist.esm.min.mjs +0 -1
  409. package/picklist/picklist.esm.mjs +0 -1118
  410. package/portal/portal.esm.min.mjs +0 -1
  411. package/portal/portal.esm.mjs +0 -109
  412. package/primereact.all.esm.min.mjs +0 -1
  413. package/primereact.all.esm.mjs +0 -51669
  414. package/progressbar/progressbar.esm.min.mjs +0 -1
  415. package/progressbar/progressbar.esm.mjs +0 -189
  416. package/progressspinner/progressspinner.esm.min.mjs +0 -1
  417. package/progressspinner/progressspinner.esm.mjs +0 -87
  418. package/radiobutton/radiobutton.esm.min.mjs +0 -1
  419. package/radiobutton/radiobutton.esm.mjs +0 -328
  420. package/rating/rating.esm.min.mjs +0 -1
  421. package/rating/rating.esm.mjs +0 -272
  422. package/ripple/ripple.esm.min.mjs +0 -1
  423. package/ripple/ripple.esm.mjs +0 -99
  424. package/row/row.esm.min.mjs +0 -1
  425. package/row/row.esm.mjs +0 -35
  426. package/scrollpanel/scrollpanel.esm.min.mjs +0 -1
  427. package/scrollpanel/scrollpanel.esm.mjs +0 -209
  428. package/scrolltop/scrolltop.esm.min.mjs +0 -1
  429. package/scrolltop/scrolltop.esm.mjs +0 -268
  430. package/selectbutton/selectbutton.esm.min.mjs +0 -1
  431. package/selectbutton/selectbutton.esm.mjs +0 -326
  432. package/sidebar/sidebar.esm.min.mjs +0 -1
  433. package/sidebar/sidebar.esm.mjs +0 -544
  434. package/skeleton/skeleton.esm.min.mjs +0 -1
  435. package/skeleton/skeleton.esm.mjs +0 -124
  436. package/slidemenu/slidemenu.esm.min.mjs +0 -1
  437. package/slidemenu/slidemenu.esm.mjs +0 -688
  438. package/slider/slider.esm.min.mjs +0 -1
  439. package/slider/slider.esm.mjs +0 -477
  440. package/speeddial/speeddial.esm.min.mjs +0 -1
  441. package/speeddial/speeddial.esm.mjs +0 -520
  442. package/splitbutton/splitbutton.esm.min.mjs +0 -1
  443. package/splitbutton/splitbutton.esm.mjs +0 -544
  444. package/splitter/splitter.esm.min.mjs +0 -1
  445. package/splitter/splitter.esm.mjs +0 -465
  446. package/steps/steps.esm.min.mjs +0 -1
  447. package/steps/steps.esm.mjs +0 -293
  448. package/styleclass/styleclass.esm.min.mjs +0 -1
  449. package/styleclass/styleclass.esm.mjs +0 -268
  450. package/tabmenu/tabmenu.esm.min.mjs +0 -1
  451. package/tabmenu/tabmenu.esm.mjs +0 -331
  452. package/tabview/tabview.esm.min.mjs +0 -1
  453. package/tabview/tabview.esm.mjs +0 -677
  454. package/tag/tag.esm.min.mjs +0 -1
  455. package/tag/tag.esm.mjs +0 -116
  456. package/terminal/terminal.esm.min.mjs +0 -1
  457. package/terminal/terminal.esm.mjs +0 -279
  458. package/terminalservice/terminalservice.esm.min.mjs +0 -1
  459. package/terminalservice/terminalservice.esm.mjs +0 -6
  460. package/tieredmenu/tieredmenu.esm.min.mjs +0 -1
  461. package/tieredmenu/tieredmenu.esm.mjs +0 -698
  462. package/timeline/timeline.esm.min.mjs +0 -1
  463. package/timeline/timeline.esm.mjs +0 -163
  464. package/toast/toast.esm.min.mjs +0 -1
  465. package/toast/toast.esm.mjs +0 -738
  466. package/togglebutton/togglebutton.esm.min.mjs +0 -1
  467. package/togglebutton/togglebutton.esm.mjs +0 -216
  468. package/toolbar/toolbar.esm.min.mjs +0 -1
  469. package/toolbar/toolbar.esm.mjs +0 -78
  470. package/tooltip/tooltip.esm.min.mjs +0 -1
  471. package/tooltip/tooltip.esm.mjs +0 -695
  472. package/tree/tree.esm.min.mjs +0 -1
  473. package/tree/tree.esm.mjs +0 -1402
  474. package/treeselect/treeselect.esm.min.mjs +0 -1
  475. package/treeselect/treeselect.esm.mjs +0 -929
  476. package/treetable/treetable.esm.min.mjs +0 -1
  477. package/treetable/treetable.esm.mjs +0 -3093
  478. package/tristatecheckbox/tristatecheckbox.esm.min.mjs +0 -1
  479. package/tristatecheckbox/tristatecheckbox.esm.mjs +0 -291
  480. package/utils/utils.esm.min.mjs +0 -1
  481. package/utils/utils.esm.mjs +0 -2382
  482. package/virtualscroller/virtualscroller.esm.min.mjs +0 -1
  483. package/virtualscroller/virtualscroller.esm.mjs +0 -971
@@ -1,3093 +0,0 @@
1
- 'use client';
2
- import * as React from 'react';
3
- import PrimeReact, { FilterMatchMode, ariaLabel, localeOption, PrimeReactContext, FilterService } from 'primereact/api';
4
- import { ComponentBase, useHandleStyle } from 'primereact/componentbase';
5
- import { ObjectUtils, classNames, DomHandler, mergeProps, IconUtils } from 'primereact/utils';
6
- import { useEventListener, useUnmountEffect, useMountEffect } from 'primereact/hooks';
7
- import { ArrowDownIcon } from 'primereact/icons/arrowdown';
8
- import { ArrowUpIcon } from 'primereact/icons/arrowup';
9
- import { SpinnerIcon } from 'primereact/icons/spinner';
10
- import { Paginator } from 'primereact/paginator';
11
- import { CheckIcon } from 'primereact/icons/check';
12
- import { ChevronDownIcon } from 'primereact/icons/chevrondown';
13
- import { ChevronRightIcon } from 'primereact/icons/chevronright';
14
- import { MinusIcon } from 'primereact/icons/minus';
15
- import { Ripple } from 'primereact/ripple';
16
- import { OverlayService } from 'primereact/overlayservice';
17
- import { SortAltIcon } from 'primereact/icons/sortalt';
18
- import { SortAmountDownIcon } from 'primereact/icons/sortamountdown';
19
- import { SortAmountUpAltIcon } from 'primereact/icons/sortamountupalt';
20
- import { InputText } from 'primereact/inputtext';
21
- import { Tooltip } from 'primereact/tooltip';
22
-
23
- function _extends() {
24
- _extends = Object.assign ? Object.assign.bind() : function (target) {
25
- for (var i = 1; i < arguments.length; i++) {
26
- var source = arguments[i];
27
- for (var key in source) {
28
- if (Object.prototype.hasOwnProperty.call(source, key)) {
29
- target[key] = source[key];
30
- }
31
- }
32
- }
33
- return target;
34
- };
35
- return _extends.apply(this, arguments);
36
- }
37
-
38
- function _typeof(o) {
39
- "@babel/helpers - typeof";
40
-
41
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
42
- return typeof o;
43
- } : function (o) {
44
- return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
45
- }, _typeof(o);
46
- }
47
-
48
- function _toPrimitive(input, hint) {
49
- if (_typeof(input) !== "object" || input === null) return input;
50
- var prim = input[Symbol.toPrimitive];
51
- if (prim !== undefined) {
52
- var res = prim.call(input, hint || "default");
53
- if (_typeof(res) !== "object") return res;
54
- throw new TypeError("@@toPrimitive must return a primitive value.");
55
- }
56
- return (hint === "string" ? String : Number)(input);
57
- }
58
-
59
- function _toPropertyKey(arg) {
60
- var key = _toPrimitive(arg, "string");
61
- return _typeof(key) === "symbol" ? key : String(key);
62
- }
63
-
64
- function _defineProperty(obj, key, value) {
65
- key = _toPropertyKey(key);
66
- if (key in obj) {
67
- Object.defineProperty(obj, key, {
68
- value: value,
69
- enumerable: true,
70
- configurable: true,
71
- writable: true
72
- });
73
- } else {
74
- obj[key] = value;
75
- }
76
- return obj;
77
- }
78
-
79
- function _arrayLikeToArray$4(arr, len) {
80
- if (len == null || len > arr.length) len = arr.length;
81
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
82
- return arr2;
83
- }
84
-
85
- function _arrayWithoutHoles(arr) {
86
- if (Array.isArray(arr)) return _arrayLikeToArray$4(arr);
87
- }
88
-
89
- function _iterableToArray(iter) {
90
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
91
- }
92
-
93
- function _unsupportedIterableToArray$4(o, minLen) {
94
- if (!o) return;
95
- if (typeof o === "string") return _arrayLikeToArray$4(o, minLen);
96
- var n = Object.prototype.toString.call(o).slice(8, -1);
97
- if (n === "Object" && o.constructor) n = o.constructor.name;
98
- if (n === "Map" || n === "Set") return Array.from(o);
99
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$4(o, minLen);
100
- }
101
-
102
- function _nonIterableSpread() {
103
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
104
- }
105
-
106
- function _toConsumableArray(arr) {
107
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray$4(arr) || _nonIterableSpread();
108
- }
109
-
110
- function _arrayWithHoles(arr) {
111
- if (Array.isArray(arr)) return arr;
112
- }
113
-
114
- function _iterableToArrayLimit(r, l) {
115
- var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
116
- if (null != t) {
117
- var e,
118
- n,
119
- i,
120
- u,
121
- a = [],
122
- f = !0,
123
- o = !1;
124
- try {
125
- if (i = (t = t.call(r)).next, 0 === l) {
126
- if (Object(t) !== t) return;
127
- f = !1;
128
- } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
129
- } catch (r) {
130
- o = !0, n = r;
131
- } finally {
132
- try {
133
- if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
134
- } finally {
135
- if (o) throw n;
136
- }
137
- }
138
- return a;
139
- }
140
- }
141
-
142
- function _nonIterableRest() {
143
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
144
- }
145
-
146
- function _slicedToArray(arr, i) {
147
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray$4(arr, i) || _nonIterableRest();
148
- }
149
-
150
- var ColumnBase = ComponentBase.extend({
151
- defaultProps: {
152
- __TYPE: 'Column',
153
- align: null,
154
- alignFrozen: 'left',
155
- alignHeader: null,
156
- body: null,
157
- bodyClassName: null,
158
- bodyStyle: null,
159
- cellEditValidator: null,
160
- cellEditValidatorEvent: 'click',
161
- className: null,
162
- colSpan: null,
163
- columnKey: null,
164
- dataType: 'text',
165
- editor: null,
166
- excludeGlobalFilter: false,
167
- expander: false,
168
- exportField: null,
169
- exportable: true,
170
- field: null,
171
- filter: false,
172
- filterApply: null,
173
- filterClear: null,
174
- filterElement: null,
175
- filterField: null,
176
- filterFooter: null,
177
- filterFunction: null,
178
- filterHeader: null,
179
- filterHeaderClassName: null,
180
- filterHeaderStyle: null,
181
- filterMatchMode: null,
182
- filterMatchModeOptions: null,
183
- filterMaxLength: null,
184
- filterMenuClassName: null,
185
- filterMenuStyle: null,
186
- filterPlaceholder: null,
187
- filterType: 'text',
188
- footer: null,
189
- footerClassName: null,
190
- footerStyle: null,
191
- frozen: false,
192
- header: null,
193
- headerClassName: null,
194
- headerStyle: null,
195
- headerTooltip: null,
196
- headerTooltipOptions: null,
197
- hidden: false,
198
- maxConstraints: 2,
199
- onBeforeCellEditHide: null,
200
- onBeforeCellEditShow: null,
201
- onCellEditCancel: null,
202
- onCellEditComplete: null,
203
- onCellEditInit: null,
204
- onFilterApplyClick: null,
205
- onFilterClear: null,
206
- onFilterConstraintAdd: null,
207
- onFilterConstraintRemove: null,
208
- onFilterMatchModeChange: null,
209
- onFilterOperatorChange: null,
210
- reorderable: true,
211
- resizeable: true,
212
- rowEditor: false,
213
- rowReorder: false,
214
- rowReorderIcon: null,
215
- rowSpan: null,
216
- selectionMode: null,
217
- showAddButton: true,
218
- showApplyButton: true,
219
- showClearButton: true,
220
- showFilterMatchModes: true,
221
- showFilterMenu: true,
222
- showFilterMenuOptions: true,
223
- showFilterOperator: true,
224
- sortField: null,
225
- sortFunction: null,
226
- sortable: false,
227
- sortableDisabled: false,
228
- style: null,
229
- children: undefined
230
- },
231
- getCProp: function getCProp(column, name) {
232
- return ObjectUtils.getComponentProp(column, name, ColumnBase.defaultProps);
233
- },
234
- getCProps: function getCProps(column) {
235
- return ObjectUtils.getComponentProps(column, ColumnBase.defaultProps);
236
- },
237
- getCOtherProps: function getCOtherProps(column) {
238
- return ObjectUtils.getComponentDiffProps(column, ColumnBase.defaultProps);
239
- }
240
- });
241
-
242
- var styles = "\n@layer primereact {\n .p-treetable {\n position: relative;\n }\n \n .p-treetable > .p-treetable-wrapper {\n overflow: auto;\n }\n \n .p-treetable table {\n border-collapse: collapse;\n width: 100%;\n table-layout: fixed;\n }\n \n .p-treetable .p-sortable-column {\n cursor: pointer;\n user-select: none;\n }\n \n .p-treetable-selectable .p-treetable-tbody > tr {\n cursor: pointer;\n }\n \n .p-treetable-toggler {\n cursor: pointer;\n user-select: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n vertical-align: middle;\n overflow: hidden;\n position: relative;\n }\n \n .p-treetable-toggler + .p-checkbox {\n vertical-align: middle;\n }\n \n .p-treetable-toggler + .p-checkbox + span {\n vertical-align: middle;\n }\n \n /* Resizable */\n .p-treetable-resizable > .p-treetable-wrapper {\n overflow-x: auto;\n }\n \n .p-treetable-resizable .p-treetable-thead > tr > th,\n .p-treetable-resizable .p-treetable-tfoot > tr > td,\n .p-treetable-resizable .p-treetable-tbody > tr > td {\n overflow: hidden;\n }\n \n .p-treetable-resizable .p-resizable-column {\n background-clip: padding-box;\n position: relative;\n }\n \n .p-treetable-resizable-fit .p-resizable-column:last-child .p-column-resizer {\n display: none;\n }\n \n .p-treetable .p-column-resizer {\n display: block;\n position: absolute !important;\n top: 0;\n right: 0;\n margin: 0;\n width: 0.5rem;\n height: 100%;\n padding: 0px;\n cursor: col-resize;\n border: 1px solid transparent;\n }\n \n .p-treetable .p-column-resizer-helper {\n width: 1px;\n position: absolute;\n z-index: 10;\n display: none;\n }\n \n /* Scrollable */\n .p-treetable-scrollable-wrapper {\n position: relative;\n }\n .p-treetable-scrollable-header,\n .p-treetable-scrollable-footer {\n overflow: hidden;\n border: 0 none;\n }\n \n .p-treetable-scrollable-body {\n overflow: auto;\n position: relative;\n }\n \n .p-treetable-virtual-table {\n position: absolute;\n }\n \n /* Frozen Columns */\n .p-treetable-frozen-view .p-treetable-scrollable-body {\n overflow: hidden;\n }\n \n .p-treetable-unfrozen-view {\n position: absolute;\n top: 0px;\n left: 0px;\n }\n \n /* Reorder */\n .p-treetable-reorder-indicator-up,\n .p-treetable-reorder-indicator-down {\n position: absolute;\n display: none;\n }\n \n /* Loader */\n .p-treetable .p-treetable-loading-overlay {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 2;\n }\n}\n";
243
- var classes = {
244
- root: function root(_ref) {
245
- var props = _ref.props,
246
- isRowSelectionMode = _ref.isRowSelectionMode;
247
- return classNames('p-treetable p-component', {
248
- 'p-treetable-hoverable-rows': props.rowHover,
249
- 'p-treetable-selectable': isRowSelectionMode(),
250
- 'p-treetable-resizable': props.resizableColumns,
251
- 'p-treetable-resizable-fit': props.resizableColumns && props.columnResizeMode === 'fit',
252
- 'p-treetable-striped': props.stripedRows,
253
- 'p-treetable-gridlines': props.showGridlines
254
- });
255
- },
256
- loadingIcon: 'p-treetable-loading-icon',
257
- loadingWrapper: 'p-treetable-loading',
258
- loadingOverlay: 'p-treetable-loading-overlay p-component-overlay',
259
- header: 'p-treetable-header',
260
- footer: 'p-treetable-footer',
261
- resizeHelper: 'p-column-resizer-helper',
262
- reorderIndicatorUp: 'p-datatable-reorder-indicator-up',
263
- reorderIndicatorDown: 'p-datatable-reorder-indicator-down',
264
- wrapper: 'p-treetable-wrapper',
265
- table: function table(_ref2) {
266
- var props = _ref2.props;
267
- return classNames('p-treetable-table', {
268
- 'p-treetable-scrollable-table': props.scrollable,
269
- 'p-treetable-resizable-table': props.resizableColumns,
270
- 'p-treetable-resizable-table-fit': props.resizableColumns && props.columnResizeMode === 'fit'
271
- });
272
- },
273
- scrollableWrapper: 'p-treetable-wrapper p-treetable-scrollable-wrapper',
274
- thead: 'p-treetable-thead',
275
- tbody: 'p-treetable-tbody',
276
- tfoot: 'p-treetable-tfoot',
277
- emptyMessage: 'p-treetable-emptymessage',
278
- bodyCell: function bodyCell(_ref3) {
279
- var props = _ref3.bodyProps,
280
- editingState = _ref3.editingState;
281
- return classNames({
282
- 'p-editable-column': props.editor,
283
- 'p-cell-editing': props.editor ? editingState : false
284
- });
285
- },
286
- sortBadge: 'p-sortable-column-badge',
287
- headerTitle: 'p-column-title',
288
- headerCell: function headerCell(_ref4) {
289
- var props = _ref4.headerProps,
290
- column = _ref4.column,
291
- options = _ref4.options,
292
- getColumnProp = _ref4.getColumnProp,
293
- sorted = _ref4.sorted,
294
- frozen = _ref4.frozen;
295
- return options.filterOnly ? 'p-filter-column' : classNames({
296
- 'p-sortable-column': getColumnProp(column, 'sortable'),
297
- 'p-highlight': sorted,
298
- 'p-frozen-column': frozen,
299
- 'p-resizable-column': props.resizableColumns && getColumnProp(column, 'resizeable'),
300
- 'p-reorderable-column': props.reorderableColumns && getColumnProp(column, 'reorderable') && !frozen
301
- });
302
- },
303
- columnResizer: 'p-column-resizer p-clickable',
304
- sortIcon: 'p-sortable-column-icon',
305
- row: function row(_ref5) {
306
- var isSelected = _ref5.isSelected,
307
- props = _ref5.rowProps;
308
- return {
309
- 'p-highlight': isSelected(),
310
- 'p-highlight-contextmenu': props.contextMenuSelectionKey && props.contextMenuSelectionKey === props.node.key,
311
- 'p-row-odd': props.rowIndex % 2 !== 0
312
- };
313
- },
314
- checkboxWrapper: 'p-checkbox p-treetable-checkbox p-component',
315
- checkbox: function checkbox(_ref6) {
316
- var checked = _ref6.checked,
317
- partialChecked = _ref6.partialChecked;
318
- return classNames('p-checkbox-box', {
319
- 'p-highlight': checked,
320
- 'p-indeterminate': partialChecked
321
- });
322
- },
323
- checkboxIcon: 'p-checkbox-icon p-c',
324
- rowToggler: 'p-treetable-toggler p-link p-unselectable-text',
325
- rowTogglerIcon: 'p-treetable-toggler-icon',
326
- scrollableBody: 'p-treetable-scrollable-body',
327
- scrollableHeaderTable: 'p-treetable-scrollable-header-table',
328
- scrollableHeaderBox: 'p-treetable-scrollable-header-box',
329
- scrollableHeader: 'p-treetable-scrollable-header',
330
- scrollableBodyTable: 'p-treetable-scrollable-body-table',
331
- scrollableFooter: 'p-treetable-scrollable-footer',
332
- scrollableFooterBox: 'p-treetable-scrollable-footer-box',
333
- scrollableFooterTable: 'p-treetable-scrollable-footer-table',
334
- scrollable: function scrollable(_ref7) {
335
- var props = _ref7.scrolaableProps;
336
- return classNames('p-treetable-scrollable-view', {
337
- 'p-treetable-frozen-view': props.frozen,
338
- 'p-treetable-unfrozen-view': !props.frozen && props.frozenWidth
339
- });
340
- },
341
- scrollableColgroup: 'p-treetable-scrollable-colgroup'
342
- };
343
- var TreeTableBase = ComponentBase.extend({
344
- defaultProps: {
345
- __TYPE: 'TreeTable',
346
- alwaysShowPaginator: true,
347
- checkboxIcon: null,
348
- className: null,
349
- columnResizeMode: 'fit',
350
- contextMenuSelectionKey: null,
351
- currentPageReportTemplate: '({currentPage} of {totalPages})',
352
- defaultSortOrder: 1,
353
- emptyMessage: null,
354
- expandedKeys: null,
355
- filterDelay: 300,
356
- filterLocale: undefined,
357
- filterMode: 'lenient',
358
- filters: null,
359
- first: null,
360
- footer: null,
361
- footerColumnGroup: null,
362
- frozenFooterColumnGroup: null,
363
- frozenHeaderColumnGroup: null,
364
- frozenWidth: null,
365
- globalFilter: null,
366
- globalFilterMatchMode: FilterMatchMode.CONTAINS,
367
- header: null,
368
- headerColumnGroup: null,
369
- id: null,
370
- lazy: false,
371
- loading: false,
372
- loadingIcon: null,
373
- metaKeySelection: true,
374
- multiSortMeta: null,
375
- onColReorder: null,
376
- onCollapse: null,
377
- onColumnResizeEnd: null,
378
- onContextMenu: null,
379
- onContextMenuSelectionChange: null,
380
- onExpand: null,
381
- onFilter: null,
382
- onPage: null,
383
- onRowClick: null,
384
- onRowMouseEnter: null,
385
- onRowMouseLeave: null,
386
- onSelect: null,
387
- onSelectionChange: null,
388
- onSort: null,
389
- onToggle: null,
390
- onUnselect: null,
391
- onValueChange: null,
392
- pageLinkSize: 5,
393
- paginator: false,
394
- paginatorClassName: null,
395
- paginatorDropdownAppendTo: null,
396
- paginatorLeft: null,
397
- paginatorPosition: 'bottom',
398
- paginatorRight: null,
399
- paginatorTemplate: 'FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown',
400
- propagateSelectionDown: true,
401
- propagateSelectionUp: true,
402
- removableSort: false,
403
- reorderableColumns: false,
404
- reorderIndicatorDownIcon: null,
405
- reorderIndicatorUpIcon: null,
406
- resizableColumns: false,
407
- rowClassName: null,
408
- rowHover: false,
409
- rows: null,
410
- rowsPerPageOptions: null,
411
- scrollHeight: null,
412
- scrollable: false,
413
- selectOnEdit: true,
414
- selectionKeys: null,
415
- selectionMode: null,
416
- showGridlines: false,
417
- sortField: null,
418
- sortMode: 'single',
419
- sortIcon: null,
420
- sortOrder: null,
421
- stripedRows: false,
422
- style: null,
423
- tabIndex: 0,
424
- tableClassName: null,
425
- tableStyle: null,
426
- totalRecords: null,
427
- value: null,
428
- children: undefined
429
- },
430
- css: {
431
- classes: classes,
432
- styles: styles
433
- }
434
- });
435
-
436
- function ownKeys$5(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
437
- function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
438
- var TreeTableBodyCell = function TreeTableBodyCell(props) {
439
- var _React$useState = React.useState(false),
440
- _React$useState2 = _slicedToArray(_React$useState, 2),
441
- editingState = _React$useState2[0],
442
- setEditingState = _React$useState2[1];
443
- var elementRef = React.useRef(null);
444
- var keyHelperRef = React.useRef(null);
445
- var selfClick = React.useRef(false);
446
- var overlayEventListener = React.useRef(null);
447
- var tabIndexTimeout = React.useRef(null);
448
- var getColumnProp = function getColumnProp(name) {
449
- return ColumnBase.getCProp(props.column, name);
450
- };
451
- var getColumnProps = function getColumnProps(column) {
452
- return ColumnBase.getCProps(column);
453
- };
454
- var _props$ptCallbacks = props.ptCallbacks,
455
- ptm = _props$ptCallbacks.ptm,
456
- ptmo = _props$ptCallbacks.ptmo,
457
- cx = _props$ptCallbacks.cx;
458
- var getColumnPTOptions = function getColumnPTOptions(key) {
459
- var isSingleSelectionMode = props.metaData.props.selectionMode === 'single';
460
- var isMultipleSelectionMode = props.metaData.props.selectionMode === 'multiple';
461
- var cProps = getColumnProps(props.column);
462
- var columnMetadata = {
463
- props: cProps,
464
- parent: props.metaData,
465
- hostName: props.hostName,
466
- state: {
467
- editing: editingState
468
- },
469
- context: {
470
- index: props.index,
471
- selectable: isSingleSelectionMode || isMultipleSelectionMode,
472
- selected: props.selected,
473
- scrollable: props.metaData.props.scrollable,
474
- frozen: getColumnProp('frozen'),
475
- showGridlines: props.metaData.props.showGridlines
476
- }
477
- };
478
- return mergeProps(ptm("column.".concat(key), {
479
- column: columnMetadata
480
- }), ptm("column.".concat(key), columnMetadata), ptmo(cProps, key, columnMetadata));
481
- };
482
- var field = getColumnProp('field') || "field_".concat(props.index);
483
- var getCellParams = function getCellParams() {
484
- return {
485
- value: resolveFieldData(),
486
- field: field,
487
- rowData: props.rowData,
488
- rowIndex: props.rowIndex,
489
- cellIndex: props.index,
490
- selected: isSelected(),
491
- column: props.column,
492
- props: props
493
- };
494
- };
495
- var getCellCallbackParams = function getCellCallbackParams(event) {
496
- var params = getCellParams();
497
- return _objectSpread$5({
498
- originalEvent: event
499
- }, params);
500
- };
501
- var resolveFieldData = function resolveFieldData(data) {
502
- return ObjectUtils.resolveFieldData(data || props.node.data, field);
503
- };
504
- var _useEventListener = useEventListener({
505
- type: 'click',
506
- listener: function listener(e) {
507
- if (!selfClick.current && isOutsideClicked(e.target)) {
508
- switchCellToViewMode(e);
509
- }
510
- selfClick.current = false;
511
- }
512
- }),
513
- _useEventListener2 = _slicedToArray(_useEventListener, 2),
514
- bindDocumentClickListener = _useEventListener2[0],
515
- unbindDocumentClickListener = _useEventListener2[1];
516
- var _onClick = function onClick(event) {
517
- if (props.editor && !editingState && (props.selectOnEdit || !props.selectOnEdit && props.selected)) {
518
- selfClick.current = true;
519
- var params = getCellCallbackParams(event);
520
- var onBeforeCellEditShow = getColumnProp('onBeforeCellEditShow');
521
- if (onBeforeCellEditShow) {
522
- // if user returns false do not show the editor
523
- if (onBeforeCellEditShow(params) === false) {
524
- return;
525
- }
526
-
527
- // if user prevents default stop the editor
528
- if (event && event.defaultPrevented) {
529
- return;
530
- }
531
- }
532
- setEditingState(true);
533
- var onCellEditInit = getColumnProp('onCellEditInit');
534
- if (onCellEditInit) {
535
- if (onCellEditInit(params) === false) {
536
- return;
537
- }
538
-
539
- // if user prevents default stop the editor
540
- if (event && event.defaultPrevented) {
541
- return;
542
- }
543
- }
544
- bindDocumentClickListener();
545
- overlayEventListener.current = function (e) {
546
- if (!isOutsideClicked(e.target)) {
547
- selfClick.current = true;
548
- }
549
- };
550
- OverlayService.on('overlay-click', overlayEventListener.current);
551
- }
552
- };
553
- var _onKeyDown = function onKeyDown(event) {
554
- if (event.which === 13 || event.which === 9) {
555
- switchCellToViewMode(event);
556
- }
557
- };
558
- var isOutsideClicked = function isOutsideClicked(target) {
559
- return elementRef.current && !(elementRef.current.isSameNode(target) || elementRef.current.contains(target));
560
- };
561
- var closeCell = function closeCell() {
562
- /* When using the 'tab' key, the focus event of the next cell is not called in IE. */
563
- setTimeout(function () {
564
- setEditingState(false);
565
- unbindDocumentClickListener();
566
- OverlayService.off('overlay-click', overlayEventListener.current);
567
- overlayEventListener.current = null;
568
- }, 1);
569
- };
570
- var onEditorFocus = function onEditorFocus(event) {
571
- _onClick(event);
572
- };
573
- var switchCellToViewMode = function switchCellToViewMode(event) {
574
- if (props.cellEditValidator) {
575
- var valid = props.cellEditValidator({
576
- originalEvent: event,
577
- columnProps: props
578
- });
579
- if (valid) {
580
- closeCell();
581
- }
582
- } else {
583
- closeCell();
584
- }
585
- };
586
- var isSelected = function isSelected() {
587
- return props.selection ? props.selection instanceof Array ? findIndex(props.selection) > -1 : equals(props.selection) : false;
588
- };
589
- React.useEffect(function () {
590
- if (elementRef.current && props.editor) {
591
- clearTimeout(tabIndexTimeout.current);
592
- if (editingState) {
593
- var focusable = DomHandler.findSingle(elementRef.current, 'input');
594
- if (focusable && document.activeElement !== focusable && !focusable.hasAttribute('data-isCellEditing')) {
595
- focusable.setAttribute('data-isCellEditing', true);
596
- focusable.focus();
597
- }
598
- keyHelperRef.current.tabIndex = -1;
599
- } else {
600
- tabIndexTimeout.current = setTimeout(function () {
601
- if (keyHelperRef.current) {
602
- keyHelperRef.current.setAttribute('tabindex', 0);
603
- }
604
- }, 50);
605
- }
606
- }
607
- });
608
- useUnmountEffect(function () {
609
- if (overlayEventListener.current) {
610
- OverlayService.off('overlay-click', overlayEventListener.current);
611
- overlayEventListener.current = null;
612
- }
613
- });
614
- var bodyClassName = ObjectUtils.getPropValue(props.bodyClassName, props.node.data, {
615
- field: props.field,
616
- rowIndex: props.rowIndex,
617
- props: props
618
- });
619
- var style = props.bodyStyle || props.style;
620
- var content;
621
- if (editingState) {
622
- if (props.editor) content = ObjectUtils.getJSXElement(props.editor, {
623
- node: props.node,
624
- rowData: props.rowData,
625
- value: ObjectUtils.resolveFieldData(props.node.data, props.field),
626
- field: props.field,
627
- rowIndex: props.rowIndex,
628
- props: props
629
- });else throw new Error('Editor is not found on column.');
630
- } else {
631
- if (props.body) content = ObjectUtils.getJSXElement(props.body, props.node, {
632
- field: props.field,
633
- rowIndex: props.rowIndex,
634
- props: props
635
- });else content = ObjectUtils.resolveFieldData(props.node.data, props.field);
636
- }
637
- var editorKeyHelperProps = mergeProps({
638
- tabIndex: 0,
639
- ref: keyHelperRef,
640
- className: 'p-cell-editor-key-helper p-hidden-accessible',
641
- onFocus: function onFocus(e) {
642
- return onEditorFocus(e);
643
- }
644
- }, getColumnPTOptions('editorKeyHelperLabel'));
645
- var editorKeyHelperLabelProps = mergeProps(getColumnPTOptions('editorKeyHelper'));
646
- /* eslint-disable */
647
- var editorKeyHelper = props.editor && /*#__PURE__*/React.createElement("a", editorKeyHelperProps, /*#__PURE__*/React.createElement("span", editorKeyHelperLabelProps));
648
- /* eslint-enable */
649
- var bodyCellProps = mergeProps({
650
- className: classNames(bodyClassName || props.className, cx('bodyCell', {
651
- bodyProps: props,
652
- editingState: editingState
653
- })),
654
- style: style,
655
- onClick: function onClick(e) {
656
- return _onClick(e);
657
- },
658
- onKeyDown: function onKeyDown(e) {
659
- return _onKeyDown(e);
660
- }
661
- }, getColumnPTOptions('root'), getColumnPTOptions('bodyCell'));
662
- return /*#__PURE__*/React.createElement("td", _extends({
663
- ref: elementRef
664
- }, bodyCellProps), props.children, editorKeyHelper, content);
665
- };
666
- TreeTableBodyCell.displayName = 'TreeTableBodyCell';
667
-
668
- function _createForOfIteratorHelper$3(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$3(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
669
- function _unsupportedIterableToArray$3(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$3(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$3(o, minLen); }
670
- function _arrayLikeToArray$3(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
671
- function ownKeys$4(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
672
- function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
673
- var TreeTableRow = /*#__PURE__*/React.memo(function (props) {
674
- var elementRef = React.useRef(null);
675
- var checkboxRef = React.useRef(null);
676
- var checkboxBoxRef = React.useRef(null);
677
- var nodeTouched = React.useRef(false);
678
- var expanded = props.expandedKeys ? props.expandedKeys[props.node.key] !== undefined : false;
679
- var getColumnProp = function getColumnProp(column, name) {
680
- return ColumnBase.getCProp(column, name);
681
- };
682
- var getColumnProps = function getColumnProps(column) {
683
- return ColumnBase.getCProps(column);
684
- };
685
- var _props$ptCallbacks = props.ptCallbacks,
686
- ptm = _props$ptCallbacks.ptm,
687
- ptmo = _props$ptCallbacks.ptmo,
688
- cx = _props$ptCallbacks.cx,
689
- isUnstyled = _props$ptCallbacks.isUnstyled;
690
- var getColumnPTOptions = function getColumnPTOptions(column, key) {
691
- var cProps = getColumnProps(column);
692
- var columnMetadata = {
693
- props: cProps,
694
- parent: props.metaData,
695
- hostName: props.hostName,
696
- context: {
697
- index: props.rowIndex,
698
- selectable: props.node.selectable !== false,
699
- selected: isSelected(),
700
- frozen: getColumnProp(column, 'frozen'),
701
- scrollable: props.metaData.props.scrollable
702
- }
703
- };
704
- return mergeProps(ptm("column.".concat(key), {
705
- column: columnMetadata
706
- }), ptm("column.".concat(key), columnMetadata), ptmo(cProps, key, columnMetadata));
707
- };
708
- var getColumnCheckboxPTOptions = function getColumnCheckboxPTOptions(column, key) {
709
- var cProps = getColumnProps(column);
710
- var columnMetadata = {
711
- props: cProps,
712
- parent: props.metaData,
713
- hostName: props.hostName,
714
- context: {
715
- checked: isChecked(),
716
- partialChecked: isPartialChecked()
717
- }
718
- };
719
- return mergeProps(ptm("column.".concat(key), {
720
- column: columnMetadata
721
- }), ptm("column.".concat(key), columnMetadata), ptmo(cProps, key, columnMetadata));
722
- };
723
- var getRowPTOptions = function getRowPTOptions(key) {
724
- var rowMetadata = {
725
- hostName: props.hostName,
726
- context: {
727
- index: props.index,
728
- selected: isSelected(),
729
- selectable: props.node.selectable !== false,
730
- frozen: getColumnProp('frozen'),
731
- scrollable: props.metaData.props.scrollable,
732
- showGridlines: props.metaData.props.showGridlines
733
- }
734
- };
735
- return ptm(key, rowMetadata);
736
- };
737
- var onTogglerClick = function onTogglerClick(event) {
738
- expanded ? collapse(event) : expand(event);
739
- event.preventDefault();
740
- event.stopPropagation();
741
- };
742
- var expand = function expand(event) {
743
- var expandedKeys = props.expandedKeys ? _objectSpread$4({}, props.expandedKeys) : {};
744
- expandedKeys[props.node.key] = true;
745
- props.onToggle({
746
- originalEvent: event,
747
- value: expandedKeys
748
- });
749
- invokeToggleEvents(event, true);
750
- };
751
- var collapse = function collapse(event) {
752
- var expandedKeys = _objectSpread$4({}, props.expandedKeys);
753
- delete expandedKeys[props.node.key];
754
- props.onToggle({
755
- originalEvent: event,
756
- value: expandedKeys
757
- });
758
- invokeToggleEvents(event, false);
759
- };
760
- var invokeToggleEvents = function invokeToggleEvents(event, expanded) {
761
- if (expanded) {
762
- if (props.onExpand) {
763
- props.onExpand({
764
- originalEvent: event,
765
- node: props.node
766
- });
767
- }
768
- } else {
769
- if (props.onCollapse) {
770
- props.onCollapse({
771
- originalEvent: event,
772
- node: props.node
773
- });
774
- }
775
- }
776
- };
777
- var _onClick = function onClick(event) {
778
- if (props.onRowClick) {
779
- props.onRowClick(event, props.node);
780
- }
781
- nodeTouched.current = false;
782
- };
783
- var _onTouchEnd = function onTouchEnd() {
784
- nodeTouched.current = true;
785
- };
786
- var _onMouseEnter = function onMouseEnter(event) {
787
- if (props.onRowMouseEnter) {
788
- props.onRowMouseEnter({
789
- originalEvent: event,
790
- node: props.node,
791
- index: props.rowIndex
792
- });
793
- }
794
- };
795
- var _onMouseLeave = function onMouseLeave(event) {
796
- if (props.onRowMouseLeave) {
797
- props.onRowMouseLeave({
798
- originalEvent: event,
799
- node: props.node,
800
- index: props.rowIndex
801
- });
802
- }
803
- };
804
- var onCheckboxChange = function onCheckboxChange(event) {
805
- var checked = isChecked();
806
- var selectionKeys = props.selectionKeys ? _objectSpread$4({}, props.selectionKeys) : {};
807
- if (checked) {
808
- if (props.propagateSelectionDown) propagateDown(props.node, false, selectionKeys);else delete selectionKeys[props.node.key];
809
- if (props.propagateSelectionUp && props.onPropagateUp) {
810
- props.onPropagateUp({
811
- originalEvent: event,
812
- check: false,
813
- selectionKeys: selectionKeys
814
- });
815
- }
816
- if (props.onUnselect) {
817
- props.onUnselect({
818
- originalEvent: event,
819
- node: props.node
820
- });
821
- }
822
- } else {
823
- if (props.propagateSelectionDown) propagateDown(props.node, true, selectionKeys);else selectionKeys[props.node.key] = {
824
- checked: true
825
- };
826
- if (props.propagateSelectionUp && props.onPropagateUp) {
827
- props.onPropagateUp({
828
- originalEvent: event,
829
- check: true,
830
- selectionKeys: selectionKeys
831
- });
832
- }
833
- if (props.onSelect) {
834
- props.onSelect({
835
- originalEvent: event,
836
- node: props.node
837
- });
838
- }
839
- }
840
- if (props.onSelectionChange) {
841
- props.onSelectionChange({
842
- originalEvent: event,
843
- value: selectionKeys
844
- });
845
- }
846
- DomHandler.clearSelection();
847
- };
848
- var onCheckboxFocus = function onCheckboxFocus() {
849
- !isUnstyled() && DomHandler.addClass(checkboxBoxRef.current, 'p-focus');
850
- !isUnstyled() && DomHandler.addClass(checkboxRef.current, 'p-checkbox-focused');
851
- };
852
- var onCheckboxBlur = function onCheckboxBlur() {
853
- !isUnstyled() && DomHandler.removeClass(checkboxBoxRef.current, 'p-focus');
854
- !isUnstyled() && DomHandler.removeClass(checkboxRef.current, 'p-checkbox-focused');
855
- };
856
- var propagateUp = function propagateUp(event) {
857
- var check = event.check;
858
- var selectionKeys = event.selectionKeys;
859
- var checkedChildCount = 0;
860
- var _iterator = _createForOfIteratorHelper$3(props.node.children),
861
- _step;
862
- try {
863
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
864
- var child = _step.value;
865
- if (selectionKeys[child.key] && selectionKeys[child.key].checked) checkedChildCount++;
866
- }
867
- } catch (err) {
868
- _iterator.e(err);
869
- } finally {
870
- _iterator.f();
871
- }
872
- var parentKey = props.node.key;
873
- var children = ObjectUtils.findChildrenByKey(props.originalOptions, parentKey);
874
- var isParentPartiallyChecked = children.some(function (ele) {
875
- return ele.key in selectionKeys;
876
- });
877
- var isCompletelyChecked = children.every(function (ele) {
878
- return ele.key in selectionKeys && selectionKeys[ele.key].checked;
879
- });
880
- if (isParentPartiallyChecked && !isCompletelyChecked) {
881
- selectionKeys[parentKey] = {
882
- checked: false,
883
- partialChecked: true
884
- };
885
- } else if (isCompletelyChecked) {
886
- selectionKeys[parentKey] = {
887
- checked: true,
888
- partialChecked: false
889
- };
890
- } else if (check) {
891
- selectionKeys[parentKey] = {
892
- checked: false,
893
- partialChecked: false
894
- };
895
- } else {
896
- delete selectionKeys[parentKey];
897
- }
898
- if (props.propagateSelectionUp && props.onPropagateUp) {
899
- props.onPropagateUp(event);
900
- }
901
- };
902
- var propagateDown = function propagateDown(node, check, selectionKeys) {
903
- if (check) selectionKeys[node.key] = {
904
- checked: true,
905
- partialChecked: false
906
- };else delete selectionKeys[node.key];
907
- if (node.children && node.children.length) {
908
- for (var i = 0; i < node.children.length; i++) {
909
- propagateDown(node.children[i], check, selectionKeys);
910
- }
911
- }
912
- };
913
- var onRightClick = function onRightClick(event) {
914
- DomHandler.clearSelection();
915
- if (props.onContextMenuSelectionChange) {
916
- props.onContextMenuSelectionChange({
917
- originalEvent: event,
918
- value: props.node.key
919
- });
920
- }
921
- if (props.onContextMenu) {
922
- props.onContextMenu({
923
- originalEvent: event,
924
- node: props.node
925
- });
926
- }
927
- };
928
- var _onKeyDown = function onKeyDown(event) {
929
- if (event.target === elementRef.current) {
930
- var rowElement = event.currentTarget;
931
- switch (event.which) {
932
- //down arrow
933
- case 40:
934
- var nextRow = rowElement.nextElementSibling;
935
- if (nextRow) {
936
- nextRow.focus();
937
- }
938
- event.preventDefault();
939
- break;
940
-
941
- //up arrow
942
- case 38:
943
- var previousRow = rowElement.previousElementSibling;
944
- if (previousRow) {
945
- previousRow.focus();
946
- }
947
- event.preventDefault();
948
- break;
949
-
950
- //right arrow
951
- case 39:
952
- if (!expanded) {
953
- expand(event);
954
- }
955
- event.preventDefault();
956
- break;
957
-
958
- //left arrow
959
- case 37:
960
- if (expanded) {
961
- collapse(event);
962
- }
963
- event.preventDefault();
964
- break;
965
-
966
- //enter
967
- case 13:
968
- _onClick(event);
969
- event.preventDefault();
970
- break;
971
- }
972
- }
973
- };
974
- var isSelected = function isSelected() {
975
- if ((props.selectionMode === 'single' || props.selectionMode === 'multiple') && props.selectionKeys) return props.selectionMode === 'single' ? props.selectionKeys === props.node.key : props.selectionKeys[props.node.key] !== undefined;else return false;
976
- };
977
- var isChecked = function isChecked() {
978
- return props.selectionKeys ? props.selectionKeys[props.node.key] && props.selectionKeys[props.node.key].checked : false;
979
- };
980
- var isPartialChecked = function isPartialChecked() {
981
- return props.selectionKeys ? props.selectionKeys[props.node.key] && props.selectionKeys[props.node.key].partialChecked : false;
982
- };
983
- var createToggler = function createToggler(column) {
984
- var label = expanded ? ariaLabel('collapseLabel') : ariaLabel('expandLabel');
985
- var rowTogglerIconProps = mergeProps({
986
- className: cx('rowTogglerIcon'),
987
- 'aria-hidden': true
988
- }, getColumnPTOptions(column, 'rowTogglerIcon'));
989
- var icon = expanded ? /*#__PURE__*/React.createElement(ChevronDownIcon, rowTogglerIconProps) : /*#__PURE__*/React.createElement(ChevronRightIcon, rowTogglerIconProps);
990
- var togglerIcon = IconUtils.getJSXIcon(props.togglerIcon || icon, _objectSpread$4({}, rowTogglerIconProps), {
991
- props: props
992
- });
993
- var rowTogglerProps = mergeProps({
994
- type: 'button',
995
- className: cx('rowToggler'),
996
- onClick: function onClick(e) {
997
- return onTogglerClick(e);
998
- },
999
- tabIndex: -1,
1000
- style: {
1001
- marginLeft: props.level * 16 + 'px',
1002
- visibility: props.node.leaf === false || props.node.children && props.node.children.length ? 'visible' : 'hidden'
1003
- },
1004
- 'aria-label': label
1005
- }, getColumnPTOptions(column, 'rowToggler'));
1006
- var content = /*#__PURE__*/React.createElement("button", rowTogglerProps, togglerIcon, /*#__PURE__*/React.createElement(Ripple, null));
1007
- if (props.togglerTemplate) {
1008
- var defaultContentOptions = {
1009
- onClick: onTogglerClick,
1010
- containerClassName: 'p-treetable-toggler p-link',
1011
- iconClassName: 'p-treetable-toggler-icon',
1012
- element: content,
1013
- props: props,
1014
- expanded: expanded,
1015
- buttonStyle: {
1016
- marginLeft: props.level * 16 + 'px',
1017
- visibility: props.node.leaf === false || props.node.children && props.node.children.length ? 'visible' : 'hidden'
1018
- }
1019
- };
1020
- content = ObjectUtils.getJSXElement(props.togglerTemplate, props.node, defaultContentOptions);
1021
- }
1022
- return content;
1023
- };
1024
- var createCheckbox = function createCheckbox(column) {
1025
- if (props.selectionMode === 'checkbox' && props.node.selectable !== false) {
1026
- var checked = isChecked();
1027
- var partialChecked = isPartialChecked();
1028
- var checboxIconProps = mergeProps({
1029
- className: cx('checkboxIcon')
1030
- }, getColumnCheckboxPTOptions(column, 'checkboxIcon'));
1031
- var icon = checked ? props.checkboxIcon || /*#__PURE__*/React.createElement(CheckIcon, checboxIconProps) : partialChecked ? props.checkboxIcon || /*#__PURE__*/React.createElement(MinusIcon, checboxIconProps) : null;
1032
- var checkIcon = IconUtils.getJSXIcon(icon, _objectSpread$4({}, checboxIconProps), {
1033
- props: props,
1034
- checked: checked,
1035
- partialChecked: partialChecked
1036
- });
1037
- var hiddenInputProps = mergeProps({
1038
- type: 'checkbox',
1039
- onFocus: function onFocus(e) {
1040
- return onCheckboxFocus();
1041
- },
1042
- onBlur: function onBlur(e) {
1043
- return onCheckboxBlur();
1044
- }
1045
- }, getColumnCheckboxPTOptions(column, 'hiddenInput'));
1046
- var checkboxWrapperProps = mergeProps({
1047
- className: cx('checkboxWrapper'),
1048
- onClick: function onClick(e) {
1049
- return onCheckboxChange(e);
1050
- },
1051
- role: 'checkbox',
1052
- 'aria-checked': checked
1053
- }, getColumnCheckboxPTOptions(column, 'checkboxWrapper'));
1054
- var hiddenInputWrapperProps = mergeProps({
1055
- className: 'p-hidden-accessible'
1056
- }, getColumnCheckboxPTOptions(column, 'hiddenInputWrapper'));
1057
- var checkboxProps = mergeProps({
1058
- className: cx('checkbox', {
1059
- checked: checked,
1060
- partialChecked: partialChecked
1061
- })
1062
- }, getColumnCheckboxPTOptions(column, 'checkbox'));
1063
- return /*#__PURE__*/React.createElement("div", _extends({
1064
- ref: checkboxRef
1065
- }, checkboxWrapperProps), /*#__PURE__*/React.createElement("div", hiddenInputWrapperProps, /*#__PURE__*/React.createElement("input", hiddenInputProps)), /*#__PURE__*/React.createElement("div", _extends({
1066
- ref: checkboxBoxRef
1067
- }, checkboxProps), checkIcon));
1068
- } else {
1069
- return null;
1070
- }
1071
- };
1072
- var createCell = function createCell(column, index) {
1073
- var toggler, checkbox;
1074
- if (getColumnProp(column, 'expander')) {
1075
- toggler = createToggler(column);
1076
- checkbox = createCheckbox(column);
1077
- }
1078
- return /*#__PURE__*/React.createElement(TreeTableBodyCell, _extends({
1079
- hostName: props.hostName,
1080
- key: "".concat(getColumnProp(column, 'columnKey') || getColumnProp(column, 'field'), "_").concat(index)
1081
- }, ColumnBase.getCProps(column), {
1082
- index: index,
1083
- column: column,
1084
- selectOnEdit: props.selectOnEdit,
1085
- selected: isSelected(),
1086
- node: props.node,
1087
- rowData: props.node && props.node.data,
1088
- rowIndex: props.rowIndex,
1089
- ptCallbacks: props.ptCallbacks,
1090
- metaData: props.metaData
1091
- }), toggler, checkbox);
1092
- };
1093
- var createChildren = function createChildren() {
1094
- if (expanded && props.node.children) {
1095
- return props.node.children.map(function (childNode, index) {
1096
- return /*#__PURE__*/React.createElement(TreeTableRow, {
1097
- hostName: props.hostName,
1098
- key: "".concat(childNode.key || JSON.stringify(childNode.data), "_").concat(index),
1099
- level: props.level + 1,
1100
- rowIndex: props.rowIndex + '_' + index,
1101
- node: childNode,
1102
- originalOptions: props.originalOptions,
1103
- checkboxIcon: props.checkboxIcon,
1104
- columns: props.columns,
1105
- expandedKeys: props.expandedKeys,
1106
- selectOnEdit: props.selectOnEdit,
1107
- onToggle: props.onToggle,
1108
- togglerTemplate: props.togglerTemplate,
1109
- onExpand: props.onExpand,
1110
- onCollapse: props.onCollapse,
1111
- selectionMode: props.selectionMode,
1112
- selectionKeys: props.selectionKeys,
1113
- onSelectionChange: props.onSelectionChange,
1114
- metaKeySelection: props.metaKeySelection,
1115
- onRowClick: props.onRowClick,
1116
- onRowMouseEnter: props.onRowMouseEnter,
1117
- onRowMouseLeave: props.onRowMouseLeave,
1118
- onSelect: props.onSelect,
1119
- onUnselect: props.onUnselect,
1120
- propagateSelectionUp: props.propagateSelectionUp,
1121
- propagateSelectionDown: props.propagateSelectionDown,
1122
- onPropagateUp: propagateUp,
1123
- rowClassName: props.rowClassName,
1124
- contextMenuSelectionKey: props.contextMenuSelectionKey,
1125
- onContextMenuSelectionChange: props.onContextMenuSelectionChange,
1126
- onContextMenu: props.onContextMenu,
1127
- ptCallbacks: props.ptCallbacks,
1128
- metaData: props.metaData
1129
- });
1130
- });
1131
- } else {
1132
- return null;
1133
- }
1134
- };
1135
- var cells = props.columns.map(createCell);
1136
- var children = createChildren();
1137
- var className = cx('row', {
1138
- isSelected: isSelected,
1139
- rowProps: props
1140
- });
1141
- if (props.rowClassName) {
1142
- var rowClassName = props.rowClassName(props.node);
1143
- className = _objectSpread$4(_objectSpread$4({}, className), rowClassName);
1144
- }
1145
- className = classNames(className, props.node.className);
1146
- var rowProps = mergeProps({
1147
- tabIndex: 0,
1148
- className: className,
1149
- style: props.node.style,
1150
- onClick: function onClick(e) {
1151
- return _onClick(e);
1152
- },
1153
- onTouchEnd: function onTouchEnd(e) {
1154
- return _onTouchEnd();
1155
- },
1156
- onContextMenu: function onContextMenu(e) {
1157
- return onRightClick(e);
1158
- },
1159
- onKeyDown: function onKeyDown(e) {
1160
- return _onKeyDown(e);
1161
- },
1162
- onMouseEnter: function onMouseEnter(e) {
1163
- return _onMouseEnter(e);
1164
- },
1165
- onMouseLeave: function onMouseLeave(e) {
1166
- return _onMouseLeave(e);
1167
- },
1168
- 'data-p-highlight': isSelected()
1169
- }, getRowPTOptions('row'));
1170
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("tr", _extends({
1171
- ref: elementRef
1172
- }, rowProps), cells), children);
1173
- });
1174
- TreeTableRow.displayName = 'TreeTableRow';
1175
-
1176
- function _createForOfIteratorHelper$2(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$2(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
1177
- function _unsupportedIterableToArray$2(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$2(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$2(o, minLen); }
1178
- function _arrayLikeToArray$2(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
1179
- function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1180
- function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1181
- var TreeTableBody = /*#__PURE__*/React.memo(function (props) {
1182
- var isSingleSelectionMode = props.selectionMode === 'single';
1183
- var isMultipleSelectionMode = props.selectionMode === 'multiple';
1184
- var _props$ptCallbacks = props.ptCallbacks,
1185
- ptm = _props$ptCallbacks.ptm,
1186
- cx = _props$ptCallbacks.cx;
1187
- var getPTOptions = function getPTOptions(key, options) {
1188
- return ptm(key, _objectSpread$3({
1189
- hostName: props.hostName
1190
- }, options));
1191
- };
1192
- var flattenizeTree = function flattenizeTree(nodes) {
1193
- var rows = [];
1194
- nodes = nodes || props.value;
1195
- var _iterator = _createForOfIteratorHelper$2(nodes),
1196
- _step;
1197
- try {
1198
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
1199
- var node = _step.value;
1200
- rows.push(node.key);
1201
- if (isExpandedKey(node.key)) {
1202
- rows = rows.concat(flattenizeTree(node.children));
1203
- }
1204
- }
1205
- } catch (err) {
1206
- _iterator.e(err);
1207
- } finally {
1208
- _iterator.f();
1209
- }
1210
- return rows;
1211
- };
1212
- var isExpandedKey = function isExpandedKey(key) {
1213
- return props.expandedKeys && !!props.expandedKeys[key];
1214
- };
1215
- var onRowClick = function onRowClick(event, node) {
1216
- if (props.onRowClick) {
1217
- props.onRowClick({
1218
- originalEvent: event,
1219
- node: node
1220
- });
1221
- }
1222
- var targetNode = event.target.nodeName;
1223
- if (targetNode === 'INPUT' || targetNode === 'BUTTON' || targetNode === 'A' || DomHandler.getAttribute(event.target, 'data-pc-section') === 'columnresizer') {
1224
- return;
1225
- }
1226
- if ((isSingleSelectionMode || isMultipleSelectionMode) && node.selectable !== false) {
1227
- var selectionKeys;
1228
- var selected = isSelected(node);
1229
- var metaSelection = props.metaKeySelection;
1230
- var flatKeys = flattenizeTree();
1231
- var rowIndex = flatKeys.findIndex(function (key) {
1232
- return key === node.key;
1233
- });
1234
- if (isMultipleSelectionMode && event.shiftKey) {
1235
- DomHandler.clearSelection();
1236
-
1237
- // find first selected row
1238
- var anchorRowIndex = flatKeys.findIndex(function (key) {
1239
- return props.selectionKeys[key];
1240
- });
1241
- var rangeStart = Math.min(rowIndex, anchorRowIndex);
1242
- var rangeEnd = Math.max(rowIndex, anchorRowIndex);
1243
- selectionKeys = _objectSpread$3({}, props.selectionKeys);
1244
- for (var i = rangeStart; i <= rangeEnd; i++) {
1245
- var rowKey = flatKeys[i];
1246
- selectionKeys[rowKey] = true;
1247
- }
1248
- } else {
1249
- //anchorRowIndex = rowIndex;
1250
-
1251
- if (metaSelection) {
1252
- var metaKey = event.metaKey || event.ctrlKey;
1253
- if (selected && metaKey) {
1254
- if (isSingleSelectionMode) {
1255
- selectionKeys = null;
1256
- } else {
1257
- selectionKeys = _objectSpread$3({}, props.selectionKeys);
1258
- delete selectionKeys[node.key];
1259
- }
1260
- if (props.onUnselect) {
1261
- props.onUnselect({
1262
- originalEvent: event,
1263
- node: node
1264
- });
1265
- }
1266
- } else {
1267
- if (isSingleSelectionMode) {
1268
- selectionKeys = node.key;
1269
- } else if (isMultipleSelectionMode) {
1270
- selectionKeys = !metaKey ? {} : props.selectionKeys ? _objectSpread$3({}, props.selectionKeys) : {};
1271
- selectionKeys[node.key] = true;
1272
- }
1273
- if (props.onSelect) {
1274
- props.onSelect({
1275
- originalEvent: event,
1276
- node: node
1277
- });
1278
- }
1279
- }
1280
- } else {
1281
- if (isSingleSelectionMode) {
1282
- if (selected) {
1283
- selectionKeys = null;
1284
- if (props.onUnselect) {
1285
- props.onUnselect({
1286
- originalEvent: event,
1287
- node: node
1288
- });
1289
- }
1290
- } else {
1291
- selectionKeys = node.key;
1292
- if (props.onSelect) {
1293
- props.onSelect({
1294
- originalEvent: event,
1295
- node: node
1296
- });
1297
- }
1298
- }
1299
- } else {
1300
- if (selected) {
1301
- selectionKeys = _objectSpread$3({}, props.selectionKeys);
1302
- delete selectionKeys[node.key];
1303
- if (props.onUnselect) {
1304
- props.onUnselect({
1305
- originalEvent: event,
1306
- node: node
1307
- });
1308
- }
1309
- } else {
1310
- selectionKeys = props.selectionKeys ? _objectSpread$3({}, props.selectionKeys) : {};
1311
- selectionKeys[node.key] = true;
1312
- if (props.onSelect) {
1313
- props.onSelect({
1314
- originalEvent: event,
1315
- node: node
1316
- });
1317
- }
1318
- }
1319
- }
1320
- }
1321
- }
1322
- if (props.onSelectionChange) {
1323
- props.onSelectionChange({
1324
- originalEvent: event,
1325
- value: selectionKeys
1326
- });
1327
- }
1328
- }
1329
- };
1330
- var isSelected = function isSelected(node) {
1331
- if ((isSingleSelectionMode || isMultipleSelectionMode) && props.selectionKeys) return isSingleSelectionMode ? props.selectionKeys === node.key : props.selectionKeys[node.key] !== undefined;else return false;
1332
- };
1333
- var createRow = function createRow(node, index) {
1334
- return /*#__PURE__*/React.createElement(TreeTableRow, {
1335
- hostName: props.hostName,
1336
- key: "".concat(node.key || JSON.stringify(node.data), "_").concat(index),
1337
- level: 0,
1338
- rowIndex: index,
1339
- selectOnEdit: props.selectOnEdit,
1340
- node: node,
1341
- originalOptions: props.originalOptions,
1342
- checkboxIcon: props.checkboxIcon,
1343
- columns: props.columns,
1344
- expandedKeys: props.expandedKeys,
1345
- onToggle: props.onToggle,
1346
- togglerTemplate: props.togglerTemplate,
1347
- onExpand: props.onExpand,
1348
- onCollapse: props.onCollapse,
1349
- selectionMode: props.selectionMode,
1350
- selectionKeys: props.selectionKeys,
1351
- onSelectionChange: props.onSelectionChange,
1352
- metaKeySelection: props.metaKeySelection,
1353
- onRowClick: onRowClick,
1354
- onRowMouseEnter: props.onRowMouseEnter,
1355
- onRowMouseLeave: props.onRowMouseLeave,
1356
- onSelect: props.onSelect,
1357
- onUnselect: props.onUnselect,
1358
- propagateSelectionUp: props.propagateSelectionUp,
1359
- propagateSelectionDown: props.propagateSelectionDown,
1360
- rowClassName: props.rowClassName,
1361
- contextMenuSelectionKey: props.contextMenuSelectionKey,
1362
- onContextMenuSelectionChange: props.onContextMenuSelectionChange,
1363
- onContextMenu: props.onContextMenu,
1364
- ptCallbacks: props.ptCallbacks,
1365
- metaData: props.metaData
1366
- });
1367
- };
1368
- var createRows = function createRows() {
1369
- if (props.paginator && !props.lazy) {
1370
- var rpp = props.rows || 0;
1371
- var startIndex = props.first || 0;
1372
- var endIndex = startIndex + rpp;
1373
- var rows = [];
1374
- for (var i = startIndex; i < endIndex; i++) {
1375
- var rowData = props.value[i];
1376
- if (rowData) rows.push(createRow(props.value[i]));else break;
1377
- }
1378
- return rows;
1379
- } else {
1380
- return props.value.map(createRow);
1381
- }
1382
- };
1383
- var createEmptyMessage = function createEmptyMessage() {
1384
- if (props.loading) {
1385
- return null;
1386
- } else {
1387
- var colSpan = props.columns ? props.columns.length : null;
1388
- var _content = props.emptyMessage || localeOption('emptyMessage');
1389
- var emptyMessageProps = mergeProps({
1390
- className: cx('emptyMessage')
1391
- }, getPTOptions('emptyMessage'));
1392
- var emptyMessageCellProps = mergeProps({
1393
- colSpan: colSpan
1394
- }, getPTOptions('emptyMessageCell'));
1395
- return /*#__PURE__*/React.createElement("tr", emptyMessageProps, /*#__PURE__*/React.createElement("td", emptyMessageCellProps, _content));
1396
- }
1397
- };
1398
- var content = props.value && props.value.length ? createRows() : createEmptyMessage();
1399
- var tbodyProps = mergeProps({
1400
- className: cx('tbody')
1401
- }, getPTOptions('tbody'));
1402
- return /*#__PURE__*/React.createElement("tbody", tbodyProps, content);
1403
- });
1404
- TreeTableBody.displayName = 'TreeTableBody';
1405
-
1406
- var ColumnGroupBase = ComponentBase.extend({
1407
- defaultProps: {
1408
- __TYPE: 'ColumnGroup',
1409
- children: undefined
1410
- },
1411
- getCProp: function getCProp(group, name) {
1412
- return ObjectUtils.getComponentProp(group, name, ColumnGroupBase.defaultProps);
1413
- },
1414
- getCProps: function getCProps(group) {
1415
- return ObjectUtils.getComponentProps(group, ColumnGroupBase.defaultProps);
1416
- }
1417
- });
1418
-
1419
- var RowBase = ComponentBase.extend({
1420
- defaultProps: {
1421
- __TYPE: 'Row',
1422
- style: null,
1423
- className: null,
1424
- children: undefined
1425
- },
1426
- getCProp: function getCProp(row, name) {
1427
- return ObjectUtils.getComponentProp(row, name, RowBase.defaultProps);
1428
- }
1429
- });
1430
-
1431
- var TreeTableFooter = /*#__PURE__*/React.memo(function (props) {
1432
- var _props$ptCallbacks = props.ptCallbacks,
1433
- ptm = _props$ptCallbacks.ptm,
1434
- ptmo = _props$ptCallbacks.ptmo,
1435
- cx = _props$ptCallbacks.cx;
1436
- var getColumnProp = function getColumnProp(column, name) {
1437
- return ColumnBase.getCProp(column, name);
1438
- };
1439
- var getColumnProps = function getColumnProps(column) {
1440
- return ColumnBase.getCProps(column);
1441
- };
1442
- var getColumnPTOptions = function getColumnPTOptions(column, key) {
1443
- var cProps = getColumnProps(column);
1444
- var columnMetadata = {
1445
- props: cProps,
1446
- parent: props.metaData,
1447
- hostName: props.hostName
1448
- };
1449
- return mergeProps(ptm("column.".concat(key), {
1450
- column: columnMetadata
1451
- }), ptm("column.".concat(key), columnMetadata), ptmo(cProps, key, columnMetadata));
1452
- };
1453
- var createFooterCell = function createFooterCell(column, index) {
1454
- var footerCellProps = mergeProps({
1455
- key: column.field || index,
1456
- className: getColumnProp(column, 'footerClassName') || getColumnProp(column, 'className'),
1457
- style: getColumnProp(column, 'footerStyle') || getColumnProp(column, 'style'),
1458
- rowSpan: getColumnProp(column, 'rowSpan'),
1459
- colSpan: getColumnProp(column, 'colSpan')
1460
- }, getColumnPTOptions(column, 'footerCell'));
1461
- var content = ObjectUtils.getJSXElement(getColumnProp(column, 'footer'), {
1462
- props: getColumnProps(column)
1463
- });
1464
- return /*#__PURE__*/React.createElement("td", footerCellProps, content);
1465
- };
1466
- var createFooterRow = function createFooterRow(row, index) {
1467
- var rowColumns = React.Children.toArray(RowBase.getCProp(row, 'children'));
1468
- var rowFooterCells = rowColumns.map(createFooterCell);
1469
- var footerRowProps = mergeProps(ptm('footerRow', {
1470
- hostName: props.hostName
1471
- }));
1472
- return /*#__PURE__*/React.createElement("tr", _extends({}, footerRowProps, {
1473
- key: index
1474
- }), rowFooterCells);
1475
- };
1476
- var createColumnGroup = function createColumnGroup() {
1477
- var rows = React.Children.toArray(ColumnGroupBase.getCProp(props.columnGroup, 'children'));
1478
- return rows.map(createFooterRow);
1479
- };
1480
- var createColumns = function createColumns(columns) {
1481
- if (columns) {
1482
- var headerCells = columns.map(createFooterCell);
1483
- var footerRowProps = mergeProps(ptm('footerRow', {
1484
- hostName: props.hostName
1485
- }));
1486
- return /*#__PURE__*/React.createElement("tr", footerRowProps, headerCells);
1487
- } else {
1488
- return null;
1489
- }
1490
- };
1491
- var hasFooter = function hasFooter() {
1492
- return props.columnGroup ? true : props.columns ? props.columns.some(function (col) {
1493
- return col && getColumnProp(col, 'footer');
1494
- }) : false;
1495
- };
1496
- var content = props.columnGroup ? createColumnGroup() : createColumns(props.columns);
1497
- if (hasFooter()) {
1498
- var tfootProps = mergeProps({
1499
- className: cx('tfoot')
1500
- }, ptm('tfoot', {
1501
- hostName: props.hostName
1502
- }));
1503
- return /*#__PURE__*/React.createElement("tfoot", tfootProps, content);
1504
- } else {
1505
- return null;
1506
- }
1507
- });
1508
- TreeTableFooter.displayName = 'TreeTableFooter';
1509
-
1510
- function _createForOfIteratorHelper$1(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
1511
- function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); }
1512
- function _arrayLikeToArray$1(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
1513
- function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1514
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1515
- var TreeTableHeader = /*#__PURE__*/React.memo(function (props) {
1516
- var _props$ptCallbacks = props.ptCallbacks,
1517
- ptm = _props$ptCallbacks.ptm,
1518
- ptmo = _props$ptCallbacks.ptmo,
1519
- cx = _props$ptCallbacks.cx;
1520
- var filterTimeout = React.useRef(null);
1521
- var getColumnProp = function getColumnProp(column) {
1522
- return column ? typeof (arguments.length <= 1 ? undefined : arguments[1]) === 'string' ? ColumnBase.getCProp(column, arguments.length <= 1 ? undefined : arguments[1]) : ColumnBase.getCProp((arguments.length <= 1 ? undefined : arguments[1]) || column, arguments.length <= 2 ? undefined : arguments[2]) : null;
1523
- };
1524
- var getColumnProps = function getColumnProps(column) {
1525
- return ColumnBase.getCProps(column);
1526
- };
1527
- var getColumnPTOptions = function getColumnPTOptions(column, key, params) {
1528
- var cProps = getColumnProps(column);
1529
- var columnMetadata = _objectSpread$2({
1530
- props: cProps,
1531
- parent: props.metaData,
1532
- hostName: props.hostName
1533
- }, params);
1534
- return mergeProps(ptm("column.".concat(key), {
1535
- column: columnMetadata
1536
- }), ptm("column.".concat(key), columnMetadata), ptmo(cProps, key, columnMetadata));
1537
- };
1538
- var onHeaderClick = function onHeaderClick(event, column) {
1539
- if (getColumnProp(column, 'sortable')) {
1540
- var targetNode = event.target;
1541
- if (DomHandler.getAttribute(targetNode, 'data-p-sortable-column') === true || DomHandler.getAttribute(targetNode, 'data-pc-section') === 'headertitle' || DomHandler.getAttribute(targetNode, 'data-pc-section') === 'sorticon' || DomHandler.getAttribute(targetNode.parentElement, 'data-pc-section') === 'sorticon') {
1542
- props.onSort({
1543
- originalEvent: event,
1544
- sortField: getColumnProp(column, 'sortField') || getColumnProp(column, 'field'),
1545
- sortFunction: getColumnProp(column, 'sortFunction'),
1546
- sortable: getColumnProp(column, 'sortable')
1547
- });
1548
- DomHandler.clearSelection();
1549
- }
1550
- }
1551
- };
1552
- var onHeaderMouseDown = function onHeaderMouseDown(event, column) {
1553
- if (props.reorderableColumns && getColumnProp(column, 'reorderable')) {
1554
- if (event.target.nodeName !== 'INPUT') event.currentTarget.draggable = true;else if (event.target.nodeName === 'INPUT') event.currentTarget.draggable = false;
1555
- }
1556
- };
1557
- var onHeaderKeyDown = function onHeaderKeyDown(event, column) {
1558
- if (event.key === 'Enter') {
1559
- onHeaderClick(event, column);
1560
- event.preventDefault();
1561
- }
1562
- };
1563
- var getMultiSortMetaDataIndex = function getMultiSortMetaDataIndex(column) {
1564
- if (props.multiSortMeta) {
1565
- for (var i = 0; i < props.multiSortMeta.length; i++) {
1566
- if (props.multiSortMeta[i].field === getColumnProp(column, 'field')) {
1567
- return i;
1568
- }
1569
- }
1570
- }
1571
- return -1;
1572
- };
1573
- var onResizerMouseDown = function onResizerMouseDown(event, column) {
1574
- if (props.resizableColumns && props.onResizeStart) {
1575
- props.onResizeStart({
1576
- originalEvent: event,
1577
- columnEl: event.target.parentElement,
1578
- column: column
1579
- });
1580
- }
1581
- };
1582
- var _onDragStart = function onDragStart(event, column) {
1583
- if (props.onDragStart) {
1584
- props.onDragStart({
1585
- originalEvent: event,
1586
- column: column
1587
- });
1588
- }
1589
- };
1590
- var _onDragOver = function onDragOver(event, column) {
1591
- if (props.onDragOver) {
1592
- props.onDragOver({
1593
- originalEvent: event,
1594
- column: column
1595
- });
1596
- }
1597
- };
1598
- var _onDragLeave = function onDragLeave(event, column) {
1599
- if (props.onDragLeave) {
1600
- props.onDragLeave({
1601
- originalEvent: event,
1602
- column: column
1603
- });
1604
- }
1605
- };
1606
- var _onDrop = function onDrop(event, column) {
1607
- if (props.onDrop) {
1608
- props.onDrop({
1609
- originalEvent: event,
1610
- column: column
1611
- });
1612
- }
1613
- };
1614
- var onFilterInput = function onFilterInput(e, column) {
1615
- if (getColumnProp(column, 'filter') && props.onFilter) {
1616
- if (filterTimeout.current) {
1617
- clearTimeout(filterTimeout.current);
1618
- }
1619
- var filterValue = e.target.value;
1620
- filterTimeout.current = setTimeout(function () {
1621
- props.onFilter({
1622
- value: filterValue,
1623
- field: getColumnProp(column, 'field'),
1624
- matchMode: getColumnProp(column, 'filterMatchMode') || 'startsWith'
1625
- });
1626
- filterTimeout.current = null;
1627
- }, props.filterDelay);
1628
- }
1629
- };
1630
- var hasColumnFilter = function hasColumnFilter(columns) {
1631
- if (columns) {
1632
- var _iterator = _createForOfIteratorHelper$1(columns),
1633
- _step;
1634
- try {
1635
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
1636
- var col = _step.value;
1637
- if (getColumnProp(col, 'filter')) {
1638
- return true;
1639
- }
1640
- }
1641
- } catch (err) {
1642
- _iterator.e(err);
1643
- } finally {
1644
- _iterator.f();
1645
- }
1646
- }
1647
- return false;
1648
- };
1649
- var getAriaSort = function getAriaSort(column, sorted, sortOrder) {
1650
- if (getColumnProp(column, 'sortable')) {
1651
- if (sorted && sortOrder < 0) return 'descending';else if (sorted && sortOrder > 0) return 'ascending';else return 'none';
1652
- } else {
1653
- return null;
1654
- }
1655
- };
1656
- var createSortIcon = function createSortIcon(column, sorted, sortOrder) {
1657
- if (getColumnProp(column, 'sortable')) {
1658
- var sortIconProps = mergeProps({
1659
- className: cx('sortIcon')
1660
- }, getColumnPTOptions(column, 'sortIcon', {
1661
- context: {
1662
- sorted: sorted
1663
- }
1664
- }));
1665
- var icon = sorted ? sortOrder < 0 ? /*#__PURE__*/React.createElement(SortAmountDownIcon, sortIconProps) : /*#__PURE__*/React.createElement(SortAmountUpAltIcon, sortIconProps) : /*#__PURE__*/React.createElement(SortAltIcon, sortIconProps);
1666
- var sortIcon = IconUtils.getJSXIcon(props.sortIcon || icon, _objectSpread$2({}, sortIconProps), {
1667
- props: props,
1668
- sorted: sorted,
1669
- sortOrder: sortOrder
1670
- });
1671
- return sortIcon;
1672
- } else {
1673
- return null;
1674
- }
1675
- };
1676
- var createResizer = function createResizer(column) {
1677
- if (props.resizableColumns) {
1678
- var columnResizerProps = mergeProps({
1679
- className: cx('columnResizer'),
1680
- onMouseDown: function onMouseDown(e) {
1681
- return onResizerMouseDown(e, column);
1682
- }
1683
- }, getColumnPTOptions(column, 'columnResizer'));
1684
- return /*#__PURE__*/React.createElement("span", columnResizerProps);
1685
- } else {
1686
- return null;
1687
- }
1688
- };
1689
- var createSortBadge = function createSortBadge(column, sortMetaDataIndex) {
1690
- if (sortMetaDataIndex !== -1 && props.multiSortMeta && props.multiSortMeta.length > 1) {
1691
- var sortBadgeProps = mergeProps({
1692
- className: cx('sortBadge')
1693
- }, getColumnPTOptions(column, 'sortBadge'));
1694
- return /*#__PURE__*/React.createElement("span", sortBadgeProps, sortMetaDataIndex + 1);
1695
- }
1696
- return null;
1697
- };
1698
- var createTitle = function createTitle(column, options) {
1699
- var title = ObjectUtils.getJSXElement(getColumnProp(column, 'header'), {
1700
- props: options
1701
- });
1702
- var headerTitleProps = mergeProps({
1703
- className: cx('headerTitle')
1704
- }, getColumnPTOptions(column, 'headerTitle'));
1705
- return /*#__PURE__*/React.createElement("span", headerTitleProps, title);
1706
- };
1707
- var createHeaderCell = function createHeaderCell(column, options) {
1708
- var filterElement;
1709
- if (getColumnProp(column, 'filter') && options.renderFilter) {
1710
- filterElement = getColumnProp(column, 'filterElement') || /*#__PURE__*/React.createElement(InputText, {
1711
- onInput: function onInput(e) {
1712
- return onFilterInput(e, column);
1713
- },
1714
- type: props.filterType,
1715
- defaultValue: props.filters && props.filters[getColumnProp(column, 'field')] ? props.filters[getColumnProp(column, 'field')].value : null,
1716
- className: "p-column-filter",
1717
- placeholder: getColumnProp(column, 'filterPlaceholder'),
1718
- maxLength: getColumnProp(column, 'filterMaxLength'),
1719
- pt: getColumnPTOptions(column, 'filterInput'),
1720
- unstyled: props.unstyled,
1721
- __parentMetadata: {
1722
- parent: props.metaData
1723
- }
1724
- });
1725
- }
1726
- if (options.filterOnly) {
1727
- var headerCellProps = mergeProps({
1728
- key: getColumnProp(column, 'columnKey') || getColumnProp(column, 'field') || options.index,
1729
- className: classNames(cx('headerCell', {
1730
- options: options
1731
- }), getColumnProp(column, 'filterHeaderClassName')),
1732
- style: getColumnProp(column, 'filterHeaderStyle') || getColumnProp(column, 'style'),
1733
- rowSpan: getColumnProp(column, 'rowSpan'),
1734
- colSpan: getColumnProp(column, 'colSpan'),
1735
- 'data-p-sortable-column': getColumnProp(column, 'sortable'),
1736
- 'data-p-resizable-column': props.resizableColumns,
1737
- 'data-p-frozen-column': getColumnProp(column, 'frozen')
1738
- }, getColumnPTOptions(column, 'root'), getColumnPTOptions(column, 'headerCell', {
1739
- context: {
1740
- frozen: getColumnProp(column, 'frozen')
1741
- }
1742
- }));
1743
- return /*#__PURE__*/React.createElement("th", headerCellProps, filterElement);
1744
- } else {
1745
- var headerCellRef = /*#__PURE__*/React.createRef(null);
1746
- var sortMetaDataIndex = getMultiSortMetaDataIndex(column);
1747
- var multiSortMetaData = sortMetaDataIndex !== -1 ? props.multiSortMeta[sortMetaDataIndex] : null;
1748
- var singleSorted = getColumnProp(column, 'field') === props.sortField;
1749
- var multipleSorted = multiSortMetaData !== null;
1750
- var sorted = getColumnProp(column, 'sortable') && (singleSorted || multipleSorted);
1751
- var frozen = getColumnProp(column, 'frozen');
1752
- var sortOrder = 0;
1753
- if (singleSorted) sortOrder = props.sortOrder;else if (multipleSorted) sortOrder = multiSortMetaData.order;
1754
- var sortIconElement = createSortIcon(column, sorted, sortOrder);
1755
- var ariaSortData = getAriaSort(column, sorted, sortOrder);
1756
- var sortBadge = createSortBadge(column, sortMetaDataIndex);
1757
- var headerTooltip = getColumnProp(column, 'headerTooltip');
1758
- var hasTooltip = ObjectUtils.isNotEmpty(headerTooltip);
1759
- var title = createTitle(column, options);
1760
- var resizer = createResizer(column);
1761
- var _headerCellProps = mergeProps({
1762
- className: classNames(getColumnProp(column, 'headerClassName') || getColumnProp(column, 'className'), cx('headerCell', {
1763
- headerProps: props,
1764
- column: column,
1765
- options: options,
1766
- getColumnProp: getColumnProp,
1767
- sorted: sorted,
1768
- frozen: frozen
1769
- })),
1770
- style: getColumnProp(column, 'headerStyle') || getColumnProp(column, 'style'),
1771
- tabIndex: getColumnProp(column, 'sortable') ? props.tabIndex : null,
1772
- onClick: function onClick(e) {
1773
- return onHeaderClick(e, column);
1774
- },
1775
- onMouseDown: function onMouseDown(e) {
1776
- return onHeaderMouseDown(e, column);
1777
- },
1778
- onKeyDown: function onKeyDown(e) {
1779
- return onHeaderKeyDown(e, column);
1780
- },
1781
- rowSpan: getColumnProp(column, 'rowSpan'),
1782
- colSpan: getColumnProp(column, 'colSpan'),
1783
- 'aria-sort': ariaSortData,
1784
- onDragStart: function onDragStart(e) {
1785
- return _onDragStart(e, column);
1786
- },
1787
- onDragOver: function onDragOver(e) {
1788
- return _onDragOver(e, column);
1789
- },
1790
- onDragLeave: function onDragLeave(e) {
1791
- return _onDragLeave(e, column);
1792
- },
1793
- onDrop: function onDrop(e) {
1794
- return _onDrop(e, column);
1795
- },
1796
- 'data-p-sortable-column': getColumnProp(column, 'sortable'),
1797
- 'data-p-resizable-column': props.resizableColumns,
1798
- 'data-p-highlight': sorted,
1799
- 'data-p-frozen-column': getColumnProp(column, 'frozen')
1800
- }, getColumnPTOptions(column, 'root'), getColumnPTOptions(column, 'headerCell', {
1801
- context: {
1802
- sorted: sorted,
1803
- frozen: frozen,
1804
- resizable: props.resizableColumns
1805
- }
1806
- }));
1807
- return /*#__PURE__*/React.createElement(React.Fragment, {
1808
- key: column.columnKey || column.field || options.index
1809
- }, /*#__PURE__*/React.createElement("th", _extends({
1810
- ref: headerCellRef
1811
- }, _headerCellProps), resizer, title, sortIconElement, sortBadge, filterElement), hasTooltip && /*#__PURE__*/React.createElement(Tooltip, _extends({
1812
- target: headerCellRef,
1813
- content: headerTooltip
1814
- }, getColumnProp(column, 'headerTooltipOptions'), {
1815
- unstyled: props.unstyled
1816
- })));
1817
- }
1818
- };
1819
- var createHeaderRow = function createHeaderRow(row, index) {
1820
- var rowColumns = React.Children.toArray(RowBase.getCProp(row, 'children'));
1821
- var rowHeaderCells = rowColumns.map(function (col, i) {
1822
- return createHeaderCell(col, {
1823
- index: i,
1824
- filterOnly: false,
1825
- renderFilter: true
1826
- });
1827
- });
1828
- var headerRowProps = mergeProps(ptm('headerRow', {
1829
- hostName: props.hostName
1830
- }));
1831
- return /*#__PURE__*/React.createElement("tr", _extends({}, headerRowProps, {
1832
- key: index
1833
- }), rowHeaderCells);
1834
- };
1835
- var createColumnGroup = function createColumnGroup() {
1836
- var rows = React.Children.toArray(ColumnGroupBase.getCProp(props.columnGroup, 'children'));
1837
- return rows.map(createHeaderRow);
1838
- };
1839
- var createColumns = function createColumns(columns) {
1840
- if (columns) {
1841
- var headerRowProps = mergeProps(ptm('headerRow', {
1842
- hostName: props.hostName
1843
- }));
1844
- if (hasColumnFilter(columns)) {
1845
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("tr", headerRowProps, columns.map(function (col, i) {
1846
- return createHeaderCell(col, {
1847
- index: i,
1848
- filterOnly: false,
1849
- renderFilter: false
1850
- });
1851
- })), /*#__PURE__*/React.createElement("tr", headerRowProps, columns.map(function (col, i) {
1852
- return createHeaderCell(col, {
1853
- index: i,
1854
- filterOnly: true,
1855
- renderFilter: true
1856
- });
1857
- })));
1858
- } else {
1859
- return /*#__PURE__*/React.createElement("tr", headerRowProps, columns.map(function (col, i) {
1860
- return createHeaderCell(col, {
1861
- index: i,
1862
- filterOnly: false,
1863
- renderFilter: false
1864
- });
1865
- }));
1866
- }
1867
- } else {
1868
- return null;
1869
- }
1870
- };
1871
- var content = props.columnGroup ? createColumnGroup() : createColumns(props.columns);
1872
- var theadProps = mergeProps({
1873
- className: cx('thead')
1874
- }, ptm('thead', {
1875
- hostName: props.hostName
1876
- }));
1877
- return /*#__PURE__*/React.createElement("thead", theadProps, content);
1878
- });
1879
- TreeTableHeader.displayName = 'TreeTableHeader';
1880
-
1881
- function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1882
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1883
- var TreeTableScrollableView = /*#__PURE__*/React.memo(function (props) {
1884
- var elementRef = React.useRef(null);
1885
- var scrollHeaderRef = React.useRef(null);
1886
- var scrollHeaderBoxRef = React.useRef(null);
1887
- var scrollBodyRef = React.useRef(null);
1888
- var scrollTableRef = React.useRef(null);
1889
- var scrollFooterRef = React.useRef(null);
1890
- var scrollFooterBoxRef = React.useRef(null);
1891
- var _props$ptCallbacks = props.ptCallbacks,
1892
- ptm = _props$ptCallbacks.ptm,
1893
- cx = _props$ptCallbacks.cx,
1894
- sx = _props$ptCallbacks.sx;
1895
- var getPTOptions = function getPTOptions(key, options) {
1896
- return ptm(key, _objectSpread$1({
1897
- hostName: props.hostName
1898
- }, options));
1899
- };
1900
- var setScrollHeight = function setScrollHeight() {
1901
- if (props.scrollHeight) {
1902
- if (props.scrollHeight.indexOf('%') !== -1) {
1903
- var datatableContainer = findDataTableContainer(elementRef.current);
1904
- scrollBodyRef.current.style.visibility = 'hidden';
1905
- scrollBodyRef.current.style.height = '100px'; //temporary height to calculate static height
1906
- var containerHeight = DomHandler.getOuterHeight(datatableContainer);
1907
- var relativeHeight = DomHandler.getOuterHeight(datatableContainer.parentElement) * parseInt(props.scrollHeight, 10) / 100;
1908
- var staticHeight = containerHeight - 100; //total height of headers, footers, paginators
1909
- var scrollBodyHeight = relativeHeight - staticHeight;
1910
- scrollBodyRef.current.style.height = 'auto';
1911
- scrollBodyRef.current.style.maxHeight = scrollBodyHeight + 'px';
1912
- scrollBodyRef.current.style.visibility = 'visible';
1913
- } else {
1914
- scrollBodyRef.current.style.maxHeight = props.scrollHeight;
1915
- }
1916
- }
1917
- };
1918
- var findDataTableContainer = function findDataTableContainer(element) {
1919
- if (element) {
1920
- var el = element;
1921
- while (el && !(DomHandler.getAttribute(el, 'data-pc-section') === 'root' || DomHandler.getAttribute(el, 'data-pc-name') === 'treetable')) {
1922
- el = el.parentElement;
1923
- }
1924
- return el;
1925
- } else {
1926
- return null;
1927
- }
1928
- };
1929
- var onHeaderScroll = function onHeaderScroll() {
1930
- scrollHeaderRef.current.scrollLeft = 0;
1931
- };
1932
- var onBodyScroll = function onBodyScroll() {
1933
- var frozenView = elementRef.current.previousElementSibling;
1934
- var frozenScrollBody;
1935
- if (frozenView) {
1936
- frozenScrollBody = DomHandler.findSingle(frozenView, '.p-treetable-scrollable-body');
1937
- }
1938
- scrollHeaderBoxRef.current.style.marginLeft = -1 * scrollBodyRef.current.scrollLeft + 'px';
1939
- if (scrollFooterBoxRef.current) {
1940
- scrollFooterBoxRef.current.style.marginLeft = -1 * scrollBodyRef.current.scrollLeft + 'px';
1941
- }
1942
- if (frozenScrollBody) {
1943
- frozenScrollBody.scrollTop = scrollBodyRef.current.scrollTop;
1944
- }
1945
- };
1946
- useMountEffect(function () {
1947
- if (!props.frozen) {
1948
- var scrollBarWidth = DomHandler.calculateScrollbarWidth();
1949
- scrollHeaderBoxRef.current.style.marginRight = scrollBarWidth + 'px';
1950
- if (scrollFooterBoxRef.current) {
1951
- scrollFooterBoxRef.current.style.marginRight = scrollBarWidth + 'px';
1952
- }
1953
- } else {
1954
- scrollBodyRef.current.style.paddingBottom = DomHandler.calculateScrollbarWidth() + 'px';
1955
- }
1956
- });
1957
- React.useEffect(function () {
1958
- setScrollHeight();
1959
- });
1960
- var createColGroup = function createColGroup() {
1961
- if (ObjectUtils.isNotEmpty(props.columns)) {
1962
- var cols = props.columns.map(function (col, i) {
1963
- return /*#__PURE__*/React.createElement("col", {
1964
- key: col.field + '_' + i
1965
- });
1966
- });
1967
- var scrollableColgroupProps = mergeProps({
1968
- className: cx('scrollableColgroup')
1969
- }, getPTOptions('scrollableColgroup'));
1970
- return /*#__PURE__*/React.createElement("colgroup", scrollableColgroupProps, cols);
1971
- } else {
1972
- return null;
1973
- }
1974
- };
1975
- var width = props.frozen ? props.frozenWidth : 'calc(100% - ' + props.frozenWidth + ')';
1976
- var left = props.frozen ? null : props.frozenWidth;
1977
- var colGroup = createColGroup();
1978
- var scrollableProps = mergeProps({
1979
- className: cx('scrollable', {
1980
- scrolaableProps: props
1981
- }),
1982
- style: {
1983
- width: width,
1984
- left: left
1985
- }
1986
- }, getPTOptions('scrollable'));
1987
- var scrollableHeaderProps = mergeProps({
1988
- className: cx('scrollableHeader'),
1989
- onScroll: function onScroll(e) {
1990
- return onHeaderScroll();
1991
- }
1992
- }, getPTOptions('scrollableHeader'));
1993
- var scrollableHeaderBoxProps = mergeProps({
1994
- className: cx('scrollableHeaderBox')
1995
- }, getPTOptions('scrollableHeaderBox'));
1996
- var scrollableHeaderTableProps = mergeProps({
1997
- className: cx('scrollableHeaderTable')
1998
- }, getPTOptions('scrollableHeaderTable'));
1999
- var scrollableBodyProps = mergeProps({
2000
- className: cx('scrollableBody'),
2001
- style: !props.frozen && props.scrollHeight ? {
2002
- overflowY: 'scroll'
2003
- } : undefined,
2004
- onScroll: function onScroll(e) {
2005
- return onBodyScroll();
2006
- }
2007
- }, getPTOptions('scrollableBody'));
2008
- var scrollableBodyTableProps = mergeProps({
2009
- style: {
2010
- top: '0'
2011
- },
2012
- className: cx('scrollableBodyTable')
2013
- }, getPTOptions('scrollableBodyTable'));
2014
- var scrollableFooterProps = mergeProps({
2015
- className: cx('scrollableFooter')
2016
- }, getPTOptions('scrollableFooter'));
2017
- var scrollableFooterBoxProps = mergeProps({
2018
- className: sx('scrollableFooterBox')
2019
- }, getPTOptions('scrollableFooterBox'));
2020
- var scrollableFooterTableProps = mergeProps({
2021
- className: cx('scrollableFooterTable')
2022
- }, getPTOptions('scrollableFooterTable'));
2023
- return /*#__PURE__*/React.createElement("div", _extends({
2024
- ref: elementRef
2025
- }, scrollableProps), /*#__PURE__*/React.createElement("div", _extends({
2026
- ref: scrollHeaderRef
2027
- }, scrollableHeaderProps), /*#__PURE__*/React.createElement("div", _extends({
2028
- ref: scrollHeaderBoxRef
2029
- }, scrollableHeaderBoxProps), /*#__PURE__*/React.createElement("table", scrollableHeaderTableProps, colGroup, props.header))), /*#__PURE__*/React.createElement("div", _extends({
2030
- ref: scrollBodyRef
2031
- }, scrollableBodyProps), /*#__PURE__*/React.createElement("table", _extends({
2032
- ref: scrollTableRef
2033
- }, scrollableBodyTableProps), colGroup, props.body)), /*#__PURE__*/React.createElement("div", _extends({
2034
- ref: scrollFooterRef
2035
- }, scrollableFooterProps), /*#__PURE__*/React.createElement("div", _extends({
2036
- ref: scrollFooterBoxRef
2037
- }, scrollableFooterBoxProps), /*#__PURE__*/React.createElement("table", scrollableFooterTableProps, colGroup, props.footer))));
2038
- });
2039
- TreeTableScrollableView.displayName = 'TreeTableScrollableView';
2040
-
2041
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2042
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2043
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
2044
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
2045
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
2046
- var TreeTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
2047
- var context = React.useContext(PrimeReactContext);
2048
- var props = TreeTableBase.getProps(inProps, context);
2049
- var _React$useState = React.useState(props.expandedKeys),
2050
- _React$useState2 = _slicedToArray(_React$useState, 2),
2051
- expandedKeysState = _React$useState2[0],
2052
- setExpandedKeysState = _React$useState2[1];
2053
- var _React$useState3 = React.useState(props.first),
2054
- _React$useState4 = _slicedToArray(_React$useState3, 2),
2055
- firstState = _React$useState4[0],
2056
- setFirstState = _React$useState4[1];
2057
- var _React$useState5 = React.useState(props.rows),
2058
- _React$useState6 = _slicedToArray(_React$useState5, 2),
2059
- rowsState = _React$useState6[0],
2060
- setRowsState = _React$useState6[1];
2061
- var _React$useState7 = React.useState(props.sortField),
2062
- _React$useState8 = _slicedToArray(_React$useState7, 2),
2063
- sortFieldState = _React$useState8[0],
2064
- setSortFieldState = _React$useState8[1];
2065
- var _React$useState9 = React.useState(props.sortOrder),
2066
- _React$useState10 = _slicedToArray(_React$useState9, 2),
2067
- sortOrderState = _React$useState10[0],
2068
- setSortOrderState = _React$useState10[1];
2069
- var _React$useState11 = React.useState(props.multiSortMeta),
2070
- _React$useState12 = _slicedToArray(_React$useState11, 2),
2071
- multiSortMetaState = _React$useState12[0],
2072
- setMultiSortMetaState = _React$useState12[1];
2073
- var _React$useState13 = React.useState(props.filters),
2074
- _React$useState14 = _slicedToArray(_React$useState13, 2),
2075
- filtersState = _React$useState14[0],
2076
- setFiltersState = _React$useState14[1];
2077
- var _React$useState15 = React.useState([]),
2078
- _React$useState16 = _slicedToArray(_React$useState15, 2),
2079
- columnOrderState = _React$useState16[0],
2080
- setColumnOrderState = _React$useState16[1];
2081
- var metaData = {
2082
- props: props,
2083
- state: {
2084
- expandedKeys: expandedKeysState,
2085
- first: firstState,
2086
- rows: rowsState,
2087
- sortField: sortFieldState,
2088
- sortOrder: sortOrderState,
2089
- multiSortMeta: multiSortMetaState,
2090
- filters: filtersState,
2091
- columnOrder: columnOrderState
2092
- },
2093
- context: {
2094
- scrollable: props.scrollable
2095
- }
2096
- };
2097
- var ptCallbacks = TreeTableBase.setMetaData(metaData);
2098
- useHandleStyle(TreeTableBase.css.styles, ptCallbacks.isUnstyled, {
2099
- name: 'treetable'
2100
- });
2101
- var elementRef = React.useRef(null);
2102
- var tableRef = React.useRef(null);
2103
- var resizerHelperRef = React.useRef(null);
2104
- var reorderIndicatorUpRef = React.useRef(null);
2105
- var reorderIndicatorDownRef = React.useRef(null);
2106
- var columnResizing = React.useRef(null);
2107
- var resizeColumn = React.useRef(null);
2108
- var resizeColumnProps = React.useRef(null);
2109
- var lastResizerHelperX = React.useRef(0);
2110
- var iconWidth = React.useRef(0);
2111
- var iconHeight = React.useRef(0);
2112
- var draggedColumnEl = React.useRef(null);
2113
- var draggedColumn = React.useRef(null);
2114
- var dropPosition = React.useRef(null);
2115
- var columnSortable = React.useRef(null);
2116
- var columnSortFunction = React.useRef(null);
2117
- var columnField = React.useRef(null);
2118
- var _useEventListener = useEventListener({
2119
- type: 'mousemove',
2120
- listener: function listener(event) {
2121
- if (columnResizing.current) {
2122
- onColumnResize(event);
2123
- }
2124
- }
2125
- }),
2126
- _useEventListener2 = _slicedToArray(_useEventListener, 2),
2127
- bindDocumentMouseMoveListener = _useEventListener2[0],
2128
- unbindDocumentMouseMoveListener = _useEventListener2[1];
2129
- var _useEventListener3 = useEventListener({
2130
- type: 'mouseup',
2131
- listener: function listener(event) {
2132
- if (columnResizing.current) {
2133
- columnResizing.current = false;
2134
- onColumnResizeEnd();
2135
- }
2136
- }
2137
- }),
2138
- _useEventListener4 = _slicedToArray(_useEventListener3, 2),
2139
- bindDocumentMouseUpListener = _useEventListener4[0],
2140
- unbindDocumentMouseUpListener = _useEventListener4[1];
2141
- var onToggle = function onToggle(event) {
2142
- if (props.onToggle) {
2143
- props.onToggle(event);
2144
- } else {
2145
- setExpandedKeysState(event.value);
2146
- }
2147
- };
2148
- var onPageChange = function onPageChange(event) {
2149
- if (props.onPage) {
2150
- props.onPage(event);
2151
- } else {
2152
- setFirstState(event.first);
2153
- setRowsState(event.rows);
2154
- }
2155
- if (props.onValueChange) {
2156
- props.onValueChange(processedData());
2157
- }
2158
- };
2159
- var onSort = function onSort(event) {
2160
- var sortField = event.sortField;
2161
- var sortOrder = props.defaultSortOrder;
2162
- var multiSortMeta;
2163
- var eventMeta;
2164
- columnSortable.current = event.sortable;
2165
- columnSortFunction.current = event.sortFunction;
2166
- columnField.current = event.sortField;
2167
- if (props.sortMode === 'multiple') {
2168
- var metaKey = event.originalEvent.metaKey || event.originalEvent.ctrlKey;
2169
- multiSortMeta = _toConsumableArray(getMultiSortMeta());
2170
- if (multiSortMeta && multiSortMeta instanceof Array) {
2171
- var sortMeta = multiSortMeta.find(function (sortMeta) {
2172
- return sortMeta.field === sortField;
2173
- });
2174
- sortOrder = sortMeta ? getCalculatedSortOrder(sortMeta.order) : sortOrder;
2175
- }
2176
- var newMetaData = {
2177
- field: sortField,
2178
- order: sortOrder
2179
- };
2180
- if (sortOrder) {
2181
- if (!multiSortMeta || !metaKey) {
2182
- multiSortMeta = [];
2183
- }
2184
- addSortMeta(newMetaData, multiSortMeta);
2185
- } else if (props.removableSort && multiSortMeta) {
2186
- removeSortMeta(newMetaData, multiSortMeta);
2187
- }
2188
- eventMeta = {
2189
- multiSortMeta: multiSortMeta
2190
- };
2191
- } else {
2192
- sortOrder = getSortField() === sortField ? getCalculatedSortOrder(getSortOrder()) : sortOrder;
2193
- if (props.removableSort) {
2194
- sortField = sortOrder ? sortField : null;
2195
- }
2196
- eventMeta = {
2197
- sortField: sortField,
2198
- sortOrder: sortOrder
2199
- };
2200
- }
2201
- if (props.onSort) {
2202
- props.onSort(eventMeta);
2203
- } else {
2204
- setFirstState(0);
2205
- setSortFieldState(eventMeta.sortField);
2206
- setSortOrderState(eventMeta.sortOrder);
2207
- setMultiSortMetaState(eventMeta.multiSortMeta);
2208
- }
2209
- if (props.onValueChange) {
2210
- props.onValueChange(processedData({
2211
- sortField: sortField,
2212
- sortOrder: sortOrder,
2213
- multiSortMeta: multiSortMeta
2214
- }));
2215
- }
2216
- };
2217
- var getCalculatedSortOrder = function getCalculatedSortOrder(currentOrder) {
2218
- return props.removableSort ? props.defaultSortOrder === currentOrder ? currentOrder * -1 : 0 : currentOrder * -1;
2219
- };
2220
- var addSortMeta = function addSortMeta(meta, multiSortMeta) {
2221
- var index = -1;
2222
- for (var i = 0; i < multiSortMeta.length; i++) {
2223
- if (multiSortMeta[i].field === meta.field) {
2224
- index = i;
2225
- break;
2226
- }
2227
- }
2228
- if (index >= 0) multiSortMeta[index] = meta;else multiSortMeta.push(meta);
2229
- };
2230
- var removeSortMeta = function removeSortMeta(meta, multiSortMeta) {
2231
- var index = -1;
2232
- for (var i = 0; i < multiSortMeta.length; i++) {
2233
- if (multiSortMeta[i].field === meta.field) {
2234
- index = i;
2235
- break;
2236
- }
2237
- }
2238
- if (index >= 0) {
2239
- multiSortMeta.splice(index, 1);
2240
- }
2241
- multiSortMeta = multiSortMeta.length > 0 ? multiSortMeta : null;
2242
- };
2243
- var sortSingle = function sortSingle(data) {
2244
- return sortNodes(data);
2245
- };
2246
- var sortNodes = function sortNodes(data) {
2247
- var value = _toConsumableArray(data);
2248
- if (columnSortable.current && columnSortable.current === 'custom' && columnSortFunction.current) {
2249
- value = columnSortFunction.current({
2250
- data: data,
2251
- field: getSortField(),
2252
- order: getSortOrder()
2253
- });
2254
- } else {
2255
- // performance optimization to prevent resolving field data in each loop
2256
- var lookupMap = new Map();
2257
- var sortField = getSortField();
2258
- var comparator = ObjectUtils.localeComparator(context && context.locale || PrimeReact.locale);
2259
- var _iterator = _createForOfIteratorHelper(data),
2260
- _step;
2261
- try {
2262
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
2263
- var node = _step.value;
2264
- lookupMap.set(node.data, ObjectUtils.resolveFieldData(node.data, sortField));
2265
- }
2266
- } catch (err) {
2267
- _iterator.e(err);
2268
- } finally {
2269
- _iterator.f();
2270
- }
2271
- value.sort(function (node1, node2) {
2272
- var value1 = lookupMap.get(node1.data);
2273
- var value2 = lookupMap.get(node2.data);
2274
- return compareValuesOnSort(value1, value2, comparator, getSortOrder());
2275
- });
2276
- for (var i = 0; i < value.length; i++) {
2277
- if (value[i].children && value[i].children.length) {
2278
- value[i].children = sortNodes(value[i].children);
2279
- }
2280
- }
2281
- }
2282
- return value;
2283
- };
2284
- var sortMultiple = function sortMultiple(data) {
2285
- var multiSortMeta = getMultiSortMeta();
2286
- if (multiSortMeta) return sortMultipleNodes(data, multiSortMeta);else return data;
2287
- };
2288
- var sortMultipleNodes = function sortMultipleNodes(data, multiSortMeta) {
2289
- var value = _toConsumableArray(data);
2290
- var comparator = ObjectUtils.localeComparator(context && context.locale || PrimeReact.locale);
2291
- value.sort(function (node1, node2) {
2292
- return multisortField(node1, node2, multiSortMeta, 0, comparator);
2293
- });
2294
- for (var i = 0; i < value.length; i++) {
2295
- if (value[i].children && value[i].children.length) {
2296
- value[i].children = sortMultipleNodes(value[i].children, multiSortMeta);
2297
- }
2298
- }
2299
- return value;
2300
- };
2301
- var multisortField = function multisortField(node1, node2, multiSortMeta, index, comparator) {
2302
- if (!multiSortMeta || !multiSortMeta[index]) {
2303
- return;
2304
- }
2305
- var value1 = ObjectUtils.resolveFieldData(node1.data, multiSortMeta[index].field);
2306
- var value2 = ObjectUtils.resolveFieldData(node2.data, multiSortMeta[index].field);
2307
-
2308
- // check if they are equal handling dates and locales
2309
- if (ObjectUtils.compare(value1, value2, comparator) === 0) {
2310
- return multiSortMeta.length - 1 > index ? multisortField(node1, node2, multiSortMeta, index + 1, comparator) : 0;
2311
- }
2312
- return compareValuesOnSort(value1, value2, comparator, multiSortMeta[index].order);
2313
- };
2314
- var compareValuesOnSort = function compareValuesOnSort(value1, value2, comparator, order) {
2315
- return ObjectUtils.sort(value1, value2, order, comparator, context && context.nullSortOrder || PrimeReact.nullSortOrder);
2316
- };
2317
- var filter = function filter(value, field, mode) {
2318
- onFilter({
2319
- value: value,
2320
- field: field,
2321
- matchMode: mode
2322
- });
2323
- };
2324
- var onFilter = function onFilter(event) {
2325
- var filters = getFilters();
2326
- var newFilters = filters ? _objectSpread({}, filters) : {};
2327
- if (!isFilterBlank(event.value)) newFilters[event.field] = {
2328
- value: event.value,
2329
- matchMode: event.matchMode
2330
- };else if (newFilters[event.field]) delete newFilters[event.field];
2331
- if (props.onFilter) {
2332
- props.onFilter({
2333
- filters: newFilters
2334
- });
2335
- } else {
2336
- setFirstState(0);
2337
- setFiltersState(newFilters);
2338
- }
2339
- if (props.onValueChange) {
2340
- props.onValueChange(processedData({
2341
- filters: filters
2342
- }));
2343
- }
2344
- };
2345
- var isFilterBlank = function isFilterBlank(filter) {
2346
- if (filter !== null && filter !== undefined) {
2347
- if (typeof filter === 'string' && filter.trim().length === 0 || filter instanceof Array && filter.length === 0) return true;else return false;
2348
- }
2349
- return true;
2350
- };
2351
- var onColumnResizeStart = function onColumnResizeStart(event) {
2352
- var containerLeft = DomHandler.getOffset(elementRef.current).left;
2353
- resizeColumn.current = event.columnEl;
2354
- resizeColumnProps.current = event.column;
2355
- columnResizing.current = true;
2356
- lastResizerHelperX.current = event.originalEvent.pageX - containerLeft + elementRef.current.scrollLeft;
2357
- bindColumnResizeEvents();
2358
- };
2359
- var onColumnResize = function onColumnResize(event) {
2360
- var containerLeft = DomHandler.getOffset(elementRef.current).left;
2361
- !ptCallbacks.isUnstyled() && DomHandler.addClass(elementRef.current, 'p-unselectable-text');
2362
- resizerHelperRef.current.style.height = elementRef.current.offsetHeight + 'px';
2363
- resizerHelperRef.current.style.top = 0 + 'px';
2364
- resizerHelperRef.current.style.left = event.pageX - containerLeft + elementRef.current.scrollLeft + 'px';
2365
- resizerHelperRef.current.style.display = 'block';
2366
- };
2367
- var onColumnResizeEnd = function onColumnResizeEnd(event) {
2368
- var delta = resizerHelperRef.current.offsetLeft - lastResizerHelperX.current;
2369
- var columnWidth = resizeColumn.current.offsetWidth;
2370
- var newColumnWidth = columnWidth + delta;
2371
- var minWidth = resizeColumn.current.style.minWidth || 15;
2372
- if (columnWidth + delta > parseInt(minWidth, 10)) {
2373
- if (props.columnResizeMode === 'fit') {
2374
- var nextColumn = resizeColumn.current.nextElementSibling;
2375
- var nextColumnWidth = nextColumn.offsetWidth - delta;
2376
- if (newColumnWidth > 15 && nextColumnWidth > 15) {
2377
- if (props.scrollable) {
2378
- var scrollableView = findParentScrollableView(resizeColumn.current);
2379
- var scrollableBodyTable = DomHandler.findSingle(scrollableView, 'table.p-treetable-scrollable-body-table');
2380
- var scrollableHeaderTable = DomHandler.findSingle(scrollableView, 'table.p-treetable-scrollable-header-table');
2381
- var scrollableFooterTable = DomHandler.findSingle(scrollableView, 'table.p-treetable-scrollable-footer-table');
2382
- var resizeColumnIndex = DomHandler.index(resizeColumn.current);
2383
- resizeColGroup(scrollableHeaderTable, resizeColumnIndex, newColumnWidth, nextColumnWidth);
2384
- resizeColGroup(scrollableBodyTable, resizeColumnIndex, newColumnWidth, nextColumnWidth);
2385
- resizeColGroup(scrollableFooterTable, resizeColumnIndex, newColumnWidth, nextColumnWidth);
2386
- } else {
2387
- resizeColumn.current.style.width = newColumnWidth + 'px';
2388
- if (nextColumn) {
2389
- nextColumn.style.width = nextColumnWidth + 'px';
2390
- }
2391
- }
2392
- }
2393
- } else if (props.columnResizeMode === 'expand') {
2394
- if (props.scrollable) {
2395
- var _scrollableView = findParentScrollableView(resizeColumn.current);
2396
- var _scrollableBodyTable = DomHandler.findSingle(_scrollableView, 'table.p-treetable-scrollable-body-table');
2397
- var _scrollableHeaderTable = DomHandler.findSingle(_scrollableView, 'table.p-treetable-scrollable-header-table');
2398
- var _scrollableFooterTable = DomHandler.findSingle(_scrollableView, 'table.p-treetable-scrollable-footer-table');
2399
- _scrollableBodyTable.style.width = _scrollableBodyTable.offsetWidth + delta + 'px';
2400
- _scrollableHeaderTable.style.width = _scrollableHeaderTable.offsetWidth + delta + 'px';
2401
- if (_scrollableFooterTable) {
2402
- _scrollableFooterTable.style.width = _scrollableHeaderTable.offsetWidth + delta + 'px';
2403
- }
2404
- var _resizeColumnIndex = DomHandler.index(resizeColumn.current);
2405
- resizeColGroup(_scrollableHeaderTable, _resizeColumnIndex, newColumnWidth, null);
2406
- resizeColGroup(_scrollableBodyTable, _resizeColumnIndex, newColumnWidth, null);
2407
- resizeColGroup(_scrollableFooterTable, _resizeColumnIndex, newColumnWidth, null);
2408
- } else {
2409
- tableRef.current.style.width = tableRef.current.offsetWidth + delta + 'px';
2410
- resizeColumn.current.style.width = newColumnWidth + 'px';
2411
- }
2412
- }
2413
- if (props.onColumnResizeEnd) {
2414
- props.onColumnResizeEnd({
2415
- element: resizeColumn.current,
2416
- column: resizeColumnProps.current,
2417
- delta: delta
2418
- });
2419
- }
2420
- }
2421
- resizerHelperRef.current.style.display = 'none';
2422
- resizeColumn.current = null;
2423
- resizeColumnProps.current = null;
2424
- DomHandler.removeClass(elementRef.current, 'p-unselectable-text');
2425
- unbindColumnResizeEvents();
2426
- };
2427
- var findParentScrollableView = function findParentScrollableView(column) {
2428
- if (column) {
2429
- var parent = column.parentElement;
2430
- while (parent && DomHandler.getAttribute(parent, 'data-pc-section') !== 'scrollable') {
2431
- parent = parent.parentElement;
2432
- }
2433
- return parent;
2434
- } else {
2435
- return null;
2436
- }
2437
- };
2438
- var resizeColGroup = function resizeColGroup(table, resizeColumnIndex, newColumnWidth, nextColumnWidth) {
2439
- if (table) {
2440
- var colGroup = table.children[0].nodeName === 'COLGROUP' ? table.children[0] : null;
2441
- if (colGroup) {
2442
- var col = colGroup.children[resizeColumnIndex];
2443
- var nextCol = col.nextElementSibling;
2444
- col.style.width = newColumnWidth + 'px';
2445
- if (nextCol && nextColumnWidth) {
2446
- nextCol.style.width = nextColumnWidth + 'px';
2447
- }
2448
- } else {
2449
- throw new Error('Scrollable tables require a colgroup to support resizable columns');
2450
- }
2451
- }
2452
- };
2453
- var bindColumnResizeEvents = function bindColumnResizeEvents() {
2454
- bindDocumentMouseMoveListener();
2455
- bindDocumentMouseUpListener();
2456
- };
2457
- var unbindColumnResizeEvents = function unbindColumnResizeEvents() {
2458
- unbindDocumentMouseMoveListener();
2459
- unbindDocumentMouseUpListener();
2460
- };
2461
- var onColumnDragStart = function onColumnDragStart(e) {
2462
- var event = e.originalEvent,
2463
- column = e.column;
2464
- if (columnResizing.current) {
2465
- event.preventDefault();
2466
- return;
2467
- }
2468
- iconWidth.current = DomHandler.getHiddenElementOuterWidth(reorderIndicatorUpRef.current);
2469
- iconHeight.current = DomHandler.getHiddenElementOuterHeight(reorderIndicatorUpRef.current);
2470
- draggedColumnEl.current = findParentHeader(event.currentTarget);
2471
- draggedColumn.current = column;
2472
- event.dataTransfer.setData('text', 'b'); // Firefox requires this to make dragging possible
2473
- };
2474
-
2475
- var onColumnDragOver = function onColumnDragOver(e) {
2476
- var event = e.originalEvent,
2477
- column = e.column;
2478
- var dropHeader = findParentHeader(event.currentTarget);
2479
- if (props.reorderableColumns && draggedColumnEl.current && dropHeader && !getColumnProp(column, 'frozen')) {
2480
- event.preventDefault();
2481
- var containerOffset = DomHandler.getOffset(elementRef.current);
2482
- var dropHeaderOffset = DomHandler.getOffset(dropHeader);
2483
- if (draggedColumnEl.current !== dropHeader) {
2484
- var targetLeft = dropHeaderOffset.left - containerOffset.left;
2485
- //let targetTop = containerOffset.top - dropHeaderOffset.top;
2486
- var columnCenter = dropHeaderOffset.left + dropHeader.offsetWidth / 2;
2487
- reorderIndicatorUpRef.current.style.top = dropHeaderOffset.top - containerOffset.top - (iconHeight.current - 1) + 'px';
2488
- reorderIndicatorDownRef.current.style.top = dropHeaderOffset.top - containerOffset.top + dropHeader.offsetHeight + 'px';
2489
- if (event.pageX > columnCenter) {
2490
- reorderIndicatorUpRef.current.style.left = targetLeft + dropHeader.offsetWidth - Math.ceil(iconWidth.current / 2) + 'px';
2491
- reorderIndicatorDownRef.current.style.left = targetLeft + dropHeader.offsetWidth - Math.ceil(iconWidth.current / 2) + 'px';
2492
- dropPosition.current = 1;
2493
- } else {
2494
- reorderIndicatorUpRef.current.style.left = targetLeft - Math.ceil(iconWidth.current / 2) + 'px';
2495
- reorderIndicatorDownRef.current.style.left = targetLeft - Math.ceil(iconWidth.current / 2) + 'px';
2496
- dropPosition.current = -1;
2497
- }
2498
- reorderIndicatorUpRef.current.style.display = 'block';
2499
- reorderIndicatorDownRef.current.style.display = 'block';
2500
- }
2501
- }
2502
- };
2503
- var onColumnDragLeave = function onColumnDragLeave(e) {
2504
- var event = e.originalEvent;
2505
- if (props.reorderableColumns && draggedColumnEl.current) {
2506
- event.preventDefault();
2507
- reorderIndicatorUpRef.current.style.display = 'none';
2508
- reorderIndicatorDownRef.current.style.display = 'none';
2509
- }
2510
- };
2511
- var onColumnDrop = function onColumnDrop(e) {
2512
- var event = e.originalEvent,
2513
- column = e.column;
2514
- event.preventDefault();
2515
- if (draggedColumnEl.current) {
2516
- var dragIndex = DomHandler.index(draggedColumnEl.current);
2517
- var dropIndex = DomHandler.index(findParentHeader(event.currentTarget));
2518
- var allowDrop = dragIndex !== dropIndex;
2519
- if (allowDrop && (dropIndex - dragIndex === 1 && dropPosition.current === -1 || dragIndex - dropIndex === 1 && dropPosition.current === 1)) {
2520
- allowDrop = false;
2521
- }
2522
- if (allowDrop) {
2523
- var columns = columnOrderState ? getColumns() : React.Children.toArray(props.children);
2524
- var isSameColumn = function isSameColumn(col1, col2) {
2525
- return getColumnProp(col1, 'columnKey') || getColumnProp(col2, 'columnKey') ? ObjectUtils.equals(col1, col2, 'props.columnKey') : ObjectUtils.equals(col1, col2, 'props.field');
2526
- };
2527
- var dragColIndex = columns.findIndex(function (child) {
2528
- return isSameColumn(child, draggedColumn.current);
2529
- });
2530
- var dropColIndex = columns.findIndex(function (child) {
2531
- return isSameColumn(child, column);
2532
- });
2533
- if (dropColIndex < dragColIndex && dropPosition.current === 1) {
2534
- dropColIndex++;
2535
- }
2536
- if (dropColIndex > dragColIndex && dropPosition.current === -1) {
2537
- dropColIndex--;
2538
- }
2539
- ObjectUtils.reorderArray(columns, dragColIndex, dropColIndex);
2540
- var columnOrder = [];
2541
- var _iterator2 = _createForOfIteratorHelper(columns),
2542
- _step2;
2543
- try {
2544
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
2545
- var _column = _step2.value;
2546
- columnOrder.push(getColumnProp(_column, 'columnKey') || getColumnProp(_column, 'field'));
2547
- }
2548
- } catch (err) {
2549
- _iterator2.e(err);
2550
- } finally {
2551
- _iterator2.f();
2552
- }
2553
- setColumnOrderState(columnOrder);
2554
- if (props.onColReorder) {
2555
- props.onColReorder({
2556
- dragIndex: dragColIndex,
2557
- dropIndex: dropColIndex,
2558
- columns: columns
2559
- });
2560
- }
2561
- }
2562
- reorderIndicatorUpRef.current.style.display = 'none';
2563
- reorderIndicatorDownRef.current.style.display = 'none';
2564
- draggedColumnEl.current.draggable = false;
2565
- draggedColumnEl.current = null;
2566
- dropPosition.current = null;
2567
- }
2568
- };
2569
- var findParentHeader = function findParentHeader(element) {
2570
- if (element.nodeName === 'TH') {
2571
- return element;
2572
- } else {
2573
- var parent = element.parentElement;
2574
- while (parent.nodeName !== 'TH') {
2575
- parent = parent.parentElement;
2576
- if (!parent) break;
2577
- }
2578
- return parent;
2579
- }
2580
- };
2581
- var getColumnProp = function getColumnProp(column, name) {
2582
- return ColumnBase.getCProp(column, name);
2583
- };
2584
- var getExpandedKeys = function getExpandedKeys() {
2585
- return props.onToggle ? props.expandedKeys : expandedKeysState;
2586
- };
2587
- var getFirst = function getFirst() {
2588
- return props.onPage ? props.first : firstState;
2589
- };
2590
- var getRows = function getRows() {
2591
- return props.onPage ? props.rows : rowsState;
2592
- };
2593
- var getSortField = function getSortField() {
2594
- return props.onSort ? props.sortField : sortFieldState;
2595
- };
2596
- var getSortOrder = function getSortOrder() {
2597
- return props.onSort ? props.sortOrder : sortOrderState;
2598
- };
2599
- var getMultiSortMeta = function getMultiSortMeta() {
2600
- return (props.onSort ? props.multiSortMeta : multiSortMetaState) || [];
2601
- };
2602
- var getFilters = function getFilters() {
2603
- return props.onFilter ? props.filters : filtersState;
2604
- };
2605
- var findColumnByKey = function findColumnByKey(columns, key) {
2606
- if (columns && columns.length) {
2607
- for (var i = 0; i < columns.length; i++) {
2608
- var child = columns[i];
2609
- if (getColumnProp(child, 'columnKey') === key || getColumnProp(child, 'field') === key) {
2610
- return child;
2611
- }
2612
- }
2613
- }
2614
- return null;
2615
- };
2616
- var getColumns = function getColumns() {
2617
- var columns = React.Children.toArray(props.children);
2618
- if (columns && columns.length) {
2619
- if (props.reorderableColumns && columnOrderState) {
2620
- var orderedColumns = [];
2621
- var _iterator3 = _createForOfIteratorHelper(columnOrderState),
2622
- _step3;
2623
- try {
2624
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
2625
- var columnKey = _step3.value;
2626
- var column = findColumnByKey(columns, columnKey);
2627
- if (column) {
2628
- orderedColumns.push(column);
2629
- }
2630
- }
2631
- } catch (err) {
2632
- _iterator3.e(err);
2633
- } finally {
2634
- _iterator3.f();
2635
- }
2636
- return [].concat(orderedColumns, _toConsumableArray(columns.filter(function (item) {
2637
- return orderedColumns.indexOf(item) < 0;
2638
- })));
2639
- } else {
2640
- return columns;
2641
- }
2642
- }
2643
- return null;
2644
- };
2645
- var getTotalRecords = function getTotalRecords(data) {
2646
- return props.lazy ? props.totalRecords : data ? data.length : 0;
2647
- };
2648
- var isSingleSelectionMode = function isSingleSelectionMode() {
2649
- return props.selectionMode && props.selectionMode === 'single';
2650
- };
2651
- var isMultipleSelectionMode = function isMultipleSelectionMode() {
2652
- return props.selectionMode && props.selectionMode === 'multiple';
2653
- };
2654
- var isRowSelectionMode = function isRowSelectionMode() {
2655
- return isSingleSelectionMode() || isMultipleSelectionMode();
2656
- };
2657
- var getFrozenColumns = function getFrozenColumns(columns) {
2658
- var frozenColumns = null;
2659
- var _iterator4 = _createForOfIteratorHelper(columns),
2660
- _step4;
2661
- try {
2662
- for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
2663
- var col = _step4.value;
2664
- if (getColumnProp(col, 'frozen')) {
2665
- frozenColumns = frozenColumns || [];
2666
- frozenColumns.push(col);
2667
- }
2668
- }
2669
- } catch (err) {
2670
- _iterator4.e(err);
2671
- } finally {
2672
- _iterator4.f();
2673
- }
2674
- return frozenColumns;
2675
- };
2676
- var getScrollableColumns = function getScrollableColumns(columns) {
2677
- var scrollableColumns = null;
2678
- var _iterator5 = _createForOfIteratorHelper(columns),
2679
- _step5;
2680
- try {
2681
- for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
2682
- var col = _step5.value;
2683
- if (!getColumnProp(col, 'frozen')) {
2684
- scrollableColumns = scrollableColumns || [];
2685
- scrollableColumns.push(col);
2686
- }
2687
- }
2688
- } catch (err) {
2689
- _iterator5.e(err);
2690
- } finally {
2691
- _iterator5.f();
2692
- }
2693
- return scrollableColumns;
2694
- };
2695
- var filterLocal = function filterLocal(value) {
2696
- var filteredNodes = [];
2697
- var filters = getFilters();
2698
- var columns = React.Children.toArray(props.children);
2699
- var isStrictMode = props.filterMode === 'strict';
2700
- var _iterator6 = _createForOfIteratorHelper(value),
2701
- _step6;
2702
- try {
2703
- for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
2704
- var node = _step6.value;
2705
- var copyNode = _objectSpread({}, node);
2706
- var localMatch = true;
2707
- var globalMatch = false;
2708
- for (var j = 0; j < columns.length; j++) {
2709
- var col = columns[j];
2710
- var filterMeta = filters ? filters[getColumnProp(col, 'field')] : null;
2711
- var filterField = getColumnProp(col, 'field');
2712
- var filterValue = void 0,
2713
- filterConstraint = void 0,
2714
- paramsWithoutNode = void 0,
2715
- options = void 0;
2716
-
2717
- //local
2718
- if (filterMeta) {
2719
- var filterMatchMode = filterMeta.matchMode || getColumnProp(col, 'filterMatchMode') || 'startsWith';
2720
- filterValue = filterMeta.value;
2721
- filterConstraint = filterMatchMode === 'custom' ? getColumnProp(col, 'filterFunction') : FilterService.filters[filterMatchMode];
2722
- options = {
2723
- rowData: node,
2724
- filters: filters,
2725
- props: props,
2726
- column: {
2727
- filterMeta: filterMeta,
2728
- filterField: filterField,
2729
- props: ColumnBase.getCProps(col)
2730
- }
2731
- };
2732
- paramsWithoutNode = {
2733
- filterField: filterField,
2734
- filterValue: filterValue,
2735
- filterConstraint: filterConstraint,
2736
- isStrictMode: isStrictMode,
2737
- options: options
2738
- };
2739
- if (isStrictMode && !(findFilteredNodes(copyNode, paramsWithoutNode) || isFilterMatched(copyNode, paramsWithoutNode)) || !isStrictMode && !(isFilterMatched(copyNode, paramsWithoutNode) || findFilteredNodes(copyNode, paramsWithoutNode))) {
2740
- localMatch = false;
2741
- }
2742
- if (!localMatch) {
2743
- break;
2744
- }
2745
- }
2746
-
2747
- //global
2748
- if (props.globalFilter && !globalMatch) {
2749
- var copyNodeForGlobal = _objectSpread({}, copyNode);
2750
- filterValue = props.globalFilter;
2751
- filterConstraint = FilterService.filters[props.globalFilterMatchMode];
2752
- paramsWithoutNode = {
2753
- filterField: filterField,
2754
- filterValue: filterValue,
2755
- filterConstraint: filterConstraint,
2756
- isStrictMode: isStrictMode
2757
- };
2758
- if (isStrictMode && (findFilteredNodes(copyNodeForGlobal, paramsWithoutNode) || isFilterMatched(copyNodeForGlobal, paramsWithoutNode)) || !isStrictMode && (isFilterMatched(copyNodeForGlobal, paramsWithoutNode) || findFilteredNodes(copyNodeForGlobal, paramsWithoutNode))) {
2759
- globalMatch = true;
2760
- copyNode = copyNodeForGlobal;
2761
- }
2762
- }
2763
- }
2764
- var matches = localMatch;
2765
- if (props.globalFilter) {
2766
- matches = localMatch && globalMatch;
2767
- }
2768
- if (matches) {
2769
- filteredNodes.push(copyNode);
2770
- }
2771
- }
2772
- } catch (err) {
2773
- _iterator6.e(err);
2774
- } finally {
2775
- _iterator6.f();
2776
- }
2777
- return filteredNodes;
2778
- };
2779
- var findFilteredNodes = function findFilteredNodes(node, paramsWithoutNode) {
2780
- if (node) {
2781
- var matched = false;
2782
- if (node.children) {
2783
- var childNodes = _toConsumableArray(node.children);
2784
- node.children = [];
2785
- var _iterator7 = _createForOfIteratorHelper(childNodes),
2786
- _step7;
2787
- try {
2788
- for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
2789
- var childNode = _step7.value;
2790
- var copyChildNode = _objectSpread({}, childNode);
2791
- if (isFilterMatched(copyChildNode, paramsWithoutNode)) {
2792
- matched = true;
2793
- node.children.push(copyChildNode);
2794
- }
2795
- }
2796
- } catch (err) {
2797
- _iterator7.e(err);
2798
- } finally {
2799
- _iterator7.f();
2800
- }
2801
- }
2802
- if (matched) {
2803
- return true;
2804
- }
2805
- }
2806
- };
2807
- var isFilterMatched = function isFilterMatched(node, _ref) {
2808
- var filterField = _ref.filterField,
2809
- filterValue = _ref.filterValue,
2810
- filterConstraint = _ref.filterConstraint,
2811
- isStrictMode = _ref.isStrictMode,
2812
- options = _ref.options;
2813
- var matched = false;
2814
- var dataFieldValue = ObjectUtils.resolveFieldData(node.data, filterField);
2815
- if (filterConstraint(dataFieldValue, filterValue, props.filterLocale, options)) {
2816
- matched = true;
2817
- }
2818
- if (!matched || isStrictMode && !isNodeLeaf(node)) {
2819
- matched = findFilteredNodes(node, {
2820
- filterField: filterField,
2821
- filterValue: filterValue,
2822
- filterConstraint: filterConstraint,
2823
- isStrictMode: isStrictMode
2824
- }) || matched;
2825
- }
2826
- return matched;
2827
- };
2828
- var isNodeLeaf = function isNodeLeaf(node) {
2829
- return node.leaf === false ? false : !(node.children && node.children.length);
2830
- };
2831
- var processedData = function processedData(localState) {
2832
- var data = props.value || [];
2833
- if (!props.lazy) {
2834
- if (data && data.length) {
2835
- var filters = localState && localState.filters || getFilters();
2836
- var sortField = localState && localState.sortField || getSortField();
2837
- var multiSortMeta = localState && localState.multiSortMeta || getMultiSortMeta();
2838
- if (ObjectUtils.isNotEmpty(filters) || props.globalFilter) {
2839
- data = filterLocal(data);
2840
- }
2841
- if (sortField || ObjectUtils.isNotEmpty(multiSortMeta)) {
2842
- if (props.sortMode === 'single') data = sortSingle(data);else if (props.sortMode === 'multiple') data = sortMultiple(data);
2843
- }
2844
- }
2845
- }
2846
- return data;
2847
- };
2848
- React.useImperativeHandle(ref, function () {
2849
- return {
2850
- props: props,
2851
- filter: filter,
2852
- getElement: function getElement() {
2853
- return elementRef.current;
2854
- }
2855
- };
2856
- });
2857
- var createTableHeader = function createTableHeader(columns, columnGroup) {
2858
- var sortField = getSortField();
2859
- var sortOrder = getSortOrder();
2860
- var multiSortMeta = _toConsumableArray(getMultiSortMeta());
2861
- var filters = getFilters();
2862
- return /*#__PURE__*/React.createElement(TreeTableHeader, {
2863
- hostName: "TreeTable",
2864
- columns: columns,
2865
- columnGroup: columnGroup,
2866
- tabIndex: props.tabIndex,
2867
- onSort: onSort,
2868
- sortField: sortField,
2869
- sortIcon: props.sortIcon,
2870
- sortOrder: sortOrder,
2871
- multiSortMeta: multiSortMeta,
2872
- resizableColumns: props.resizableColumns,
2873
- onResizeStart: onColumnResizeStart,
2874
- reorderableColumns: props.reorderableColumns,
2875
- onDragStart: onColumnDragStart,
2876
- onDragOver: onColumnDragOver,
2877
- onDragLeave: onColumnDragLeave,
2878
- onDrop: onColumnDrop,
2879
- onFilter: onFilter,
2880
- filters: filters,
2881
- filterDelay: props.filterDelay,
2882
- ptCallbacks: ptCallbacks,
2883
- metaData: metaData,
2884
- unstyled: props.unstyled
2885
- });
2886
- };
2887
- var createTableFooter = function createTableFooter(columns, columnGroup) {
2888
- return /*#__PURE__*/React.createElement(TreeTableFooter, {
2889
- hostName: "TreeTable",
2890
- columns: columns,
2891
- columnGroup: columnGroup,
2892
- ptCallbacks: ptCallbacks,
2893
- metaData: metaData
2894
- });
2895
- };
2896
- var createTableBody = function createTableBody(value, columns) {
2897
- return /*#__PURE__*/React.createElement(TreeTableBody, {
2898
- hostName: "TreeTable",
2899
- value: value,
2900
- originalOptions: props.value,
2901
- checkboxIcon: props.checkboxIcon,
2902
- columns: columns,
2903
- expandedKeys: getExpandedKeys(),
2904
- selectOnEdit: props.selectOnEdit,
2905
- onToggle: onToggle,
2906
- togglerTemplate: props.togglerTemplate,
2907
- onExpand: props.onExpand,
2908
- onCollapse: props.onCollapse,
2909
- paginator: props.paginator,
2910
- first: getFirst(),
2911
- rows: getRows(),
2912
- selectionMode: props.selectionMode,
2913
- selectionKeys: props.selectionKeys,
2914
- onSelectionChange: props.onSelectionChange,
2915
- metaKeySelection: props.metaKeySelection,
2916
- onRowClick: props.onRowClick,
2917
- onRowMouseEnter: props.onRowMouseEnter,
2918
- onRowMouseLeave: props.onRowMouseLeave,
2919
- onSelect: props.onSelect,
2920
- onUnselect: props.onUnselect,
2921
- propagateSelectionUp: props.propagateSelectionUp,
2922
- propagateSelectionDown: props.propagateSelectionDown,
2923
- lazy: props.lazy,
2924
- rowClassName: props.rowClassName,
2925
- emptyMessage: props.emptyMessage,
2926
- loading: props.loading,
2927
- contextMenuSelectionKey: props.contextMenuSelectionKey,
2928
- onContextMenuSelectionChange: props.onContextMenuSelectionChange,
2929
- onContextMenu: props.onContextMenu,
2930
- ptCallbacks: ptCallbacks,
2931
- metaData: metaData
2932
- });
2933
- };
2934
- var createPaginator = function createPaginator(position, totalRecords) {
2935
- var className = classNames('p-paginator-' + position, props.paginatorClassName);
2936
- return /*#__PURE__*/React.createElement(Paginator, {
2937
- first: getFirst(),
2938
- rows: getRows(),
2939
- pageLinkSize: props.pageLinkSize,
2940
- className: className,
2941
- onPageChange: onPageChange,
2942
- template: props.paginatorTemplate,
2943
- totalRecords: totalRecords,
2944
- rowsPerPageOptions: props.rowsPerPageOptions,
2945
- currentPageReportTemplate: props.currentPageReportTemplate,
2946
- leftContent: props.paginatorLeft,
2947
- rightContent: props.paginatorRight,
2948
- alwaysShow: props.alwaysShowPaginator,
2949
- dropdownAppendTo: props.paginatorDropdownAppendTo,
2950
- pt: ptCallbacks.ptm('paginator'),
2951
- unstyled: props.unstyled,
2952
- __parentMetadata: {
2953
- parent: metaData
2954
- }
2955
- });
2956
- };
2957
- var createScrollableView = function createScrollableView(value, columns, frozen, headerColumnGroup, footerColumnGroup) {
2958
- var header = createTableHeader(columns, headerColumnGroup);
2959
- var footer = createTableFooter(columns, footerColumnGroup);
2960
- var body = createTableBody(value, columns);
2961
- return /*#__PURE__*/React.createElement(TreeTableScrollableView, {
2962
- hostName: "TreeTable",
2963
- columns: columns,
2964
- header: header,
2965
- body: body,
2966
- footer: footer,
2967
- scrollHeight: props.scrollHeight,
2968
- frozen: frozen,
2969
- frozenWidth: props.frozenWidth,
2970
- ptCallbacks: ptCallbacks,
2971
- metaData: metaData
2972
- });
2973
- };
2974
- var createScrollableTable = function createScrollableTable(value) {
2975
- var columns = getColumns();
2976
- var frozenColumns = getFrozenColumns(columns);
2977
- var scrollableColumns = frozenColumns ? getScrollableColumns(columns) : columns;
2978
- var frozenView, scrollableView;
2979
- if (frozenColumns) {
2980
- frozenView = createScrollableView(value, frozenColumns, true, props.frozenHeaderColumnGroup, props.frozenFooterColumnGroup);
2981
- }
2982
- scrollableView = createScrollableView(value, scrollableColumns, false, props.headerColumnGroup, props.footerColumnGroup);
2983
- var scrollableWrapperProps = mergeProps({
2984
- className: ptCallbacks.cx('scrollableWrapper')
2985
- }, ptCallbacks.ptm('scrollableWrapper'));
2986
- return /*#__PURE__*/React.createElement("div", scrollableWrapperProps, frozenView, scrollableView);
2987
- };
2988
- var createRegularTable = function createRegularTable(value) {
2989
- var columns = getColumns();
2990
- var header = createTableHeader(columns, props.headerColumnGroup);
2991
- var footer = createTableFooter(columns, props.footerColumnGroup);
2992
- var body = createTableBody(value, columns);
2993
- var wrapperProps = mergeProps({
2994
- className: ptCallbacks.cx('wrapper')
2995
- }, ptCallbacks.ptm('wrapper'));
2996
- var tableProps = mergeProps({
2997
- style: props.tableStyle,
2998
- className: classNames(props.tableClassName, ptCallbacks.cx('table'))
2999
- }, ptCallbacks.ptm('table'));
3000
- return /*#__PURE__*/React.createElement("div", wrapperProps, /*#__PURE__*/React.createElement("table", _extends({
3001
- ref: tableRef
3002
- }, tableProps), header, footer, body));
3003
- };
3004
- var createTable = function createTable(value) {
3005
- return props.scrollable ? createScrollableTable(value) : createRegularTable(value);
3006
- };
3007
- var createLoader = function createLoader() {
3008
- if (props.loading) {
3009
- var loadingIconProps = mergeProps({
3010
- className: ptCallbacks.cx('loadingIcon')
3011
- }, ptCallbacks.ptm('loadingIcon'));
3012
- var icon = props.loadingIcon || /*#__PURE__*/React.createElement(SpinnerIcon, _extends({}, loadingIconProps, {
3013
- spin: true
3014
- }));
3015
- var loadingIcon = IconUtils.getJSXIcon(icon, _objectSpread({}, loadingIconProps), {
3016
- props: props
3017
- });
3018
- var loadingWrapperProps = mergeProps({
3019
- className: ptCallbacks.cx('loadingWrapper')
3020
- }, ptCallbacks.ptm('loadingWrapper'));
3021
- var loadingOverlayProps = mergeProps({
3022
- className: ptCallbacks.cx('loadingOverlay')
3023
- }, ptCallbacks.ptm('loadingOverlay'));
3024
- return /*#__PURE__*/React.createElement("div", loadingWrapperProps, /*#__PURE__*/React.createElement("div", loadingOverlayProps, loadingIcon));
3025
- }
3026
- return null;
3027
- };
3028
- var data = processedData();
3029
- var table = createTable(data);
3030
- var totalRecords = getTotalRecords(data);
3031
- var headerProps = mergeProps({
3032
- className: ptCallbacks.cx('header')
3033
- }, ptCallbacks.ptm('header'));
3034
- var footerProps = mergeProps({
3035
- className: ptCallbacks.cx('footer')
3036
- }, ptCallbacks.ptm('footer'));
3037
- var resizeHelperProps = mergeProps({
3038
- className: ptCallbacks.cx('resizeHelper'),
3039
- style: {
3040
- display: 'none'
3041
- }
3042
- }, ptCallbacks.ptm('resizeHelper'));
3043
- var headerFacet = props.header && /*#__PURE__*/React.createElement("div", headerProps, props.header);
3044
- var footerFacet = props.footer && /*#__PURE__*/React.createElement("div", footerProps, props.footer);
3045
- var paginatorTop = props.paginator && props.paginatorPosition !== 'bottom' && createPaginator('top', totalRecords);
3046
- var paginatorBottom = props.paginator && props.paginatorPosition !== 'top' && createPaginator('bottom', totalRecords);
3047
- var loader = createLoader();
3048
- var resizeHelper = props.resizableColumns && /*#__PURE__*/React.createElement("div", _extends({
3049
- ref: resizerHelperRef
3050
- }, resizeHelperProps));
3051
- var reorderIndicatorUpProps = mergeProps({
3052
- className: ptCallbacks.cx('reorderIndicatorUp'),
3053
- style: {
3054
- position: 'absolute',
3055
- display: 'none'
3056
- }
3057
- }, ptCallbacks.ptm('reorderIndicatorUp'));
3058
- var reorderIndicatorUpIconProps = mergeProps(ptCallbacks.ptm('reorderIndicatorUpIcon'));
3059
- var reorderIndicatorUpIcon = props.reorderableColumns && IconUtils.getJSXIcon(props.reorderIndicatorUpIcon || /*#__PURE__*/React.createElement(ArrowDownIcon, reorderIndicatorUpIconProps), _objectSpread({}, reorderIndicatorUpIconProps), {
3060
- props: props
3061
- });
3062
- var reorderIndicatorUp = props.reorderableColumns && /*#__PURE__*/React.createElement("span", _extends({
3063
- ref: reorderIndicatorUpRef
3064
- }, reorderIndicatorUpProps), reorderIndicatorUpIcon);
3065
- var reorderIndicatorDownProps = {
3066
- className: ptCallbacks.sx('reorderIndicatorDown'),
3067
- style: {
3068
- position: 'absolute',
3069
- display: 'none'
3070
- }
3071
- };
3072
- var reorderIndicatorDownIconProps = mergeProps(ptCallbacks.ptm('reorderIndicatorDownIcon'));
3073
- var reorderIndicatorDownIcon = IconUtils.getJSXIcon(props.reorderIndicatorDownIcon || /*#__PURE__*/React.createElement(ArrowUpIcon, reorderIndicatorDownIconProps), _objectSpread({}, reorderIndicatorDownIconProps), {
3074
- props: props
3075
- });
3076
- var reorderIndicatorDown = props.reorderableColumns && /*#__PURE__*/React.createElement("span", _extends({
3077
- ref: reorderIndicatorDownRef
3078
- }, reorderIndicatorDownProps), reorderIndicatorDownIcon);
3079
- var rootProps = mergeProps({
3080
- id: props.id,
3081
- className: classNames(props.className, ptCallbacks.cx('root', {
3082
- isRowSelectionMode: isRowSelectionMode
3083
- })),
3084
- style: props.style,
3085
- 'data-scrollselectors': '.p-treetable-wrapper'
3086
- }, ObjectUtils.findDiffKeys(props, TreeTable.defaultProps), ptCallbacks.ptm('root'));
3087
- return /*#__PURE__*/React.createElement("div", _extends({
3088
- ref: elementRef
3089
- }, rootProps), loader, headerFacet, paginatorTop, table, paginatorBottom, footerFacet, resizeHelper, reorderIndicatorUp, reorderIndicatorDown);
3090
- });
3091
- TreeTable.displayName = 'TreeTable';
3092
-
3093
- export { TreeTable };