Skip to content

Commit 83d9fac

Browse files
authored
Merge pull request #869 from fhlavac/dual-list
Make dual-list pf4 mapper elements customizable
2 parents ee991e3 + 9df3275 commit 83d9fac

File tree

3 files changed

+354
-40
lines changed

3 files changed

+354
-40
lines changed

packages/pf4-component-mapper/src/files/dual-list-select.d.ts

Lines changed: 57 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import { UseFieldApiComponentConfig, AnyObject } from "@data-driven-forms/react-form-renderer";
22
import { ReactNode } from "react";
33
import FormGroupProps from "./form-group";
4+
import { FormGroupProps as FormGrpProps, ListProps, ToolbarProps, TextInputProps, ButtonProps, GridProps, GridItemProps, TextContentProps, FlexProps, FlexItemProps } from "@patternfly/react-core";
5+
import { SVGIconProps } from "@patternfly/react-icons/dist/js/createIcon";
46

57
export interface DualListSelectOption extends AnyObject {
68
value?: any;
@@ -25,15 +27,68 @@ interface InternalDualListSelectProps {
2527
allToRight?: boolean;
2628
moveAllLeftTitle?: ReactNode;
2729
moveAllRightTitle?: ReactNode;
30+
label?: ReactNode;
31+
isRequired?: boolean;
32+
helperText?: ReactNode;
2833
noValueTitle?: ReactNode;
2934
noOptionsTitle?: ReactNode;
3035
filterOptionsTitle?: ReactNode;
3136
filterValueTitle?: ReactNode;
3237
filterValueText?: ReactNode;
3338
filterOptionsText?: ReactNode;
34-
leftValues: DualListSelectOption[];
35-
rightValues: DualListSelectOption[];
39+
description?: ReactNode;
40+
hideLabel?: boolean;
41+
id?: string;
3642
renderStatus?: RenderStatusFunction;
43+
FormGroupProps: FormGrpProps,
44+
ListProps: ListProps,
45+
LeftListProps: ListProps,
46+
RightListProps: ListProps,
47+
ListItemProps: React.HTMLProps<HTMLDivElement>,
48+
LeftListItemProps: React.HTMLProps<HTMLDivElement>,
49+
RightListItemProps: React.HTMLProps<HTMLDivElement>,
50+
ToolbarProps: ToolbarProps,
51+
LeftToolbarProps: ToolbarProps,
52+
RightToolbarProps: ToolbarProps,
53+
FilterFieldProps: TextInputProps,
54+
LeftFilterFieldProps: TextInputProps,
55+
RightFilterFieldProps: TextInputProps,
56+
SearchIconProps: SVGIconProps,
57+
LeftSearchIconProps: SVGIconProps,
58+
RightSearchIconProps: SVGIconProps,
59+
SearchIconButtonProps: ButtonProps,
60+
LeftSearchIconButtonProps: ButtonProps,
61+
RightSearchIconButtonProps: ButtonProps,
62+
SortIconButtonProps: ButtonProps,
63+
LeftSortIconButtonProps: ButtonProps,
64+
RightSortIconButtonProps: ButtonProps,
65+
SortIconProps: SVGIconProps,
66+
LeftSortIconProps: SVGIconProps,
67+
RightSortIconProps: SVGIconProps,
68+
InternalGridProps: GridProps,
69+
ListGridProps: GridItemProps,
70+
LeftListGridProps: GridItemProps,
71+
RightListGridProps: GridItemProps,
72+
TitleProps: TextContentProps,
73+
LeftTitleProps: TextContentProps,
74+
RightTitleProps: TextContentProps,
75+
ButtonsGridProps: GridItemProps,
76+
ButtonsInternalFlexProps: FlexProps,
77+
ButtonFlexProps: FlexItemProps,
78+
ToRightFlexProps: FlexItemProps,
79+
IconButtonProps: ButtonProps,
80+
ToRightIconButtonProps: ButtonProps,
81+
IconProps: SVGIconProps,
82+
AllToRightFlexProps: FlexItemProps,
83+
AllToRightIconButtonProps: ButtonProps,
84+
AllToLeftFlexProps: FlexProps,
85+
AllToLeftIconButtonProps: ButtonProps,
86+
ToLeftFlexProps: FlexProps,
87+
ToLeftIconButtonProps: ButtonProps,
88+
ToRightIconProps: SVGIconProps,
89+
AllToRightIconProps: SVGIconProps,
90+
AllToLeftIconProps: SVGIconProps,
91+
ToLeftIconProps: SVGIconProps
3792
}
3893

3994
export type DualListSelectProps = InternalDualListSelectProps & FormGroupProps & UseFieldApiComponentConfig;

0 commit comments

Comments
 (0)