mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-07-30 12:49:58 +00:00
fix: resolve general feedbacks (#12153)
* fix: feedbacks * fix: add tier as static item * fix: feedbacks * fix: add localization * fix: feedbacks * fix: add localization * fix: breadcrumb wrapping issue * fix: alignment issue for glossary * fix: border issue in drawer
This commit is contained in:
parent
9cbaf98435
commit
0010a4fe2a
@ -10,6 +10,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
import { Typography } from 'antd';
|
||||
import ErrorPlaceHolder from 'components/common/error-with-placeholder/ErrorPlaceHolder';
|
||||
import Loader from 'components/Loader/Loader';
|
||||
import { ERROR_PLACEHOLDER_TYPE, SIZE } from 'enums/common.enum';
|
||||
@ -26,6 +27,7 @@ interface ActivityFeedListV1Props {
|
||||
onFeedClick?: (feed: Thread) => void;
|
||||
activeFeedId?: string;
|
||||
hidePopover: boolean;
|
||||
emptyPlaceholderText: string;
|
||||
}
|
||||
|
||||
const ActivityFeedListV1 = ({
|
||||
@ -35,6 +37,7 @@ const ActivityFeedListV1 = ({
|
||||
onFeedClick,
|
||||
activeFeedId,
|
||||
hidePopover = false,
|
||||
emptyPlaceholderText,
|
||||
}: ActivityFeedListV1Props) => {
|
||||
const [entityThread, setEntityThread] = useState<Thread[]>([]);
|
||||
|
||||
@ -54,14 +57,18 @@ const ActivityFeedListV1 = ({
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="feed-list-container p-y-md" id="feedData">
|
||||
<div className="feed-list-container h-full p-y-md" id="feedData">
|
||||
{entityThread.length === 0 && (
|
||||
<div data-testid="no-data-placeholder-container">
|
||||
<div
|
||||
className="h-full p-x-md"
|
||||
data-testid="no-data-placeholder-container">
|
||||
<ErrorPlaceHolder
|
||||
className="mt-0-important p-16"
|
||||
size={SIZE.MEDIUM}
|
||||
type={ERROR_PLACEHOLDER_TYPE.FILTER}
|
||||
/>
|
||||
type={ERROR_PLACEHOLDER_TYPE.CUSTOM}>
|
||||
<Typography.Paragraph style={{ marginBottom: '0' }}>
|
||||
{emptyPlaceholderText}
|
||||
</Typography.Paragraph>
|
||||
</ErrorPlaceHolder>
|
||||
</div>
|
||||
)}
|
||||
{entityThread.map((feed) => (
|
||||
|
@ -108,6 +108,16 @@ export const ActivityFeedTab = ({
|
||||
setActiveThread();
|
||||
};
|
||||
|
||||
const placeholderText = useMemo(() => {
|
||||
if (activeTab === ActivityFeedTabs.ALL) {
|
||||
return t('message.no-activity-feed');
|
||||
} else if (activeTab === ActivityFeedTabs.MENTIONS) {
|
||||
return t('message.no-mentions');
|
||||
} else {
|
||||
return t('message.no-tasks-assigned');
|
||||
}
|
||||
}, [activeTab]);
|
||||
|
||||
const fetchFeedsCount = () => {
|
||||
if (!isUserEntity) {
|
||||
// To get conversation count
|
||||
@ -349,6 +359,7 @@ export const ActivityFeedTab = ({
|
||||
<ActivityFeedListV1
|
||||
hidePopover
|
||||
activeFeedId={selectedThread?.id}
|
||||
emptyPlaceholderText={placeholderText}
|
||||
feedList={threads}
|
||||
isLoading={false}
|
||||
showThread={false}
|
||||
|
@ -21,6 +21,13 @@
|
||||
}
|
||||
}
|
||||
|
||||
.entity-panel-container.ant-drawer-right {
|
||||
.ant-drawer-content-wrapper {
|
||||
box-shadow: none;
|
||||
border: @global-border;
|
||||
}
|
||||
}
|
||||
|
||||
.entity-panel-container {
|
||||
margin-top: 60px;
|
||||
.ant-drawer-header {
|
||||
@ -32,15 +39,8 @@
|
||||
}
|
||||
|
||||
.entity-info-header-link {
|
||||
&:hover {
|
||||
color: @primary-color;
|
||||
.ant-btn-link > span {
|
||||
color: @primary-color;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-btn-link > span {
|
||||
color: @text-color-secondary;
|
||||
color: @primary-color;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1371,10 +1371,6 @@ const EntityLineageComponent: FunctionComponent<EntityLineageProp> = ({
|
||||
|
||||
return node;
|
||||
});
|
||||
|
||||
setTimeout(() => {
|
||||
reactFlowInstance?.fitView();
|
||||
}, 100);
|
||||
};
|
||||
|
||||
const handleExpandColumnClick = () => {
|
||||
|
@ -153,3 +153,7 @@
|
||||
background-color: @white;
|
||||
color: @text-color-secondary;
|
||||
}
|
||||
|
||||
.lineage-card .react-flow__edge.animated path {
|
||||
animation: none;
|
||||
}
|
||||
|
@ -22,6 +22,7 @@ import {
|
||||
getTagSuggestions,
|
||||
getUserSuggestions,
|
||||
} from 'rest/miscAPI';
|
||||
import { getTags } from 'rest/tagAPI';
|
||||
import {
|
||||
MISC_FIELDS,
|
||||
OWNER_QUICK_FILTER_DEFAULT_OPTIONS_KEY,
|
||||
@ -47,7 +48,12 @@ const ExploreQuickFilters: FC<ExploreQuickFiltersProps> = ({
|
||||
index: SearchIndex | SearchIndex[],
|
||||
key: string
|
||||
) => {
|
||||
const res = await getAdvancedFieldDefaultOptions(index, key);
|
||||
const [res, tierTags] = await Promise.all([
|
||||
getAdvancedFieldDefaultOptions(index, key),
|
||||
key === 'tier.tagFQN'
|
||||
? getTags({ parent: 'Tier' })
|
||||
: Promise.resolve(null),
|
||||
]);
|
||||
|
||||
const buckets = res.data.aggregations[`sterms#${key}`].buckets;
|
||||
|
||||
@ -57,7 +63,24 @@ const ExploreQuickFilters: FC<ExploreQuickFiltersProps> = ({
|
||||
count: option.doc_count ?? 0,
|
||||
}));
|
||||
|
||||
setOptions(uniqWith(optionsArray, isEqual));
|
||||
let options;
|
||||
if (key === 'tier.tagFQN' && tierTags) {
|
||||
options = tierTags.data.map((option) => {
|
||||
const bucketItem = buckets.find(
|
||||
(item) => item.key === option.fullyQualifiedName
|
||||
);
|
||||
|
||||
return {
|
||||
key: option.fullyQualifiedName ?? '',
|
||||
label: option.name,
|
||||
count: bucketItem?.doc_count ?? 0,
|
||||
};
|
||||
});
|
||||
} else {
|
||||
options = optionsArray;
|
||||
}
|
||||
|
||||
setOptions(uniqWith(options, isEqual));
|
||||
};
|
||||
|
||||
const getInitialOptions = async (key: string) => {
|
||||
|
@ -136,6 +136,7 @@ const GlossaryDetails = ({
|
||||
permissions.EditDescription || permissions.EditAll
|
||||
}
|
||||
isEdit={isDescriptionEditable}
|
||||
showCommentsIcon={false}
|
||||
onCancel={() => setIsDescriptionEditable(false)}
|
||||
onDescriptionEdit={() => setIsDescriptionEditable(true)}
|
||||
onDescriptionUpdate={onDescriptionUpdate}
|
||||
|
@ -112,6 +112,7 @@ const GlossaryOverviewTab = ({
|
||||
permissions.EditDescription || permissions.EditAll
|
||||
}
|
||||
isEdit={isDescriptionEditable}
|
||||
showCommentsIcon={false}
|
||||
onCancel={() => setIsDescriptionEditable(false)}
|
||||
onDescriptionEdit={() => setIsDescriptionEditable(true)}
|
||||
onDescriptionUpdate={onDescriptionUpdate}
|
||||
|
@ -65,7 +65,7 @@ const LeftSidebar = () => {
|
||||
to={{
|
||||
pathname: ROUTES.GLOSSARY,
|
||||
}}>
|
||||
<span className="left-panel-item d-flex flex-col items-center">
|
||||
<span className="left-panel-item p-y-xss">
|
||||
<GlossaryIcon className="m-0" width={30} />
|
||||
<Typography.Text className="left-panel-label">
|
||||
{t('label.glossary', { lng: 'en-US' })}
|
||||
@ -83,7 +83,7 @@ const LeftSidebar = () => {
|
||||
to={{
|
||||
pathname: ROUTES.TAGS,
|
||||
}}>
|
||||
<div className="left-panel-item d-flex flex-col items-center">
|
||||
<div className="left-panel-item p-y-xss">
|
||||
<ClassificationIcon className="m-0" width={30} />
|
||||
<Typography.Text className="left-panel-label">
|
||||
{t('label.classification', { lng: 'en-US' })}
|
||||
@ -100,18 +100,17 @@ const LeftSidebar = () => {
|
||||
return (
|
||||
<div className="d-flex flex-col justify-between h-full">
|
||||
<Row className="p-y-sm">
|
||||
<Col
|
||||
className={`left-panel-item p-md ${
|
||||
location.pathname.startsWith('/explore') ? 'active' : ''
|
||||
}`}
|
||||
span={24}>
|
||||
<Col span={24}>
|
||||
<NavLink
|
||||
className="no-underline"
|
||||
data-testid="appbar-item-explore"
|
||||
to={{
|
||||
pathname: '/explore/tables',
|
||||
}}>
|
||||
<div className=" d-flex flex-col items-center">
|
||||
<div
|
||||
className={`left-panel-item ${
|
||||
location.pathname.startsWith('/explore') ? 'active' : ''
|
||||
}`}>
|
||||
<ExploreIcon className="m-0" width={30} />
|
||||
<Typography.Text className="left-panel-label">
|
||||
{t('label.explore', { lng: 'en-US' })}
|
||||
@ -119,18 +118,17 @@ const LeftSidebar = () => {
|
||||
</div>
|
||||
</NavLink>
|
||||
</Col>
|
||||
<Col
|
||||
className={`left-panel-item p-md ${
|
||||
location.pathname.includes(ROUTES.DATA_QUALITY) ? 'active' : ''
|
||||
}`}
|
||||
span={24}>
|
||||
<Col span={24}>
|
||||
<NavLink
|
||||
className="no-underline"
|
||||
data-testid="appbar-item-data-quality"
|
||||
to={{
|
||||
pathname: ROUTES.DATA_QUALITY,
|
||||
}}>
|
||||
<div className="d-flex flex-col items-center">
|
||||
<div
|
||||
className={`left-panel-item ${
|
||||
location.pathname.includes(ROUTES.DATA_QUALITY) ? 'active' : ''
|
||||
}`}>
|
||||
<QualityIcon className="m-0" width={30} />
|
||||
<Typography.Text className="left-panel-label">
|
||||
{t('label.quality', { lng: 'en-US' })}
|
||||
@ -138,18 +136,17 @@ const LeftSidebar = () => {
|
||||
</div>
|
||||
</NavLink>
|
||||
</Col>
|
||||
<Col
|
||||
className={`left-panel-item p-md ${
|
||||
location.pathname.includes(ROUTES.DATA_INSIGHT) ? 'active' : ''
|
||||
}`}
|
||||
span={24}>
|
||||
<Col span={24}>
|
||||
<NavLink
|
||||
className="no-underline"
|
||||
data-testid="appbar-item-data-insight"
|
||||
to={{
|
||||
pathname: ROUTES.DATA_INSIGHT,
|
||||
}}>
|
||||
<div className="d-flex flex-col items-center">
|
||||
<div
|
||||
className={`left-panel-item ${
|
||||
location.pathname.includes(ROUTES.DATA_INSIGHT) ? 'active' : ''
|
||||
}`}>
|
||||
<InsightsIcon className="m-0" width={30} />
|
||||
<Typography.Text className="left-panel-label">
|
||||
{t('label.insight-plural', { lng: 'en-US' })}
|
||||
@ -166,18 +163,17 @@ const LeftSidebar = () => {
|
||||
/>
|
||||
</Row>
|
||||
<Row className="p-y-sm">
|
||||
<Col
|
||||
className={`left-panel-item p-md ${
|
||||
location.pathname.startsWith('/settings') ? 'active' : ''
|
||||
}`}
|
||||
span={24}>
|
||||
<Col span={24}>
|
||||
<NavLink
|
||||
className="no-underline"
|
||||
data-testid="appbar-item-settings"
|
||||
to={{
|
||||
pathname: ROUTES.SETTINGS,
|
||||
}}>
|
||||
<div className="d-flex flex-col items-center">
|
||||
<div
|
||||
className={`left-panel-item ${
|
||||
location.pathname.startsWith('/settings') ? 'active' : ''
|
||||
}`}>
|
||||
<SettingsIcon className="m-0" width={30} />
|
||||
<Typography.Text className="left-panel-label">
|
||||
{t('label.setting-plural', { lng: 'en-US' })}
|
||||
@ -185,9 +181,9 @@ const LeftSidebar = () => {
|
||||
</div>
|
||||
</NavLink>
|
||||
</Col>
|
||||
<Col className="left-panel-item p-md" span={24}>
|
||||
<Col span={24}>
|
||||
<div
|
||||
className="d-flex flex-col items-center cursor-pointer"
|
||||
className="left-panel-item cursor-pointer"
|
||||
data-testid="appbar-item-logout"
|
||||
onClick={() => onLogoutHandler()}>
|
||||
<LogoutIcon className="m-0" width={30} />
|
||||
|
@ -41,7 +41,7 @@
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
padding: 16px;
|
||||
padding: 16px 8px;
|
||||
}
|
||||
}
|
||||
.page-layout-leftpanel {
|
||||
@ -57,6 +57,10 @@
|
||||
svg {
|
||||
color: @text-grey-muted;
|
||||
}
|
||||
padding: 16px 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.left-panel-item.active,
|
||||
@ -77,6 +81,7 @@
|
||||
.ant-menu-item {
|
||||
height: auto !important;
|
||||
padding: 8px 0 0 !important;
|
||||
margin: 0;
|
||||
}
|
||||
.ant-menu-item:hover,
|
||||
.ant-menu-item-selected {
|
||||
@ -91,6 +96,9 @@
|
||||
}
|
||||
.ant-menu-vertical {
|
||||
min-width: 100px !important;
|
||||
.ant-menu-item {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -120,7 +120,7 @@ const MyDataWidgetInternal = () => {
|
||||
</div>
|
||||
);
|
||||
})
|
||||
: t('server.no-owned-entities')}
|
||||
: t('message.no-owned-data')}
|
||||
</div>
|
||||
</>
|
||||
</EntityListSkeleton>
|
||||
|
@ -52,7 +52,10 @@ const FeedsWidget = () => {
|
||||
} else if (activeTab === 'tasks') {
|
||||
getFeedData(FeedFilter.OWNER, undefined, ThreadType.Task)
|
||||
.then((data) => {
|
||||
setTaskCount(data.length);
|
||||
const openTasks = data.filter(
|
||||
(item) => item.task?.status === ThreadTaskStatus.Open
|
||||
);
|
||||
setTaskCount(openTasks.length);
|
||||
})
|
||||
.catch(() => {
|
||||
// ignore since error is displayed in toast in the parent promise.
|
||||
@ -100,6 +103,7 @@ const FeedsWidget = () => {
|
||||
key: 'all',
|
||||
children: (
|
||||
<ActivityFeedListV1
|
||||
emptyPlaceholderText={t('message.no-activity-feed')}
|
||||
feedList={isTourOpen ? mockFeedData : threads}
|
||||
hidePopover={false}
|
||||
isLoading={loading && !isTourOpen}
|
||||
@ -112,6 +116,7 @@ const FeedsWidget = () => {
|
||||
key: 'mentions',
|
||||
children: (
|
||||
<ActivityFeedListV1
|
||||
emptyPlaceholderText={t('message.no-mentions')}
|
||||
feedList={threads}
|
||||
hidePopover={false}
|
||||
isLoading={loading}
|
||||
@ -129,6 +134,7 @@ const FeedsWidget = () => {
|
||||
key: 'tasks',
|
||||
children: (
|
||||
<ActivityFeedListV1
|
||||
emptyPlaceholderText={t('message.no-tasks-assigned')}
|
||||
feedList={threads}
|
||||
hidePopover={false}
|
||||
isLoading={loading}
|
||||
|
@ -24,6 +24,9 @@
|
||||
height: 515px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.feed-list-container {
|
||||
height: 515px;
|
||||
}
|
||||
.ant-tabs-content:hover {
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
@ -54,6 +54,7 @@ interface Props {
|
||||
onEntityFieldSelect?: (value: string) => void;
|
||||
wrapInCard?: boolean;
|
||||
isVersionView?: boolean;
|
||||
showCommentsIcon?: boolean;
|
||||
}
|
||||
const DescriptionV1 = ({
|
||||
hasEditAccess,
|
||||
@ -71,6 +72,7 @@ const DescriptionV1 = ({
|
||||
entityFqn,
|
||||
wrapInCard = false,
|
||||
isVersionView,
|
||||
showCommentsIcon = true,
|
||||
}: Props) => {
|
||||
const descriptionThread = entityFieldThreads?.[0];
|
||||
const history = useHistory();
|
||||
@ -89,7 +91,7 @@ const DescriptionV1 = ({
|
||||
|
||||
const editButton = () => {
|
||||
const isDescriptionThread = !isUndefined(descriptionThread);
|
||||
const extraIcons = (
|
||||
const extraIcons = showCommentsIcon && (
|
||||
<Icon
|
||||
component={CommentIcon}
|
||||
data-testid={
|
||||
|
@ -11,7 +11,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import React, { useMemo } from 'react';
|
||||
import React from 'react';
|
||||
import { ERROR_PLACEHOLDER_TYPE, SIZE } from '../../../enums/common.enum';
|
||||
|
||||
import AssignErrorPlaceHolder from './AssignErrorPlaceHolder';
|
||||
@ -33,7 +33,7 @@ const ErrorPlaceHolder = ({
|
||||
button,
|
||||
permission,
|
||||
}: ErrorPlaceholderProps) => {
|
||||
const errorPlaceHolder = useMemo(() => {
|
||||
const getErrorPlaceHolder = () => {
|
||||
switch (type) {
|
||||
case ERROR_PLACEHOLDER_TYPE.CREATE:
|
||||
return (
|
||||
@ -81,9 +81,9 @@ const ErrorPlaceHolder = ({
|
||||
</NoDataPlaceholder>
|
||||
);
|
||||
}
|
||||
}, [type]);
|
||||
};
|
||||
|
||||
return errorPlaceHolder;
|
||||
return getErrorPlaceHolder();
|
||||
};
|
||||
|
||||
export default ErrorPlaceHolder;
|
||||
|
@ -61,7 +61,7 @@ const TitleBreadcrumb: FunctionComponent<TitleBreadcrumbProps> = ({
|
||||
return (
|
||||
<TitleBreadcrumbSkeleton titleLinks={titleLinks}>
|
||||
<nav className={className} data-testid="breadcrumb">
|
||||
<ol className="rounded-4 d-flex">
|
||||
<ol className="rounded-4 d-flex flex-wrap">
|
||||
{titleLinks.map((link, index) => {
|
||||
const classes =
|
||||
'link-title tw-truncate' +
|
||||
|
@ -1229,6 +1229,7 @@
|
||||
"new-conversation": "You are starting a new conversation",
|
||||
"new-to-the-platform": "New to the platform?",
|
||||
"no-access-placeholder": "You don’t have access, please check with the admin to get permissions",
|
||||
"no-activity-feed": "No activity has been discovered within the data assets you own or the ones you are currently following",
|
||||
"no-announcement-message": "No Announcements, Click on add announcement to add one.",
|
||||
"no-asset-available": "No assets available.",
|
||||
"no-closed-task": "No Closed Tasks",
|
||||
@ -1250,8 +1251,10 @@
|
||||
"no-kpi-available-add-new-one": "No KPIs are available. Click on the Add KPI button to add one.",
|
||||
"no-kpi-found": "No KPI found with name {{name}}",
|
||||
"no-match-found": "No match found",
|
||||
"no-mentions": "There are no instances where you or your team have been referenced in any activities",
|
||||
"no-notification-found": "No notifications found",
|
||||
"no-open-task": "No Open Tasks",
|
||||
"no-owned-data": "It appears that you or your team do not have any Data Assets under your ownership. To rectify this, kindly click on the \"Explore\" option to uncover and take ownership of available data assets.",
|
||||
"no-permission-for-action": "You do not have the necessary permissions to perform this action.",
|
||||
"no-permission-to-view": "You do not have the necessary permissions to view this data.",
|
||||
"no-profiler-enabled-summary-message": "Profiler is not enabled for this table.",
|
||||
@ -1265,6 +1268,7 @@
|
||||
"no-selected-dbt": "No source selected for dbt Configuration.",
|
||||
"no-service-connection-details-message": "{{serviceName}} doesn't have connection details filled in. Please add the details before scheduling an ingestion job.",
|
||||
"no-synonyms-available": "No synonyms available.",
|
||||
"no-tasks-assigned": "You don't have any pending tasks assigned to you at the moment",
|
||||
"no-team-found": "No team found.",
|
||||
"no-terms-found": "No terms found",
|
||||
"no-terms-found-for-search-text": "No terms found for {{searchText}}",
|
||||
|
@ -1229,6 +1229,7 @@
|
||||
"new-conversation": "Estás iniciando una nueva conversación",
|
||||
"new-to-the-platform": "¿Nuevo en la plataforma?",
|
||||
"no-access-placeholder": "You don’t have access, please check with the admin to get permissions",
|
||||
"no-activity-feed": "No activity has been discovered within the data assets you own or the ones you are currently following",
|
||||
"no-announcement-message": "No hay anuncios. Haz clic en agregar anuncio para agregar uno.",
|
||||
"no-asset-available": "No hay activos disponibles.",
|
||||
"no-closed-task": "No hay tareas cerradas",
|
||||
@ -1250,8 +1251,10 @@
|
||||
"no-kpi-available-add-new-one": "No hay KPIs disponibles. Haz clic en el botón Agregar KPI para agregar uno.",
|
||||
"no-kpi-found": "No se encontró KPI con el nombre {{name}}",
|
||||
"no-match-found": "No se encontraron coincidencias",
|
||||
"no-mentions": "There are no instances where you or your team have been referenced in any activities",
|
||||
"no-notification-found": "No se encontraron notificaciones",
|
||||
"no-open-task": "No hay tareas abiertas",
|
||||
"no-owned-data": "It appears that you or your team do not have any Data Assets under your ownership. To rectify this, kindly click on the \"Explore\" option to uncover and take ownership of available data assets.",
|
||||
"no-permission-for-action": "No tiene los permisos necesarios para realizar esta acción.",
|
||||
"no-permission-to-view": "No tiene los permisos necesarios para ver estos datos.",
|
||||
"no-profiler-enabled-summary-message": "El profiler no está habilitado para esta tabla.",
|
||||
@ -1265,6 +1268,7 @@
|
||||
"no-selected-dbt": "No se ha seleccionado una fuente para la configuración de dbt.",
|
||||
"no-service-connection-details-message": "{{serviceName}} no tiene los detalles de conexión completados. Por favor añada los detalles antes de programar un workflow de ingesta.",
|
||||
"no-synonyms-available": "No hay sinónimos disponibles.",
|
||||
"no-tasks-assigned": "You don't have any pending tasks assigned to you at the moment",
|
||||
"no-team-found": "No se encontró ningún equipo.",
|
||||
"no-terms-found": "No se encontraron términos",
|
||||
"no-terms-found-for-search-text": "No se encontraron términos para {{searchText}}",
|
||||
|
@ -1229,6 +1229,7 @@
|
||||
"new-conversation": "Vous commencez une nouvelle conversation",
|
||||
"new-to-the-platform": "Nouveau sur la platform?",
|
||||
"no-access-placeholder": "Vous n’avez pas accès, veuillez vérifier auprès de l’administrateur pour obtenir les autorisations",
|
||||
"no-activity-feed": "No activity has been discovered within the data assets you own or the ones you are currently following",
|
||||
"no-announcement-message": "Aucune annonce, cliquez sur ajouter une annonce pour en ajouter une.",
|
||||
"no-asset-available": "Aucun actif disponible",
|
||||
"no-closed-task": "Aucune tâche à faire",
|
||||
@ -1250,8 +1251,10 @@
|
||||
"no-kpi-available-add-new-one": "Auncun KPI est disponible, ajouter un KPI en cliquant sur \"Add KPI button\".",
|
||||
"no-kpi-found": "Aucun KPI trouvé avec le nom {{name}}",
|
||||
"no-match-found": "Aucun résultat trouvé",
|
||||
"no-mentions": "There are no instances where you or your team have been referenced in any activities",
|
||||
"no-notification-found": "Aucune notifiaction trouvé",
|
||||
"no-open-task": "Aucune tâche ouverte",
|
||||
"no-owned-data": "It appears that you or your team do not have any Data Assets under your ownership. To rectify this, kindly click on the \"Explore\" option to uncover and take ownership of available data assets.",
|
||||
"no-permission-for-action": "Vous n'avez pas les permissions requises pour effectuer cette action.",
|
||||
"no-permission-to-view": "Vous n'avez pas les permissions requises pour voir ces données.",
|
||||
"no-profiler-enabled-summary-message": "Profilage n'est pas activé pour cette table.",
|
||||
@ -1265,6 +1268,7 @@
|
||||
"no-selected-dbt": "Aucune source sélectionnée pour la configuration dbt.",
|
||||
"no-service-connection-details-message": "{{serviceName}} n'a pas les détails de connections remplis. Merci d'ajouter les détails de connections avant de programmer une ingestion.",
|
||||
"no-synonyms-available": "Aucun synonyme n'est disponible.",
|
||||
"no-tasks-assigned": "You don't have any pending tasks assigned to you at the moment",
|
||||
"no-team-found": "Aucune équipe trouvée.",
|
||||
"no-terms-found": "Aucun terme trouvé",
|
||||
"no-terms-found-for-search-text": "Aucun terme trouvé pour {{searchText}}",
|
||||
|
@ -1229,6 +1229,7 @@
|
||||
"new-conversation": "新しく会話を始める",
|
||||
"new-to-the-platform": "新規利用者の場合",
|
||||
"no-access-placeholder": "You don’t have access, please check with the admin to get permissions",
|
||||
"no-activity-feed": "No activity has been discovered within the data assets you own or the ones you are currently following",
|
||||
"no-announcement-message": "お知らせはありません。「お知らせを追加」で追加してください。",
|
||||
"no-asset-available": "アセットはありません。",
|
||||
"no-closed-task": "終了したタスクはありません",
|
||||
@ -1250,8 +1251,10 @@
|
||||
"no-kpi-available-add-new-one": "No KPIs are available. Click on the Add KPI button to add one.",
|
||||
"no-kpi-found": "No KPI found with name {{name}}",
|
||||
"no-match-found": "一致するものはありませんでした",
|
||||
"no-mentions": "There are no instances where you or your team have been referenced in any activities",
|
||||
"no-notification-found": "No notifications found",
|
||||
"no-open-task": "開いているタスクはありません",
|
||||
"no-owned-data": "It appears that you or your team do not have any Data Assets under your ownership. To rectify this, kindly click on the \"Explore\" option to uncover and take ownership of available data assets.",
|
||||
"no-permission-for-action": "あなたはこのアクションを実行する権限を持っていません。",
|
||||
"no-permission-to-view": "あなたはこのデータを閲覧する権限を持っていません。",
|
||||
"no-profiler-enabled-summary-message": "Profiler is not enabled for this table.",
|
||||
@ -1265,6 +1268,7 @@
|
||||
"no-selected-dbt": "No source selected for dbt Configuration.",
|
||||
"no-service-connection-details-message": "{{serviceName}} doesn't have connection details filled in. Please add the details before scheduling an ingestion job.",
|
||||
"no-synonyms-available": "No synonyms available.",
|
||||
"no-tasks-assigned": "You don't have any pending tasks assigned to you at the moment",
|
||||
"no-team-found": "チームが見つかりません。",
|
||||
"no-terms-found": "用語が見つかりません",
|
||||
"no-terms-found-for-search-text": "No terms found for {{searchText}}",
|
||||
|
@ -1229,6 +1229,7 @@
|
||||
"new-conversation": "Você está iniciando uma nova conversa",
|
||||
"new-to-the-platform": "Novo na plataforma?",
|
||||
"no-access-placeholder": "You don’t have access, please check with the admin to get permissions",
|
||||
"no-activity-feed": "No activity has been discovered within the data assets you own or the ones you are currently following",
|
||||
"no-announcement-message": "Nenhum anúncio. Clique em adicionar anúncio para adicionar um.",
|
||||
"no-asset-available": "Nenhum ativo disponível.",
|
||||
"no-closed-task": "Nenhuma tarefa concluída",
|
||||
@ -1250,8 +1251,10 @@
|
||||
"no-kpi-available-add-new-one": "Não há KPIs disponíveis. Clique no botão Adicionar KPI para adicionar um.",
|
||||
"no-kpi-found": "Nenhum KPI encontrado com o nome {{name}}",
|
||||
"no-match-found": "Nenhuma correspondência encontrada",
|
||||
"no-mentions": "There are no instances where you or your team have been referenced in any activities",
|
||||
"no-notification-found": "Nenhuma notificação encontrada",
|
||||
"no-open-task": "Nenhuma tarefa aberta",
|
||||
"no-owned-data": "It appears that you or your team do not have any Data Assets under your ownership. To rectify this, kindly click on the \"Explore\" option to uncover and take ownership of available data assets.",
|
||||
"no-permission-for-action": "Você não tem as permissões necessárias para executar esta ação.",
|
||||
"no-permission-to-view": "Você não tem as permissões necessárias para visualizar estes dados.",
|
||||
"no-profiler-enabled-summary-message": "Profiler não está habilitado para esta tabela.",
|
||||
@ -1265,6 +1268,7 @@
|
||||
"no-selected-dbt": "Nenhuma fonte selecionada para a configuração do dbt.",
|
||||
"no-service-connection-details-message": "{{serviceName}} não possui detalhes de conexão preenchidos. Por favor adicione os detalhes antes de agendar um trabalho de ingestão.",
|
||||
"no-synonyms-available": "Nenhum sinônimo disponível.",
|
||||
"no-tasks-assigned": "You don't have any pending tasks assigned to you at the moment",
|
||||
"no-team-found": "Nenhum time encontrado.",
|
||||
"no-terms-found": "Nenhum termo encontrado",
|
||||
"no-terms-found-for-search-text": "Nenhum termo encontrado para {{searchText}}",
|
||||
|
@ -1229,6 +1229,7 @@
|
||||
"new-conversation": "您正在开始一次新的对话",
|
||||
"new-to-the-platform": "您是平台新用户?",
|
||||
"no-access-placeholder": "您还没有权限访问,请联系系统管理员",
|
||||
"no-activity-feed": "No activity has been discovered within the data assets you own or the ones you are currently following",
|
||||
"no-announcement-message": "没有公告,请单击添加公告以新增一个",
|
||||
"no-asset-available": "没有可用的资产",
|
||||
"no-closed-task": "没有关闭的任务",
|
||||
@ -1250,8 +1251,10 @@
|
||||
"no-kpi-available-add-new-one": "没有可用的 KPI,请单击添加 KPI 按钮添加一个",
|
||||
"no-kpi-found": "未找到名称为{{name}}的 KPI",
|
||||
"no-match-found": "未找到匹配项",
|
||||
"no-mentions": "There are no instances where you or your team have been referenced in any activities",
|
||||
"no-notification-found": "未找到通知",
|
||||
"no-open-task": "无未完成任务",
|
||||
"no-owned-data": "It appears that you or your team do not have any Data Assets under your ownership. To rectify this, kindly click on the \"Explore\" option to uncover and take ownership of available data assets.",
|
||||
"no-permission-for-action": "您没有执行此操作所需的必要权限",
|
||||
"no-permission-to-view": "您没有查看此数据所需的必要权限",
|
||||
"no-profiler-enabled-summary-message": "该数据表未启用数据分析工具",
|
||||
@ -1265,6 +1268,7 @@
|
||||
"no-selected-dbt": "未为 DBT 配置选择源",
|
||||
"no-service-connection-details-message": "{{serviceName}}没有填写连接详细信息,请在安排提取作业之前添加详细信息",
|
||||
"no-synonyms-available": "无可用同义词",
|
||||
"no-tasks-assigned": "You don't have any pending tasks assigned to you at the moment",
|
||||
"no-team-found": "未找到团队",
|
||||
"no-terms-found": "未找到术语",
|
||||
"no-terms-found-for-search-text": "未找到{{searchText}}的术语",
|
||||
|
@ -31,7 +31,3 @@
|
||||
.ant-drawer-header {
|
||||
border-bottom: none;
|
||||
}
|
||||
.ant-drawer-right > .ant-drawer-content-wrapper {
|
||||
box-shadow: none;
|
||||
border: @global-border;
|
||||
}
|
||||
|
@ -41,7 +41,7 @@
|
||||
}
|
||||
|
||||
.expand-cell-empty-icon-container {
|
||||
width: 16px;
|
||||
width: 18px;
|
||||
height: 16px;
|
||||
display: inline-flex;
|
||||
}
|
||||
|
@ -1148,7 +1148,7 @@ div.ant-typography-ellipsis-custom {
|
||||
|
||||
.ant-dropdown-menu-item-selected {
|
||||
color: #0968da;
|
||||
background-color: #7147e825;
|
||||
background-color: #e6f4ff;
|
||||
}
|
||||
|
||||
.table-query-editor pre.CodeMirror-line {
|
||||
|
Loading…
x
Reference in New Issue
Block a user