primeng 11.4.4 → 12.0.1

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 (1281) hide show
  1. package/README.md +1 -1
  2. package/accordion/accordion.d.ts +10 -0
  3. package/accordion/package.json +1 -2
  4. package/accordion/primeng-accordion.d.ts +1 -0
  5. package/api/confirmationservice.d.ts +3 -0
  6. package/api/contextmenuservice.d.ts +3 -0
  7. package/api/filterservice.d.ts +3 -0
  8. package/api/menuitem.d.ts +2 -0
  9. package/api/message.d.ts +1 -1
  10. package/api/messageservice.d.ts +3 -0
  11. package/api/package.json +1 -2
  12. package/api/primeng-api.d.ts +1 -0
  13. package/api/primengconfig.d.ts +3 -0
  14. package/api/shared.d.ts +11 -0
  15. package/api/treedragdropservice.d.ts +3 -0
  16. package/autocomplete/autocomplete.d.ts +12 -0
  17. package/autocomplete/package.json +1 -2
  18. package/autocomplete/primeng-autocomplete.d.ts +1 -0
  19. package/avatar/avatar.d.ts +7 -0
  20. package/avatar/package.json +1 -2
  21. package/avatar/primeng-avatar.d.ts +1 -0
  22. package/avatargroup/avatargroup.d.ts +7 -0
  23. package/avatargroup/package.json +1 -2
  24. package/avatargroup/primeng-avatargroup.d.ts +1 -0
  25. package/badge/badge.d.ts +10 -0
  26. package/badge/package.json +1 -2
  27. package/badge/primeng-badge.d.ts +1 -0
  28. package/blockui/blockui.d.ts +7 -0
  29. package/blockui/package.json +1 -2
  30. package/blockui/primeng-blockui.d.ts +1 -0
  31. package/breadcrumb/breadcrumb.d.ts +8 -0
  32. package/breadcrumb/package.json +1 -2
  33. package/breadcrumb/primeng-breadcrumb.d.ts +1 -0
  34. package/bundles/primeng-accordion.umd.js +130 -71
  35. package/bundles/primeng-accordion.umd.js.map +1 -1
  36. package/bundles/primeng-api.umd.js +98 -52
  37. package/bundles/primeng-api.umd.js.map +1 -1
  38. package/bundles/primeng-autocomplete.umd.js +223 -118
  39. package/bundles/primeng-autocomplete.umd.js.map +1 -1
  40. package/bundles/primeng-avatar.umd.js +61 -26
  41. package/bundles/primeng-avatar.umd.js.map +1 -1
  42. package/bundles/primeng-avatargroup.umd.js +51 -21
  43. package/bundles/primeng-avatargroup.umd.js.map +1 -1
  44. package/bundles/primeng-badge.umd.js +72 -38
  45. package/bundles/primeng-badge.umd.js.map +1 -1
  46. package/bundles/primeng-blockui.umd.js +63 -30
  47. package/bundles/primeng-blockui.umd.js.map +1 -1
  48. package/bundles/primeng-breadcrumb.umd.js +59 -25
  49. package/bundles/primeng-breadcrumb.umd.js.map +1 -1
  50. package/bundles/primeng-button.umd.js +100 -51
  51. package/bundles/primeng-button.umd.js.map +1 -1
  52. package/bundles/primeng-calendar.umd.js +277 -150
  53. package/bundles/primeng-calendar.umd.js.map +1 -1
  54. package/bundles/primeng-captcha.umd.js +65 -34
  55. package/bundles/primeng-captcha.umd.js.map +1 -1
  56. package/bundles/primeng-card.umd.js +64 -29
  57. package/bundles/primeng-card.umd.js.map +1 -1
  58. package/bundles/primeng-carousel.umd.js +102 -51
  59. package/bundles/primeng-carousel.umd.js.map +1 -1
  60. package/bundles/primeng-cascadeselect.umd.js +176 -100
  61. package/bundles/primeng-cascadeselect.umd.js.map +1 -1
  62. package/bundles/primeng-chart.umd.js +41 -30
  63. package/bundles/primeng-chart.umd.js.map +1 -1
  64. package/bundles/primeng-checkbox.umd.js +88 -44
  65. package/bundles/primeng-checkbox.umd.js.map +1 -1
  66. package/bundles/primeng-chip.umd.js +64 -28
  67. package/bundles/primeng-chip.umd.js.map +1 -1
  68. package/bundles/primeng-chips.umd.js +106 -58
  69. package/bundles/primeng-chips.umd.js.map +1 -1
  70. package/bundles/primeng-codehighlighter.umd.js +42 -16
  71. package/bundles/primeng-codehighlighter.umd.js.map +1 -1
  72. package/bundles/primeng-colorpicker.umd.js +132 -69
  73. package/bundles/primeng-colorpicker.umd.js.map +1 -1
  74. package/bundles/primeng-confirmdialog.umd.js +151 -81
  75. package/bundles/primeng-confirmdialog.umd.js.map +1 -1
  76. package/bundles/primeng-confirmpopup.umd.js +96 -52
  77. package/bundles/primeng-confirmpopup.umd.js.map +1 -1
  78. package/bundles/primeng-contextmenu.umd.js +108 -60
  79. package/bundles/primeng-contextmenu.umd.js.map +1 -1
  80. package/bundles/primeng-dataview.umd.js +141 -79
  81. package/bundles/primeng-dataview.umd.js.map +1 -1
  82. package/bundles/primeng-defer.umd.js +48 -24
  83. package/bundles/primeng-defer.umd.js.map +1 -1
  84. package/bundles/primeng-dialog.umd.js +176 -89
  85. package/bundles/primeng-dialog.umd.js.map +1 -1
  86. package/bundles/primeng-divider.umd.js +57 -24
  87. package/bundles/primeng-divider.umd.js.map +1 -1
  88. package/bundles/primeng-dragdrop.umd.js +99 -54
  89. package/bundles/primeng-dragdrop.umd.js.map +1 -1
  90. package/bundles/primeng-dropdown.umd.js +255 -134
  91. package/bundles/primeng-dropdown.umd.js.map +1 -1
  92. package/bundles/primeng-dynamicdialog.umd.js +84 -55
  93. package/bundles/primeng-dynamicdialog.umd.js.map +1 -1
  94. package/bundles/primeng-editor.umd.js +61 -41
  95. package/bundles/primeng-editor.umd.js.map +1 -1
  96. package/bundles/primeng-fieldset.umd.js +97 -48
  97. package/bundles/primeng-fieldset.umd.js.map +1 -1
  98. package/bundles/primeng-fileupload.umd.js +165 -90
  99. package/bundles/primeng-fileupload.umd.js.map +1 -1
  100. package/bundles/primeng-focustrap.umd.js +50 -20
  101. package/bundles/primeng-focustrap.umd.js.map +1 -1
  102. package/bundles/primeng-fullcalendar.umd.js +54 -25
  103. package/bundles/primeng-fullcalendar.umd.js.map +1 -1
  104. package/bundles/primeng-galleria.umd.js +229 -140
  105. package/bundles/primeng-galleria.umd.js.map +1 -1
  106. package/bundles/primeng-gmap.umd.js +81 -46
  107. package/bundles/primeng-gmap.umd.js.map +1 -1
  108. package/bundles/primeng-inplace.umd.js +89 -46
  109. package/bundles/primeng-inplace.umd.js.map +1 -1
  110. package/bundles/primeng-inputmask.umd.js +115 -61
  111. package/bundles/primeng-inputmask.umd.js.map +1 -1
  112. package/bundles/primeng-inputnumber.umd.js +143 -75
  113. package/bundles/primeng-inputnumber.umd.js.map +1 -1
  114. package/bundles/primeng-inputswitch.umd.js +68 -34
  115. package/bundles/primeng-inputswitch.umd.js.map +1 -1
  116. package/bundles/primeng-inputtext.umd.js +58 -28
  117. package/bundles/primeng-inputtext.umd.js.map +1 -1
  118. package/bundles/primeng-inputtextarea.umd.js +73 -37
  119. package/bundles/primeng-inputtextarea.umd.js.map +1 -1
  120. package/bundles/primeng-keyfilter.umd.js +61 -27
  121. package/bundles/primeng-keyfilter.umd.js.map +1 -1
  122. package/bundles/primeng-knob.umd.js +84 -43
  123. package/bundles/primeng-knob.umd.js.map +1 -1
  124. package/bundles/primeng-lightbox.umd.js +70 -34
  125. package/bundles/primeng-lightbox.umd.js.map +1 -1
  126. package/bundles/primeng-listbox.umd.js +129 -68
  127. package/bundles/primeng-listbox.umd.js.map +1 -1
  128. package/bundles/primeng-megamenu.umd.js +64 -31
  129. package/bundles/primeng-megamenu.umd.js.map +1 -1
  130. package/bundles/primeng-menu.umd.js +114 -61
  131. package/bundles/primeng-menu.umd.js.map +1 -1
  132. package/bundles/primeng-menubar.umd.js +97 -56
  133. package/bundles/primeng-menubar.umd.js.map +1 -1
  134. package/bundles/primeng-message.umd.js +57 -24
  135. package/bundles/primeng-message.umd.js.map +1 -1
  136. package/bundles/primeng-messages.umd.js +101 -49
  137. package/bundles/primeng-messages.umd.js.map +1 -1
  138. package/bundles/primeng-multiselect.umd.js +251 -136
  139. package/bundles/primeng-multiselect.umd.js.map +1 -1
  140. package/bundles/primeng-orderlist.umd.js +107 -55
  141. package/bundles/primeng-orderlist.umd.js.map +1 -1
  142. package/bundles/primeng-organizationchart.umd.js +123 -69
  143. package/bundles/primeng-organizationchart.umd.js.map +1 -1
  144. package/bundles/primeng-overlaypanel.umd.js +112 -58
  145. package/bundles/primeng-overlaypanel.umd.js.map +1 -1
  146. package/bundles/primeng-paginator.umd.js +90 -42
  147. package/bundles/primeng-paginator.umd.js.map +1 -1
  148. package/bundles/primeng-panel.umd.js +116 -57
  149. package/bundles/primeng-panel.umd.js.map +1 -1
  150. package/bundles/primeng-panelmenu.umd.js +126 -69
  151. package/bundles/primeng-panelmenu.umd.js.map +1 -1
  152. package/bundles/primeng-password.umd.js +158 -89
  153. package/bundles/primeng-password.umd.js.map +1 -1
  154. package/bundles/primeng-picklist.umd.js +159 -85
  155. package/bundles/primeng-picklist.umd.js.map +1 -1
  156. package/bundles/primeng-progressbar.umd.js +59 -25
  157. package/bundles/primeng-progressbar.umd.js.map +1 -1
  158. package/bundles/primeng-progressspinner.umd.js +57 -24
  159. package/bundles/primeng-progressspinner.umd.js.map +1 -1
  160. package/bundles/primeng-radiobutton.umd.js +87 -45
  161. package/bundles/primeng-radiobutton.umd.js.map +1 -1
  162. package/bundles/primeng-rating.umd.js +75 -38
  163. package/bundles/primeng-rating.umd.js.map +1 -1
  164. package/bundles/primeng-ripple.umd.js +50 -21
  165. package/bundles/primeng-ripple.umd.js.map +1 -1
  166. package/bundles/primeng-scrollpanel.umd.js +66 -31
  167. package/bundles/primeng-scrollpanel.umd.js.map +1 -1
  168. package/bundles/primeng-scrolltop.umd.js +86 -43
  169. package/bundles/primeng-scrolltop.umd.js.map +1 -1
  170. package/bundles/primeng-selectbutton.umd.js +82 -41
  171. package/bundles/primeng-selectbutton.umd.js.map +1 -1
  172. package/bundles/primeng-sidebar.umd.js +110 -57
  173. package/bundles/primeng-sidebar.umd.js.map +1 -1
  174. package/bundles/primeng-skeleton.umd.js +63 -27
  175. package/bundles/primeng-skeleton.umd.js.map +1 -1
  176. package/bundles/primeng-slidemenu.umd.js +140 -74
  177. package/bundles/primeng-slidemenu.umd.js.map +1 -1
  178. package/bundles/primeng-slider.umd.js +86 -45
  179. package/bundles/primeng-slider.umd.js.map +1 -1
  180. package/bundles/primeng-spinner.umd.js +103 -55
  181. package/bundles/primeng-spinner.umd.js.map +1 -1
  182. package/bundles/primeng-splitbutton.umd.js +92 -40
  183. package/bundles/primeng-splitbutton.umd.js.map +1 -1
  184. package/bundles/primeng-splitter.umd.js +91 -48
  185. package/bundles/primeng-splitter.umd.js.map +1 -1
  186. package/bundles/primeng-steps.umd.js +64 -32
  187. package/bundles/primeng-steps.umd.js.map +1 -1
  188. package/bundles/primeng-styleclass.umd.js +61 -28
  189. package/bundles/primeng-styleclass.umd.js.map +1 -1
  190. package/bundles/primeng-table.umd.js +915 -626
  191. package/bundles/primeng-table.umd.js.map +1 -1
  192. package/bundles/primeng-tabmenu.umd.js +68 -27
  193. package/bundles/primeng-tabmenu.umd.js.map +1 -1
  194. package/bundles/primeng-tabview.umd.js +120 -64
  195. package/bundles/primeng-tabview.umd.js.map +1 -1
  196. package/bundles/primeng-tag.umd.js +59 -25
  197. package/bundles/primeng-tag.umd.js.map +1 -1
  198. package/bundles/primeng-terminal.umd.js +63 -32
  199. package/bundles/primeng-terminal.umd.js.map +1 -1
  200. package/bundles/primeng-tieredmenu.umd.js +121 -70
  201. package/bundles/primeng-tieredmenu.umd.js.map +1 -1
  202. package/bundles/primeng-timeline.umd.js +60 -28
  203. package/bundles/primeng-timeline.umd.js.map +1 -1
  204. package/bundles/primeng-toast.umd.js +165 -89
  205. package/bundles/primeng-toast.umd.js.map +1 -1
  206. package/bundles/primeng-togglebutton.umd.js +74 -36
  207. package/bundles/primeng-togglebutton.umd.js.map +1 -1
  208. package/bundles/primeng-toolbar.umd.js +54 -25
  209. package/bundles/primeng-toolbar.umd.js.map +1 -1
  210. package/bundles/primeng-tooltip.umd.js +68 -31
  211. package/bundles/primeng-tooltip.umd.js.map +1 -1
  212. package/bundles/primeng-tree.umd.js +191 -103
  213. package/bundles/primeng-tree.umd.js.map +1 -1
  214. package/bundles/primeng-treetable.umd.js +547 -394
  215. package/bundles/primeng-treetable.umd.js.map +1 -1
  216. package/bundles/primeng-tristatecheckbox.umd.js +73 -36
  217. package/bundles/primeng-tristatecheckbox.umd.js.map +1 -1
  218. package/bundles/primeng-virtualscroller.umd.js +91 -42
  219. package/bundles/primeng-virtualscroller.umd.js.map +1 -1
  220. package/button/button.d.ts +10 -0
  221. package/button/package.json +1 -2
  222. package/button/primeng-button.d.ts +1 -0
  223. package/calendar/calendar.d.ts +10 -0
  224. package/calendar/package.json +1 -2
  225. package/calendar/primeng-calendar.d.ts +1 -0
  226. package/captcha/captcha.d.ts +7 -0
  227. package/captcha/package.json +1 -2
  228. package/captcha/primeng-captcha.d.ts +1 -0
  229. package/card/card.d.ts +8 -0
  230. package/card/package.json +1 -2
  231. package/card/primeng-card.d.ts +1 -0
  232. package/carousel/carousel.d.ts +9 -0
  233. package/carousel/package.json +1 -2
  234. package/carousel/primeng-carousel.d.ts +1 -0
  235. package/cascadeselect/cascadeselect.d.ts +11 -0
  236. package/cascadeselect/package.json +1 -2
  237. package/cascadeselect/primeng-cascadeselect.d.ts +1 -0
  238. package/chart/chart.d.ts +7 -0
  239. package/chart/package.json +1 -2
  240. package/chart/primeng-chart.d.ts +1 -0
  241. package/checkbox/checkbox.d.ts +7 -0
  242. package/checkbox/package.json +1 -2
  243. package/checkbox/primeng-checkbox.d.ts +1 -0
  244. package/chip/chip.d.ts +7 -0
  245. package/chip/package.json +1 -2
  246. package/chip/primeng-chip.d.ts +1 -0
  247. package/chips/chips.d.ts +9 -0
  248. package/chips/package.json +1 -2
  249. package/chips/primeng-chips.d.ts +1 -0
  250. package/codehighlighter/codehighlighter.d.ts +7 -0
  251. package/codehighlighter/package.json +1 -2
  252. package/codehighlighter/primeng-codehighlighter.d.ts +1 -0
  253. package/colorpicker/colorpicker.d.ts +9 -2
  254. package/colorpicker/package.json +1 -2
  255. package/colorpicker/primeng-colorpicker.d.ts +1 -0
  256. package/confirmdialog/confirmdialog.d.ts +10 -0
  257. package/confirmdialog/package.json +1 -2
  258. package/confirmdialog/primeng-confirmdialog.d.ts +1 -0
  259. package/confirmpopup/confirmpopup.d.ts +8 -0
  260. package/confirmpopup/package.json +1 -2
  261. package/confirmpopup/primeng-confirmpopup.d.ts +1 -0
  262. package/contextmenu/contextmenu.d.ts +11 -0
  263. package/contextmenu/package.json +1 -2
  264. package/contextmenu/primeng-contextmenu.d.ts +1 -0
  265. package/dataview/dataview.d.ts +11 -0
  266. package/dataview/package.json +1 -2
  267. package/dataview/primeng-dataview.d.ts +1 -0
  268. package/defer/defer.d.ts +7 -0
  269. package/defer/package.json +1 -2
  270. package/defer/primeng-defer.d.ts +1 -0
  271. package/dialog/dialog.d.ts +11 -1
  272. package/dialog/package.json +1 -2
  273. package/dialog/primeng-dialog.d.ts +1 -0
  274. package/divider/divider.d.ts +7 -0
  275. package/divider/package.json +1 -2
  276. package/divider/primeng-divider.d.ts +1 -0
  277. package/dom/package.json +1 -2
  278. package/dom/primeng-dom.d.ts +1 -0
  279. package/dragdrop/dragdrop.d.ts +9 -0
  280. package/dragdrop/package.json +1 -2
  281. package/dragdrop/primeng-dragdrop.d.ts +1 -0
  282. package/dropdown/dropdown.d.ts +14 -0
  283. package/dropdown/package.json +1 -2
  284. package/dropdown/primeng-dropdown.d.ts +1 -0
  285. package/dynamicdialog/dialogservice.d.ts +3 -0
  286. package/dynamicdialog/dynamicdialog.d.ts +8 -0
  287. package/dynamicdialog/dynamicdialogcontent.d.ts +3 -0
  288. package/dynamicdialog/package.json +1 -2
  289. package/dynamicdialog/primeng-dynamicdialog.d.ts +1 -1
  290. package/editor/editor.d.ts +8 -0
  291. package/editor/package.json +1 -2
  292. package/editor/primeng-editor.d.ts +1 -0
  293. package/esm2015/accordion/accordion.js +131 -68
  294. package/esm2015/accordion/primeng-accordion.js +1 -1
  295. package/esm2015/accordion/public_api.js +1 -1
  296. package/esm2015/api/blockableui.js +1 -1
  297. package/esm2015/api/confirmaeventtype.js +1 -1
  298. package/esm2015/api/confirmation.js +1 -1
  299. package/esm2015/api/confirmationservice.js +7 -4
  300. package/esm2015/api/contextmenuservice.js +7 -4
  301. package/esm2015/api/filtermatchmode.js +1 -1
  302. package/esm2015/api/filtermetadata.js +1 -1
  303. package/esm2015/api/filteroperator.js +1 -1
  304. package/esm2015/api/filterservice.js +7 -5
  305. package/esm2015/api/lazyloadevent.js +1 -1
  306. package/esm2015/api/megamenuitem.js +1 -1
  307. package/esm2015/api/menuitem.js +1 -1
  308. package/esm2015/api/message.js +1 -1
  309. package/esm2015/api/messageservice.js +7 -4
  310. package/esm2015/api/primeicons.js +1 -1
  311. package/esm2015/api/primeng-api.js +1 -1
  312. package/esm2015/api/primengconfig.js +7 -5
  313. package/esm2015/api/public_api.js +1 -1
  314. package/esm2015/api/selectitem.js +1 -1
  315. package/esm2015/api/selectitemgroup.js +1 -1
  316. package/esm2015/api/shared.js +46 -34
  317. package/esm2015/api/sortevent.js +1 -1
  318. package/esm2015/api/sortmeta.js +1 -1
  319. package/esm2015/api/tablestate.js +1 -1
  320. package/esm2015/api/translation.js +1 -1
  321. package/esm2015/api/translationkeys.js +1 -1
  322. package/esm2015/api/treedragdropservice.js +7 -4
  323. package/esm2015/api/treenode.js +1 -1
  324. package/esm2015/api/treenodedragevent.js +1 -1
  325. package/esm2015/autocomplete/autocomplete.js +255 -106
  326. package/esm2015/autocomplete/primeng-autocomplete.js +1 -1
  327. package/esm2015/autocomplete/public_api.js +1 -1
  328. package/esm2015/avatar/avatar.js +47 -26
  329. package/esm2015/avatar/primeng-avatar.js +1 -1
  330. package/esm2015/avatar/public_api.js +1 -1
  331. package/esm2015/avatargroup/avatargroup.js +34 -21
  332. package/esm2015/avatargroup/primeng-avatargroup.js +1 -1
  333. package/esm2015/avatargroup/public_api.js +1 -1
  334. package/esm2015/badge/badge.js +56 -39
  335. package/esm2015/badge/primeng-badge.js +1 -1
  336. package/esm2015/badge/public_api.js +1 -1
  337. package/esm2015/blockui/blockui.js +48 -31
  338. package/esm2015/blockui/primeng-blockui.js +1 -1
  339. package/esm2015/blockui/public_api.js +1 -1
  340. package/esm2015/breadcrumb/breadcrumb.js +84 -24
  341. package/esm2015/breadcrumb/primeng-breadcrumb.js +1 -1
  342. package/esm2015/breadcrumb/public_api.js +1 -1
  343. package/esm2015/button/button.js +97 -49
  344. package/esm2015/button/primeng-button.js +1 -1
  345. package/esm2015/button/public_api.js +1 -1
  346. package/esm2015/calendar/calendar.js +367 -132
  347. package/esm2015/calendar/primeng-calendar.js +1 -1
  348. package/esm2015/calendar/public_api.js +1 -1
  349. package/esm2015/captcha/captcha.js +43 -33
  350. package/esm2015/captcha/primeng-captcha.js +1 -1
  351. package/esm2015/captcha/public_api.js +1 -1
  352. package/esm2015/card/card.js +69 -30
  353. package/esm2015/card/primeng-card.js +1 -1
  354. package/esm2015/card/public_api.js +1 -1
  355. package/esm2015/carousel/carousel.js +126 -48
  356. package/esm2015/carousel/primeng-carousel.js +1 -1
  357. package/esm2015/carousel/public_api.js +1 -1
  358. package/esm2015/cascadeselect/cascadeselect.js +195 -92
  359. package/esm2015/cascadeselect/primeng-cascadeselect.js +1 -1
  360. package/esm2015/cascadeselect/public_api.js +1 -1
  361. package/esm2015/chart/chart.js +45 -30
  362. package/esm2015/chart/primeng-chart.js +1 -1
  363. package/esm2015/chart/public_api.js +1 -1
  364. package/esm2015/checkbox/checkbox.js +79 -42
  365. package/esm2015/checkbox/primeng-checkbox.js +1 -1
  366. package/esm2015/checkbox/public_api.js +1 -1
  367. package/esm2015/chip/chip.js +50 -27
  368. package/esm2015/chip/primeng-chip.js +1 -1
  369. package/esm2015/chip/public_api.js +1 -1
  370. package/esm2015/chips/chips.js +92 -51
  371. package/esm2015/chips/primeng-chips.js +1 -1
  372. package/esm2015/chips/public_api.js +1 -1
  373. package/esm2015/codehighlighter/codehighlighter.js +22 -17
  374. package/esm2015/codehighlighter/primeng-codehighlighter.js +1 -1
  375. package/esm2015/codehighlighter/public_api.js +1 -1
  376. package/esm2015/colorpicker/colorpicker.js +129 -67
  377. package/esm2015/colorpicker/primeng-colorpicker.js +1 -1
  378. package/esm2015/colorpicker/public_api.js +1 -1
  379. package/esm2015/confirmdialog/confirmdialog.js +151 -74
  380. package/esm2015/confirmdialog/primeng-confirmdialog.js +1 -1
  381. package/esm2015/confirmdialog/public_api.js +1 -1
  382. package/esm2015/confirmpopup/confirmpopup.js +88 -50
  383. package/esm2015/confirmpopup/primeng-confirmpopup.js +1 -1
  384. package/esm2015/confirmpopup/public_api.js +1 -1
  385. package/esm2015/contextmenu/contextmenu.js +114 -58
  386. package/esm2015/contextmenu/primeng-contextmenu.js +1 -1
  387. package/esm2015/contextmenu/public_api.js +1 -1
  388. package/esm2015/dataview/dataview.js +164 -76
  389. package/esm2015/dataview/primeng-dataview.js +1 -1
  390. package/esm2015/dataview/public_api.js +1 -1
  391. package/esm2015/defer/defer.js +27 -24
  392. package/esm2015/defer/primeng-defer.js +1 -1
  393. package/esm2015/defer/public_api.js +1 -1
  394. package/esm2015/dialog/dialog.js +189 -83
  395. package/esm2015/dialog/primeng-dialog.js +1 -1
  396. package/esm2015/dialog/public_api.js +1 -1
  397. package/esm2015/divider/divider.js +42 -24
  398. package/esm2015/divider/primeng-divider.js +1 -1
  399. package/esm2015/divider/public_api.js +1 -1
  400. package/esm2015/dom/connectedoverlayscrollhandler.js +1 -1
  401. package/esm2015/dom/domhandler.js +1 -1
  402. package/esm2015/dom/primeng-dom.js +1 -1
  403. package/esm2015/dom/public_api.js +1 -1
  404. package/esm2015/dragdrop/dragdrop.js +73 -49
  405. package/esm2015/dragdrop/primeng-dragdrop.js +1 -1
  406. package/esm2015/dragdrop/public_api.js +1 -1
  407. package/esm2015/dropdown/dropdown.js +308 -126
  408. package/esm2015/dropdown/primeng-dropdown.js +1 -1
  409. package/esm2015/dropdown/public_api.js +1 -1
  410. package/esm2015/dynamicdialog/dialogservice.js +8 -10
  411. package/esm2015/dynamicdialog/dynamicdialog-config.js +1 -1
  412. package/esm2015/dynamicdialog/dynamicdialog-injector.js +1 -1
  413. package/esm2015/dynamicdialog/dynamicdialog-ref.js +1 -1
  414. package/esm2015/dynamicdialog/dynamicdialog.js +75 -41
  415. package/esm2015/dynamicdialog/dynamicdialogcontent.js +11 -10
  416. package/esm2015/dynamicdialog/primeng-dynamicdialog.js +1 -2
  417. package/esm2015/dynamicdialog/public_api.js +1 -1
  418. package/esm2015/editor/editor.js +107 -38
  419. package/esm2015/editor/primeng-editor.js +1 -1
  420. package/esm2015/editor/public_api.js +1 -1
  421. package/esm2015/fieldset/fieldset.js +98 -46
  422. package/esm2015/fieldset/primeng-fieldset.js +1 -1
  423. package/esm2015/fieldset/public_api.js +1 -1
  424. package/esm2015/fileupload/fileupload.js +179 -78
  425. package/esm2015/fileupload/primeng-fileupload.js +1 -1
  426. package/esm2015/fileupload/public_api.js +1 -1
  427. package/esm2015/focustrap/focustrap.js +30 -21
  428. package/esm2015/focustrap/primeng-focustrap.js +1 -1
  429. package/esm2015/focustrap/public_api.js +1 -1
  430. package/esm2015/fullcalendar/fullcalendar.js +34 -26
  431. package/esm2015/fullcalendar/primeng-fullcalendar.js +1 -1
  432. package/esm2015/fullcalendar/public_api.js +1 -1
  433. package/esm2015/galleria/galleria.js +284 -131
  434. package/esm2015/galleria/primeng-galleria.js +1 -1
  435. package/esm2015/galleria/public_api.js +1 -1
  436. package/esm2015/gmap/gmap.js +52 -38
  437. package/esm2015/gmap/primeng-gmap.js +1 -1
  438. package/esm2015/gmap/public_api.js +1 -1
  439. package/esm2015/inplace/inplace.js +80 -45
  440. package/esm2015/inplace/primeng-inplace.js +1 -1
  441. package/esm2015/inplace/public_api.js +1 -1
  442. package/esm2015/inputmask/inputmask.js +92 -56
  443. package/esm2015/inputmask/primeng-inputmask.js +1 -1
  444. package/esm2015/inputmask/public_api.js +1 -1
  445. package/esm2015/inputnumber/inputnumber.js +137 -70
  446. package/esm2015/inputnumber/primeng-inputnumber.js +1 -1
  447. package/esm2015/inputnumber/public_api.js +1 -1
  448. package/esm2015/inputswitch/inputswitch.js +55 -33
  449. package/esm2015/inputswitch/primeng-inputswitch.js +1 -1
  450. package/esm2015/inputswitch/public_api.js +1 -1
  451. package/esm2015/inputtext/inputtext.js +33 -27
  452. package/esm2015/inputtext/primeng-inputtext.js +1 -1
  453. package/esm2015/inputtext/public_api.js +1 -1
  454. package/esm2015/inputtextarea/inputtextarea.js +47 -35
  455. package/esm2015/inputtextarea/primeng-inputtextarea.js +1 -1
  456. package/esm2015/inputtextarea/public_api.js +1 -1
  457. package/esm2015/keyfilter/keyfilter.js +39 -26
  458. package/esm2015/keyfilter/primeng-keyfilter.js +1 -1
  459. package/esm2015/keyfilter/public_api.js +1 -1
  460. package/esm2015/knob/knob.js +71 -42
  461. package/esm2015/knob/primeng-knob.js +1 -1
  462. package/esm2015/knob/public_api.js +1 -1
  463. package/esm2015/lightbox/lightbox.js +78 -35
  464. package/esm2015/lightbox/primeng-lightbox.js +1 -1
  465. package/esm2015/lightbox/public_api.js +1 -1
  466. package/esm2015/listbox/listbox.js +167 -61
  467. package/esm2015/listbox/primeng-listbox.js +1 -1
  468. package/esm2015/listbox/public_api.js +1 -1
  469. package/esm2015/megamenu/megamenu.js +118 -32
  470. package/esm2015/megamenu/primeng-megamenu.js +1 -1
  471. package/esm2015/megamenu/public_api.js +1 -1
  472. package/esm2015/menu/menu.js +127 -60
  473. package/esm2015/menu/primeng-menu.js +1 -1
  474. package/esm2015/menu/public_api.js +1 -1
  475. package/esm2015/menubar/menubar.js +121 -56
  476. package/esm2015/menubar/primeng-menubar.js +1 -1
  477. package/esm2015/menubar/public_api.js +1 -1
  478. package/esm2015/message/message.js +51 -24
  479. package/esm2015/message/primeng-message.js +1 -1
  480. package/esm2015/message/public_api.js +1 -1
  481. package/esm2015/messages/messages.js +109 -48
  482. package/esm2015/messages/primeng-messages.js +1 -1
  483. package/esm2015/messages/public_api.js +1 -1
  484. package/esm2015/multiselect/multiselect.js +332 -125
  485. package/esm2015/multiselect/primeng-multiselect.js +1 -1
  486. package/esm2015/multiselect/public_api.js +1 -1
  487. package/esm2015/orderlist/orderlist.js +119 -49
  488. package/esm2015/orderlist/primeng-orderlist.js +1 -1
  489. package/esm2015/orderlist/public_api.js +1 -1
  490. package/esm2015/organizationchart/organizationchart.js +139 -64
  491. package/esm2015/organizationchart/primeng-organizationchart.js +1 -1
  492. package/esm2015/organizationchart/public_api.js +1 -1
  493. package/esm2015/overlaypanel/overlaypanel.js +102 -57
  494. package/esm2015/overlaypanel/primeng-overlaypanel.js +1 -1
  495. package/esm2015/overlaypanel/public_api.js +1 -1
  496. package/esm2015/paginator/paginator.js +112 -42
  497. package/esm2015/paginator/primeng-paginator.js +1 -1
  498. package/esm2015/paginator/public_api.js +1 -1
  499. package/esm2015/panel/panel.js +120 -55
  500. package/esm2015/panel/primeng-panel.js +1 -1
  501. package/esm2015/panel/public_api.js +1 -1
  502. package/esm2015/panelmenu/panelmenu.js +161 -70
  503. package/esm2015/panelmenu/primeng-panelmenu.js +1 -1
  504. package/esm2015/panelmenu/public_api.js +1 -1
  505. package/esm2015/password/password.js +156 -88
  506. package/esm2015/password/primeng-password.js +1 -1
  507. package/esm2015/password/public_api.js +1 -1
  508. package/esm2015/picklist/picklist.js +215 -80
  509. package/esm2015/picklist/primeng-picklist.js +1 -1
  510. package/esm2015/picklist/public_api.js +1 -1
  511. package/esm2015/primeng.js +1 -1
  512. package/esm2015/progressbar/primeng-progressbar.js +1 -1
  513. package/esm2015/progressbar/progressbar.js +47 -25
  514. package/esm2015/progressbar/public_api.js +1 -1
  515. package/esm2015/progressspinner/primeng-progressspinner.js +1 -1
  516. package/esm2015/progressspinner/progressspinner.js +42 -24
  517. package/esm2015/progressspinner/public_api.js +1 -1
  518. package/esm2015/public_api.js +1 -1
  519. package/esm2015/radiobutton/primeng-radiobutton.js +1 -1
  520. package/esm2015/radiobutton/public_api.js +1 -1
  521. package/esm2015/radiobutton/radiobutton.js +79 -46
  522. package/esm2015/rating/primeng-rating.js +1 -1
  523. package/esm2015/rating/public_api.js +1 -1
  524. package/esm2015/rating/rating.js +59 -36
  525. package/esm2015/ripple/primeng-ripple.js +1 -1
  526. package/esm2015/ripple/public_api.js +1 -1
  527. package/esm2015/ripple/ripple.js +28 -23
  528. package/esm2015/scrollpanel/primeng-scrollpanel.js +1 -1
  529. package/esm2015/scrollpanel/public_api.js +1 -1
  530. package/esm2015/scrollpanel/scrollpanel.js +57 -32
  531. package/esm2015/scrolltop/primeng-scrolltop.js +1 -1
  532. package/esm2015/scrolltop/public_api.js +1 -1
  533. package/esm2015/scrolltop/scrolltop.js +71 -44
  534. package/esm2015/selectbutton/primeng-selectbutton.js +1 -1
  535. package/esm2015/selectbutton/public_api.js +1 -1
  536. package/esm2015/selectbutton/selectbutton.js +75 -38
  537. package/esm2015/sidebar/primeng-sidebar.js +1 -1
  538. package/esm2015/sidebar/public_api.js +1 -1
  539. package/esm2015/sidebar/sidebar.js +103 -56
  540. package/esm2015/skeleton/primeng-skeleton.js +1 -1
  541. package/esm2015/skeleton/public_api.js +1 -1
  542. package/esm2015/skeleton/skeleton.js +45 -27
  543. package/esm2015/slidemenu/primeng-slidemenu.js +1 -1
  544. package/esm2015/slidemenu/public_api.js +1 -1
  545. package/esm2015/slidemenu/slidemenu.js +158 -73
  546. package/esm2015/slider/primeng-slider.js +1 -1
  547. package/esm2015/slider/public_api.js +1 -1
  548. package/esm2015/slider/slider.js +81 -43
  549. package/esm2015/spinner/primeng-spinner.js +1 -1
  550. package/esm2015/spinner/public_api.js +1 -1
  551. package/esm2015/spinner/spinner.js +94 -52
  552. package/esm2015/splitbutton/primeng-splitbutton.js +1 -1
  553. package/esm2015/splitbutton/public_api.js +1 -1
  554. package/esm2015/splitbutton/splitbutton.js +76 -38
  555. package/esm2015/splitter/primeng-splitter.js +1 -1
  556. package/esm2015/splitter/public_api.js +1 -1
  557. package/esm2015/splitter/splitter.js +81 -47
  558. package/esm2015/steps/primeng-steps.js +1 -1
  559. package/esm2015/steps/public_api.js +1 -1
  560. package/esm2015/steps/steps.js +69 -35
  561. package/esm2015/styleclass/primeng-styleclass.js +1 -1
  562. package/esm2015/styleclass/public_api.js +1 -1
  563. package/esm2015/styleclass/styleclass.js +41 -29
  564. package/esm2015/table/primeng-table.js +1 -1
  565. package/esm2015/table/public_api.js +1 -1
  566. package/esm2015/table/table.js +1081 -584
  567. package/esm2015/tabmenu/primeng-tabmenu.js +1 -1
  568. package/esm2015/tabmenu/public_api.js +1 -1
  569. package/esm2015/tabmenu/tabmenu.js +76 -27
  570. package/esm2015/tabview/primeng-tabview.js +1 -1
  571. package/esm2015/tabview/public_api.js +1 -1
  572. package/esm2015/tabview/tabview.js +127 -62
  573. package/esm2015/tag/primeng-tag.js +1 -1
  574. package/esm2015/tag/public_api.js +1 -1
  575. package/esm2015/tag/tag.js +44 -25
  576. package/esm2015/terminal/primeng-terminal.js +1 -1
  577. package/esm2015/terminal/public_api.js +1 -1
  578. package/esm2015/terminal/terminal.js +54 -31
  579. package/esm2015/terminal/terminalservice.js +7 -4
  580. package/esm2015/tieredmenu/primeng-tieredmenu.js +1 -1
  581. package/esm2015/tieredmenu/public_api.js +1 -1
  582. package/esm2015/tieredmenu/tieredmenu.js +133 -69
  583. package/esm2015/timeline/primeng-timeline.js +1 -1
  584. package/esm2015/timeline/public_api.js +1 -1
  585. package/esm2015/timeline/timeline.js +67 -29
  586. package/esm2015/toast/primeng-toast.js +1 -1
  587. package/esm2015/toast/public_api.js +1 -1
  588. package/esm2015/toast/toast.js +166 -87
  589. package/esm2015/togglebutton/primeng-togglebutton.js +1 -1
  590. package/esm2015/togglebutton/public_api.js +1 -1
  591. package/esm2015/togglebutton/togglebutton.js +60 -35
  592. package/esm2015/toolbar/primeng-toolbar.js +1 -1
  593. package/esm2015/toolbar/public_api.js +1 -1
  594. package/esm2015/toolbar/toolbar.js +44 -26
  595. package/esm2015/tooltip/primeng-tooltip.js +1 -1
  596. package/esm2015/tooltip/public_api.js +1 -1
  597. package/esm2015/tooltip/tooltip.js +48 -32
  598. package/esm2015/tree/primeng-tree.js +1 -1
  599. package/esm2015/tree/public_api.js +1 -1
  600. package/esm2015/tree/tree.js +278 -91
  601. package/esm2015/treetable/primeng-treetable.js +1 -1
  602. package/esm2015/treetable/public_api.js +1 -1
  603. package/esm2015/treetable/treetable.js +650 -374
  604. package/esm2015/tristatecheckbox/primeng-tristatecheckbox.js +1 -1
  605. package/esm2015/tristatecheckbox/public_api.js +1 -1
  606. package/esm2015/tristatecheckbox/tristatecheckbox.js +64 -35
  607. package/esm2015/utils/objectutils.js +1 -1
  608. package/esm2015/utils/primeng-utils.js +1 -1
  609. package/esm2015/utils/public_api.js +1 -1
  610. package/esm2015/utils/uniquecomponentid.js +1 -1
  611. package/esm2015/virtualscroller/primeng-virtualscroller.js +1 -1
  612. package/esm2015/virtualscroller/public_api.js +1 -1
  613. package/esm2015/virtualscroller/virtualscroller.js +92 -42
  614. package/fesm2015/primeng-accordion.js +130 -67
  615. package/fesm2015/primeng-accordion.js.map +1 -1
  616. package/fesm2015/primeng-api.js +77 -53
  617. package/fesm2015/primeng-api.js.map +1 -1
  618. package/fesm2015/primeng-autocomplete.js +254 -105
  619. package/fesm2015/primeng-autocomplete.js.map +1 -1
  620. package/fesm2015/primeng-avatar.js +46 -25
  621. package/fesm2015/primeng-avatar.js.map +1 -1
  622. package/fesm2015/primeng-avatargroup.js +33 -20
  623. package/fesm2015/primeng-avatargroup.js.map +1 -1
  624. package/fesm2015/primeng-badge.js +55 -38
  625. package/fesm2015/primeng-badge.js.map +1 -1
  626. package/fesm2015/primeng-blockui.js +47 -30
  627. package/fesm2015/primeng-blockui.js.map +1 -1
  628. package/fesm2015/primeng-breadcrumb.js +83 -23
  629. package/fesm2015/primeng-breadcrumb.js.map +1 -1
  630. package/fesm2015/primeng-button.js +96 -48
  631. package/fesm2015/primeng-button.js.map +1 -1
  632. package/fesm2015/primeng-calendar.js +366 -131
  633. package/fesm2015/primeng-calendar.js.map +1 -1
  634. package/fesm2015/primeng-captcha.js +42 -32
  635. package/fesm2015/primeng-captcha.js.map +1 -1
  636. package/fesm2015/primeng-card.js +68 -29
  637. package/fesm2015/primeng-card.js.map +1 -1
  638. package/fesm2015/primeng-carousel.js +125 -47
  639. package/fesm2015/primeng-carousel.js.map +1 -1
  640. package/fesm2015/primeng-cascadeselect.js +194 -91
  641. package/fesm2015/primeng-cascadeselect.js.map +1 -1
  642. package/fesm2015/primeng-chart.js +44 -29
  643. package/fesm2015/primeng-chart.js.map +1 -1
  644. package/fesm2015/primeng-checkbox.js +78 -41
  645. package/fesm2015/primeng-checkbox.js.map +1 -1
  646. package/fesm2015/primeng-chip.js +49 -26
  647. package/fesm2015/primeng-chip.js.map +1 -1
  648. package/fesm2015/primeng-chips.js +91 -50
  649. package/fesm2015/primeng-chips.js.map +1 -1
  650. package/fesm2015/primeng-codehighlighter.js +21 -16
  651. package/fesm2015/primeng-codehighlighter.js.map +1 -1
  652. package/fesm2015/primeng-colorpicker.js +128 -66
  653. package/fesm2015/primeng-colorpicker.js.map +1 -1
  654. package/fesm2015/primeng-confirmdialog.js +150 -72
  655. package/fesm2015/primeng-confirmdialog.js.map +1 -1
  656. package/fesm2015/primeng-confirmpopup.js +87 -49
  657. package/fesm2015/primeng-confirmpopup.js.map +1 -1
  658. package/fesm2015/primeng-contextmenu.js +113 -57
  659. package/fesm2015/primeng-contextmenu.js.map +1 -1
  660. package/fesm2015/primeng-dataview.js +163 -75
  661. package/fesm2015/primeng-dataview.js.map +1 -1
  662. package/fesm2015/primeng-defer.js +26 -23
  663. package/fesm2015/primeng-defer.js.map +1 -1
  664. package/fesm2015/primeng-dialog.js +188 -82
  665. package/fesm2015/primeng-dialog.js.map +1 -1
  666. package/fesm2015/primeng-divider.js +41 -23
  667. package/fesm2015/primeng-divider.js.map +1 -1
  668. package/fesm2015/primeng-dragdrop.js +72 -48
  669. package/fesm2015/primeng-dragdrop.js.map +1 -1
  670. package/fesm2015/primeng-dropdown.js +306 -124
  671. package/fesm2015/primeng-dropdown.js.map +1 -1
  672. package/fesm2015/primeng-dynamicdialog.js +86 -55
  673. package/fesm2015/primeng-dynamicdialog.js.map +1 -1
  674. package/fesm2015/primeng-editor.js +106 -37
  675. package/fesm2015/primeng-editor.js.map +1 -1
  676. package/fesm2015/primeng-fieldset.js +97 -45
  677. package/fesm2015/primeng-fieldset.js.map +1 -1
  678. package/fesm2015/primeng-fileupload.js +178 -77
  679. package/fesm2015/primeng-fileupload.js.map +1 -1
  680. package/fesm2015/primeng-focustrap.js +29 -20
  681. package/fesm2015/primeng-focustrap.js.map +1 -1
  682. package/fesm2015/primeng-fullcalendar.js +33 -25
  683. package/fesm2015/primeng-fullcalendar.js.map +1 -1
  684. package/fesm2015/primeng-galleria.js +283 -130
  685. package/fesm2015/primeng-galleria.js.map +1 -1
  686. package/fesm2015/primeng-gmap.js +51 -37
  687. package/fesm2015/primeng-gmap.js.map +1 -1
  688. package/fesm2015/primeng-inplace.js +79 -44
  689. package/fesm2015/primeng-inplace.js.map +1 -1
  690. package/fesm2015/primeng-inputmask.js +91 -55
  691. package/fesm2015/primeng-inputmask.js.map +1 -1
  692. package/fesm2015/primeng-inputnumber.js +136 -69
  693. package/fesm2015/primeng-inputnumber.js.map +1 -1
  694. package/fesm2015/primeng-inputswitch.js +54 -32
  695. package/fesm2015/primeng-inputswitch.js.map +1 -1
  696. package/fesm2015/primeng-inputtext.js +32 -26
  697. package/fesm2015/primeng-inputtext.js.map +1 -1
  698. package/fesm2015/primeng-inputtextarea.js +46 -34
  699. package/fesm2015/primeng-inputtextarea.js.map +1 -1
  700. package/fesm2015/primeng-keyfilter.js +38 -25
  701. package/fesm2015/primeng-keyfilter.js.map +1 -1
  702. package/fesm2015/primeng-knob.js +70 -41
  703. package/fesm2015/primeng-knob.js.map +1 -1
  704. package/fesm2015/primeng-lightbox.js +77 -34
  705. package/fesm2015/primeng-lightbox.js.map +1 -1
  706. package/fesm2015/primeng-listbox.js +166 -60
  707. package/fesm2015/primeng-listbox.js.map +1 -1
  708. package/fesm2015/primeng-megamenu.js +117 -31
  709. package/fesm2015/primeng-megamenu.js.map +1 -1
  710. package/fesm2015/primeng-menu.js +126 -59
  711. package/fesm2015/primeng-menu.js.map +1 -1
  712. package/fesm2015/primeng-menubar.js +120 -55
  713. package/fesm2015/primeng-menubar.js.map +1 -1
  714. package/fesm2015/primeng-message.js +50 -23
  715. package/fesm2015/primeng-message.js.map +1 -1
  716. package/fesm2015/primeng-messages.js +108 -47
  717. package/fesm2015/primeng-messages.js.map +1 -1
  718. package/fesm2015/primeng-multiselect.js +331 -124
  719. package/fesm2015/primeng-multiselect.js.map +1 -1
  720. package/fesm2015/primeng-orderlist.js +118 -48
  721. package/fesm2015/primeng-orderlist.js.map +1 -1
  722. package/fesm2015/primeng-organizationchart.js +138 -63
  723. package/fesm2015/primeng-organizationchart.js.map +1 -1
  724. package/fesm2015/primeng-overlaypanel.js +101 -56
  725. package/fesm2015/primeng-overlaypanel.js.map +1 -1
  726. package/fesm2015/primeng-paginator.js +111 -41
  727. package/fesm2015/primeng-paginator.js.map +1 -1
  728. package/fesm2015/primeng-panel.js +119 -54
  729. package/fesm2015/primeng-panel.js.map +1 -1
  730. package/fesm2015/primeng-panelmenu.js +160 -69
  731. package/fesm2015/primeng-panelmenu.js.map +1 -1
  732. package/fesm2015/primeng-password.js +155 -87
  733. package/fesm2015/primeng-password.js.map +1 -1
  734. package/fesm2015/primeng-picklist.js +214 -79
  735. package/fesm2015/primeng-picklist.js.map +1 -1
  736. package/fesm2015/primeng-progressbar.js +46 -24
  737. package/fesm2015/primeng-progressbar.js.map +1 -1
  738. package/fesm2015/primeng-progressspinner.js +41 -23
  739. package/fesm2015/primeng-progressspinner.js.map +1 -1
  740. package/fesm2015/primeng-radiobutton.js +79 -45
  741. package/fesm2015/primeng-radiobutton.js.map +1 -1
  742. package/fesm2015/primeng-rating.js +58 -35
  743. package/fesm2015/primeng-rating.js.map +1 -1
  744. package/fesm2015/primeng-ripple.js +27 -22
  745. package/fesm2015/primeng-ripple.js.map +1 -1
  746. package/fesm2015/primeng-scrollpanel.js +56 -31
  747. package/fesm2015/primeng-scrollpanel.js.map +1 -1
  748. package/fesm2015/primeng-scrolltop.js +70 -43
  749. package/fesm2015/primeng-scrolltop.js.map +1 -1
  750. package/fesm2015/primeng-selectbutton.js +74 -37
  751. package/fesm2015/primeng-selectbutton.js.map +1 -1
  752. package/fesm2015/primeng-sidebar.js +102 -55
  753. package/fesm2015/primeng-sidebar.js.map +1 -1
  754. package/fesm2015/primeng-skeleton.js +44 -26
  755. package/fesm2015/primeng-skeleton.js.map +1 -1
  756. package/fesm2015/primeng-slidemenu.js +157 -72
  757. package/fesm2015/primeng-slidemenu.js.map +1 -1
  758. package/fesm2015/primeng-slider.js +80 -42
  759. package/fesm2015/primeng-slider.js.map +1 -1
  760. package/fesm2015/primeng-spinner.js +93 -51
  761. package/fesm2015/primeng-spinner.js.map +1 -1
  762. package/fesm2015/primeng-splitbutton.js +75 -37
  763. package/fesm2015/primeng-splitbutton.js.map +1 -1
  764. package/fesm2015/primeng-splitter.js +80 -46
  765. package/fesm2015/primeng-splitter.js.map +1 -1
  766. package/fesm2015/primeng-steps.js +68 -34
  767. package/fesm2015/primeng-steps.js.map +1 -1
  768. package/fesm2015/primeng-styleclass.js +40 -28
  769. package/fesm2015/primeng-styleclass.js.map +1 -1
  770. package/fesm2015/primeng-table.js +1080 -583
  771. package/fesm2015/primeng-table.js.map +1 -1
  772. package/fesm2015/primeng-tabmenu.js +75 -26
  773. package/fesm2015/primeng-tabmenu.js.map +1 -1
  774. package/fesm2015/primeng-tabview.js +126 -61
  775. package/fesm2015/primeng-tabview.js.map +1 -1
  776. package/fesm2015/primeng-tag.js +43 -24
  777. package/fesm2015/primeng-tag.js.map +1 -1
  778. package/fesm2015/primeng-terminal.js +57 -32
  779. package/fesm2015/primeng-terminal.js.map +1 -1
  780. package/fesm2015/primeng-tieredmenu.js +132 -68
  781. package/fesm2015/primeng-tieredmenu.js.map +1 -1
  782. package/fesm2015/primeng-timeline.js +66 -28
  783. package/fesm2015/primeng-timeline.js.map +1 -1
  784. package/fesm2015/primeng-toast.js +166 -86
  785. package/fesm2015/primeng-toast.js.map +1 -1
  786. package/fesm2015/primeng-togglebutton.js +59 -34
  787. package/fesm2015/primeng-togglebutton.js.map +1 -1
  788. package/fesm2015/primeng-toolbar.js +43 -25
  789. package/fesm2015/primeng-toolbar.js.map +1 -1
  790. package/fesm2015/primeng-tooltip.js +47 -31
  791. package/fesm2015/primeng-tooltip.js.map +1 -1
  792. package/fesm2015/primeng-tree.js +277 -89
  793. package/fesm2015/primeng-tree.js.map +1 -1
  794. package/fesm2015/primeng-treetable.js +649 -373
  795. package/fesm2015/primeng-treetable.js.map +1 -1
  796. package/fesm2015/primeng-tristatecheckbox.js +63 -34
  797. package/fesm2015/primeng-tristatecheckbox.js.map +1 -1
  798. package/fesm2015/primeng-virtualscroller.js +91 -41
  799. package/fesm2015/primeng-virtualscroller.js.map +1 -1
  800. package/fieldset/fieldset.d.ts +9 -0
  801. package/fieldset/package.json +1 -2
  802. package/fieldset/primeng-fieldset.d.ts +1 -0
  803. package/fileupload/fileupload.d.ts +12 -0
  804. package/fileupload/package.json +1 -2
  805. package/fileupload/primeng-fileupload.d.ts +1 -0
  806. package/focustrap/focustrap.d.ts +7 -0
  807. package/focustrap/package.json +1 -2
  808. package/focustrap/primeng-focustrap.d.ts +1 -0
  809. package/fullcalendar/fullcalendar.d.ts +7 -0
  810. package/fullcalendar/package.json +1 -2
  811. package/fullcalendar/primeng-fullcalendar.d.ts +1 -0
  812. package/galleria/galleria.d.ts +17 -0
  813. package/galleria/package.json +1 -2
  814. package/galleria/primeng-galleria.d.ts +1 -0
  815. package/gmap/gmap.d.ts +7 -0
  816. package/gmap/package.json +1 -2
  817. package/gmap/primeng-gmap.d.ts +1 -0
  818. package/inplace/inplace.d.ts +12 -0
  819. package/inplace/package.json +1 -2
  820. package/inplace/primeng-inplace.d.ts +1 -0
  821. package/inputmask/inputmask.d.ts +8 -0
  822. package/inputmask/package.json +1 -2
  823. package/inputmask/primeng-inputmask.d.ts +1 -0
  824. package/inputnumber/inputnumber.d.ts +9 -0
  825. package/inputnumber/package.json +1 -2
  826. package/inputnumber/primeng-inputnumber.d.ts +1 -0
  827. package/inputswitch/inputswitch.d.ts +7 -0
  828. package/inputswitch/package.json +1 -2
  829. package/inputswitch/primeng-inputswitch.d.ts +1 -0
  830. package/inputtext/inputtext.d.ts +7 -0
  831. package/inputtext/package.json +1 -2
  832. package/inputtext/primeng-inputtext.d.ts +1 -0
  833. package/inputtextarea/inputtextarea.d.ts +7 -0
  834. package/inputtextarea/package.json +1 -2
  835. package/inputtextarea/primeng-inputtextarea.d.ts +1 -0
  836. package/keyfilter/keyfilter.d.ts +7 -0
  837. package/keyfilter/package.json +1 -2
  838. package/keyfilter/primeng-keyfilter.d.ts +1 -0
  839. package/knob/knob.d.ts +7 -0
  840. package/knob/package.json +1 -2
  841. package/knob/primeng-knob.d.ts +1 -0
  842. package/lightbox/lightbox.d.ts +7 -0
  843. package/lightbox/package.json +1 -2
  844. package/lightbox/primeng-lightbox.d.ts +1 -0
  845. package/listbox/listbox.d.ts +9 -0
  846. package/listbox/package.json +1 -2
  847. package/listbox/primeng-listbox.d.ts +1 -0
  848. package/megamenu/megamenu.d.ts +9 -0
  849. package/megamenu/package.json +1 -2
  850. package/megamenu/primeng-megamenu.d.ts +1 -0
  851. package/menu/menu.d.ts +11 -0
  852. package/menu/package.json +1 -2
  853. package/menu/primeng-menu.d.ts +1 -0
  854. package/menubar/menubar.d.ts +11 -0
  855. package/menubar/package.json +1 -2
  856. package/menubar/primeng-menubar.d.ts +1 -0
  857. package/message/message.d.ts +7 -0
  858. package/message/package.json +1 -2
  859. package/message/primeng-message.d.ts +1 -0
  860. package/messages/messages.d.ts +8 -0
  861. package/messages/package.json +1 -2
  862. package/messages/primeng-messages.d.ts +1 -0
  863. package/multiselect/multiselect.d.ts +13 -0
  864. package/multiselect/package.json +1 -2
  865. package/multiselect/primeng-multiselect.d.ts +1 -0
  866. package/orderlist/orderlist.d.ts +11 -0
  867. package/orderlist/package.json +1 -2
  868. package/orderlist/primeng-orderlist.d.ts +1 -0
  869. package/organizationchart/organizationchart.d.ts +10 -0
  870. package/organizationchart/package.json +1 -2
  871. package/organizationchart/primeng-organizationchart.d.ts +1 -0
  872. package/overlaypanel/overlaypanel.d.ts +9 -0
  873. package/overlaypanel/package.json +1 -2
  874. package/overlaypanel/primeng-overlaypanel.d.ts +1 -0
  875. package/package.json +6 -7
  876. package/paginator/package.json +1 -2
  877. package/paginator/paginator.d.ts +11 -0
  878. package/paginator/primeng-paginator.d.ts +1 -0
  879. package/panel/package.json +1 -2
  880. package/panel/panel.d.ts +9 -0
  881. package/panel/primeng-panel.d.ts +1 -0
  882. package/panelmenu/package.json +1 -2
  883. package/panelmenu/panelmenu.d.ts +10 -0
  884. package/panelmenu/primeng-panelmenu.d.ts +1 -0
  885. package/password/package.json +1 -2
  886. package/password/password.d.ts +11 -0
  887. package/password/primeng-password.d.ts +1 -0
  888. package/picklist/package.json +1 -2
  889. package/picklist/picklist.d.ts +11 -0
  890. package/picklist/primeng-picklist.d.ts +1 -0
  891. package/primeng.d.ts +1 -0
  892. package/progressbar/package.json +1 -2
  893. package/progressbar/primeng-progressbar.d.ts +1 -0
  894. package/progressbar/progressbar.d.ts +7 -0
  895. package/progressspinner/package.json +1 -2
  896. package/progressspinner/primeng-progressspinner.d.ts +1 -0
  897. package/progressspinner/progressspinner.d.ts +7 -0
  898. package/radiobutton/package.json +1 -2
  899. package/radiobutton/primeng-radiobutton.d.ts +1 -0
  900. package/radiobutton/radiobutton.d.ts +9 -0
  901. package/rating/package.json +1 -2
  902. package/rating/primeng-rating.d.ts +1 -0
  903. package/rating/rating.d.ts +7 -0
  904. package/resources/components/breadcrumb/breadcrumb.css +2 -1
  905. package/resources/components/fileupload/fileupload.css +5 -1
  906. package/resources/components/tabmenu/tabmenu.css +1 -1
  907. package/ripple/package.json +1 -2
  908. package/ripple/primeng-ripple.d.ts +1 -0
  909. package/ripple/ripple.d.ts +7 -0
  910. package/scrollpanel/package.json +1 -2
  911. package/scrollpanel/primeng-scrollpanel.d.ts +1 -0
  912. package/scrollpanel/scrollpanel.d.ts +7 -0
  913. package/scrolltop/package.json +1 -2
  914. package/scrolltop/primeng-scrolltop.d.ts +1 -0
  915. package/scrolltop/scrolltop.d.ts +7 -0
  916. package/selectbutton/package.json +1 -2
  917. package/selectbutton/primeng-selectbutton.d.ts +1 -0
  918. package/selectbutton/selectbutton.d.ts +8 -0
  919. package/sidebar/package.json +1 -2
  920. package/sidebar/primeng-sidebar.d.ts +1 -0
  921. package/sidebar/sidebar.d.ts +8 -0
  922. package/skeleton/package.json +1 -2
  923. package/skeleton/primeng-skeleton.d.ts +1 -0
  924. package/skeleton/skeleton.d.ts +7 -0
  925. package/slidemenu/package.json +1 -2
  926. package/slidemenu/primeng-slidemenu.d.ts +1 -0
  927. package/slidemenu/slidemenu.d.ts +10 -0
  928. package/slider/package.json +1 -2
  929. package/slider/primeng-slider.d.ts +1 -0
  930. package/slider/slider.d.ts +7 -0
  931. package/spinner/package.json +1 -2
  932. package/spinner/primeng-spinner.d.ts +1 -0
  933. package/spinner/spinner.d.ts +8 -0
  934. package/splitbutton/package.json +1 -2
  935. package/splitbutton/primeng-splitbutton.d.ts +1 -0
  936. package/splitbutton/splitbutton.d.ts +9 -0
  937. package/splitter/package.json +1 -2
  938. package/splitter/primeng-splitter.d.ts +1 -0
  939. package/splitter/splitter.d.ts +10 -1
  940. package/steps/package.json +1 -2
  941. package/steps/primeng-steps.d.ts +1 -0
  942. package/steps/steps.d.ts +8 -0
  943. package/styleclass/package.json +1 -2
  944. package/styleclass/primeng-styleclass.d.ts +1 -0
  945. package/styleclass/styleclass.d.ts +7 -0
  946. package/table/package.json +1 -2
  947. package/table/primeng-table.d.ts +1 -0
  948. package/table/table.d.ts +66 -0
  949. package/tabmenu/package.json +1 -2
  950. package/tabmenu/primeng-tabmenu.d.ts +1 -0
  951. package/tabmenu/tabmenu.d.ts +10 -0
  952. package/tabview/package.json +1 -2
  953. package/tabview/primeng-tabview.d.ts +1 -0
  954. package/tabview/tabview.d.ts +12 -0
  955. package/tag/package.json +1 -2
  956. package/tag/primeng-tag.d.ts +1 -0
  957. package/tag/tag.d.ts +7 -0
  958. package/terminal/package.json +1 -2
  959. package/terminal/primeng-terminal.d.ts +1 -0
  960. package/terminal/terminal.d.ts +8 -0
  961. package/terminal/terminalservice.d.ts +3 -0
  962. package/tieredmenu/package.json +1 -2
  963. package/tieredmenu/primeng-tieredmenu.d.ts +1 -0
  964. package/tieredmenu/tieredmenu.d.ts +11 -0
  965. package/timeline/package.json +1 -2
  966. package/timeline/primeng-timeline.d.ts +1 -0
  967. package/timeline/timeline.d.ts +8 -0
  968. package/toast/package.json +1 -2
  969. package/toast/primeng-toast.d.ts +1 -0
  970. package/toast/toast.d.ts +11 -0
  971. package/togglebutton/package.json +1 -2
  972. package/togglebutton/primeng-togglebutton.d.ts +1 -0
  973. package/togglebutton/togglebutton.d.ts +8 -0
  974. package/toolbar/package.json +1 -2
  975. package/toolbar/primeng-toolbar.d.ts +1 -0
  976. package/toolbar/toolbar.d.ts +7 -0
  977. package/tooltip/package.json +1 -2
  978. package/tooltip/primeng-tooltip.d.ts +1 -0
  979. package/tooltip/tooltip.d.ts +7 -0
  980. package/tree/package.json +1 -2
  981. package/tree/primeng-tree.d.ts +1 -0
  982. package/tree/tree.d.ts +12 -0
  983. package/treetable/package.json +1 -2
  984. package/treetable/primeng-treetable.d.ts +1 -0
  985. package/treetable/treetable.d.ts +43 -0
  986. package/tristatecheckbox/package.json +1 -2
  987. package/tristatecheckbox/primeng-tristatecheckbox.d.ts +1 -0
  988. package/tristatecheckbox/tristatecheckbox.d.ts +7 -0
  989. package/utils/package.json +1 -2
  990. package/utils/primeng-utils.d.ts +1 -0
  991. package/virtualscroller/package.json +1 -2
  992. package/virtualscroller/primeng-virtualscroller.d.ts +1 -0
  993. package/virtualscroller/virtualscroller.d.ts +9 -0
  994. package/accordion/primeng-accordion.metadata.json +0 -1
  995. package/api/primeng-api.metadata.json +0 -1
  996. package/autocomplete/primeng-autocomplete.metadata.json +0 -1
  997. package/avatar/primeng-avatar.metadata.json +0 -1
  998. package/avatargroup/primeng-avatargroup.metadata.json +0 -1
  999. package/badge/primeng-badge.metadata.json +0 -1
  1000. package/blockui/primeng-blockui.metadata.json +0 -1
  1001. package/breadcrumb/primeng-breadcrumb.metadata.json +0 -1
  1002. package/bundles/primeng-accordion.umd.min.js +0 -2
  1003. package/bundles/primeng-accordion.umd.min.js.map +0 -1
  1004. package/bundles/primeng-api.umd.min.js +0 -2
  1005. package/bundles/primeng-api.umd.min.js.map +0 -1
  1006. package/bundles/primeng-autocomplete.umd.min.js +0 -16
  1007. package/bundles/primeng-autocomplete.umd.min.js.map +0 -1
  1008. package/bundles/primeng-avatar.umd.min.js +0 -2
  1009. package/bundles/primeng-avatar.umd.min.js.map +0 -1
  1010. package/bundles/primeng-avatargroup.umd.min.js +0 -2
  1011. package/bundles/primeng-avatargroup.umd.min.js.map +0 -1
  1012. package/bundles/primeng-badge.umd.min.js +0 -2
  1013. package/bundles/primeng-badge.umd.min.js.map +0 -1
  1014. package/bundles/primeng-blockui.umd.min.js +0 -2
  1015. package/bundles/primeng-blockui.umd.min.js.map +0 -1
  1016. package/bundles/primeng-breadcrumb.umd.min.js +0 -2
  1017. package/bundles/primeng-breadcrumb.umd.min.js.map +0 -1
  1018. package/bundles/primeng-button.umd.min.js +0 -2
  1019. package/bundles/primeng-button.umd.min.js.map +0 -1
  1020. package/bundles/primeng-calendar.umd.min.js +0 -16
  1021. package/bundles/primeng-calendar.umd.min.js.map +0 -1
  1022. package/bundles/primeng-captcha.umd.min.js +0 -2
  1023. package/bundles/primeng-captcha.umd.min.js.map +0 -1
  1024. package/bundles/primeng-card.umd.min.js +0 -2
  1025. package/bundles/primeng-card.umd.min.js.map +0 -1
  1026. package/bundles/primeng-carousel.umd.min.js +0 -16
  1027. package/bundles/primeng-carousel.umd.min.js.map +0 -1
  1028. package/bundles/primeng-cascadeselect.umd.min.js +0 -16
  1029. package/bundles/primeng-cascadeselect.umd.min.js.map +0 -1
  1030. package/bundles/primeng-chart.umd.min.js +0 -2
  1031. package/bundles/primeng-chart.umd.min.js.map +0 -1
  1032. package/bundles/primeng-checkbox.umd.min.js +0 -16
  1033. package/bundles/primeng-checkbox.umd.min.js.map +0 -1
  1034. package/bundles/primeng-chip.umd.min.js +0 -2
  1035. package/bundles/primeng-chip.umd.min.js.map +0 -1
  1036. package/bundles/primeng-chips.umd.min.js +0 -16
  1037. package/bundles/primeng-chips.umd.min.js.map +0 -1
  1038. package/bundles/primeng-codehighlighter.umd.min.js +0 -2
  1039. package/bundles/primeng-codehighlighter.umd.min.js.map +0 -1
  1040. package/bundles/primeng-colorpicker.umd.min.js +0 -2
  1041. package/bundles/primeng-colorpicker.umd.min.js.map +0 -1
  1042. package/bundles/primeng-confirmdialog.umd.min.js +0 -2
  1043. package/bundles/primeng-confirmdialog.umd.min.js.map +0 -1
  1044. package/bundles/primeng-confirmpopup.umd.min.js +0 -2
  1045. package/bundles/primeng-confirmpopup.umd.min.js.map +0 -1
  1046. package/bundles/primeng-contextmenu.umd.min.js +0 -16
  1047. package/bundles/primeng-contextmenu.umd.min.js.map +0 -1
  1048. package/bundles/primeng-dataview.umd.min.js +0 -2
  1049. package/bundles/primeng-dataview.umd.min.js.map +0 -1
  1050. package/bundles/primeng-defer.umd.min.js +0 -2
  1051. package/bundles/primeng-defer.umd.min.js.map +0 -1
  1052. package/bundles/primeng-dialog.umd.min.js +0 -2
  1053. package/bundles/primeng-dialog.umd.min.js.map +0 -1
  1054. package/bundles/primeng-divider.umd.min.js +0 -2
  1055. package/bundles/primeng-divider.umd.min.js.map +0 -1
  1056. package/bundles/primeng-dom.umd.min.js +0 -16
  1057. package/bundles/primeng-dom.umd.min.js.map +0 -1
  1058. package/bundles/primeng-dragdrop.umd.min.js +0 -2
  1059. package/bundles/primeng-dragdrop.umd.min.js.map +0 -1
  1060. package/bundles/primeng-dropdown.umd.min.js +0 -16
  1061. package/bundles/primeng-dropdown.umd.min.js.map +0 -1
  1062. package/bundles/primeng-dynamicdialog.umd.min.js +0 -2
  1063. package/bundles/primeng-dynamicdialog.umd.min.js.map +0 -1
  1064. package/bundles/primeng-editor.umd.min.js +0 -2
  1065. package/bundles/primeng-editor.umd.min.js.map +0 -1
  1066. package/bundles/primeng-fieldset.umd.min.js +0 -2
  1067. package/bundles/primeng-fieldset.umd.min.js.map +0 -1
  1068. package/bundles/primeng-fileupload.umd.min.js +0 -16
  1069. package/bundles/primeng-fileupload.umd.min.js.map +0 -1
  1070. package/bundles/primeng-focustrap.umd.min.js +0 -2
  1071. package/bundles/primeng-focustrap.umd.min.js.map +0 -1
  1072. package/bundles/primeng-fullcalendar.umd.min.js +0 -2
  1073. package/bundles/primeng-fullcalendar.umd.min.js.map +0 -1
  1074. package/bundles/primeng-galleria.umd.min.js +0 -16
  1075. package/bundles/primeng-galleria.umd.min.js.map +0 -1
  1076. package/bundles/primeng-gmap.umd.min.js +0 -16
  1077. package/bundles/primeng-gmap.umd.min.js.map +0 -1
  1078. package/bundles/primeng-inplace.umd.min.js +0 -2
  1079. package/bundles/primeng-inplace.umd.min.js.map +0 -1
  1080. package/bundles/primeng-inputmask.umd.min.js +0 -2
  1081. package/bundles/primeng-inputmask.umd.min.js.map +0 -1
  1082. package/bundles/primeng-inputnumber.umd.min.js +0 -16
  1083. package/bundles/primeng-inputnumber.umd.min.js.map +0 -1
  1084. package/bundles/primeng-inputswitch.umd.min.js +0 -2
  1085. package/bundles/primeng-inputswitch.umd.min.js.map +0 -1
  1086. package/bundles/primeng-inputtext.umd.min.js +0 -2
  1087. package/bundles/primeng-inputtext.umd.min.js.map +0 -1
  1088. package/bundles/primeng-inputtextarea.umd.min.js +0 -2
  1089. package/bundles/primeng-inputtextarea.umd.min.js.map +0 -1
  1090. package/bundles/primeng-keyfilter.umd.min.js +0 -16
  1091. package/bundles/primeng-keyfilter.umd.min.js.map +0 -1
  1092. package/bundles/primeng-knob.umd.min.js +0 -2
  1093. package/bundles/primeng-knob.umd.min.js.map +0 -1
  1094. package/bundles/primeng-lightbox.umd.min.js +0 -2
  1095. package/bundles/primeng-lightbox.umd.min.js.map +0 -1
  1096. package/bundles/primeng-listbox.umd.min.js +0 -16
  1097. package/bundles/primeng-listbox.umd.min.js.map +0 -1
  1098. package/bundles/primeng-megamenu.umd.min.js +0 -2
  1099. package/bundles/primeng-megamenu.umd.min.js.map +0 -1
  1100. package/bundles/primeng-menu.umd.min.js +0 -16
  1101. package/bundles/primeng-menu.umd.min.js.map +0 -1
  1102. package/bundles/primeng-menubar.umd.min.js +0 -2
  1103. package/bundles/primeng-menubar.umd.min.js.map +0 -1
  1104. package/bundles/primeng-message.umd.min.js +0 -2
  1105. package/bundles/primeng-message.umd.min.js.map +0 -1
  1106. package/bundles/primeng-messages.umd.min.js +0 -16
  1107. package/bundles/primeng-messages.umd.min.js.map +0 -1
  1108. package/bundles/primeng-multiselect.umd.min.js +0 -16
  1109. package/bundles/primeng-multiselect.umd.min.js.map +0 -1
  1110. package/bundles/primeng-orderlist.umd.min.js +0 -16
  1111. package/bundles/primeng-orderlist.umd.min.js.map +0 -1
  1112. package/bundles/primeng-organizationchart.umd.min.js +0 -16
  1113. package/bundles/primeng-organizationchart.umd.min.js.map +0 -1
  1114. package/bundles/primeng-overlaypanel.umd.min.js +0 -2
  1115. package/bundles/primeng-overlaypanel.umd.min.js.map +0 -1
  1116. package/bundles/primeng-paginator.umd.min.js +0 -16
  1117. package/bundles/primeng-paginator.umd.min.js.map +0 -1
  1118. package/bundles/primeng-panel.umd.min.js +0 -2
  1119. package/bundles/primeng-panel.umd.min.js.map +0 -1
  1120. package/bundles/primeng-panelmenu.umd.min.js +0 -16
  1121. package/bundles/primeng-panelmenu.umd.min.js.map +0 -1
  1122. package/bundles/primeng-password.umd.min.js +0 -2
  1123. package/bundles/primeng-password.umd.min.js.map +0 -1
  1124. package/bundles/primeng-picklist.umd.min.js +0 -2
  1125. package/bundles/primeng-picklist.umd.min.js.map +0 -1
  1126. package/bundles/primeng-progressbar.umd.min.js +0 -2
  1127. package/bundles/primeng-progressbar.umd.min.js.map +0 -1
  1128. package/bundles/primeng-progressspinner.umd.min.js +0 -2
  1129. package/bundles/primeng-progressspinner.umd.min.js.map +0 -1
  1130. package/bundles/primeng-radiobutton.umd.min.js +0 -2
  1131. package/bundles/primeng-radiobutton.umd.min.js.map +0 -1
  1132. package/bundles/primeng-rating.umd.min.js +0 -2
  1133. package/bundles/primeng-rating.umd.min.js.map +0 -1
  1134. package/bundles/primeng-ripple.umd.min.js +0 -2
  1135. package/bundles/primeng-ripple.umd.min.js.map +0 -1
  1136. package/bundles/primeng-scrollpanel.umd.min.js +0 -2
  1137. package/bundles/primeng-scrollpanel.umd.min.js.map +0 -1
  1138. package/bundles/primeng-scrolltop.umd.min.js +0 -2
  1139. package/bundles/primeng-scrolltop.umd.min.js.map +0 -1
  1140. package/bundles/primeng-selectbutton.umd.min.js +0 -16
  1141. package/bundles/primeng-selectbutton.umd.min.js.map +0 -1
  1142. package/bundles/primeng-sidebar.umd.min.js +0 -2
  1143. package/bundles/primeng-sidebar.umd.min.js.map +0 -1
  1144. package/bundles/primeng-skeleton.umd.min.js +0 -2
  1145. package/bundles/primeng-skeleton.umd.min.js.map +0 -1
  1146. package/bundles/primeng-slidemenu.umd.min.js +0 -2
  1147. package/bundles/primeng-slidemenu.umd.min.js.map +0 -1
  1148. package/bundles/primeng-slider.umd.min.js +0 -2
  1149. package/bundles/primeng-slider.umd.min.js.map +0 -1
  1150. package/bundles/primeng-spinner.umd.min.js +0 -2
  1151. package/bundles/primeng-spinner.umd.min.js.map +0 -1
  1152. package/bundles/primeng-splitbutton.umd.min.js +0 -2
  1153. package/bundles/primeng-splitbutton.umd.min.js.map +0 -1
  1154. package/bundles/primeng-splitter.umd.min.js +0 -16
  1155. package/bundles/primeng-splitter.umd.min.js.map +0 -1
  1156. package/bundles/primeng-steps.umd.min.js +0 -2
  1157. package/bundles/primeng-steps.umd.min.js.map +0 -1
  1158. package/bundles/primeng-styleclass.umd.min.js +0 -2
  1159. package/bundles/primeng-styleclass.umd.min.js.map +0 -1
  1160. package/bundles/primeng-table.umd.min.js +0 -16
  1161. package/bundles/primeng-table.umd.min.js.map +0 -1
  1162. package/bundles/primeng-tabmenu.umd.min.js +0 -2
  1163. package/bundles/primeng-tabmenu.umd.min.js.map +0 -1
  1164. package/bundles/primeng-tabview.umd.min.js +0 -2
  1165. package/bundles/primeng-tabview.umd.min.js.map +0 -1
  1166. package/bundles/primeng-tag.umd.min.js +0 -2
  1167. package/bundles/primeng-tag.umd.min.js.map +0 -1
  1168. package/bundles/primeng-terminal.umd.min.js +0 -2
  1169. package/bundles/primeng-terminal.umd.min.js.map +0 -1
  1170. package/bundles/primeng-tieredmenu.umd.min.js +0 -2
  1171. package/bundles/primeng-tieredmenu.umd.min.js.map +0 -1
  1172. package/bundles/primeng-timeline.umd.min.js +0 -2
  1173. package/bundles/primeng-timeline.umd.min.js.map +0 -1
  1174. package/bundles/primeng-toast.umd.min.js +0 -16
  1175. package/bundles/primeng-toast.umd.min.js.map +0 -1
  1176. package/bundles/primeng-togglebutton.umd.min.js +0 -2
  1177. package/bundles/primeng-togglebutton.umd.min.js.map +0 -1
  1178. package/bundles/primeng-toolbar.umd.min.js +0 -2
  1179. package/bundles/primeng-toolbar.umd.min.js.map +0 -1
  1180. package/bundles/primeng-tooltip.umd.min.js +0 -2
  1181. package/bundles/primeng-tooltip.umd.min.js.map +0 -1
  1182. package/bundles/primeng-tree.umd.min.js +0 -16
  1183. package/bundles/primeng-tree.umd.min.js.map +0 -1
  1184. package/bundles/primeng-treetable.umd.min.js +0 -16
  1185. package/bundles/primeng-treetable.umd.min.js.map +0 -1
  1186. package/bundles/primeng-tristatecheckbox.umd.min.js +0 -2
  1187. package/bundles/primeng-tristatecheckbox.umd.min.js.map +0 -1
  1188. package/bundles/primeng-utils.umd.min.js +0 -2
  1189. package/bundles/primeng-utils.umd.min.js.map +0 -1
  1190. package/bundles/primeng-virtualscroller.umd.min.js +0 -2
  1191. package/bundles/primeng-virtualscroller.umd.min.js.map +0 -1
  1192. package/bundles/primeng.umd.min.js +0 -2
  1193. package/bundles/primeng.umd.min.js.map +0 -1
  1194. package/button/primeng-button.metadata.json +0 -1
  1195. package/calendar/primeng-calendar.metadata.json +0 -1
  1196. package/captcha/primeng-captcha.metadata.json +0 -1
  1197. package/card/primeng-card.metadata.json +0 -1
  1198. package/carousel/primeng-carousel.metadata.json +0 -1
  1199. package/cascadeselect/primeng-cascadeselect.metadata.json +0 -1
  1200. package/chart/primeng-chart.metadata.json +0 -1
  1201. package/checkbox/primeng-checkbox.metadata.json +0 -1
  1202. package/chip/primeng-chip.metadata.json +0 -1
  1203. package/chips/primeng-chips.metadata.json +0 -1
  1204. package/codehighlighter/primeng-codehighlighter.metadata.json +0 -1
  1205. package/colorpicker/primeng-colorpicker.metadata.json +0 -1
  1206. package/confirmdialog/primeng-confirmdialog.metadata.json +0 -1
  1207. package/confirmpopup/primeng-confirmpopup.metadata.json +0 -1
  1208. package/contextmenu/primeng-contextmenu.metadata.json +0 -1
  1209. package/dataview/primeng-dataview.metadata.json +0 -1
  1210. package/defer/primeng-defer.metadata.json +0 -1
  1211. package/dialog/primeng-dialog.metadata.json +0 -1
  1212. package/divider/primeng-divider.metadata.json +0 -1
  1213. package/dom/primeng-dom.metadata.json +0 -1
  1214. package/dragdrop/primeng-dragdrop.metadata.json +0 -1
  1215. package/dropdown/primeng-dropdown.metadata.json +0 -1
  1216. package/dynamicdialog/primeng-dynamicdialog.metadata.json +0 -1
  1217. package/editor/primeng-editor.metadata.json +0 -1
  1218. package/fieldset/primeng-fieldset.metadata.json +0 -1
  1219. package/fileupload/primeng-fileupload.metadata.json +0 -1
  1220. package/focustrap/primeng-focustrap.metadata.json +0 -1
  1221. package/fullcalendar/primeng-fullcalendar.metadata.json +0 -1
  1222. package/galleria/primeng-galleria.metadata.json +0 -1
  1223. package/gmap/primeng-gmap.metadata.json +0 -1
  1224. package/inplace/primeng-inplace.metadata.json +0 -1
  1225. package/inputmask/primeng-inputmask.metadata.json +0 -1
  1226. package/inputnumber/primeng-inputnumber.metadata.json +0 -1
  1227. package/inputswitch/primeng-inputswitch.metadata.json +0 -1
  1228. package/inputtext/primeng-inputtext.metadata.json +0 -1
  1229. package/inputtextarea/primeng-inputtextarea.metadata.json +0 -1
  1230. package/keyfilter/primeng-keyfilter.metadata.json +0 -1
  1231. package/knob/primeng-knob.metadata.json +0 -1
  1232. package/lightbox/primeng-lightbox.metadata.json +0 -1
  1233. package/listbox/primeng-listbox.metadata.json +0 -1
  1234. package/megamenu/primeng-megamenu.metadata.json +0 -1
  1235. package/menu/primeng-menu.metadata.json +0 -1
  1236. package/menubar/primeng-menubar.metadata.json +0 -1
  1237. package/message/primeng-message.metadata.json +0 -1
  1238. package/messages/primeng-messages.metadata.json +0 -1
  1239. package/multiselect/primeng-multiselect.metadata.json +0 -1
  1240. package/orderlist/primeng-orderlist.metadata.json +0 -1
  1241. package/organizationchart/primeng-organizationchart.metadata.json +0 -1
  1242. package/overlaypanel/primeng-overlaypanel.metadata.json +0 -1
  1243. package/paginator/primeng-paginator.metadata.json +0 -1
  1244. package/panel/primeng-panel.metadata.json +0 -1
  1245. package/panelmenu/primeng-panelmenu.metadata.json +0 -1
  1246. package/password/primeng-password.metadata.json +0 -1
  1247. package/picklist/primeng-picklist.metadata.json +0 -1
  1248. package/primeng.metadata.json +0 -1
  1249. package/progressbar/primeng-progressbar.metadata.json +0 -1
  1250. package/progressspinner/primeng-progressspinner.metadata.json +0 -1
  1251. package/radiobutton/primeng-radiobutton.metadata.json +0 -1
  1252. package/rating/primeng-rating.metadata.json +0 -1
  1253. package/ripple/primeng-ripple.metadata.json +0 -1
  1254. package/scrollpanel/primeng-scrollpanel.metadata.json +0 -1
  1255. package/scrolltop/primeng-scrolltop.metadata.json +0 -1
  1256. package/selectbutton/primeng-selectbutton.metadata.json +0 -1
  1257. package/sidebar/primeng-sidebar.metadata.json +0 -1
  1258. package/skeleton/primeng-skeleton.metadata.json +0 -1
  1259. package/slidemenu/primeng-slidemenu.metadata.json +0 -1
  1260. package/slider/primeng-slider.metadata.json +0 -1
  1261. package/spinner/primeng-spinner.metadata.json +0 -1
  1262. package/splitbutton/primeng-splitbutton.metadata.json +0 -1
  1263. package/splitter/primeng-splitter.metadata.json +0 -1
  1264. package/steps/primeng-steps.metadata.json +0 -1
  1265. package/styleclass/primeng-styleclass.metadata.json +0 -1
  1266. package/table/primeng-table.metadata.json +0 -1
  1267. package/tabmenu/primeng-tabmenu.metadata.json +0 -1
  1268. package/tabview/primeng-tabview.metadata.json +0 -1
  1269. package/tag/primeng-tag.metadata.json +0 -1
  1270. package/terminal/primeng-terminal.metadata.json +0 -1
  1271. package/tieredmenu/primeng-tieredmenu.metadata.json +0 -1
  1272. package/timeline/primeng-timeline.metadata.json +0 -1
  1273. package/toast/primeng-toast.metadata.json +0 -1
  1274. package/togglebutton/primeng-togglebutton.metadata.json +0 -1
  1275. package/toolbar/primeng-toolbar.metadata.json +0 -1
  1276. package/tooltip/primeng-tooltip.metadata.json +0 -1
  1277. package/tree/primeng-tree.metadata.json +0 -1
  1278. package/treetable/primeng-treetable.metadata.json +0 -1
  1279. package/tristatecheckbox/primeng-tristatecheckbox.metadata.json +0 -1
  1280. package/utils/primeng-utils.metadata.json +0 -1
  1281. package/virtualscroller/primeng-virtualscroller.metadata.json +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../node_modules/tslib/tslib.es6.js","../../src/app/components/treetable/treetable.ts"],"names":["Object","create","__values","o","s","Symbol","iterator","m","i","call","length","next","value","done","TypeError","__read","n","r","e","ar","push","error","__spread","arguments","concat","TreeTableService","this","sortSource","Subject","selectionSource","contextMenuSource","uiUpdateSource","totalRecordsSource","sortSource$","asObservable","selectionSource$","contextMenuSource$","uiUpdateSource$","totalRecordsSource$","prototype","onSort","sortMeta","onSelectionChange","onContextMenu","node","onUIUpdate","onTotalRecordsChange","Injectable","TreeTable","el","zone","tableService","filterService","lazy","lazyLoadOnInit","first","pageLinks","alwaysShowPaginator","paginatorPosition","currentPageReportTemplate","showFirstLastIcon","showPageLinks","defaultSortOrder","sortMode","resetPageOnSort","selectionChange","EventEmitter","contextMenuSelectionChange","contextMenuSelectionMode","compareSelectionBy","loadingIcon","showLoader","virtualScrollDelay","virtualRowHeight","columnResizeMode","rowTrackBy","index","item","filters","filterDelay","filterMode","onFilter","onNodeExpand","onNodeCollapse","onPage","onLazyLoad","sortFunction","onColResize","onColReorder","onNodeSelect","onNodeUnselect","onContextMenuSelect","onHeaderCheckboxToggle","onEditInit","onEditComplete","onEditCancel","_value","_totalRecords","_sortOrder","selectionKeys","ngOnInit","emit","createLazyLoadMetadata","initialized","ngAfterContentInit","_this","templates","forEach","getType","captionTemplate","template","headerTemplate","bodyTemplate","loadingBodyTemplate","footerTemplate","summaryTemplate","colGroupTemplate","emptyMessageTemplate","paginatorLeftTemplate","paginatorRightTemplate","paginatorDropdownItemTemplate","frozenHeaderTemplate","frozenBodyTemplate","frozenFooterTemplate","frozenColGroupTemplate","ngOnChanges","simpleChange","currentValue","totalRecords","sortField","sortSingle","multiSortMeta","sortMultiple","hasFilter","_filter","updateSerializedValue","_sortField","sortOrder","_multiSortMeta","selection","_selection","preventSelectionSetterPropagation","updateSelectionKeys","defineProperty","val","serializedValue","paginator","serializePageNodes","serializeNodes","filteredNodes","parent","nodes","level","visible","nodes_1","nodes_1_1","rowNode","expanded","children","data","rows","dataKey","Array","isArray","_b","_c","String","ObjectUtils","resolveFieldData","onPageChange","event","scrollable","resetScrollTop","sort","originalEvent","field","metaKey","ctrlKey","getSortMeta","order","sortNodes","customSort","mode","node1","node2","value1","value2","result","localeCompare","undefined","numeric","nodes_2","nodes_2_1","sortMultipleNodes","multisortmeta","multisortField","nodes_3","nodes_3_1","isSorted","sorted","globalFilter","virtualScroll","scrollToVirtualIndex","scrollTo","top","scrollableViewChild","scrollableFrozenViewChild","options","isEmpty","getBlockableElement","nativeElement","onColumnResizeBegin","containerLeft","DomHandler","getOffset","containerViewChild","left","lastResizerHelperX","pageX","scrollLeft","preventDefault","onColumnResize","addClass","resizeHelperViewChild","style","height","offsetHeight","display","onColumnResizeEnd","column","delta","offsetLeft","columnWidth","offsetWidth","newColumnWidth","minWidth","parseInt","nextColumn","nextElementSibling","offsetParent","nextColumnWidth","nextColumnMinWidth","scrollableView","findParentScrollableView","scrollableBodyTable","findSingle","scrollableHeaderTable","scrollableFooterTable","resizeColumnIndex","resizeColGroup","width","scrollableBody_1","scrollableHeader","scrollableFooter","scrollableBodyTableWidth","scrollableHeaderTableWidth","isContainerInViewport","setWidth","container","table","calculateScrollbarWidth","tableViewChild","containerWidth","element","removeClass","parentElement","hasClass","colGroup","nodeName","col","nextCol","onColumnDragStart","columnElement","reorderIconWidth","getHiddenElementOuterWidth","reorderIndicatorUpViewChild","reorderIconHeight","getHiddenElementOuterHeight","reorderIndicatorDownViewChild","draggedColumn","dataTransfer","setData","onColumnDragEnter","dropHeader","reorderableColumns","containerOffset","dropHeaderOffset","targetLeft","columnCenter","Math","ceil","dropPosition","dropEffect","onColumnDragLeave","onColumnDrop","dropColumn","dragIndex","indexWithinGroup","dropIndex","allowDrop","reorderArray","columns","draggable","handleRowClick","targetNode","target","selectionMode","selected","isSelected","metaSelection","rowTouched","metaKeySelection","dataKeyValue","isSingleSelectionMode","selectionIndex_1","findIndexInSelection","filter","type","isMultipleSelectionMode","rowIndex","selectionIndex_2","handleRowTouchEnd","handleRowRightClick","contextMenu","contextMenuSelection","show","toggleNodeWithCheckbox","propagateSelectionDown","propagateSelectionUp","toggleNodesWithCheckbox","check","slice","data_1","data_1_1","checked","select","selectedChildCount","childPartialSelected","child","partialSelected","index_1","equals","matchMode","filterTimeout","clearTimeout","isFilterBlank","setTimeout","filterGlobal","trim","globalFilterFieldsArray","globalFilterFields","Error","isStrictMode","isValueChanged","copyNode","assign","localMatch","globalMatch","paramsWithoutNode","prop","hasOwnProperty","filterMeta","filterField","filterValue","filterMatchMode","filterConstraint","findFilteredNodes","isFilterMatched","j","copyNodeForGlobal","matches","filteredValue","matched","childNodes","childNodes_1","childNodes_1_1","childNode","copyChildNode","_a","filterLocale","isNodeLeaf","leaf","empty","reset","updateEditingCell","cell","editingCell","editingCellData","editingCellField","bindDocumentEditListener","isEditingCellValid","find","documentEditListener","editingCellClick","unbindDocumentEditListener","document","addEventListener","removeEventListener","ngOnDestroy","Component","args","selector","providers","encapsulation","ViewEncapsulation","None","ElementRef","NgZone","FilterService","Input","Output","ViewChild","ContentChildren","PrimeTemplate","TTBody","tt","treeTableService","cd","subscription","subscribe","detectChanges","unsubscribe","ChangeDetectorRef","TTScrollableView","_scrollHeight","includes","console","log","virtualScrollBody","ngAfterViewInit","frozen","scrollableAlignerViewChild","calculateScrollbarHeight","frozenColumns","frozenView","previousElementSibling","frozenSiblingBody","scrollBarWidth","scrollHeaderBoxViewChild","paddingRight","scrollFooterBoxViewChild","bindEvents","runOutsideAngular","scrollHeaderViewChild","headerScrollListener","onHeaderScroll","bind","scrollFooterViewChild","footerScrollListener","onFooterScroll","bodyScrollListener","onBodyScroll","getElementRef","scrollBodyViewChild","unbindEvents","preventBodyScrollPropagation","marginLeft","scrollTop","scrollToIndex","CdkVirtualScrollViewport","TTSortableColumn","isEnabled","updateSortState","onClick","clearSelection","onEnterKey","ttSortableColumnDisabled","Directive","host","[class.p-sortable-column]","[class.p-highlight]","[attr.tabindex]","[attr.role]","HostListener","TTSortIcon","markForCheck","changeDetection","ChangeDetectionStrategy","OnPush","TTResizableColumn","resizer","createElement","className","appendChild","resizerMouseDownListener","onMouseDown","bindDocumentEvents","documentMouseMoveListener","onDocumentMouseMove","documentMouseUpListener","onDocumentMouseUp","unbindDocumentEvents","ttResizableColumnDisabled","TTReorderableColumn","mouseDownListener","dragStartListener","onDragStart","dragOverListener","onDragEnter","dragEnterListener","dragLeaveListener","onDragLeave","onDragOver","onDrop","ttReorderableColumnDisabled","TTSelectableRow","which","onTouchEnd","ttSelectableRowDisabled","TTSelectableRowDblClick","TTContextMenuRow","focus","ttContextMenuRowDisabled","[class.p-highlight-contextmenu]","TTCheckbox","disabled","onFocus","boxViewChild","onBlur","TTHeaderCheckbox","valueChangeSubscription","updateCheckedState","selectionChangeSubscription","data_2","data_2_1","TTEditableColumn","openCell","focusable","closeEditingCell","onKeyDown","keyCode","shiftKey","moveToPreviousCell","moveToNextCell","findCell","currentCell","targetCell","findPreviousEditableColumn","invokeElementMethod","findNextEditableColumn","prevCell","previousRow","lastElementChild","nextCell","nextRow","firstElementChild","ttEditableColumnDisabled","TreeTableCellEditor","editableColumn","inputTemplate","outputTemplate","TTRow","prevRow","toggleRowIndex","restoreFocus","row","TreeTableToggler","NgModule","imports","CommonModule","PaginatorModule","ScrollingModule","RippleModule","exports","SharedModule","declarations"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { NgModule, AfterContentInit, OnInit, OnDestroy, HostListener, Injectable, Directive, Component, Input, Output, EventEmitter, ContentChildren, TemplateRef, QueryList, ElementRef, NgZone, ViewChild, AfterViewInit, AfterViewChecked, OnChanges, SimpleChanges, ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TreeNode } from 'primeng/api';\nimport { Subject, Subscription } from 'rxjs';\nimport { DomHandler } from 'primeng/dom';\nimport { PaginatorModule } from 'primeng/paginator';\nimport { PrimeTemplate, SharedModule, FilterService } from 'primeng/api';\nimport { SortMeta } from 'primeng/api';\nimport { BlockableUI } from 'primeng/api';\nimport { FilterMetadata } from 'primeng/api';\nimport { ObjectUtils } from 'primeng/utils';\nimport { RippleModule } from 'primeng/ripple';\nimport { ScrollingModule, CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\n\n@Injectable()\nexport class TreeTableService {\n\n private sortSource = new Subject<SortMeta|SortMeta[]>();\n private selectionSource = new Subject();\n private contextMenuSource = new Subject<any>();\n private uiUpdateSource = new Subject<any>();\n private totalRecordsSource = new Subject<any>();\n\n sortSource$ = this.sortSource.asObservable();\n selectionSource$ = this.selectionSource.asObservable();\n contextMenuSource$ = this.contextMenuSource.asObservable();\n uiUpdateSource$ = this.uiUpdateSource.asObservable();\n totalRecordsSource$ = this.totalRecordsSource.asObservable();\n\n onSort(sortMeta: SortMeta|SortMeta[]) {\n this.sortSource.next(sortMeta);\n }\n\n onSelectionChange() {\n this.selectionSource.next();\n }\n\n onContextMenu(node: any) {\n this.contextMenuSource.next(node);\n }\n\n onUIUpdate(value: any) {\n this.uiUpdateSource.next(value);\n }\n\n onTotalRecordsChange(value: number) {\n this.totalRecordsSource.next(value);\n }\n}\n\n@Component({\n selector: 'p-treeTable',\n template: `\n <div #container [ngStyle]=\"style\" [class]=\"styleClass\" data-scrollselectors=\".p-treetable-scrollable-body\"\n [ngClass]=\"{'p-treetable p-component': true,\n 'p-treetable-hoverable-rows': (rowHover||(selectionMode === 'single' || selectionMode === 'multiple')),\n 'p-treetable-auto-layout': autoLayout,\n 'p-treetable-resizable': resizableColumns,\n 'p-treetable-resizable-fit': (resizableColumns && columnResizeMode === 'fit'),\n 'p-treetable-flex-scrollable': (scrollable && scrollHeight === 'flex')}\">\n <div class=\"p-treetable-loading\" *ngIf=\"loading && showLoader\">\n <div class=\"p-treetable-loading-overlay p-component-overlay\">\n <i [class]=\"'p-treetable-loading-icon pi-spin ' + loadingIcon\"></i>\n </div>\n </div>\n <div *ngIf=\"captionTemplate\" class=\"p-treetable-header\">\n <ng-container *ngTemplateOutlet=\"captionTemplate\"></ng-container>\n </div>\n <p-paginator [rows]=\"rows\" [first]=\"first\" [totalRecords]=\"totalRecords\" [pageLinkSize]=\"pageLinks\" styleClass=\"p-paginator-top\" [alwaysShow]=\"alwaysShowPaginator\"\n (onPageChange)=\"onPageChange($event)\" [rowsPerPageOptions]=\"rowsPerPageOptions\" *ngIf=\"paginator && (paginatorPosition === 'top' || paginatorPosition =='both')\"\n [templateLeft]=\"paginatorLeftTemplate\" [templateRight]=\"paginatorRightTemplate\" [dropdownAppendTo]=\"paginatorDropdownAppendTo\"\n [currentPageReportTemplate]=\"currentPageReportTemplate\" [showFirstLastIcon]=\"showFirstLastIcon\" [dropdownItemTemplate]=\"paginatorDropdownItemTemplate\" [showCurrentPageReport]=\"showCurrentPageReport\" [showJumpToPageDropdown]=\"showJumpToPageDropdown\" [showPageLinks]=\"showPageLinks\"></p-paginator>\n\n <div class=\"p-treetable-wrapper\" *ngIf=\"!scrollable\">\n <table #table [ngClass]=\"tableStyleClass\" [ngStyle]=\"tableStyle\">\n <ng-container *ngTemplateOutlet=\"colGroupTemplate; context {$implicit: columns}\"></ng-container>\n <thead class=\"p-treetable-thead\">\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: {$implicit: columns}\"></ng-container>\n </thead>\n <tbody class=\"p-treetable-tbody\" [pTreeTableBody]=\"columns\" [pTreeTableBodyTemplate]=\"bodyTemplate\"></tbody>\n <tfoot class=\"p-treetable-tfoot\">\n <ng-container *ngTemplateOutlet=\"footerTemplate; context {$implicit: columns}\"></ng-container>\n </tfoot>\n </table>\n </div>\n\n <div class=\"p-treetable-scrollable-wrapper\" *ngIf=\"scrollable\">\n <div class=\"p-treetable-scrollable-view p-treetable-frozen-view\" *ngIf=\"frozenColumns||frozenBodyTemplate\" #scrollableFrozenView [ttScrollableView]=\"frozenColumns\" [frozen]=\"true\" [ngStyle]=\"{width: frozenWidth}\" [scrollHeight]=\"scrollHeight\"></div>\n <div class=\"p-treetable-scrollable-view\" #scrollableView [ttScrollableView]=\"columns\" [frozen]=\"false\" [scrollHeight]=\"scrollHeight\" [ngStyle]=\"{left: frozenWidth, width: 'calc(100% - '+frozenWidth+')'}\"></div>\n </div>\n\n <p-paginator [rows]=\"rows\" [first]=\"first\" [totalRecords]=\"totalRecords\" [pageLinkSize]=\"pageLinks\" styleClass=\"p-paginator-bottom\" [alwaysShow]=\"alwaysShowPaginator\"\n (onPageChange)=\"onPageChange($event)\" [rowsPerPageOptions]=\"rowsPerPageOptions\" *ngIf=\"paginator && (paginatorPosition === 'bottom' || paginatorPosition =='both')\"\n [templateLeft]=\"paginatorLeftTemplate\" [templateRight]=\"paginatorRightTemplate\" [dropdownAppendTo]=\"paginatorDropdownAppendTo\"\n [currentPageReportTemplate]=\"currentPageReportTemplate\" [showFirstLastIcon]=\"showFirstLastIcon\" [dropdownItemTemplate]=\"paginatorDropdownItemTemplate\" [showCurrentPageReport]=\"showCurrentPageReport\" [showJumpToPageDropdown]=\"showJumpToPageDropdown\" [showPageLinks]=\"showPageLinks\"></p-paginator>\n <div *ngIf=\"summaryTemplate\" class=\"p-treetable-footer\">\n <ng-container *ngTemplateOutlet=\"summaryTemplate\"></ng-container>\n </div>\n\n <div #resizeHelper class=\"p-column-resizer-helper\" style=\"display:none\" *ngIf=\"resizableColumns\"></div>\n\n <span #reorderIndicatorUp class=\"pi pi-arrow-down p-treetable-reorder-indicator-up\" *ngIf=\"reorderableColumns\"></span>\n <span #reorderIndicatorDown class=\"pi pi-arrow-up p-treetable-reorder-indicator-down\" *ngIf=\"reorderableColumns\"></span>\n </div>\n `,\n providers: [TreeTableService],\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./treetable.css']\n})\nexport class TreeTable implements AfterContentInit, OnInit, OnDestroy, BlockableUI, OnChanges {\n\n @Input() columns: any[];\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() tableStyle: any;\n\n @Input() tableStyleClass: string;\n\n @Input() autoLayout: boolean;\n\n @Input() lazy: boolean = false;\n\n @Input() lazyLoadOnInit: boolean = true;\n\n @Input() paginator: boolean;\n\n @Input() rows: number;\n\n @Input() first: number = 0;\n\n @Input() pageLinks: number = 5;\n\n @Input() rowsPerPageOptions: any[];\n\n @Input() alwaysShowPaginator: boolean = true;\n\n @Input() paginatorPosition: string = 'bottom';\n\n @Input() paginatorDropdownAppendTo: any;\n\n @Input() currentPageReportTemplate: string = '{currentPage} of {totalPages}';\n\n @Input() showCurrentPageReport: boolean;\n\n @Input() showJumpToPageDropdown: boolean;\n\n @Input() showFirstLastIcon: boolean = true;\n\n @Input() showPageLinks: boolean = true;\n\n @Input() defaultSortOrder: number = 1;\n\n @Input() sortMode: string = 'single';\n\n @Input() resetPageOnSort: boolean = true;\n\n @Input() customSort: boolean;\n\n @Input() selectionMode: string;\n\n @Output() selectionChange: EventEmitter<any> = new EventEmitter();\n\n @Input() contextMenuSelection: any;\n\n @Output() contextMenuSelectionChange: EventEmitter<any> = new EventEmitter();\n\n @Input() contextMenuSelectionMode: string = \"separate\";\n\n @Input() dataKey: string;\n\n @Input() metaKeySelection: boolean;\n\n @Input() compareSelectionBy: string = 'deepEquals';\n\n @Input() rowHover: boolean;\n\n @Input() loading: boolean;\n\n @Input() loadingIcon: string = 'pi pi-spinner';\n\n @Input() showLoader: boolean = true;\n\n @Input() scrollable: boolean;\n\n @Input() scrollHeight: string;\n\n @Input() virtualScroll: boolean;\n\n @Input() virtualScrollDelay: number = 150;\n\n @Input() virtualRowHeight: number = 28;\n\n @Input() minBufferPx: number;\n\n @Input() maxBufferPx: number;\n\n @Input() frozenWidth: string;\n\n @Input() frozenColumns: any[];\n\n @Input() resizableColumns: boolean;\n\n @Input() columnResizeMode: string = 'fit';\n\n @Input() reorderableColumns: boolean;\n\n @Input() contextMenu: any;\n\n @Input() rowTrackBy: Function = (index: number, item: any) => item;\n\n @Input() filters: { [s: string]: FilterMetadata; } = {};\n\n @Input() globalFilterFields: string[];\n\n @Input() filterDelay: number = 300;\n\n @Input() filterMode: string = 'lenient';\n\n @Input() filterLocale: string;\n\n @Output() onFilter: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeExpand: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeCollapse: EventEmitter<any> = new EventEmitter();\n\n @Output() onPage: EventEmitter<any> = new EventEmitter();\n\n @Output() onSort: EventEmitter<any> = new EventEmitter();\n\n @Output() onLazyLoad: EventEmitter<any> = new EventEmitter();\n\n @Output() sortFunction: EventEmitter<any> = new EventEmitter();\n\n @Output() onColResize: EventEmitter<any> = new EventEmitter();\n\n @Output() onColReorder: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeSelect: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeUnselect: EventEmitter<any> = new EventEmitter();\n\n @Output() onContextMenuSelect: EventEmitter<any> = new EventEmitter();\n\n @Output() onHeaderCheckboxToggle: EventEmitter<any> = new EventEmitter();\n\n @Output() onEditInit: EventEmitter<any> = new EventEmitter();\n\n @Output() onEditComplete: EventEmitter<any> = new EventEmitter();\n\n @Output() onEditCancel: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('container') containerViewChild: ElementRef;\n\n @ViewChild('resizeHelper') resizeHelperViewChild: ElementRef;\n\n @ViewChild('reorderIndicatorUp') reorderIndicatorUpViewChild: ElementRef;\n\n @ViewChild('reorderIndicatorDown') reorderIndicatorDownViewChild: ElementRef;\n\n @ViewChild('table') tableViewChild: ElementRef;\n\n @ViewChild('scrollableView') scrollableViewChild;\n\n @ViewChild('scrollableFrozenView') scrollableFrozenViewChild;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate>;\n\n _value: TreeNode[] = [];\n\n serializedValue: any[];\n\n _totalRecords: number = 0;\n\n _multiSortMeta: SortMeta[];\n\n _sortField: string;\n\n _sortOrder: number = 1;\n\n filteredNodes: any[];\n\n filterTimeout: any;\n\n colGroupTemplate: TemplateRef<any>;\n\n captionTemplate: TemplateRef<any>;\n\n headerTemplate: TemplateRef<any>;\n\n bodyTemplate: TemplateRef<any>;\n\n loadingBodyTemplate: TemplateRef<any>;\n\n footerTemplate: TemplateRef<any>;\n\n summaryTemplate: TemplateRef<any>;\n\n emptyMessageTemplate: TemplateRef<any>;\n\n paginatorLeftTemplate: TemplateRef<any>;\n\n paginatorRightTemplate: TemplateRef<any>;\n\n paginatorDropdownItemTemplate: TemplateRef<any>;\n\n frozenHeaderTemplate: TemplateRef<any>;\n\n frozenBodyTemplate: TemplateRef<any>;\n\n frozenFooterTemplate: TemplateRef<any>;\n\n frozenColGroupTemplate: TemplateRef<any>;\n\n lastResizerHelperX: number;\n\n reorderIconWidth: number;\n\n reorderIconHeight: number;\n\n draggedColumn: any;\n\n dropPosition: number;\n\n preventSelectionSetterPropagation: boolean;\n\n _selection: any;\n\n selectionKeys: any = {};\n\n rowTouched: boolean;\n\n editingCell: Element;\n\n editingCellData: any;\n\n editingCellField: any;\n\n editingCellClick: boolean;\n\n documentEditListener: any;\n\n initialized: boolean;\n\n toggleRowIndex: number;\n\n ngOnInit() {\n if (this.lazy && this.lazyLoadOnInit) {\n this.onLazyLoad.emit(this.createLazyLoadMetadata());\n }\n this.initialized = true;\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'caption':\n this.captionTemplate = item.template;\n break;\n\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'body':\n this.bodyTemplate = item.template;\n break;\n\n case 'loadingbody':\n this.loadingBodyTemplate = item.template;\n break;\n\n case 'footer':\n this.footerTemplate = item.template;\n break;\n\n case 'summary':\n this.summaryTemplate = item.template;\n break;\n\n case 'colgroup':\n this.colGroupTemplate = item.template;\n break;\n\n case 'emptymessage':\n this.emptyMessageTemplate = item.template;\n break;\n\n case 'paginatorleft':\n this.paginatorLeftTemplate = item.template;\n break;\n\n case 'paginatorright':\n this.paginatorRightTemplate = item.template;\n break;\n\n case 'paginatordropdownitem':\n this.paginatorDropdownItemTemplate = item.template;\n break;\n\n case 'frozenheader':\n this.frozenHeaderTemplate = item.template;\n break;\n\n case 'frozenbody':\n this.frozenBodyTemplate = item.template;\n break;\n\n case 'frozenfooter':\n this.frozenFooterTemplate = item.template;\n break;\n\n case 'frozencolgroup':\n this.frozenColGroupTemplate = item.template;\n break;\n }\n });\n }\n\n constructor(public el: ElementRef, public zone: NgZone, public tableService: TreeTableService, public filterService: FilterService) {}\n\n ngOnChanges(simpleChange: SimpleChanges) {\n if (simpleChange.value) {\n this._value = simpleChange.value.currentValue;\n\n if (!this.lazy) {\n this.totalRecords = (this._value ? this._value.length : 0);\n\n if (this.sortMode == 'single' && this.sortField)\n this.sortSingle();\n else if (this.sortMode == 'multiple' && this.multiSortMeta)\n this.sortMultiple();\n else if (this.hasFilter()) //sort already filters\n this._filter();\n }\n\n this.updateSerializedValue();\n this.tableService.onUIUpdate(this.value);\n }\n\n if (simpleChange.sortField) {\n this._sortField = simpleChange.sortField.currentValue;\n\n //avoid triggering lazy load prior to lazy initialization at onInit\n if ( !this.lazy || this.initialized ) {\n if (this.sortMode === 'single') {\n this.sortSingle();\n }\n }\n }\n\n if (simpleChange.sortOrder) {\n this._sortOrder = simpleChange.sortOrder.currentValue;\n\n //avoid triggering lazy load prior to lazy initialization at onInit\n if ( !this.lazy || this.initialized ) {\n if (this.sortMode === 'single') {\n this.sortSingle();\n }\n }\n }\n\n if (simpleChange.multiSortMeta) {\n this._multiSortMeta = simpleChange.multiSortMeta.currentValue;\n if (this.sortMode === 'multiple') {\n this.sortMultiple();\n }\n }\n\n if (simpleChange.selection) {\n this._selection = simpleChange.selection.currentValue;\n\n if (!this.preventSelectionSetterPropagation) {\n this.updateSelectionKeys();\n this.tableService.onSelectionChange();\n }\n this.preventSelectionSetterPropagation = false;\n }\n }\n\n @Input() get value(): any[] {\n return this._value;\n }\n set value(val: any[]) {\n this._value = val;\n }\n\n updateSerializedValue() {\n this.serializedValue = [];\n\n if (this.paginator)\n this.serializePageNodes();\n else\n this.serializeNodes(null, this.filteredNodes||this.value, 0, true);\n }\n\n serializeNodes(parent, nodes, level, visible) {\n if (nodes && nodes.length) {\n for(let node of nodes) {\n node.parent = parent;\n const rowNode = {\n node: node,\n parent: parent,\n level: level,\n visible: visible && (parent ? parent.expanded : true)\n };\n this.serializedValue.push(rowNode);\n\n if (rowNode.visible && node.expanded) {\n this.serializeNodes(node, node.children, level + 1, rowNode.visible);\n }\n }\n }\n }\n\n serializePageNodes() {\n let data = this.filteredNodes || this.value;\n this.serializedValue = [];\n if (data && data.length) {\n const first = this.lazy ? 0 : this.first;\n\n for(let i = first; i < (first + this.rows); i++) {\n let node = data[i];\n if (node) {\n this.serializedValue.push({\n node: node,\n parent: null,\n level: 0,\n visible: true\n });\n\n this.serializeNodes(node, node.children, 1, true);\n }\n }\n }\n }\n\n @Input() get totalRecords(): number {\n return this._totalRecords;\n }\n set totalRecords(val: number) {\n this._totalRecords = val;\n this.tableService.onTotalRecordsChange(this._totalRecords);\n }\n\n @Input() get sortField(): string {\n return this._sortField;\n }\n\n set sortField(val: string) {\n this._sortField = val;\n }\n\n @Input() get sortOrder(): number {\n return this._sortOrder;\n }\n set sortOrder(val: number) {\n this._sortOrder = val;\n }\n\n @Input() get multiSortMeta(): SortMeta[] {\n return this._multiSortMeta;\n }\n\n set multiSortMeta(val: SortMeta[]) {\n this._multiSortMeta = val;\n }\n\n @Input() get selection(): any {\n return this._selection;\n }\n\n set selection(val: any) {\n this._selection = val;\n }\n\n updateSelectionKeys() {\n if (this.dataKey && this._selection) {\n this.selectionKeys = {};\n if (Array.isArray(this._selection)) {\n for(let node of this._selection) {\n this.selectionKeys[String(ObjectUtils.resolveFieldData(node.data, this.dataKey))] = 1;\n }\n }\n else {\n this.selectionKeys[String(ObjectUtils.resolveFieldData(this._selection.data, this.dataKey))] = 1;\n }\n }\n }\n\n onPageChange(event) {\n this.first = event.first;\n this.rows = event.rows;\n\n if (this.lazy)\n this.onLazyLoad.emit(this.createLazyLoadMetadata());\n else\n this.serializePageNodes();\n\n this.onPage.emit({\n first: this.first,\n rows: this.rows\n });\n\n this.tableService.onUIUpdate(this.value);\n\n if (this.scrollable) {\n this.resetScrollTop();\n }\n }\n\n sort(event) {\n let originalEvent = event.originalEvent;\n\n if (this.sortMode === 'single') {\n this._sortOrder = (this.sortField === event.field) ? this.sortOrder * -1 : this.defaultSortOrder;\n this._sortField = event.field;\n this.sortSingle();\n\n if (this.resetPageOnSort && this.scrollable) {\n this.resetScrollTop();\n }\n }\n if (this.sortMode === 'multiple') {\n let metaKey = originalEvent.metaKey || originalEvent.ctrlKey;\n let sortMeta = this.getSortMeta(event.field);\n\n if (sortMeta) {\n if (!metaKey) {\n this._multiSortMeta = [{ field: event.field, order: sortMeta.order * -1 }]\n\n if (this.resetPageOnSort && this.scrollable) {\n this.resetScrollTop();\n }\n }\n else {\n sortMeta.order = sortMeta.order * -1;\n }\n }\n else {\n if (!metaKey || !this.multiSortMeta) {\n this._multiSortMeta = [];\n\n if (this.resetPageOnSort && this.scrollable) {\n this.resetScrollTop();\n }\n }\n this.multiSortMeta.push({ field: event.field, order: this.defaultSortOrder });\n }\n\n this.sortMultiple();\n }\n }\n\n sortSingle() {\n if (this.sortField && this.sortOrder) {\n if (this.lazy) {\n this.onLazyLoad.emit(this.createLazyLoadMetadata());\n }\n else if (this.value) {\n this.sortNodes(this.value);\n\n if (this.hasFilter()) {\n this._filter();\n }\n }\n\n let sortMeta: SortMeta = {\n field: this.sortField,\n order: this.sortOrder\n };\n\n this.onSort.emit(sortMeta);\n this.tableService.onSort(sortMeta);\n this.updateSerializedValue();\n }\n }\n\n sortNodes(nodes) {\n if (!nodes || nodes.length === 0) {\n return;\n }\n\n if (this.customSort) {\n this.sortFunction.emit({\n data: nodes,\n mode: this.sortMode,\n field: this.sortField,\n order: this.sortOrder\n });\n }\n else {\n nodes.sort((node1, node2) => {\n let value1 = ObjectUtils.resolveFieldData(node1.data, this.sortField);\n let value2 = ObjectUtils.resolveFieldData(node2.data, this.sortField);\n let result = null;\n\n if (value1 == null && value2 != null)\n result = -1;\n else if (value1 != null && value2 == null)\n result = 1;\n else if (value1 == null && value2 == null)\n result = 0;\n else if (typeof value1 === 'string' && typeof value2 === 'string')\n result = value1.localeCompare(value2, undefined, {numeric: true});\n else\n result = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;\n\n return (this.sortOrder * result);\n });\n }\n\n for(let node of nodes) {\n this.sortNodes(node.children);\n }\n }\n\n sortMultiple() {\n if (this.multiSortMeta) {\n if (this.lazy) {\n this.onLazyLoad.emit(this.createLazyLoadMetadata());\n }\n else if (this.value) {\n this.sortMultipleNodes(this.value);\n\n if (this.hasFilter()) {\n this._filter();\n }\n }\n\n this.onSort.emit({\n multisortmeta: this.multiSortMeta\n });\n this.updateSerializedValue();\n this.tableService.onSort(this.multiSortMeta);\n }\n }\n\n sortMultipleNodes(nodes) {\n if (!nodes || nodes.length === 0) {\n return;\n }\n\n if (this.customSort) {\n this.sortFunction.emit({\n data: this.value,\n mode: this.sortMode,\n multiSortMeta: this.multiSortMeta\n });\n }\n else {\n nodes.sort((node1, node2) => {\n return this.multisortField(node1, node2, this.multiSortMeta, 0);\n });\n }\n\n for(let node of nodes) {\n this.sortMultipleNodes(node.children);\n }\n }\n\n multisortField(node1, node2, multiSortMeta, index) {\n let value1 = ObjectUtils.resolveFieldData(node1.data, multiSortMeta[index].field);\n let value2 = ObjectUtils.resolveFieldData(node2.data, multiSortMeta[index].field);\n let result = null;\n\n if (value1 == null && value2 != null)\n result = -1;\n else if (value1 != null && value2 == null)\n result = 1;\n else if (value1 == null && value2 == null)\n result = 0;\n if (typeof value1 == 'string' || value1 instanceof String) {\n if (value1.localeCompare && (value1 != value2)) {\n return (multiSortMeta[index].order * value1.localeCompare(value2, undefined, {numeric: true}));\n }\n }\n else {\n result = (value1 < value2) ? -1 : 1;\n }\n\n if (value1 == value2) {\n return (multiSortMeta.length - 1) > (index) ? (this.multisortField(node1, node2, multiSortMeta, index + 1)) : 0;\n }\n\n return (multiSortMeta[index].order * result);\n }\n\n getSortMeta(field: string) {\n if (this.multiSortMeta && this.multiSortMeta.length) {\n for (let i = 0; i < this.multiSortMeta.length; i++) {\n if (this.multiSortMeta[i].field === field) {\n return this.multiSortMeta[i];\n }\n }\n }\n\n return null;\n }\n\n isSorted(field: string) {\n if (this.sortMode === 'single') {\n return (this.sortField && this.sortField === field);\n }\n else if (this.sortMode === 'multiple') {\n let sorted = false;\n if (this.multiSortMeta) {\n for(let i = 0; i < this.multiSortMeta.length; i++) {\n if (this.multiSortMeta[i].field == field) {\n sorted = true;\n break;\n }\n }\n }\n return sorted;\n }\n }\n\n createLazyLoadMetadata(): any {\n return {\n first: this.first,\n rows: this.rows,\n sortField: this.sortField,\n sortOrder: this.sortOrder,\n filters: this.filters,\n globalFilter: this.filters && this.filters['global'] ? this.filters['global'].value : null,\n multiSortMeta: this.multiSortMeta\n };\n }\n\n public resetScrollTop() {\n if (this.virtualScroll)\n this.scrollToVirtualIndex(0);\n else\n this.scrollTo({top: 0});\n }\n\n public scrollToVirtualIndex(index: number) {\n if (this.scrollableViewChild) {\n this.scrollableViewChild.scrollToVirtualIndex(index);\n }\n\n if (this.scrollableFrozenViewChild) {\n this.scrollableFrozenViewChild.scrollToVirtualIndex(index);\n }\n }\n\n public scrollTo(options) {\n if (this.scrollableViewChild) {\n this.scrollableViewChild.scrollTo(options);\n }\n\n if (this.scrollableFrozenViewChild) {\n this.scrollableFrozenViewChild.scrollTo(options);\n }\n }\n\n isEmpty() {\n let data = this.filteredNodes||this.value;\n return data == null || data.length == 0;\n }\n\n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n\n onColumnResizeBegin(event) {\n let containerLeft = DomHandler.getOffset(this.containerViewChild.nativeElement).left;\n this.lastResizerHelperX = (event.pageX - containerLeft + this.containerViewChild.nativeElement.scrollLeft);\n event.preventDefault();\n }\n\n onColumnResize(event) {\n let containerLeft = DomHandler.getOffset(this.containerViewChild.nativeElement).left;\n DomHandler.addClass(this.containerViewChild.nativeElement, 'p-unselectable-text');\n this.resizeHelperViewChild.nativeElement.style.height = this.containerViewChild.nativeElement.offsetHeight + 'px';\n this.resizeHelperViewChild.nativeElement.style.top = 0 + 'px';\n this.resizeHelperViewChild.nativeElement.style.left = (event.pageX - containerLeft + this.containerViewChild.nativeElement.scrollLeft) + 'px';\n\n this.resizeHelperViewChild.nativeElement.style.display = 'block';\n }\n\n onColumnResizeEnd(event, column) {\n let delta = this.resizeHelperViewChild.nativeElement.offsetLeft - this.lastResizerHelperX;\n let columnWidth = column.offsetWidth;\n let newColumnWidth = columnWidth + delta;\n let minWidth = column.style.minWidth || 15;\n\n if (columnWidth + delta > parseInt(minWidth)) {\n if (this.columnResizeMode === 'fit') {\n let nextColumn = column.nextElementSibling;\n while (!nextColumn.offsetParent) {\n nextColumn = nextColumn.nextElementSibling;\n }\n\n if (nextColumn) {\n let nextColumnWidth = nextColumn.offsetWidth - delta;\n let nextColumnMinWidth = nextColumn.style.minWidth || 15;\n\n if (newColumnWidth > 15 && nextColumnWidth > parseInt(nextColumnMinWidth)) {\n if (this.scrollable) {\n let scrollableView = this.findParentScrollableView(column);\n let scrollableBodyTable = DomHandler.findSingle(scrollableView, '.p-treetable-scrollable-body table') || DomHandler.findSingle(scrollableView, '.p-treetable-virtual-scrollable-body table');\n let scrollableHeaderTable = DomHandler.findSingle(scrollableView, 'table.p-treetable-scrollable-header-table');\n let scrollableFooterTable = DomHandler.findSingle(scrollableView, 'table.p-treetable-scrollable-footer-table');\n let resizeColumnIndex = DomHandler.index(column);\n\n this.resizeColGroup(scrollableHeaderTable, resizeColumnIndex, newColumnWidth, nextColumnWidth);\n this.resizeColGroup(scrollableBodyTable, resizeColumnIndex, newColumnWidth, nextColumnWidth);\n this.resizeColGroup(scrollableFooterTable, resizeColumnIndex, newColumnWidth, nextColumnWidth);\n }\n else {\n column.style.width = newColumnWidth + 'px';\n if (nextColumn) {\n nextColumn.style.width = nextColumnWidth + 'px';\n }\n }\n }\n }\n }\n else if (this.columnResizeMode === 'expand') {\n if (this.scrollable) {\n let scrollableView = this.findParentScrollableView(column);\n let scrollableBody = DomHandler.findSingle(scrollableView, '.p-treetable-scrollable-body') || DomHandler.findSingle(scrollableView, 'cdk-virtual-scroll-viewport');\n let scrollableHeader = DomHandler.findSingle(scrollableView, '.p-treetable-scrollable-header');\n let scrollableFooter = DomHandler.findSingle(scrollableView, '.p-treetable-scrollable-footer');\n let scrollableBodyTable = DomHandler.findSingle(scrollableView, '.p-treetable-scrollable-body table') || DomHandler.findSingle(scrollableView, 'cdk-virtual-scroll-viewport table');\n let scrollableHeaderTable = DomHandler.findSingle(scrollableView, 'table.p-treetable-scrollable-header-table');\n let scrollableFooterTable = DomHandler.findSingle(scrollableView, 'table.p-treetable-scrollable-footer-table');\n scrollableBodyTable.style.width = scrollableBodyTable.offsetWidth + delta + 'px';\n scrollableHeaderTable.style.width = scrollableHeaderTable.offsetWidth + delta + 'px';\n if (scrollableFooterTable) {\n scrollableFooterTable.style.width = scrollableFooterTable.offsetWidth + delta + 'px';\n }\n let resizeColumnIndex = DomHandler.index(column);\n\n const scrollableBodyTableWidth = column ? scrollableBodyTable.offsetWidth + delta : newColumnWidth;\n const scrollableHeaderTableWidth = column ? scrollableHeaderTable.offsetWidth + delta : newColumnWidth;\n const isContainerInViewport = this.containerViewChild.nativeElement.offsetWidth >= scrollableBodyTableWidth;\n\n let setWidth = (container, table, width, isContainerInViewport) => {\n if (container && table) {\n container.style.width = isContainerInViewport ? width + DomHandler.calculateScrollbarWidth(scrollableBody) + 'px' : 'auto'\n table.style.width = width + 'px';\n }\n };\n\n setWidth(scrollableBody, scrollableBodyTable, scrollableBodyTableWidth, isContainerInViewport);\n setWidth(scrollableHeader, scrollableHeaderTable, scrollableHeaderTableWidth, isContainerInViewport);\n setWidth(scrollableFooter, scrollableFooterTable, scrollableHeaderTableWidth, isContainerInViewport);\n\n this.resizeColGroup(scrollableHeaderTable, resizeColumnIndex, newColumnWidth, null);\n this.resizeColGroup(scrollableBodyTable, resizeColumnIndex, newColumnWidth, null);\n this.resizeColGroup(scrollableFooterTable, resizeColumnIndex, newColumnWidth, null);\n }\n else {\n this.tableViewChild.nativeElement.style.width = this.tableViewChild.nativeElement.offsetWidth + delta + 'px';\n column.style.width = newColumnWidth + 'px';\n let containerWidth = this.tableViewChild.nativeElement.style.width;\n this.containerViewChild.nativeElement.style.width = containerWidth + 'px';\n }\n }\n\n this.onColResize.emit({\n element: column,\n delta: delta\n });\n }\n\n this.resizeHelperViewChild.nativeElement.style.display = 'none';\n DomHandler.removeClass(this.containerViewChild.nativeElement, 'p-unselectable-text');\n }\n\n findParentScrollableView(column) {\n if (column) {\n let parent = column.parentElement;\n while (parent && !DomHandler.hasClass(parent, 'p-treetable-scrollable-view')) {\n parent = parent.parentElement;\n }\n\n return parent;\n }\n else {\n return null;\n }\n }\n\n resizeColGroup(table, resizeColumnIndex, newColumnWidth, nextColumnWidth) {\n if (table) {\n let colGroup = table.children[0].nodeName === 'COLGROUP' ? table.children[0] : null;\n\n if (colGroup) {\n let col = colGroup.children[resizeColumnIndex];\n let nextCol = col.nextElementSibling;\n col.style.width = newColumnWidth + 'px';\n\n if (nextCol && nextColumnWidth) {\n nextCol.style.width = nextColumnWidth + 'px';\n }\n }\n else {\n throw \"Scrollable tables require a colgroup to support resizable columns\";\n }\n }\n }\n\n onColumnDragStart(event, columnElement) {\n this.reorderIconWidth = DomHandler.getHiddenElementOuterWidth(this.reorderIndicatorUpViewChild.nativeElement);\n this.reorderIconHeight = DomHandler.getHiddenElementOuterHeight(this.reorderIndicatorDownViewChild.nativeElement);\n this.draggedColumn = columnElement;\n event.dataTransfer.setData('text', 'b'); // For firefox\n }\n\n onColumnDragEnter(event, dropHeader) {\n if (this.reorderableColumns && this.draggedColumn && dropHeader) {\n event.preventDefault();\n let containerOffset = DomHandler.getOffset(this.containerViewChild.nativeElement);\n let dropHeaderOffset = DomHandler.getOffset(dropHeader);\n\n if (this.draggedColumn != dropHeader) {\n let targetLeft = dropHeaderOffset.left - containerOffset.left;\n let targetTop = containerOffset.top - dropHeaderOffset.top;\n let columnCenter = dropHeaderOffset.left + dropHeader.offsetWidth / 2;\n\n this.reorderIndicatorUpViewChild.nativeElement.style.top = dropHeaderOffset.top - containerOffset.top - (this.reorderIconHeight - 1) + 'px';\n this.reorderIndicatorDownViewChild.nativeElement.style.top = dropHeaderOffset.top - containerOffset.top + dropHeader.offsetHeight + 'px';\n\n if (event.pageX > columnCenter) {\n this.reorderIndicatorUpViewChild.nativeElement.style.left = (targetLeft + dropHeader.offsetWidth - Math.ceil(this.reorderIconWidth / 2)) + 'px';\n this.reorderIndicatorDownViewChild.nativeElement.style.left = (targetLeft + dropHeader.offsetWidth - Math.ceil(this.reorderIconWidth / 2)) + 'px';\n this.dropPosition = 1;\n }\n else {\n this.reorderIndicatorUpViewChild.nativeElement.style.left = (targetLeft - Math.ceil(this.reorderIconWidth / 2)) + 'px';\n this.reorderIndicatorDownViewChild.nativeElement.style.left = (targetLeft - Math.ceil(this.reorderIconWidth / 2)) + 'px';\n this.dropPosition = -1;\n }\n\n this.reorderIndicatorUpViewChild.nativeElement.style.display = 'block';\n this.reorderIndicatorDownViewChild.nativeElement.style.display = 'block';\n }\n else {\n event.dataTransfer.dropEffect = 'none';\n }\n }\n }\n\n onColumnDragLeave(event) {\n if (this.reorderableColumns && this.draggedColumn) {\n event.preventDefault();\n this.reorderIndicatorUpViewChild.nativeElement.style.display = 'none';\n this.reorderIndicatorDownViewChild.nativeElement.style.display = 'none';\n }\n }\n\n onColumnDrop(event, dropColumn) {\n event.preventDefault();\n if (this.draggedColumn) {\n let dragIndex = DomHandler.indexWithinGroup(this.draggedColumn, 'ttreorderablecolumn');\n let dropIndex = DomHandler.indexWithinGroup(dropColumn, 'ttreorderablecolumn');\n let allowDrop = (dragIndex != dropIndex);\n if (allowDrop && ((dropIndex - dragIndex == 1 && this.dropPosition === -1) || (dragIndex - dropIndex == 1 && this.dropPosition === 1))) {\n allowDrop = false;\n }\n\n if (allowDrop && ((dropIndex < dragIndex && this.dropPosition === 1))) {\n dropIndex = dropIndex + 1;\n }\n\n if (allowDrop && ((dropIndex > dragIndex && this.dropPosition === -1))) {\n dropIndex = dropIndex - 1;\n }\n\n if (allowDrop) {\n ObjectUtils.reorderArray(this.columns, dragIndex, dropIndex);\n\n this.onColReorder.emit({\n dragIndex: dragIndex,\n dropIndex: dropIndex,\n columns: this.columns\n });\n }\n\n this.reorderIndicatorUpViewChild.nativeElement.style.display = 'none';\n this.reorderIndicatorDownViewChild.nativeElement.style.display = 'none';\n this.draggedColumn.draggable = false;\n this.draggedColumn = null;\n this.dropPosition = null;\n }\n }\n\n handleRowClick(event) {\n let targetNode = (<HTMLElement> event.originalEvent.target).nodeName;\n if (targetNode == 'INPUT' || targetNode == 'BUTTON' || targetNode == 'A' || (DomHandler.hasClass(event.originalEvent.target, 'p-clickable'))) {\n return;\n }\n\n if (this.selectionMode) {\n this.preventSelectionSetterPropagation = true;\n let rowNode = event.rowNode;\n let selected = this.isSelected(rowNode.node);\n let metaSelection = this.rowTouched ? false : this.metaKeySelection;\n let dataKeyValue = this.dataKey ? String(ObjectUtils.resolveFieldData(rowNode.node.data, this.dataKey)) : null;\n\n if (metaSelection) {\n let metaKey = event.originalEvent.metaKey||event.originalEvent.ctrlKey;\n\n if (selected && metaKey) {\n if (this.isSingleSelectionMode()) {\n this._selection = null;\n this.selectionKeys = {};\n this.selectionChange.emit(null);\n }\n else {\n let selectionIndex = this.findIndexInSelection(rowNode.node);\n this._selection = this.selection.filter((val,i) => i != selectionIndex);\n this.selectionChange.emit(this.selection);\n if (dataKeyValue) {\n delete this.selectionKeys[dataKeyValue];\n }\n }\n\n this.onNodeUnselect.emit({originalEvent: event.originalEvent, node: rowNode.node, type: 'row'});\n }\n else {\n if (this.isSingleSelectionMode()) {\n this._selection = rowNode.node;\n this.selectionChange.emit(rowNode.node);\n if (dataKeyValue) {\n this.selectionKeys = {};\n this.selectionKeys[dataKeyValue] = 1;\n }\n }\n else if (this.isMultipleSelectionMode()) {\n if (metaKey) {\n this._selection = this.selection||[];\n }\n else {\n this._selection = [];\n this.selectionKeys = {};\n }\n\n this._selection = [...this.selection, rowNode.node];\n this.selectionChange.emit(this.selection);\n if (dataKeyValue) {\n this.selectionKeys[dataKeyValue] = 1;\n }\n }\n\n this.onNodeSelect.emit({originalEvent: event.originalEvent, node: rowNode.node, type: 'row', index: event.rowIndex});\n }\n }\n else {\n if (this.selectionMode === 'single') {\n if (selected) {\n this._selection = null;\n this.selectionKeys = {};\n this.selectionChange.emit(this.selection);\n this.onNodeUnselect.emit({ originalEvent: event.originalEvent, node: rowNode.node, type: 'row' });\n }\n else {\n this._selection = rowNode.node;\n this.selectionChange.emit(this.selection);\n this.onNodeSelect.emit({ originalEvent: event.originalEvent, node: rowNode.node, type: 'row', index: event.rowIndex });\n if (dataKeyValue) {\n this.selectionKeys = {};\n this.selectionKeys[dataKeyValue] = 1;\n }\n }\n }\n else if (this.selectionMode === 'multiple') {\n if (selected) {\n let selectionIndex = this.findIndexInSelection(rowNode.node);\n this._selection = this.selection.filter((val, i) => i != selectionIndex);\n this.selectionChange.emit(this.selection);\n this.onNodeUnselect.emit({ originalEvent: event.originalEvent, node: rowNode.node, type: 'row' });\n if (dataKeyValue) {\n delete this.selectionKeys[dataKeyValue];\n }\n }\n else {\n this._selection = this.selection ? [...this.selection, rowNode.node] : [rowNode.node];\n this.selectionChange.emit(this.selection);\n this.onNodeSelect.emit({ originalEvent: event.originalEvent, node: rowNode.node, type: 'row', index: event.rowIndex });\n if (dataKeyValue) {\n this.selectionKeys[dataKeyValue] = 1;\n }\n }\n }\n }\n\n this.tableService.onSelectionChange();\n }\n\n this.rowTouched = false;\n }\n\n handleRowTouchEnd(event) {\n this.rowTouched = true;\n }\n\n handleRowRightClick(event) {\n if (this.contextMenu) {\n const node = event.rowNode.node;\n\n if (this.contextMenuSelectionMode === 'separate') {\n this.contextMenuSelection = node;\n this.contextMenuSelectionChange.emit(node);\n this.onContextMenuSelect.emit({originalEvent: event.originalEvent, node: node});\n this.contextMenu.show(event.originalEvent);\n this.tableService.onContextMenu(node);\n }\n else if (this.contextMenuSelectionMode === 'joint') {\n this.preventSelectionSetterPropagation = true;\n let selected = this.isSelected(node);\n let dataKeyValue = this.dataKey ? String(ObjectUtils.resolveFieldData(node.data, this.dataKey)) : null;\n\n if (!selected) {\n if (this.isSingleSelectionMode()) {\n this.selection = node;\n this.selectionChange.emit(node);\n }\n else if (this.isMultipleSelectionMode()) {\n this.selection = [node];\n this.selectionChange.emit(this.selection);\n }\n\n if (dataKeyValue) {\n this.selectionKeys[dataKeyValue] = 1;\n }\n }\n\n this.contextMenu.show(event.originalEvent);\n this.onContextMenuSelect.emit({originalEvent: event.originalEvent, node: node});\n }\n }\n }\n\n toggleNodeWithCheckbox(event) {\n this.selection = this.selection||[];\n this.preventSelectionSetterPropagation = true;\n let node = event.rowNode.node;\n let selected = this.isSelected(node);\n\n if (selected) {\n this.propagateSelectionDown(node, false);\n if (event.rowNode.parent) {\n this.propagateSelectionUp(node.parent, false);\n }\n this.selectionChange.emit(this.selection);\n this.onNodeUnselect.emit({originalEvent: event, node: node});\n }\n else {\n this.propagateSelectionDown(node, true);\n if (event.rowNode.parent) {\n this.propagateSelectionUp(node.parent, true);\n }\n this.selectionChange.emit(this.selection);\n this.onNodeSelect.emit({originalEvent: event, node: node});\n }\n\n this.tableService.onSelectionChange();\n }\n\n toggleNodesWithCheckbox(event: Event, check: boolean) {\n let data = this.filteredNodes || this.value;\n this._selection = check && data ? data.slice() : [];\n if (check) {\n if (data && data.length) {\n for (let node of data) {\n this.propagateSelectionDown(node, true);\n }\n }\n }\n else {\n this._selection = [];\n this.selectionKeys = {};\n }\n\n this.preventSelectionSetterPropagation = true;\n this.selectionChange.emit(this._selection);\n this.tableService.onSelectionChange();\n this.onHeaderCheckboxToggle.emit({originalEvent: event, checked: check});\n }\n\n propagateSelectionUp(node: TreeNode, select: boolean) {\n if (node.children && node.children.length) {\n let selectedChildCount: number = 0;\n let childPartialSelected: boolean = false;\n let dataKeyValue = this.dataKey ? String(ObjectUtils.resolveFieldData(node.data, this.dataKey)) : null;\n\n for (let child of node.children) {\n if (this.isSelected(child))\n selectedChildCount++;\n else if (child.partialSelected)\n childPartialSelected = true;\n }\n\n if (select && selectedChildCount == node.children.length) {\n this._selection = [...this.selection||[], node];\n node.partialSelected = false;\n if (dataKeyValue) {\n this.selectionKeys[dataKeyValue] = 1;\n }\n }\n else {\n if (!select) {\n let index = this.findIndexInSelection(node);\n if (index >= 0) {\n this._selection = this.selection.filter((val,i) => i!=index);\n\n if (dataKeyValue) {\n delete this.selectionKeys[dataKeyValue];\n }\n }\n }\n\n if (childPartialSelected || selectedChildCount > 0 && selectedChildCount != node.children.length)\n node.partialSelected = true;\n else\n node.partialSelected = false;\n }\n }\n\n let parent = node.parent;\n if (parent) {\n this.propagateSelectionUp(parent, select);\n }\n }\n\n propagateSelectionDown(node: TreeNode, select: boolean) {\n let index = this.findIndexInSelection(node);\n let dataKeyValue = this.dataKey ? String(ObjectUtils.resolveFieldData(node.data, this.dataKey)) : null;\n\n if (select && index == -1) {\n this._selection = [...this.selection||[],node]\n if (dataKeyValue) {\n this.selectionKeys[dataKeyValue] = 1;\n }\n }\n else if (!select && index > -1) {\n this._selection = this.selection.filter((val,i) => i!=index);\n if (dataKeyValue) {\n delete this.selectionKeys[dataKeyValue];\n }\n }\n\n node.partialSelected = false;\n\n if (node.children && node.children.length) {\n for (let child of node.children) {\n this.propagateSelectionDown(child, select);\n }\n }\n }\n\n isSelected(node) {\n if (node && this.selection) {\n if (this.dataKey) {\n return this.selectionKeys[ObjectUtils.resolveFieldData(node.data, this.dataKey)] !== undefined;\n }\n else {\n if (this.selection instanceof Array)\n return this.findIndexInSelection(node) > -1;\n else\n return this.equals(node, this.selection);\n }\n }\n\n return false;\n }\n\n findIndexInSelection(node: any) {\n let index: number = -1;\n if (this.selection && this.selection.length) {\n for (let i = 0; i < this.selection.length; i++) {\n if (this.equals(node, this.selection[i])) {\n index = i;\n break;\n }\n }\n }\n\n return index;\n }\n\n isSingleSelectionMode() {\n return this.selectionMode === 'single';\n }\n\n isMultipleSelectionMode() {\n return this.selectionMode === 'multiple';\n }\n\n equals(node1, node2) {\n return this.compareSelectionBy === 'equals' ? (node1 === node2) : ObjectUtils.equals(node1.data, node2.data, this.dataKey);\n }\n\n filter(value, field, matchMode) {\n if (this.filterTimeout) {\n clearTimeout(this.filterTimeout);\n }\n\n if (!this.isFilterBlank(value)) {\n this.filters[field] = { value: value, matchMode: matchMode };\n } else if (this.filters[field]) {\n delete this.filters[field];\n }\n\n this.filterTimeout = setTimeout(() => {\n this._filter();\n this.filterTimeout = null;\n }, this.filterDelay);\n }\n\n filterGlobal(value, matchMode) {\n this.filter(value, 'global', matchMode);\n }\n\n isFilterBlank(filter: any): boolean {\n if (filter !== null && filter !== undefined) {\n if ((typeof filter === 'string' && filter.trim().length == 0) || (filter instanceof Array && filter.length == 0))\n return true;\n else\n return false;\n }\n return true;\n }\n\n _filter() {\n if (this.lazy) {\n this.onLazyLoad.emit(this.createLazyLoadMetadata());\n }\n else {\n if (!this.value) {\n return;\n }\n\n if (!this.hasFilter()) {\n this.filteredNodes = null;\n if (this.paginator) {\n this.totalRecords = this.value ? this.value.length : 0;\n }\n }\n else {\n let globalFilterFieldsArray;\n if (this.filters['global']) {\n if (!this.columns && !this.globalFilterFields)\n throw new Error('Global filtering requires dynamic columns or globalFilterFields to be defined.');\n else\n globalFilterFieldsArray = this.globalFilterFields||this.columns;\n }\n\n this.filteredNodes = [];\n const isStrictMode = this.filterMode === 'strict';\n let isValueChanged = false;\n\n for (let node of this.value) {\n let copyNode = {...node};\n let localMatch = true;\n let globalMatch = false;\n let paramsWithoutNode;\n\n for (let prop in this.filters) {\n if (this.filters.hasOwnProperty(prop) && prop !== 'global') {\n let filterMeta = this.filters[prop];\n let filterField = prop;\n let filterValue = filterMeta.value;\n let filterMatchMode = filterMeta.matchMode || 'startsWith';\n let filterConstraint = this.filterService.filters[filterMatchMode];\n paramsWithoutNode = {filterField, filterValue, filterConstraint, isStrictMode};\n if ((isStrictMode && !(this.findFilteredNodes(copyNode, paramsWithoutNode) || this.isFilterMatched(copyNode, paramsWithoutNode))) ||\n (!isStrictMode && !(this.isFilterMatched(copyNode, paramsWithoutNode) || this.findFilteredNodes(copyNode, paramsWithoutNode)))) {\n localMatch = false;\n }\n\n if (!localMatch) {\n break;\n }\n }\n }\n\n if (this.filters['global'] && !globalMatch && globalFilterFieldsArray) {\n for(let j = 0; j < globalFilterFieldsArray.length; j++) {\n let copyNodeForGlobal = {...copyNode};\n let filterField = globalFilterFieldsArray[j].field||globalFilterFieldsArray[j];\n let filterValue = this.filters['global'].value;\n let filterConstraint = this.filterService.filters[this.filters['global'].matchMode];\n paramsWithoutNode = {filterField, filterValue, filterConstraint, isStrictMode};\n\n if ((isStrictMode && (this.findFilteredNodes(copyNodeForGlobal, paramsWithoutNode) || this.isFilterMatched(copyNodeForGlobal, paramsWithoutNode))) ||\n (!isStrictMode && (this.isFilterMatched(copyNodeForGlobal, paramsWithoutNode) || this.findFilteredNodes(copyNodeForGlobal, paramsWithoutNode)))) {\n globalMatch = true;\n copyNode = copyNodeForGlobal;\n }\n }\n }\n\n let matches = localMatch;\n if (this.filters['global']) {\n matches = localMatch && globalMatch;\n }\n\n if (matches) {\n this.filteredNodes.push(copyNode);\n }\n\n isValueChanged = isValueChanged || !localMatch || globalMatch || (localMatch && this.filteredNodes.length > 0) || (!globalMatch && this.filteredNodes.length === 0)\n }\n\n if (!isValueChanged) {\n this.filteredNodes = null;\n }\n\n if (this.paginator) {\n this.totalRecords = this.filteredNodes ? this.filteredNodes.length : this.value ? this.value.length : 0;\n }\n }\n }\n\n this.first = 0;\n\n const filteredValue = this.filteredNodes || this.value;\n\n this.onFilter.emit({\n filters: this.filters,\n filteredValue: filteredValue\n });\n\n this.tableService.onUIUpdate(filteredValue);\n this.updateSerializedValue();\n\n if (this.scrollable) {\n this.resetScrollTop();\n }\n }\n\n findFilteredNodes(node, paramsWithoutNode) {\n if (node) {\n let matched = false;\n if (node.children) {\n let childNodes = [...node.children];\n node.children = [];\n for (let childNode of childNodes) {\n let copyChildNode = {...childNode};\n if (this.isFilterMatched(copyChildNode, paramsWithoutNode)) {\n matched = true;\n node.children.push(copyChildNode);\n }\n }\n }\n\n if (matched) {\n return true;\n }\n }\n }\n\n isFilterMatched(node, {filterField, filterValue, filterConstraint, isStrictMode}) {\n let matched = false;\n let dataFieldValue = ObjectUtils.resolveFieldData(node.data, filterField);\n if (filterConstraint(dataFieldValue, filterValue, this.filterLocale)) {\n matched = true;\n }\n\n if (!matched || (isStrictMode && !this.isNodeLeaf(node))) {\n matched = this.findFilteredNodes(node, {filterField, filterValue, filterConstraint, isStrictMode}) || matched;\n }\n\n return matched;\n }\n\n isNodeLeaf(node) {\n return node.leaf === false ? false : !(node.children && node.children.length);\n }\n\n hasFilter() {\n let empty = true;\n for (let prop in this.filters) {\n if (this.filters.hasOwnProperty(prop)) {\n empty = false;\n break;\n }\n }\n\n return !empty;\n }\n\n public reset() {\n this._sortField = null;\n this._sortOrder = 1;\n this._multiSortMeta = null;\n this.tableService.onSort(null);\n\n this.filteredNodes = null;\n this.filters = {};\n\n this.first = 0;\n\n if (this.lazy) {\n this.onLazyLoad.emit(this.createLazyLoadMetadata());\n }\n else {\n this.totalRecords = (this._value ? this._value.length : 0);\n }\n }\n\n updateEditingCell(cell, data, field) {\n this.editingCell = cell;\n this.editingCellData = data;\n this.editingCellField = field;\n this.bindDocumentEditListener();\n }\n\n isEditingCellValid() {\n return (this.editingCell && DomHandler.find(this.editingCell, '.ng-invalid.ng-dirty').length === 0);\n }\n\n bindDocumentEditListener() {\n if (!this.documentEditListener) {\n this.documentEditListener = (event) => {\n if (this.editingCell && !this.editingCellClick && this.isEditingCellValid()) {\n DomHandler.removeClass(this.editingCell, 'p-cell-editing');\n this.editingCell = null;\n this.onEditComplete.emit({ field: this.editingCellField, data: this.editingCellData });\n this.editingCellField = null;\n this.editingCellData = null;\n this.unbindDocumentEditListener();\n }\n\n this.editingCellClick = false;\n };\n\n document.addEventListener('click', this.documentEditListener);\n }\n }\n\n unbindDocumentEditListener() {\n if (this.documentEditListener) {\n document.removeEventListener('click', this.documentEditListener);\n this.documentEditListener = null;\n }\n }\n\n ngOnDestroy() {\n this.unbindDocumentEditListener();\n this.editingCell = null;\n this.editingCellField = null;\n this.editingCellData = null;\n this.initialized = null;\n }\n\n}\n\n@Component({\n selector: '[pTreeTableBody]',\n template: `\n <ng-container *ngIf=\"!tt.virtualScroll\">\n <ng-template ngFor let-serializedNode let-rowIndex=\"index\" [ngForOf]=\"tt.serializedValue\" [ngForTrackBy]=\"tt.rowTrackBy\">\n <ng-container *ngIf=\"serializedNode.visible\">\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: serializedNode, node: serializedNode.node, rowData: serializedNode.node.data, columns: columns}\"></ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"tt.virtualScroll\">\n <ng-template cdkVirtualFor let-serializedNode let-rowIndex=\"index\" [cdkVirtualForOf]=\"tt.serializedValue\" [cdkVirtualForTrackBy]=\"tt.rowTrackBy\" [cdkVirtualForTemplateCacheSize]=\"0\">\n <ng-container *ngIf=\"serializedNode.visible\">\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: serializedNode, node: serializedNode.node, rowData: serializedNode.node.data, columns: columns}\"></ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"tt.isEmpty()\">\n <ng-container *ngTemplateOutlet=\"tt.emptyMessageTemplate; context: {$implicit: columns, frozen: frozen}\"></ng-container>\n </ng-container>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class TTBody {\n\n @Input(\"pTreeTableBody\") columns: any[];\n\n @Input(\"pTreeTableBodyTemplate\") template: TemplateRef<any>;\n\n @Input() frozen: boolean;\n\n subscription: Subscription;\n\n constructor(public tt: TreeTable, public treeTableService: TreeTableService, public cd: ChangeDetectorRef) {\n this.subscription = this.tt.tableService.uiUpdateSource$.subscribe(() => {\n if (this.tt.virtualScroll) {\n this.cd.detectChanges();\n }\n });\n }\n\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n}\n\n@Component({\n selector: '[ttScrollableView]',\n template: `\n <div #scrollHeader class=\"p-treetable-scrollable-header\">\n <div #scrollHeaderBox class=\"p-treetable-scrollable-header-box\">\n <table class=\"p-treetable-scrollable-header-table\" [ngClass]=\"tt.tableStyleClass\" [ngStyle]=\"tt.tableStyle\">\n <ng-container *ngTemplateOutlet=\"frozen ? tt.frozenColGroupTemplate||tt.colGroupTemplate : tt.colGroupTemplate; context {$implicit: columns}\"></ng-container>\n <thead class=\"p-treetable-thead\">\n <ng-container *ngTemplateOutlet=\"frozen ? tt.frozenHeaderTemplate||tt.headerTemplate : tt.headerTemplate; context {$implicit: columns}\"></ng-container>\n </thead>\n </table>\n </div>\n </div>\n <ng-container *ngIf=\"!tt.virtualScroll; else virtualScrollTemplate\">\n <div #scrollBody class=\"p-treetable-scrollable-body\" [ngStyle]=\"{'max-height': tt.scrollHeight !== 'flex' ? scrollHeight : undefined, 'overflow-y': !frozen && tt.scrollHeight ? 'scroll' : undefined}\">\n <table #scrollTable [class]=\"tt.tableStyleClass\" [ngStyle]=\"tt.tableStyle\">\n <ng-container *ngTemplateOutlet=\"frozen ? tt.frozenColGroupTemplate||tt.colGroupTemplate : tt.colGroupTemplate; context {$implicit: columns}\"></ng-container>\n <tbody class=\"p-treetable-tbody\" [pTreeTableBody]=\"columns\" [pTreeTableBodyTemplate]=\"frozen ? tt.frozenBodyTemplate||tt.bodyTemplate : tt.bodyTemplate\" [frozen]=\"frozen\"></tbody>\n </table>\n <div #scrollableAligner style=\"background-color:transparent\" *ngIf=\"frozen\"></div>\n </div>\n </ng-container>\n <ng-template #virtualScrollTemplate>\n <cdk-virtual-scroll-viewport [itemSize]=\"tt.virtualRowHeight\" [style.height]=\"tt.scrollHeight !== 'flex' ? scrollHeight : undefined\"\n [minBufferPx]=\"tt.minBufferPx\" [maxBufferPx]=\"tt.maxBufferPx\" class=\"p-treetable-virtual-scrollable-body\">\n <table #scrollTable [class]=\"tt.tableStyleClass\" [ngStyle]=\"tt.tableStyle\">\n <ng-container *ngTemplateOutlet=\"frozen ? tt.frozenColGroupTemplate||tt.colGroupTemplate : tt.colGroupTemplate; context {$implicit: columns}\"></ng-container>\n <tbody class=\"p-treetable-tbody\" [pTreeTableBody]=\"columns\" [pTreeTableBodyTemplate]=\"frozen ? tt.frozenBodyTemplate||tt.bodyTemplate : tt.bodyTemplate\" [frozen]=\"frozen\"></tbody>\n </table>\n <div #scrollableAligner style=\"background-color:transparent\" *ngIf=\"frozen\"></div>\n </cdk-virtual-scroll-viewport>\n </ng-template>\n <div #scrollFooter *ngIf=\"tt.footerTemplate\" class=\"p-treetable-scrollable-footer\">\n <div #scrollFooterBox class=\"p-treetable-scrollable-footer-box\">\n <table class=\"p-treetable-scrollable-footer-table\" [ngClass]=\"tt.tableStyleClass\" [ngStyle]=\"tt.tableStyle\">\n <ng-container *ngTemplateOutlet=\"frozen ? tt.frozenColGroupTemplate||tt.colGroupTemplate : tt.colGroupTemplate; context {$implicit: columns}\"></ng-container>\n <tfoot class=\"p-treetable-tfoot\">\n <ng-container *ngTemplateOutlet=\"frozen ? tt.frozenFooterTemplate||tt.footerTemplate : tt.footerTemplate; context {$implicit: columns}\"></ng-container>\n </tfoot>\n </table>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class TTScrollableView implements AfterViewInit, OnDestroy {\n\n @Input(\"ttScrollableView\") columns: any[];\n\n @Input() frozen: boolean;\n\n @ViewChild('scrollHeader') scrollHeaderViewChild: ElementRef;\n\n @ViewChild('scrollHeaderBox') scrollHeaderBoxViewChild: ElementRef;\n\n @ViewChild('scrollBody') scrollBodyViewChild: ElementRef;\n\n @ViewChild('scrollTable') scrollTableViewChild: ElementRef;\n\n @ViewChild('loadingTable') scrollLoadingTableViewChild: ElementRef;\n\n @ViewChild('scrollFooter') scrollFooterViewChild: ElementRef;\n\n @ViewChild('scrollFooterBox') scrollFooterBoxViewChild: ElementRef;\n\n @ViewChild('scrollableAligner') scrollableAlignerViewChild: ElementRef;\n\n @ViewChild(CdkVirtualScrollViewport) virtualScrollBody: CdkVirtualScrollViewport;\n\n headerScrollListener;\n\n bodyScrollListener;\n\n footerScrollListener;\n\n frozenSiblingBody: Element;\n\n totalRecordsSubscription: Subscription;\n\n _scrollHeight: string;\n\n preventBodyScrollPropagation: boolean;\n\n @Input() get scrollHeight(): string {\n return this._scrollHeight;\n }\n set scrollHeight(val: string) {\n this._scrollHeight = val;\n if (val != null && (val.includes('%') || val.includes('calc'))) {\n console.log('Percentage scroll height calculation is removed in favor of the more performant CSS based flex mode, use scrollHeight=\"flex\" instead.')\n }\n\n if (this.tt.virtualScroll && this.virtualScrollBody) {\n this.virtualScrollBody.ngOnInit();\n }\n }\n\n constructor(public tt: TreeTable, public el: ElementRef, public zone: NgZone) {}\n\n ngAfterViewInit() {\n if (!this.frozen) {\n if (this.tt.frozenColumns || this.tt.frozenBodyTemplate) {\n DomHandler.addClass(this.el.nativeElement, 'p-treetable-unfrozen-view');\n }\n\n let frozenView = this.el.nativeElement.previousElementSibling;\n if (frozenView) {\n if (this.tt.virtualScroll)\n this.frozenSiblingBody = DomHandler.findSingle(frozenView, '.p-treetable-virtual-scrollable-body');\n else\n this.frozenSiblingBody = DomHandler.findSingle(frozenView, '.p-treetable-scrollable-body');\n }\n\n let scrollBarWidth = DomHandler.calculateScrollbarWidth();\n this.scrollHeaderBoxViewChild.nativeElement.style.paddingRight = scrollBarWidth + 'px';\n\n if (this.scrollFooterBoxViewChild && this.scrollFooterBoxViewChild.nativeElement) {\n this.scrollFooterBoxViewChild.nativeElement.style.paddingRight = scrollBarWidth + 'px';\n }\n }\n else {\n if (this.scrollableAlignerViewChild && this.scrollableAlignerViewChild.nativeElement) {\n this.scrollableAlignerViewChild.nativeElement.style.height = DomHandler.calculateScrollbarHeight() + 'px';\n }\n }\n\n this.bindEvents();\n }\n\n bindEvents() {\n this.zone.runOutsideAngular(() => {\n if (this.scrollHeaderViewChild && this.scrollHeaderViewChild.nativeElement) {\n this.headerScrollListener = this.onHeaderScroll.bind(this);\n this.scrollHeaderBoxViewChild.nativeElement.addEventListener('scroll', this.headerScrollListener);\n }\n\n if (this.scrollFooterViewChild && this.scrollFooterViewChild.nativeElement) {\n this.footerScrollListener = this.onFooterScroll.bind(this);\n this.scrollFooterViewChild.nativeElement.addEventListener('scroll', this.footerScrollListener);\n }\n\n if (!this.frozen) {\n this.bodyScrollListener = this.onBodyScroll.bind(this);\n\n if (this.tt.virtualScroll)\n this.virtualScrollBody.getElementRef().nativeElement.addEventListener('scroll', this.bodyScrollListener);\n else\n this.scrollBodyViewChild.nativeElement.addEventListener('scroll', this.bodyScrollListener);\n }\n });\n }\n\n unbindEvents() {\n if (this.scrollHeaderViewChild && this.scrollHeaderViewChild.nativeElement) {\n this.scrollHeaderBoxViewChild.nativeElement.removeEventListener('scroll', this.headerScrollListener);\n }\n\n if (this.scrollFooterViewChild && this.scrollFooterViewChild.nativeElement) {\n this.scrollFooterViewChild.nativeElement.removeEventListener('scroll', this.footerScrollListener);\n }\n\n if (this.scrollBodyViewChild && this.scrollBodyViewChild.nativeElement) {\n this.scrollBodyViewChild.nativeElement.removeEventListener('scroll', this.bodyScrollListener);\n }\n\n if (this.virtualScrollBody && this.virtualScrollBody.getElementRef()) {\n this.virtualScrollBody.getElementRef().nativeElement.removeEventListener('scroll', this.bodyScrollListener);\n }\n }\n\n onHeaderScroll() {\n const scrollLeft = this.scrollHeaderViewChild.nativeElement.scrollLeft;\n\n this.scrollBodyViewChild.nativeElement.scrollLeft = scrollLeft;\n\n if (this.scrollFooterViewChild && this.scrollFooterViewChild.nativeElement) {\n this.scrollFooterViewChild.nativeElement.scrollLeft = scrollLeft;\n }\n\n this.preventBodyScrollPropagation = true;\n }\n\n onFooterScroll() {\n const scrollLeft = this.scrollFooterViewChild.nativeElement.scrollLeft;\n this.scrollBodyViewChild.nativeElement.scrollLeft = scrollLeft;\n\n if (this.scrollHeaderViewChild && this.scrollHeaderViewChild.nativeElement) {\n this.scrollHeaderViewChild.nativeElement.scrollLeft = scrollLeft;\n }\n\n this.preventBodyScrollPropagation = true;\n }\n\n onBodyScroll(event) {\n if (this.preventBodyScrollPropagation) {\n this.preventBodyScrollPropagation = false;\n return;\n }\n\n if (this.scrollHeaderViewChild && this.scrollHeaderViewChild.nativeElement) {\n this.scrollHeaderBoxViewChild.nativeElement.style.marginLeft = -1 * event.target.scrollLeft + 'px';\n }\n\n if (this.scrollFooterViewChild && this.scrollFooterViewChild.nativeElement) {\n this.scrollFooterBoxViewChild.nativeElement.style.marginLeft = -1 * event.target.scrollLeft + 'px';\n }\n\n if (this.frozenSiblingBody) {\n this.frozenSiblingBody.scrollTop = event.target.scrollTop;\n }\n }\n\n scrollToVirtualIndex(index: number): void {\n if (this.virtualScrollBody) {\n this.virtualScrollBody.scrollToIndex(index);\n }\n }\n\n scrollTo(options): void {\n if (this.virtualScrollBody) {\n this.virtualScrollBody.scrollTo(options);\n }\n else {\n if (this.scrollBodyViewChild.nativeElement.scrollTo) {\n this.scrollBodyViewChild.nativeElement.scrollTo(options);\n }\n else {\n this.scrollBodyViewChild.nativeElement.scrollLeft = options.left;\n this.scrollBodyViewChild.nativeElement.scrollTop = options.top;\n }\n }\n }\n\n ngOnDestroy() {\n this.unbindEvents();\n\n this.frozenSiblingBody = null;\n }\n}\n\n@Directive({\n selector: '[ttSortableColumn]',\n host: {\n '[class.p-sortable-column]': 'isEnabled()',\n '[class.p-highlight]': 'sorted',\n '[attr.tabindex]': 'isEnabled() ? \"0\" : null',\n '[attr.role]': '\"columnheader\"'\n }\n})\nexport class TTSortableColumn implements OnInit, OnDestroy {\n\n @Input(\"ttSortableColumn\") field: string;\n\n @Input() ttSortableColumnDisabled: boolean;\n\n sorted: boolean;\n\n subscription: Subscription;\n\n constructor(public tt: TreeTable) {\n if (this.isEnabled()) {\n this.subscription = this.tt.tableService.sortSource$.subscribe(sortMeta => {\n this.updateSortState();\n });\n }\n }\n\n ngOnInit() {\n if (this.isEnabled()) {\n this.updateSortState();\n }\n }\n\n updateSortState() {\n this.sorted = this.tt.isSorted(this.field);\n }\n\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent) {\n if (this.isEnabled()) {\n this.updateSortState();\n this.tt.sort({\n originalEvent: event,\n field: this.field\n });\n\n DomHandler.clearSelection();\n }\n }\n\n @HostListener('keydown.enter', ['$event'])\n onEnterKey(event: MouseEvent) {\n this.onClick(event);\n }\n\n isEnabled() {\n return this.ttSortableColumnDisabled !== true;\n }\n\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n}\n\n@Component({\n selector: 'p-treeTableSortIcon',\n template: `\n <i class=\"p-sortable-column-icon pi pi-fw\" [ngClass]=\"{'pi-sort-amount-up-alt': sortOrder === 1, 'pi-sort-amount-down': sortOrder === -1, 'pi-sort-alt': sortOrder === 0}\"></i>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TTSortIcon implements OnInit, OnDestroy {\n\n @Input() field: string;\n\n @Input() ariaLabelDesc: string;\n\n @Input() ariaLabelAsc: string;\n\n subscription: Subscription;\n\n sortOrder: number;\n\n constructor(public tt: TreeTable, public cd: ChangeDetectorRef) {\n this.subscription = this.tt.tableService.sortSource$.subscribe(sortMeta => {\n this.updateSortState();\n this.cd.markForCheck();\n });\n }\n\n ngOnInit() {\n this.updateSortState();\n }\n\n onClick(event){\n event.preventDefault();\n }\n\n updateSortState() {\n if (this.tt.sortMode === 'single') {\n this.sortOrder = this.tt.isSorted(this.field) ? this.tt.sortOrder : 0;\n }\n else if (this.tt.sortMode === 'multiple') {\n let sortMeta = this.tt.getSortMeta(this.field);\n this.sortOrder = sortMeta ? sortMeta.order: 0;\n }\n }\n\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n}\n\n@Directive({\n selector: '[ttResizableColumn]'\n})\nexport class TTResizableColumn implements AfterViewInit, OnDestroy {\n\n @Input() ttResizableColumnDisabled: boolean;\n\n resizer: HTMLSpanElement;\n\n resizerMouseDownListener: any;\n\n documentMouseMoveListener: any;\n\n documentMouseUpListener: any;\n\n constructor(public tt: TreeTable, public el: ElementRef, public zone: NgZone) { }\n\n ngAfterViewInit() {\n if (this.isEnabled()) {\n DomHandler.addClass(this.el.nativeElement, 'p-resizable-column');\n this.resizer = document.createElement('span');\n this.resizer.className = 'p-column-resizer';\n this.el.nativeElement.appendChild(this.resizer);\n\n this.zone.runOutsideAngular(() => {\n this.resizerMouseDownListener = this.onMouseDown.bind(this);\n this.resizer.addEventListener('mousedown', this.resizerMouseDownListener);\n });\n }\n }\n\n bindDocumentEvents() {\n this.zone.runOutsideAngular(() => {\n this.documentMouseMoveListener = this.onDocumentMouseMove.bind(this);\n document.addEventListener('mousemove', this.documentMouseMoveListener);\n\n this.documentMouseUpListener = this.onDocumentMouseUp.bind(this);\n document.addEventListener('mouseup', this.documentMouseUpListener);\n });\n }\n\n unbindDocumentEvents() {\n if (this.documentMouseMoveListener) {\n document.removeEventListener('mousemove', this.documentMouseMoveListener);\n this.documentMouseMoveListener = null;\n }\n\n if (this.documentMouseUpListener) {\n document.removeEventListener('mouseup', this.documentMouseUpListener);\n this.documentMouseUpListener = null;\n }\n }\n\n onMouseDown(event: Event) {\n this.tt.onColumnResizeBegin(event);\n this.bindDocumentEvents();\n }\n\n onDocumentMouseMove(event: Event) {\n this.tt.onColumnResize(event);\n }\n\n onDocumentMouseUp(event: Event) {\n this.tt.onColumnResizeEnd(event, this.el.nativeElement);\n this.unbindDocumentEvents();\n }\n\n isEnabled() {\n return this.ttResizableColumnDisabled !== true;\n }\n\n ngOnDestroy() {\n if (this.resizerMouseDownListener) {\n this.resizer.removeEventListener('mousedown', this.resizerMouseDownListener);\n }\n\n this.unbindDocumentEvents();\n }\n}\n\n@Directive({\n selector: '[ttReorderableColumn]'\n})\nexport class TTReorderableColumn implements AfterViewInit, OnDestroy {\n\n @Input() ttReorderableColumnDisabled: boolean;\n\n dragStartListener: any;\n\n dragOverListener: any;\n\n dragEnterListener: any;\n\n dragLeaveListener: any;\n\n mouseDownListener: any;\n\n constructor(public tt: TreeTable, public el: ElementRef, public zone: NgZone) { }\n\n ngAfterViewInit() {\n if (this.isEnabled()) {\n this.bindEvents();\n }\n }\n\n bindEvents() {\n this.zone.runOutsideAngular(() => {\n this.mouseDownListener = this.onMouseDown.bind(this);\n this.el.nativeElement.addEventListener('mousedown', this.mouseDownListener);\n\n this.dragStartListener = this.onDragStart.bind(this);\n this.el.nativeElement.addEventListener('dragstart', this.dragStartListener);\n\n this.dragOverListener = this.onDragEnter.bind(this);\n this.el.nativeElement.addEventListener('dragover', this.dragOverListener);\n\n this.dragEnterListener = this.onDragEnter.bind(this);\n this.el.nativeElement.addEventListener('dragenter', this.dragEnterListener);\n\n this.dragLeaveListener = this.onDragLeave.bind(this);\n this.el.nativeElement.addEventListener('dragleave', this.dragLeaveListener);\n });\n }\n\n unbindEvents() {\n if (this.mouseDownListener) {\n document.removeEventListener('mousedown', this.mouseDownListener);\n this.mouseDownListener = null;\n }\n\n if (this.dragOverListener) {\n document.removeEventListener('dragover', this.dragOverListener);\n this.dragOverListener = null;\n }\n\n if (this.dragEnterListener) {\n document.removeEventListener('dragenter', this.dragEnterListener);\n this.dragEnterListener = null;\n }\n\n if (this.dragEnterListener) {\n document.removeEventListener('dragenter', this.dragEnterListener);\n this.dragEnterListener = null;\n }\n\n if (this.dragLeaveListener) {\n document.removeEventListener('dragleave', this.dragLeaveListener);\n this.dragLeaveListener = null;\n }\n }\n\n onMouseDown(event) {\n if (event.target.nodeName === 'INPUT' || event.target.nodeName === 'TEXTAREA' || DomHandler.hasClass(event.target, 'p-column-resizer'))\n this.el.nativeElement.draggable = false;\n else\n this.el.nativeElement.draggable = true;\n }\n\n onDragStart(event) {\n this.tt.onColumnDragStart(event, this.el.nativeElement);\n }\n\n onDragOver(event) {\n event.preventDefault();\n }\n\n onDragEnter(event) {\n this.tt.onColumnDragEnter(event, this.el.nativeElement);\n }\n\n onDragLeave(event) {\n this.tt.onColumnDragLeave(event);\n }\n\n @HostListener('drop', ['$event'])\n onDrop(event) {\n if (this.isEnabled()) {\n this.tt.onColumnDrop(event, this.el.nativeElement);\n }\n }\n\n isEnabled() {\n return this.ttReorderableColumnDisabled !== true;\n }\n\n ngOnDestroy() {\n this.unbindEvents();\n }\n\n}\n\n@Directive({\n selector: '[ttSelectableRow]',\n host: {\n '[class.p-highlight]': 'selected'\n }\n})\nexport class TTSelectableRow implements OnInit, OnDestroy {\n\n @Input(\"ttSelectableRow\") rowNode: any;\n\n @Input() ttSelectableRowDisabled: boolean;\n\n selected: boolean;\n\n subscription: Subscription;\n\n constructor(public tt: TreeTable, public tableService: TreeTableService) {\n if (this.isEnabled()) {\n this.subscription = this.tt.tableService.selectionSource$.subscribe(() => {\n this.selected = this.tt.isSelected(this.rowNode.node);\n });\n }\n }\n\n ngOnInit() {\n if (this.isEnabled()) {\n this.selected = this.tt.isSelected(this.rowNode.node);\n }\n }\n\n @HostListener('click', ['$event'])\n onClick(event: Event) {\n if (this.isEnabled()) {\n this.tt.handleRowClick({\n originalEvent: event,\n rowNode: this.rowNode\n });\n }\n }\n\n @HostListener('keydown', ['$event'])\n onEnterKey(event: KeyboardEvent) {\n if (event.which === 13) {\n this.onClick(event);\n }\n }\n\n @HostListener('touchend', ['$event'])\n onTouchEnd(event: Event) {\n if (this.isEnabled()) {\n this.tt.handleRowTouchEnd(event);\n }\n }\n\n isEnabled() {\n return this.ttSelectableRowDisabled !== true;\n }\n\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n}\n\n@Directive({\n selector: '[ttSelectableRowDblClick]',\n host: {\n '[class.p-highlight]': 'selected'\n }\n})\nexport class TTSelectableRowDblClick implements OnInit, OnDestroy {\n\n @Input(\"ttSelectableRowDblClick\") rowNode: any;\n\n @Input() ttSelectableRowDisabled: boolean;\n\n selected: boolean;\n\n subscription: Subscription;\n\n constructor(public tt: TreeTable, public tableService: TreeTableService) {\n if (this.isEnabled()) {\n this.subscription = this.tt.tableService.selectionSource$.subscribe(() => {\n this.selected = this.tt.isSelected(this.rowNode.node);\n });\n }\n }\n\n ngOnInit() {\n if (this.isEnabled()) {\n this.selected = this.tt.isSelected(this.rowNode.node);\n }\n }\n\n @HostListener('dblclick', ['$event'])\n onClick(event: Event) {\n if (this.isEnabled()) {\n this.tt.handleRowClick({\n originalEvent: event,\n rowNode: this.rowNode\n });\n }\n }\n\n isEnabled() {\n return this.ttSelectableRowDisabled !== true;\n }\n\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n}\n\n@Directive({\n selector: '[ttContextMenuRow]',\n host: {\n '[class.p-highlight-contextmenu]': 'selected',\n '[attr.tabindex]': 'isEnabled() ? 0 : undefined'\n }\n})\nexport class TTContextMenuRow {\n\n @Input(\"ttContextMenuRow\") rowNode: any;\n\n @Input() ttContextMenuRowDisabled: boolean;\n\n selected: boolean;\n\n subscription: Subscription;\n\n constructor(public tt: TreeTable, public tableService: TreeTableService, private el: ElementRef) {\n if (this.isEnabled()) {\n this.subscription = this.tt.tableService.contextMenuSource$.subscribe((node) => {\n this.selected = this.tt.equals(this.rowNode.node, node);\n });\n }\n }\n\n @HostListener('contextmenu', ['$event'])\n onContextMenu(event: Event) {\n if (this.isEnabled()) {\n this.tt.handleRowRightClick({\n originalEvent: event,\n rowNode: this.rowNode\n });\n\n this.el.nativeElement.focus();\n\n event.preventDefault();\n }\n }\n\n isEnabled() {\n return this.ttContextMenuRowDisabled !== true;\n }\n\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n}\n\n@Component({\n selector: 'p-treeTableCheckbox',\n template: `\n <div class=\"p-checkbox p-component\" (click)=\"onClick($event)\">\n <div class=\"p-hidden-accessible\">\n <input type=\"checkbox\" [checked]=\"checked\" (focus)=\"onFocus()\" (blur)=\"onBlur()\">\n </div>\n <div #box [ngClass]=\"{'p-checkbox-box':true,\n 'p-highlight':checked, 'p-disabled':disabled}\" role=\"checkbox\" [attr.aria-checked]=\"checked\">\n <span class=\"p-checkbox-icon pi\" [ngClass]=\"{'pi-check':checked, 'pi-minus': rowNode.node.partialSelected}\"></span>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TTCheckbox {\n\n @Input() disabled: boolean;\n\n @Input(\"value\") rowNode: any;\n\n @ViewChild('box') boxViewChild: ElementRef;\n\n checked: boolean;\n\n subscription: Subscription;\n\n constructor(public tt: TreeTable, public tableService: TreeTableService, public cd: ChangeDetectorRef) {\n this.subscription = this.tt.tableService.selectionSource$.subscribe(() => {\n this.checked = this.tt.isSelected(this.rowNode.node);\n this.cd.markForCheck();\n });\n }\n\n ngOnInit() {\n this.checked = this.tt.isSelected(this.rowNode.node);\n }\n\n onClick(event: Event) {\n if (!this.disabled) {\n this.tt.toggleNodeWithCheckbox({\n originalEvent: event,\n rowNode: this.rowNode\n });\n }\n DomHandler.clearSelection();\n }\n\n onFocus() {\n DomHandler.addClass(this.boxViewChild.nativeElement, 'p-focus');\n }\n\n onBlur() {\n DomHandler.removeClass(this.boxViewChild.nativeElement, 'p-focus');\n }\n\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n}\n\n@Component({\n selector: 'p-treeTableHeaderCheckbox',\n template: `\n <div class=\"p-checkbox p-component\" (click)=\"onClick($event, cb.checked)\">\n <div class=\"p-hidden-accessible\">\n <input #cb type=\"checkbox\" [checked]=\"checked\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" [disabled]=\"!tt.value||tt.value.length === 0\">\n </div>\n <div #box [ngClass]=\"{'p-checkbox-box':true,\n 'p-highlight':checked, 'p-disabled': (!tt.value || tt.value.length === 0)}\" role=\"checkbox\" [attr.aria-checked]=\"checked\">\n <span class=\"p-checkbox-icon\" [ngClass]=\"{'pi pi-check':checked}\"></span>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TTHeaderCheckbox {\n\n @ViewChild('box') boxViewChild: ElementRef;\n\n checked: boolean;\n\n disabled: boolean;\n\n selectionChangeSubscription: Subscription;\n\n valueChangeSubscription: Subscription;\n\n constructor(public tt: TreeTable, public tableService: TreeTableService, private cd: ChangeDetectorRef) {\n this.valueChangeSubscription = this.tt.tableService.uiUpdateSource$.subscribe(() => {\n this.checked = this.updateCheckedState();\n });\n\n this.selectionChangeSubscription = this.tt.tableService.selectionSource$.subscribe(() => {\n this.checked = this.updateCheckedState();\n });\n }\n\n ngOnInit() {\n this.checked = this.updateCheckedState();\n }\n\n onClick(event: Event, checked) {\n if (this.tt.value && this.tt.value.length > 0) {\n this.tt.toggleNodesWithCheckbox(event, !checked);\n }\n\n DomHandler.clearSelection();\n }\n\n onFocus() {\n DomHandler.addClass(this.boxViewChild.nativeElement, 'p-focus');\n }\n\n onBlur() {\n DomHandler.removeClass(this.boxViewChild.nativeElement, 'p-focus');\n }\n\n ngOnDestroy() {\n if (this.selectionChangeSubscription) {\n this.selectionChangeSubscription.unsubscribe();\n }\n\n if (this.valueChangeSubscription) {\n this.valueChangeSubscription.unsubscribe();\n }\n }\n\n updateCheckedState() {\n this.cd.markForCheck();\n let checked: boolean;\n const data = this.tt.filteredNodes||this.tt.value;\n\n if (data) {\n for (let node of data) {\n if (this.tt.isSelected(node)) {\n checked = true;\n }\n else {\n checked = false;\n break;\n }\n }\n }\n else {\n checked = false;\n }\n\n return checked;\n }\n\n}\n\n@Directive({\n selector: '[ttEditableColumn]'\n})\nexport class TTEditableColumn implements AfterViewInit {\n\n @Input(\"ttEditableColumn\") data: any;\n\n @Input(\"ttEditableColumnField\") field: any;\n\n @Input() ttEditableColumnDisabled: boolean;\n\n constructor(public tt: TreeTable, public el: ElementRef, public zone: NgZone) {}\n\n ngAfterViewInit() {\n if (this.isEnabled()) {\n DomHandler.addClass(this.el.nativeElement, 'p-editable-column');\n }\n }\n\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent) {\n if (this.isEnabled()) {\n this.tt.editingCellClick = true;\n\n if (this.tt.editingCell) {\n if (this.tt.editingCell !== this.el.nativeElement) {\n if (!this.tt.isEditingCellValid()) {\n return;\n }\n\n DomHandler.removeClass(this.tt.editingCell, 'p-cell-editing');\n this.openCell();\n }\n }\n else {\n this.openCell();\n }\n }\n }\n\n openCell() {\n this.tt.updateEditingCell(this.el.nativeElement, this.data, this.field);\n DomHandler.addClass(this.el.nativeElement, 'p-cell-editing');\n this.tt.onEditInit.emit({ field: this.field, data: this.data});\n this.tt.editingCellClick = true;\n this.zone.runOutsideAngular(() => {\n setTimeout(() => {\n let focusable = DomHandler.findSingle(this.el.nativeElement, 'input, textarea');\n if (focusable) {\n focusable.focus();\n }\n }, 50);\n });\n }\n\n closeEditingCell() {\n DomHandler.removeClass(this.tt.editingCell, 'p-checkbox-icon');\n this.tt.editingCell = null;\n this.tt.unbindDocumentEditListener();\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n if (this.isEnabled()) {\n //enter\n if (event.keyCode == 13) {\n if (this.tt.isEditingCellValid()) {\n DomHandler.removeClass(this.tt.editingCell, 'p-cell-editing');\n this.closeEditingCell();\n this.tt.onEditComplete.emit({ field: this.field, data: this.data });\n }\n\n event.preventDefault();\n }\n\n //escape\n else if (event.keyCode == 27) {\n if (this.tt.isEditingCellValid()) {\n DomHandler.removeClass(this.tt.editingCell, 'p-cell-editing');\n this.closeEditingCell();\n this.tt.onEditCancel.emit({ field: this.field, data: this.data });\n }\n\n event.preventDefault();\n }\n\n //tab\n else if (event.keyCode == 9) {\n this.tt.onEditComplete.emit({ field: this.field, data: this.data });\n\n if (event.shiftKey)\n this.moveToPreviousCell(event);\n else\n this.moveToNextCell(event);\n }\n }\n }\n\n findCell(element) {\n if (element) {\n let cell = element;\n while (cell && !DomHandler.hasClass(cell, 'p-cell-editing')) {\n cell = cell.parentElement;\n }\n\n return cell;\n }\n else {\n return null;\n }\n }\n\n moveToPreviousCell(event: KeyboardEvent) {\n let currentCell = this.findCell(event.target);\n let row = currentCell.parentElement;\n let targetCell = this.findPreviousEditableColumn(currentCell);\n\n if (targetCell) {\n DomHandler.invokeElementMethod(targetCell, 'click');\n event.preventDefault();\n }\n }\n\n moveToNextCell(event: KeyboardEvent) {\n let currentCell = this.findCell(event.target);\n let row = currentCell.parentElement;\n let targetCell = this.findNextEditableColumn(currentCell);\n\n if (targetCell) {\n DomHandler.invokeElementMethod(targetCell, 'click');\n event.preventDefault();\n }\n }\n\n findPreviousEditableColumn(cell: Element) {\n let prevCell = cell.previousElementSibling;\n\n if (!prevCell) {\n let previousRow = cell.parentElement ? cell.parentElement.previousElementSibling : null;\n if (previousRow) {\n prevCell = previousRow.lastElementChild;\n }\n }\n\n if (prevCell) {\n if (DomHandler.hasClass(prevCell, 'p-editable-column'))\n return prevCell;\n else\n return this.findPreviousEditableColumn(prevCell);\n }\n else {\n return null;\n }\n }\n\n findNextEditableColumn(cell: Element) {\n let nextCell = cell.nextElementSibling;\n\n if (!nextCell) {\n let nextRow = cell.parentElement ? cell.parentElement.nextElementSibling : null;\n if (nextRow) {\n nextCell = nextRow.firstElementChild;\n }\n }\n\n if (nextCell) {\n if (DomHandler.hasClass(nextCell, 'p-editable-column'))\n return nextCell;\n else\n return this.findNextEditableColumn(nextCell);\n }\n else {\n return null;\n }\n }\n\n isEnabled() {\n return this.ttEditableColumnDisabled !== true;\n }\n\n}\n\n@Component({\n selector: 'p-treeTableCellEditor',\n template: `\n <ng-container *ngIf=\"tt.editingCell === editableColumn.el.nativeElement\">\n <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!tt.editingCell || tt.editingCell !== editableColumn.el.nativeElement\">\n <ng-container *ngTemplateOutlet=\"outputTemplate\"></ng-container>\n </ng-container>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class TreeTableCellEditor implements AfterContentInit {\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate>;\n\n inputTemplate: TemplateRef<any>;\n\n outputTemplate: TemplateRef<any>;\n\n constructor(public tt: TreeTable, public editableColumn: TTEditableColumn) { }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'input':\n this.inputTemplate = item.template;\n break;\n\n case 'output':\n this.outputTemplate = item.template;\n break;\n }\n });\n }\n}\n\n@Directive({\n selector: '[ttRow]',\n host: {\n '[attr.tabindex]': '\"0\"'\n }\n})\nexport class TTRow {\n\n @Input('ttRow') rowNode: any;\n\n constructor(public tt: TreeTable, public el: ElementRef, public zone: NgZone) {}\n\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n switch (event.which) {\n //down arrow\n case 40:\n let nextRow = this.el.nativeElement.nextElementSibling;\n if (nextRow) {\n nextRow.focus();\n }\n\n event.preventDefault();\n break;\n\n //down arrow\n case 38:\n let prevRow = this.el.nativeElement.previousElementSibling;\n if (prevRow) {\n prevRow.focus();\n }\n\n event.preventDefault();\n break;\n\n //left arrow\n case 37:\n if (this.rowNode.node.expanded) {\n this.tt.toggleRowIndex = DomHandler.index(this.el.nativeElement);\n this.rowNode.node.expanded = false;\n\n this.tt.onNodeCollapse.emit({\n originalEvent: event,\n node: this.rowNode.node\n });\n\n this.tt.updateSerializedValue();\n this.tt.tableService.onUIUpdate(this.tt.value);\n this.restoreFocus();\n }\n break;\n\n //right arrow\n case 39:\n if (!this.rowNode.node.expanded) {\n this.tt.toggleRowIndex = DomHandler.index(this.el.nativeElement);\n this.rowNode.node.expanded = true;\n\n this.tt.onNodeExpand.emit({\n originalEvent: event,\n node: this.rowNode.node\n });\n\n this.tt.updateSerializedValue();\n this.tt.tableService.onUIUpdate(this.tt.value);\n this.restoreFocus();\n }\n break;\n }\n }\n\n restoreFocus() {\n this.zone.runOutsideAngular(() => {\n setTimeout(() => {\n let row = DomHandler.findSingle(this.tt.containerViewChild.nativeElement, '.p-treetable-tbody').children[this.tt.toggleRowIndex];\n if (row) {\n row.focus();\n }\n }, 25);\n });\n }\n}\n\n@Component({\n selector: 'p-treeTableToggler',\n template: `\n <button type=\"button\" class=\"p-treetable-toggler p-link\" (click)=\"onClick($event)\" tabindex=\"-1\" pRipple\n [style.visibility]=\"rowNode.node.leaf === false || (rowNode.node.children && rowNode.node.children.length) ? 'visible' : 'hidden'\" [style.marginLeft]=\"rowNode.level * 16 + 'px'\">\n <i [ngClass]=\"rowNode.node.expanded ? 'pi pi-fw pi-chevron-down' : 'pi pi-fw pi-chevron-right'\"></i>\n </button>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class TreeTableToggler {\n\n @Input() rowNode: any;\n\n constructor(public tt: TreeTable) {}\n\n onClick(event: Event) {\n this.rowNode.node.expanded = !this.rowNode.node.expanded;\n\n if (this.rowNode.node.expanded) {\n this.tt.onNodeExpand.emit({\n originalEvent: event,\n node: this.rowNode.node\n });\n }\n else {\n this.tt.onNodeCollapse.emit({\n originalEvent: event,\n node: this.rowNode.node\n });\n }\n\n this.tt.updateSerializedValue();\n this.tt.tableService.onUIUpdate(this.tt.value);\n\n event.preventDefault();\n }\n}\n\n@NgModule({\n imports: [CommonModule,PaginatorModule,ScrollingModule,RippleModule],\n exports: [TreeTable,SharedModule,TreeTableToggler,TTSortableColumn,TTSortIcon,TTResizableColumn,TTRow,TTReorderableColumn,TTSelectableRow,TTSelectableRowDblClick,TTContextMenuRow,TTCheckbox,TTHeaderCheckbox,TTEditableColumn,TreeTableCellEditor,ScrollingModule],\n declarations: [TreeTable,TreeTableToggler,TTScrollableView,TTBody,TTSortableColumn,TTSortIcon,TTResizableColumn,TTRow,TTReorderableColumn,TTSelectableRow,TTSelectableRowDblClick,TTContextMenuRow,TTCheckbox,TTHeaderCheckbox,TTEditableColumn,TreeTableCellEditor]\n})\nexport class TreeTableModule { }\n"]}
