delete icon placement fix, spacing in auto complete for lightning menu icon added

This commit is contained in:
vicky_primathon.in 2020-06-03 10:14:11 +05:30
parent 5b43bd2d5f
commit 4ca1f5b02e
4 changed files with 53 additions and 21 deletions

View File

@ -135,6 +135,8 @@ const Wrapper = styled.div<{
disabled?: boolean; disabled?: boolean;
setMaxHeight?: boolean; setMaxHeight?: boolean;
}>` }>`
width: ${props =>
props.editorTheme === THEMES.DARK ? "calc(100% - 32px)" : "100%"};
${props => ${props =>
props.singleLine && props.isFocused props.singleLine && props.isFocused
? ` ? `
@ -256,6 +258,9 @@ const DynamicAutocompleteInputWrapper = styled.div<{
}>` }>`
width: 100%; width: 100%;
height: 100%; height: 100%;
border-radius: 4px;
box-sizing: border-box;
background: ${props => (props.skin === Skin.DARK ? "#272822" : "none")};
flex: 1; flex: 1;
position: relative; position: relative;
border: ${props => border: ${props =>
@ -544,10 +549,16 @@ class DynamicAutocompleteInput extends Component<Props, State> {
}; };
updatePropertyValue(value: string, cursor?: number) { updatePropertyValue(value: string, cursor?: number) {
this.editor.setValue(value); if (value) {
this.editor.setValue(value);
}
this.editor.focus(); this.editor.focus();
if (cursor === undefined) { if (cursor === undefined) {
cursor = value.length - 2; if (value) {
cursor = value.length - 2;
} else {
cursor = 1;
}
} }
this.editor.setCursor({ this.editor.setCursor({
line: 0, line: 0,
@ -558,6 +569,14 @@ class DynamicAutocompleteInput extends Component<Props, State> {
}); });
} }
onMouseOver = () => {
this.setState({ isHover: true });
};
onMouseOut = () => {
this.setState({ isHover: false });
};
render() { render() {
const { const {
input, input,
@ -577,12 +596,8 @@ class DynamicAutocompleteInput extends Component<Props, State> {
} }
return ( return (
<DynamicAutocompleteInputWrapper <DynamicAutocompleteInputWrapper
onMouseOver={() => { onMouseOver={this.onMouseOver}
this.setState({ isHover: true }); onMouseOut={this.onMouseOut}
}}
onMouseOut={() => {
this.setState({ isHover: false });
}}
theme={this.props.theme} theme={this.props.theme}
skin={this.props.theme === "DARK" ? Skin.DARK : Skin.LIGHT} skin={this.props.theme === "DARK" ? Skin.DARK : Skin.LIGHT}
isActive={(this.state.isFocused && !hasError) || this.state.isOpened} isActive={(this.state.isFocused && !hasError) || this.state.isOpened}

View File

@ -47,18 +47,29 @@ export default class LightningMenuTrigger extends React.Component<
componentDidUpdate(prevProps: LightningMenuTriggerProps) { componentDidUpdate(prevProps: LightningMenuTriggerProps) {
const { menuState } = this.state; const { menuState } = this.state;
const { isHover, isFocused, isClosed } = this.props; const { isHover, isFocused, isClosed } = this.props;
// if (menuState !== "none") {
// console.log(
// "isHover, isFocused, isClosed",
// isHover,
// isFocused,
// isClosed,
// menuState,
// );
// }
if (menuState === "none" && isHover) { if (menuState === "none" && isHover) {
this.setState({ menuState: "hover" }); this.setState({ menuState: "hover" });
} else if (menuState === "active" && isFocused) { } else if (
(menuState === "active" && isFocused) ||
(menuState === "none" && isFocused)
) {
this.setState({ menuState: "default" }); this.setState({ menuState: "default" });
} else if (menuState === "default" && !isFocused) { } else if (
(menuState === "default" && !isFocused) ||
(menuState === "hover" && !isHover) ||
(menuState === "active" && isClosed) ||
(menuState !== "none" && !isHover && !isFocused && isClosed)
) {
this.setState({ menuState: "none" }); this.setState({ menuState: "none" });
} else if (menuState === "hover" && !isHover) {
this.setState({ menuState: "none" });
} else if (menuState === "active" && isClosed) {
this.setState({ menuState: "none" });
} else if (menuState === "none" && isFocused) {
this.setState({ menuState: "default" });
} }
} }

View File

@ -17,11 +17,16 @@ export interface ColumnAction {
const StyledDeleteIcon = styled(FormIcons.DELETE_ICON as AnyStyledComponent)` const StyledDeleteIcon = styled(FormIcons.DELETE_ICON as AnyStyledComponent)`
padding: 5px 0px; padding: 5px 0px;
position: absolute; position: absolute;
right: 8px; right: 0px;
cursor: pointer; cursor: pointer;
top: 0px; top: 0px;
`; `;
const InputTextWrapper = styled.div`
margin-bottom: 8px;
width: calc(100% - 30px);
`;
const Wrapper = styled.div` const Wrapper = styled.div`
margin-bottom: 8px; margin-bottom: 8px;
`; `;
@ -41,7 +46,7 @@ class ColumnActionSelectorControl extends BaseControl<
position: "relative", position: "relative",
}} }}
> >
<Wrapper> <InputTextWrapper>
<InputText <InputText
label={columnAction.label} label={columnAction.label}
value={columnAction.label} value={columnAction.label}
@ -51,7 +56,7 @@ class ColumnActionSelectorControl extends BaseControl<
)} )}
isValid={true} isValid={true}
/> />
</Wrapper> </InputTextWrapper>
<Wrapper> <Wrapper>
<ActionCreator <ActionCreator
value={columnAction.dynamicTrigger} value={columnAction.dynamicTrigger}

View File

@ -48,7 +48,7 @@ function updateOptionValue<T>(
const StyledDeleteIcon = styled(FormIcons.DELETE_ICON as AnyStyledComponent)` const StyledDeleteIcon = styled(FormIcons.DELETE_ICON as AnyStyledComponent)`
padding: 0px 5px; padding: 0px 5px;
position: absolute; position: absolute;
right: -2px; right: 8px;
cursor: pointer; cursor: pointer;
`; `;
@ -60,6 +60,7 @@ const StyledOptionControlWrapper = styled(ControlWrapper)`
display: flex; display: flex;
justify-content: flex-start; justify-content: flex-start;
padding-right: 16px; padding-right: 16px;
width: calc(100% - 10px);
`; `;
type KeyValueComponentProps = { type KeyValueComponentProps = {