From c977c5bb6d9a9dedfa7187d140468af78c9835ad Mon Sep 17 00:00:00 2001 From: tugcekucukoglu Date: Tue, 26 Dec 2023 14:34:10 +0300 Subject: [PATCH] Fixed #4995 - CascadeSelect: context options improvements for pt --- .../lib/cascadeselect/CascadeSelect.d.ts | 41 +++++++++++++++++++ .../lib/cascadeselect/CascadeSelectSub.vue | 23 ++++++++--- 2 files changed, 59 insertions(+), 5 deletions(-) diff --git a/components/lib/cascadeselect/CascadeSelect.d.ts b/components/lib/cascadeselect/CascadeSelect.d.ts index eed5dc666..6dbc43382 100644 --- a/components/lib/cascadeselect/CascadeSelect.d.ts +++ b/components/lib/cascadeselect/CascadeSelect.d.ts @@ -40,6 +40,10 @@ export interface CascadeSelectPassThroughMethodOptions { * Defines parent options. */ parent: any; + /** + * Defines current options. + */ + context: CascadeSelectContext; /** * Defines passthrough(pt) options in global config. */ @@ -194,6 +198,43 @@ export interface CascadeSelectState { overlayVisible: boolean; } +/** + * Defines current options in CascadeSelect component. + */ +export interface CascadeSelectContext { + /** + * Current option. + */ + item: any; + /** + * Index of the option. + */ + index: number; + /** + * Level of the option. + */ + level: number; + /** + * Current item group state of option as a boolean. + */ + itemGroup: boolean; + /** + * Current active state of option as a boolean. + * @defaultValue false + */ + active: boolean; + /** + * Current focused state of option as a boolean. + * @defaultValue false + */ + focused: boolean; + /** + * Current disabled state of option as a boolean. + * @defaultValue false + */ + disabled: boolean; +} + /** * Defines valid properties in CascadeSelect component. */ diff --git a/components/lib/cascadeselect/CascadeSelectSub.vue b/components/lib/cascadeselect/CascadeSelectSub.vue index 484daf2fd..c4904d45b 100644 --- a/components/lib/cascadeselect/CascadeSelectSub.vue +++ b/components/lib/cascadeselect/CascadeSelectSub.vue @@ -11,19 +11,19 @@ :aria-level="level + 1" :aria-setsize="options.length" :aria-posinset="index + 1" - v-bind="ptm('item')" + v-bind="getPTOptions(processedOption, index, 'item')" :data-p-item-group="isOptionGroup(processedOption)" :data-p-highlight="isOptionActive(processedOption)" :data-p-focus="isOptionFocused(processedOption)" :data-p-disabled="isOptionDisabled(processedOption)" > -
+
- {{ getOptionLabelToRender(processedOption) }} + {{ getOptionLabelToRender(processedOption) }}