@@ -1,2 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@angular/forms")):"function"==typeof define&&define.amd?define("primeng/tristatecheckbox",["exports","@angular/core","@angular/common","@angular/forms"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).primeng=e.primeng||{},e.primeng.tristatecheckbox={}),e.ng.core,e.ng.common,e.ng.forms)}(this,(function(e,t,n,o){"use strict";var i={provide:o.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return a})),multi:!0},a=function(){function e(e){this.cd=e,this.checkboxTrueIcon="pi pi-check",this.checkboxFalseIcon="pi pi-times",this.onChange=new t.EventEmitter,this.onModelChange=function(){},this.onModelTouched=function(){}}return e.prototype.onClick=function(e,t){this.disabled||this.readonly||(this.toggle(e),this.focused=!0,t.focus())},e.prototype.onKeydown=function(e){32==e.keyCode&&e.preventDefault()},e.prototype.onKeyup=function(e){32!=e.keyCode||this.readonly||(this.toggle(e),e.preventDefault())},e.prototype.toggle=function(e){null==this.value||null==this.value?this.value=!0:1==this.value?this.value=!1:0==this.value&&(this.value=null),this.onModelChange(this.value),this.onChange.emit({originalEvent:e,value:this.value})},e.prototype.onFocus=function(){this.focused=!0},e.prototype.onBlur=function(){this.focused=!1,this.onModelTouched()},e.prototype.registerOnChange=function(e){this.onModelChange=e},e.prototype.registerOnTouched=function(e){this.onModelTouched=e},e.prototype.writeValue=function(e){this.value=e,this.cd.markForCheck()},e.prototype.setDisabledState=function(e){this.disabled=e,this.cd.markForCheck()},e}();a.decorators=[{type:t.Component,args:[{selector:"p-triStateCheckbox",template:'\n <div [ngStyle]="style" [ngClass]="{\'p-checkbox p-component\': true,\'p-checkbox-disabled\': disabled, \'p-checkbox-focused\': focused}" [class]="styleClass">\n <div class="p-hidden-accessible">\n <input #input type="text" [attr.id]="inputId" [name]="name" [attr.tabindex]="tabindex" [readonly]="readonly" [disabled]="disabled" (keyup)="onKeyup($event)" (keydown)="onKeydown($event)" (focus)="onFocus()" (blur)="onBlur()" [attr.aria-labelledby]="ariaLabelledBy" inputmode="none">\n </div>\n <div class="p-checkbox-box" (click)="onClick($event,input)" role="checkbox" [attr.aria-checked]="value === true"\n [ngClass]="{\'p-highlight\':value!=null,\'p-disabled\':disabled,\'p-focus\':focused}">\n <span class="p-checkbox-icon" [ngClass]="value === true ? checkboxTrueIcon : value === false ? checkboxFalseIcon : \'\'"></span>\n </div>\n </div>\n <label class="p-checkbox-label" (click)="onClick($event,input)"\n [ngClass]="{\'p-checkbox-label-active\':value!=null, \'p-disabled\':disabled, \'p-checkbox-label-focus\':focused}"\n *ngIf="label" [attr.for]="inputId">{{label}}</label>\n ',providers:[i],changeDetection:t.ChangeDetectionStrategy.OnPush,encapsulation:t.ViewEncapsulation.None}]}],a.ctorParameters=function(){return[{type:t.ChangeDetectorRef}]},a.propDecorators={disabled:[{type:t.Input}],name:[{type:t.Input}],ariaLabelledBy:[{type:t.Input}],tabindex:[{type:t.Input}],inputId:[{type:t.Input}],style:[{type:t.Input}],styleClass:[{type:t.Input}],label:[{type:t.Input}],readonly:[{type:t.Input}],checkboxTrueIcon:[{type:t.Input}],checkboxFalseIcon:[{type:t.Input}],onChange:[{type:t.Output}]};var l=function(){};l.decorators=[{type:t.NgModule,args:[{imports:[n.CommonModule],exports:[a],declarations:[a]}]}],e.TRISTATECHECKBOX_VALUE_ACCESSOR=i,e.TriStateCheckbox=a,e.TriStateCheckboxModule=l,Object.defineProperty(e,"__esModule",{value:!0})}));
2
- //# sourceMappingURL=primeng-tristatecheckbox.umd.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/app/components/tristatecheckbox/tristatecheckbox.ts"],"names":["TRISTATECHECKBOX_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","TriStateCheckbox","multi","cd","this","checkboxTrueIcon","checkboxFalseIcon","onChange","EventEmitter","onModelChange","onModelTouched","prototype","onClick","event","input","disabled","readonly","toggle","focused","focus","onKeydown","keyCode","preventDefault","onKeyup","value","undefined","emit","originalEvent","onFocus","onBlur","registerOnChange","fn","registerOnTouched","writeValue","markForCheck","setDisabledState","Component","args","selector","template","providers","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","ChangeDetectorRef","Input","Output","NgModule","imports","CommonModule","exports","declarations"],"mappings":"ieAIaA,EAAuC,CAClDC,QAASC,EAAAA,kBACTC,YAAaC,EAAAA,YAAW,WAAM,OAAAC,KAC9BC,OAAO,gBAyBL,SAAAD,EAAoBE,GAAAC,KAAAD,GAAAA,EAoBXC,KAAAC,iBAA2B,cAE3BD,KAAAE,kBAA4B,cAE3BF,KAAAG,SAA8B,IAAIC,EAAAA,aAM5CJ,KAAAK,cAA0B,aAE1BL,KAAAM,eAA2B,oBAE3BT,EAAAU,UAAAC,QAAA,SAAQC,EAAcC,GACbV,KAAKW,UAAaX,KAAKY,WACxBZ,KAAKa,OAAOJ,GACZT,KAAKc,SAAU,EACfJ,EAAMK,UAIdlB,EAAAU,UAAAS,UAAA,SAAUP,GACe,IAAjBA,EAAMQ,SACNR,EAAMS,kBAIdrB,EAAAU,UAAAY,QAAA,SAAQV,GACiB,IAAjBA,EAAMQ,SAAkBjB,KAAKY,WAC7BZ,KAAKa,OAAOJ,GACZA,EAAMS,mBAIdrB,EAAAU,UAAAM,OAAA,SAAOJ,GACe,MAAdT,KAAKoB,OAA+BC,MAAdrB,KAAKoB,MAC3BpB,KAAKoB,OAAQ,EACM,GAAdpB,KAAKoB,MACVpB,KAAKoB,OAAQ,EACM,GAAdpB,KAAKoB,QACVpB,KAAKoB,MAAQ,MAEjBpB,KAAKK,cAAcL,KAAKoB,OACxBpB,KAAKG,SAASmB,KAAK,CACfC,cAAed,EACfW,MAAOpB,KAAKoB,SAIpBvB,EAAAU,UAAAiB,QAAA,WACIxB,KAAKc,SAAU,GAGnBjB,EAAAU,UAAAkB,OAAA,WACIzB,KAAKc,SAAU,EACfd,KAAKM,kBAGTT,EAAAU,UAAAmB,iBAAA,SAAiBC,GACb3B,KAAKK,cAAgBsB,GAGzB9B,EAAAU,UAAAqB,kBAAA,SAAkBD,GACd3B,KAAKM,eAAiBqB,GAG1B9B,EAAAU,UAAAsB,WAAA,SAAWT,GACPpB,KAAKoB,MAAQA,EACbpB,KAAKD,GAAG+B,gBAGZjC,EAAAU,UAAAwB,iBAAA,SAAiBpB,GACbX,KAAKW,SAAWA,EAChBX,KAAKD,GAAG+B,yCApHfE,EAAAA,UAASC,KAAA,CAAC,CACPC,SAAU,qBACVC,SAAU,8sCAcVC,UAAW,CAAC5C,GACZ6C,gBAAiBC,EAAAA,wBAAwBC,OACzCC,cAAeC,EAAAA,kBAAkBC,kDA5B2BC,EAAAA,uDAkC3DC,EAAAA,oBAEAA,EAAAA,8BAEAA,EAAAA,wBAEAA,EAAAA,uBAEAA,EAAAA,qBAEAA,EAAAA,0BAEAA,EAAAA,qBAEAA,EAAAA,wBAEAA,EAAAA,gCAEAA,EAAAA,iCAEAA,EAAAA,wBAEAC,EAAAA,gBA+EL,iCALCC,EAAAA,SAAQb,KAAA,CAAC,CACNc,QAAS,CAACC,EAAAA,cACVC,QAAS,CAACpD,GACVqD,aAAc,CAACrD","sourcesContent":["import {NgModule,Component,Input,Output,EventEmitter,forwardRef,ChangeDetectorRef,ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {NG_VALUE_ACCESSOR, ControlValueAccessor} from '@angular/forms';\n\nexport const TRISTATECHECKBOX_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TriStateCheckbox),\n multi: true\n};\n\n@Component({\n selector: 'p-triStateCheckbox',\n template: `\n <div [ngStyle]=\"style\" [ngClass]=\"{'p-checkbox p-component': true,'p-checkbox-disabled': disabled, 'p-checkbox-focused': focused}\" [class]=\"styleClass\">\n <div class=\"p-hidden-accessible\">\n <input #input type=\"text\" [attr.id]=\"inputId\" [name]=\"name\" [attr.tabindex]=\"tabindex\" [readonly]=\"readonly\" [disabled]=\"disabled\" (keyup)=\"onKeyup($event)\" (keydown)=\"onKeydown($event)\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" [attr.aria-labelledby]=\"ariaLabelledBy\" inputmode=\"none\">\n </div>\n <div class=\"p-checkbox-box\" (click)=\"onClick($event,input)\" role=\"checkbox\" [attr.aria-checked]=\"value === true\"\n [ngClass]=\"{'p-highlight':value!=null,'p-disabled':disabled,'p-focus':focused}\">\n <span class=\"p-checkbox-icon\" [ngClass]=\"value === true ? checkboxTrueIcon : value === false ? checkboxFalseIcon : ''\"></span>\n </div>\n </div>\n <label class=\"p-checkbox-label\" (click)=\"onClick($event,input)\"\n [ngClass]=\"{'p-checkbox-label-active':value!=null, 'p-disabled':disabled, 'p-checkbox-label-focus':focused}\"\n *ngIf=\"label\" [attr.for]=\"inputId\">{{label}}</label>\n `,\n providers: [TRISTATECHECKBOX_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class TriStateCheckbox implements ControlValueAccessor {\n\n constructor(private cd: ChangeDetectorRef) {}\n\n @Input() disabled: boolean;\n\n @Input() name: string;\n\n @Input() ariaLabelledBy: string;\n\n @Input() tabindex: number;\n\n @Input() inputId: string;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() label: string;\n\n @Input() readonly: boolean;\n\n @Input() checkboxTrueIcon: string = 'pi pi-check';\n\n @Input() checkboxFalseIcon: string = 'pi pi-times';\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n focused: boolean;\n\n value: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n onClick(event: Event, input: HTMLInputElement) {\n if (!this.disabled && !this.readonly) {\n this.toggle(event);\n this.focused = true;\n input.focus();\n }\n }\n\n onKeydown(event: KeyboardEvent) {\n if (event.keyCode == 32) {\n event.preventDefault();\n }\n }\n\n onKeyup(event: KeyboardEvent) {\n if (event.keyCode == 32 && !this.readonly) {\n this.toggle(event);\n event.preventDefault();\n }\n }\n\n toggle(event: Event) {\n if (this.value == null || this.value == undefined)\n this.value = true;\n else if (this.value == true)\n this.value = false;\n else if (this.value == false)\n this.value = null;\n\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n })\n }\n\n onFocus() {\n this.focused = true;\n }\n\n onBlur() {\n this.focused = false;\n this.onModelTouched();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n writeValue(value: any) : void {\n this.value = value;\n this.cd.markForCheck();\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n this.cd.markForCheck();\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [TriStateCheckbox],\n declarations: [TriStateCheckbox]\n})\nexport class TriStateCheckboxModule { }\n"]}
@@ -1,2 +0,0 @@
1
- !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define("primeng/utils",["exports"],r):r(((e="undefined"!=typeof globalThis?globalThis:e||self).primeng=e.primeng||{},e.primeng.utils={}))}(this,(function(e){"use strict";var r=function(){function e(){}return e.equals=function(e,r,t){return t?this.resolveFieldData(e,t)===this.resolveFieldData(r,t):this.equalsByValue(e,r)},e.equalsByValue=function(e,r){if(e===r)return!0;if(e&&r&&"object"==typeof e&&"object"==typeof r){var t,n,i,l=Array.isArray(e),a=Array.isArray(r);if(l&&a){if((n=e.length)!=r.length)return!1;for(t=n;0!=t--;)if(!this.equalsByValue(e[t],r[t]))return!1;return!0}if(l!=a)return!1;var u=e instanceof Date,c=r instanceof Date;if(u!=c)return!1;if(u&&c)return e.getTime()==r.getTime();var f=e instanceof RegExp,o=r instanceof RegExp;if(f!=o)return!1;if(f&&o)return e.toString()==r.toString();var s=Object.keys(e);if((n=s.length)!==Object.keys(r).length)return!1;for(t=n;0!=t--;)if(!Object.prototype.hasOwnProperty.call(r,s[t]))return!1;for(t=n;0!=t--;)if(i=s[t],!this.equalsByValue(e[i],r[i]))return!1;return!0}return e!=e&&r!=r},e.resolveFieldData=function(e,r){if(e&&r){if(this.isFunction(r))return r(e);if(-1==r.indexOf("."))return e[r];for(var t=r.split("."),n=e,i=0,l=t.length;i<l;++i){if(null==n)return null;n=n[t[i]]}return n}return null},e.isFunction=function(e){return!!(e&&e.constructor&&e.call&&e.apply)},e.reorderArray=function(e,r,t){e&&r!==t&&(t>=e.length&&(t%=e.length,r%=e.length),e.splice(t,0,e.splice(r,1)[0]))},e.insertIntoOrderedArray=function(e,r,t,n){if(t.length>0){for(var i=!1,l=0;l<t.length;l++){if(this.findIndexInList(t[l],n)>r){t.splice(l,0,e),i=!0;break}}i||t.push(e)}else t.push(e)},e.findIndexInList=function(e,r){var t=-1;if(r)for(var n=0;n<r.length;n++)if(r[n]==e){t=n;break}return t},e.removeAccents=function(e){return e&&e.search(/[\xC0-\xFF]/g)>-1&&(e=e.replace(/[\xC0-\xC5]/g,"A").replace(/[\xC6]/g,"AE").replace(/[\xC7]/g,"C").replace(/[\xC8-\xCB]/g,"E").replace(/[\xCC-\xCF]/g,"I").replace(/[\xD0]/g,"D").replace(/[\xD1]/g,"N").replace(/[\xD2-\xD6\xD8]/g,"O").replace(/[\xD9-\xDC]/g,"U").replace(/[\xDD]/g,"Y").replace(/[\xDE]/g,"P").replace(/[\xE0-\xE5]/g,"a").replace(/[\xE6]/g,"ae").replace(/[\xE7]/g,"c").replace(/[\xE8-\xEB]/g,"e").replace(/[\xEC-\xEF]/g,"i").replace(/[\xF1]/g,"n").replace(/[\xF2-\xF6\xF8]/g,"o").replace(/[\xF9-\xFC]/g,"u").replace(/[\xFE]/g,"p").replace(/[\xFD\xFF]/g,"y")),e},e}();e.lastId=0,e.ObjectUtils=r,e.UniqueComponentId=function(){return e.lastId++,"pr_id_"+e.lastId},Object.defineProperty(e,"__esModule",{value:!0})}));
2
- //# sourceMappingURL=primeng-utils.umd.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/app/components/utils/objectutils.ts","../../src/app/components/utils/uniquecomponentid.ts"],"names":["ObjectUtils","equals","obj1","obj2","field","this","resolveFieldData","equalsByValue","i","length","key","arrA","Array","isArray","arrB","dateA","Date","dateB","getTime","regexpA","RegExp","regexpB","toString","keys","Object","prototype","hasOwnProperty","call","data","isFunction","indexOf","fields","split","value","len","obj","constructor","apply","reorderArray","from","to","splice","insertIntoOrderedArray","item","index","arr","sourceArr","injected","findIndexInList","push","list","removeAccents","str","search","replace","lastId"],"mappings":"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","sourcesContent":["export class ObjectUtils {\n\n public static equals(obj1: any, obj2: any, field?: string): boolean {\n if (field)\n return (this.resolveFieldData(obj1, field) === this.resolveFieldData(obj2, field));\n else\n return this.equalsByValue(obj1, obj2);\n }\n\n public static equalsByValue(obj1: any, obj2: any): boolean {\n if (obj1 === obj2) return true;\n\n if (obj1 && obj2 && typeof obj1 == 'object' && typeof obj2 == 'object') {\n var arrA = Array.isArray(obj1)\n , arrB = Array.isArray(obj2)\n , i\n , length\n , key;\n\n if (arrA && arrB) {\n length = obj1.length;\n if (length != obj2.length) return false;\n for (i = length; i-- !== 0;)\n if (!this.equalsByValue(obj1[i], obj2[i])) return false;\n return true;\n }\n\n if (arrA != arrB) return false;\n\n var dateA = obj1 instanceof Date\n , dateB = obj2 instanceof Date;\n if (dateA != dateB) return false;\n if (dateA && dateB) return obj1.getTime() == obj2.getTime();\n\n var regexpA = obj1 instanceof RegExp\n , regexpB = obj2 instanceof RegExp;\n if (regexpA != regexpB) return false;\n if (regexpA && regexpB) return obj1.toString() == obj2.toString();\n\n var keys = Object.keys(obj1);\n length = keys.length;\n\n if (length !== Object.keys(obj2).length)\n return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(obj2, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n key = keys[i];\n if (!this.equalsByValue(obj1[key], obj2[key])) return false;\n }\n\n return true;\n }\n\n return obj1 !== obj1 && obj2 !== obj2;\n }\n\n public static resolveFieldData(data: any, field: any): any {\n if (data && field) {\n if (this.isFunction(field)) {\n return field(data);\n }\n else if (field.indexOf('.') == -1) {\n return data[field];\n }\n else {\n let fields: string[] = field.split('.');\n let value = data;\n for(let i = 0, len = fields.length; i < len; ++i) {\n if (value == null) {\n return null;\n }\n value = value[fields[i]];\n }\n return value;\n }\n }\n else {\n return null;\n }\n }\n\n public static isFunction(obj: any) {\n return !!(obj && obj.constructor && obj.call && obj.apply);\n }\n\n public static reorderArray(value: any[], from: number, to: number) {\n let target: number;\n if (value && from !== to) {\n if (to >= value.length) {\n to %= value.length;\n from %= value.length;\n }\n value.splice(to, 0, value.splice(from, 1)[0]);\n }\n }\n\n public static insertIntoOrderedArray(item: any, index: number, arr: any[], sourceArr: any[]): void {\n if (arr.length > 0) {\n let injected = false;\n for(let i = 0; i < arr.length; i++) {\n let currentItemIndex = this.findIndexInList(arr[i], sourceArr);\n if (currentItemIndex > index) {\n arr.splice(i, 0, item);\n injected = true;\n break;\n }\n }\n\n if (!injected) {\n arr.push(item);\n }\n }\n else {\n arr.push(item);\n }\n }\n\n public static findIndexInList(item: any, list: any): number {\n let index: number = -1;\n\n if (list) {\n for(let i = 0; i < list.length; i++) {\n if (list[i] == item) {\n index = i;\n break;\n }\n }\n }\n\n return index;\n }\n\n public static removeAccents(str) {\n if (str && str.search(/[\\xC0-\\xFF]/g) > -1) {\n str = str\n .replace(/[\\xC0-\\xC5]/g, \"A\")\n .replace(/[\\xC6]/g, \"AE\")\n .replace(/[\\xC7]/g, \"C\")\n .replace(/[\\xC8-\\xCB]/g, \"E\")\n .replace(/[\\xCC-\\xCF]/g, \"I\")\n .replace(/[\\xD0]/g, \"D\")\n .replace(/[\\xD1]/g, \"N\")\n .replace(/[\\xD2-\\xD6\\xD8]/g, \"O\")\n .replace(/[\\xD9-\\xDC]/g, \"U\")\n .replace(/[\\xDD]/g, \"Y\")\n .replace(/[\\xDE]/g, \"P\")\n .replace(/[\\xE0-\\xE5]/g, \"a\")\n .replace(/[\\xE6]/g, \"ae\")\n .replace(/[\\xE7]/g, \"c\")\n .replace(/[\\xE8-\\xEB]/g, \"e\")\n .replace(/[\\xEC-\\xEF]/g, \"i\")\n .replace(/[\\xF1]/g, \"n\")\n .replace(/[\\xF2-\\xF6\\xF8]/g, \"o\")\n .replace(/[\\xF9-\\xFC]/g, \"u\")\n .replace(/[\\xFE]/g, \"p\")\n .replace(/[\\xFD\\xFF]/g, \"y\");\n }\n \n return str;\n }\n}\n","\nexport var lastId = 0;\n\nexport function UniqueComponentId () {\n let prefix = 'pr_id_';\n lastId++;\n return `${prefix}${lastId}`;\n}"]}
@@ -1,2 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("primeng/api"),require("@angular/cdk/scrolling")):"function"==typeof define&&define.amd?define("primeng/virtualscroller",["exports","@angular/core","@angular/common","primeng/api","@angular/cdk/scrolling"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).primeng=e.primeng||{},e.primeng.virtualscroller={}),e.ng.core,e.ng.common,e.primeng.api,e.ng.cdk.scrolling)}(this,(function(e,t,n,r,o){"use strict";var l=function(){function e(e){this.el=e,this.delay=250,this.trackBy=function(e,t){return t},this.onLazyLoad=new t.EventEmitter,this._totalRecords=0,this.page=0,this._first=0}return Object.defineProperty(e.prototype,"totalRecords",{get:function(){return this._totalRecords},set:function(e){this._totalRecords=e,console.log("totalRecords is deprecated, provide a value with the length of virtual items instead.")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"first",{get:function(){return this._first},set:function(e){this._first=e,console.log("first property is deprecated, use scrollToIndex function to scroll a specific item.")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"cache",{get:function(){return this._cache},set:function(e){this._cache=e,console.log("cache is deprecated as it is always on.")},enumerable:!1,configurable:!0}),e.prototype.ngAfterContentInit=function(){var e=this;this.templates.forEach((function(t){switch(t.getType()){case"item":e.itemTemplate=t.template;break;case"loadingItem":e.loadingItemTemplate=t.template;break;case"header":e.headerTemplate=t.template;break;case"footer":e.footerTemplate=t.template;break;default:e.itemTemplate=t.template}}))},e.prototype.onScrollIndexChange=function(e){var t=this;this.lazy&&(this.virtualScrollTimeout&&clearTimeout(this.virtualScrollTimeout),this.virtualScrollTimeout=setTimeout((function(){var n=Math.floor(e/t.rows),r=0===n?0:(n-1)*t.rows,o=0===n?2*t.rows:3*t.rows;n!==t.virtualPage&&(t.virtualPage=n,t.onLazyLoad.emit({first:r,rows:o}))}),this.delay))},e.prototype.getBlockableElement=function(){return this.el.nativeElement.children[0]},e.prototype.scrollTo=function(e,t){this.scrollToIndex(e,t)},e.prototype.scrollToIndex=function(e,t){this.viewport&&this.viewport.scrollToIndex(e,t)},e}();l.decorators=[{type:t.Component,args:[{selector:"p-virtualScroller",template:'\n <div [ngClass]="\'p-virtualscroller p-component\'" [ngStyle]="style" [class]="styleClass">\n <div class="p-virtualscroller-header" *ngIf="header || headerTemplate">\n <ng-content select="p-header"></ng-content>\n <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>\n </div>\n <div #content class="p-virtualscroller-content">\n <div class="p-virtualscroller-list">\n <cdk-virtual-scroll-viewport #viewport [ngStyle]="{\'height\': scrollHeight}" tabindex="0" [itemSize]="itemSize" [minBufferPx]="minBufferPx" [maxBufferPx]="maxBufferPx" (scrolledIndexChange)="onScrollIndexChange($event)">\n <ng-container *cdkVirtualFor="let item of value; trackBy: trackBy; let i = index; let c = count; let f = first; let l = last; let e = even; let o = odd;">\n <div [ngStyle]="{\'height\': itemSize + \'px\'}" class="p-virtualscroller-item">\n <ng-container *ngTemplateOutlet="item ? itemTemplate : loadingItemTemplate; context: {$implicit: item, index: i, count: c, first: f, last: l, even: e, odd: o}"></ng-container>\n </div>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </div>\n </div>\n <div class="p-virtualscroller-footer" *ngIf="footer || footerTemplate">\n <ng-content select="p-footer"></ng-content>\n <ng-container *ngTemplateOutlet="footerTemplate"></ng-container>\n </div>\n </div>\n ',changeDetection:t.ChangeDetectionStrategy.Default,encapsulation:t.ViewEncapsulation.None,styles:["cdk-virtual-scroll-viewport{outline:0 none}"]}]}],l.ctorParameters=function(){return[{type:t.ElementRef}]},l.propDecorators={value:[{type:t.Input}],itemSize:[{type:t.Input}],style:[{type:t.Input}],styleClass:[{type:t.Input}],scrollHeight:[{type:t.Input}],lazy:[{type:t.Input}],rows:[{type:t.Input}],minBufferPx:[{type:t.Input}],maxBufferPx:[{type:t.Input}],delay:[{type:t.Input}],trackBy:[{type:t.Input}],header:[{type:t.ContentChild,args:[r.Header]}],footer:[{type:t.ContentChild,args:[r.Footer]}],templates:[{type:t.ContentChildren,args:[r.PrimeTemplate]}],viewport:[{type:t.ViewChild,args:[o.CdkVirtualScrollViewport]}],onLazyLoad:[{type:t.Output}],totalRecords:[{type:t.Input}],first:[{type:t.Input}],cache:[{type:t.Input}]};var i=function(){};i.decorators=[{type:t.NgModule,args:[{imports:[n.CommonModule,o.ScrollingModule],exports:[l,r.SharedModule,o.ScrollingModule],declarations:[l]}]}],e.VirtualScroller=l,e.VirtualScrollerModule=i,Object.defineProperty(e,"__esModule",{value:!0})}));
2
- //# sourceMappingURL=primeng-virtualscroller.umd.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/app/components/virtualscroller/virtualscroller.ts"],"names":["VirtualScroller","el","this","delay","trackBy","index","item","onLazyLoad","EventEmitter","_totalRecords","page","_first","Object","defineProperty","prototype","val","console","log","_cache","ngAfterContentInit","_this","templates","forEach","getType","itemTemplate","template","loadingItemTemplate","headerTemplate","footerTemplate","onScrollIndexChange","lazy","virtualScrollTimeout","clearTimeout","setTimeout","Math","floor","rows","virtualScrollOffset","virtualScrollChunkSize","virtualPage","emit","first","getBlockableElement","nativeElement","children","scrollTo","mode","scrollToIndex","viewport","Component","args","selector","changeDetection","ChangeDetectionStrategy","Default","encapsulation","ViewEncapsulation","None","ElementRef","Input","ContentChild","Header","Footer","ContentChildren","PrimeTemplate","ViewChild","CdkVirtualScrollViewport","Output","NgModule","imports","CommonModule","ScrollingModule","exports","SharedModule","declarations"],"mappings":"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","sourcesContent":["import {NgModule,Component,ElementRef,AfterContentInit,Input,Output,ViewChild,EventEmitter,ContentChild,ContentChildren,QueryList,TemplateRef,ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {Header,Footer,PrimeTemplate,SharedModule} from 'primeng/api';\nimport {ScrollingModule,CdkVirtualScrollViewport} from '@angular/cdk/scrolling';\nimport {BlockableUI} from 'primeng/api';\n\n@Component({\n selector: 'p-virtualScroller',\n template:`\n <div [ngClass]=\"'p-virtualscroller p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <div class=\"p-virtualscroller-header\" *ngIf=\"header || headerTemplate\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </div>\n <div #content class=\"p-virtualscroller-content\">\n <div class=\"p-virtualscroller-list\">\n <cdk-virtual-scroll-viewport #viewport [ngStyle]=\"{'height': scrollHeight}\" tabindex=\"0\" [itemSize]=\"itemSize\" [minBufferPx]=\"minBufferPx\" [maxBufferPx]=\"maxBufferPx\" (scrolledIndexChange)=\"onScrollIndexChange($event)\">\n <ng-container *cdkVirtualFor=\"let item of value; trackBy: trackBy; let i = index; let c = count; let f = first; let l = last; let e = even; let o = odd;\">\n <div [ngStyle]=\"{'height': itemSize + 'px'}\" class=\"p-virtualscroller-item\">\n <ng-container *ngTemplateOutlet=\"item ? itemTemplate : loadingItemTemplate; context: {$implicit: item, index: i, count: c, first: f, last: l, even: e, odd: o}\"></ng-container>\n </div>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </div>\n </div>\n <div class=\"p-virtualscroller-footer\" *ngIf=\"footer || footerTemplate\">\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./virtualscroller.css']\n})\nexport class VirtualScroller implements AfterContentInit,BlockableUI {\n\n @Input() value: any[];\n\n @Input() itemSize: number; \n\n @Input() style: any;\n\n @Input() styleClass: string;\n \n @Input() scrollHeight: any;\n\n @Input() lazy: boolean;\n\n @Input() rows: number;\n\n @Input() minBufferPx: number;\n\n @Input() maxBufferPx: number;\n\n @Input() delay: number = 250;\n \n @Input() trackBy: Function = (index: number, item: any) => item;\n \n @ContentChild(Header) header: Header;\n\n @ContentChild(Footer) footer: Footer;\n \n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n @ViewChild(CdkVirtualScrollViewport) viewport: CdkVirtualScrollViewport;\n\n @Output() onLazyLoad: EventEmitter<any> = new EventEmitter();\n\n itemTemplate: TemplateRef<any>;\n\n headerTemplate: TemplateRef<any>;\n\n footerTemplate: TemplateRef<any>;\n\n loadingItemTemplate: TemplateRef<any>;\n\n _totalRecords: number = 0;\n\n page: number = 0;\n\n _first: number = 0;\n\n _cache: boolean;\n\n virtualScrollTimeout: any;\n\n virtualPage: number;\n\n constructor(public el: ElementRef) {}\n\n @Input() get totalRecords(): number {\n return this._totalRecords;\n }\n set totalRecords(val: number) {\n this._totalRecords = val;\n console.log(\"totalRecords is deprecated, provide a value with the length of virtual items instead.\");\n }\n\n @Input() get first(): number {\n return this._first;\n }\n set first(val:number) {\n this._first = val;\n console.log(\"first property is deprecated, use scrollToIndex function to scroll a specific item.\");\n }\n\n @Input() get cache(): boolean {\n return this._cache;\n }\n set cache(val: boolean) {\n this._cache = val;\n console.log(\"cache is deprecated as it is always on.\");\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch(item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'loadingItem':\n this.loadingItemTemplate = item.template;\n break;\n\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'footer':\n this.footerTemplate = item.template;\n break;\n \n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n onScrollIndexChange(index: number) {\n if (this.lazy) {\n if (this.virtualScrollTimeout) {\n clearTimeout(this.virtualScrollTimeout);\n }\n\n this.virtualScrollTimeout = setTimeout(() => {\n let page = Math.floor(index / this.rows);\n let virtualScrollOffset = page === 0 ? 0 : (page - 1) * this.rows;\n let virtualScrollChunkSize = page === 0 ? this.rows * 2 : this.rows * 3;\n \n if (page !== this.virtualPage) {\n this.virtualPage = page;\n this.onLazyLoad.emit({first: virtualScrollOffset, rows: virtualScrollChunkSize});\n }\n }, this.delay);\n }\n }\n\n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n\n //@deprecated\n scrollTo(index: number, mode?: ScrollBehavior): void {\n this.scrollToIndex(index, mode);\n }\n\n scrollToIndex(index: number, mode?: ScrollBehavior): void {\n if (this.viewport) {\n this.viewport.scrollToIndex(index, mode);\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule,ScrollingModule],\n exports: [VirtualScroller,SharedModule,ScrollingModule],\n declarations: [VirtualScroller]\n})\nexport class VirtualScrollerModule { }\n\n"]}
@@ -1,2 +0,0 @@
1
- !function(n){"function"==typeof define&&define.amd?define("primeng",n):n()}((function(){}));
2
- //# sourceMappingURL=primeng.umd.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}