Skip to content

Commit 99fe0b5

Browse files
authored
nested domain analytics (datahub-project#1743)
2 parents 1ac8a76 + 396b6ac commit 99fe0b5

File tree

6 files changed

+31
-7
lines changed

6 files changed

+31
-7
lines changed

datahub-web-react/src/app/analytics/event.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ export enum EventType {
5555
ShowStandardHomepageEvent,
5656
CreateGlossaryEntityEvent,
5757
CreateDomainEvent,
58+
MoveDomainEvent,
5859
CreateIngestionSourceEvent,
5960
UpdateIngestionSourceEvent,
6061
DeleteIngestionSourceEvent,
@@ -454,6 +455,13 @@ export interface CreateGlossaryEntityEvent extends BaseEvent {
454455

455456
export interface CreateDomainEvent extends BaseEvent {
456457
type: EventType.CreateDomainEvent;
458+
parentDomainUrn?: string;
459+
}
460+
461+
export interface MoveDomainEvent extends BaseEvent {
462+
type: EventType.MoveDomainEvent;
463+
oldParentDomainUrn?: string;
464+
parentDomainUrn?: string;
457465
}
458466

459467
// Managed Ingestion Events
@@ -653,6 +661,7 @@ export type Event =
653661
| ShowStandardHomepageEvent
654662
| CreateGlossaryEntityEvent
655663
| CreateDomainEvent
664+
| MoveDomainEvent
656665
| CreateIngestionSourceEvent
657666
| UpdateIngestionSourceEvent
658667
| DeleteIngestionSourceEvent

datahub-web-react/src/app/domain/CreateDomainModal.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ export default function CreateDomainModal({ onClose, onCreate }: Props) {
5757
if (!errors) {
5858
analytics.event({
5959
type: EventType.CreateDomainEvent,
60+
parentDomainUrn: selectedParentUrn || undefined,
6061
});
6162
message.success({
6263
content: `Created domain!`,

datahub-web-react/src/app/domain/DomainSearch.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@ function DomainSearch() {
8080
setQuery(q);
8181
}, 250);
8282
};
83-
console.log({ data });
8483

8584
return (
8685
<DomainSearchWrapper>

datahub-web-react/src/app/entity/shared/EntityDropdown/MoveDomainModal.tsx

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
import React, { useState } from 'react';
22
import styled from 'styled-components/macro';
33
import { message, Button, Modal, Typography, Form } from 'antd';
4-
import { useEntityData, useRefetch } from '../EntityContext';
4+
import { useRefetch } from '../EntityContext';
55
import { useEntityRegistry } from '../../../useEntityRegistry';
66
import { useMoveDomainMutation } from '../../../../graphql/domain.generated';
77
import DomainParentSelect from './DomainParentSelect';
88
import { useHandleMoveDomainComplete } from './useHandleMoveDomainComplete';
9+
import { useDomainsContext } from '../../../domain/DomainsContext';
10+
import { EntityType } from '../../../../types.generated';
911

1012
const StyledItem = styled(Form.Item)`
1113
margin-bottom: 0;
@@ -21,7 +23,8 @@ interface Props {
2123

2224
function MoveDomainModal(props: Props) {
2325
const { onClose } = props;
24-
const { urn: entityDataUrn, entityType } = useEntityData();
26+
const { entityData } = useDomainsContext();
27+
const domainUrn = entityData?.urn;
2528
const [form] = Form.useForm();
2629
const entityRegistry = useEntityRegistry();
2730
const [selectedParentUrn, setSelectedParentUrn] = useState('');
@@ -32,21 +35,23 @@ function MoveDomainModal(props: Props) {
3235
const { handleMoveDomainComplete } = useHandleMoveDomainComplete();
3336

3437
function moveDomain() {
38+
if (!domainUrn) return;
39+
3540
moveDomainMutation({
3641
variables: {
3742
input: {
38-
resourceUrn: entityDataUrn,
39-
parentDomain: selectedParentUrn || null,
43+
resourceUrn: domainUrn,
44+
parentDomain: selectedParentUrn || undefined,
4045
},
4146
},
4247
})
4348
.then(() => {
4449
message.loading({ content: 'Updating...', duration: 2 });
4550
const newParentToUpdate = selectedParentUrn || undefined;
46-
handleMoveDomainComplete(entityDataUrn, newParentToUpdate);
51+
handleMoveDomainComplete(domainUrn, newParentToUpdate);
4752
setTimeout(() => {
4853
message.success({
49-
content: `Moved ${entityRegistry.getEntityName(entityType)}!`,
54+
content: `Moved ${entityRegistry.getEntityName(EntityType.Domain)}!`,
5055
duration: 2,
5156
});
5257
refetch();

datahub-web-react/src/app/entity/shared/EntityDropdown/useHandleMoveDomainComplete.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ import { useApolloClient } from '@apollo/client';
22
import { removeFromListDomainsCache, updateListDomainsCache } from '../../../domain/utils';
33
import { useDomainsContext } from '../../../domain/DomainsContext';
44
import { Domain } from '../../../../types.generated';
5+
import analytics from '../../../analytics/analytics';
6+
import { EventType } from '../../../analytics';
57

68
export function useHandleMoveDomainComplete() {
79
const client = useApolloClient();
@@ -12,6 +14,13 @@ export function useHandleMoveDomainComplete() {
1214

1315
const domain = entityData as Domain;
1416
const oldParentUrn = domain.parentDomains?.domains.length ? domain.parentDomains.domains[0].urn : undefined;
17+
18+
analytics.event({
19+
type: EventType.MoveDomainEvent,
20+
oldParentDomainUrn: oldParentUrn,
21+
parentDomainUrn: newParentUrn,
22+
});
23+
1524
removeFromListDomainsCache(client, urn, 1, 1000, oldParentUrn);
1625
updateListDomainsCache(
1726
client,

metadata-service/services/src/main/java/com/linkedin/metadata/datahubusage/DataHubUsageEventType.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ public enum DataHubUsageEventType {
5353
SHOW_STANDARD_HOME_PAGE_EVENT("ShowStandardHomepageEvent"),
5454
CREATE_GLOSSARY_ENTITY_EVENT("CreateGlossaryEntityEvent"),
5555
CREATE_DOMAIN_EVENT("CreateDomainEvent"),
56+
MOVE_DOMAIN_EVENT("MoveDomainEvent"),
5657
CREATE_INGESTION_SOURCE_EVENT("CreateIngestionSourceEvent"),
5758
UPDATE_INGESTION_SOURCE_EVENT("UpdateIngestionSourceEvent"),
5859
DELETE_INGESTION_SOURCE_EVENT("DeleteIngestionSourceEvent"),

0 commit comments

Comments
 (0)