From aaae556d9794d80a005821530b2f82c77faa32b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mehmet=20=C3=87etin?= <92744169+mehmetcetin01140@users.noreply.github.com> Date: Thu, 1 Aug 2024 17:12:48 +0300 Subject: [PATCH 01/12] update changelog --- CHANGELOG.md | 7 +++++++ src/app/showcase/data/versions.json | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e80c77311bc..6efe30bf820 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1486,6 +1486,13 @@ - Checkbox in p-treeNode always checked when using custom icon [\#12951](https://github.com/primefaces/primeng/issues/12951) - ConfirmDialog: Duplicated AcceptIcons [\#13001](https://github.com/primefaces/primeng/issues/13001) +## ![LTS](https://www.primefaces.org/wp-content/uploads/2020/01/lts-icon-24.png "PrimeNG LTS") [15.4.24-LTS](https://www.npmjs.com/package/primeng/v/15.4.24-lts) (2024-08-01) + +**Fixed bugs:** +- Password: Tooltip with tooltipEvent='focus' is never displayed [\#16106](https://github.com/primefaces/primeng/issues/16106) +- Table> double call to (onLazyLoad) event [\#16070](https://github.com/primefaces/primeng/issues/16070) +- pBadge | Add missing badgeStyle & badgeStyleClass to directive [\#16133](https://github.com/primefaces/primeng/issues/16133) + ## ![LTS](https://www.primefaces.org/wp-content/uploads/2020/01/lts-icon-24.png "PrimeNG LTS") [15.4.24-LTS](https://www.npmjs.com/package/primeng/v/15.4.24-lts) (2024-07-24) **Fixed bugs:** diff --git a/src/app/showcase/data/versions.json b/src/app/showcase/data/versions.json index 6260dab3907..e8eac2bf0d0 100644 --- a/src/app/showcase/data/versions.json +++ b/src/app/showcase/data/versions.json @@ -5,12 +5,12 @@ "url": "https://primeng.org" }, { - "version": "v16.9.13-lts", + "version": "v16.9.14-lts", "name": "v16", "url": "https://www.primefaces.org/primeng-v16-lts/" }, { - "version": "v15.4.24-lts", + "version": "v15.4.25-lts", "name": "v15", "url": "https://www.primefaces.org/primeng-v15-lts/" }, From 512f03d001eeb1479786425931ab14be759e0f97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mehmet=20=C3=87etin?= <92744169+mehmetcetin01140@users.noreply.github.com> Date: Thu, 1 Aug 2024 17:22:20 +0300 Subject: [PATCH 02/12] fix typo --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6efe30bf820..e82264ce16d 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1486,7 +1486,7 @@ - Checkbox in p-treeNode always checked when using custom icon [\#12951](https://github.com/primefaces/primeng/issues/12951) - ConfirmDialog: Duplicated AcceptIcons [\#13001](https://github.com/primefaces/primeng/issues/13001) -## ![LTS](https://www.primefaces.org/wp-content/uploads/2020/01/lts-icon-24.png "PrimeNG LTS") [15.4.24-LTS](https://www.npmjs.com/package/primeng/v/15.4.24-lts) (2024-08-01) +## ![LTS](https://www.primefaces.org/wp-content/uploads/2020/01/lts-icon-24.png "PrimeNG LTS") [15.4.25-LTS](https://www.npmjs.com/package/primeng/v/15.4.25-lts) (2024-08-01) **Fixed bugs:** - Password: Tooltip with tooltipEvent='focus' is never displayed [\#16106](https://github.com/primefaces/primeng/issues/16106) From 882089edaf1fffbef5d85ea96d1fb38770f2be33 Mon Sep 17 00:00:00 2001 From: Janik Schumacher Date: Fri, 2 Aug 2024 13:25:34 +0200 Subject: [PATCH 03/12] fix(autocomplete): enter keypress event --- src/app/components/autocomplete/autocomplete.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/app/components/autocomplete/autocomplete.ts b/src/app/components/autocomplete/autocomplete.ts index 6dace6205bd..86411498abe 100755 --- a/src/app/components/autocomplete/autocomplete.ts +++ b/src/app/components/autocomplete/autocomplete.ts @@ -880,7 +880,15 @@ export class AutoComplete implements AfterViewChecked, AfterContentInit, OnDestr return typeof this.modelValue() === 'string' && this.optionValue; } - constructor(@Inject(DOCUMENT) private document: Document, public el: ElementRef, public renderer: Renderer2, public cd: ChangeDetectorRef, public config: PrimeNGConfig, public overlayService: OverlayService, private zone: NgZone) { + constructor( + @Inject(DOCUMENT) private document: Document, + public el: ElementRef, + public renderer: Renderer2, + public cd: ChangeDetectorRef, + public config: PrimeNGConfig, + public overlayService: OverlayService, + private zone: NgZone + ) { effect(() => { this.filled = ObjectUtils.isNotEmpty(this.modelValue()); }); @@ -1368,12 +1376,11 @@ export class AutoComplete implements AfterViewChecked, AfterContentInit, OnDestr } else { if (this.focusedOptionIndex() !== -1) { this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]); + event.preventDefault(); } this.hide(); } - - event.preventDefault(); } onEscapeKey(event) { From e7b611ba4c554aa4beeebe7a8a1ac8d74534507e Mon Sep 17 00:00:00 2001 From: PC0 Date: Sat, 3 Aug 2024 12:38:53 +0330 Subject: [PATCH 04/12] Update scroller.ts no need to set fixed height when scrollHeight === '100%' which is coming from scrollHeight = flex of all other components --- src/app/components/scroller/scroller.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/components/scroller/scroller.ts b/src/app/components/scroller/scroller.ts index f05ab77826d..b7e706533cc 100644 --- a/src/app/components/scroller/scroller.ts +++ b/src/app/components/scroller/scroller.ts @@ -866,7 +866,7 @@ export class Scroller implements OnInit, AfterContentInit, AfterViewChecked, OnD } setSpacerSize() { - if (this._items) { + if (this._scrollHeight !== '100%' && this._items) { const contentPos = this.getContentPosition(); const setProp = (_name: string, _value: any, _size: number, _cpos: number = 0) => (this.spacerStyle = { ...this.spacerStyle, ...{ [`${_name}`]: (_value || []).length * _size + _cpos + 'px' } }); From 7e9799e18a55aded864f3ecf72b265b50b85fe3a Mon Sep 17 00:00:00 2001 From: Khalil Khaled Date: Mon, 5 Aug 2024 15:19:13 +0100 Subject: [PATCH 05/12] Fix typo in calendar documentation Fix typo in Popup Keyboard Support section. --- src/app/showcase/doc/calendar/accessibilitydoc.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/showcase/doc/calendar/accessibilitydoc.ts b/src/app/showcase/doc/calendar/accessibilitydoc.ts index 0279ff16ec5..43bead30ba5 100644 --- a/src/app/showcase/doc/calendar/accessibilitydoc.ts +++ b/src/app/showcase/doc/calendar/accessibilitydoc.ts @@ -87,7 +87,7 @@ import { Code } from '@domain/code'; shift + tab - Moves focus to the next focusable element within the popup. + Moves focus to the previous focusable element within the popup. From d74108b90827cca43bd827ed644ab30c81b602fc Mon Sep 17 00:00:00 2001 From: Khalil Khaled Date: Tue, 6 Aug 2024 16:07:02 +0100 Subject: [PATCH 06/12] Fixed #16176 - Calendar | add checks on panelStyle width and min-width before applying alignOverlay styles --- src/app/components/calendar/calendar.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/app/components/calendar/calendar.ts b/src/app/components/calendar/calendar.ts index d02590d3f60..ad25df2ec3a 100644 --- a/src/app/components/calendar/calendar.ts +++ b/src/app/components/calendar/calendar.ts @@ -3069,10 +3069,16 @@ export class Calendar implements OnInit, OnDestroy, ControlValueAccessor { } else if (this.overlay) { if (this.appendTo) { if (this.view === 'date') { - this.overlay.style.width = DomHandler.getOuterWidth(this.overlay) + 'px'; - this.overlay.style.minWidth = DomHandler.getOuterWidth(this.inputfieldViewChild?.nativeElement) + 'px'; + if (!this.overlay.style.width) { + this.overlay.style.width = DomHandler.getOuterWidth(this.overlay) + 'px'; + } + if (!this.overlay.style.minWidth) { + this.overlay.style.minWidth = DomHandler.getOuterWidth(this.inputfieldViewChild?.nativeElement) + 'px'; + } } else { - this.overlay.style.width = DomHandler.getOuterWidth(this.inputfieldViewChild?.nativeElement) + 'px'; + if (!this.overlay.style.width) { + this.overlay.style.width = DomHandler.getOuterWidth(this.inputfieldViewChild?.nativeElement) + 'px'; + } } DomHandler.absolutePosition(this.overlay, this.inputfieldViewChild?.nativeElement); From c512569f8cc1d243ebc542cae4d0ee51aa7483c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mehmet=20=C3=87etin?= <92744169+mehmetcetin01140@users.noreply.github.com> Date: Wed, 7 Aug 2024 11:58:46 +0300 Subject: [PATCH 07/12] Fixed #16152 - ListBox component accessibility issues --- src/app/components/listbox/listbox.ts | 40 ++++++++++++--------------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/src/app/components/listbox/listbox.ts b/src/app/components/listbox/listbox.ts index 5897cd07b21..6deea4d394e 100755 --- a/src/app/components/listbox/listbox.ts +++ b/src/app/components/listbox/listbox.ts @@ -49,16 +49,7 @@ export const LISTBOX_VALUE_ACCESSOR: any = { selector: 'p-listbox', template: `
- - +
@@ -105,6 +96,7 @@ export const LISTBOX_VALUE_ACCESSOR: any = { [tabindex]="!disabled && !focused ? tabindex : -1" (input)="onFilterChange($event)" (keydown)="onFilterKeyDown($event)" + (focus)="onFilterFocus($event)" (blur)="onFilterBlur($event)" /> @@ -117,7 +109,7 @@ export const LISTBOX_VALUE_ACCESSOR: any = {
-
+
@@ -226,16 +218,7 @@ export const LISTBOX_VALUE_ACCESSOR: any = { {{ selectedMessageText }} - - +
`, providers: [LISTBOX_VALUE_ACCESSOR], @@ -545,6 +528,8 @@ export class Listbox implements AfterContentInit, OnInit, ControlValueAccessor, @ViewChild('list') listViewChild: Nullable; + @ViewChild('wrapper') wrapperViewChild: Nullable; + @ContentChild(Header) headerFacet: Nullable>; @ContentChild(Footer) footerFacet: Nullable>; @@ -593,6 +578,8 @@ export class Listbox implements AfterContentInit, OnInit, ControlValueAccessor, focused: boolean | undefined; + scrollerTabIndex: string = '0'; + get containerClass() { return { 'p-listbox p-component': true, @@ -949,6 +936,8 @@ export class Listbox implements AfterContentInit, OnInit, ControlValueAccessor, onFocusout(event: FocusEvent) { if (!this.el.nativeElement.contains(event.relatedTarget) && this.lastHiddenFocusableElement && this.firstHiddenFocusableElement) { this.firstHiddenFocusableElement.nativeElement.tabIndex = this.lastHiddenFocusableElement.nativeElement.tabIndex = undefined; + this.wrapperViewChild.nativeElement.tabIndex = '0'; + this.scrollerTabIndex = '0'; } } @@ -957,6 +946,9 @@ export class Listbox implements AfterContentInit, OnInit, ControlValueAccessor, const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1; this.focusedOptionIndex.set(focusedOptionIndex); this.onFocus.emit(event); + + this.wrapperViewChild.nativeElement.tabIndex = '-1'; + this.scrollerTabIndex = '-1'; } onListBlur(event: FocusEvent) { @@ -1010,6 +1002,10 @@ export class Listbox implements AfterContentInit, OnInit, ControlValueAccessor, !this.virtualScrollerDisabled && this.scroller.scrollToIndex(0); } + + onFilterFocus(event: FocusEvent){ + this.wrapperViewChild.nativeElement.tabIndex = '-1'; + } onFilterBlur(event: FocusEvent) { this.focusedOptionIndex.set(-1); From 0bb5e41bcea2b589daf0dddb3b2e92707ed6349f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mehmet=20=C3=87etin?= <92744169+mehmetcetin01140@users.noreply.github.com> Date: Wed, 7 Aug 2024 13:57:39 +0300 Subject: [PATCH 08/12] Fixed #16169 - Component: colorPicker - inline=true property doesnt set the appropriate color --- src/app/components/colorpicker/colorpicker.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/app/components/colorpicker/colorpicker.ts b/src/app/components/colorpicker/colorpicker.ts index fb2c2593dd0..ef242fc3bf6 100755 --- a/src/app/components/colorpicker/colorpicker.ts +++ b/src/app/components/colorpicker/colorpicker.ts @@ -401,9 +401,11 @@ export class ColorPicker implements ControlValueAccessor, OnDestroy { this.value = this.HEXtoHSB(this.defaultColor); } - this.updateColorSelector(); - this.updateUI(); - this.cd.markForCheck(); + setTimeout(() => { + this.updateColorSelector(); + this.updateUI(); + this.cd.markForCheck(); + }); } updateColorSelector() { From 641f569ce14a0afcbb633e284b77e61f1da8bcba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mehmet=20=C3=87etin?= <92744169+mehmetcetin01140@users.noreply.github.com> Date: Wed, 7 Aug 2024 14:18:53 +0300 Subject: [PATCH 09/12] Fixed #16156 - Tree: Accessibility issues --- src/app/components/tree/tree.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/components/tree/tree.ts b/src/app/components/tree/tree.ts index be53fb4c1b9..1aba63b5063 100755 --- a/src/app/components/tree/tree.ts +++ b/src/app/components/tree/tree.ts @@ -100,7 +100,7 @@ import { (dragend)="onDragStop($event)" [ngClass]="{ 'p-treenode-selectable': tree.selectionMode && node.selectable !== false, 'p-treenode-dragover': draghoverNode, 'p-highlight': isSelected() }" > -