fix: fixes dropdown refreshList not working properly (#7395)

* feat: add nodeId, nodeClass, and handleNodeClass props to dropdown and string render components

* fix: remove extraneous flag from package-lock.json and add nodeId, nodeClass, handleNodeClass props to ParameterRenderComponent

---------

Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
This commit is contained in:
Deon Sanchez 2025-04-02 13:32:52 -06:00 • committed by GitHub
commit b0a9b6e8ab
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 31 additions and 8 deletions

View file

@ -709,7 +709,6 @@
}, },
"node_modules/@clack/prompts/node_modules/is-unicode-supported": { "node_modules/@clack/prompts/node_modules/is-unicode-supported": {
"version": "1.3.0", "version": "1.3.0",
"extraneous": true,
"inBundle": true, "inBundle": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {

View file

@ -47,6 +47,9 @@ export default function Dropdown({
editNode = false, editNode = false,
id = "", id = "",
children, children,
nodeId,
nodeClass,
handleNodeClass,
name, name,
dialogInputs, dialogInputs,
...baseInputProps ...baseInputProps
@ -76,14 +79,13 @@ export default function Dropdown({
const fuse = new Fuse(validOptions, { keys: ["name", "value"] }); const fuse = new Fuse(validOptions, { keys: ["name", "value"] });
const PopoverContentDropdown = const PopoverContentDropdown =
children || editNode ? PopoverContent : PopoverContentWithoutPortal; children || editNode ? PopoverContent : PopoverContentWithoutPortal;
const { nodeClass, nodeId, handleNodeClass, tooltip, helperText } = const { helperText } = baseInputProps;
baseInputProps;
// API and store hooks // API and store hooks
const postTemplateValue = usePostTemplateValue({ const postTemplateValue = usePostTemplateValue({
parameterId: name || "", parameterId: name,
nodeId: nodeId || "", nodeId: nodeId,
node: nodeClass!, node: nodeClass,
}); });
const setErrorData = useAlertStore((state) => state.setErrorData); const setErrorData = useAlertStore((state) => state.setErrorData);

View file

@ -14,6 +14,7 @@ export default function DropdownComponent({
optionsMetaData, optionsMetaData,
nodeClass, nodeClass,
nodeId, nodeId,
handleNodeClass,
...baseInputProps ...baseInputProps
}: InputProps<string, DropDownComponentType>) { }: InputProps<string, DropDownComponentType>) {
const onChange = (value: any, dbValue?: boolean, skipSnapshot?: boolean) => { const onChange = (value: any, dbValue?: boolean, skipSnapshot?: boolean) => {
@ -25,6 +26,9 @@ export default function DropdownComponent({
disabled={disabled} disabled={disabled}
editNode={editNode} editNode={editNode}
options={options} options={options}
nodeId={nodeId}
nodeClass={nodeClass}
handleNodeClass={handleNodeClass}
optionsMetaData={optionsMetaData} optionsMetaData={optionsMetaData}
onSelect={onChange} onSelect={onChange}
combobox={combobox} combobox={combobox}

View file

@ -10,6 +10,9 @@ export function StrRenderComponent({
name, name,
display_name, display_name,
placeholder, placeholder,
nodeId,
nodeClass,
handleNodeClass,
...baseInputProps ...baseInputProps
}: InputProps<string, StrRenderComponentType>) { }: InputProps<string, StrRenderComponentType>) {
const { handleOnNewValue, id, isToolMode, nodeInformationMetadata } = const { handleOnNewValue, id, isToolMode, nodeInformationMetadata } =
@ -67,6 +70,9 @@ export function StrRenderComponent({
{...baseInputProps} {...baseInputProps}
dialogInputs={templateData.dialog_inputs} dialogInputs={templateData.dialog_inputs}
options={templateData.options ?? []} options={templateData.options ?? []}
nodeId={nodeId}
nodeClass={nodeClass}
handleNodeClass={handleNodeClass}
optionsMetaData={templateData.options_metadata} optionsMetaData={templateData.options_metadata}
combobox={templateData.combobox} combobox={templateData.combobox}
name={templateData?.name!} name={templateData?.name!}

View file

@ -68,11 +68,11 @@ export function ParameterRenderComponent({
disabled, disabled,
nodeClass, nodeClass,
handleNodeClass, handleNodeClass,
nodeId,
helperText: templateData?.helper_text, helperText: templateData?.helper_text,
readonly: templateData.readonly, readonly: templateData.readonly,
placeholder, placeholder,
isToolMode, isToolMode,
nodeId,
nodeInformationMetadata, nodeInformationMetadata,
hasRefreshButton: templateData.refresh_button, hasRefreshButton: templateData.refresh_button,
}; };
@ -107,6 +107,9 @@ export function ParameterRenderComponent({
return ( return (
<StrRenderComponent <StrRenderComponent
{...baseInputProps} {...baseInputProps}
nodeId={nodeId}
nodeClass={nodeClass}
handleNodeClass={handleNodeClass}
templateData={templateData} templateData={templateData}
name={name} name={name}
display_name={templateData.display_name ?? ""} display_name={templateData.display_name ?? ""}

View file

@ -77,6 +77,9 @@ export type StrRenderComponentType = {
templateData: Partial<InputFieldType>; templateData: Partial<InputFieldType>;
name: string; name: string;
display_name: string; display_name: string;
nodeId: string;
nodeClass: APIClassType;
handleNodeClass: (value: any, code?: string, type?: string) => void;
}; };
export type InputListComponentType = { export type InputListComponentType = {
@ -91,6 +94,9 @@ export type DropDownComponentType = {
name: string; name: string;
dialogInputs?: any; dialogInputs?: any;
optionsMetaData?: any[]; optionsMetaData?: any[];
nodeId: string;
nodeClass: APIClassType;
handleNodeClass: (value: any, code?: string, type?: string) => void;
}; };
export type TextAreaComponentType = { export type TextAreaComponentType = {

View file

@ -56,13 +56,16 @@ export type DropDownComponent = {
isLoading?: boolean; isLoading?: boolean;
value: string; value: string;
combobox?: boolean; combobox?: boolean;
nodeId: string;
nodeClass: APIClassType;
handleNodeClass: (value: any, code?: string, type?: string) => void;
options: string[]; options: string[];
optionsMetaData?: any[]; optionsMetaData?: any[];
onSelect: (value: string, dbValue?: boolean, snapshot?: boolean) => void; onSelect: (value: string, dbValue?: boolean, snapshot?: boolean) => void;
editNode?: boolean; editNode?: boolean;
id?: string; id?: string;
children?: ReactNode; children?: ReactNode;
name?: string; name: string;
dialogInputs?: any; dialogInputs?: any;
}; };
export type ParameterComponentType = { export type ParameterComponentType = {