Compare commits

...

4 Commits

Author SHA1 Message Date
Yunus M
5e034ec92a chore: remove share invite link message (#4691)
(cherry picked from commit 4c2174958f)
2024-03-15 14:05:54 +05:30
Yunus M
4c3be48b78 fix: context filter input overflow issue, min height for logs list view (#4710)
(cherry picked from commit 07747e73d6)
2024-03-15 14:05:54 +05:30
Vikrant Gupta
d26898348f feat: remove disabled in case of dashboard locked (#4709)
(cherry picked from commit 60946b5e9d)
2024-03-15 14:05:54 +05:30
SagarRajput-7
fe660ba32b feat: handled inactive tab handling by removing the display flex override (#4708)
Co-authored-by: Sagar Rajput <sagarrajput@192.168.1.2>
(cherry picked from commit 0365fa5421)
2024-03-15 14:05:54 +05:30
9 changed files with 91 additions and 102 deletions

View File

@@ -14,6 +14,5 @@
"delete_domain_message": "Are you sure you want to delete this domain?", "delete_domain_message": "Are you sure you want to delete this domain?",
"delete_domain": "Delete Domain", "delete_domain": "Delete Domain",
"add_domain": "Add Domains", "add_domain": "Add Domains",
"saml_settings": "Your SAML settings have been saved, please login from incognito window to confirm that it has been set up correctly", "saml_settings": "Your SAML settings have been saved, please login from incognito window to confirm that it has been set up correctly"
"invite_link_share_manually": "After inviting members, please copy the invite link and send them the link manually"
} }

View File

@@ -14,6 +14,5 @@
"delete_domain_message": "Are you sure you want to delete this domain?", "delete_domain_message": "Are you sure you want to delete this domain?",
"delete_domain": "Delete Domain", "delete_domain": "Delete Domain",
"add_domain": "Add Domains", "add_domain": "Add Domains",
"saml_settings": "Your SAML settings have been saved, please login from incognito window to confirm that it has been set up correctly", "saml_settings": "Your SAML settings have been saved, please login from incognito window to confirm that it has been set up correctly"
"invite_link_share_manually": "After inviting members, please copy the invite link and send them the link manually"
} }

View File

@@ -1,10 +1,13 @@
.query-builder-search-wrapper { .query-builder-search-wrapper {
margin-top: 10px; margin-top: 10px;
height: 46px; border: 1px solid var(--bg-slate-400);
border: 1px solid var(--bg-slate-400); border-bottom: none;
border-bottom: none;
.ant-select-selector { .ant-select-selector {
border: none !important; border: none !important;
}
input {
font-size: 12px;
}
}
} }

View File

@@ -8,4 +8,5 @@
line-height: 18px; line-height: 18px;
letter-spacing: -0.005em; letter-spacing: -0.005em;
text-align: left; text-align: left;
min-height: 500px;
} }

View File

