From 00ab0dc9c52f53c71c86021409f96c4d80586891 Mon Sep 17 00:00:00 2001 From: Wisam Jbori <17522597+SamJbori@users.noreply.github.com> Date: Wed, 3 Jan 2024 12:32:10 +0300 Subject: [PATCH 1/5] Update index.tsx Added support to selectedToTop --- src/components/MultiSelect/index.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/components/MultiSelect/index.tsx b/src/components/MultiSelect/index.tsx index 4f29abb..be0fb46 100644 --- a/src/components/MultiSelect/index.tsx +++ b/src/components/MultiSelect/index.tsx @@ -93,6 +93,7 @@ const MultiSelectComponent: ( itemAccessibilityLabelField, visibleSelectedItem = true, mode = 'default', + selectedToTop = false, } = props; const ref = useRef(null); @@ -519,7 +520,11 @@ const MultiSelectComponent: ( accessibilityLabel={accessibilityLabel + ' flatlist'} {...flatListProps} keyboardShouldPersistTaps="handled" - data={listData} + data={selectedToTop + ? listData + .filter((item) => checkSelected(item)) + .concat(listData.filter((item) => !checkSelected(item))) + : listData} inverted={isTopPosition ? inverted : false} renderItem={_renderItem} keyExtractor={(_item, index) => index.toString()} From 8a84a614bcf465c513f38ac836aa470098f45417 Mon Sep 17 00:00:00 2001 From: Wisam Jbori <17522597+SamJbori@users.noreply.github.com> Date: Wed, 3 Jan 2024 12:33:04 +0300 Subject: [PATCH 2/5] Update model.ts Added support to selectedToTop --- src/components/MultiSelect/model.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/MultiSelect/model.ts b/src/components/MultiSelect/model.ts index c4f018f..cb005e1 100644 --- a/src/components/MultiSelect/model.ts +++ b/src/components/MultiSelect/model.ts @@ -35,6 +35,7 @@ export interface MultiSelectProps { iconColor?: string; activeColor?: string; data: T[]; + selectedToTop?: boolean; value?: string[] | null | undefined; placeholder?: string; labelField: keyof T; From 7975014e1a1d02b5f3511181c44d25e9691b5783 Mon Sep 17 00:00:00 2001 From: Wisam Jbori <17522597+SamJbori@users.noreply.github.com> Date: Wed, 3 Jan 2024 12:33:58 +0300 Subject: [PATCH 3/5] Update README.md Added support to selectedToTop --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 4669c71..e8ccb5f 100644 --- a/README.md +++ b/README.md @@ -142,6 +142,9 @@ yarn add react-native-element-dropdown | itemTestIDField | String | No | Add this field to the input data. Ex: DATA = [{itemTestIDField: '', label: '', value:: ''}]| | accessibilityLabel | String | No | Set an accessibilityLabel on the view, so that people who use VoiceOver know what element they have selected | | itemAccessibilityLabelField | String | No | Add this field to the input data. Ex: DATA = [{itemAccessibilityLabelField: '', label: '', value:: ''}]| +|-----------------------------|---------------------------------------------|-----------|--------------------------------------------------------------------------------------------------------| +| selectedToTop | Boolean | No | Put selected items on top of the list | +|-----------------------------|---------------------------------------------|-----------|--------------------------------------------------------------------------------------------------------| From f491b589401c695a589a9b80ade9c188516f1cdb Mon Sep 17 00:00:00 2001 From: Wisam Jbori <17522597+SamJbori@users.noreply.github.com> Date: Wed, 3 Jan 2024 12:35:03 +0300 Subject: [PATCH 4/5] Update README.md Added support to selectedToTop --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e8ccb5f..2e5e85a 100644 --- a/README.md +++ b/README.md @@ -142,9 +142,9 @@ yarn add react-native-element-dropdown | itemTestIDField | String | No | Add this field to the input data. Ex: DATA = [{itemTestIDField: '', label: '', value:: ''}]| | accessibilityLabel | String | No | Set an accessibilityLabel on the view, so that people who use VoiceOver know what element they have selected | | itemAccessibilityLabelField | String | No | Add this field to the input data. Ex: DATA = [{itemAccessibilityLabelField: '', label: '', value:: ''}]| -|-----------------------------|---------------------------------------------|-----------|--------------------------------------------------------------------------------------------------------| +|------|------|------|------| | selectedToTop | Boolean | No | Put selected items on top of the list | -|-----------------------------|---------------------------------------------|-----------|--------------------------------------------------------------------------------------------------------| +|------|------|------|------| From feed42a106e456606be103c3f2602e27feae00ee Mon Sep 17 00:00:00 2001 From: Wisam Jbori <17522597+SamJbori@users.noreply.github.com> Date: Wed, 3 Jan 2024 13:08:54 +0300 Subject: [PATCH 5/5] Update index.tsx Added support to selectedToTop --- src/components/MultiSelect/index.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/components/MultiSelect/index.tsx b/src/components/MultiSelect/index.tsx index be0fb46..ea9e3b7 100644 --- a/src/components/MultiSelect/index.tsx +++ b/src/components/MultiSelect/index.tsx @@ -520,11 +520,13 @@ const MultiSelectComponent: ( accessibilityLabel={accessibilityLabel + ' flatlist'} {...flatListProps} keyboardShouldPersistTaps="handled" - data={selectedToTop + data={ + selectedToTop ? listData .filter((item) => checkSelected(item)) .concat(listData.filter((item) => !checkSelected(item))) - : listData} + : listData + } inverted={isTopPosition ? inverted : false} renderItem={_renderItem} keyExtractor={(_item, index) => index.toString()}