primeng 14.0.2 → 14.1.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 (104) hide show
  1. package/carousel/carousel.d.ts +4 -2
  2. package/cascadeselect/cascadeselect.d.ts +1 -0
  3. package/dynamicdialog/dynamicdialog-config.d.ts +11 -2
  4. package/dynamicdialog/dynamicdialog-ref.d.ts +15 -0
  5. package/dynamicdialog/dynamicdialog.d.ts +36 -0
  6. package/esm2020/accordion/accordion.mjs +3 -3
  7. package/esm2020/carousel/carousel.mjs +22 -15
  8. package/esm2020/cascadeselect/cascadeselect.mjs +2 -1
  9. package/esm2020/confirmpopup/confirmpopup.mjs +11 -4
  10. package/esm2020/dropdown/dropdown.mjs +2 -2
  11. package/esm2020/dynamicdialog/dynamicdialog-config.mjs +1 -1
  12. package/esm2020/dynamicdialog/dynamicdialog-ref.mjs +26 -1
  13. package/esm2020/dynamicdialog/dynamicdialog.mjs +240 -10
  14. package/esm2020/fileupload/fileupload.mjs +20 -10
  15. package/esm2020/galleria/galleria.mjs +4 -2
  16. package/esm2020/inputnumber/inputnumber.mjs +4 -2
  17. package/esm2020/inputswitch/inputswitch.mjs +1 -1
  18. package/esm2020/listbox/listbox.mjs +3 -3
  19. package/esm2020/ripple/ripple.mjs +10 -1
  20. package/esm2020/selectbutton/selectbutton.mjs +2 -2
  21. package/esm2020/slider/slider.mjs +21 -4
  22. package/esm2020/splitbutton/splitbutton.mjs +1 -1
  23. package/esm2020/table/table.mjs +22 -12
  24. package/esm2020/tieredmenu/tieredmenu.mjs +10 -2
  25. package/esm2020/treetable/treetable.mjs +4 -1
  26. package/fesm2015/primeng-accordion.mjs +2 -2
  27. package/fesm2015/primeng-accordion.mjs.map +1 -1
  28. package/fesm2015/primeng-carousel.mjs +23 -14
  29. package/fesm2015/primeng-carousel.mjs.map +1 -1
  30. package/fesm2015/primeng-cascadeselect.mjs +1 -0
  31. package/fesm2015/primeng-cascadeselect.mjs.map +1 -1
  32. package/fesm2015/primeng-confirmpopup.mjs +10 -3
  33. package/fesm2015/primeng-confirmpopup.mjs.map +1 -1
  34. package/fesm2015/primeng-dropdown.mjs +1 -1
  35. package/fesm2015/primeng-dropdown.mjs.map +1 -1
  36. package/fesm2015/primeng-dynamicdialog.mjs +264 -9
  37. package/fesm2015/primeng-dynamicdialog.mjs.map +1 -1
  38. package/fesm2015/primeng-fileupload.mjs +19 -9
  39. package/fesm2015/primeng-fileupload.mjs.map +1 -1
  40. package/fesm2015/primeng-galleria.mjs +3 -1
  41. package/fesm2015/primeng-galleria.mjs.map +1 -1
  42. package/fesm2015/primeng-inputnumber.mjs +3 -1
  43. package/fesm2015/primeng-inputnumber.mjs.map +1 -1
  44. package/fesm2015/primeng-inputswitch.mjs.map +1 -1
  45. package/fesm2015/primeng-listbox.mjs +2 -2
  46. package/fesm2015/primeng-listbox.mjs.map +1 -1
  47. package/fesm2015/primeng-ripple.mjs +9 -0
  48. package/fesm2015/primeng-ripple.mjs.map +1 -1
  49. package/fesm2015/primeng-selectbutton.mjs +1 -1
  50. package/fesm2015/primeng-selectbutton.mjs.map +1 -1
  51. package/fesm2015/primeng-slider.mjs +20 -3
  52. package/fesm2015/primeng-slider.mjs.map +1 -1
  53. package/fesm2015/primeng-splitbutton.mjs +1 -1
  54. package/fesm2015/primeng-splitbutton.mjs.map +1 -1
  55. package/fesm2015/primeng-table.mjs +21 -11
  56. package/fesm2015/primeng-table.mjs.map +1 -1
  57. package/fesm2015/primeng-tieredmenu.mjs +9 -1
  58. package/fesm2015/primeng-tieredmenu.mjs.map +1 -1
  59. package/fesm2015/primeng-treetable.mjs +3 -0
  60. package/fesm2015/primeng-treetable.mjs.map +1 -1
  61. package/fesm2020/primeng-accordion.mjs +2 -2
  62. package/fesm2020/primeng-accordion.mjs.map +1 -1
  63. package/fesm2020/primeng-carousel.mjs +21 -14
  64. package/fesm2020/primeng-carousel.mjs.map +1 -1
  65. package/fesm2020/primeng-cascadeselect.mjs +1 -0
  66. package/fesm2020/primeng-cascadeselect.mjs.map +1 -1
  67. package/fesm2020/primeng-confirmpopup.mjs +10 -3
  68. package/fesm2020/primeng-confirmpopup.mjs.map +1 -1
  69. package/fesm2020/primeng-dropdown.mjs +1 -1
  70. package/fesm2020/primeng-dropdown.mjs.map +1 -1
  71. package/fesm2020/primeng-dynamicdialog.mjs +264 -9
  72. package/fesm2020/primeng-dynamicdialog.mjs.map +1 -1
  73. package/fesm2020/primeng-fileupload.mjs +19 -9
  74. package/fesm2020/primeng-fileupload.mjs.map +1 -1
  75. package/fesm2020/primeng-galleria.mjs +3 -1
  76. package/fesm2020/primeng-galleria.mjs.map +1 -1
  77. package/fesm2020/primeng-inputnumber.mjs +3 -1
  78. package/fesm2020/primeng-inputnumber.mjs.map +1 -1
  79. package/fesm2020/primeng-inputswitch.mjs.map +1 -1
  80. package/fesm2020/primeng-listbox.mjs +2 -2
  81. package/fesm2020/primeng-listbox.mjs.map +1 -1
  82. package/fesm2020/primeng-ripple.mjs +9 -0
  83. package/fesm2020/primeng-ripple.mjs.map +1 -1
  84. package/fesm2020/primeng-selectbutton.mjs +1 -1
  85. package/fesm2020/primeng-selectbutton.mjs.map +1 -1
  86. package/fesm2020/primeng-slider.mjs +20 -3
  87. package/fesm2020/primeng-slider.mjs.map +1 -1
  88. package/fesm2020/primeng-splitbutton.mjs +1 -1
  89. package/fesm2020/primeng-splitbutton.mjs.map +1 -1
  90. package/fesm2020/primeng-table.mjs +21 -11
  91. package/fesm2020/primeng-table.mjs.map +1 -1
  92. package/fesm2020/primeng-tieredmenu.mjs +9 -1
  93. package/fesm2020/primeng-tieredmenu.mjs.map +1 -1
  94. package/fesm2020/primeng-treetable.mjs +3 -0
  95. package/fesm2020/primeng-treetable.mjs.map +1 -1
  96. package/fileupload/fileupload.d.ts +5 -1
  97. package/galleria/galleria.d.ts +1 -1
  98. package/inputswitch/inputswitch.d.ts +5 -1
  99. package/package.json +1 -1
  100. package/resources/components/accordion/accordion.css +4 -0
  101. package/ripple/ripple.d.ts +2 -1
  102. package/slider/slider.d.ts +3 -0
  103. package/table/table.d.ts +6 -3
  104. package/tieredmenu/tieredmenu.d.ts +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-listbox.mjs","sources":["../../src/app/components/listbox/listbox.ts","../../src/app/components/listbox/primeng-listbox.ts"],"sourcesContent":["import { NgModule, Component, ElementRef, Input, Output, EventEmitter, AfterContentInit, ContentChildren, ContentChild, QueryList, TemplateRef,forwardRef, ChangeDetectorRef, ViewChild, ChangeDetectionStrategy, ViewEncapsulation, OnInit, OnDestroy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SharedModule, PrimeTemplate, Footer, Header, FilterService, TranslationKeys, PrimeNGConfig } from 'primeng/api';\nimport { DomHandler } from 'primeng/dom';\nimport { ObjectUtils } from 'primeng/utils';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { RippleModule } from 'primeng/ripple';\nimport { Subscription } from 'rxjs';\n\nexport const LISTBOX_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Listbox),\n multi: true\n};\n\nexport interface ListboxFilterOptions {\n filter?: (value?: any) => void;\n reset?: () => void;\n}\n\n@Component({\n selector: 'p-listbox',\n template: `\n <div [ngClass]=\"{'p-listbox p-component': true, 'p-disabled': disabled}\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <div class=\"p-listbox-header\" *ngIf=\"headerFacet || headerTemplate\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </div>\n <div class=\"p-listbox-header\" *ngIf=\"(checkbox && multiple && showToggleAll) || filter\">\n <div class=\"p-checkbox p-component\" *ngIf=\"checkbox && multiple && showToggleAll\" [ngClass]=\"{'p-checkbox-disabled': disabled || toggleAllDisabled}\">\n <div class=\"p-hidden-accessible\">\n <input type=\"checkbox\" readonly=\"readonly\" [checked]=\"allChecked\" (focus)=\"onHeaderCheckboxFocus()\" (blur)=\"onHeaderCheckboxBlur()\" (keydown.space)=\"toggleAll($event)\" [disabled]=\"disabled || toggleAllDisabled\">\n </div>\n <div #headerchkbox class=\"p-checkbox-box\" [ngClass]=\"{'p-highlight': allChecked, 'p-focus': headerCheckboxFocus, 'p-disabled': disabled || toggleAllDisabled}\" (click)=\"toggleAll($event)\">\n <span class=\"p-checkbox-icon\" [ngClass]=\"{'pi pi-check':allChecked}\"></span>\n </div>\n </div>\n <ng-container *ngIf=\"filterTemplate; else builtInFilterElement\">\n <ng-container *ngTemplateOutlet=\"filterTemplate; context: {options: filterOptions}\"></ng-container>\n </ng-container>\n <ng-template #builtInFilterElement>\n <div class=\"p-listbox-filter-container\" *ngIf=\"filter\">\n <input #filter type=\"text\" [value]=\"filterValue||''\" (input)=\"onFilter($event)\" class=\"p-listbox-filter p-inputtext p-component\" [disabled]=\"disabled\" [attr.placeholder]=\"filterPlaceHolder\" [attr.aria-label]=\"ariaFilterLabel\">\n <span class=\"p-listbox-filter-icon pi pi-search\"></span>\n </div>\n </ng-template>\n </div>\n <div [ngClass]=\"'p-listbox-list-wrapper'\" [ngStyle]=\"listStyle\" [class]=\"listStyleClass\">\n <ul class=\"p-listbox-list\" role=\"listbox\" aria-multiselectable=\"multiple\">\n <ng-container *ngIf=\"group\">\n <ng-template ngFor let-optgroup [ngForOf]=\"optionsToRender\">\n <li class=\"p-listbox-item-group\">\n <span *ngIf=\"!groupTemplate\">{{getOptionGroupLabel(optgroup)||'empty'}}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: {$implicit: optgroup}\"></ng-container>\n </li>\n <ng-container *ngTemplateOutlet=\"itemslist; context: {$implicit: getOptionGroupChildren(optgroup)}\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!group\">\n <ng-container *ngTemplateOutlet=\"itemslist; context: {$implicit: optionsToRender}\"></ng-container>\n </ng-container>\n <ng-template #itemslist let-optionsToDisplay>\n <li *ngFor=\"let option of optionsToDisplay; let i = index;\" [attr.tabindex]=\"disabled || isOptionDisabled(option) ? null : '0'\" pRipple\n [ngClass]=\"{'p-listbox-item':true,'p-highlight':isSelected(option), 'p-disabled': this.isOptionDisabled(option)}\" role=\"option\" [attr.aria-label]=\"getOptionLabel(option)\"\n [attr.aria-selected]=\"isSelected(option)\" (click)=\"onOptionClick($event,option)\" (dblclick)=\"onOptionDoubleClick($event,option)\" (touchend)=\"onOptionTouchEnd(option)\" (keydown)=\"onOptionKeyDown($event,option)\">\n <div class=\"p-checkbox p-component\" *ngIf=\"checkbox && multiple\" [ngClass]=\"{'p-checkbox-disabled': disabled || isOptionDisabled(option)}\">\n <div class=\"p-checkbox-box\" [ngClass]=\"{'p-highlight':isSelected(option)}\">\n <span class=\"p-checkbox-icon\" [ngClass]=\"{'pi pi-check':isSelected(option)}\"></span>\n </div>\n </div>\n <span *ngIf=\"!itemTemplate\">{{getOptionLabel(option)}}</span>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: option, index: i}\"></ng-container>\n </li>\n </ng-template>\n <li *ngIf=\"hasFilter() && isEmpty()\" class=\"p-listbox-empty-message\">\n <ng-container *ngIf=\"!emptyFilterTemplate && !emptyTemplate; else emptyFilter\">\n {{emptyFilterMessageLabel}}\n </ng-container>\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate || emptyTemplate\"></ng-container>\n </li>\n <li *ngIf=\"!hasFilter() && isEmpty()\" class=\"p-listbox-empty-message\">\n <ng-container *ngIf=\"!emptyTemplate; else empty\">\n {{emptyMessageLabel}}\n </ng-container>\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </li>\n </ul>\n </div>\n <div class=\"p-listbox-footer\" *ngIf=\"footerFacet || footerTemplate\">\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n `,\n providers: [LISTBOX_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./listbox.css'],\n host: {\n 'class': 'p-element'\n }\n})\nexport class Listbox implements AfterContentInit, OnInit, ControlValueAccessor, OnDestroy {\n\n @Input() multiple: boolean;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() listStyle: any;\n\n @Input() listStyleClass: string;\n\n @Input() readonly: boolean;\n\n @Input() disabled: boolean;\n\n @Input() checkbox: boolean = false;\n\n @Input() filter: boolean = false;\n\n @Input() filterBy: string;\n\n @Input() filterMatchMode: string = 'contains';\n\n @Input() filterLocale: string;\n\n @Input() metaKeySelection: boolean = true;\n\n @Input() dataKey: string;\n\n @Input() showToggleAll: boolean = true;\n\n @Input() optionLabel: string;\n\n @Input() optionValue: string;\n\n @Input() optionGroupChildren: string = \"items\";\n\n @Input() optionGroupLabel: string;\n\n @Input() optionDisabled: string;\n\n @Input() ariaFilterLabel: string;\n\n @Input() filterPlaceHolder: string;\n\n @Input() emptyFilterMessage: string;\n\n @Input() emptyMessage: string;\n\n @Input() group: boolean;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onClick: EventEmitter<any> = new EventEmitter();\n\n @Output() onDblClick: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('headerchkbox') headerCheckboxViewChild: ElementRef;\n\n @ViewChild('filter') filterViewChild: ElementRef;\n\n @ContentChild(Header) headerFacet;\n\n @ContentChild(Footer) footerFacet;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n public _options: any[];\n\n public itemTemplate: TemplateRef<any>;\n\n public groupTemplate: TemplateRef<any>;\n\n public headerTemplate: TemplateRef<any>;\n\n public filterTemplate: TemplateRef<any>;\n\n public footerTemplate: TemplateRef<any>;\n\n public emptyFilterTemplate: TemplateRef<any>;\n\n public emptyTemplate: TemplateRef<any>;\n\n public _filterValue: string;\n\n public _filteredOptions: any[];\n\n filterOptions: ListboxFilterOptions;\n\n public filtered: boolean;\n\n public value: any;\n\n public onModelChange: Function = () => { };\n\n public onModelTouched: Function = () => { };\n\n public optionTouched: boolean;\n\n public focus: boolean;\n\n public headerCheckboxFocus: boolean;\n\n translationSubscription: Subscription;\n\n constructor(public el: ElementRef, public cd: ChangeDetectorRef, public filterService: FilterService, public config: PrimeNGConfig) { }\n\n @Input() get options(): any[] {\n return this._options;\n }\n\n set options(val: any[]) {\n this._options = val;\n\n if (this.hasFilter())\n this.activateFilter();\n }\n\n @Input() get filterValue(): string {\n return this._filterValue;\n }\n\n set filterValue(val: string) {\n this._filterValue = val;\n this.activateFilter();\n }\n\n ngOnInit() {\n this.translationSubscription = this.config.translationObserver.subscribe(() => {\n this.cd.markForCheck();\n });\n\n if (this.filterBy) {\n this.filterOptions = {\n filter: (value) => this.onFilter(value),\n reset: () => this.resetFilter()\n }\n }\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'group':\n this.groupTemplate = item.template;\n break;\n\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'filter':\n this.filterTemplate = item.template;\n break;\n\n case 'footer':\n this.footerTemplate = item.template;\n break;\n\n case 'empty':\n this.emptyTemplate = item.template;\n break;\n\n case 'emptyfilter':\n this.emptyFilterTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n getOptionLabel(option: any) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : (option.label != undefined ? option.label : option);\n }\n\n getOptionGroupChildren(optionGroup: any) {\n return this.optionGroupChildren ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;\n }\n\n getOptionGroupLabel(optionGroup: any) {\n return this.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel) : (optionGroup.label != undefined ? optionGroup.label : optionGroup);\n }\n\n getOptionValue(option: any) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : (this.optionLabel || option.value === undefined ? option : option.value);\n }\n\n isOptionDisabled(option: any) {\n return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : (option.disabled !== undefined ? option.disabled : false);\n }\n\n writeValue(value: any): void {\n this.value = value;\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 onOptionClick(event: Event, option: any) {\n if (this.disabled || this.isOptionDisabled(option) || this.readonly) {\n return;\n }\n\n if (this.multiple) {\n if (this.checkbox)\n this.onOptionClickCheckbox(event, option);\n else\n this.onOptionClickMultiple(event, option);\n }\n else {\n this.onOptionClickSingle(event, option);\n }\n this.onClick.emit({\n originalEvent: event,\n option: option,\n value: this.value\n });\n this.optionTouched = false;\n }\n\n onOptionTouchEnd(option: any) {\n if (this.disabled || this.isOptionDisabled(option) || this.readonly) {\n return;\n }\n\n this.optionTouched = true;\n }\n\n onOptionDoubleClick(event: Event, option: any): any {\n if (this.disabled || this.isOptionDisabled(option) || this.readonly) {\n return;\n }\n\n this.onDblClick.emit({\n originalEvent: event,\n option: option,\n value: this.value\n })\n }\n\n onOptionClickSingle(event, option) {\n let selected = this.isSelected(option);\n let valueChanged = false;\n let metaSelection = this.optionTouched ? false : this.metaKeySelection;\n\n if (metaSelection) {\n let metaKey = (event.metaKey || event.ctrlKey);\n\n if (selected) {\n if (metaKey) {\n this.value = null;\n valueChanged = true;\n }\n }\n else {\n this.value = this.getOptionValue(option);\n valueChanged = true;\n }\n }\n else {\n this.value = selected ? null : this.getOptionValue(option);\n valueChanged = true;\n }\n\n if (valueChanged) {\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n }\n }\n\n onOptionClickMultiple(event, option) {\n let selected = this.isSelected(option);\n let valueChanged = false;\n let metaSelection = this.optionTouched ? false : this.metaKeySelection;\n\n if (metaSelection) {\n let metaKey = (event.metaKey || event.ctrlKey);\n\n if (selected) {\n if (metaKey) {\n this.removeOption(option);\n }\n else {\n this.value = [this.getOptionValue(option)];\n }\n valueChanged = true;\n }\n else {\n this.value = (metaKey) ? this.value || [] : [];\n this.value = [...this.value, this.getOptionValue(option)];\n valueChanged = true;\n }\n }\n else {\n if (selected) {\n this.removeOption(option);\n }\n else {\n this.value = [...this.value || [], this.getOptionValue(option)];\n }\n\n valueChanged = true;\n }\n\n if (valueChanged) {\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n }\n }\n\n onOptionClickCheckbox(event, option) {\n if (this.disabled || this.readonly) {\n return;\n }\n\n let selected = this.isSelected(option);\n\n if (selected) {\n this.removeOption(option);\n }\n else {\n this.value = this.value ? this.value : [];\n this.value = [...this.value, this.getOptionValue(option)];\n }\n\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n }\n\n removeOption(option: any): void {\n this.value = this.value.filter(val => !ObjectUtils.equals(val, this.getOptionValue(option), this.dataKey));\n }\n\n isSelected(option: any) {\n let selected = false;\n let optionValue = this.getOptionValue(option);\n\n if (this.multiple) {\n if (this.value) {\n for (let val of this.value) {\n if (ObjectUtils.equals(val, optionValue, this.dataKey)) {\n selected = true;\n break;\n }\n }\n }\n }\n else {\n selected = ObjectUtils.equals(this.value, optionValue, this.dataKey);\n }\n\n return selected;\n }\n\n get allChecked(): boolean {\n let optionsToRender = this.optionsToRender;\n if (!optionsToRender || optionsToRender.length === 0) {\n return false;\n }\n else {\n let selectedDisabledItemsLength = 0;\n let unselectedDisabledItemsLength = 0;\n let selectedEnabledItemsLength = 0;\n let visibleOptionsLength = this.group ? 0 : this.optionsToRender.length;\n\n for (let option of optionsToRender) {\n if (!this.group) {\n let disabled = this.isOptionDisabled(option);\n let selected = this.isSelected(option);\n\n if (disabled) {\n if (selected)\n selectedDisabledItemsLength++;\n else\n unselectedDisabledItemsLength++;\n }\n else {\n if (selected)\n selectedEnabledItemsLength++;\n else\n return false;\n }\n }\n else {\n for (let opt of this.getOptionGroupChildren(option)) {\n let disabled = this.isOptionDisabled(opt);\n let selected = this.isSelected(opt);\n\n if (disabled) {\n if (selected)\n selectedDisabledItemsLength++;\n else\n unselectedDisabledItemsLength++;\n }\n else {\n if (selected)\n selectedEnabledItemsLength++;\n else {\n return false;\n }\n }\n\n visibleOptionsLength++;\n }\n }\n }\n\n return (visibleOptionsLength === selectedDisabledItemsLength\n || visibleOptionsLength === selectedEnabledItemsLength\n || selectedEnabledItemsLength && visibleOptionsLength === (selectedEnabledItemsLength + unselectedDisabledItemsLength + selectedDisabledItemsLength));\n }\n }\n\n get optionsToRender(): any[] {\n return this._filteredOptions || this.options;\n }\n\n get emptyMessageLabel(): string {\n return this.emptyMessage || this.config.getTranslation(TranslationKeys.EMPTY_MESSAGE);\n }\n\n get emptyFilterMessageLabel(): string {\n return this.emptyFilterMessage || this.config.getTranslation(TranslationKeys.EMPTY_FILTER_MESSAGE);\n }\n\n hasFilter() {\n return this._filterValue && this._filterValue.trim().length > 0;\n }\n\n isEmpty() {\n return !this.optionsToRender || (this.optionsToRender && this.optionsToRender.length === 0);\n }\n\n onFilter(event: KeyboardEvent) {\n this._filterValue = (<HTMLInputElement> event.target).value;\n this.activateFilter();\n }\n\n activateFilter() {\n if (this.hasFilter() && this._options) {\n if (this.group) {\n let searchFields: string[] = (this.filterBy || this.optionLabel || 'label').split(',');\n\n let filteredGroups = [];\n for (let optgroup of this.options) {\n let filteredSubOptions = this.filterService.filter(this.getOptionGroupChildren(optgroup), searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);\n if (filteredSubOptions && filteredSubOptions.length) {\n filteredGroups.push({...optgroup, ...{[this.optionGroupChildren]: filteredSubOptions}});\n }\n }\n\n this._filteredOptions = filteredGroups;\n }\n else {\n this._filteredOptions = this._options.filter(option => this.filterService.filters[this.filterMatchMode](this.getOptionLabel(option), this._filterValue, this.filterLocale));\n }\n }\n else {\n this._filteredOptions = null;\n }\n }\n\n resetFilter() {\n if (this.filterViewChild && this.filterViewChild.nativeElement) {\n this.filterViewChild.nativeElement.value = '';\n }\n\n this._filterValue = null;\n this._filteredOptions = null;\n }\n\n get toggleAllDisabled(): boolean {\n let optionsToRender = this.optionsToRender;\n if (!optionsToRender || optionsToRender.length === 0) {\n return true;\n }\n else {\n for (let option of optionsToRender) {\n if (!this.isOptionDisabled(option))\n return false;\n }\n\n return true;\n }\n }\n\n toggleAll(event) {\n if (this.disabled || this.toggleAllDisabled || this.readonly) {\n return;\n }\n\n let allChecked = this.allChecked;\n\n if (allChecked)\n this.uncheckAll();\n else\n this.checkAll();\n\n this.onModelChange(this.value);\n this.onChange.emit({ originalEvent: event, value: this.value });\n event.preventDefault();\n }\n\n checkAll() {\n let optionsToRender = this.optionsToRender;\n let val: any[] = [];\n\n optionsToRender.forEach(opt => {\n if (!this.group) {\n let optionDisabled = this.isOptionDisabled(opt);\n if (!optionDisabled || (optionDisabled && this.isSelected(opt))) {\n val.push(this.getOptionValue(opt));\n }\n }\n else {\n let subOptions = this.getOptionGroupChildren(opt);\n\n if (subOptions) {\n subOptions.forEach(option => {\n let optionDisabled = this.isOptionDisabled(option);\n if (!optionDisabled || (optionDisabled && this.isSelected(option))) {\n val.push(this.getOptionValue(option));\n }\n });\n }\n }\n });\n\n this.value = val;\n }\n\n uncheckAll() {\n let optionsToRender = this.optionsToRender;\n let val: any[] = [];\n\n optionsToRender.forEach(opt => {\n if (!this.group) {\n let optionDisabled = this.isOptionDisabled(opt);\n if (optionDisabled && this.isSelected(opt)) {\n val.push(this.getOptionValue(opt));\n }\n }\n else {\n if (opt.items) {\n opt.items.forEach(option => {\n let optionDisabled = this.isOptionDisabled(option);\n if (optionDisabled && this.isSelected(option)) {\n val.push(this.getOptionValue(option));\n }\n });\n }\n }\n });\n\n this.value = val;\n }\n\n onOptionKeyDown(event:KeyboardEvent, option) {\n if (this.readonly) {\n return;\n }\n\n let item = <HTMLLIElement> event.currentTarget;\n\n switch(event.which) {\n //down\n case 40:\n var nextItem = this.findNextItem(item);\n if (nextItem) {\n nextItem.focus();\n }\n\n event.preventDefault();\n break;\n\n //up\n case 38:\n var prevItem = this.findPrevItem(item);\n if (prevItem) {\n prevItem.focus();\n }\n\n event.preventDefault();\n break;\n\n //enter\n case 13:\n this.onOptionClick(event, option);\n event.preventDefault();\n break;\n }\n }\n\n findNextItem(item) {\n let nextItem = item.nextElementSibling;\n\n if (nextItem)\n return DomHandler.hasClass(nextItem, 'p-disabled') || DomHandler.isHidden(nextItem) || DomHandler.hasClass(nextItem, 'p-listbox-item-group') ? this.findNextItem(nextItem) : nextItem;\n else\n return null;\n }\n\n findPrevItem(item) {\n let prevItem = item.previousElementSibling;\n\n if (prevItem)\n return DomHandler.hasClass(prevItem, 'p-disabled') || DomHandler.isHidden(prevItem) || DomHandler.hasClass(prevItem, 'p-listbox-item-group') ? this.findPrevItem(prevItem) : prevItem;\n else\n return null;\n }\n\n onHeaderCheckboxFocus() {\n this.headerCheckboxFocus = true;\n }\n\n onHeaderCheckboxBlur() {\n this.headerCheckboxFocus = false;\n }\n\n ngOnDestroy() {\n if (this.translationSubscription) {\n this.translationSubscription.unsubscribe();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule, SharedModule, RippleModule],\n exports: [Listbox, SharedModule],\n declarations: [Listbox]\n})\nexport class ListboxModule { }\n\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-listbox.mjs","sources":["../../src/app/components/listbox/listbox.ts","../../src/app/components/listbox/primeng-listbox.ts"],"sourcesContent":["import { NgModule, Component, ElementRef, Input, Output, EventEmitter, AfterContentInit, ContentChildren, ContentChild, QueryList, TemplateRef,forwardRef, ChangeDetectorRef, ViewChild, ChangeDetectionStrategy, ViewEncapsulation, OnInit, OnDestroy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SharedModule, PrimeTemplate, Footer, Header, FilterService, TranslationKeys, PrimeNGConfig } from 'primeng/api';\nimport { DomHandler } from 'primeng/dom';\nimport { ObjectUtils } from 'primeng/utils';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { RippleModule } from 'primeng/ripple';\nimport { Subscription } from 'rxjs';\n\nexport const LISTBOX_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Listbox),\n multi: true\n};\n\nexport interface ListboxFilterOptions {\n filter?: (value?: any) => void;\n reset?: () => void;\n}\n\n@Component({\n selector: 'p-listbox',\n template: `\n <div [ngClass]=\"{'p-listbox p-component': true, 'p-disabled': disabled}\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <div class=\"p-listbox-header\" *ngIf=\"headerFacet || headerTemplate\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </div>\n <div class=\"p-listbox-header\" *ngIf=\"(checkbox && multiple && showToggleAll) || filter\">\n <div class=\"p-checkbox p-component\" *ngIf=\"checkbox && multiple && showToggleAll\" [ngClass]=\"{'p-checkbox-disabled': disabled || toggleAllDisabled}\">\n <div class=\"p-hidden-accessible\">\n <input type=\"checkbox\" readonly=\"readonly\" [checked]=\"allChecked\" (focus)=\"onHeaderCheckboxFocus()\" (blur)=\"onHeaderCheckboxBlur()\" (keydown.space)=\"toggleAll($event)\" [disabled]=\"disabled || toggleAllDisabled\">\n </div>\n <div #headerchkbox class=\"p-checkbox-box\" [ngClass]=\"{'p-highlight': allChecked, 'p-focus': headerCheckboxFocus, 'p-disabled': disabled || toggleAllDisabled}\" (click)=\"toggleAll($event)\">\n <span class=\"p-checkbox-icon\" [ngClass]=\"{'pi pi-check':allChecked}\"></span>\n </div>\n </div>\n <ng-container *ngIf=\"filterTemplate; else builtInFilterElement\">\n <ng-container *ngTemplateOutlet=\"filterTemplate; context: {options: filterOptions}\"></ng-container>\n </ng-container>\n <ng-template #builtInFilterElement>\n <div class=\"p-listbox-filter-container\" *ngIf=\"filter\">\n <input #filter type=\"text\" [value]=\"filterValue||''\" (input)=\"onFilter($event)\" class=\"p-listbox-filter p-inputtext p-component\" [disabled]=\"disabled\" [attr.placeholder]=\"filterPlaceHolder\" [attr.aria-label]=\"ariaFilterLabel\">\n <span class=\"p-listbox-filter-icon pi pi-search\"></span>\n </div>\n </ng-template>\n </div>\n <div [ngClass]=\"'p-listbox-list-wrapper'\" [ngStyle]=\"listStyle\" [class]=\"listStyleClass\">\n <ul class=\"p-listbox-list\" role=\"listbox\" [attr.aria-multiselectable]=\"multiple\">\n <ng-container *ngIf=\"group\">\n <ng-template ngFor let-optgroup [ngForOf]=\"optionsToRender\">\n <li class=\"p-listbox-item-group\">\n <span *ngIf=\"!groupTemplate\">{{getOptionGroupLabel(optgroup)||'empty'}}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: {$implicit: optgroup}\"></ng-container>\n </li>\n <ng-container *ngTemplateOutlet=\"itemslist; context: {$implicit: getOptionGroupChildren(optgroup)}\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!group\">\n <ng-container *ngTemplateOutlet=\"itemslist; context: {$implicit: optionsToRender}\"></ng-container>\n </ng-container>\n <ng-template #itemslist let-optionsToDisplay>\n <li *ngFor=\"let option of optionsToDisplay; let i = index;\" [attr.tabindex]=\"disabled || isOptionDisabled(option) ? null : '0'\" pRipple\n [ngClass]=\"{'p-listbox-item':true,'p-highlight':isSelected(option), 'p-disabled': this.isOptionDisabled(option)}\" role=\"option\" [attr.aria-label]=\"getOptionLabel(option)\"\n [attr.aria-selected]=\"isSelected(option)\" (click)=\"onOptionClick($event,option)\" (dblclick)=\"onOptionDoubleClick($event,option)\" (touchend)=\"onOptionTouchEnd(option)\" (keydown)=\"onOptionKeyDown($event,option)\">\n <div class=\"p-checkbox p-component\" *ngIf=\"checkbox && multiple\" [ngClass]=\"{'p-checkbox-disabled': disabled || isOptionDisabled(option)}\">\n <div class=\"p-checkbox-box\" [ngClass]=\"{'p-highlight':isSelected(option)}\">\n <span class=\"p-checkbox-icon\" [ngClass]=\"{'pi pi-check':isSelected(option)}\"></span>\n </div>\n </div>\n <span *ngIf=\"!itemTemplate\">{{getOptionLabel(option)}}</span>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: option, index: i}\"></ng-container>\n </li>\n </ng-template>\n <li *ngIf=\"hasFilter() && isEmpty()\" class=\"p-listbox-empty-message\">\n <ng-container *ngIf=\"!emptyFilterTemplate && !emptyTemplate; else emptyFilter\">\n {{emptyFilterMessageLabel}}\n </ng-container>\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate || emptyTemplate\"></ng-container>\n </li>\n <li *ngIf=\"!hasFilter() && isEmpty()\" class=\"p-listbox-empty-message\">\n <ng-container *ngIf=\"!emptyTemplate; else empty\">\n {{emptyMessageLabel}}\n </ng-container>\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </li>\n </ul>\n </div>\n <div class=\"p-listbox-footer\" *ngIf=\"footerFacet || footerTemplate\">\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n `,\n providers: [LISTBOX_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./listbox.css'],\n host: {\n 'class': 'p-element'\n }\n})\nexport class Listbox implements AfterContentInit, OnInit, ControlValueAccessor, OnDestroy {\n\n @Input() multiple: boolean;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() listStyle: any;\n\n @Input() listStyleClass: string;\n\n @Input() readonly: boolean;\n\n @Input() disabled: boolean;\n\n @Input() checkbox: boolean = false;\n\n @Input() filter: boolean = false;\n\n @Input() filterBy: string;\n\n @Input() filterMatchMode: string = 'contains';\n\n @Input() filterLocale: string;\n\n @Input() metaKeySelection: boolean = true;\n\n @Input() dataKey: string;\n\n @Input() showToggleAll: boolean = true;\n\n @Input() optionLabel: string;\n\n @Input() optionValue: string;\n\n @Input() optionGroupChildren: string = \"items\";\n\n @Input() optionGroupLabel: string;\n\n @Input() optionDisabled: string;\n\n @Input() ariaFilterLabel: string;\n\n @Input() filterPlaceHolder: string;\n\n @Input() emptyFilterMessage: string;\n\n @Input() emptyMessage: string;\n\n @Input() group: boolean;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onClick: EventEmitter<any> = new EventEmitter();\n\n @Output() onDblClick: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('headerchkbox') headerCheckboxViewChild: ElementRef;\n\n @ViewChild('filter') filterViewChild: ElementRef;\n\n @ContentChild(Header) headerFacet;\n\n @ContentChild(Footer) footerFacet;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n public _options: any[];\n\n public itemTemplate: TemplateRef<any>;\n\n public groupTemplate: TemplateRef<any>;\n\n public headerTemplate: TemplateRef<any>;\n\n public filterTemplate: TemplateRef<any>;\n\n public footerTemplate: TemplateRef<any>;\n\n public emptyFilterTemplate: TemplateRef<any>;\n\n public emptyTemplate: TemplateRef<any>;\n\n public _filterValue: string;\n\n public _filteredOptions: any[];\n\n filterOptions: ListboxFilterOptions;\n\n public filtered: boolean;\n\n public value: any;\n\n public onModelChange: Function = () => { };\n\n public onModelTouched: Function = () => { };\n\n public optionTouched: boolean;\n\n public focus: boolean;\n\n public headerCheckboxFocus: boolean;\n\n translationSubscription: Subscription;\n\n constructor(public el: ElementRef, public cd: ChangeDetectorRef, public filterService: FilterService, public config: PrimeNGConfig) { }\n\n @Input() get options(): any[] {\n return this._options;\n }\n\n set options(val: any[]) {\n this._options = val;\n\n if (this.hasFilter())\n this.activateFilter();\n }\n\n @Input() get filterValue(): string {\n return this._filterValue;\n }\n\n set filterValue(val: string) {\n this._filterValue = val;\n this.activateFilter();\n }\n\n ngOnInit() {\n this.translationSubscription = this.config.translationObserver.subscribe(() => {\n this.cd.markForCheck();\n });\n\n if (this.filterBy) {\n this.filterOptions = {\n filter: (value) => this.onFilter(value),\n reset: () => this.resetFilter()\n }\n }\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'group':\n this.groupTemplate = item.template;\n break;\n\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'filter':\n this.filterTemplate = item.template;\n break;\n\n case 'footer':\n this.footerTemplate = item.template;\n break;\n\n case 'empty':\n this.emptyTemplate = item.template;\n break;\n\n case 'emptyfilter':\n this.emptyFilterTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n getOptionLabel(option: any) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : (option.label != undefined ? option.label : option);\n }\n\n getOptionGroupChildren(optionGroup: any) {\n return this.optionGroupChildren ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;\n }\n\n getOptionGroupLabel(optionGroup: any) {\n return this.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel) : (optionGroup.label != undefined ? optionGroup.label : optionGroup);\n }\n\n getOptionValue(option: any) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : (this.optionLabel || option.value === undefined ? option : option.value);\n }\n\n isOptionDisabled(option: any) {\n return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : (option.disabled !== undefined ? option.disabled : false);\n }\n\n writeValue(value: any): void {\n this.value = value;\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 onOptionClick(event: Event, option: any) {\n if (this.disabled || this.isOptionDisabled(option) || this.readonly) {\n return;\n }\n\n if (this.multiple) {\n if (this.checkbox)\n this.onOptionClickCheckbox(event, option);\n else\n this.onOptionClickMultiple(event, option);\n }\n else {\n this.onOptionClickSingle(event, option);\n }\n this.onClick.emit({\n originalEvent: event,\n option: option,\n value: this.value\n });\n this.optionTouched = false;\n }\n\n onOptionTouchEnd(option: any) {\n if (this.disabled || this.isOptionDisabled(option) || this.readonly) {\n return;\n }\n\n this.optionTouched = true;\n }\n\n onOptionDoubleClick(event: Event, option: any): any {\n if (this.disabled || this.isOptionDisabled(option) || this.readonly) {\n return;\n }\n\n this.onDblClick.emit({\n originalEvent: event,\n option: option,\n value: this.value\n })\n }\n\n onOptionClickSingle(event, option) {\n let selected = this.isSelected(option);\n let valueChanged = false;\n let metaSelection = this.optionTouched ? false : this.metaKeySelection;\n\n if (metaSelection) {\n let metaKey = (event.metaKey || event.ctrlKey);\n\n if (selected) {\n if (metaKey) {\n this.value = null;\n valueChanged = true;\n }\n }\n else {\n this.value = this.getOptionValue(option);\n valueChanged = true;\n }\n }\n else {\n this.value = selected ? null : this.getOptionValue(option);\n valueChanged = true;\n }\n\n if (valueChanged) {\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n }\n }\n\n onOptionClickMultiple(event, option) {\n let selected = this.isSelected(option);\n let valueChanged = false;\n let metaSelection = this.optionTouched ? false : this.metaKeySelection;\n\n if (metaSelection) {\n let metaKey = (event.metaKey || event.ctrlKey);\n\n if (selected) {\n if (metaKey) {\n this.removeOption(option);\n }\n else {\n this.value = [this.getOptionValue(option)];\n }\n valueChanged = true;\n }\n else {\n this.value = (metaKey) ? this.value || [] : [];\n this.value = [...this.value, this.getOptionValue(option)];\n valueChanged = true;\n }\n }\n else {\n if (selected) {\n this.removeOption(option);\n }\n else {\n this.value = [...this.value || [], this.getOptionValue(option)];\n }\n\n valueChanged = true;\n }\n\n if (valueChanged) {\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n }\n }\n\n onOptionClickCheckbox(event, option) {\n if (this.disabled || this.readonly) {\n return;\n }\n\n let selected = this.isSelected(option);\n\n if (selected) {\n this.removeOption(option);\n }\n else {\n this.value = this.value ? this.value : [];\n this.value = [...this.value, this.getOptionValue(option)];\n }\n\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n }\n\n removeOption(option: any): void {\n this.value = this.value.filter(val => !ObjectUtils.equals(val, this.getOptionValue(option), this.dataKey));\n }\n\n isSelected(option: any) {\n let selected = false;\n let optionValue = this.getOptionValue(option);\n\n if (this.multiple) {\n if (this.value) {\n for (let val of this.value) {\n if (ObjectUtils.equals(val, optionValue, this.dataKey)) {\n selected = true;\n break;\n }\n }\n }\n }\n else {\n selected = ObjectUtils.equals(this.value, optionValue, this.dataKey);\n }\n\n return selected;\n }\n\n get allChecked(): boolean {\n let optionsToRender = this.optionsToRender;\n if (!optionsToRender || optionsToRender.length === 0) {\n return false;\n }\n else {\n let selectedDisabledItemsLength = 0;\n let unselectedDisabledItemsLength = 0;\n let selectedEnabledItemsLength = 0;\n let visibleOptionsLength = this.group ? 0 : this.optionsToRender.length;\n\n for (let option of optionsToRender) {\n if (!this.group) {\n let disabled = this.isOptionDisabled(option);\n let selected = this.isSelected(option);\n\n if (disabled) {\n if (selected)\n selectedDisabledItemsLength++;\n else\n unselectedDisabledItemsLength++;\n }\n else {\n if (selected)\n selectedEnabledItemsLength++;\n else\n return false;\n }\n }\n else {\n for (let opt of this.getOptionGroupChildren(option)) {\n let disabled = this.isOptionDisabled(opt);\n let selected = this.isSelected(opt);\n\n if (disabled) {\n if (selected)\n selectedDisabledItemsLength++;\n else\n unselectedDisabledItemsLength++;\n }\n else {\n if (selected)\n selectedEnabledItemsLength++;\n else {\n return false;\n }\n }\n\n visibleOptionsLength++;\n }\n }\n }\n\n return (visibleOptionsLength === selectedDisabledItemsLength\n || visibleOptionsLength === selectedEnabledItemsLength\n || selectedEnabledItemsLength && visibleOptionsLength === (selectedEnabledItemsLength + unselectedDisabledItemsLength + selectedDisabledItemsLength));\n }\n }\n\n get optionsToRender(): any[] {\n return this._filteredOptions || this.options;\n }\n\n get emptyMessageLabel(): string {\n return this.emptyMessage || this.config.getTranslation(TranslationKeys.EMPTY_MESSAGE);\n }\n\n get emptyFilterMessageLabel(): string {\n return this.emptyFilterMessage || this.config.getTranslation(TranslationKeys.EMPTY_FILTER_MESSAGE);\n }\n\n hasFilter() {\n return this._filterValue && this._filterValue.trim().length > 0;\n }\n\n isEmpty() {\n return !this.optionsToRender || (this.optionsToRender && this.optionsToRender.length === 0);\n }\n\n onFilter(event: KeyboardEvent) {\n this._filterValue = (<HTMLInputElement> event.target).value;\n this.activateFilter();\n }\n\n activateFilter() {\n if (this.hasFilter() && this._options) {\n if (this.group) {\n let searchFields: string[] = (this.filterBy || this.optionLabel || 'label').split(',');\n\n let filteredGroups = [];\n for (let optgroup of this.options) {\n let filteredSubOptions = this.filterService.filter(this.getOptionGroupChildren(optgroup), searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);\n if (filteredSubOptions && filteredSubOptions.length) {\n filteredGroups.push({...optgroup, ...{[this.optionGroupChildren]: filteredSubOptions}});\n }\n }\n\n this._filteredOptions = filteredGroups;\n }\n else {\n this._filteredOptions = this._options.filter(option => this.filterService.filters[this.filterMatchMode](this.getOptionLabel(option), this._filterValue, this.filterLocale));\n }\n }\n else {\n this._filteredOptions = null;\n }\n }\n\n resetFilter() {\n if (this.filterViewChild && this.filterViewChild.nativeElement) {\n this.filterViewChild.nativeElement.value = '';\n }\n\n this._filterValue = null;\n this._filteredOptions = null;\n }\n\n get toggleAllDisabled(): boolean {\n let optionsToRender = this.optionsToRender;\n if (!optionsToRender || optionsToRender.length === 0) {\n return true;\n }\n else {\n for (let option of optionsToRender) {\n if (!this.isOptionDisabled(option))\n return false;\n }\n\n return true;\n }\n }\n\n toggleAll(event) {\n if (this.disabled || this.toggleAllDisabled || this.readonly) {\n return;\n }\n\n let allChecked = this.allChecked;\n\n if (allChecked)\n this.uncheckAll();\n else\n this.checkAll();\n\n this.onModelChange(this.value);\n this.onChange.emit({ originalEvent: event, value: this.value });\n event.preventDefault();\n }\n\n checkAll() {\n let optionsToRender = this.optionsToRender;\n let val: any[] = [];\n\n optionsToRender.forEach(opt => {\n if (!this.group) {\n let optionDisabled = this.isOptionDisabled(opt);\n if (!optionDisabled || (optionDisabled && this.isSelected(opt))) {\n val.push(this.getOptionValue(opt));\n }\n }\n else {\n let subOptions = this.getOptionGroupChildren(opt);\n\n if (subOptions) {\n subOptions.forEach(option => {\n let optionDisabled = this.isOptionDisabled(option);\n if (!optionDisabled || (optionDisabled && this.isSelected(option))) {\n val.push(this.getOptionValue(option));\n }\n });\n }\n }\n });\n\n this.value = val;\n }\n\n uncheckAll() {\n let optionsToRender = this.optionsToRender;\n let val: any[] = [];\n\n optionsToRender.forEach(opt => {\n if (!this.group) {\n let optionDisabled = this.isOptionDisabled(opt);\n if (optionDisabled && this.isSelected(opt)) {\n val.push(this.getOptionValue(opt));\n }\n }\n else {\n if (opt.items) {\n opt.items.forEach(option => {\n let optionDisabled = this.isOptionDisabled(option);\n if (optionDisabled && this.isSelected(option)) {\n val.push(this.getOptionValue(option));\n }\n });\n }\n }\n });\n\n this.value = val;\n }\n\n onOptionKeyDown(event:KeyboardEvent, option) {\n if (this.readonly) {\n return;\n }\n\n let item = <HTMLLIElement> event.currentTarget;\n\n switch(event.which) {\n //down\n case 40:\n var nextItem = this.findNextItem(item);\n if (nextItem) {\n nextItem.focus();\n }\n\n event.preventDefault();\n break;\n\n //up\n case 38:\n var prevItem = this.findPrevItem(item);\n if (prevItem) {\n prevItem.focus();\n }\n\n event.preventDefault();\n break;\n\n //enter\n case 13:\n this.onOptionClick(event, option);\n event.preventDefault();\n break;\n }\n }\n\n findNextItem(item) {\n let nextItem = item.nextElementSibling;\n\n if (nextItem)\n return DomHandler.hasClass(nextItem, 'p-disabled') || DomHandler.isHidden(nextItem) || DomHandler.hasClass(nextItem, 'p-listbox-item-group') ? this.findNextItem(nextItem) : nextItem;\n else\n return null;\n }\n\n findPrevItem(item) {\n let prevItem = item.previousElementSibling;\n\n if (prevItem)\n return DomHandler.hasClass(prevItem, 'p-disabled') || DomHandler.isHidden(prevItem) || DomHandler.hasClass(prevItem, 'p-listbox-item-group') ? this.findPrevItem(prevItem) : prevItem;\n else\n return null;\n }\n\n onHeaderCheckboxFocus() {\n this.headerCheckboxFocus = true;\n }\n\n onHeaderCheckboxBlur() {\n this.headerCheckboxFocus = false;\n }\n\n ngOnDestroy() {\n if (this.translationSubscription) {\n this.translationSubscription.unsubscribe();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule, SharedModule, RippleModule],\n exports: [Listbox, SharedModule],\n declarations: [Listbox]\n})\nexport class ListboxModule { }\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -36,6 +36,12 @@ class Ripple {
36
36
  ink.style.top = y + 'px';
37
37
  ink.style.left = x + 'px';
38
38
  DomHandler.addClass(ink, 'p-ink-active');
39
+ this.timeout = setTimeout(() => {
40
+ let ink = this.getInk();
41
+ if (ink) {
42
+ DomHandler.removeClass(ink, 'p-ink-active');
43
+ }
44
+ }, 401);
39
45
  }