@@ -2,14 +2,13 @@ import './DashboardVariableSelection.styles.scss';
import { orange } from '@ant-design/colors'; import { orange } from '@ant-design/colors';
import { WarningOutlined } from '@ant-design/icons'; import { WarningOutlined } from '@ant-design/icons';
import { Input, Popover, Select, Tooltip, Typography } from 'antd'; import { Input, Popover, Select, Typography } from 'antd';
import dashboardVariablesQuery from 'api/dashboard/variables/dashboardVariablesQuery'; import dashboardVariablesQuery from 'api/dashboard/variables/dashboardVariablesQuery';
import { REACT_QUERY_KEY } from 'constants/reactQueryKeys'; import { REACT_QUERY_KEY } from 'constants/reactQueryKeys';
import { commaValuesParser } from 'lib/dashbaordVariables/customCommaValuesParser'; import { commaValuesParser } from 'lib/dashbaordVariables/customCommaValuesParser';
import sortValues from 'lib/dashbaordVariables/sortVariableValues'; import sortValues from 'lib/dashbaordVariables/sortVariableValues';
import { debounce } from 'lodash-es'; import { debounce } from 'lodash-es';
import map from 'lodash-es/map'; import map from 'lodash-es/map';
import { useDashboard } from 'providers/Dashboard/Dashboard';
import { memo, useEffect, useMemo, useState } from 'react'; import { memo, useEffect, useMemo, useState } from 'react';
import { useQuery } from 'react-query'; import { useQuery } from 'react-query';
import { IDashboardVariable } from 'types/api/dashboard/getAll'; import { IDashboardVariable } from 'types/api/dashboard/getAll';
@@ -52,7 +51,6 @@ function VariableItem({
onValueUpdate, onValueUpdate,
lastUpdatedVar, lastUpdatedVar,
}: VariableItemProps): JSX.Element { }: VariableItemProps): JSX.Element {
const { isDashboardLocked } = useDashboard();
const [optionsData, setOptionsData] = useState<(string | number | boolean)[]>( const [optionsData, setOptionsData] = useState<(string | number | boolean)[]>(
[], [],
); );
@@ -222,84 +220,77 @@ function VariableItem({
}, [variableData.type, variableData.customValue]); }, [variableData.type, variableData.customValue]);
return ( return (
<Tooltip <VariableContainer className="variable-item">
placement="top" <Typography.Text className="variable-name" ellipsis>
title={isDashboardLocked ? 'Dashboard is locked' : ''} ${variableData.name}
> </Typography.Text>
<VariableContainer className="variable-item"> <VariableValue>
<Typography.Text className="variable-name" ellipsis> {variableData.type === 'TEXTBOX' ? (
${variableData.name} <Input
</Typography.Text> placeholder="Enter value"
<VariableValue> bordered={false}
{variableData.type === 'TEXTBOX' ? ( key={variableData.selectedValue?.toString()}
<Input defaultValue={variableData.selectedValue?.toString()}
placeholder="Enter value" onChange={(e): void => {
disabled={isDashboardLocked} debouncedHandleChange(e.target.value || '');
}}
style={{
width:
50 + ((variableData.selectedValue?.toString()?.length || 0) * 7 || 50),
}}
/>
) : (
!errorMessage &&
optionsData && (
<Select
key={
selectValue && Array.isArray(selectValue)
? selectValue.join(' ')
: selectValue || variableData.id
}
defaultValue={selectValue}
onChange={handleChange}
bordered={false} bordered={false}
key={variableData.selectedValue?.toString()} placeholder="Select value"
defaultValue={variableData.selectedValue?.toString()} placement="bottomRight"
onChange={(e): void => { mode={mode}
debouncedHandleChange(e.target.value || ''); dropdownMatchSelectWidth={false}
}} style={SelectItemStyle}
style={{ loading={isLoading}
width: showSearch
50 + ((variableData.selectedValue?.toString()?.length || 0) * 7 || 50), data-testid="variable-select"
}} className="variable-select"
/> getPopupContainer={popupContainer}
) : ( >
!errorMessage && {enableSelectAll && (
optionsData && ( <Select.Option data-testid="option-ALL" value={ALL_SELECT_VALUE}>
<Select ALL
key={ </Select.Option>
selectValue && Array.isArray(selectValue) )}
? selectValue.join(' ') {map(optionsData, (option) => (
: selectValue || variableData.id <Select.Option
} data-testid={`option-${option}`}
defaultValue={selectValue} key={option.toString()}
onChange={handleChange} value={option}
bordered={false} >
placeholder="Select value" {option.toString()}
placement="bottomRight" </Select.Option>
mode={mode} ))}
dropdownMatchSelectWidth={false} </Select>
style={SelectItemStyle} )
loading={isLoading} )}
showSearch {variableData.type !== 'TEXTBOX' && errorMessage && (
data-testid="variable-select" <span style={{ margin: '0 0.5rem' }}>
className="variable-select" <Popover
disabled={isDashboardLocked} placement="top"
getPopupContainer={popupContainer} content={<Typography>{errorMessage}</Typography>}
> >
{enableSelectAll && ( <WarningOutlined style={{ color: orange[5] }} />
<Select.Option data-testid="option-ALL" value={ALL_SELECT_VALUE}> </Popover>
ALL </span>
</Select.Option> )}
)} </VariableValue>
{map(optionsData, (option) => ( </VariableContainer>
<Select.Option
data-testid={`option-${option}`}
key={option.toString()}
value={option}
>
{option.toString()}
</Select.Option>
))}
</Select>
)
)}
{variableData.type !== 'TEXTBOX' && errorMessage && (
<span style={{ margin: '0 0.5rem' }}>
<Popover
placement="top"
content={<Typography>{errorMessage}</Typography>}
>
<WarningOutlined style={{ color: orange[5] }} />
</Popover>
</span>
)}
</VariableValue>
</VariableContainer>
</Tooltip>
); );
} }

View File

@@ -279,9 +279,6 @@ function PendingInvitesContainer(): JSX.Element {
</Typography.Title> </Typography.Title>
<Space> <Space>
<Typography.Text type="warning">
{t('invite_link_share_manually')}
</Typography.Text>
<Button <Button
icon={<PlusOutlined />} icon={<PlusOutlined />}
type="primary" type="primary"

View File

@@ -1,10 +1,4 @@
.logs-module-container { .logs-module-container {
// margin: 0 -1rem; // as we have added a margin of 0 1rem components container, have to adjust the margin with negative to style the logs explorer as we want
// .ant-tabs-content-holder {
// margin: 0 -1rem;
// }
flex: 1; flex: 1;
display: flex; display: flex;
flex-direction: column; flex-direction: column;

View File

@@ -2,4 +2,8 @@
.ant-tabs-content { .ant-tabs-content {
padding: 0 16px; padding: 0 16px;
} }
.ant-tabs-tabpane-hidden {
display: none !important;
}
} }

View File

@@ -79,6 +79,7 @@ if (process.env.BUNDLE_ANALYSER === 'true') {
const config = { const config = {
mode: 'production', mode: 'production',
devtool: 'source-map',
entry: resolve(__dirname, './src/index.tsx'), entry: resolve(__dirname, './src/index.tsx'),
output: { output: {
path: resolve(__dirname, './build'), path: resolve(__dirname, './build'),