primeng 11.1.0 → 11.2.3

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 (234) hide show
  1. package/README.md +1 -0
  2. package/api/confirmaeventtype.d.ts +5 -0
  3. package/api/filtermatchmode.d.ts +4 -0
  4. package/api/filterservice.d.ts +4 -0
  5. package/api/primeng-api.metadata.json +1 -1
  6. package/api/public_api.d.ts +1 -0
  7. package/api/translation.d.ts +4 -0
  8. package/autocomplete/autocomplete.d.ts +8 -1
  9. package/autocomplete/primeng-autocomplete.metadata.json +1 -1
  10. package/avatar/primeng-avatar.metadata.json +1 -1
  11. package/bundles/primeng-api.umd.js +56 -6
  12. package/bundles/primeng-api.umd.js.map +1 -1
  13. package/bundles/primeng-api.umd.min.js +1 -1
  14. package/bundles/primeng-api.umd.min.js.map +1 -1
  15. package/bundles/primeng-autocomplete.umd.js +86 -17
  16. package/bundles/primeng-autocomplete.umd.js.map +1 -1
  17. package/bundles/primeng-autocomplete.umd.min.js +1 -1
  18. package/bundles/primeng-autocomplete.umd.min.js.map +1 -1
  19. package/bundles/primeng-avatar.umd.js +1 -1
  20. package/bundles/primeng-avatar.umd.min.js +1 -1
  21. package/bundles/primeng-avatar.umd.min.js.map +1 -1
  22. package/bundles/primeng-calendar.umd.js +6 -0
  23. package/bundles/primeng-calendar.umd.js.map +1 -1
  24. package/bundles/primeng-calendar.umd.min.js +1 -1
  25. package/bundles/primeng-calendar.umd.min.js.map +1 -1
  26. package/bundles/primeng-cascadeselect.umd.js +8 -5
  27. package/bundles/primeng-cascadeselect.umd.js.map +1 -1
  28. package/bundles/primeng-cascadeselect.umd.min.js +2 -2
  29. package/bundles/primeng-cascadeselect.umd.min.js.map +1 -1
  30. package/bundles/primeng-colorpicker.umd.js.map +1 -1
  31. package/bundles/primeng-colorpicker.umd.min.js.map +1 -1
  32. package/bundles/primeng-confirmdialog.umd.js +11 -8
  33. package/bundles/primeng-confirmdialog.umd.js.map +1 -1
  34. package/bundles/primeng-confirmdialog.umd.min.js +1 -1
  35. package/bundles/primeng-confirmdialog.umd.min.js.map +1 -1
  36. package/bundles/primeng-contextmenu.umd.js +2 -2
  37. package/bundles/primeng-contextmenu.umd.js.map +1 -1
  38. package/bundles/primeng-contextmenu.umd.min.js +1 -1
  39. package/bundles/primeng-contextmenu.umd.min.js.map +1 -1
  40. package/bundles/primeng-dialog.umd.js +1 -1
  41. package/bundles/primeng-dialog.umd.min.js +1 -1
  42. package/bundles/primeng-dialog.umd.min.js.map +1 -1
  43. package/bundles/primeng-dom.umd.js +3 -0
  44. package/bundles/primeng-dom.umd.js.map +1 -1
  45. package/bundles/primeng-dom.umd.min.js +1 -1
  46. package/bundles/primeng-dom.umd.min.js.map +1 -1
  47. package/bundles/primeng-dropdown.umd.js +1 -1
  48. package/bundles/primeng-dropdown.umd.js.map +1 -1
  49. package/bundles/primeng-dropdown.umd.min.js +1 -1
  50. package/bundles/primeng-dropdown.umd.min.js.map +1 -1
  51. package/bundles/primeng-dynamicdialog.umd.js +1 -1
  52. package/bundles/primeng-dynamicdialog.umd.min.js +1 -1
  53. package/bundles/primeng-dynamicdialog.umd.min.js.map +1 -1
  54. package/bundles/primeng-inputmask.umd.js +5 -2
  55. package/bundles/primeng-inputmask.umd.js.map +1 -1
  56. package/bundles/primeng-inputmask.umd.min.js +1 -1
  57. package/bundles/primeng-inputmask.umd.min.js.map +1 -1
  58. package/bundles/primeng-inputnumber.umd.js +16 -2
  59. package/bundles/primeng-inputnumber.umd.js.map +1 -1
  60. package/bundles/primeng-inputnumber.umd.min.js +1 -1
  61. package/bundles/primeng-inputnumber.umd.min.js.map +1 -1
  62. package/bundles/primeng-knob.umd.js +1 -1
  63. package/bundles/primeng-knob.umd.js.map +1 -1
  64. package/bundles/primeng-knob.umd.min.js +1 -1
  65. package/bundles/primeng-knob.umd.min.js.map +1 -1
  66. package/bundles/primeng-lightbox.umd.js +1 -1
  67. package/bundles/primeng-lightbox.umd.min.js +1 -1
  68. package/bundles/primeng-lightbox.umd.min.js.map +1 -1
  69. package/bundles/primeng-listbox.umd.js +133 -34
  70. package/bundles/primeng-listbox.umd.js.map +1 -1
  71. package/bundles/primeng-listbox.umd.min.js +1 -1
  72. package/bundles/primeng-listbox.umd.min.js.map +1 -1
  73. package/bundles/primeng-multiselect.umd.js +146 -32
  74. package/bundles/primeng-multiselect.umd.js.map +1 -1
  75. package/bundles/primeng-multiselect.umd.min.js +2 -2
  76. package/bundles/primeng-multiselect.umd.min.js.map +1 -1
  77. package/bundles/primeng-sidebar.umd.js.map +1 -1
  78. package/bundles/primeng-sidebar.umd.min.js.map +1 -1
  79. package/bundles/primeng-slider.umd.js +1 -0
  80. package/bundles/primeng-slider.umd.js.map +1 -1
  81. package/bundles/primeng-slider.umd.min.js +1 -1
  82. package/bundles/primeng-slider.umd.min.js.map +1 -1
  83. package/bundles/primeng-table.umd.js +117 -16
  84. package/bundles/primeng-table.umd.js.map +1 -1
  85. package/bundles/primeng-table.umd.min.js +1 -1
  86. package/bundles/primeng-table.umd.min.js.map +1 -1
  87. package/bundles/primeng-tabview.umd.js +25 -3
  88. package/bundles/primeng-tabview.umd.js.map +1 -1
  89. package/bundles/primeng-tabview.umd.min.js +1 -1
  90. package/bundles/primeng-tabview.umd.min.js.map +1 -1
  91. package/bundles/primeng-treetable.umd.js +1 -1
  92. package/bundles/primeng-treetable.umd.js.map +1 -1
  93. package/bundles/primeng-treetable.umd.min.js +1 -1
  94. package/bundles/primeng-treetable.umd.min.js.map +1 -1
  95. package/bundles/primeng-virtualscroller.umd.js +3 -2
  96. package/bundles/primeng-virtualscroller.umd.js.map +1 -1
  97. package/bundles/primeng-virtualscroller.umd.min.js +1 -1
  98. package/bundles/primeng-virtualscroller.umd.min.js.map +1 -1
  99. package/calendar/primeng-calendar.metadata.json +1 -1
  100. package/cascadeselect/cascadeselect.d.ts +3 -3
  101. package/cascadeselect/primeng-cascadeselect.metadata.json +1 -1
  102. package/colorpicker/colorpicker.d.ts +1 -1
  103. package/confirmdialog/confirmdialog.d.ts +3 -2
  104. package/confirmdialog/primeng-confirmdialog.metadata.json +1 -1
  105. package/dialog/primeng-dialog.metadata.json +1 -1
  106. package/dom/primeng-dom.metadata.json +1 -1
  107. package/dropdown/primeng-dropdown.metadata.json +1 -1
  108. package/dynamicdialog/primeng-dynamicdialog.metadata.json +1 -1
  109. package/esm2015/api/confirmaeventtype.js +7 -0
  110. package/esm2015/api/filtermatchmode.js +5 -1
  111. package/esm2015/api/filterservice.js +39 -3
  112. package/esm2015/api/primengconfig.js +9 -5
  113. package/esm2015/api/public_api.js +2 -1
  114. package/esm2015/api/translation.js +1 -1
  115. package/esm2015/autocomplete/autocomplete.js +105 -22
  116. package/esm2015/avatar/avatar.js +1 -1
  117. package/esm2015/calendar/calendar.js +7 -1
  118. package/esm2015/cascadeselect/cascadeselect.js +9 -6
  119. package/esm2015/colorpicker/colorpicker.js +1 -1
  120. package/esm2015/confirmdialog/confirmdialog.js +14 -11
  121. package/esm2015/contextmenu/contextmenu.js +3 -3
  122. package/esm2015/dialog/dialog.js +1 -1
  123. package/esm2015/dom/domhandler.js +4 -1
  124. package/esm2015/dropdown/dropdown.js +2 -2
  125. package/esm2015/dynamicdialog/dynamicdialog.js +1 -1
  126. package/esm2015/inputmask/inputmask.js +6 -3
  127. package/esm2015/inputnumber/inputnumber.js +13 -3
  128. package/esm2015/knob/knob.js +2 -2
  129. package/esm2015/lightbox/lightbox.js +1 -1
  130. package/esm2015/listbox/listbox.js +134 -42
  131. package/esm2015/multiselect/multiselect.js +149 -42
  132. package/esm2015/sidebar/sidebar.js +1 -1
  133. package/esm2015/slider/slider.js +2 -1
  134. package/esm2015/table/table.js +127 -17
  135. package/esm2015/tabview/tabview.js +18 -4
  136. package/esm2015/treetable/treetable.js +2 -2
  137. package/esm2015/virtualscroller/virtualscroller.js +4 -3
  138. package/fesm2015/primeng-api.js +58 -7
  139. package/fesm2015/primeng-api.js.map +1 -1
  140. package/fesm2015/primeng-autocomplete.js +104 -21
  141. package/fesm2015/primeng-autocomplete.js.map +1 -1
  142. package/fesm2015/primeng-avatar.js +1 -1
  143. package/fesm2015/primeng-calendar.js +6 -0
  144. package/fesm2015/primeng-calendar.js.map +1 -1
  145. package/fesm2015/primeng-cascadeselect.js +8 -5
  146. package/fesm2015/primeng-cascadeselect.js.map +1 -1
  147. package/fesm2015/primeng-colorpicker.js.map +1 -1
  148. package/fesm2015/primeng-confirmdialog.js +13 -10
  149. package/fesm2015/primeng-confirmdialog.js.map +1 -1
  150. package/fesm2015/primeng-contextmenu.js +2 -2
  151. package/fesm2015/primeng-contextmenu.js.map +1 -1
  152. package/fesm2015/primeng-dialog.js +1 -1
  153. package/fesm2015/primeng-dom.js +3 -0
  154. package/fesm2015/primeng-dom.js.map +1 -1
  155. package/fesm2015/primeng-dropdown.js +1 -1
  156. package/fesm2015/primeng-dropdown.js.map +1 -1
  157. package/fesm2015/primeng-dynamicdialog.js +1 -1
  158. package/fesm2015/primeng-inputmask.js +5 -2
  159. package/fesm2015/primeng-inputmask.js.map +1 -1
  160. package/fesm2015/primeng-inputnumber.js +12 -2
  161. package/fesm2015/primeng-inputnumber.js.map +1 -1
  162. package/fesm2015/primeng-knob.js +1 -1
  163. package/fesm2015/primeng-knob.js.map +1 -1
  164. package/fesm2015/primeng-lightbox.js +1 -1
  165. package/fesm2015/primeng-listbox.js +133 -41
  166. package/fesm2015/primeng-listbox.js.map +1 -1
  167. package/fesm2015/primeng-multiselect.js +148 -41
  168. package/fesm2015/primeng-multiselect.js.map +1 -1
  169. package/fesm2015/primeng-sidebar.js.map +1 -1
  170. package/fesm2015/primeng-slider.js +1 -0
  171. package/fesm2015/primeng-slider.js.map +1 -1
  172. package/fesm2015/primeng-table.js +126 -16
  173. package/fesm2015/primeng-table.js.map +1 -1
  174. package/fesm2015/primeng-tabview.js +17 -3
  175. package/fesm2015/primeng-tabview.js.map +1 -1
  176. package/fesm2015/primeng-treetable.js +1 -1
  177. package/fesm2015/primeng-treetable.js.map +1 -1
  178. package/fesm2015/primeng-virtualscroller.js +3 -2
  179. package/fesm2015/primeng-virtualscroller.js.map +1 -1
  180. package/inputmask/inputmask.d.ts +2 -1
  181. package/inputmask/primeng-inputmask.metadata.json +1 -1
  182. package/inputnumber/inputnumber.d.ts +3 -1
  183. package/inputnumber/primeng-inputnumber.metadata.json +1 -1
  184. package/knob/primeng-knob.metadata.json +1 -1
  185. package/lightbox/primeng-lightbox.metadata.json +1 -1
  186. package/listbox/listbox.d.ts +7 -1
  187. package/listbox/primeng-listbox.metadata.json +1 -1
  188. package/multiselect/multiselect.d.ts +8 -1
  189. package/multiselect/primeng-multiselect.metadata.json +1 -1
  190. package/package.json +1 -1
  191. package/resources/components/avatar/avatar.css +3 -2
  192. package/resources/components/dialog/dialog.css +2 -0
  193. package/resources/components/virtualscroller/virtualscroller.css +2 -16
  194. package/resources/themes/arya-blue/theme.css +26 -38
  195. package/resources/themes/arya-green/theme.css +26 -38
  196. package/resources/themes/arya-orange/theme.css +26 -38
  197. package/resources/themes/arya-purple/theme.css +26 -38
  198. package/resources/themes/bootstrap4-dark-blue/theme.css +26 -38
  199. package/resources/themes/bootstrap4-dark-purple/theme.css +26 -38
  200. package/resources/themes/bootstrap4-light-blue/theme.css +26 -38
  201. package/resources/themes/bootstrap4-light-purple/theme.css +26 -38
  202. package/resources/themes/fluent-light/theme.css +26 -38
  203. package/resources/themes/luna-amber/theme.css +26 -38
  204. package/resources/themes/luna-blue/theme.css +26 -38
  205. package/resources/themes/luna-green/theme.css +26 -38
  206. package/resources/themes/luna-pink/theme.css +26 -38
  207. package/resources/themes/md-dark-deeppurple/theme.css +89 -69
  208. package/resources/themes/md-dark-indigo/theme.css +89 -69
  209. package/resources/themes/md-light-deeppurple/theme.css +293 -273
  210. package/resources/themes/md-light-indigo/theme.css +293 -273
  211. package/resources/themes/mdc-dark-deeppurple/theme.css +89 -69
  212. package/resources/themes/mdc-dark-indigo/theme.css +89 -69
  213. package/resources/themes/mdc-light-deeppurple/theme.css +293 -273
  214. package/resources/themes/mdc-light-indigo/theme.css +293 -273
  215. package/resources/themes/nova/theme.css +26 -38
  216. package/resources/themes/nova-accent/theme.css +26 -38
  217. package/resources/themes/nova-alt/theme.css +26 -38
  218. package/resources/themes/rhea/theme.css +26 -38
  219. package/resources/themes/saga-blue/theme.css +26 -38
  220. package/resources/themes/saga-green/theme.css +26 -38
  221. package/resources/themes/saga-orange/theme.css +26 -38
  222. package/resources/themes/saga-purple/theme.css +26 -38
  223. package/resources/themes/vela-blue/theme.css +26 -38
  224. package/resources/themes/vela-green/theme.css +26 -38
  225. package/resources/themes/vela-orange/theme.css +26 -38
  226. package/resources/themes/vela-purple/theme.css +26 -38
  227. package/sidebar/sidebar.d.ts +1 -1
  228. package/slider/primeng-slider.metadata.json +1 -1
  229. package/table/primeng-table.metadata.json +1 -1
  230. package/table/table.d.ts +12 -0
  231. package/tabview/primeng-tabview.metadata.json +1 -1
  232. package/tabview/tabview.d.ts +6 -2
  233. package/treetable/primeng-treetable.metadata.json +1 -1
  234. package/virtualscroller/primeng-virtualscroller.metadata.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-sidebar.js","sources":["../../src/app/components/sidebar/sidebar.ts","../../src/app/components/sidebar/primeng-sidebar.ts"],"sourcesContent":["import {NgModule,Component,AfterViewInit,AfterViewChecked,OnDestroy,Input,Output,EventEmitter,ViewChild,ElementRef,Renderer2,ChangeDetectionStrategy, ViewEncapsulation, ContentChildren, QueryList, AfterContentInit, TemplateRef, ChangeDetectorRef} from '@angular/core';\nimport {trigger, state, style, transition, animate} from '@angular/animations';\nimport {CommonModule} from '@angular/common';\nimport {RippleModule} from 'primeng/ripple';\nimport {DomHandler} from 'primeng/dom';\nimport {PrimeTemplate} from 'primeng/api';\n\n@Component({\n selector: 'p-sidebar',\n template: `\n <div #container [ngClass]=\"{'p-sidebar':true, 'p-sidebar-active': visible,\n 'p-sidebar-left': (position === 'left'), 'p-sidebar-right': (position === 'right'),\n 'p-sidebar-top': (position === 'top'), 'p-sidebar-bottom': (position === 'bottom'),\n 'p-sidebar-full': fullScreen}\"\n [@panelState]=\"visible ? 'visible' : 'hidden'\" (@panelState.start)=\"onAnimationStart($event)\" [ngStyle]=\"style\" [class]=\"styleClass\" role=\"complementary\" [attr.aria-modal]=\"modal\">\n <div class=\"p-sidebar-content\">\n <button type=\"button\" class=\"p-sidebar-close p-link\" *ngIf=\"showCloseIcon\" (click)=\"close($event)\" (keydown.enter)=\"close($event)\" [attr.aria-label]=\"ariaCloseLabel\" pRipple>\n <span class=\"p-sidebar-close-icon pi pi-times\"></span>\n </button>\n <ng-content></ng-content>\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </div>\n </div>\n `,\n animations: [\n trigger('panelState', [\n state('hidden', style({\n opacity: 0\n })),\n state('visible', style({\n opacity: 1\n })),\n transition('visible => hidden', animate('300ms ease-in')),\n transition('hidden => visible', animate('300ms ease-out'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./sidebar.css']\n})\nexport class Sidebar implements AfterViewInit, AfterContentInit, AfterViewChecked, OnDestroy {\n\n @Input() position: string = 'left';\n\n @Input() fullScreen: boolean;\n\n @Input() appendTo: string;\n\n @Input() blockScroll: boolean = false;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() ariaCloseLabel: string;\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() modal: boolean = true;\n\n @Input() dismissible: boolean = true;\n\n @Input() showCloseIcon: boolean = true;\n\n @Input() closeOnEscape: boolean = true;\n\n @ViewChild('container') containerViewChild: ElementRef;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n @Output() onShow: EventEmitter<any> = new EventEmitter();\n\n @Output() onHide: EventEmitter<any> = new EventEmitter();\n\n @Output() visibleChange:EventEmitter<any> = new EventEmitter();\n\n initialized: boolean;\n\n _visible: boolean;\n\n preventVisibleChangePropagation: boolean;\n\n mask: HTMLDivElement;\n\n maskClickListener: Function;\n\n documentEscapeListener: Function;\n\n executePostDisplayActions: boolean;\n\n contentTemplate: TemplateRef<any>;\n\n constructor(public el: ElementRef, public renderer: Renderer2, public cd: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n this.initialized = true;\n\n if (this.appendTo) {\n if (this.appendTo === 'body')\n document.body.appendChild(this.containerViewChild.nativeElement);\n else\n DomHandler.appendChild(this.containerViewChild.nativeElement, this.appendTo);\n }\n\n if (this.visible) {\n this.show();\n }\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch(item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n @Input() get visible(): boolean {\n return this._visible;\n }\n\n set visible(val:boolean) {\n this._visible = val;\n\n if (this.initialized && this.containerViewChild && this.containerViewChild.nativeElement) {\n if (this._visible)\n this.show();\n else {\n if (this.preventVisibleChangePropagation)\n this.preventVisibleChangePropagation = false;\n else\n this.hide();\n }\n }\n }\n\n ngAfterViewChecked() {\n if (this.executePostDisplayActions) {\n this.onShow.emit({});\n this.executePostDisplayActions = false;\n }\n }\n\n show() {\n this.executePostDisplayActions = true;\n if (this.autoZIndex) {\n this.containerViewChild.nativeElement.style.zIndex = String(this.baseZIndex + (++DomHandler.zindex));\n }\n\n if (this.modal) {\n this.enableModality();\n }\n }\n\n hide() {\n this.onHide.emit({});\n\n if (this.modal) {\n this.disableModality();\n }\n }\n\n close(event: Event) {\n this.preventVisibleChangePropagation = true;\n this.hide();\n this.visibleChange.emit(false);\n event.preventDefault();\n }\n\n enableModality() {\n if (!this.mask) {\n this.mask = document.createElement('div');\n this.mask.style.zIndex = String(parseInt(this.containerViewChild.nativeElement.style.zIndex) - 1);\n DomHandler.addMultipleClasses(this.mask, 'p-component-overlay p-sidebar-mask');\n\n if (this.dismissible){\n this.maskClickListener = this.renderer.listen(this.mask, 'click', (event: any) => {\n if (this.dismissible) {\n this.close(event);\n }\n });\n }\n\n document.body.appendChild(this.mask);\n if (this.blockScroll) {\n DomHandler.addClass(document.body, 'p-overflow-hidden');\n }\n }\n }\n\n disableModality() {\n if (this.mask) {\n this.unbindMaskClickListener();\n document.body.removeChild(this.mask);\n if (this.blockScroll) {\n DomHandler.removeClass(document.body, 'p-overflow-hidden');\n }\n this.mask = null;\n }\n }\n\n onAnimationStart(event){\n switch(event.toState) {\n case 'visible':\n if (this.closeOnEscape) {\n this.bindDocumentEscapeListener();\n }\n break;\n\n case 'hidden':\n this.unbindGlobalListeners();\n break;\n }\n }\n\n bindDocumentEscapeListener() {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentEscapeListener = this.renderer.listen(documentTarget, 'keydown', (event) => {\n if (event.which == 27) {\n if (parseInt(this.containerViewChild.nativeElement.style.zIndex) === (DomHandler.zindex + this.baseZIndex)) {\n this.close(event);\n }\n }\n });\n }\n\n unbindDocumentEscapeListener() {\n if (this.documentEscapeListener) {\n this.documentEscapeListener();\n this.documentEscapeListener = null;\n }\n }\n\n unbindMaskClickListener() {\n if (this.maskClickListener) {\n this.maskClickListener();\n this.maskClickListener = null;\n }\n }\n\n unbindGlobalListeners() {\n this.unbindMaskClickListener();\n this.unbindDocumentEscapeListener();\n }\n\n ngOnDestroy() {\n this.initialized = false;\n\n if (this.visible) {\n this.hide();\n }\n\n if (this.appendTo) {\n this.el.nativeElement.appendChild(this.containerViewChild.nativeElement);\n }\n\n\t\tthis.unbindGlobalListeners();\n }\n}\n\n@NgModule({\n imports: [CommonModule,RippleModule],\n exports: [Sidebar],\n declarations: [Sidebar]\n})\nexport class SidebarModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primeng-sidebar.js","sources":["../../src/app/components/sidebar/sidebar.ts","../../src/app/components/sidebar/primeng-sidebar.ts"],"sourcesContent":["import {NgModule,Component,AfterViewInit,AfterViewChecked,OnDestroy,Input,Output,EventEmitter,ViewChild,ElementRef,Renderer2,ChangeDetectionStrategy, ViewEncapsulation, ContentChildren, QueryList, AfterContentInit, TemplateRef, ChangeDetectorRef} from '@angular/core';\nimport {trigger, state, style, transition, animate} from '@angular/animations';\nimport {CommonModule} from '@angular/common';\nimport {RippleModule} from 'primeng/ripple';\nimport {DomHandler} from 'primeng/dom';\nimport {PrimeTemplate} from 'primeng/api';\n\n@Component({\n selector: 'p-sidebar',\n template: `\n <div #container [ngClass]=\"{'p-sidebar':true, 'p-sidebar-active': visible,\n 'p-sidebar-left': (position === 'left'), 'p-sidebar-right': (position === 'right'),\n 'p-sidebar-top': (position === 'top'), 'p-sidebar-bottom': (position === 'bottom'),\n 'p-sidebar-full': fullScreen}\"\n [@panelState]=\"visible ? 'visible' : 'hidden'\" (@panelState.start)=\"onAnimationStart($event)\" [ngStyle]=\"style\" [class]=\"styleClass\" role=\"complementary\" [attr.aria-modal]=\"modal\">\n <div class=\"p-sidebar-content\">\n <button type=\"button\" class=\"p-sidebar-close p-link\" *ngIf=\"showCloseIcon\" (click)=\"close($event)\" (keydown.enter)=\"close($event)\" [attr.aria-label]=\"ariaCloseLabel\" pRipple>\n <span class=\"p-sidebar-close-icon pi pi-times\"></span>\n </button>\n <ng-content></ng-content>\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </div>\n </div>\n `,\n animations: [\n trigger('panelState', [\n state('hidden', style({\n opacity: 0\n })),\n state('visible', style({\n opacity: 1\n })),\n transition('visible => hidden', animate('300ms ease-in')),\n transition('hidden => visible', animate('300ms ease-out'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./sidebar.css']\n})\nexport class Sidebar implements AfterViewInit, AfterContentInit, AfterViewChecked, OnDestroy {\n\n @Input() position: string = 'left';\n\n @Input() fullScreen: boolean;\n\n @Input() appendTo: any;\n\n @Input() blockScroll: boolean = false;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() ariaCloseLabel: string;\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() modal: boolean = true;\n\n @Input() dismissible: boolean = true;\n\n @Input() showCloseIcon: boolean = true;\n\n @Input() closeOnEscape: boolean = true;\n\n @ViewChild('container') containerViewChild: ElementRef;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n @Output() onShow: EventEmitter<any> = new EventEmitter();\n\n @Output() onHide: EventEmitter<any> = new EventEmitter();\n\n @Output() visibleChange:EventEmitter<any> = new EventEmitter();\n\n initialized: boolean;\n\n _visible: boolean;\n\n preventVisibleChangePropagation: boolean;\n\n mask: HTMLDivElement;\n\n maskClickListener: Function;\n\n documentEscapeListener: Function;\n\n executePostDisplayActions: boolean;\n\n contentTemplate: TemplateRef<any>;\n\n constructor(public el: ElementRef, public renderer: Renderer2, public cd: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n this.initialized = true;\n\n if (this.appendTo) {\n if (this.appendTo === 'body')\n document.body.appendChild(this.containerViewChild.nativeElement);\n else\n DomHandler.appendChild(this.containerViewChild.nativeElement, this.appendTo);\n }\n\n if (this.visible) {\n this.show();\n }\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch(item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n @Input() get visible(): boolean {\n return this._visible;\n }\n\n set visible(val:boolean) {\n this._visible = val;\n\n if (this.initialized && this.containerViewChild && this.containerViewChild.nativeElement) {\n if (this._visible)\n this.show();\n else {\n if (this.preventVisibleChangePropagation)\n this.preventVisibleChangePropagation = false;\n else\n this.hide();\n }\n }\n }\n\n ngAfterViewChecked() {\n if (this.executePostDisplayActions) {\n this.onShow.emit({});\n this.executePostDisplayActions = false;\n }\n }\n\n show() {\n this.executePostDisplayActions = true;\n if (this.autoZIndex) {\n this.containerViewChild.nativeElement.style.zIndex = String(this.baseZIndex + (++DomHandler.zindex));\n }\n\n if (this.modal) {\n this.enableModality();\n }\n }\n\n hide() {\n this.onHide.emit({});\n\n if (this.modal) {\n this.disableModality();\n }\n }\n\n close(event: Event) {\n this.preventVisibleChangePropagation = true;\n this.hide();\n this.visibleChange.emit(false);\n event.preventDefault();\n }\n\n enableModality() {\n if (!this.mask) {\n this.mask = document.createElement('div');\n this.mask.style.zIndex = String(parseInt(this.containerViewChild.nativeElement.style.zIndex) - 1);\n DomHandler.addMultipleClasses(this.mask, 'p-component-overlay p-sidebar-mask');\n\n if (this.dismissible){\n this.maskClickListener = this.renderer.listen(this.mask, 'click', (event: any) => {\n if (this.dismissible) {\n this.close(event);\n }\n });\n }\n\n document.body.appendChild(this.mask);\n if (this.blockScroll) {\n DomHandler.addClass(document.body, 'p-overflow-hidden');\n }\n }\n }\n\n disableModality() {\n if (this.mask) {\n this.unbindMaskClickListener();\n document.body.removeChild(this.mask);\n if (this.blockScroll) {\n DomHandler.removeClass(document.body, 'p-overflow-hidden');\n }\n this.mask = null;\n }\n }\n\n onAnimationStart(event){\n switch(event.toState) {\n case 'visible':\n if (this.closeOnEscape) {\n this.bindDocumentEscapeListener();\n }\n break;\n\n case 'hidden':\n this.unbindGlobalListeners();\n break;\n }\n }\n\n bindDocumentEscapeListener() {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentEscapeListener = this.renderer.listen(documentTarget, 'keydown', (event) => {\n if (event.which == 27) {\n if (parseInt(this.containerViewChild.nativeElement.style.zIndex) === (DomHandler.zindex + this.baseZIndex)) {\n this.close(event);\n }\n }\n });\n }\n\n unbindDocumentEscapeListener() {\n if (this.documentEscapeListener) {\n this.documentEscapeListener();\n this.documentEscapeListener = null;\n }\n }\n\n unbindMaskClickListener() {\n if (this.maskClickListener) {\n this.maskClickListener();\n this.maskClickListener = null;\n }\n }\n\n unbindGlobalListeners() {\n this.unbindMaskClickListener();\n this.unbindDocumentEscapeListener();\n }\n\n ngOnDestroy() {\n this.initialized = false;\n\n if (this.visible) {\n this.hide();\n }\n\n if (this.appendTo) {\n this.el.nativeElement.appendChild(this.containerViewChild.nativeElement);\n }\n\n\t\tthis.unbindGlobalListeners();\n }\n}\n\n@NgModule({\n imports: [CommonModule,RippleModule],\n exports: [Sidebar],\n declarations: [Sidebar]\n})\nexport class SidebarModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -176,6 +176,7 @@ class Slider {
176
176
  }
177
177
  }
178
178
  setValueFromHandle(event, handleValue) {
179
+ this.sliderHandleClick = false;
179
180
  let newValue = this.getValueFromHandle(handleValue);
180
181
  if (this.range) {
181
182
  if (this.step) {
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-slider.js","sources":["../../src/app/components/slider/slider.ts","../../src/app/components/slider/primeng-slider.ts"],"sourcesContent":["import {NgModule, Component, ElementRef, OnDestroy, Input, Output, EventEmitter, forwardRef, Renderer2,NgZone,ChangeDetectorRef, ViewChild, ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DomHandler} from 'primeng/dom';\nimport {NG_VALUE_ACCESSOR, ControlValueAccessor} from '@angular/forms';\n\nexport const SLIDER_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Slider),\n multi: true\n};\n\n@Component({\n selector: 'p-slider',\n template: `\n <div [ngStyle]=\"style\" [class]=\"styleClass\" [ngClass]=\"{'p-slider p-component':true,'p-disabled':disabled,\n 'p-slider-horizontal':orientation == 'horizontal','p-slider-vertical':orientation == 'vertical','p-slider-animate':animate}\"\n (click)=\"onBarClick($event)\">\n <span *ngIf=\"range && orientation == 'horizontal'\" class=\"p-slider-range\" [ngStyle]=\"{'left':handleValues[0] + '%',width: (handleValues[1] - handleValues[0] + '%')}\"></span>\n <span *ngIf=\"range && orientation == 'vertical'\" class=\"p-slider-range\" [ngStyle]=\"{'bottom':handleValues[0] + '%',height: (handleValues[1] - handleValues[0] + '%')}\"></span>\n <span *ngIf=\"!range && orientation=='vertical'\" class=\"p-slider-range\" [ngStyle]=\"{'height': handleValue + '%'}\"></span>\n <span *ngIf=\"!range && orientation=='horizontal'\" class=\"p-slider-range\" [ngStyle]=\"{'width': handleValue + '%'}\"></span>\n <span #sliderHandle *ngIf=\"!range\" [attr.tabindex]=\"disabled ? null : tabindex\" (keydown)=\"onHandleKeydown($event)\" class=\"p-slider-handle\" (mousedown)=\"onMouseDown($event)\" (touchstart)=\"onTouchStart($event)\" (touchmove)=\"onTouchMove($event)\" (touchend)=\"onTouchEnd($event)\"\n [style.transition]=\"dragging ? 'none': null\" [ngStyle]=\"{'left': orientation == 'horizontal' ? handleValue + '%' : null,'bottom': orientation == 'vertical' ? handleValue + '%' : null}\"\n [attr.aria-valuemin]=\"min\" [attr.aria-valuenow]=\"value\" [attr.aria-valuemax]=\"max\" [attr.aria-labelledby]=\"ariaLabelledBy\"></span>\n <span #sliderHandleStart *ngIf=\"range\" [attr.tabindex]=\"disabled ? null : tabindex\" (keydown)=\"onHandleKeydown($event,0)\" (mousedown)=\"onMouseDown($event,0)\" (touchstart)=\"onTouchStart($event,0)\" (touchmove)=\"onTouchMove($event,0)\" (touchend)=\"onTouchEnd($event)\" [style.transition]=\"dragging ? 'none': null\" class=\"p-slider-handle\" \n [ngStyle]=\"{'left': rangeStartLeft, 'bottom': rangeStartBottom}\" [ngClass]=\"{'p-slider-handle-active':handleIndex==0}\"\n [attr.aria-valuemin]=\"min\" [attr.aria-valuenow]=\"value ? value[0] : null\" [attr.aria-valuemax]=\"max\" [attr.aria-labelledby]=\"ariaLabelledBy\"></span>\n <span #sliderHandleEnd *ngIf=\"range\" [attr.tabindex]=\"disabled ? null : tabindex\" (keydown)=\"onHandleKeydown($event,1)\" (mousedown)=\"onMouseDown($event,1)\" (touchstart)=\"onTouchStart($event,1)\" (touchmove)=\"onTouchMove($event,1)\" (touchend)=\"onTouchEnd($event)\" [style.transition]=\"dragging ? 'none': null\" class=\"p-slider-handle\" \n [ngStyle]=\"{'left': rangeEndLeft, 'bottom': rangeEndBottom}\" [ngClass]=\"{'p-slider-handle-active':handleIndex==1}\"\n [attr.aria-valuemin]=\"min\" [attr.aria-valuenow]=\"value ? value[1] : null\" [attr.aria-valuemax]=\"max\" [attr.aria-labelledby]=\"ariaLabelledBy\"></span>\n </div>\n `,\n providers: [SLIDER_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./slider.css']\n})\nexport class Slider implements OnDestroy,ControlValueAccessor {\n\n @Input() animate: boolean;\n\n @Input() disabled: boolean;\n\n @Input() min: number = 0;\n\n @Input() max: number = 100;\n\n @Input() orientation: string = 'horizontal';\n\n @Input() step: number;\n\n @Input() range: boolean;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() ariaLabelledBy: string;\n\n @Input() tabindex: number = 0;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n \n @Output() onSlideEnd: EventEmitter<any> = new EventEmitter();\n \n @ViewChild(\"sliderHandle\") sliderHandle: ElementRef;\n\n @ViewChild(\"sliderHandleStart\") sliderHandleStart: ElementRef;\n\n @ViewChild(\"sliderHandleEnd\") sliderHandleEnd: ElementRef;\n\n public value: number;\n \n public values: number[];\n \n public handleValue: number;\n \n public handleValues: number[] = [];\n \n public onModelChange: Function = () => {};\n \n public onModelTouched: Function = () => {};\n \n public dragging: boolean;\n \n public dragListener: any;\n \n public mouseupListener: any;\n \n public initX: number;\n \n public initY: number;\n \n public barWidth: number;\n \n public barHeight: number;\n \n public sliderHandleClick: boolean;\n \n public handleIndex: number = 0;\n\n public startHandleValue: any;\n\n public startx: number;\n\n public starty: number;\n \n constructor(public el: ElementRef, public renderer: Renderer2, private ngZone: NgZone, public cd: ChangeDetectorRef) {}\n \n onMouseDown(event, index?:number) {\n if (this.disabled) {\n return;\n }\n \n this.dragging = true;\n this.updateDomData();\n this.sliderHandleClick = true;\n if (this.range && this.handleValues && this.handleValues[0] === this.max) {\n this.handleIndex = 0;\n }\n else {\n this.handleIndex = index;\n }\n\n this.bindDragListeners();\n event.target.focus();\n event.preventDefault();\n\n if (this.animate) {\n DomHandler.removeClass(this.el.nativeElement.children[0], 'p-slider-animate');\n }\n }\n\n onTouchStart(event, index?:number) {\n if (this.disabled) {\n return;\n }\n\n var touchobj = event.changedTouches[0];\n this.startHandleValue = (this.range) ? this.handleValues[index] : this.handleValue;\n this.dragging = true;\n if (this.range && this.handleValues && this.handleValues[0] === this.max) {\n this.handleIndex = 0;\n }\n else {\n this.handleIndex = index;\n }\n\n if (this.orientation === 'horizontal') {\n this.startx = parseInt(touchobj.clientX, 10);\n this.barWidth = this.el.nativeElement.children[0].offsetWidth;\n }\n else {\n this.starty = parseInt(touchobj.clientY, 10);\n this.barHeight = this.el.nativeElement.children[0].offsetHeight;\n }\n\n if (this.animate) {\n DomHandler.removeClass(this.el.nativeElement.children[0], 'p-slider-animate');\n }\n\n event.preventDefault();\n }\n\n onTouchMove(event, index?:number) {\n if (this.disabled) {\n return;\n }\n \n var touchobj = event.changedTouches[0],\n handleValue = 0;\n\n if (this.orientation === 'horizontal') {\n handleValue = Math.floor(((parseInt(touchobj.clientX, 10) - this.startx) * 100) / (this.barWidth)) + this.startHandleValue;\n }\n else {\n handleValue = Math.floor(((this.starty - parseInt(touchobj.clientY, 10)) * 100) / (this.barHeight)) + this.startHandleValue;\n }\n\n this.setValueFromHandle(event, handleValue);\n\n event.preventDefault();\n }\n\n onTouchEnd(event, index?:number) {\n if (this.disabled) {\n return;\n }\n\n this.dragging = false;\n \n if (this.range)\n this.onSlideEnd.emit({originalEvent: event, values: this.values});\n else\n this.onSlideEnd.emit({originalEvent: event, value: this.value});\n\n if (this.animate) {\n DomHandler.addClass(this.el.nativeElement.children[0], 'p-slider-animate');\n }\n \n event.preventDefault();\n }\n \n onBarClick(event) {\n if (this.disabled) {\n return;\n }\n \n if (!this.sliderHandleClick) {\n this.updateDomData();\n this.handleChange(event);\n }\n \n this.sliderHandleClick = false;\n }\n\n onHandleKeydown(event, handleIndex?:number) {\n if (this.disabled) {\n return;\n }\n if (event.which == 38 || event.which == 39) {\n this.spin(event, 1, handleIndex);\n }\n else if (event.which == 37 || event.which == 40) {\n this.spin(event, -1, handleIndex);\n }\n }\n \n spin(event, dir: number, handleIndex?:number) {\n let step = (this.step || 1) * dir;\n\n if (this.range) {\n this.handleIndex = handleIndex;\n this.updateValue(this.values[this.handleIndex] + step);\n this.updateHandleValue();\n }\n else {\n this.updateValue(this.value + step);\n this.updateHandleValue();\n }\n\n event.preventDefault();\n }\n\n handleChange(event: Event) {\n let handleValue = this.calculateHandleValue(event);\n this.setValueFromHandle(event, handleValue);\n }\n \n bindDragListeners() {\n this.ngZone.runOutsideAngular(() => {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n if (!this.dragListener) {\n this.dragListener = this.renderer.listen(documentTarget, 'mousemove', (event) => {\n if (this.dragging) {\n this.ngZone.run(() => {\n this.handleChange(event);\n });\n }\n });\n }\n\n if (!this.mouseupListener) {\n this.mouseupListener = this.renderer.listen(documentTarget, 'mouseup', (event) => {\n if (this.dragging) {\n this.dragging = false;\n this.ngZone.run(() => {\n if (this.range)\n this.onSlideEnd.emit({originalEvent: event, values: this.values});\n else\n this.onSlideEnd.emit({originalEvent: event, value: this.value});\n\n if (this.animate) {\n DomHandler.addClass(this.el.nativeElement.children[0], 'p-slider-animate');\n }\n });\n }\n });\n }\n });\n }\n \n unbindDragListeners() {\n if (this.dragListener) {\n this.dragListener();\n }\n \n if (this.mouseupListener) {\n this.mouseupListener();\n }\n }\n\n setValueFromHandle(event: Event, handleValue: any) {\n let newValue = this.getValueFromHandle(handleValue);\n\n if (this.range) {\n if (this.step) {\n this.handleStepChange(newValue, this.values[this.handleIndex]);\n }\n else {\n this.handleValues[this.handleIndex] = handleValue; \n this.updateValue(newValue, event);\n }\n }\n else { \n if (this.step) {\n this.handleStepChange(newValue, this.value);\n } \n else {\n this.handleValue = handleValue;\n this.updateValue(newValue, event);\n } \n }\n\n this.cd.markForCheck();\n }\n \n handleStepChange(newValue: number, oldValue: number) {\n let diff = (newValue - oldValue);\n let val = oldValue;\n \n if (diff < 0) {\n val = oldValue + Math.ceil(newValue / this.step - oldValue / this.step) * this.step;\n }\n else if (diff > 0) {\n val = oldValue + Math.floor(newValue / this.step - oldValue / this.step) * this.step;\n }\n \n this.updateValue(val);\n this.updateHandleValue();\n }\n \n writeValue(value: any) : void {\n if (this.range)\n this.values = value||[0,0];\n else\n this.value = value||0;\n \n this.updateHandleValue();\n this.cd.markForCheck();\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 setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n \n get rangeStartLeft() {\n return this.isVertical() ? 'auto' : this.handleValues[0] + '%';\n }\n \n get rangeStartBottom() {\n return this.isVertical() ? this.handleValues[0] + '%' : 'auto';\n }\n \n get rangeEndLeft() {\n return this.isVertical() ? 'auto' : this.handleValues[1] + '%';\n }\n \n get rangeEndBottom() {\n return this.isVertical() ? this.handleValues[1] + '%' : 'auto';\n }\n \n isVertical(): boolean {\n return this.orientation === 'vertical';\n }\n \n updateDomData(): void {\n let rect = this.el.nativeElement.children[0].getBoundingClientRect();\n this.initX = rect.left + DomHandler.getWindowScrollLeft();\n this.initY = rect.top + DomHandler.getWindowScrollTop();\n this.barWidth = this.el.nativeElement.children[0].offsetWidth;\n this.barHeight = this.el.nativeElement.children[0].offsetHeight;\n }\n \n calculateHandleValue(event): number {\n if (this.orientation === 'horizontal')\n return ((event.pageX - this.initX) * 100) / (this.barWidth);\n else\n return(((this.initY + this.barHeight) - event.pageY) * 100) / (this.barHeight);\n }\n \n updateHandleValue(): void {\n if (this.range) {\n this.handleValues[0] = (this.values[0] < this.min ? 0 : this.values[0] - this.min) * 100 / (this.max - this.min);\n this.handleValues[1] = (this.values[1] > this.max ? 100 : this.values[1] - this.min) * 100 / (this.max - this.min);\n }\n else {\n if (this.value < this.min)\n this.handleValue = 0;\n else if (this.value > this.max)\n this.handleValue = 100;\n else\n this.handleValue = (this.value - this.min) * 100 / (this.max - this.min);\n }\n }\n \n updateValue(val: number, event?: Event): void {\n if (this.range) {\n let value = val;\n \n if (this.handleIndex == 0) {\n if (value < this.min) {\n value = this.min;\n this.handleValues[0] = 0;\n }\n else if (value > this.values[1]) {\n value = this.values[1];\n this.handleValues[0] = this.handleValues[1];\n }\n\n this.sliderHandleStart.nativeElement.focus();\n }\n else {\n if (value > this.max) {\n value = this.max;\n this.handleValues[1] = 100;\n }\n else if (value < this.values[0]) {\n value = this.values[0];\n this.handleValues[1] = this.handleValues[0];\n }\n\n this.sliderHandleEnd.nativeElement.focus();\n }\n \n this.values[this.handleIndex] = this.getNormalizedValue(value);\n this.values = this.values.slice();\n this.onModelChange(this.values);\n this.onChange.emit({event: event, values: this.values});\n }\n else {\n if (val < this.min) {\n val = this.min;\n this.handleValue = 0;\n }\n else if (val > this.max) {\n val = this.max;\n this.handleValue = 100;\n }\n \n\t\t\tthis.value = this.getNormalizedValue(val);\n \n this.onModelChange(this.value);\n this.onChange.emit({event: event, value: this.value});\n this.sliderHandle.nativeElement.focus();\n }\n }\n \n getValueFromHandle(handleValue: number): number {\n return (this.max - this.min) * (handleValue / 100) + this.min;\n }\n\t\n\tgetDecimalsCount(value: number): number {\n\t\tif (value && Math.floor(value) !== value)\n\t\t\treturn value.toString().split(\".\")[1].length || 0;\n\t\treturn 0;\n\t}\n\t\n\tgetNormalizedValue(val: number): number {\n\t\tlet decimalsCount = this.getDecimalsCount(this.step);\n\t\tif (decimalsCount > 0) {\n\t\t\treturn +val.toFixed(decimalsCount);\n\t\t} \n\t\telse {\n\t\t\treturn Math.floor(val);\n\t\t}\n\t}\n \n ngOnDestroy() {\n this.unbindDragListeners();\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [Slider],\n declarations: [Slider]\n})\nexport class SliderModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primeng-slider.js","sources":["../../src/app/components/slider/slider.ts","../../src/app/components/slider/primeng-slider.ts"],"sourcesContent":["import {NgModule, Component, ElementRef, OnDestroy, Input, Output, EventEmitter, forwardRef, Renderer2,NgZone,ChangeDetectorRef, ViewChild, ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DomHandler} from 'primeng/dom';\nimport {NG_VALUE_ACCESSOR, ControlValueAccessor} from '@angular/forms';\n\nexport const SLIDER_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Slider),\n multi: true\n};\n\n@Component({\n selector: 'p-slider',\n template: `\n <div [ngStyle]=\"style\" [class]=\"styleClass\" [ngClass]=\"{'p-slider p-component':true,'p-disabled':disabled,\n 'p-slider-horizontal':orientation == 'horizontal','p-slider-vertical':orientation == 'vertical','p-slider-animate':animate}\"\n (click)=\"onBarClick($event)\">\n <span *ngIf=\"range && orientation == 'horizontal'\" class=\"p-slider-range\" [ngStyle]=\"{'left':handleValues[0] + '%',width: (handleValues[1] - handleValues[0] + '%')}\"></span>\n <span *ngIf=\"range && orientation == 'vertical'\" class=\"p-slider-range\" [ngStyle]=\"{'bottom':handleValues[0] + '%',height: (handleValues[1] - handleValues[0] + '%')}\"></span>\n <span *ngIf=\"!range && orientation=='vertical'\" class=\"p-slider-range\" [ngStyle]=\"{'height': handleValue + '%'}\"></span>\n <span *ngIf=\"!range && orientation=='horizontal'\" class=\"p-slider-range\" [ngStyle]=\"{'width': handleValue + '%'}\"></span>\n <span #sliderHandle *ngIf=\"!range\" [attr.tabindex]=\"disabled ? null : tabindex\" (keydown)=\"onHandleKeydown($event)\" class=\"p-slider-handle\" (mousedown)=\"onMouseDown($event)\" (touchstart)=\"onTouchStart($event)\" (touchmove)=\"onTouchMove($event)\" (touchend)=\"onTouchEnd($event)\"\n [style.transition]=\"dragging ? 'none': null\" [ngStyle]=\"{'left': orientation == 'horizontal' ? handleValue + '%' : null,'bottom': orientation == 'vertical' ? handleValue + '%' : null}\"\n [attr.aria-valuemin]=\"min\" [attr.aria-valuenow]=\"value\" [attr.aria-valuemax]=\"max\" [attr.aria-labelledby]=\"ariaLabelledBy\"></span>\n <span #sliderHandleStart *ngIf=\"range\" [attr.tabindex]=\"disabled ? null : tabindex\" (keydown)=\"onHandleKeydown($event,0)\" (mousedown)=\"onMouseDown($event,0)\" (touchstart)=\"onTouchStart($event,0)\" (touchmove)=\"onTouchMove($event,0)\" (touchend)=\"onTouchEnd($event)\" [style.transition]=\"dragging ? 'none': null\" class=\"p-slider-handle\" \n [ngStyle]=\"{'left': rangeStartLeft, 'bottom': rangeStartBottom}\" [ngClass]=\"{'p-slider-handle-active':handleIndex==0}\"\n [attr.aria-valuemin]=\"min\" [attr.aria-valuenow]=\"value ? value[0] : null\" [attr.aria-valuemax]=\"max\" [attr.aria-labelledby]=\"ariaLabelledBy\"></span>\n <span #sliderHandleEnd *ngIf=\"range\" [attr.tabindex]=\"disabled ? null : tabindex\" (keydown)=\"onHandleKeydown($event,1)\" (mousedown)=\"onMouseDown($event,1)\" (touchstart)=\"onTouchStart($event,1)\" (touchmove)=\"onTouchMove($event,1)\" (touchend)=\"onTouchEnd($event)\" [style.transition]=\"dragging ? 'none': null\" class=\"p-slider-handle\" \n [ngStyle]=\"{'left': rangeEndLeft, 'bottom': rangeEndBottom}\" [ngClass]=\"{'p-slider-handle-active':handleIndex==1}\"\n [attr.aria-valuemin]=\"min\" [attr.aria-valuenow]=\"value ? value[1] : null\" [attr.aria-valuemax]=\"max\" [attr.aria-labelledby]=\"ariaLabelledBy\"></span>\n </div>\n `,\n providers: [SLIDER_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./slider.css']\n})\nexport class Slider implements OnDestroy,ControlValueAccessor {\n\n @Input() animate: boolean;\n\n @Input() disabled: boolean;\n\n @Input() min: number = 0;\n\n @Input() max: number = 100;\n\n @Input() orientation: string = 'horizontal';\n\n @Input() step: number;\n\n @Input() range: boolean;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() ariaLabelledBy: string;\n\n @Input() tabindex: number = 0;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n \n @Output() onSlideEnd: EventEmitter<any> = new EventEmitter();\n \n @ViewChild(\"sliderHandle\") sliderHandle: ElementRef;\n\n @ViewChild(\"sliderHandleStart\") sliderHandleStart: ElementRef;\n\n @ViewChild(\"sliderHandleEnd\") sliderHandleEnd: ElementRef;\n\n public value: number;\n \n public values: number[];\n \n public handleValue: number;\n \n public handleValues: number[] = [];\n \n public onModelChange: Function = () => {};\n \n public onModelTouched: Function = () => {};\n \n public dragging: boolean;\n \n public dragListener: any;\n \n public mouseupListener: any;\n \n public initX: number;\n \n public initY: number;\n \n public barWidth: number;\n \n public barHeight: number;\n \n public sliderHandleClick: boolean;\n \n public handleIndex: number = 0;\n\n public startHandleValue: any;\n\n public startx: number;\n\n public starty: number;\n \n constructor(public el: ElementRef, public renderer: Renderer2, private ngZone: NgZone, public cd: ChangeDetectorRef) {}\n \n onMouseDown(event, index?:number) {\n if (this.disabled) {\n return;\n }\n \n this.dragging = true;\n this.updateDomData();\n this.sliderHandleClick = true;\n if (this.range && this.handleValues && this.handleValues[0] === this.max) {\n this.handleIndex = 0;\n }\n else {\n this.handleIndex = index;\n }\n\n this.bindDragListeners();\n event.target.focus();\n event.preventDefault();\n\n if (this.animate) {\n DomHandler.removeClass(this.el.nativeElement.children[0], 'p-slider-animate');\n }\n }\n\n onTouchStart(event, index?:number) {\n if (this.disabled) {\n return;\n }\n\n var touchobj = event.changedTouches[0];\n this.startHandleValue = (this.range) ? this.handleValues[index] : this.handleValue;\n this.dragging = true;\n if (this.range && this.handleValues && this.handleValues[0] === this.max) {\n this.handleIndex = 0;\n }\n else {\n this.handleIndex = index;\n }\n\n if (this.orientation === 'horizontal') {\n this.startx = parseInt(touchobj.clientX, 10);\n this.barWidth = this.el.nativeElement.children[0].offsetWidth;\n }\n else {\n this.starty = parseInt(touchobj.clientY, 10);\n this.barHeight = this.el.nativeElement.children[0].offsetHeight;\n }\n\n if (this.animate) {\n DomHandler.removeClass(this.el.nativeElement.children[0], 'p-slider-animate');\n }\n\n event.preventDefault();\n }\n\n onTouchMove(event, index?:number) {\n if (this.disabled) {\n return;\n }\n \n var touchobj = event.changedTouches[0],\n handleValue = 0;\n\n if (this.orientation === 'horizontal') {\n handleValue = Math.floor(((parseInt(touchobj.clientX, 10) - this.startx) * 100) / (this.barWidth)) + this.startHandleValue;\n }\n else {\n handleValue = Math.floor(((this.starty - parseInt(touchobj.clientY, 10)) * 100) / (this.barHeight)) + this.startHandleValue;\n }\n\n this.setValueFromHandle(event, handleValue);\n\n event.preventDefault();\n }\n\n onTouchEnd(event, index?:number) {\n if (this.disabled) {\n return;\n }\n\n this.dragging = false;\n \n if (this.range)\n this.onSlideEnd.emit({originalEvent: event, values: this.values});\n else\n this.onSlideEnd.emit({originalEvent: event, value: this.value});\n\n if (this.animate) {\n DomHandler.addClass(this.el.nativeElement.children[0], 'p-slider-animate');\n }\n \n event.preventDefault();\n }\n \n onBarClick(event) {\n if (this.disabled) {\n return;\n }\n \n if (!this.sliderHandleClick) {\n this.updateDomData();\n this.handleChange(event);\n }\n \n this.sliderHandleClick = false;\n }\n\n onHandleKeydown(event, handleIndex?:number) {\n if (this.disabled) {\n return;\n }\n if (event.which == 38 || event.which == 39) {\n this.spin(event, 1, handleIndex);\n }\n else if (event.which == 37 || event.which == 40) {\n this.spin(event, -1, handleIndex);\n }\n }\n \n spin(event, dir: number, handleIndex?:number) {\n let step = (this.step || 1) * dir;\n\n if (this.range) {\n this.handleIndex = handleIndex;\n this.updateValue(this.values[this.handleIndex] + step);\n this.updateHandleValue();\n }\n else {\n this.updateValue(this.value + step);\n this.updateHandleValue();\n }\n\n event.preventDefault();\n }\n\n handleChange(event: Event) {\n let handleValue = this.calculateHandleValue(event);\n this.setValueFromHandle(event, handleValue);\n }\n \n bindDragListeners() {\n this.ngZone.runOutsideAngular(() => {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n if (!this.dragListener) {\n this.dragListener = this.renderer.listen(documentTarget, 'mousemove', (event) => {\n if (this.dragging) {\n this.ngZone.run(() => {\n this.handleChange(event);\n });\n }\n });\n }\n\n if (!this.mouseupListener) {\n this.mouseupListener = this.renderer.listen(documentTarget, 'mouseup', (event) => {\n if (this.dragging) {\n this.dragging = false;\n this.ngZone.run(() => {\n if (this.range)\n this.onSlideEnd.emit({originalEvent: event, values: this.values});\n else\n this.onSlideEnd.emit({originalEvent: event, value: this.value});\n\n if (this.animate) {\n DomHandler.addClass(this.el.nativeElement.children[0], 'p-slider-animate');\n }\n });\n }\n });\n }\n });\n }\n \n unbindDragListeners() {\n if (this.dragListener) {\n this.dragListener();\n }\n \n if (this.mouseupListener) {\n this.mouseupListener();\n }\n }\n\n setValueFromHandle(event: Event, handleValue: any) {\n this.sliderHandleClick = false;\n let newValue = this.getValueFromHandle(handleValue);\n\n if (this.range) {\n if (this.step) {\n this.handleStepChange(newValue, this.values[this.handleIndex]);\n }\n else {\n this.handleValues[this.handleIndex] = handleValue; \n this.updateValue(newValue, event);\n }\n }\n else { \n if (this.step) {\n this.handleStepChange(newValue, this.value);\n } \n else {\n this.handleValue = handleValue;\n this.updateValue(newValue, event);\n } \n }\n\n this.cd.markForCheck();\n }\n \n handleStepChange(newValue: number, oldValue: number) {\n let diff = (newValue - oldValue);\n let val = oldValue;\n \n if (diff < 0) {\n val = oldValue + Math.ceil(newValue / this.step - oldValue / this.step) * this.step;\n }\n else if (diff > 0) {\n val = oldValue + Math.floor(newValue / this.step - oldValue / this.step) * this.step;\n }\n \n this.updateValue(val);\n this.updateHandleValue();\n }\n \n writeValue(value: any) : void {\n if (this.range)\n this.values = value||[0,0];\n else\n this.value = value||0;\n \n this.updateHandleValue();\n this.cd.markForCheck();\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 setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n \n get rangeStartLeft() {\n return this.isVertical() ? 'auto' : this.handleValues[0] + '%';\n }\n \n get rangeStartBottom() {\n return this.isVertical() ? this.handleValues[0] + '%' : 'auto';\n }\n \n get rangeEndLeft() {\n return this.isVertical() ? 'auto' : this.handleValues[1] + '%';\n }\n \n get rangeEndBottom() {\n return this.isVertical() ? this.handleValues[1] + '%' : 'auto';\n }\n \n isVertical(): boolean {\n return this.orientation === 'vertical';\n }\n \n updateDomData(): void {\n let rect = this.el.nativeElement.children[0].getBoundingClientRect();\n this.initX = rect.left + DomHandler.getWindowScrollLeft();\n this.initY = rect.top + DomHandler.getWindowScrollTop();\n this.barWidth = this.el.nativeElement.children[0].offsetWidth;\n this.barHeight = this.el.nativeElement.children[0].offsetHeight;\n }\n \n calculateHandleValue(event): number {\n if (this.orientation === 'horizontal')\n return ((event.pageX - this.initX) * 100) / (this.barWidth);\n else\n return(((this.initY + this.barHeight) - event.pageY) * 100) / (this.barHeight);\n }\n \n updateHandleValue(): void {\n if (this.range) {\n this.handleValues[0] = (this.values[0] < this.min ? 0 : this.values[0] - this.min) * 100 / (this.max - this.min);\n this.handleValues[1] = (this.values[1] > this.max ? 100 : this.values[1] - this.min) * 100 / (this.max - this.min);\n }\n else {\n if (this.value < this.min)\n this.handleValue = 0;\n else if (this.value > this.max)\n this.handleValue = 100;\n else\n this.handleValue = (this.value - this.min) * 100 / (this.max - this.min);\n }\n }\n \n updateValue(val: number, event?: Event): void {\n if (this.range) {\n let value = val;\n \n if (this.handleIndex == 0) {\n if (value < this.min) {\n value = this.min;\n this.handleValues[0] = 0;\n }\n else if (value > this.values[1]) {\n value = this.values[1];\n this.handleValues[0] = this.handleValues[1];\n }\n\n this.sliderHandleStart.nativeElement.focus();\n }\n else {\n if (value > this.max) {\n value = this.max;\n this.handleValues[1] = 100;\n }\n else if (value < this.values[0]) {\n value = this.values[0];\n this.handleValues[1] = this.handleValues[0];\n }\n\n this.sliderHandleEnd.nativeElement.focus();\n }\n \n this.values[this.handleIndex] = this.getNormalizedValue(value);\n this.values = this.values.slice();\n this.onModelChange(this.values);\n this.onChange.emit({event: event, values: this.values});\n }\n else {\n if (val < this.min) {\n val = this.min;\n this.handleValue = 0;\n }\n else if (val > this.max) {\n val = this.max;\n this.handleValue = 100;\n }\n \n\t\t\tthis.value = this.getNormalizedValue(val);\n \n this.onModelChange(this.value);\n this.onChange.emit({event: event, value: this.value});\n this.sliderHandle.nativeElement.focus();\n }\n }\n \n getValueFromHandle(handleValue: number): number {\n return (this.max - this.min) * (handleValue / 100) + this.min;\n }\n\t\n\tgetDecimalsCount(value: number): number {\n\t\tif (value && Math.floor(value) !== value)\n\t\t\treturn value.toString().split(\".\")[1].length || 0;\n\t\treturn 0;\n\t}\n\t\n\tgetNormalizedValue(val: number): number {\n\t\tlet decimalsCount = this.getDecimalsCount(this.step);\n\t\tif (decimalsCount > 0) {\n\t\t\treturn +val.toFixed(decimalsCount);\n\t\t} \n\t\telse {\n\t\t\treturn Math.floor(val);\n\t\t}\n\t}\n \n ngOnDestroy() {\n this.unbindDragListeners();\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [Slider],\n declarations: [Slider]\n})\nexport class SliderModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -24,12 +24,14 @@ class TableService {
24
24
  this.valueSource = new Subject();
25
25
  this.totalRecordsSource = new Subject();
26
26
  this.columnsSource = new Subject();
27
+ this.resetSource = new Subject();
27
28
  this.sortSource$ = this.sortSource.asObservable();
28
29
  this.selectionSource$ = this.selectionSource.asObservable();
29
30
  this.contextMenuSource$ = this.contextMenuSource.asObservable();
30
31
  this.valueSource$ = this.valueSource.asObservable();
31
32
  this.totalRecordsSource$ = this.totalRecordsSource.asObservable();
32
33
  this.columnsSource$ = this.columnsSource.asObservable();
34
+ this.resetSource$ = this.resetSource.asObservable();
33
35
  }
34
36
  onSort(sortMeta) {
35
37
  this.sortSource.next(sortMeta);
@@ -37,6 +39,9 @@ class TableService {
37
39
  onSelectionChange() {
38
40
  this.selectionSource.next();
39
41
  }
42
+ onResetChange() {
43
+ this.resetSource.next();
44
+ }
40
45
  onContextMenu(data) {
41
46
  this.contextMenuSource.next(data);
42
47
  }
@@ -171,6 +176,9 @@ class Table {
171
176
  case 'frozencolgroup':
172
177
  this.frozenColGroupTemplate = item.template;
173
178
  break;
179
+ case 'frozenrowexpansion':
180
+ this.frozenExpandedRowTemplate = item.template;
181
+ break;
174
182
  case 'emptymessage':
175
183
  this.emptyMessageTemplate = item.template;
176
184
  break;
@@ -235,7 +243,7 @@ class Table {
235
243
  }
236
244
  if (simpleChange.multiSortMeta) {
237
245
  this._multiSortMeta = simpleChange.multiSortMeta.currentValue;
238
- if (this.sortMode === 'multiple') {
246
+ if (this.sortMode === 'multiple' && (this.initialized || (!this.lazy && !this.virtualScroll))) {
239
247
  this.sortMultiple();
240
248
  }
241
249
  }
@@ -342,7 +350,6 @@ class Table {
342
350
  if (this.sortMode === 'single') {
343
351
  this._sortOrder = (this.sortField === event.field) ? this.sortOrder * -1 : this.defaultSortOrder;
344
352
  this._sortField = event.field;
345
- this.sortSingle();
346
353
  if (this.resetPageOnSort) {
347
354
  this._first = 0;
348
355
  this.firstChange.emit(this._first);
@@ -350,6 +357,7 @@ class Table {
350
357
  this.resetScrollTop();
351
358
  }
352
359
  }
360
+ this.sortSingle();
353
361
  }
354
362
  if (this.sortMode === 'multiple') {
355
363
  let metaKey = originalEvent.metaKey || originalEvent.ctrlKey;
@@ -589,7 +597,7 @@ class Table {
589
597
  this._selection = null;
590
598
  this.selectionKeys = {};
591
599
  this.selectionChange.emit(this.selection);
592
- this.onRowUnselect.emit({ originalEvent: event.originalEvent, data: rowData, type: 'row' });
600
+ this.onRowUnselect.emit({ originalEvent: event.originalEvent, data: rowData, type: 'row', index: event.rowIndex });
593
601
  }
594
602
  else {
595
603
  this._selection = rowData;
@@ -606,7 +614,7 @@ class Table {
606
614
  let selectionIndex = this.findIndexInSelection(rowData);
607
615
  this._selection = this.selection.filter((val, i) => i != selectionIndex);
608
616
  this.selectionChange.emit(this.selection);
609
- this.onRowUnselect.emit({ originalEvent: event.originalEvent, data: rowData, type: 'row' });
617
+ this.onRowUnselect.emit({ originalEvent: event.originalEvent, data: rowData, type: 'row', index: event.rowIndex });
610
618
  if (dataKeyValue) {
611
619
  delete this.selectionKeys[dataKeyValue];
612
620
  }
@@ -650,15 +658,20 @@ class Table {
650
658
  if (this.isSingleSelectionMode()) {
651
659
  this.selection = rowData;
652
660
  this.selectionChange.emit(rowData);
661
+ if (dataKeyValue) {
662
+ this.selectionKeys = {};
663
+ this.selectionKeys[dataKeyValue] = 1;
664
+ }
653
665
  }
654
666
  else if (this.isMultipleSelectionMode()) {
655
- this.selection = [rowData];
667
+ this._selection = this.selection ? [...this.selection, rowData] : [rowData];
656
668
  this.selectionChange.emit(this.selection);
657
- }
658
- if (dataKeyValue) {
659
- this.selectionKeys[dataKeyValue] = 1;
669
+ if (dataKeyValue) {
670
+ this.selectionKeys[dataKeyValue] = 1;
671
+ }
660
672
  }
661
673
  }
674
+ this.tableService.onSelectionChange();
662
675
  this.contextMenu.show(event.originalEvent);
663
676
  this.onContextMenuSelect.emit({ originalEvent: event, data: rowData, index: event.rowIndex });
664
677
  }
@@ -694,8 +707,8 @@ class Table {
694
707
  }
695
708
  }
696
709
  }
697
- this.onRowSelect.emit({ originalEvent: event, data: rangeRowsData, type: 'row' });
698
710
  this.selectionChange.emit(this.selection);
711
+ this.onRowSelect.emit({ originalEvent: event, data: rangeRowsData, type: 'row' });
699
712
  }
700
713
  clearSelectionRange(event) {
701
714
  let rangeStart, rangeEnd;
@@ -969,7 +982,7 @@ class Table {
969
982
  this._multiSortMeta = null;
970
983
  this.tableService.onSort(null);
971
984
  this.filteredValue = null;
972
- this.filters = {};
985
+ this.tableService.onResetChange();
973
986
  this.first = 0;
974
987
  this.firstChange.emit(this.first);
975
988
  if (this.lazy) {
@@ -1823,7 +1836,7 @@ TableBody.decorators = [
1823
1836
  <ng-container *ngTemplateOutlet="rowData ? template: dt.loadingBodyTemplate; context: {$implicit: rowData, rowIndex: dt.paginator ? (dt.first + rowIndex) : rowIndex, columns: columns, editing: (dt.editMode === 'row' && dt.isRowEditing(rowData))}"></ng-container>
1824
1837
  </ng-template>
1825
1838
  </ng-container>
1826
- <ng-container *ngIf="dt.expandedRowTemplate">
1839
+ <ng-container *ngIf="dt.expandedRowTemplate && !(frozen && dt.frozenExpandedRowTemplate)">
1827
1840
  <ng-template ngFor let-rowData let-rowIndex="index" [ngForOf]="(dt.paginator && !dt.lazy) ? ((dt.filteredValue||dt.value) | slice:dt.first:(dt.first + dt.rows)) : (dt.filteredValue||dt.value)" [ngForTrackBy]="dt.rowTrackBy">
1828
1841
  <ng-container *ngTemplateOutlet="template; context: {$implicit: rowData, rowIndex: dt.paginator ? (dt.first + rowIndex) : rowIndex, columns: columns, expanded: dt.isRowExpanded(rowData), editing: (dt.editMode === 'row' && dt.isRowEditing(rowData))}"></ng-container>
1829
1842
  <ng-container *ngIf="dt.isRowExpanded(rowData)">
@@ -1831,6 +1844,14 @@ TableBody.decorators = [
1831
1844
  </ng-container>
1832
1845
  </ng-template>
1833
1846
  </ng-container>
1847
+ <ng-container *ngIf="dt.frozenExpandedRowTemplate && frozen">
1848
+ <ng-template ngFor let-rowData let-rowIndex="index" [ngForOf]="(dt.paginator && !dt.lazy) ? ((dt.filteredValue||dt.value) | slice:dt.first:(dt.first + dt.rows)) : (dt.filteredValue||dt.value)" [ngForTrackBy]="dt.rowTrackBy">
1849
+ <ng-container *ngTemplateOutlet="template; context: {$implicit: rowData, rowIndex: dt.paginator ? (dt.first + rowIndex) : rowIndex, columns: columns, expanded: dt.isRowExpanded(rowData), editing: (dt.editMode === 'row' && dt.isRowEditing(rowData))}"></ng-container>
1850
+ <ng-container *ngIf="dt.isRowExpanded(rowData)">
1851
+ <ng-container *ngTemplateOutlet="dt.frozenExpandedRowTemplate; context: {$implicit: rowData, rowIndex: dt.paginator ? (dt.first + rowIndex) : rowIndex, columns: columns}"></ng-container>
1852
+ </ng-container>
1853
+ </ng-template>
1854
+ </ng-container>
1834
1855
  <ng-container *ngIf="dt.loading">
1835
1856
  <ng-container *ngTemplateOutlet="dt.loadingBodyTemplate; context: {$implicit: columns, frozen: frozen}"></ng-container>
1836
1857
  </ng-container>
@@ -2255,6 +2276,11 @@ class SelectableRow {
2255
2276
  rowIndex: this.index
2256
2277
  });
2257
2278
  }
2279
+ onPageDownKeyDown() {
2280
+ if (this.dt.virtualScroll) {
2281
+ DomHandler.findSingle(this.dt.scrollableViewChild.el.nativeElement, 'cdk-virtual-scroll-viewport').focus();
2282
+ }
2283
+ }
2258
2284
  findNextSelectableRow(row) {
2259
2285
  let nextRow = row.nextElementSibling;
2260
2286
  if (nextRow) {
@@ -2310,7 +2336,8 @@ SelectableRow.propDecorators = {
2310
2336
  onTouchEnd: [{ type: HostListener, args: ['touchend', ['$event'],] }],
2311
2337
  onArrowDownKeyDown: [{ type: HostListener, args: ['keydown.arrowdown', ['$event'],] }],
2312
2338
  onArrowUpKeyDown: [{ type: HostListener, args: ['keydown.arrowup', ['$event'],] }],
2313
- onEnterKeyDown: [{ type: HostListener, args: ['keydown.enter', ['$event'],] }, { type: HostListener, args: ['keydown.shift.enter', ['$event'],] }, { type: HostListener, args: ['keydown.meta.enter', ['$event'],] }]
2339
+ onEnterKeyDown: [{ type: HostListener, args: ['keydown.enter', ['$event'],] }, { type: HostListener, args: ['keydown.shift.enter', ['$event'],] }, { type: HostListener, args: ['keydown.meta.enter', ['$event'],] }],
2340
+ onPageDownKeyDown: [{ type: HostListener, args: ['keydown.pagedown', ['$event'],] }, { type: HostListener, args: ['keydown.pageup', ['$event'],] }, { type: HostListener, args: ['keydown.home', ['$event'],] }, { type: HostListener, args: ['keydown.end', ['$event'],] }, { type: HostListener, args: ['keydown.space', ['$event'],] }]
2314
2341
  };
2315
2342
  class SelectableRowDblClick {
2316
2343
  constructor(dt, tableService) {
@@ -2683,6 +2710,50 @@ class EditableColumn {
2683
2710
  }
2684
2711
  }
2685
2712
  }
2713
+ onArrowDown(event) {
2714
+ if (this.isEnabled()) {
2715
+ let currentCell = this.findCell(event.target);
2716
+ if (currentCell) {
2717
+ let cellIndex = DomHandler.index(currentCell);
2718
+ let targetCell = this.findNextEditableColumnByIndex(currentCell, cellIndex);
2719
+ if (targetCell) {
2720
+ if (this.dt.isEditingCellValid()) {
2721
+ this.closeEditingCell(true, event);
2722
+ }
2723
+ DomHandler.invokeElementMethod(event.target, 'blur');
2724
+ DomHandler.invokeElementMethod(targetCell, 'click');
2725
+ }
2726
+ event.preventDefault();
2727
+ }
2728
+ }
2729
+ }
2730
+ onArrowUp(event) {
2731
+ if (this.isEnabled()) {
2732
+ let currentCell = this.findCell(event.target);
2733
+ if (currentCell) {
2734
+ let cellIndex = DomHandler.index(currentCell);
2735
+ let targetCell = this.findPrevEditableColumnByIndex(currentCell, cellIndex);
2736
+ if (targetCell) {
2737
+ if (this.dt.isEditingCellValid()) {
2738
+ this.closeEditingCell(true, event);
2739
+ }
2740
+ DomHandler.invokeElementMethod(event.target, 'blur');
2741
+ DomHandler.invokeElementMethod(targetCell, 'click');
2742
+ }
2743
+ event.preventDefault();
2744
+ }
2745
+ }
2746
+ }
2747
+ onArrowLeft(event) {
2748
+ if (this.isEnabled()) {
2749
+ this.moveToPreviousCell(event);
2750
+ }
2751
+ }
2752
+ onArrowRight(event) {
2753
+ if (this.isEnabled()) {
2754
+ this.moveToNextCell(event);
2755
+ }
2756
+ }
2686
2757
  findCell(element) {
2687
2758
  if (element) {
2688
2759
  let cell = element;
@@ -2759,6 +2830,32 @@ class EditableColumn {
2759
2830
  return null;
2760
2831
  }
2761
2832
  }
2833
+ findNextEditableColumnByIndex(cell, index) {
2834
+ let nextRow = cell.parentElement.nextElementSibling;
2835
+ if (nextRow) {
2836
+ let nextCell = nextRow.children[index];
2837
+ if (nextCell && DomHandler.hasClass(nextCell, 'p-editable-column')) {
2838
+ return nextCell;
2839
+ }
2840
+ return null;
2841
+ }
2842
+ else {
2843
+ return null;
2844
+ }
2845
+ }
2846
+ findPrevEditableColumnByIndex(cell, index) {
2847
+ let prevRow = cell.parentElement.previousElementSibling;
2848
+ if (prevRow) {
2849
+ let prevCell = prevRow.children[index];
2850
+ if (prevCell && DomHandler.hasClass(prevCell, 'p-editable-column')) {
2851
+ return prevCell;
2852
+ }
2853
+ return null;
2854
+ }
2855
+ else {
2856
+ return null;
2857
+ }
2858
+ }
2762
2859
  isEnabled() {
2763
2860
  return this.pEditableColumnDisabled !== true;
2764
2861
  }
@@ -2782,7 +2879,11 @@ EditableColumn.propDecorators = {
2782
2879
  onClick: [{ type: HostListener, args: ['click', ['$event'],] }],
2783
2880
  onEnterKeyDown: [{ type: HostListener, args: ['keydown.enter', ['$event'],] }],
2784
2881
  onEscapeKeyDown: [{ type: HostListener, args: ['keydown.escape', ['$event'],] }],
2785
- onShiftKeyDown: [{ type: HostListener, args: ['keydown.tab', ['$event'],] }, { type: HostListener, args: ['keydown.shift.tab', ['$event'],] }, { type: HostListener, args: ['keydown.meta.tab', ['$event'],] }]
2882
+ onShiftKeyDown: [{ type: HostListener, args: ['keydown.tab', ['$event'],] }, { type: HostListener, args: ['keydown.shift.tab', ['$event'],] }, { type: HostListener, args: ['keydown.meta.tab', ['$event'],] }],
2883
+ onArrowDown: [{ type: HostListener, args: ['keydown.arrowdown', ['$event'],] }],
2884
+ onArrowUp: [{ type: HostListener, args: ['keydown.arrowup', ['$event'],] }],
2885
+ onArrowLeft: [{ type: HostListener, args: ['keydown.arrowleft', ['$event'],] }],
2886
+ onArrowRight: [{ type: HostListener, args: ['keydown.arrowright', ['$event'],] }]
2786
2887
  };
2787
2888
  class EditableRow {
2788
2889
  constructor(el) {
@@ -3298,7 +3399,7 @@ ColumnFilterFormElement.decorators = [
3298
3399
  <input *ngSwitchCase="'text'" type="text" pInputText [value]="filterConstraint?.value" (input)="onModelChange($event.target.value)"
3299
3400
  (keydown.enter)="onTextInputEnterKeyDown($event)" [attr.placeholder]="placeholder">
3300
3401
  <p-inputNumber *ngSwitchCase="'numeric'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)" (onKeyDown)="onNumericInputKeyDown($event)" [showButtons]="true" [attr.placeholder]="placeholder"
3301
- [minFractionDigits]="minFractionDigits" [maxFractionDigits]="maxFractionDigits" [prefix]="prefix" [suffix]="suffix"
3402
+ [minFractionDigits]="minFractionDigits" [maxFractionDigits]="maxFractionDigits" [prefix]="prefix" [suffix]="suffix" [placeholder]="placeholder"
3302
3403
  [mode]="currency ? 'currency' : 'decimal'" [locale]="locale" [localeMatcher]="localeMatcher" [currency]="currency" [currencyDisplay]="currencyDisplay" [useGrouping]="useGrouping"></p-inputNumber>
3303
3404
  <p-triStateCheckbox *ngSwitchCase="'boolean'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)"></p-triStateCheckbox>
3304
3405
  <p-calendar *ngSwitchCase="'date'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)"></p-calendar>
@@ -3353,6 +3454,9 @@ class ColumnFilter {
3353
3454
  this.generateMatchModeOptions();
3354
3455
  this.generateOperatorOptions();
3355
3456
  });
3457
+ this.resetSubscription = this.dt.tableService.resetSource$.subscribe(() => {
3458
+ this.clearFilter();
3459
+ });
3356
3460
  this.generateMatchModeOptions();
3357
3461
  this.generateOperatorOptions();
3358
3462
  }
@@ -3442,6 +3546,7 @@ class ColumnFilter {
3442
3546
  onOperatorChange(value) {
3443
3547
  this.dt.filters[this.field].forEach(filterMeta => {
3444
3548
  filterMeta.operator = value;
3549
+ this.operator = value;
3445
3550
  });
3446
3551
  if (!this.showApplyButton) {
3447
3552
  this.dt._filter();
@@ -3515,7 +3620,7 @@ class ColumnFilter {
3515
3620
  else if (this.type === 'numeric')
3516
3621
  return FilterMatchMode.EQUALS;
3517
3622
  else if (this.type === 'date')
3518
- return FilterMatchMode.EQUALS;
3623
+ return FilterMatchMode.DATE_IS;
3519
3624
  else
3520
3625
  return FilterMatchMode.CONTAINS;
3521
3626
  }
@@ -3638,6 +3743,9 @@ class ColumnFilter {
3638
3743
  if (this.translationSubscription) {
3639
3744
  this.translationSubscription.unsubscribe();
3640
3745
  }
3746
+ if (this.resetSubscription) {
3747
+ this.resetSubscription.unsubscribe();
3748
+ }
3641
3749
  }
3642
3750
  }
3643
3751
  ColumnFilter.decorators = [
@@ -3670,7 +3778,9 @@ ColumnFilter.decorators = [
3670
3778
  <p-columnFilterFormElement [type]="type" [field]="field" [filterConstraint]="fieldConstraint" [filterTemplate]="filterTemplate" [placeholder]="placeholder"
3671
3779
  [minFractionDigits]="minFractionDigits" [maxFractionDigits]="maxFractionDigits" [prefix]="prefix" [suffix]="suffix"
3672
3780
  [locale]="locale" [localeMatcher]="localeMatcher" [currency]="currency" [currencyDisplay]="currencyDisplay" [useGrouping]="useGrouping"></p-columnFilterFormElement>
3673
- <button *ngIf="showRemoveIcon" type="button" pButton icon="pi pi-trash" class="p-column-filter-remove-button p-button-text p-button-danger p-button-sm" (click)="removeConstraint(fieldConstraint)" pRipple [label]="removeRuleButtonLabel"></button>
3781
+ <div>
3782
+ <button *ngIf="showRemoveIcon" type="button" pButton icon="pi pi-trash" class="p-column-filter-remove-button p-button-text p-button-danger p-button-sm" (click)="removeConstraint(fieldConstraint)" pRipple [label]="removeRuleButtonLabel"></button>
3783
+ </div>
3674
3784
  </div>
3675
3785
  </div>
3676
3786
  <div class="p-column-filter-add-rule" *ngIf="isShowAddConstraint">