mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-09-03 22:23:16 +00:00
fix(ui): sync search value with url and state value (#19050)
* fix(ui): sync search value with url and state value * fix flaky for user spec
This commit is contained in:
parent
c6774bf511
commit
4d30c83c55
@ -97,6 +97,12 @@ export const deletedUserChecks = async (page: Page) => {
|
|||||||
|
|
||||||
export const visitUserProfilePage = async (page: Page, userName: string) => {
|
export const visitUserProfilePage = async (page: Page, userName: string) => {
|
||||||
await settingClick(page, GlobalSettingOptions.USERS);
|
await settingClick(page, GlobalSettingOptions.USERS);
|
||||||
|
await page.waitForSelector(
|
||||||
|
'[data-testid="user-list-v1-component"] [data-testid="loader"]',
|
||||||
|
{
|
||||||
|
state: 'detached',
|
||||||
|
}
|
||||||
|
);
|
||||||
const userResponse = page.waitForResponse(
|
const userResponse = page.waitForResponse(
|
||||||
'/api/v1/search/query?q=**&from=0&size=*&index=*'
|
'/api/v1/search/query?q=**&from=0&size=*&index=*'
|
||||||
);
|
);
|
||||||
@ -470,9 +476,9 @@ export const permanentDeleteUser = async (
|
|||||||
);
|
);
|
||||||
await page.click('[data-testid="confirm-button"]');
|
await page.click('[data-testid="confirm-button"]');
|
||||||
await hardDeleteUserResponse;
|
await hardDeleteUserResponse;
|
||||||
await reFetchUsers;
|
|
||||||
|
|
||||||
await toastNotification(page, `"${displayName}" deleted successfully!`);
|
await toastNotification(page, `"${displayName}" deleted successfully!`);
|
||||||
|
await reFetchUsers;
|
||||||
|
|
||||||
// Wait for the loader to disappear
|
// Wait for the loader to disappear
|
||||||
await page.waitForSelector('[data-testid="loader"]', { state: 'hidden' });
|
await page.waitForSelector('[data-testid="loader"]', { state: 'hidden' });
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
import { Button, Col, Modal, Row, Space, Switch, Tooltip } from 'antd';
|
import { Button, Col, Modal, Row, Space, Switch, Tooltip } from 'antd';
|
||||||
import { ColumnsType } from 'antd/lib/table';
|
import { ColumnsType } from 'antd/lib/table';
|
||||||
import { AxiosError } from 'axios';
|
import { AxiosError } from 'axios';
|
||||||
import { capitalize, isEmpty } from 'lodash';
|
import { capitalize, debounce, isEmpty } from 'lodash';
|
||||||
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
import { useHistory, useParams } from 'react-router-dom';
|
import { useHistory, useParams } from 'react-router-dom';
|
||||||
@ -235,6 +235,7 @@ const UserListPageV1 = () => {
|
|||||||
const handleSearch = (value: string) => {
|
const handleSearch = (value: string) => {
|
||||||
setSearchValue(value);
|
setSearchValue(value);
|
||||||
handlePageChange(INITIAL_PAGING_VALUE);
|
handlePageChange(INITIAL_PAGING_VALUE);
|
||||||
|
|
||||||
const params = new URLSearchParams({ user: value });
|
const params = new URLSearchParams({ user: value });
|
||||||
// This function is called onChange in the search input with debouncing
|
// This function is called onChange in the search input with debouncing
|
||||||
// Hence using history.replace instead of history.push to avoid adding multiple routes in history
|
// Hence using history.replace instead of history.push to avoid adding multiple routes in history
|
||||||
@ -459,7 +460,8 @@ const UserListPageV1 = () => {
|
|||||||
type: t('label.user'),
|
type: t('label.user'),
|
||||||
})}...`}
|
})}...`}
|
||||||
searchValue={searchValue}
|
searchValue={searchValue}
|
||||||
onSearch={handleSearch}
|
typingInterval={0}
|
||||||
|
onSearch={debounce(handleSearch, 400)}
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user