primevue 2.7.0 → 2.9.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 (597) hide show
  1. package/accordion/accordion.common.js +1 -1
  2. package/accordion/accordion.umd.js +1 -1
  3. package/accordiontab/accordiontab.common.js +23 -1
  4. package/accordiontab/accordiontab.umd.js +23 -1
  5. package/accordiontab/accordiontab.umd.min.js +1 -1
  6. package/api/Api.d.ts +296 -0
  7. package/api/Api.js +47 -0
  8. package/api/FilterMatchMode.js +26 -0
  9. package/api/FilterOperator.js +12 -0
  10. package/api/FilterService.js +260 -0
  11. package/api/PrimeIcons.js +246 -0
  12. package/api/ToastSeverity.js +14 -0
  13. package/api/api.common.js +4893 -0
  14. package/api/api.umd.js +4903 -0
  15. package/api/api.umd.min.js +1 -0
  16. package/api/demo.html +8 -0
  17. package/api/filtermatchmode.common.js +186 -0
  18. package/api/filtermatchmode.umd.js +196 -0
  19. package/api/filtermatchmode.umd.min.js +1 -0
  20. package/api/filteroperator.common.js +172 -0
  21. package/api/filteroperator.umd.js +182 -0
  22. package/api/filteroperator.umd.min.js +1 -0
  23. package/{utils/filterutils.common.js → api/filterservice.common.js} +207 -106
  24. package/{utils/filterutils.umd.js → api/filterservice.umd.js} +209 -108
  25. package/api/filterservice.umd.min.js +1 -0
  26. package/api/index.d.ts +1 -0
  27. package/api/index.js +2 -0
  28. package/api/primeicons.common.js +406 -0
  29. package/api/primeicons.umd.js +416 -0
  30. package/api/primeicons.umd.min.js +1 -0
  31. package/api/toastseverity.common.js +174 -0
  32. package/api/toastseverity.umd.js +184 -0
  33. package/api/toastseverity.umd.min.js +1 -0
  34. package/autocomplete/autocomplete.common.js +50 -22
  35. package/autocomplete/autocomplete.umd.js +50 -22
  36. package/autocomplete/autocomplete.umd.min.js +1 -1
  37. package/avatar/avatar.common.js +1 -1
  38. package/avatar/avatar.umd.js +1 -1
  39. package/avatargroup/avatargroup.common.js +1 -1
  40. package/avatargroup/avatargroup.umd.js +1 -1
  41. package/badge/badge.common.js +1 -1
  42. package/badge/badge.umd.js +1 -1
  43. package/badgedirective/badgedirective.common.js +22 -0
  44. package/badgedirective/badgedirective.umd.js +22 -0
  45. package/badgedirective/badgedirective.umd.min.js +1 -1
  46. package/blockui/blockui.common.js +23 -1
  47. package/blockui/blockui.umd.js +23 -1
  48. package/blockui/blockui.umd.min.js +1 -1
  49. package/breadcrumb/breadcrumb.common.js +2 -2
  50. package/breadcrumb/breadcrumb.umd.js +2 -2
  51. package/breadcrumb/breadcrumbitem.common.js +1 -1
  52. package/breadcrumb/breadcrumbitem.umd.js +1 -1
  53. package/button/button.common.js +23 -1
  54. package/button/button.umd.js +23 -1
  55. package/button/button.umd.min.js +1 -1
  56. package/calendar/Calendar.vue +28 -8
  57. package/calendar/calendar.common.js +76 -39
  58. package/calendar/calendar.umd.js +76 -39
  59. package/calendar/calendar.umd.min.js +1 -1
  60. package/card/card.common.js +1 -1
  61. package/card/card.umd.js +1 -1
  62. package/carousel/carousel.common.js +23 -1
  63. package/carousel/carousel.umd.js +23 -1
  64. package/carousel/carousel.umd.min.js +1 -1
  65. package/cascadeselect/cascadeselect.common.js +44 -15
  66. package/cascadeselect/cascadeselect.umd.js +44 -15
  67. package/cascadeselect/cascadeselect.umd.min.js +1 -1
  68. package/cascadeselect/cascadeselectsub.common.js +43 -14
  69. package/cascadeselect/cascadeselectsub.umd.js +43 -14
  70. package/cascadeselect/cascadeselectsub.umd.min.js +1 -1
  71. package/chart/Chart.vue +16 -5
  72. package/chart/chart.common.js +18 -6
  73. package/chart/chart.umd.js +18 -6
  74. package/chart/chart.umd.min.js +1 -1
  75. package/checkbox/checkbox.common.js +26 -14
  76. package/checkbox/checkbox.umd.js +26 -14
  77. package/checkbox/checkbox.umd.min.js +1 -1
  78. package/chip/chip.common.js +1 -1
  79. package/chip/chip.umd.js +1 -1
  80. package/chips/chips.common.js +1 -1
  81. package/chips/chips.umd.js +1 -1
  82. package/colorpicker/colorpicker.common.js +23 -1
  83. package/colorpicker/colorpicker.umd.js +23 -1
  84. package/colorpicker/colorpicker.umd.min.js +1 -1
  85. package/column/Column.d.ts +2 -0
  86. package/column/Column.vue +72 -12
  87. package/column/column.common.js +71 -11
  88. package/column/column.umd.js +71 -11
  89. package/column/column.umd.min.js +1 -1
  90. package/columngroup/columngroup.common.js +1 -1
  91. package/columngroup/columngroup.umd.js +1 -1
  92. package/config/PrimeVue.d.ts +24 -2
  93. package/config/PrimeVue.js +34 -4
  94. package/config/primevue.common.js +3589 -130
  95. package/config/primevue.umd.js +3589 -130
  96. package/config/primevue.umd.min.js +1 -1
  97. package/confirmdialog/confirmdialog.common.js +38 -14
  98. package/confirmdialog/confirmdialog.umd.js +38 -14
  99. package/confirmdialog/confirmdialog.umd.min.js +1 -1
  100. package/confirmpopup/confirmpopup.common.js +24 -2
  101. package/confirmpopup/confirmpopup.umd.js +24 -2
  102. package/confirmpopup/confirmpopup.umd.min.js +1 -1
  103. package/contextmenu/contextmenu.common.js +24 -2
  104. package/contextmenu/contextmenu.umd.js +24 -2
  105. package/contextmenu/contextmenu.umd.min.js +1 -1
  106. package/contextmenu/contextmenusub.common.js +23 -1
  107. package/contextmenu/contextmenusub.umd.js +23 -1
  108. package/contextmenu/contextmenusub.umd.min.js +1 -1
  109. package/contextmenu/demo.html +3 -4
  110. package/datatable/BodyCell.vue +129 -40
  111. package/datatable/ColumnFilter.vue +558 -0
  112. package/datatable/ColumnSlot.vue +36 -1
  113. package/datatable/DataTable.d.ts +36 -8
  114. package/datatable/DataTable.vue +605 -395
  115. package/datatable/FooterCell.vue +82 -0
  116. package/datatable/HeaderCell.vue +246 -0
  117. package/datatable/HeaderCheckbox.vue +7 -4
  118. package/datatable/RowCheckbox.vue +2 -2
  119. package/datatable/RowRadioButton.vue +1 -1
  120. package/datatable/TableBody.vue +79 -19
  121. package/datatable/TableFooter.vue +34 -18
  122. package/datatable/TableHeader.vue +79 -134
  123. package/datatable/bodycell.common.js +640 -71
  124. package/datatable/bodycell.umd.js +640 -71
  125. package/datatable/bodycell.umd.min.js +1 -1
  126. package/datatable/columnfilter.common.js +7616 -0
  127. package/datatable/columnfilter.umd.js +7626 -0
  128. package/datatable/columnfilter.umd.min.js +1 -0
  129. package/datatable/columnslot.common.js +36 -1
  130. package/datatable/columnslot.umd.js +36 -1
  131. package/datatable/columnslot.umd.min.js +1 -1
  132. package/datatable/datatable.common.js +3014 -1849
  133. package/datatable/datatable.umd.js +3014 -1849
  134. package/datatable/datatable.umd.min.js +1 -1
  135. package/datatable/demo.html +3 -3
  136. package/datatable/{scrollableview.common.js → footercell.common.js} +1880 -411
  137. package/datatable/{scrollableview.umd.js → footercell.umd.js} +1882 -413
  138. package/datatable/footercell.umd.min.js +1 -0
  139. package/datatable/headercell.common.js +8082 -0
  140. package/datatable/headercell.umd.js +8092 -0
  141. package/datatable/headercell.umd.min.js +1 -0
  142. package/datatable/headercheckbox.common.js +8 -5
  143. package/datatable/headercheckbox.umd.js +8 -5
  144. package/datatable/headercheckbox.umd.min.js +1 -1
  145. package/datatable/rowcheckbox.common.js +3 -3
  146. package/datatable/rowcheckbox.umd.js +3 -3
  147. package/datatable/rowcheckbox.umd.min.js +1 -1
  148. package/datatable/rowradiobutton.common.js +3 -3
  149. package/datatable/rowradiobutton.umd.js +3 -3
  150. package/datatable/rowradiobutton.umd.min.js +1 -1
  151. package/datatable/tablebody.common.js +1089 -458
  152. package/datatable/tablebody.umd.js +1089 -458
  153. package/datatable/tablebody.umd.min.js +1 -1
  154. package/datatable/tablefooter.common.js +3804 -105
  155. package/datatable/tablefooter.umd.js +3804 -105
  156. package/datatable/tablefooter.umd.min.js +1 -1
  157. package/datatable/tableheader.common.js +6658 -2144
  158. package/datatable/tableheader.umd.js +6658 -2144
  159. package/datatable/tableheader.umd.min.js +1 -1
  160. package/datatable/tableloadingbody.common.js +37 -2
  161. package/datatable/tableloadingbody.umd.js +37 -2
  162. package/datatable/tableloadingbody.umd.min.js +1 -1
  163. package/dataview/dataview.common.js +77 -47
  164. package/dataview/dataview.umd.js +77 -47
  165. package/dataview/dataview.umd.min.js +1 -1
  166. package/dataviewlayoutoptions/dataviewlayoutoptions.common.js +1 -1
  167. package/dataviewlayoutoptions/dataviewlayoutoptions.umd.js +1 -1
  168. package/deferredcontent/deferredcontent.common.js +1 -1
  169. package/deferredcontent/deferredcontent.umd.js +1 -1
  170. package/dialog/Dialog.d.ts +1 -0
  171. package/dialog/Dialog.vue +7 -4
  172. package/dialog/dialog.common.js +33 -12
  173. package/dialog/dialog.umd.js +33 -12
  174. package/dialog/dialog.umd.min.js +1 -1
  175. package/divider/divider.common.js +1 -1
  176. package/divider/divider.umd.js +1 -1
  177. package/dock/dock.common.js +2 -2
  178. package/dock/dock.umd.js +2 -2
  179. package/dock/docksub.common.js +1 -1
  180. package/dock/docksub.umd.js +1 -1
  181. package/dropdown/Dropdown.vue +6 -3
  182. package/dropdown/dropdown.common.js +48 -18
  183. package/dropdown/dropdown.umd.js +48 -18
  184. package/dropdown/dropdown.umd.min.js +1 -1
  185. package/editor/editor.common.js +1 -1
  186. package/editor/editor.umd.js +1 -1
  187. package/fieldset/fieldset.common.js +23 -1
  188. package/fieldset/fieldset.umd.js +23 -1
  189. package/fieldset/fieldset.umd.min.js +1 -1
  190. package/fileupload/fileupload.common.js +26 -4
  191. package/fileupload/fileupload.umd.js +26 -4
  192. package/fileupload/fileupload.umd.min.js +1 -1
  193. package/fullcalendar/fullcalendar.common.js +6 -10
  194. package/fullcalendar/fullcalendar.umd.js +6 -10
  195. package/fullcalendar/fullcalendar.umd.min.js +2 -2
  196. package/galleria/galleria.common.js +26 -8
  197. package/galleria/galleria.umd.js +26 -8
  198. package/galleria/galleria.umd.min.js +1 -1
  199. package/galleria/galleriacontent.common.js +25 -3
  200. package/galleria/galleriacontent.umd.js +25 -3
  201. package/galleria/galleriacontent.umd.min.js +1 -1
  202. package/galleria/galleriaitem.common.js +23 -1
  203. package/galleria/galleriaitem.umd.js +23 -1
  204. package/galleria/galleriaitem.umd.min.js +1 -1
  205. package/galleria/galleriathumbnails.common.js +23 -1
  206. package/galleria/galleriathumbnails.umd.js +23 -1
  207. package/galleria/galleriathumbnails.umd.min.js +1 -1
  208. package/imagepreview/imagepreview.common.js +23 -1
  209. package/imagepreview/imagepreview.umd.js +23 -1
  210. package/imagepreview/imagepreview.umd.min.js +1 -1
  211. package/inlinemessage/inlinemessage.common.js +1 -1
  212. package/inlinemessage/inlinemessage.umd.js +1 -1
  213. package/inplace/inplace.common.js +24 -2
  214. package/inplace/inplace.umd.js +24 -2
  215. package/inplace/inplace.umd.min.js +1 -1
  216. package/inputmask/inputmask.common.js +25 -7
  217. package/inputmask/inputmask.umd.js +25 -7
  218. package/inputmask/inputmask.umd.min.js +1 -1
  219. package/inputnumber/InputNumber.vue +3 -1
  220. package/inputnumber/inputnumber.common.js +33 -14
  221. package/inputnumber/inputnumber.umd.js +33 -14
  222. package/inputnumber/inputnumber.umd.min.js +1 -1
  223. package/inputswitch/inputswitch.common.js +1 -1
  224. package/inputswitch/inputswitch.umd.js +1 -1
  225. package/inputtext/inputtext.common.js +3 -7
  226. package/inputtext/inputtext.umd.js +3 -7
  227. package/inputtext/inputtext.umd.min.js +1 -1
  228. package/knob/Knob.vue +1 -1
  229. package/knob/knob.common.js +3 -3
  230. package/knob/knob.umd.js +3 -3
  231. package/knob/knob.umd.min.js +1 -1
  232. package/listbox/listbox.common.js +43 -14
  233. package/listbox/listbox.umd.js +43 -14
  234. package/listbox/listbox.umd.min.js +1 -1
  235. package/megamenu/megamenu.common.js +23 -1
  236. package/megamenu/megamenu.umd.js +23 -1
  237. package/megamenu/megamenu.umd.min.js +1 -1
  238. package/menu/menu.common.js +24 -2
  239. package/menu/menu.umd.js +24 -2
  240. package/menu/menu.umd.min.js +1 -1
  241. package/menu/menuitem.common.js +23 -1
  242. package/menu/menuitem.umd.js +23 -1
  243. package/menu/menuitem.umd.min.js +1 -1
  244. package/menubar/menubar.common.js +24 -2
  245. package/menubar/menubar.umd.js +24 -2
  246. package/menubar/menubar.umd.min.js +1 -1
  247. package/menubar/menubarsub.common.js +23 -1
  248. package/menubar/menubarsub.umd.js +23 -1
  249. package/menubar/menubarsub.umd.min.js +1 -1
  250. package/message/message.common.js +23 -1
  251. package/message/message.umd.js +23 -1
  252. package/message/message.umd.min.js +1 -1
  253. package/multiselect/MultiSelect.vue +2 -2
  254. package/multiselect/multiselect.common.js +45 -16
  255. package/multiselect/multiselect.umd.js +45 -16
  256. package/multiselect/multiselect.umd.min.js +1 -1
  257. package/orderlist/OrderList.d.ts +1 -0
  258. package/orderlist/OrderList.vue +12 -1
  259. package/orderlist/orderlist.common.js +57 -17
  260. package/orderlist/orderlist.umd.js +57 -17
  261. package/orderlist/orderlist.umd.min.js +1 -1
  262. package/organizationchart/organizationchart.common.js +26 -8
  263. package/organizationchart/organizationchart.umd.js +26 -8
  264. package/organizationchart/organizationchart.umd.min.js +1 -1
  265. package/organizationchart/organizationchartnode.common.js +23 -1
  266. package/organizationchart/organizationchartnode.umd.js +23 -1
  267. package/organizationchart/organizationchartnode.umd.min.js +1 -1
  268. package/overlayeventbus/OverlayEventBus.js +14 -0
  269. package/overlayeventbus/demo.html +8 -0
  270. package/overlayeventbus/index.d.ts +1 -0
  271. package/overlayeventbus/index.js +2 -0
  272. package/overlayeventbus/overlayeventbus.common.js +1777 -0
  273. package/overlayeventbus/overlayeventbus.umd.js +1787 -0
  274. package/overlayeventbus/overlayeventbus.umd.min.js +1 -0
  275. package/overlaypanel/overlaypanel.common.js +23 -1
  276. package/overlaypanel/overlaypanel.umd.js +23 -1
  277. package/overlaypanel/overlaypanel.umd.min.js +1 -1
  278. package/package.json +1 -1
  279. package/paginator/currentpagereport.common.js +1 -1
  280. package/paginator/currentpagereport.umd.js +1 -1
  281. package/paginator/firstpagelink.common.js +23 -1
  282. package/paginator/firstpagelink.umd.js +23 -1
  283. package/paginator/firstpagelink.umd.min.js +1 -1
  284. package/paginator/jumptopagedropdown.common.js +52 -22
  285. package/paginator/jumptopagedropdown.umd.js +52 -22
  286. package/paginator/jumptopagedropdown.umd.min.js +1 -1
  287. package/paginator/jumptopageinput.common.js +38 -19
  288. package/paginator/jumptopageinput.umd.js +38 -19
  289. package/paginator/jumptopageinput.umd.min.js +1 -1
  290. package/paginator/lastpagelink.common.js +23 -1
  291. package/paginator/lastpagelink.umd.js +23 -1
  292. package/paginator/lastpagelink.umd.min.js +1 -1
  293. package/paginator/nextpagelink.common.js +23 -1
  294. package/paginator/nextpagelink.umd.js +23 -1
  295. package/paginator/nextpagelink.umd.min.js +1 -1
  296. package/paginator/pagelinks.common.js +23 -1
  297. package/paginator/pagelinks.umd.js +23 -1
  298. package/paginator/pagelinks.umd.min.js +1 -1
  299. package/paginator/paginator.common.js +76 -46
  300. package/paginator/paginator.umd.js +76 -46
  301. package/paginator/paginator.umd.min.js +1 -1
  302. package/paginator/prevpagelink.common.js +23 -1
  303. package/paginator/prevpagelink.umd.js +23 -1
  304. package/paginator/prevpagelink.umd.min.js +1 -1
  305. package/paginator/rowsperpagedropdown.common.js +52 -22
  306. package/paginator/rowsperpagedropdown.umd.js +52 -22
  307. package/paginator/rowsperpagedropdown.umd.min.js +1 -1
  308. package/panel/panel.common.js +23 -1
  309. package/panel/panel.umd.js +23 -1
  310. package/panel/panel.umd.min.js +1 -1
  311. package/panelmenu/PanelMenuSub.vue +2 -2
  312. package/panelmenu/panelmenu.common.js +9 -9
  313. package/panelmenu/panelmenu.umd.js +9 -9
  314. package/panelmenu/panelmenu.umd.min.js +1 -1
  315. package/panelmenu/panelmenusub.common.js +4 -4
  316. package/panelmenu/panelmenusub.umd.js +4 -4
  317. package/panelmenu/panelmenusub.umd.min.js +1 -1
  318. package/password/password.common.js +26 -8
  319. package/password/password.umd.js +26 -8
  320. package/password/password.umd.min.js +1 -1
  321. package/picklist/PickList.d.ts +1 -0
  322. package/picklist/PickList.vue +10 -4
  323. package/picklist/picklist.common.js +55 -20
  324. package/picklist/picklist.umd.js +55 -20
  325. package/picklist/picklist.umd.min.js +1 -1
  326. package/progressbar/progressbar.common.js +1 -1
  327. package/progressbar/progressbar.umd.js +1 -1
  328. package/progressspinner/progressspinner.common.js +1 -1
  329. package/progressspinner/progressspinner.umd.js +1 -1
  330. package/radiobutton/radiobutton.common.js +26 -14
  331. package/radiobutton/radiobutton.umd.js +26 -14
  332. package/radiobutton/radiobutton.umd.min.js +1 -1
  333. package/rating/rating.common.js +1 -1
  334. package/rating/rating.umd.js +1 -1
  335. package/resources/themes/arya-blue/theme.css +299 -22
  336. package/resources/themes/arya-green/theme.css +299 -22
  337. package/resources/themes/arya-orange/theme.css +299 -22
  338. package/resources/themes/arya-purple/theme.css +299 -22
  339. package/resources/themes/bootstrap4-dark-blue/theme.css +287 -6
  340. package/resources/themes/bootstrap4-dark-purple/theme.css +287 -6
  341. package/resources/themes/bootstrap4-light-blue/theme.css +286 -5
  342. package/resources/themes/bootstrap4-light-purple/theme.css +286 -5
  343. package/resources/themes/fluent-light/theme.css +298 -21
  344. package/resources/themes/lara-dark-blue/theme.css +638 -405
  345. package/resources/themes/lara-dark-indigo/theme.css +638 -405
  346. package/resources/themes/lara-dark-purple/theme.css +638 -405
  347. package/resources/themes/lara-dark-teal/theme.css +638 -405
  348. package/resources/themes/lara-light-blue/theme.css +398 -165
  349. package/resources/themes/lara-light-indigo/theme.css +305 -72
  350. package/resources/themes/lara-light-purple/theme.css +305 -72
  351. package/resources/themes/lara-light-teal/theme.css +305 -72
  352. package/resources/themes/luna-amber/theme.css +298 -21
  353. package/resources/themes/luna-blue/theme.css +298 -21
  354. package/resources/themes/luna-green/theme.css +298 -21
  355. package/resources/themes/luna-pink/theme.css +298 -21
  356. package/resources/themes/md-dark-deeppurple/theme.css +372 -12
  357. package/resources/themes/md-dark-indigo/theme.css +372 -12
  358. package/resources/themes/md-light-deeppurple/theme.css +369 -9
  359. package/resources/themes/md-light-indigo/theme.css +369 -9
  360. package/resources/themes/mdc-dark-deeppurple/theme.css +372 -12
  361. package/resources/themes/mdc-dark-indigo/theme.css +372 -12
  362. package/resources/themes/mdc-light-deeppurple/theme.css +369 -9
  363. package/resources/themes/mdc-light-indigo/theme.css +369 -9
  364. package/resources/themes/nova/theme.css +298 -21
  365. package/resources/themes/nova-accent/theme.css +298 -21
  366. package/resources/themes/nova-alt/theme.css +298 -21
  367. package/resources/themes/nova-vue/theme.css +298 -21
  368. package/resources/themes/rhea/theme.css +298 -21
  369. package/resources/themes/saga-blue/theme.css +282 -5
  370. package/resources/themes/saga-green/theme.css +282 -5
  371. package/resources/themes/saga-orange/theme.css +282 -5
  372. package/resources/themes/saga-purple/theme.css +282 -5
  373. package/resources/themes/tailwind-light/theme.css +301 -24
  374. package/resources/themes/vela-blue/theme.css +299 -22
  375. package/resources/themes/vela-green/theme.css +299 -22
  376. package/resources/themes/vela-orange/theme.css +299 -22
  377. package/resources/themes/vela-purple/theme.css +299 -22
  378. package/ripple/ripple.common.js +22 -0
  379. package/ripple/ripple.umd.js +22 -0
  380. package/ripple/ripple.umd.min.js +1 -1
  381. package/row/row.common.js +1 -1
  382. package/row/row.umd.js +1 -1
  383. package/scrollpanel/scrollpanel.common.js +23 -1
  384. package/scrollpanel/scrollpanel.umd.js +23 -1
  385. package/scrollpanel/scrollpanel.umd.min.js +1 -1
  386. package/scrolltop/scrolltop.common.js +23 -1
  387. package/scrolltop/scrolltop.umd.js +23 -1
  388. package/scrolltop/scrolltop.umd.min.js +1 -1
  389. package/selectbutton/selectbutton.common.js +43 -14
  390. package/selectbutton/selectbutton.umd.js +43 -14
  391. package/selectbutton/selectbutton.umd.min.js +1 -1
  392. package/sidebar/Sidebar.vue +2 -0
  393. package/sidebar/sidebar.common.js +25 -3
  394. package/sidebar/sidebar.umd.js +25 -3
  395. package/sidebar/sidebar.umd.min.js +1 -1
  396. package/skeleton/skeleton.common.js +1 -1
  397. package/skeleton/skeleton.umd.js +1 -1
  398. package/slider/Slider.vue +20 -12
  399. package/slider/slider.common.js +36 -9
  400. package/slider/slider.umd.js +36 -9
  401. package/slider/slider.umd.min.js +1 -1
  402. package/speeddial/speeddial.common.js +26 -8
  403. package/speeddial/speeddial.umd.js +26 -8
  404. package/speeddial/speeddial.umd.min.js +1 -1
  405. package/splitbutton/SplitButton.vue +7 -3
  406. package/splitbutton/splitbutton.common.js +66 -44
  407. package/splitbutton/splitbutton.umd.js +66 -44
  408. package/splitbutton/splitbutton.umd.min.js +1 -1
  409. package/splitter/splitter.common.js +22 -0
  410. package/splitter/splitter.umd.js +22 -0
  411. package/splitter/splitter.umd.min.js +1 -1
  412. package/steps/Steps.vue +1 -1
  413. package/steps/steps.common.js +3 -3
  414. package/steps/steps.umd.js +3 -3
  415. package/steps/steps.umd.min.js +1 -1
  416. package/styleclass/styleclass.common.js +22 -0
  417. package/styleclass/styleclass.umd.js +22 -0
  418. package/styleclass/styleclass.umd.min.js +1 -1
  419. package/tabmenu/tabmenu.common.js +23 -1
  420. package/tabmenu/tabmenu.umd.js +23 -1
  421. package/tabmenu/tabmenu.umd.min.js +1 -1
  422. package/tabpanel/tabpanel.common.js +1 -1
  423. package/tabpanel/tabpanel.umd.js +1 -1
  424. package/tabview/TabView.vue +1 -1
  425. package/tabview/tabview.common.js +45 -16
  426. package/tabview/tabview.umd.js +45 -16
  427. package/tabview/tabview.umd.min.js +1 -1
  428. package/tag/Tag.vue +1 -1
  429. package/tag/tag.common.js +3 -3
  430. package/tag/tag.umd.js +3 -3
  431. package/tag/tag.umd.min.js +1 -1
  432. package/terminal/terminal.common.js +1 -1
  433. package/terminal/terminal.umd.js +1 -1
  434. package/textarea/textarea.common.js +3 -7
  435. package/textarea/textarea.umd.js +3 -7
  436. package/textarea/textarea.umd.min.js +1 -1
  437. package/tieredmenu/demo.html +3 -4
  438. package/tieredmenu/tieredmenu.common.js +24 -2
  439. package/tieredmenu/tieredmenu.umd.js +24 -2
  440. package/tieredmenu/tieredmenu.umd.min.js +1 -1
  441. package/tieredmenu/tieredmenusub.common.js +23 -1
  442. package/tieredmenu/tieredmenusub.umd.js +23 -1
  443. package/tieredmenu/tieredmenusub.umd.min.js +1 -1
  444. package/timeline/timeline.common.js +26 -14
  445. package/timeline/timeline.umd.js +26 -14
  446. package/timeline/timeline.umd.min.js +1 -1
  447. package/toast/toast.common.js +24 -2
  448. package/toast/toast.umd.js +24 -2
  449. package/toast/toast.umd.min.js +1 -1
  450. package/toast/toastmessage.common.js +23 -1
  451. package/toast/toastmessage.umd.js +23 -1
  452. package/toast/toastmessage.umd.min.js +1 -1
  453. package/togglebutton/togglebutton.common.js +23 -1
  454. package/togglebutton/togglebutton.umd.js +23 -1
  455. package/togglebutton/togglebutton.umd.min.js +1 -1
  456. package/toolbar/toolbar.common.js +1 -1
  457. package/toolbar/toolbar.umd.js +1 -1
  458. package/tooltip/Tooltip.js +1 -1
  459. package/tooltip/tooltip.common.js +29 -13
  460. package/tooltip/tooltip.umd.js +29 -13
  461. package/tooltip/tooltip.umd.min.js +1 -1
  462. package/tree/Tree.vue +1 -0
  463. package/tree/tree.common.js +53 -26
  464. package/tree/tree.umd.js +53 -26
  465. package/tree/tree.umd.min.js +1 -1
  466. package/tree/treenode.common.js +25 -7
  467. package/tree/treenode.umd.js +25 -7
  468. package/tree/treenode.umd.min.js +1 -1
  469. package/treetable/FooterCell.vue +81 -0
  470. package/treetable/HeaderCell.vue +183 -0
  471. package/treetable/TreeTable.d.ts +1 -0
  472. package/treetable/TreeTable.vue +65 -106
  473. package/treetable/TreeTableRow.vue +7 -4
  474. package/treetable/footercell.common.js +5304 -0
  475. package/treetable/footercell.umd.js +5314 -0
  476. package/treetable/footercell.umd.min.js +1 -0
  477. package/treetable/headercell.common.js +5533 -0
  478. package/treetable/headercell.umd.js +5543 -0
  479. package/treetable/headercell.umd.min.js +1 -0
  480. package/treetable/treetable.common.js +944 -507
  481. package/treetable/treetable.umd.js +944 -507
  482. package/treetable/treetable.umd.min.js +1 -1
  483. package/treetable/treetablerow.common.js +53 -22
  484. package/treetable/treetablerow.umd.js +53 -22
  485. package/treetable/treetablerow.umd.min.js +1 -1
  486. package/treetable/treetablerowloader.common.js +56 -26
  487. package/treetable/treetablerowloader.umd.js +56 -26
  488. package/treetable/treetablerowloader.umd.min.js +1 -1
  489. package/tristatecheckbox/tristatecheckbox.common.js +1 -1
  490. package/tristatecheckbox/tristatecheckbox.umd.js +1 -1
  491. package/utils/ConnectedOverlayScrollHandler.js +1 -1
  492. package/utils/DomHandler.js +18 -1
  493. package/utils/ObjectUtils.js +15 -2
  494. package/utils/Utils.d.ts +73 -0
  495. package/utils/Utils.js +47 -0
  496. package/utils/connectedoverlayscrollhandler.common.js +22 -0
  497. package/utils/connectedoverlayscrollhandler.umd.js +22 -0
  498. package/utils/connectedoverlayscrollhandler.umd.min.js +1 -1
  499. package/utils/demo.html +3 -3
  500. package/utils/domhandler.common.js +22 -0
  501. package/utils/domhandler.umd.js +22 -0
  502. package/utils/domhandler.umd.min.js +1 -1
  503. package/utils/index.d.ts +1 -0
  504. package/utils/index.js +2 -0
  505. package/utils/objectutils.common.js +25 -13
  506. package/utils/objectutils.umd.js +25 -13
  507. package/utils/objectutils.umd.min.js +1 -1
  508. package/utils/utils.common.js +5486 -0
  509. package/utils/utils.umd.js +5496 -0
  510. package/utils/utils.umd.min.js +1 -0
  511. package/vetur-attributes.json +28 -0
  512. package/vetur-tags.json +11 -4
  513. package/web-types.json +84 -1
  514. package/datatable/ScrollableView.vue +0 -223
  515. package/datatable/scrollableview.umd.min.js +0 -1
  516. package/resources/themes/lara-dark-blue/fonts/Inter-Bold.woff +0 -0
  517. package/resources/themes/lara-dark-blue/fonts/Inter-Bold.woff2 +0 -0
  518. package/resources/themes/lara-dark-blue/fonts/Inter-Light.woff +0 -0
  519. package/resources/themes/lara-dark-blue/fonts/Inter-Light.woff2 +0 -0
  520. package/resources/themes/lara-dark-blue/fonts/Inter-Medium.woff +0 -0
  521. package/resources/themes/lara-dark-blue/fonts/Inter-Medium.woff2 +0 -0
  522. package/resources/themes/lara-dark-blue/fonts/Inter-Regular.woff +0 -0
  523. package/resources/themes/lara-dark-blue/fonts/Inter-Regular.woff2 +0 -0
  524. package/resources/themes/lara-dark-blue/fonts/Inter-SemiBold.woff +0 -0
  525. package/resources/themes/lara-dark-blue/fonts/Inter-SemiBold.woff2 +0 -0
  526. package/resources/themes/lara-dark-indigo/fonts/Inter-Bold.woff +0 -0
  527. package/resources/themes/lara-dark-indigo/fonts/Inter-Bold.woff2 +0 -0
  528. package/resources/themes/lara-dark-indigo/fonts/Inter-Light.woff +0 -0
  529. package/resources/themes/lara-dark-indigo/fonts/Inter-Light.woff2 +0 -0
  530. package/resources/themes/lara-dark-indigo/fonts/Inter-Medium.woff +0 -0
  531. package/resources/themes/lara-dark-indigo/fonts/Inter-Medium.woff2 +0 -0
  532. package/resources/themes/lara-dark-indigo/fonts/Inter-Regular.woff +0 -0
  533. package/resources/themes/lara-dark-indigo/fonts/Inter-Regular.woff2 +0 -0
  534. package/resources/themes/lara-dark-indigo/fonts/Inter-SemiBold.woff +0 -0
  535. package/resources/themes/lara-dark-indigo/fonts/Inter-SemiBold.woff2 +0 -0
  536. package/resources/themes/lara-dark-purple/fonts/Inter-Bold.woff +0 -0
  537. package/resources/themes/lara-dark-purple/fonts/Inter-Bold.woff2 +0 -0
  538. package/resources/themes/lara-dark-purple/fonts/Inter-Light.woff +0 -0
  539. package/resources/themes/lara-dark-purple/fonts/Inter-Light.woff2 +0 -0
  540. package/resources/themes/lara-dark-purple/fonts/Inter-Medium.woff +0 -0
  541. package/resources/themes/lara-dark-purple/fonts/Inter-Medium.woff2 +0 -0
  542. package/resources/themes/lara-dark-purple/fonts/Inter-Regular.woff +0 -0
  543. package/resources/themes/lara-dark-purple/fonts/Inter-Regular.woff2 +0 -0
  544. package/resources/themes/lara-dark-purple/fonts/Inter-SemiBold.woff +0 -0
  545. package/resources/themes/lara-dark-purple/fonts/Inter-SemiBold.woff2 +0 -0
  546. package/resources/themes/lara-dark-teal/fonts/Inter-Bold.woff +0 -0
  547. package/resources/themes/lara-dark-teal/fonts/Inter-Bold.woff2 +0 -0
  548. package/resources/themes/lara-dark-teal/fonts/Inter-Light.woff +0 -0
  549. package/resources/themes/lara-dark-teal/fonts/Inter-Light.woff2 +0 -0
  550. package/resources/themes/lara-dark-teal/fonts/Inter-Medium.woff +0 -0
  551. package/resources/themes/lara-dark-teal/fonts/Inter-Medium.woff2 +0 -0
  552. package/resources/themes/lara-dark-teal/fonts/Inter-Regular.woff +0 -0
  553. package/resources/themes/lara-dark-teal/fonts/Inter-Regular.woff2 +0 -0
  554. package/resources/themes/lara-dark-teal/fonts/Inter-SemiBold.woff +0 -0
  555. package/resources/themes/lara-dark-teal/fonts/Inter-SemiBold.woff2 +0 -0
  556. package/resources/themes/lara-light-blue/fonts/Inter-Bold.woff +0 -0
  557. package/resources/themes/lara-light-blue/fonts/Inter-Bold.woff2 +0 -0
  558. package/resources/themes/lara-light-blue/fonts/Inter-Light.woff +0 -0
  559. package/resources/themes/lara-light-blue/fonts/Inter-Light.woff2 +0 -0
  560. package/resources/themes/lara-light-blue/fonts/Inter-Medium.woff +0 -0
  561. package/resources/themes/lara-light-blue/fonts/Inter-Medium.woff2 +0 -0
  562. package/resources/themes/lara-light-blue/fonts/Inter-Regular.woff +0 -0
  563. package/resources/themes/lara-light-blue/fonts/Inter-Regular.woff2 +0 -0
  564. package/resources/themes/lara-light-blue/fonts/Inter-SemiBold.woff +0 -0
  565. package/resources/themes/lara-light-blue/fonts/Inter-SemiBold.woff2 +0 -0
  566. package/resources/themes/lara-light-indigo/fonts/Inter-Bold.woff +0 -0
  567. package/resources/themes/lara-light-indigo/fonts/Inter-Bold.woff2 +0 -0
  568. package/resources/themes/lara-light-indigo/fonts/Inter-Light.woff +0 -0
  569. package/resources/themes/lara-light-indigo/fonts/Inter-Light.woff2 +0 -0
  570. package/resources/themes/lara-light-indigo/fonts/Inter-Medium.woff +0 -0
  571. package/resources/themes/lara-light-indigo/fonts/Inter-Medium.woff2 +0 -0
  572. package/resources/themes/lara-light-indigo/fonts/Inter-Regular.woff +0 -0
  573. package/resources/themes/lara-light-indigo/fonts/Inter-Regular.woff2 +0 -0
  574. package/resources/themes/lara-light-indigo/fonts/Inter-SemiBold.woff +0 -0
  575. package/resources/themes/lara-light-indigo/fonts/Inter-SemiBold.woff2 +0 -0
  576. package/resources/themes/lara-light-purple/fonts/Inter-Bold.woff +0 -0
  577. package/resources/themes/lara-light-purple/fonts/Inter-Bold.woff2 +0 -0
  578. package/resources/themes/lara-light-purple/fonts/Inter-Light.woff +0 -0
  579. package/resources/themes/lara-light-purple/fonts/Inter-Light.woff2 +0 -0
  580. package/resources/themes/lara-light-purple/fonts/Inter-Medium.woff +0 -0
  581. package/resources/themes/lara-light-purple/fonts/Inter-Medium.woff2 +0 -0
  582. package/resources/themes/lara-light-purple/fonts/Inter-Regular.woff +0 -0
  583. package/resources/themes/lara-light-purple/fonts/Inter-Regular.woff2 +0 -0
  584. package/resources/themes/lara-light-purple/fonts/Inter-SemiBold.woff +0 -0
  585. package/resources/themes/lara-light-purple/fonts/Inter-SemiBold.woff2 +0 -0
  586. package/resources/themes/lara-light-teal/fonts/Inter-Bold.woff +0 -0
  587. package/resources/themes/lara-light-teal/fonts/Inter-Bold.woff2 +0 -0
  588. package/resources/themes/lara-light-teal/fonts/Inter-Light.woff +0 -0
  589. package/resources/themes/lara-light-teal/fonts/Inter-Light.woff2 +0 -0
  590. package/resources/themes/lara-light-teal/fonts/Inter-Medium.woff +0 -0
  591. package/resources/themes/lara-light-teal/fonts/Inter-Medium.woff2 +0 -0
  592. package/resources/themes/lara-light-teal/fonts/Inter-Regular.woff +0 -0
  593. package/resources/themes/lara-light-teal/fonts/Inter-Regular.woff2 +0 -0
  594. package/resources/themes/lara-light-teal/fonts/Inter-SemiBold.woff +0 -0
  595. package/resources/themes/lara-light-teal/fonts/Inter-SemiBold.woff2 +0 -0
  596. package/utils/FilterUtils.js +0 -176
  597. package/utils/filterutils.umd.min.js +0 -1
