ToolJet/frontend/src/_ui/Select/SelectComponent.jsx

83 lines
2.4 KiB
React
Raw Normal View History

import React from 'react';
import _ from 'lodash';
import Select from 'react-select';
import defaultStyles from './styles';
2025-02-25 06:52:50 +00:00
export const SelectComponent = ({ options = [], value, onChange, closeMenuOnSelect, darkMode, ...restProps }) => {
const selectRef = React.useRef(null);
const isDarkMode = darkMode ?? localStorage.getItem('darkMode') === 'true';
const {
isMulti = false,
styles = {},
Feature: Tooljet Database (#4951) * wip * internal db per workspace * fix async query * feat: add storage layer route * feat: add drawer component * feat: add react-table to load data * feat: add columns form * feat: add create column form, create row form * feat: add postgrest js * add tooljet db controller to proxy requests to postgrest * util: add postgrest filter builder helper utility * feat: add filter popover * use helper utility for building query * add sortable filters * add box shadow for filter popup * use overlay trigger * use react select * add new column addition * add dropdown for table header, table list * Move filter.jsx * feat: add sort popover * feat: add postgrest js .order fn * setup tooljetdb with restricted grants for users * make db schemas added loaded dynamically on postgrest server * fix query * sign jwt token to auth user at postgrest * update db schema user with workspace * chore: add table listing * update data and columns from api * feat: add context api for sharing data * add ability to create table, view tables and add columns * use columns for sort from context api * fix ormconfig * feat: add table listing integration * feat: add create table integration * fix for rds deployment * add internal table translation instead of schema * remove tooljetdb as a datasource * wrap placeholder on proxy query * add active workspace guard * scope tooljetdb by workspace * update active workspace guard * seperate proxy related concerns to different service * make use of org id param * rename storage layer to tooljet databse * update specs * feat: Update list when new table added * feat: add create column * chore: add orgId to url + misc changes * chore: move popover to separate file * remove unused var * rename files * feat: add multiple columns * feat: add new row * removes postgrest-js from pkg lock * feat: add row data * feat: add sorting * feat: allow row deletion * feat: add search * feat: add filtering * feat: add edit mode * feat: add columns while edit table * add view table action * update setup for column constraint * fix query * integrate view_table, primary key field * render toogle for boolean data type * update view table query for primary key * fetch metadata refactor * add capability to set default values * feat: allow deletion of record based on primary key * feat: add default value while creating column * send query from sort & filter component * css changes * allow empty data * add requested changes * add err message * add common fn * allow sort + filter * remove unwanted defaults key * css changes * add more operators * dark mode fixes * add drawer footer * add loader for list tables * add dashboard design changes * design changes * add capability to drop table and delete column * add breadcrumbs * design changes * add profile * refactor tooljetdb controller * update routes * add empty page changes * delete column fix * fix delete column * design changes * fetch tables post delete * homepage changes * hide ellipsis on hover * add org settings page * add edit + create org * add notification center * fix: group permissions switch issue * add logo * remove anchor tag * fix merge conflicts * css changes * add err boundary * setup query editor * css changes * fix: merge conflicts * add menuPortal prop to filterform and sort form * fix seed * fix: build * design changes * design changes + refactor code * fix imports * fix: drawer issue on delete table * add search box changes * fix: tablename max-length 255 * fix: set newly created table as selected item * remove edit column option * added badges to enterprise only features * disable edit column * table styles * fix: popover position, placeholder default * fix: display boolean values in table * fix: tooljet database default type values * css changes * add query manager for tooljet db with create and list row * dark mode fixes * remove Header component * add ability to delete tooljetdb rows from query manager * add ability to update tooljetdb rows * dark mode fixes * css changes * display actions icon on hover * folder onclick change * add empty page styles * fix proxy requests * feat: randomize icon creation * add max items per page prop for pagination * removes unwanted position attr * add table name validation + disable submit btn while api fetch * [Bugfix] internal storage toast | trigger toasts for running preview db queries (#5019) * resolves: no toasts are fired when preview query is run for db queries * fire success toast for created and no content status text for query success * remove invalid migration * skip migration if tooljet db already created * fix: app clone icon param * fix: show confirmation box if filter options are empty in query (#5021) * for now: show native confirmation box of the brower to confirm the delete all query * typo * Revert "typo" This reverts commit b5ce5ed8890056974395750b6e07475390748e3b. * cleaned * cleaned * show confirmation box if filter options are empty in query * [Refactor/Bugfix] database query (#5028) * refactored list rows operations * remove unwanted cls * refactor create row * reafactored update rows * refactored delete rows * padding fix for tj-query * add static templates * review changes * remove unused file * Chore: tooljetdb render setup (#5033) * add postgrest for render preview deploy * pin version * add healthCheckPath * remove health check * handle database url parsing db params * add defaults for tooljetdb env * fix hostname * handle env in migration files * refactor dbconfig build * fix pg db usage * add parsed env context * add tooljetdb env * refactor db config utils Co-authored-by: gandharv <gandharvkumargarg@gmail.com> Co-authored-by: Shubhendra <withshubh@gmail.com> Co-authored-by: Arpit <arpitnath42@gmail.com>
2022-12-22 20:39:57 +00:00
isLoading = false,
hasSearch = true,
height,
width,
placeholder = 'Select..',
customOption = undefined,
defaultValue = null,
2023-01-25 12:32:39 +00:00
useMenuPortal = true, // todo: deprecate this prop, use menuPortalTarget instead
maxMenuHeight = 250,
Feature: Tooljet Database (#4951) * wip * internal db per workspace * fix async query * feat: add storage layer route * feat: add drawer component * feat: add react-table to load data * feat: add columns form * feat: add create column form, create row form * feat: add postgrest js * add tooljet db controller to proxy requests to postgrest * util: add postgrest filter builder helper utility * feat: add filter popover * use helper utility for building query * add sortable filters * add box shadow for filter popup * use overlay trigger * use react select * add new column addition * add dropdown for table header, table list * Move filter.jsx * feat: add sort popover * feat: add postgrest js .order fn * setup tooljetdb with restricted grants for users * make db schemas added loaded dynamically on postgrest server * fix query * sign jwt token to auth user at postgrest * update db schema user with workspace * chore: add table listing * update data and columns from api * feat: add context api for sharing data * add ability to create table, view tables and add columns * use columns for sort from context api * fix ormconfig * feat: add table listing integration * feat: add create table integration * fix for rds deployment * add internal table translation instead of schema * remove tooljetdb as a datasource * wrap placeholder on proxy query * add active workspace guard * scope tooljetdb by workspace * update active workspace guard * seperate proxy related concerns to different service * make use of org id param * rename storage layer to tooljet databse * update specs * feat: Update list when new table added * feat: add create column * chore: add orgId to url + misc changes * chore: move popover to separate file * remove unused var * rename files * feat: add multiple columns * feat: add new row * removes postgrest-js from pkg lock * feat: add row data * feat: add sorting * feat: allow row deletion * feat: add search * feat: add filtering * feat: add edit mode * feat: add columns while edit table * add view table action * update setup for column constraint * fix query * integrate view_table, primary key field * render toogle for boolean data type * update view table query for primary key * fetch metadata refactor * add capability to set default values * feat: allow deletion of record based on primary key * feat: add default value while creating column * send query from sort & filter component * css changes * allow empty data * add requested changes * add err message * add common fn * allow sort + filter * remove unwanted defaults key * css changes * add more operators * dark mode fixes * add drawer footer * add loader for list tables * add dashboard design changes * design changes * add capability to drop table and delete column * add breadcrumbs * design changes * add profile * refactor tooljetdb controller * update routes * add empty page changes * delete column fix * fix delete column * design changes * fetch tables post delete * homepage changes * hide ellipsis on hover * add org settings page * add edit + create org * add notification center * fix: group permissions switch issue * add logo * remove anchor tag * fix merge conflicts * css changes * add err boundary * setup query editor * css changes * fix: merge conflicts * add menuPortal prop to filterform and sort form * fix seed * fix: build * design changes * design changes + refactor code * fix imports * fix: drawer issue on delete table * add search box changes * fix: tablename max-length 255 * fix: set newly created table as selected item * remove edit column option * added badges to enterprise only features * disable edit column * table styles * fix: popover position, placeholder default * fix: display boolean values in table * fix: tooljet database default type values * css changes * add query manager for tooljet db with create and list row * dark mode fixes * remove Header component * add ability to delete tooljetdb rows from query manager * add ability to update tooljetdb rows * dark mode fixes * css changes * display actions icon on hover * folder onclick change * add empty page styles * fix proxy requests * feat: randomize icon creation * add max items per page prop for pagination * removes unwanted position attr * add table name validation + disable submit btn while api fetch * [Bugfix] internal storage toast | trigger toasts for running preview db queries (#5019) * resolves: no toasts are fired when preview query is run for db queries * fire success toast for created and no content status text for query success * remove invalid migration * skip migration if tooljet db already created * fix: app clone icon param * fix: show confirmation box if filter options are empty in query (#5021) * for now: show native confirmation box of the brower to confirm the delete all query * typo * Revert "typo" This reverts commit b5ce5ed8890056974395750b6e07475390748e3b. * cleaned * cleaned * show confirmation box if filter options are empty in query * [Refactor/Bugfix] database query (#5028) * refactored list rows operations * remove unwanted cls * refactor create row * reafactored update rows * refactored delete rows * padding fix for tj-query * add static templates * review changes * remove unused file * Chore: tooljetdb render setup (#5033) * add postgrest for render preview deploy * pin version * add healthCheckPath * remove health check * handle database url parsing db params * add defaults for tooljetdb env * fix hostname * handle env in migration files * refactor dbconfig build * fix pg db usage * add parsed env context * add tooljetdb env * refactor db config utils Co-authored-by: gandharv <gandharvkumargarg@gmail.com> Co-authored-by: Shubhendra <withshubh@gmail.com> Co-authored-by: Arpit <arpitnath42@gmail.com>
2022-12-22 20:39:57 +00:00
menuPortalTarget = null,
menuPlacement = 'auto',
useCustomStyles = false,
isDisabled = false,
borderRadius,
openMenuOnFocus = false,
customClassPrefix = '',
} = restProps;
const customStyles = useCustomStyles ? styles : defaultStyles(isDarkMode, width, height, styles, borderRadius);
2025-09-11 07:32:44 +00:00
const selectOptions =
Array.isArray(options) && options.length === 0
? options
Table column redesign demo (#8442) * initial commit * redesign column manager * redesign string column type in the table * setting the color of the input field for string column type * setting bg of popover body * design the style tab of string column type * adjusted spaces in the properties and style elements in the column manager * fixed typo error * removed unwanted line * redesign the validation section of number column type manager * added the placeholder value for string column type min and max length in the validation section * replace text with icons for horizontal alignment in the style tab * show delete icon outside of the menu actions for each column in the table inspector * Revert "redesign string column type in the table" This reverts commit a440f3fc238428107032fa017732a78b734e15f3, which made changes for string column type in the table component on the canvas * making flex fill for horizontal alignment icon buttons in the style tab of column manager in the table * Bug fixed: event manager is not working in toggle column type * added decimalPlaces prop to number column manager * added text color and cell background props to style tab of number column manager * added few validations for number * created boolean column type consisting input checkbox working as toggle switch * allow user to select boolean column type from the component manager and display boolean column in the table on the canvas * making boolean component content consistent with the horizontal alignment * making Boolean column type functional adding editable and non-editale content to display on table * fixed horizonta alignment issue for boolean column * Revert "fixed horizonta alignment issue for boolean column" This reverts commit d41499a1edb48c4ecde265e1c296dda7465ed188. * making input elment vertically aligned * added generalised cell interaction * added props for boolean column types in column manager of table * added feature to provide custom bg to toggle switch * removed default value to toggleOnBg and toggleOffBg * conditionally displaying hardcoded value if toggleBg is not available * change the file and component name of existing customSelect to customDropdown * change component name * remove unwanted code * added select option to the column type dropdown field * Created component for select column type * rendering custom select component for select column type * adding border danger for invalid value * redesign column manager for select column type * bug fixed : disabling control to select column type when editable is off * changing the name key to label for select column type options * partially implemented make default option feature * Implemented default option for select column type * added text color prop in a styles tab to select column type * adding indigo color to selected option to select column type menu list * avoid breaking table if array is not provided for dynamicOption field * Organize the column manager and related files * Added validation fields in text column manager * Added text color to text area column type * Added validation to text column type * Avoiding bg to persisit for few column tupes, who dont have background field * bug fixed : other valdiation are not rendering for string column type * bug fixed: on hover always danger border is displayed for each cell * Cell density enhancement * Returning empty array for validationList for few column types * handling validation list by merging organizing-column-manager * Changed the select component in the properties tab of column popover * Changed the UI of validation according to new design also few column popover and action popover UI changes * Adding fx code block in style tab for text color and cell bg color * fixing UI of select column type column manager according to new UI * creating multiselect column and its UI wrt option list * added overlay trigger to multiselect * feat : added design theme new colors * fix : adding new color swatch to input components * fix : colors, number input with height less than 16px and number input arrow in padding none mdode * fix : icon color * few color fixes * overlay trigger for multi-select column type * color picker bug fixed * color changes * column type input text is not consistent with the dark theme- fixed * custom select single value container bug * manking add new row, hide column and download popover background consistent with the dark theme * Making add new row consistent with the updated UI changes * feat : link column type table * fix: default underline color * fix : sentence casing * added missing transformation field * fixes * fixing tab opening condition * fix : backward compatibility * supported multiple badges , tags for cell density propety * added feature to duplicate column * made td container overflow hidden * provided 100% width to Image fit prop in styles tab * oveflow hidden prop changes * revert unwanted change * change the gap between columns in column lists inside table inspector * Deprecate few column types in table * Fix * Fixes * change the functionality of cell density feature * Fix msg * Revamp date picker in table * Fix * fix : darkmode colors * revert * Supported cell density feature for multiple badges * making badges aligned center * madde tags column consistent with cell density feature * Remove imports * enhancing the code density feature * Making radio column consistent with the cell density feature * Fix unixtimestamp * Fix CSS issues * making tags and badges overlay appear only when content is overflowed * CSS fixes * Fix * Fix dark mode issues * making background transparent for deprecating columns making overlay visible on horizontal overflow * New revamped styles * fix box shadow * Migrations to move visibility and disabled states from styles to properties * undo change * refactored custom select component * patch fixes * bug fixed action popover was inconsistent with dark theme * testing * update custom select column type * fixes * Avoided options being populated in columns * removed consoles * making custom select align center vertically * on focus , we used to see on hover effect, avoiding it * Design review changes * Made text and string text-container according to design * vertical positioning of select and multiselect * overlay for deprecated columns * regex placeholder * Icons for number column type * Design feedback changes * Design fixes * box shadow on select menu list in canvas * added missing feature of decimal places and make increment and decrement icon vertically aligned * Fix design issues * Solve lint issues * Design theme revert changes * color of column list on hover and active is updated * fixes * changing the font weight of labels in styles tab of column manager * fix * Revert design theme * label change * horizontal alignment of select and datepicker columns * Reverted back to textarea for text column type * sync package-lock.json * fix import * UI fixes * Css changes * feat: Update default table data (#9312) * updated default table data * fix : table breaking * fix : datepikcer crashing table * fix : data * fix :: table image height (#9307) * fix : Table datepicker UI fixes (#9324) * fix : datepicker ui * update * fix * refactor: removed unused codes * add overlay * add overlay * Fix datepicker when date and time both are disabled * Fix paddings and margins * fix : default states in datepicker in table (#9335) * feat : update default data with images (#9338) * Design feedback * fix multiselect column type issues * Fix datepicker header width * Fix dropdown * Fix options loading state * Fix select issues * Fix multiselect default option * fix overlay trigger multiselect * fix: fixed issue with overlay display and cell content alignment for text * fix: Multiselect popover (#9394) * fix: popover only needed when content overflows * fix * fix: update zindex of edited text column * fix: show overlay when text in string overlay overflows * Fix multiselect default options * fix: show error message for editable string cloumn * Fix date issues * Fix date fixes * fix: more info popup close on mouse leave * Fix unix timestamp issue * Migration: set default demo data for older data (#9423) * fix: backfill old default data if user did not add a data * fix: backfill old default data if user did not add a data * Table column redeisgn demo string fix (#9415) * fix: show error message on table input validations * fix: error message alignments * Fix import issue for datepicker * wrapping the contant of multiselect selected options (#9429) * Fix popover in multiselect * Add multiselect popover only when content wrap is false or max row height is custom * Fix : String column types bug fixes (#9431) * Bug fixed: Hiding max row height field when content wrap is disabled * Removed border bottom when striped table style is applied * removed unwanted code * Apply hover effect on non-editable cell * Fixed width applied to multiselect popover * Fixed multiselect popover when content wrap is auto * Fix : arrow indicators vertical alignment in number column (#9440) * Fix: vertcial alignment of arrows * added hover effect on even rows * removed important * fix : Link column ui bugs , console error fix when hovering table (#9437) * fix : link column ui ux * update icons * Fix: focus editable string column on click of anywhere in cell (#9435) * Bug fixed: Hiding max row height field when content wrap is disabled * Removed border bottom when striped table style is applied * removed unwanted code * Apply hover effect on non-editable cell * Not able to edit the cell if clicked on the edges --------- Co-authored-by: manishkushare <kushare.manish9@gmail.com> * fix: number input overlap with increment/decrement button (#9406) * Number input arrow bug (#9441) * Fix: vertcial alignment of arrows * added hover effect on even rows * removed important * number are overflowing on arrows fixed --------- Co-authored-by: manishkushare <kushare.manish9@gmail.com> --------- Co-authored-by: stepinfwd <stepinfwd@gmail.com> Co-authored-by: Nakul Nagargade <nakul@tooljet.com> Co-authored-by: Nakul Nagargade <133095394+nakulnagargade@users.noreply.github.com> Co-authored-by: Johnson Cherian <johnsonc.dev@gmail.com>
2024-04-19 11:52:06 +00:00
: options?.map((option) => {
if (!option.hasOwnProperty('label')) {
return _.mapKeys(option, (value, key) => (key === 'value' ? key : 'label'));
}
return option;
});
Table column redesign demo (#8442) * initial commit * redesign column manager * redesign string column type in the table * setting the color of the input field for string column type * setting bg of popover body * design the style tab of string column type * adjusted spaces in the properties and style elements in the column manager * fixed typo error * removed unwanted line * redesign the validation section of number column type manager * added the placeholder value for string column type min and max length in the validation section * replace text with icons for horizontal alignment in the style tab * show delete icon outside of the menu actions for each column in the table inspector * Revert "redesign string column type in the table" This reverts commit a440f3fc238428107032fa017732a78b734e15f3, which made changes for string column type in the table component on the canvas * making flex fill for horizontal alignment icon buttons in the style tab of column manager in the table * Bug fixed: event manager is not working in toggle column type * added decimalPlaces prop to number column manager * added text color and cell background props to style tab of number column manager * added few validations for number * created boolean column type consisting input checkbox working as toggle switch * allow user to select boolean column type from the component manager and display boolean column in the table on the canvas * making boolean component content consistent with the horizontal alignment * making Boolean column type functional adding editable and non-editale content to display on table * fixed horizonta alignment issue for boolean column * Revert "fixed horizonta alignment issue for boolean column" This reverts commit d41499a1edb48c4ecde265e1c296dda7465ed188. * making input elment vertically aligned * added generalised cell interaction * added props for boolean column types in column manager of table * added feature to provide custom bg to toggle switch * removed default value to toggleOnBg and toggleOffBg * conditionally displaying hardcoded value if toggleBg is not available * change the file and component name of existing customSelect to customDropdown * change component name * remove unwanted code * added select option to the column type dropdown field * Created component for select column type * rendering custom select component for select column type * adding border danger for invalid value * redesign column manager for select column type * bug fixed : disabling control to select column type when editable is off * changing the name key to label for select column type options * partially implemented make default option feature * Implemented default option for select column type * added text color prop in a styles tab to select column type * adding indigo color to selected option to select column type menu list * avoid breaking table if array is not provided for dynamicOption field * Organize the column manager and related files * Added validation fields in text column manager * Added text color to text area column type * Added validation to text column type * Avoiding bg to persisit for few column tupes, who dont have background field * bug fixed : other valdiation are not rendering for string column type * bug fixed: on hover always danger border is displayed for each cell * Cell density enhancement * Returning empty array for validationList for few column types * handling validation list by merging organizing-column-manager * Changed the select component in the properties tab of column popover * Changed the UI of validation according to new design also few column popover and action popover UI changes * Adding fx code block in style tab for text color and cell bg color * fixing UI of select column type column manager according to new UI * creating multiselect column and its UI wrt option list * added overlay trigger to multiselect * feat : added design theme new colors * fix : adding new color swatch to input components * fix : colors, number input with height less than 16px and number input arrow in padding none mdode * fix : icon color * few color fixes * overlay trigger for multi-select column type * color picker bug fixed * color changes * column type input text is not consistent with the dark theme- fixed * custom select single value container bug * manking add new row, hide column and download popover background consistent with the dark theme * Making add new row consistent with the updated UI changes * feat : link column type table * fix: default underline color * fix : sentence casing * added missing transformation field * fixes * fixing tab opening condition * fix : backward compatibility * supported multiple badges , tags for cell density propety * added feature to duplicate column * made td container overflow hidden * provided 100% width to Image fit prop in styles tab * oveflow hidden prop changes * revert unwanted change * change the gap between columns in column lists inside table inspector * Deprecate few column types in table * Fix * Fixes * change the functionality of cell density feature * Fix msg * Revamp date picker in table * Fix * fix : darkmode colors * revert * Supported cell density feature for multiple badges * making badges aligned center * madde tags column consistent with cell density feature * Remove imports * enhancing the code density feature * Making radio column consistent with the cell density feature * Fix unixtimestamp * Fix CSS issues * making tags and badges overlay appear only when content is overflowed * CSS fixes * Fix * Fix dark mode issues * making background transparent for deprecating columns making overlay visible on horizontal overflow * New revamped styles * fix box shadow * Migrations to move visibility and disabled states from styles to properties * undo change * refactored custom select component * patch fixes * bug fixed action popover was inconsistent with dark theme * testing * update custom select column type * fixes * Avoided options being populated in columns * removed consoles * making custom select align center vertically * on focus , we used to see on hover effect, avoiding it * Design review changes * Made text and string text-container according to design * vertical positioning of select and multiselect * overlay for deprecated columns * regex placeholder * Icons for number column type * Design feedback changes * Design fixes * box shadow on select menu list in canvas * added missing feature of decimal places and make increment and decrement icon vertically aligned * Fix design issues * Solve lint issues * Design theme revert changes * color of column list on hover and active is updated * fixes * changing the font weight of labels in styles tab of column manager * fix * Revert design theme * label change * horizontal alignment of select and datepicker columns * Reverted back to textarea for text column type * sync package-lock.json * fix import * UI fixes * Css changes * feat: Update default table data (#9312) * updated default table data * fix : table breaking * fix : datepikcer crashing table * fix : data * fix :: table image height (#9307) * fix : Table datepicker UI fixes (#9324) * fix : datepicker ui * update * fix * refactor: removed unused codes * add overlay * add overlay * Fix datepicker when date and time both are disabled * Fix paddings and margins * fix : default states in datepicker in table (#9335) * feat : update default data with images (#9338) * Design feedback * fix multiselect column type issues * Fix datepicker header width * Fix dropdown * Fix options loading state * Fix select issues * Fix multiselect default option * fix overlay trigger multiselect * fix: fixed issue with overlay display and cell content alignment for text * fix: Multiselect popover (#9394) * fix: popover only needed when content overflows * fix * fix: update zindex of edited text column * fix: show overlay when text in string overlay overflows * Fix multiselect default options * fix: show error message for editable string cloumn * Fix date issues * Fix date fixes * fix: more info popup close on mouse leave * Fix unix timestamp issue * Migration: set default demo data for older data (#9423) * fix: backfill old default data if user did not add a data * fix: backfill old default data if user did not add a data * Table column redeisgn demo string fix (#9415) * fix: show error message on table input validations * fix: error message alignments * Fix import issue for datepicker * wrapping the contant of multiselect selected options (#9429) * Fix popover in multiselect * Add multiselect popover only when content wrap is false or max row height is custom * Fix : String column types bug fixes (#9431) * Bug fixed: Hiding max row height field when content wrap is disabled * Removed border bottom when striped table style is applied * removed unwanted code * Apply hover effect on non-editable cell * Fixed width applied to multiselect popover * Fixed multiselect popover when content wrap is auto * Fix : arrow indicators vertical alignment in number column (#9440) * Fix: vertcial alignment of arrows * added hover effect on even rows * removed important * fix : Link column ui bugs , console error fix when hovering table (#9437) * fix : link column ui ux * update icons * Fix: focus editable string column on click of anywhere in cell (#9435) * Bug fixed: Hiding max row height field when content wrap is disabled * Removed border bottom when striped table style is applied * removed unwanted code * Apply hover effect on non-editable cell * Not able to edit the cell if clicked on the edges --------- Co-authored-by: manishkushare <kushare.manish9@gmail.com> * fix: number input overlap with increment/decrement button (#9406) * Number input arrow bug (#9441) * Fix: vertcial alignment of arrows * added hover effect on even rows * removed important * number are overflowing on arrows fixed --------- Co-authored-by: manishkushare <kushare.manish9@gmail.com> --------- Co-authored-by: stepinfwd <stepinfwd@gmail.com> Co-authored-by: Nakul Nagargade <nakul@tooljet.com> Co-authored-by: Nakul Nagargade <133095394+nakulnagargade@users.noreply.github.com> Co-authored-by: Johnson Cherian <johnsonc.dev@gmail.com>
2024-04-19 11:52:06 +00:00
const currentValue = value ? selectOptions.find((option) => option.value === value) || value : defaultValue;
const handleOnChange = (data) => {
if (isMulti) {
onChange(data);
} else {
onChange(data.value);
}
};
const renderCustomOption = (option) => {
if (customOption) {
return customOption(option);
}
return option.label;
};
return (
2025-09-11 08:40:20 +00:00
<Select
{...restProps}
ref={selectRef}
selectRef={selectRef}
isLoading={isLoading}
isDisabled={isDisabled || isLoading}
options={selectOptions}
value={currentValue}
isSearchable={hasSearch}
onChange={handleOnChange}
placeholder={placeholder}
styles={customStyles}
openMenuOnFocus={openMenuOnFocus}
formatOptionLabel={(option) => renderCustomOption(option)}
menuPlacement={menuPlacement}
maxMenuHeight={maxMenuHeight}
menuPortalTarget={useMenuPortal ? document.body : menuPortalTarget}
closeMenuOnSelect={closeMenuOnSelect ?? true}
classNamePrefix={`${customClassPrefix} ${isDarkMode && 'dark-theme'} ${'react-select'}`}
data-cy={restProps['data-cy']}
/>
);
};