40
46
  getInk() {
41
47
  for (let i = 0; i < this.el.nativeElement.children.length; i++) {
@@ -52,6 +58,9 @@ class Ripple {
52
58
  }
53
59
  }
54
60
  onAnimationEnd(event) {
61
+ if (this.timeout) {
62
+ clearTimeout(this.timeout);
63
+ }
55
64
  DomHandler.removeClass(event.currentTarget, 'p-ink-active');
56
65
  }
57
66
  create() {
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-ripple.mjs","sources":["../../src/app/components/ripple/ripple.ts","../../src/app/components/ripple/primeng-ripple.ts"],"sourcesContent":["import { NgModule, Directive, AfterViewInit, ElementRef, NgZone, OnDestroy, Optional } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DomHandler } from 'primeng/dom';\nimport { PrimeNGConfig } from 'primeng/api';\n\n@Directive({\n selector: '[pRipple]',\n host: {\n 'class': 'p-ripple p-element'\n }\n})\nexport class Ripple implements AfterViewInit, OnDestroy {\n\n constructor(public el: ElementRef, public zone: NgZone, @Optional() public config: PrimeNGConfig) { }\n\n animationListener: any;\n\n mouseDownListener: any;\n\n ngAfterViewInit() {\n if (this.config && this.config.ripple) {\n this.zone.runOutsideAngular(() => {\n this.create();\n\n this.mouseDownListener = this.onMouseDown.bind(this);\n this.el.nativeElement.addEventListener('mousedown', this.mouseDownListener);\n });\n }\n }\n\n onMouseDown(event: MouseEvent) {\n let ink = this.getInk();\n if (!ink || getComputedStyle(ink, null).display === 'none') {\n return;\n }\n\n DomHandler.removeClass(ink, 'p-ink-active');\n if (!DomHandler.getHeight(ink) && !DomHandler.getWidth(ink)) {\n let d = Math.max(DomHandler.getOuterWidth(this.el.nativeElement), DomHandler.getOuterHeight(this.el.nativeElement));\n ink.style.height = d + 'px';\n ink.style.width = d + 'px';\n }\n\n let offset = DomHandler.getOffset(this.el.nativeElement);\n let x = event.pageX - offset.left + document.body.scrollTop - DomHandler.getWidth(ink) / 2;\n let y = event.pageY - offset.top + document.body.scrollLeft - DomHandler.getHeight(ink) / 2;\n\n ink.style.top = y + 'px';\n ink.style.left = x + 'px';\n DomHandler.addClass(ink, 'p-ink-active');\n }\n\n getInk() {\n for (let i = 0; i < this.el.nativeElement.children.length; i++) {\n if (this.el.nativeElement.children[i].className.indexOf('p-ink') !== -1) {\n return this.el.nativeElement.children[i];\n }\n }\n return null;\n }\n\n resetInk() {\n let ink = this.getInk();\n if (ink) {\n DomHandler.removeClass(ink, 'p-ink-active');\n }\n }\n\n onAnimationEnd(event) {\n DomHandler.removeClass(event.currentTarget, 'p-ink-active');\n }\n\n create() {\n let ink = document.createElement('span');\n ink.className = 'p-ink';\n this.el.nativeElement.appendChild(ink);\n\n this.animationListener = this.onAnimationEnd.bind(this);\n ink.addEventListener('animationend', this.animationListener);\n }\n\n remove() {\n let ink = this.getInk();\n if (ink) {\n this.el.nativeElement.removeEventListener('mousedown', this.mouseDownListener);\n ink.removeEventListener('animationend', this.animationListener);\n DomHandler.removeElement(ink);\n }\n }\n\n ngOnDestroy() {\n if (this.config && this.config.ripple) {\n this.remove();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [Ripple],\n declarations: [Ripple]\n})\nexport class RippleModule { }\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-ripple.mjs","sources":["../../src/app/components/ripple/ripple.ts","../../src/app/components/ripple/primeng-ripple.ts"],"sourcesContent":["import { NgModule, Directive, AfterViewInit, ElementRef, NgZone, OnDestroy, Optional } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DomHandler } from 'primeng/dom';\nimport { PrimeNGConfig } from 'primeng/api';\n\n@Directive({\n selector: '[pRipple]',\n host: {\n 'class': 'p-ripple p-element'\n }\n})\nexport class Ripple implements AfterViewInit, OnDestroy {\n\n constructor(public el: ElementRef, public zone: NgZone, @Optional() public config: PrimeNGConfig) { }\n\n animationListener: any;\n\n mouseDownListener: any;\n\n timeout: any;\n\n ngAfterViewInit() {\n if (this.config && this.config.ripple) {\n this.zone.runOutsideAngular(() => {\n this.create();\n\n this.mouseDownListener = this.onMouseDown.bind(this);\n this.el.nativeElement.addEventListener('mousedown', this.mouseDownListener);\n });\n }\n }\n\n onMouseDown(event: MouseEvent) {\n let ink = this.getInk();\n if (!ink || getComputedStyle(ink, null).display === 'none') {\n return;\n }\n\n DomHandler.removeClass(ink, 'p-ink-active');\n if (!DomHandler.getHeight(ink) && !DomHandler.getWidth(ink)) {\n let d = Math.max(DomHandler.getOuterWidth(this.el.nativeElement), DomHandler.getOuterHeight(this.el.nativeElement));\n ink.style.height = d + 'px';\n ink.style.width = d + 'px';\n }\n\n let offset = DomHandler.getOffset(this.el.nativeElement);\n let x = event.pageX - offset.left + document.body.scrollTop - DomHandler.getWidth(ink) / 2;\n let y = event.pageY - offset.top + document.body.scrollLeft - DomHandler.getHeight(ink) / 2;\n\n ink.style.top = y + 'px';\n ink.style.left = x + 'px';\n DomHandler.addClass(ink, 'p-ink-active');\n\n this.timeout = setTimeout(() => {\n let ink = this.getInk();\n if (ink) {\n DomHandler.removeClass(ink, 'p-ink-active');\n }\n }, 401);\n }\n\n getInk() {\n for (let i = 0; i < this.el.nativeElement.children.length; i++) {\n if (this.el.nativeElement.children[i].className.indexOf('p-ink') !== -1) {\n return this.el.nativeElement.children[i];\n }\n }\n return null;\n }\n\n resetInk() {\n let ink = this.getInk();\n if (ink) {\n DomHandler.removeClass(ink, 'p-ink-active');\n }\n }\n\n onAnimationEnd(event: Event) {\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n DomHandler.removeClass(event.currentTarget, 'p-ink-active');\n }\n\n create() {\n let ink = document.createElement('span');\n ink.className = 'p-ink';\n this.el.nativeElement.appendChild(ink);\n\n this.animationListener = this.onAnimationEnd.bind(this);\n ink.addEventListener('animationend', this.animationListener);\n }\n\n remove() {\n let ink = this.getInk();\n if (ink) {\n this.el.nativeElement.removeEventListener('mousedown', this.mouseDownListener);\n ink.removeEventListener('animationend', this.animationListener);\n DomHandler.removeElement(ink);\n }\n }\n\n ngOnDestroy() {\n if (this.config && this.config.ripple) {\n this.remove();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [Ripple],\n declarations: [Ripple]\n})\nexport class RippleModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -86,7 +86,7 @@ class SelectButton {
86
86
  let selected = false;
87
87
  let optionValue = this.getOptionValue(option);
88
88
  if (this.multiple) {
89
- if (this.value) {
89
+ if (this.value && this.value instanceof Array) {
90
90
  for (let val of this.value) {
91
91
  if (ObjectUtils.equals(val, optionValue, this.dataKey)) {
92
92
  selected = true;
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-selectbutton.mjs","sources":["../../src/app/components/selectbutton/selectbutton.ts","../../src/app/components/selectbutton/primeng-selectbutton.ts"],"sourcesContent":["import {NgModule,Component,Input,Output,EventEmitter,forwardRef,ChangeDetectorRef,ContentChild,TemplateRef,ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ObjectUtils} from 'primeng/utils';\nimport {RippleModule} from 'primeng/ripple';\nimport {NG_VALUE_ACCESSOR, ControlValueAccessor} from '@angular/forms';\n\nexport const SELECTBUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectButton),\n multi: true\n};\n\n@Component({\n selector: 'p-selectButton',\n template: `\n <div [ngClass]=\"'p-selectbutton p-buttonset p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\" role=\"group\">\n <div *ngFor=\"let option of options; let i = index\" #btn class=\"p-button p-component\" [class]=\"option.styleClass\" role=\"button\" [attr.aria-pressed]=\"isSelected(option)\"\n [ngClass]=\"{'p-highlight':isSelected(option),\n 'p-disabled': disabled || isOptionDisabled(option),\n 'p-button-icon-only': (option.icon && !getOptionLabel(option))}\"\n (click)=\"onItemClick($event,option,i)\" (keydown.enter)=\"onItemClick($event,option,i)\"\n [attr.title]=\"option.title\" [attr.aria-label]=\"option.label\" (blur)=\"onBlur()\" [attr.tabindex]=\"disabled ? null : tabindex\" [attr.aria-labelledby]=\"this.getOptionLabel(option)\" pRipple>\n <ng-container *ngIf=\"!itemTemplate else customcontent\">\n <span [ngClass]=\"'p-button-icon p-button-icon-left'\" [class]=\"option.icon\" *ngIf=\"option.icon\"></span>\n <span class=\"p-button-label\">{{getOptionLabel(option)}}</span>\n </ng-container>\n <ng-template #customcontent>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: option, index: i}\"></ng-container>\n </ng-template>\n </div>\n </div>\n `,\n providers: [SELECTBUTTON_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['../button/button.css'],\n host: {\n 'class': 'p-element'\n }\n})\nexport class SelectButton implements ControlValueAccessor {\n\n @Input() options: any[];\n\n @Input() optionLabel: string;\n\n @Input() optionValue: string;\n\n @Input() optionDisabled: string;\n\n @Input() tabindex: number = 0;\n\n @Input() multiple: boolean;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() ariaLabelledBy: string;\n\n @Input() disabled: boolean;\n\n @Input() dataKey: string\n\n @Output() onOptionClick: EventEmitter<any> = new EventEmitter();\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @ContentChild(TemplateRef) itemTemplate;\n\n value: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n constructor(public cd: ChangeDetectorRef) {}\n\n getOptionLabel(option: any) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : (option.label != undefined ? option.label : option);\n }\n\n getOptionValue(option: any) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : (this.optionLabel || option.value === undefined ? option : option.value);\n }\n\n isOptionDisabled(option: any) {\n return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : (option.disabled !== undefined ? option.disabled : false);\n }\n\n writeValue(value: any) : void {\n this.value = value;\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 onItemClick(event, option: any, index: number) {\n if (this.disabled || this.isOptionDisabled(option)) {\n return;\n }\n\n if (this.multiple) {\n if (this.isSelected(option))\n this.removeOption(option);\n else\n this.value = [...(this.value||[]), this.getOptionValue(option)];\n\n this.onModelChange(this.value);\n\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n }\n else {\n let value = this.getOptionValue(option);\n \n if (this.value !== value) {\n this.value = this.getOptionValue(option);\n this.onModelChange(this.value);\n\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n }\n }\n\n this.onOptionClick.emit({\n originalEvent: event,\n option: option,\n index: index\n });\n\n }\n\n onBlur() {\n this.onModelTouched();\n }\n\n removeOption(option: any): void {\n this.value = this.value.filter(val => !ObjectUtils.equals(val, this.getOptionValue(option), this.dataKey));\n }\n\n isSelected(option: any) {\n let selected = false;\n let optionValue = this.getOptionValue(option);\n\n if (this.multiple) {\n if (this.value) {\n for (let val of this.value) {\n if (ObjectUtils.equals(val, optionValue, this.dataKey)) {\n selected = true;\n break;\n }\n }\n }\n }\n else {\n selected = ObjectUtils.equals(this.getOptionValue(option), this.value, this.dataKey);\n }\n\n return selected;\n }\n}\n\n@NgModule({\n imports: [CommonModule,RippleModule],\n exports: [SelectButton],\n declarations: [SelectButton]\n})\nexport class SelectButtonModule { }\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-selectbutton.mjs","sources":["../../src/app/components/selectbutton/selectbutton.ts","../../src/app/components/selectbutton/primeng-selectbutton.ts"],"sourcesContent":["import {NgModule,Component,Input,Output,EventEmitter,forwardRef,ChangeDetectorRef,ContentChild,TemplateRef,ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ObjectUtils} from 'primeng/utils';\nimport {RippleModule} from 'primeng/ripple';\nimport {NG_VALUE_ACCESSOR, ControlValueAccessor} from '@angular/forms';\n\nexport const SELECTBUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectButton),\n multi: true\n};\n\n@Component({\n selector: 'p-selectButton',\n template: `\n <div [ngClass]=\"'p-selectbutton p-buttonset p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\" role=\"group\">\n <div *ngFor=\"let option of options; let i = index\" #btn class=\"p-button p-component\" [class]=\"option.styleClass\" role=\"button\" [attr.aria-pressed]=\"isSelected(option)\"\n [ngClass]=\"{'p-highlight':isSelected(option),\n 'p-disabled': disabled || isOptionDisabled(option),\n 'p-button-icon-only': (option.icon && !getOptionLabel(option))}\"\n (click)=\"onItemClick($event,option,i)\" (keydown.enter)=\"onItemClick($event,option,i)\"\n [attr.title]=\"option.title\" [attr.aria-label]=\"option.label\" (blur)=\"onBlur()\" [attr.tabindex]=\"disabled ? null : tabindex\" [attr.aria-labelledby]=\"this.getOptionLabel(option)\" pRipple>\n <ng-container *ngIf=\"!itemTemplate else customcontent\">\n <span [ngClass]=\"'p-button-icon p-button-icon-left'\" [class]=\"option.icon\" *ngIf=\"option.icon\"></span>\n <span class=\"p-button-label\">{{getOptionLabel(option)}}</span>\n </ng-container>\n <ng-template #customcontent>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: option, index: i}\"></ng-container>\n </ng-template>\n </div>\n </div>\n `,\n providers: [SELECTBUTTON_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['../button/button.css'],\n host: {\n 'class': 'p-element'\n }\n})\nexport class SelectButton implements ControlValueAccessor {\n\n @Input() options: any[];\n\n @Input() optionLabel: string;\n\n @Input() optionValue: string;\n\n @Input() optionDisabled: string;\n\n @Input() tabindex: number = 0;\n\n @Input() multiple: boolean;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() ariaLabelledBy: string;\n\n @Input() disabled: boolean;\n\n @Input() dataKey: string\n\n @Output() onOptionClick: EventEmitter<any> = new EventEmitter();\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @ContentChild(TemplateRef) itemTemplate;\n\n value: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n constructor(public cd: ChangeDetectorRef) {}\n\n getOptionLabel(option: any) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : (option.label != undefined ? option.label : option);\n }\n\n getOptionValue(option: any) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : (this.optionLabel || option.value === undefined ? option : option.value);\n }\n\n isOptionDisabled(option: any) {\n return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : (option.disabled !== undefined ? option.disabled : false);\n }\n\n writeValue(value: any) : void {\n this.value = value;\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 onItemClick(event, option: any, index: number) {\n if (this.disabled || this.isOptionDisabled(option)) {\n return;\n }\n\n if (this.multiple) {\n if (this.isSelected(option))\n this.removeOption(option);\n else\n this.value = [...(this.value||[]), this.getOptionValue(option)];\n\n this.onModelChange(this.value);\n\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n }\n else {\n let value = this.getOptionValue(option);\n\n if (this.value !== value) {\n this.value = this.getOptionValue(option);\n this.onModelChange(this.value);\n\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n }\n }\n\n this.onOptionClick.emit({\n originalEvent: event,\n option: option,\n index: index\n });\n\n }\n\n onBlur() {\n this.onModelTouched();\n }\n\n removeOption(option: any): void {\n this.value = this.value.filter(val => !ObjectUtils.equals(val, this.getOptionValue(option), this.dataKey));\n }\n\n isSelected(option: any) {\n let selected = false;\n let optionValue = this.getOptionValue(option);\n\n if (this.multiple) {\n if (this.value && this.value instanceof Array) {\n for (let val of this.value) {\n if (ObjectUtils.equals(val, optionValue, this.dataKey)) {\n selected = true;\n break;\n }\n }\n }\n }\n else {\n selected = ObjectUtils.equals(this.getOptionValue(option), this.value, this.dataKey);\n }\n\n return selected;\n }\n}\n\n@NgModule({\n imports: [CommonModule,RippleModule],\n exports: [SelectButton],\n declarations: [SelectButton]\n})\nexport class SelectButtonModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -271,6 +271,19 @@ class Slider {
271
271
  else
272
272
  this.handleValue = (this.value - this.min) * 100 / (this.max - this.min);
273
273
  }
274
+ if (this.step) {
275
+ this.updateDiffAndOffset();
276
+ }
277
+ }
278
+ updateDiffAndOffset() {
279
+ this.diff = this.getDiff();
280
+ this.offset = this.getOffset();
281
+ }
282
+ getDiff() {
283
+ return Math.abs(this.handleValues[0] - this.handleValues[1]);
284
+ }
285
+ getOffset() {
286
+ return Math.min(this.handleValues[0], this.handleValues[1]);
274
287
  }
275
288
  updateValue(val, event) {
276
289
  if (this.range) {
@@ -304,8 +317,12 @@ class Slider {
304
317
  }
305
318
  this.sliderHandleEnd.nativeElement.focus();
306
319
  }
307
- this.diff = Math.abs(this.handleValues[0] - this.handleValues[1]);
308
- this.offset = Math.min(this.handleValues[0], this.handleValues[1]);
320
+ if (this.step) {
321
+ this.updateHandleValue();
322
+ }
323
+ else {
324
+ this.updateDiffAndOffset();
325
+ }
309
326
  this.values[this.handleIndex] = this.getNormalizedValue(value);
310
327
  let newValues = [this.minVal, this.maxVal];
311
328
  this.onModelChange(newValues);
@@ -337,7 +354,7 @@ class Slider {
337
354
  getNormalizedValue(val) {
338
355
  let decimalsCount = this.getDecimalsCount(this.step);
339
356
  if (decimalsCount > 0) {
340
- return +val.toFixed(decimalsCount);
357
+ return +parseFloat(val.toString()).toFixed(decimalsCount);
341
358
  }
342
359
  else {
343
360
  return Math.floor(val);
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-slider.mjs","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':offset !== null && offset !== undefined ? offset + '%' : handleValues[0] + '%',width: diff ? diff + '%' : handleValues[1] - handleValues[0] + '%'}\"></span>\n <span *ngIf=\"range && orientation == 'vertical'\" class=\"p-slider-range\" [ngStyle]=\"{'bottom':offset !== null && offset !== undefined ? offset + '%' : handleValues[0] + '%',height: diff ? diff + '%' : 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 host: {\n 'class': 'p-element'\n }\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 diff: number;\n\n offset: number;\n\n bottom: 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() ? null : 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() ? null : 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 \n if(value > this.max){\n value = this.max;\n this.handleValues[0] = 100;\n }\n this.handleValues[0] = value;\n }\n this.sliderHandleStart.nativeElement.focus();\n }\n else {\n if (value > this.max) {\n value = this.max;\n this.handleValues[1] = 100;\n this.offset = this.handleValues[1];\n\n } else if (value < this.min) {\n value = this.min;\n this.handleValues[1] = value;\n }\n else if (value < this.values[0]) {\n this.offset = this.handleValues[1];\n }\n this.sliderHandleEnd.nativeElement.focus();\n }\n\n this.diff = Math.abs(this.handleValues[0] - this.handleValues[1]);\n this.offset = Math.min(this.handleValues[0], this.handleValues[1])\n this.values[this.handleIndex] = this.getNormalizedValue(value);\n let newValues = [this.minVal, this.maxVal];\n this.onModelChange(newValues);\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\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\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 get minVal () {\n return Math.min(this.values[1], this.values[0]);\n }\n get maxVal () {\n return Math.max(this.values[1], this.values[0]);\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.mjs","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':offset !== null && offset !== undefined ? offset + '%' : handleValues[0] + '%',width: diff ? diff + '%' : handleValues[1] - handleValues[0] + '%'}\"></span>\n <span *ngIf=\"range && orientation == 'vertical'\" class=\"p-slider-range\" [ngStyle]=\"{'bottom':offset !== null && offset !== undefined ? offset + '%' : handleValues[0] + '%',height: diff ? diff + '%' : 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 host: {\n 'class': 'p-element'\n }\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 diff: number;\n\n offset: number;\n\n bottom: 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() ? null : 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() ? null : 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 if(this.step) {\n this.updateDiffAndOffset()\n } \n }\n\n updateDiffAndOffset(): void {\n this.diff = this.getDiff()\n this.offset = this.getOffset()\n }\n\n getDiff(): number {\n return Math.abs(this.handleValues[0] - this.handleValues[1]);\n }\n\n getOffset(): number {\n return Math.min(this.handleValues[0], this.handleValues[1]);\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 \n if(value > this.max){\n value = this.max;\n this.handleValues[0] = 100;\n }\n this.handleValues[0] = value;\n }\n this.sliderHandleStart.nativeElement.focus();\n }\n else {\n if (value > this.max) {\n value = this.max;\n this.handleValues[1] = 100;\n this.offset = this.handleValues[1];\n\n } else if (value < this.min) {\n value = this.min;\n this.handleValues[1] = value;\n }\n else if (value < this.values[0]) {\n this.offset = this.handleValues[1];\n }\n this.sliderHandleEnd.nativeElement.focus();\n }\n\n if(this.step) {\n this.updateHandleValue()\n } else {\n this.updateDiffAndOffset()\n }\n\n this.values[this.handleIndex] = this.getNormalizedValue(value);\n let newValues = [this.minVal, this.maxVal];\n this.onModelChange(newValues);\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\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\n\tgetNormalizedValue(val: number): number {\n\t\tlet decimalsCount = this.getDecimalsCount(this.step);\n\t\tif (decimalsCount > 0) {\n\t\t\treturn +parseFloat(val.toString()).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 get minVal () {\n return Math.min(this.values[1], this.values[0]);\n }\n get maxVal () {\n return Math.max(this.values[1], this.values[0]);\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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"}