@@ -0,0 +1,558 @@
1
+ <template>
2
+ <div :class="containerClass">
3
+ <div class="p-fluid p-column-filter-element" v-if="display === 'row'">
4
+ <ColumnFilterTemplate :data="filterElement" :field="field" :filterModel="filters[field]" :filterCallback="filterCallback" type="filter" />
5
+ </div>
6
+ <button ref="icon" v-if="showMenuButton" type="button" class="p-column-filter-menu-button p-link" aria-haspopup="true" :aria-expanded="overlayVisible"
7
+ :class="{'p-column-filter-menu-button-open': overlayVisible, 'p-column-filter-menu-button-active': hasFilter()}"
8
+ @click="toggleMenu()" @keydown="onToggleButtonKeyDown($event)">
9
+ <span class="pi pi-filter-icon pi-filter"></span>
10
+ </button>
11
+ <button v-if="showClearButton && display === 'row'" :class="{'p-hidden-space': !hasRowFilter()}" type="button" class="p-column-filter-clear-button p-link" @click="clearFilter()">
12
+ <span class="pi pi-filter-slash"></span>
13
+ </button>
14
+ <transition name="p-connected-overlay" @enter="onOverlayEnter" @leave="onOverlayLeave">
15
+ <div ref="overlay" :class="overlayClass" v-if="overlayVisible" @keydown.escape="onEscape" @click="onContentClick" @mousedown="onContentMouseDown">
16
+ <ColumnFilterTemplate :data="filterHeaderTemplate" :field="field" :filterModel="filters[field]" :filterCallback="filterCallback" type="filterheader" />
17
+ <template v-if="display === 'row'">
18
+ <ul class="p-column-filter-row-items">
19
+ <li class="p-column-filter-row-item" v-for="(matchMode,i) of matchModes" :key="matchMode.label"
20
+ @click="onRowMatchModeChange(matchMode.value)" @keydown="onRowMatchModeKeyDown($event)" @keydown.enter.prevent="onRowMatchModeChange(matchMode.value)"
21
+ :class="{'p-highlight': isRowMatchModeSelected(matchMode.value)}" :tabindex="i === 0 ? '0' : null">{{matchMode.label}}</li>
22
+ <li class="p-column-filter-separator"></li>
23
+ <li class="p-column-filter-row-item" @click="clearFilter()" @keydown="onRowMatchModeKeyDown($event)" @keydown.enter="onRowClearItemClick()">{{noFilterLabel}}</li>
24
+ </ul>
25
+ </template>
26
+ <template v-else>
27
+ <div class="p-column-filter-operator" v-if="isShowOperator">
28
+ <CFDropdown a :options="operatorOptions" :value="operator" @input="onOperatorChange($event)" class="p-column-filter-operator-dropdown" optionLabel="label" optionValue="value"></CFDropdown>
29
+ </div>
30
+ <div class="p-column-filter-constraints">
31
+ <div v-for="(fieldConstraint,i) of fieldConstraints" :key="i" class="p-column-filter-constraint">
32
+ <CFDropdown v-if="isShowMatchModes" :options="matchModes" :value="fieldConstraint.matchMode" optionLabel="label" optionValue="value"
33
+ @input="onMenuMatchModeChange($event, i)" class="p-column-filter-matchmode-dropdown"></CFDropdown>
34
+ <ColumnFilterTemplate v-if="display === 'menu'" :data="filterElement" :field="field" :filterModel="fieldConstraint" :filterCallback="filterCallback" type="filter" />
35
+ <div>
36
+ <CFButton v-if="showRemoveIcon" type="button" icon="pi pi-trash" class="p-column-filter-remove-button p-button-text p-button-danger p-button-sm" @click="removeConstraint(i)" :label="removeRuleButtonLabel"></CFButton>
37
+ </div>
38
+ </div>
39
+ </div>
40
+ <div class="p-column-filter-add-rule" v-if="isShowAddConstraint">
41
+ <CFButton type="button" :label="addRuleButtonLabel" icon="pi pi-plus" class="p-column-filter-add-button p-button-text p-button-sm" @click="addConstraint()"></CFButton>
42
+ </div>
43
+ <div class="p-column-filter-buttonbar">
44
+ <CFButton v-if="!filterClearTemplate && showClearButton" type="button" class="p-button-outlined p-button-sm" @click="clearFilter()" :label="clearButtonLabel"></CFButton>
45
+ <ColumnFilterTemplate v-else :data="filterClearTemplate" :field="field" :filterModel="filters[field]" :filterCallback="clearFilter" type="filterclear" />
46
+ <template v-if="showApplyButton">
47
+ <CFButton v-if="!filterApplyTemplate" type="button" class="p-button-sm" @click="applyFilter()" :label="applyButtonLabel"></CFButton>
48
+ <ColumnFilterTemplate v-else :data="filterApplyTemplate" :field="field" :filterModel="filters[field]" :filterCallback="applyFilter" type="filterapply" />
49
+ </template>
50
+ </div>
51
+ </template>
52
+ <ColumnFilterTemplate :data="filterFooterTemplate" :field="field" :filterModel="filters[field]" :filterCallback="filterCallback" type="filterfooter" />
53
+ </div>
54
+ </transition>
55
+ </div>
56
+ </template>
57
+
58
+ <script>
59
+ import DomHandler from '../utils/DomHandler';
60
+ import ConnectedOverlayScrollHandler from '../utils/ConnectedOverlayScrollHandler';
61
+ import OverlayEventBus from '../overlayeventbus/OverlayEventBus';
62
+ import FilterOperator from '../api/FilterOperator';
63
+ import Dropdown from '../dropdown/Dropdown';
64
+ import Button from '../button/Button';
65
+
66
+ const ColumnFilterTemplate = {
67
+ functional: true,
68
+ props: {
69
+ data: {
70
+ type: null,
71
+ default: null
72
+ },
73
+ field: {
74
+ type: null,
75
+ default: null
76
+ },
77
+ filterModel: {
78
+ type: null,
79
+ default: null
80
+ },
81
+ filterCallback: {
82
+ type: null,
83
+ default: null
84
+ },
85
+ type: {
86
+ type: String,
87
+ default: null
88
+ }
89
+ },
90
+ render(createElement, context) {
91
+ let content = null;
92
+ if (context.props.data) {
93
+ content = context.props.data({
94
+ // 'data': data,
95
+ 'field': context.props.field,
96
+ 'filterModel': context.props.filterModel,
97
+ 'filterCallback': context.props.filterCallback
98
+ });
99
+ }
100
+
101
+ return [content];
102
+ }
103
+ }
104
+
105
+ export default {
106
+ props: {
107
+ field: {
108
+ type: String,
109
+ default: null
110
+ },
111
+ type: {
112
+ type: String,
113
+ default: 'text'
114
+ },
115
+ display: {
116
+ type: String,
117
+ default: null
118
+ },
119
+ showMenu: {
120
+ type: Boolean,
121
+ default: true
122
+ },
123
+ matchMode: {
124
+ type: String,
125
+ default: null
126
+ },
127
+ showOperator: {
128
+ type: Boolean,
129
+ default: true
130
+ },
131
+ showClearButton: {
132
+ type: Boolean,
133
+ default: true
134
+ },
135
+ showApplyButton: {
136
+ type: Boolean,
137
+ default: true
138
+ },
139
+ showMatchModes: {
140
+ type: Boolean,
141
+ default: true
142
+ },
143
+ showAddButton: {
144
+ type: Boolean,
145
+ default: true
146
+ },
147
+ matchModeOptions: {
148
+ type: Array,
149
+ default: null
150
+ },
151
+ maxConstraints: {
152
+ type: Number,
153
+ default: 2
154
+ },
155
+ filterElement: null,
156
+ filterHeaderTemplate: null,
157
+ filterFooterTemplate: null,
158
+ filterClearTemplate: null,
159
+ filterApplyTemplate: null,
160
+ filters: {
161
+ type: Object,
162
+ default: null
163
+ },
164
+ filtersStore: {
165
+ type: Object,
166
+ default: null
167
+ },
168
+ filterMenuClass: {
169
+ type: String,
170
+ default: null
171
+ },
172
+ filterMenuStyle: {
173
+ type: null,
174
+ default: null
175
+ },
176
+ templates: {
177
+ type: null,
178
+ default: null
179
+ }
180
+ },
181
+ data() {
182
+ return {
183
+ overlayVisible: false,
184
+ defaultMatchMode: null,
185
+ defaultOperator: null
186
+ }
187
+ },
188
+ selfClick: false,
189
+ overlayEventListener: null,
190
+ beforeUnmount() {
191
+ if (this.overlayEventListener) {
192
+ OverlayEventBus.off('overlay-click', this.overlayEventListener);
193
+ this.overlayEventListener = null;
194
+ }
195
+
196
+ if (this.$refs.overlay) {
197
+ this.onOverlayHide();
198
+ }
199
+ },
200
+ mounted() {
201
+ if (this.filters && this.filters[this.field]) {
202
+ let fieldFilters = this.filters[this.field];
203
+ if (fieldFilters.operator) {
204
+ this.defaultMatchMode = fieldFilters.constraints[0].matchMode;
205
+ this.defaultOperator = fieldFilters.operator;
206
+ }
207
+ else {
208
+ this.defaultMatchMode = this.filters[this.field].matchMode;
209
+ }
210
+ }
211
+ },
212
+ methods: {
213
+ clearFilter() {
214
+ let _filters = {...this.filters};
215
+ if (_filters[this.field].operator) {
216
+ _filters[this.field].constraints.splice(1);
217
+ _filters[this.field].operator = this.defaultOperator;
218
+ _filters[this.field].constraints[0] = {value: null, matchMode: this.defaultMatchMode};
219
+ }
220
+ else {
221
+ _filters[this.field].value = null;
222
+ _filters[this.field].matchMode = this.defaultMatchMode;
223
+ }
224
+
225
+ this.$emit('filter-clear');
226
+ this.$emit('filter-change', _filters);
227
+ this.$emit('filter-apply');
228
+ this.hide();
229
+ },
230
+ applyFilter() {
231
+ this.$emit('apply-click', {field: this.field, constraints: this.filters[this.field]});
232
+ this.$emit('filter-apply');
233
+ this.hide();
234
+ },
235
+ hasFilter() {
236
+ if (this.filtersStore) {
237
+ let fieldFilter = this.filtersStore[this.field];
238
+ if (fieldFilter) {
239
+ if (fieldFilter.operator)
240
+ return !this.isFilterBlank(fieldFilter.constraints[0].value);
241
+ else
242
+ return !this.isFilterBlank(fieldFilter.value);
243
+ }
244
+ }
245
+
246
+ return false;
247
+ },
248
+ hasRowFilter() {
249
+ return this.filters[this.field] && !this.isFilterBlank(this.filters[this.field].value);
250
+ },
251
+ isFilterBlank(filter) {
252
+ if (filter !== null && filter !== undefined) {
253
+ if ((typeof filter === 'string' && filter.trim().length == 0) || (filter instanceof Array && filter.length == 0))
254
+ return true;
255
+ else
256
+ return false;
257
+ }
258
+ return true;
259
+ },
260
+ toggleMenu() {
261
+ this.overlayVisible = !this.overlayVisible;
262
+ },
263
+ onToggleButtonKeyDown(event) {
264
+ switch(event.key) {
265
+ case 'Escape':
266
+ case 'Tab':
267
+ this.overlayVisible = false;
268
+ break;
269
+
270
+ case 'ArrowDown':
271
+ if (this.overlayVisible) {
272
+ let focusable = DomHandler.getFocusableElements(this.$refs.overlay);
273
+ if (focusable) {
274
+ focusable[0].focus();
275
+ }
276
+ event.preventDefault();
277
+ }
278
+ else if (event.altKey) {
279
+ this.overlayVisible = true;
280
+ event.preventDefault();
281
+ }
282
+ break;
283
+ }
284
+ },
285
+ onEscape() {
286
+ this.overlayVisible = false;
287
+ if (this.$refs.icon) {
288
+ this.$refs.icon.focus();
289
+ }
290
+ },
291
+ onRowMatchModeChange(matchMode) {
292
+ let _filters = {...this.filters};
293
+ _filters[this.field].matchMode = matchMode;
294
+ this.$emit('matchmode-change', {field: this.field, matchMode: matchMode});
295
+ this.$emit('filter-change', _filters);
296
+ this.$emit('filter-apply');
297
+ this.hide();
298
+ },
299
+ onRowMatchModeKeyDown(event) {
300
+ let item = event.target;
301
+
302
+ switch(event.key) {
303
+ case 'ArrowDown':
304
+ var nextItem = this.findNextItem(item);
305
+ if (nextItem) {
306
+ item.removeAttribute('tabindex');
307
+ nextItem.tabIndex = '0';
308
+ nextItem.focus();
309
+ }
310
+
311
+ event.preventDefault();
312
+ break;
313
+
314
+ case 'ArrowUp':
315
+ var prevItem = this.findPrevItem(item);
316
+ if (prevItem) {
317
+ item.removeAttribute('tabindex');
318
+ prevItem.tabIndex = '0';
319
+ prevItem.focus();
320
+ }
321
+
322
+ event.preventDefault();
323
+ break;
324
+ }
325
+ },
326
+ isRowMatchModeSelected(matchMode) {
327
+ return (this.filters[this.field]).matchMode === matchMode;
328
+ },
329
+ onOperatorChange(value) {
330
+ let _filters = {...this.filters};
331
+ _filters[this.field].operator = value;
332
+ this.$emit('filter-change', _filters);
333
+
334
+ this.$emit('operator-change', {field: this.field, operator: value});
335
+ if (!this.showApplyButton) {
336
+ this.$emit('filter-apply');
337
+ }
338
+ },
339
+ onMenuMatchModeChange(value, index) {
340
+ let _filters = {...this.filters};
341
+ _filters[this.field].constraints[index].matchMode = value;
342
+ this.$emit('matchmode-change', {field: this.field, matchMode: value, index: index});
343
+
344
+ if (!this.showApplyButton) {
345
+ this.$emit('filter-apply');
346
+ }
347
+ },
348
+ addConstraint() {
349
+ let _filters = {...this.filters};
350
+ let newConstraint = {value: null, matchMode: this.defaultMatchMode};
351
+ _filters[this.field].constraints.push(newConstraint);
352
+ this.$emit('constraint-add', {field: this.field, constraing: newConstraint});
353
+ this.$emit('filter-change', _filters);
354
+
355
+ if (!this.showApplyButton) {
356
+ this.$emit('filter-apply');
357
+ }
358
+ },
359
+ removeConstraint(index) {
360
+ let _filters = {...this.filters};
361
+ let removedConstraint = _filters[this.field].constraints.splice(index, 1);
362
+ this.$emit('constraint-remove', {field: this.field, constraing: removedConstraint});
363
+ this.$emit('filter-change', _filters);
364
+
365
+ if (!this.showApplyButton) {
366
+ this.$emit('filter-apply');
367
+ }
368
+ },
369
+ filterCallback() {
370
+ this.$emit('filter-apply');
371
+ },
372
+ findNextItem(item) {
373
+ let nextItem = item.nextElementSibling;
374
+
375
+ if (nextItem)
376
+ return DomHandler.hasClass(nextItem, 'p-column-filter-separator') ? this.findNextItem(nextItem) : nextItem;
377
+ else
378
+ return item.parentElement.firstElementChild;
379
+ },
380
+ findPrevItem(item) {
381
+ let prevItem = item.previousElementSibling;
382
+
383
+ if (prevItem)
384
+ DomHandler.hasClass(prevItem, 'p-column-filter-separator') ? this.findPrevItem(prevItem) : prevItem;
385
+ else
386
+ return item.parentElement.lastElementChild;
387
+ },
388
+ hide() {
389
+ this.overlayVisible = false;
390
+ },
391
+ onContentClick() {
392
+ this.selfClick = true;
393
+
394
+ OverlayEventBus.emit('overlay-click', {
395
+ originalEvent: event,
396
+ target: this.$refs.overlay
397
+ });
398
+ },
399
+ onContentMouseDown() {
400
+ this.selfClick = true;
401
+ },
402
+ onOverlayEnter() {
403
+ if (this.filterMenuStyle) {
404
+ DomHandler.applyStyle(this.$refs.overlay, this.filterMenuStyle);
405
+ }
406
+ this.$refs.overlay.style.zIndex = String(DomHandler.generateZIndex());
407
+ document.body.appendChild(this.$refs.overlay);
408
+ DomHandler.absolutePosition(this.$refs.overlay, this.$refs.icon);
409
+ this.bindOutsideClickListener();
410
+ this.bindScrollListener();
411
+ this.bindResizeListener();
412
+
413
+ this.overlayEventListener = (e) => {
414
+ if (!this.isOutsideClicked(e.target)) {
415
+ this.selfClick = true;
416
+ }
417
+ }
418
+ OverlayEventBus.on('overlay-click', this.overlayEventListener);
419
+ },
420
+ onOverlayLeave() {
421
+ document.body.removeChild(this.$refs.overlay);
422
+ this.onOverlayHide();
423
+ },
424
+ onOverlayHide() {
425
+ this.unbindOutsideClickListener();
426
+ this.unbindResizeListener();
427
+ this.unbindScrollListener();
428
+ OverlayEventBus.off('overlay-click', this.overlayEventListener);
429
+ this.overlayEventListener = null;
430
+ },
431
+ isOutsideClicked(target) {
432
+ return !this.isTargetClicked(target) && this.$refs.overlay && !(this.$refs.overlay.isSameNode(target) || this.$refs.overlay.contains(target));
433
+ },
434
+ isTargetClicked(target) {
435
+ return this.$refs.icon && (this.$refs.icon.isSameNode(target) || this.$refs.icon.contains(target));
436
+ },
437
+ bindOutsideClickListener() {
438
+ if (!this.outsideClickListener) {
439
+ this.outsideClickListener = (event) => {
440
+ if (this.overlayVisible && !this.selfClick && this.isOutsideClicked(event.target)) {
441
+ this.overlayVisible = false;
442
+ }
443
+ this.selfClick = false;
444
+ };
445
+ document.addEventListener('click', this.outsideClickListener);
446
+ }
447
+ },
448
+ unbindOutsideClickListener() {
449
+ if (this.outsideClickListener) {
450
+ document.removeEventListener('click', this.outsideClickListener);
451
+ this.outsideClickListener = null;
452
+ this.selfClick = false;
453
+ }
454
+ },
455
+ bindScrollListener() {
456
+ if (!this.scrollHandler) {
457
+ this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.icon, () => {
458
+ if (this.overlayVisible) {
459
+ this.hide();
460
+ }
461
+ });
462
+ }
463
+
464
+ this.scrollHandler.bindScrollListener();
465
+ },
466
+ unbindScrollListener() {
467
+ if (this.scrollHandler) {
468
+ this.scrollHandler.unbindScrollListener();
469
+ }
470
+ },
471
+ bindResizeListener() {
472
+ if (!this.resizeListener) {
473
+ this.resizeListener = () => {
474
+ if (this.overlayVisible) {
475
+ this.hide();
476
+ }
477
+ };
478
+ window.addEventListener('resize', this.resizeListener);
479
+ }
480
+ },
481
+ unbindResizeListener() {
482
+ if (this.resizeListener) {
483
+ window.removeEventListener('resize', this.resizeListener);
484
+ this.resizeListener = null;
485
+ }
486
+ }
487
+ },
488
+ computed: {
489
+ containerClass() {
490
+ return ['p-column-filter p-fluid', {
491
+ 'p-column-filter-row': this.display === 'row',
492
+ 'p-column-filter-menu': this.display === 'menu'
493
+ }];
494
+ },
495
+ overlayClass() {
496
+ return [this.filterMenuClass, {
497
+ 'p-column-filter-overlay p-component p-fluid': true,
498
+ 'p-column-filter-overlay-menu': this.display === 'menu',
499
+ 'p-input-filled': this.$primevue.config.inputStyle === 'filled',
500
+ 'p-ripple-disabled': this.$primevue.config.ripple === false
501
+ }];
502
+ },
503
+ showMenuButton() {
504
+ return this.showMenu && (this.display === 'row' ? this.type !== 'boolean': true);
505
+ },
506
+ matchModes() {
507
+ return this.matchModeOptions ||
508
+ this.$primevue.config.filterMatchModeOptions[this.type].map(key => {
509
+ return {label: this.$primevue.config.locale[key], value: key}
510
+ });
511
+ },
512
+ isShowMatchModes() {
513
+ return this.type !== 'boolean' && this.showMatchModes && this.matchModes;
514
+ },
515
+ operatorOptions() {
516
+ return [
517
+ {label: this.$primevue.config.locale.matchAll, value: FilterOperator.AND},
518
+ {label: this.$primevue.config.locale.matchAny, value: FilterOperator.OR}
519
+ ];
520
+ },
521
+ noFilterLabel() {
522
+ return this.$primevue.config.locale.noFilter;
523
+ },
524
+ isShowOperator() {
525
+ return this.showOperator && this.filters[this.field].operator;
526
+ },
527
+ operator() {
528
+ return this.filters[this.field].operator;
529
+ },
530
+ fieldConstraints() {
531
+ return this.filters[this.field].constraints || [this.filters[this.field]];
532
+ },
533
+ showRemoveIcon() {
534
+ return this.fieldConstraints.length > 1;
535
+ },
536
+ removeRuleButtonLabel() {
537
+ return this.$primevue.config.locale.removeRule;
538
+ },
539
+ addRuleButtonLabel() {
540
+ return this.$primevue.config.locale.addRule;
541
+ },
542
+ isShowAddConstraint() {
543
+ return this.showAddButton && this.filters[this.field].operator && (this.fieldConstraints && this.fieldConstraints.length < this.maxConstraints);
544
+ },
545
+ clearButtonLabel() {
546
+ return this.$primevue.config.locale.clear;
547
+ },
548
+ applyButtonLabel() {
549
+ return this.$primevue.config.locale.apply;
550
+ }
551
+ },
552
+ components: {
553
+ 'ColumnFilterTemplate': ColumnFilterTemplate,
554
+ 'CFDropdown': Dropdown,
555
+ 'CFButton': Button
556
+ }
557
+ }
558
+ </script>
@@ -17,13 +17,48 @@ export default {
17
17
  type: {
18
18
  type: String,
19
19
  default: null
20
+ },
21
+ frozenRow: {
22
+ type: Boolean,
23
+ default: false
24
+ },
25
+ field: {
26
+ type: null,
27
+ default: null
28
+ },
29
+ filterModel: {
30
+ type: null,
31
+ default: null
32
+ },
33
+ filterCallback: {
34
+ type: null,
35
+ default: null
36
+ },
37
+ editorInitCallback: {
38
+ type: null,
39
+ default: null
40
+ },
41
+ editorSaveCallback: {
42
+ type: null,
43
+ default: null
44
+ },
45
+ editorCancelCallback: {
46
+ type: null,
47
+ default: null
20
48
  }
21
49
  },
22
50
  render(createElement, context) {
23
51
  const content = context.props.column.$scopedSlots[context.props.type]({
24
52
  'data': context.props.data,
25
53
  'index': context.props.index,
26
- 'column': context.props.column
54
+ 'column': context.props.column,
55
+ 'frozenRow': context.props.frozenRow,
56
+ 'field': context.props.field,
57
+ 'filterModel': context.props.filterModel,
58
+ 'filterCallback': context.props.filterCallback,
59
+ 'editorInitCallback': context.props.editorInitCallback,
60
+ 'editorSaveCallback': context.props.editorSaveCallback,
61
+ 'editorCancelCallback': context.props.editorCancelCallback
27
62
  });
28
63
  return [content];
29
64
  }
@@ -25,6 +25,8 @@ declare class DataTable extends Vue {
25
25
  filters?: {
26
26
  [s: string]: any;
27
27
  };
28
+ filterDisplay?: string;
29
+ globalFilterFields?: any[];
28
30
  filterLocale?: string;
29
31
  selection?: any[] | any;
30
32
  selectionMode?: string;
@@ -53,19 +55,39 @@ declare class DataTable extends Vue {
53
55
  rowClass?: any;
54
56
  scrollable?: boolean;
55
57
  scrollHeight?: string;
58
+ scrollDirection?: string;
56
59
  frozenValue?: any[];
57
- frozenWidth?: string;
58
- virtualScroll?: boolean;
59
- virtualRowHeight?: string;
60
- virtualScrollDelay?: number;
60
+ responsiveLayout?: string;
61
+ breakpoing?: string;
62
+ showGridlines?: boolean;
63
+ stripedRows?: boolean;
64
+ tableStyle?: object;
65
+ tableClass?: string;
66
+ selectAll?: boolean;
67
+
68
+ $emit(eventName: 'update:first', value: number): this;
69
+ $emit(eventName: 'update:rows', value: number): this;
70
+ $emit(eventName: 'update:sortField', value: string | ((item: any) => any)): this;
71
+ $emit(eventName: 'update:sortOrder', value: number): this;
72
+ $emit(eventName: 'update:multiSortMeta', value: any[]): this;
73
+ $emit(eventName: 'update:selection', value: any[] | any): this;
74
+ $emit(eventName: 'update:contextMenuSelection', value: boolean): this;
75
+ $emit(eventName: 'update:expandedRows', value: any[]): this;
76
+ $emit(eventName: 'update:expandedRowGroups', value: any[]): this;
77
+ $emit(eventName: 'update:filters', value: any): this;
78
+ $emit(eventName: 'update:editingRows', value: any[]): this;
61
79
  $emit(eventName: 'page', event: Event): this;
62
80
  $emit(eventName: 'sort', event: Event): this;
63
81
  $emit(eventName: 'filter', event: Event): this;
64
- $emit(eventName: 'row-click', event: Event): this;
65
- $emit(eventName: 'row-dblclick', event: Event): this;
82
+ $emit(eventName: 'value-change', value: any[]): this;
83
+ $emit(eventName: 'row-click', event: {originalEvent: Event, data: any, index: number}): this;
84
+ $emit(eventName: 'row-dblclick', event: {originalEvent: Event, data: any, index: number}): this;
85
+ $emit(eventName: 'row-rightclick', event: {originalEvent: Event, data: any, index: number}): this;
66
86
  $emit(eventName: 'row-contextmenu', event: Event): this;
67
- $emit(eventName: 'row-select', event: {originalEvent: Event, data: any, type: string}): this;
68
- $emit(eventName: 'row-unselect', event: {originalEvent: Event, data: any, type: string}): this;
87
+ $emit(eventName: 'row-select', event: {originalEvent: Event, data: any, index: number, type: string}): this;
88
+ $emit(eventName: 'row-select-all', event: {originalEvent: Event, data: any}): this;
89
+ $emit(eventName: 'row-unselect-all', event: {originalEvent: Event}): this;
90
+ $emit(eventName: 'row-unselect', event: {originalEvent: Event, data: any, index: number, type: string}): this;
69
91
  $emit(eventName: 'column-resize-end', event: {originalEvent: Event, delta: any}): this;
70
92
  $emit(eventName: 'column-reorder', event: {originalEvent: Event, dragIndex: number, dropIndex: number}): this;
71
93
  $emit(eventName: 'row-reorder', event: {originalEvent: Event, dragIndex: number, dropIndex: number, value: any[]}): this;
@@ -79,6 +101,12 @@ declare class DataTable extends Vue {
79
101
  $emit(eventName: 'row-edit-init', event: Event): this;
80
102
  $emit(eventName: 'row-edit-save', event: Event): this;
81
103
  $emit(eventName: 'row-edit-cancel', event: Event): this;
104
+ $emit(eventName: 'state-restore', value: any[]): this;
105
+ $emit(eventName: 'state-save', value: any[]): this;
106
+ $emit(eventName: 'select-all-change', event: Event): this;
107
+
108
+ exportCSV(options?: any): void;
109
+
82
110
  $slots: {
83
111
  header: VNode[];
84
112
  paginatorstart: VNode[];