@bcgov/plugin-catalog-dataset 0.1.0 → 0.2.5-feature.aps-4105-connect-pipelines.cbf325cb
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CatalogDataset/AboutDatasetCard.esm.js +24 -0
- package/dist/components/CatalogDataset/AboutDatasetCard.esm.js.map +1 -0
- package/dist/components/CatalogDataset/AccessMethodsCard.esm.js +72 -0
- package/dist/components/CatalogDataset/AccessMethodsCard.esm.js.map +1 -0
- package/dist/components/CatalogDataset/AuthoritativeDesignationCard.esm.js +30 -0
- package/dist/components/CatalogDataset/AuthoritativeDesignationCard.esm.js.map +1 -0
- package/dist/components/CatalogDataset/CatalogDatasetPage.esm.js +121 -0
- package/dist/components/CatalogDataset/CatalogDatasetPage.esm.js.map +1 -0
- package/dist/components/CatalogDataset/DatasetApisDialog.esm.js +141 -0
- package/dist/components/CatalogDataset/DatasetApisDialog.esm.js.map +1 -0
- package/dist/components/CatalogDataset/FieldsAndDefinitionCard.esm.js +23 -0
- package/dist/components/CatalogDataset/FieldsAndDefinitionCard.esm.js.map +1 -0
- package/dist/components/CatalogDataset/LineageAndQualityCard.esm.js +52 -0
- package/dist/components/CatalogDataset/LineageAndQualityCard.esm.js.map +1 -0
- package/dist/components/CatalogDataset/MainCard.esm.js +131 -0
- package/dist/components/CatalogDataset/MainCard.esm.js.map +1 -0
- package/dist/components/CatalogDataset/RelatedResourcesCard.esm.js +33 -0
- package/dist/components/CatalogDataset/RelatedResourcesCard.esm.js.map +1 -0
- package/dist/components/CatalogDataset/SchemaCard.esm.js +164 -0
- package/dist/components/CatalogDataset/SchemaCard.esm.js.map +1 -0
- package/dist/components/CatalogDataset/SupportCard.esm.js +86 -0
- package/dist/components/CatalogDataset/SupportCard.esm.js.map +1 -0
- package/dist/components/CatalogDataset/VersioningAndChangeGovernanceCard.esm.js +57 -0
- package/dist/components/CatalogDataset/VersioningAndChangeGovernanceCard.esm.js.map +1 -0
- package/dist/components/CatalogDataset/index.esm.js +2 -0
- package/dist/components/CatalogDataset/index.esm.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.esm.js +2 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/plugin.esm.js +19 -0
- package/dist/plugin.esm.js.map +1 -0
- package/dist/routes.esm.js +8 -0
- package/dist/routes.esm.js.map +1 -0
- package/package.json +17 -4
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { Card, CardContent, Typography, Link, Grid, Button } from '@material-ui/core';
|
|
3
|
+
import { EntityRefLink } from '@backstage/plugin-catalog-react';
|
|
4
|
+
import { MarkdownContent } from '@backstage/core-components';
|
|
5
|
+
|
|
6
|
+
const MainCard = ({
|
|
7
|
+
entity,
|
|
8
|
+
spec,
|
|
9
|
+
ownerLabel,
|
|
10
|
+
onViewApis
|
|
11
|
+
}) => {
|
|
12
|
+
return /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsxs(CardContent, { children: [
|
|
13
|
+
/* @__PURE__ */ jsx(MarkdownContent, { content: spec.description ?? "" }),
|
|
14
|
+
entity.metadata.tags?.length ? /* @__PURE__ */ jsx("div", { children: entity.metadata.tags.map((tag) => /* @__PURE__ */ jsx(
|
|
15
|
+
"span",
|
|
16
|
+
{
|
|
17
|
+
style: {
|
|
18
|
+
display: "inline-block",
|
|
19
|
+
marginRight: 6,
|
|
20
|
+
marginBottom: 6,
|
|
21
|
+
padding: "2px 8px",
|
|
22
|
+
borderRadius: 12,
|
|
23
|
+
backgroundColor: "#eee",
|
|
24
|
+
fontSize: "0.75rem"
|
|
25
|
+
},
|
|
26
|
+
children: tag
|
|
27
|
+
},
|
|
28
|
+
tag
|
|
29
|
+
)) }) : null,
|
|
30
|
+
/* @__PURE__ */ jsxs("div", { style: { marginTop: 12 }, children: [
|
|
31
|
+
/* @__PURE__ */ jsx(Typography, { variant: "subtitle2", style: { fontWeight: 600 }, children: "Part of Connected Services" }),
|
|
32
|
+
/* @__PURE__ */ jsx(MarkdownContent, { content: spec.connectedServicesDescription ?? "\u2014" })
|
|
33
|
+
] }),
|
|
34
|
+
/* @__PURE__ */ jsxs("div", { style: { marginTop: 12 }, children: [
|
|
35
|
+
/* @__PURE__ */ jsx(Typography, { variant: "body2", children: "Learn more:" }),
|
|
36
|
+
entity.metadata.links?.length ? /* @__PURE__ */ jsx("ul", { style: { marginTop: 4, paddingLeft: 20 }, children: entity.metadata.links.map((link) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
37
|
+
Link,
|
|
38
|
+
{
|
|
39
|
+
href: link.url,
|
|
40
|
+
target: "_blank",
|
|
41
|
+
rel: "noopener noreferrer",
|
|
42
|
+
children: link.title || "More Info"
|
|
43
|
+
}
|
|
44
|
+
) }, link.url)) }) : /* @__PURE__ */ jsx(Typography, { variant: "body2", children: "\u2014" })
|
|
45
|
+
] }),
|
|
46
|
+
/* @__PURE__ */ jsxs(Grid, { container: true, spacing: 2, style: { marginTop: 12 }, children: [
|
|
47
|
+
/* @__PURE__ */ jsxs(Grid, { item: true, xs: 12, md: 6, children: [
|
|
48
|
+
/* @__PURE__ */ jsxs(Typography, { variant: "body2", children: [
|
|
49
|
+
"Type: ",
|
|
50
|
+
/* @__PURE__ */ jsx("strong", { children: spec.type ?? "\u2014" })
|
|
51
|
+
] }),
|
|
52
|
+
/* @__PURE__ */ jsxs(Typography, { variant: "body2", children: [
|
|
53
|
+
"Custodian:",
|
|
54
|
+
" ",
|
|
55
|
+
spec.owner ? /* @__PURE__ */ jsx("strong", { children: /* @__PURE__ */ jsx(EntityRefLink, { entityRef: spec.owner, title: ownerLabel }) }) : /* @__PURE__ */ jsx("strong", { children: "\u2014" })
|
|
56
|
+
] }),
|
|
57
|
+
/* @__PURE__ */ jsxs(Typography, { variant: "body2", children: [
|
|
58
|
+
"Status: ",
|
|
59
|
+
/* @__PURE__ */ jsx("strong", { children: spec.status ?? "\u2014" })
|
|
60
|
+
] }),
|
|
61
|
+
/* @__PURE__ */ jsxs(Typography, { variant: "body2", children: [
|
|
62
|
+
"Security Classification: ",
|
|
63
|
+
/* @__PURE__ */ jsx("strong", { children: spec.securityClassification ?? "\u2014" })
|
|
64
|
+
] }),
|
|
65
|
+
/* @__PURE__ */ jsxs(Typography, { variant: "body2", children: [
|
|
66
|
+
"Data quality Score: ",
|
|
67
|
+
/* @__PURE__ */ jsx("strong", { children: spec.quality?.score ?? "\u2014" })
|
|
68
|
+
] }),
|
|
69
|
+
/* @__PURE__ */ jsxs(Typography, { variant: "body2", children: [
|
|
70
|
+
"Update frequency: ",
|
|
71
|
+
/* @__PURE__ */ jsx("strong", { children: spec.updateFrequency ?? "\u2014" })
|
|
72
|
+
] }),
|
|
73
|
+
/* @__PURE__ */ jsxs(Typography, { variant: "body2", children: [
|
|
74
|
+
"Retention: ",
|
|
75
|
+
/* @__PURE__ */ jsx("strong", { children: spec.governance?.retention ?? "\u2014" })
|
|
76
|
+
] })
|
|
77
|
+
] }),
|
|
78
|
+
/* @__PURE__ */ jsxs(Grid, { item: true, xs: 12, md: 6, children: [
|
|
79
|
+
/* @__PURE__ */ jsx(
|
|
80
|
+
Button,
|
|
81
|
+
{
|
|
82
|
+
variant: "outlined",
|
|
83
|
+
size: "small",
|
|
84
|
+
onClick: onViewApis,
|
|
85
|
+
children: "View APIs"
|
|
86
|
+
}
|
|
87
|
+
),
|
|
88
|
+
/* @__PURE__ */ jsx(Typography, { variant: "body2", children: /* @__PURE__ */ jsx("strong", { children: "Technical documentation" }) }),
|
|
89
|
+
/* @__PURE__ */ jsxs("ul", { style: { marginTop: 4, paddingLeft: 20 }, children: [
|
|
90
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
91
|
+
Link,
|
|
92
|
+
{
|
|
93
|
+
href: "https://www.notimplemented.net/",
|
|
94
|
+
target: "_blank",
|
|
95
|
+
rel: "noopener noreferrer",
|
|
96
|
+
children: "View data dictionary"
|
|
97
|
+
}
|
|
98
|
+
) }),
|
|
99
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
100
|
+
Link,
|
|
101
|
+
{
|
|
102
|
+
href: "https://www.notimplemented.net/",
|
|
103
|
+
target: "_blank",
|
|
104
|
+
children: "Download schema"
|
|
105
|
+
}
|
|
106
|
+
) })
|
|
107
|
+
] }),
|
|
108
|
+
/* @__PURE__ */ jsx(
|
|
109
|
+
Typography,
|
|
110
|
+
{
|
|
111
|
+
variant: "body2",
|
|
112
|
+
style: { letterSpacing: "4px", fontWeight: "bold" },
|
|
113
|
+
children: "--------------------"
|
|
114
|
+
}
|
|
115
|
+
),
|
|
116
|
+
/* @__PURE__ */ jsx(Typography, { variant: "body2", children: /* @__PURE__ */ jsx("strong", { children: "Need help?:" }) }),
|
|
117
|
+
/* @__PURE__ */ jsx(Typography, { variant: "body2", children: /* @__PURE__ */ jsx(
|
|
118
|
+
Link,
|
|
119
|
+
{
|
|
120
|
+
href: "https://www.notimplemented.net/",
|
|
121
|
+
target: "_blank",
|
|
122
|
+
children: "Get help and contact information"
|
|
123
|
+
}
|
|
124
|
+
) })
|
|
125
|
+
] })
|
|
126
|
+
] })
|
|
127
|
+
] }) });
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
export { MainCard };
|
|
131
|
+
//# sourceMappingURL=MainCard.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MainCard.esm.js","sources":["../../../src/components/CatalogDataset/MainCard.tsx"],"sourcesContent":["import {\n Card,\n CardContent,\n Typography,\n Link,\n Grid,\n Button,\n} from '@material-ui/core';\nimport { EntityRefLink } from '@backstage/plugin-catalog-react';\nimport type { Entity } from '@backstage/catalog-model';\nimport { MarkdownContent } from '@backstage/core-components';\n\ntype DatasetSpec = {\n description?: string;\n connectedServicesDescription?: string;\n type?: string;\n owner?: string;\n status?: string;\n securityClassification?: string;\n quality?: {\n score?: string | number;\n };\n updateFrequency?: string;\n governance?: {\n retention?: string;\n };\n};\n\ntype Props = {\n entity: Entity;\n spec: DatasetSpec;\n ownerLabel: string;\n onViewApis: () => void;\n};\n\nexport const MainCard = ({\n entity,\n spec,\n ownerLabel,\n onViewApis,\n}: Props) => {\n return (\n <Card>\n <CardContent>\n <MarkdownContent content={spec.description ?? ''} />\n\n {entity.metadata.tags?.length ? (\n <div>\n {entity.metadata.tags.map(tag => (\n <span\n key={tag}\n style={{\n display: 'inline-block',\n marginRight: 6,\n marginBottom: 6,\n padding: '2px 8px',\n borderRadius: 12,\n backgroundColor: '#eee',\n fontSize: '0.75rem',\n }}\n >\n {tag}\n </span>\n ))}\n </div>\n ) : null}\n\n <div style={{ marginTop: 12 }}>\n <Typography variant=\"subtitle2\" style={{ fontWeight: 600 }}>\n Part of Connected Services\n </Typography>\n\n <MarkdownContent content={spec.connectedServicesDescription ?? '—'} />\n </div>\n\n <div style={{ marginTop: 12 }}>\n <Typography variant=\"body2\">\n Learn more:\n </Typography>\n\n {entity.metadata.links?.length ? (\n <ul style={{ marginTop: 4, paddingLeft: 20 }}>\n {entity.metadata.links.map(link => (\n <li key={link.url}>\n <Link\n href={link.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {link.title || 'More Info'}\n </Link>\n </li>\n ))}\n </ul>\n ) : (\n <Typography variant=\"body2\">—</Typography>\n )}\n </div>\n\n <Grid container spacing={2} style={{ marginTop: 12 }}>\n <Grid item xs={12} md={6}>\n <Typography variant=\"body2\">\n Type: <strong>{spec.type ?? '—'}</strong>\n </Typography>\n\n <Typography variant=\"body2\">\n Custodian:{' '}\n {spec.owner ? (\n <strong>\n <EntityRefLink entityRef={spec.owner} title={ownerLabel} />\n </strong>\n ) : (\n <strong>—</strong>\n )}\n </Typography>\n\n <Typography variant=\"body2\">\n Status: <strong>{spec.status ?? '—'}</strong>\n </Typography>\n\n <Typography variant=\"body2\">\n Security Classification: <strong>{spec.securityClassification ?? '—'}</strong>\n </Typography>\n\n <Typography variant=\"body2\">\n Data quality Score: <strong>{spec.quality?.score ?? '—'}</strong>\n </Typography>\n\n <Typography variant=\"body2\">\n Update frequency: <strong>{spec.updateFrequency ?? '—'}</strong>\n </Typography>\n\n <Typography variant=\"body2\">\n Retention: <strong>{spec.governance?.retention ?? '—'}</strong>\n </Typography>\n </Grid>\n\n <Grid item xs={12} md={6}>\n <Button\n variant=\"outlined\"\n size=\"small\"\n onClick={onViewApis}\n >\n View APIs\n </Button>\n\n <Typography variant=\"body2\">\n <strong>Technical documentation</strong>\n </Typography>\n <ul style={{ marginTop: 4, paddingLeft: 20 }}>\n <li>\n <Link\n href=\"https://www.notimplemented.net/\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {'View data dictionary'}\n </Link>\n </li>\n <li>\n <Link\n href=\"https://www.notimplemented.net/\"\n target=\"_blank\"\n >\n {'Download schema'}\n </Link>\n </li>\n </ul>\n\n <Typography\n variant=\"body2\"\n style={{ letterSpacing: '4px', fontWeight: 'bold' }}\n >\n --------------------\n </Typography>\n\n <Typography variant=\"body2\">\n <strong>Need help?:</strong>\n </Typography>\n <Typography variant=\"body2\">\n <Link\n href=\"https://www.notimplemented.net/\"\n target=\"_blank\"\n >\n {'Get help and contact information'}\n </Link>\n </Typography>\n </Grid>\n </Grid>\n </CardContent>\n </Card>\n );\n};"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { Card, CardHeader, CardContent, Typography, Link } from '@material-ui/core';
|
|
3
|
+
|
|
4
|
+
const RelatedResourcesCard = ({
|
|
5
|
+
relatedResources
|
|
6
|
+
}) => {
|
|
7
|
+
return /* @__PURE__ */ jsxs(
|
|
8
|
+
Card,
|
|
9
|
+
{
|
|
10
|
+
style: {
|
|
11
|
+
borderRadius: 8,
|
|
12
|
+
marginBottom: 16,
|
|
13
|
+
border: "2px solid rgba(0,0,0,0.23)"
|
|
14
|
+
},
|
|
15
|
+
variant: "outlined",
|
|
16
|
+
children: [
|
|
17
|
+
/* @__PURE__ */ jsx(CardHeader, { title: "Related resources" }),
|
|
18
|
+
/* @__PURE__ */ jsx(CardContent, { children: relatedResources?.length ? /* @__PURE__ */ jsx("ul", { style: { margin: 0, paddingLeft: 20 }, children: relatedResources.map((resource) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Typography, { variant: "body2", children: /* @__PURE__ */ jsx(
|
|
19
|
+
Link,
|
|
20
|
+
{
|
|
21
|
+
href: resource.url,
|
|
22
|
+
target: "_blank",
|
|
23
|
+
rel: "noopener noreferrer",
|
|
24
|
+
children: resource.title ?? resource.url
|
|
25
|
+
}
|
|
26
|
+
) }) }, `${resource.url}-${resource.title ?? ""}`)) }) : /* @__PURE__ */ jsx(Typography, { variant: "body2", children: "No related resources defined." }) })
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export { RelatedResourcesCard };
|
|
33
|
+
//# sourceMappingURL=RelatedResourcesCard.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RelatedResourcesCard.esm.js","sources":["../../../src/components/CatalogDataset/RelatedResourcesCard.tsx"],"sourcesContent":["import {\n Card,\n CardHeader,\n CardContent,\n Typography,\n Link,\n} from '@material-ui/core';\n\ntype RelatedResource = {\n url: string;\n title?: string;\n};\n\ntype Props = {\n relatedResources?: RelatedResource[];\n};\n\nexport const RelatedResourcesCard = ({\n relatedResources,\n}: Props) => {\n return (\n <Card\n style={{\n borderRadius: 8,\n marginBottom: 16,\n border: '2px solid rgba(0,0,0,0.23)',\n }}\n variant=\"outlined\"\n >\n <CardHeader title=\"Related resources\" />\n <CardContent>\n {relatedResources?.length ? (\n <ul style={{ margin: 0, paddingLeft: 20 }}>\n {relatedResources.map(resource => (\n <li key={`${resource.url}-${resource.title ?? ''}`}>\n <Typography variant=\"body2\">\n <Link\n href={resource.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {resource.title ?? resource.url}\n </Link>\n </Typography>\n </li>\n ))}\n </ul>\n ) : (\n <Typography variant=\"body2\">No related resources defined.</Typography>\n )}\n </CardContent>\n </Card>\n );\n};"],"names":[],"mappings":";;;AAiBO,MAAM,uBAAuB,CAAC;AAAA,EACnC;AACF,CAAA,KAAa;AACX,EAAA,uBACE,IAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO;AAAA,QACL,YAAA,EAAc,CAAA;AAAA,QACd,YAAA,EAAc,EAAA;AAAA,QACd,MAAA,EAAQ;AAAA,OACV;AAAA,MACA,OAAA,EAAQ,UAAA;AAAA,MAER,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,OAAM,mBAAA,EAAoB,CAAA;AAAA,wBACtC,GAAA,CAAC,eACE,QAAA,EAAA,gBAAA,EAAkB,MAAA,uBAChB,IAAA,EAAA,EAAG,KAAA,EAAO,EAAE,MAAA,EAAQ,CAAA,EAAG,aAAa,EAAA,EAAG,EACrC,2BAAiB,GAAA,CAAI,CAAA,QAAA,yBACnB,IAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,OAAA,EAAQ,OAAA,EAClB,QAAA,kBAAA,GAAA;AAAA,UAAC,IAAA;AAAA,UAAA;AAAA,YACC,MAAM,QAAA,CAAS,GAAA;AAAA,YACf,MAAA,EAAO,QAAA;AAAA,YACP,GAAA,EAAI,qBAAA;AAAA,YAEH,QAAA,EAAA,QAAA,CAAS,SAAS,QAAA,CAAS;AAAA;AAAA,WAEhC,CAAA,EAAA,EATO,CAAA,EAAG,SAAS,GAAG,CAAA,CAAA,EAAI,SAAS,KAAA,IAAS,EAAE,CAAA,CAUhD,CACD,GACH,CAAA,mBAEA,GAAA,CAAC,cAAW,OAAA,EAAQ,OAAA,EAAQ,2CAA6B,CAAA,EAE7D;AAAA;AAAA;AAAA,GACF;AAEJ;;;;"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useState, useEffect } from 'react';
|
|
3
|
+
import { Card, CardHeader, Typography, IconButton, CardContent, Table, TableHead, TableRow, TableCell, TableBody, Link } from '@material-ui/core';
|
|
4
|
+
import ChevronLeftIcon from '@material-ui/icons/ChevronLeft';
|
|
5
|
+
import ChevronRightIcon from '@material-ui/icons/ChevronRight';
|
|
6
|
+
|
|
7
|
+
const SchemaCard = ({ tables }) => {
|
|
8
|
+
const safeTables = tables ?? [];
|
|
9
|
+
const [currentIndex, setCurrentIndex] = useState(0);
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
if (currentIndex >= safeTables.length) {
|
|
12
|
+
setCurrentIndex(0);
|
|
13
|
+
}
|
|
14
|
+
}, [currentIndex, safeTables.length]);
|
|
15
|
+
const currentTable = safeTables[currentIndex];
|
|
16
|
+
const goPrevious = () => {
|
|
17
|
+
setCurrentIndex((index) => Math.max(0, index - 1));
|
|
18
|
+
};
|
|
19
|
+
const goNext = () => {
|
|
20
|
+
setCurrentIndex(
|
|
21
|
+
(index) => Math.min(safeTables.length - 1, index + 1)
|
|
22
|
+
);
|
|
23
|
+
};
|
|
24
|
+
return /* @__PURE__ */ jsxs(
|
|
25
|
+
Card,
|
|
26
|
+
{
|
|
27
|
+
style: {
|
|
28
|
+
borderRadius: 8,
|
|
29
|
+
marginBottom: 16,
|
|
30
|
+
border: "2px solid rgba(0,0,0,0.23)"
|
|
31
|
+
},
|
|
32
|
+
variant: "outlined",
|
|
33
|
+
children: [
|
|
34
|
+
/* @__PURE__ */ jsx(
|
|
35
|
+
CardHeader,
|
|
36
|
+
{
|
|
37
|
+
title: "Schema",
|
|
38
|
+
action: safeTables.length > 1 ? /* @__PURE__ */ jsxs(
|
|
39
|
+
"div",
|
|
40
|
+
{
|
|
41
|
+
style: {
|
|
42
|
+
display: "flex",
|
|
43
|
+
alignItems: "center",
|
|
44
|
+
gap: 4,
|
|
45
|
+
marginTop: 4
|
|
46
|
+
},
|
|
47
|
+
children: [
|
|
48
|
+
/* @__PURE__ */ jsxs(Typography, { variant: "body2", children: [
|
|
49
|
+
currentIndex + 1,
|
|
50
|
+
" of ",
|
|
51
|
+
safeTables.length
|
|
52
|
+
] }),
|
|
53
|
+
/* @__PURE__ */ jsx(
|
|
54
|
+
IconButton,
|
|
55
|
+
{
|
|
56
|
+
"aria-label": "Previous schema table",
|
|
57
|
+
onClick: goPrevious,
|
|
58
|
+
disabled: currentIndex === 0,
|
|
59
|
+
size: "small",
|
|
60
|
+
children: /* @__PURE__ */ jsx(ChevronLeftIcon, {})
|
|
61
|
+
}
|
|
62
|
+
),
|
|
63
|
+
/* @__PURE__ */ jsx(
|
|
64
|
+
IconButton,
|
|
65
|
+
{
|
|
66
|
+
"aria-label": "Next schema table",
|
|
67
|
+
onClick: goNext,
|
|
68
|
+
disabled: currentIndex === safeTables.length - 1,
|
|
69
|
+
size: "small",
|
|
70
|
+
children: /* @__PURE__ */ jsx(ChevronRightIcon, {})
|
|
71
|
+
}
|
|
72
|
+
)
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
) : void 0
|
|
76
|
+
}
|
|
77
|
+
),
|
|
78
|
+
/* @__PURE__ */ jsxs(CardContent, { children: [
|
|
79
|
+
currentTable ? /* @__PURE__ */ jsxs("div", { style: { marginBottom: 16 }, children: [
|
|
80
|
+
/* @__PURE__ */ jsx(
|
|
81
|
+
Typography,
|
|
82
|
+
{
|
|
83
|
+
variant: "subtitle2",
|
|
84
|
+
style: { marginBottom: 4, fontWeight: 600 },
|
|
85
|
+
children: currentTable.name
|
|
86
|
+
}
|
|
87
|
+
),
|
|
88
|
+
currentTable.fields?.length ? /* @__PURE__ */ jsxs(
|
|
89
|
+
Table,
|
|
90
|
+
{
|
|
91
|
+
size: "small",
|
|
92
|
+
style: {
|
|
93
|
+
border: "1px solid rgba(0,0,0,0.23)",
|
|
94
|
+
borderCollapse: "collapse"
|
|
95
|
+
},
|
|
96
|
+
children: [
|
|
97
|
+
/* @__PURE__ */ jsx(TableHead, { children: /* @__PURE__ */ jsxs(TableRow, { children: [
|
|
98
|
+
/* @__PURE__ */ jsx(
|
|
99
|
+
TableCell,
|
|
100
|
+
{
|
|
101
|
+
style: {
|
|
102
|
+
fontWeight: 700,
|
|
103
|
+
border: "1px solid rgba(0,0,0,0.23)"
|
|
104
|
+
},
|
|
105
|
+
children: "Field Name"
|
|
106
|
+
}
|
|
107
|
+
),
|
|
108
|
+
/* @__PURE__ */ jsx(
|
|
109
|
+
TableCell,
|
|
110
|
+
{
|
|
111
|
+
style: {
|
|
112
|
+
fontWeight: 700,
|
|
113
|
+
border: "1px solid rgba(0,0,0,0.23)"
|
|
114
|
+
},
|
|
115
|
+
children: "Type"
|
|
116
|
+
}
|
|
117
|
+
),
|
|
118
|
+
/* @__PURE__ */ jsx(
|
|
119
|
+
TableCell,
|
|
120
|
+
{
|
|
121
|
+
style: {
|
|
122
|
+
fontWeight: 700,
|
|
123
|
+
border: "1px solid rgba(0,0,0,0.23)"
|
|
124
|
+
},
|
|
125
|
+
children: "Description"
|
|
126
|
+
}
|
|
127
|
+
)
|
|
128
|
+
] }) }),
|
|
129
|
+
/* @__PURE__ */ jsx(TableBody, { children: currentTable.fields.map((field) => /* @__PURE__ */ jsxs(TableRow, { children: [
|
|
130
|
+
/* @__PURE__ */ jsx(
|
|
131
|
+
TableCell,
|
|
132
|
+
{
|
|
133
|
+
style: { border: "1px solid rgba(0,0,0,0.23)" },
|
|
134
|
+
children: field.columnName
|
|
135
|
+
}
|
|
136
|
+
),
|
|
137
|
+
/* @__PURE__ */ jsx(
|
|
138
|
+
TableCell,
|
|
139
|
+
{
|
|
140
|
+
style: { border: "1px solid rgba(0,0,0,0.23)" },
|
|
141
|
+
children: field.dataType ? field.dataPrecision ? `${field.dataType} (${field.dataPrecision})` : field.dataType : "\u2014"
|
|
142
|
+
}
|
|
143
|
+
),
|
|
144
|
+
/* @__PURE__ */ jsx(
|
|
145
|
+
TableCell,
|
|
146
|
+
{
|
|
147
|
+
style: { border: "1px solid rgba(0,0,0,0.23)" },
|
|
148
|
+
children: field.columnComments ?? "\u2014"
|
|
149
|
+
}
|
|
150
|
+
)
|
|
151
|
+
] }, field.columnName)) })
|
|
152
|
+
]
|
|
153
|
+
}
|
|
154
|
+
) : /* @__PURE__ */ jsx(Typography, { variant: "body2", children: "No fields available." })
|
|
155
|
+
] }) : /* @__PURE__ */ jsx(Typography, { variant: "body2", children: "No schema available." }),
|
|
156
|
+
/* @__PURE__ */ jsx(Link, { href: "https://www.notimplemented.net/", target: "_blank", children: "Download schema" })
|
|
157
|
+
] })
|
|
158
|
+
]
|
|
159
|
+
}
|
|
160
|
+
);
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
export { SchemaCard };
|
|
164
|
+
//# sourceMappingURL=SchemaCard.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaCard.esm.js","sources":["../../../src/components/CatalogDataset/SchemaCard.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport {\n Card,\n CardHeader,\n CardContent,\n Typography,\n Table,\n TableHead,\n TableRow,\n TableCell,\n TableBody,\n Link,\n IconButton,\n} from '@material-ui/core';\nimport ChevronLeftIcon from '@material-ui/icons/ChevronLeft';\nimport ChevronRightIcon from '@material-ui/icons/ChevronRight';\n\ntype SchemaField = {\n columnName: string;\n dataType?: string;\n dataPrecision?: string;\n shortName?: string;\n columnComments?: string;\n};\n\ntype SchemaTable = {\n name: string;\n resourceType?: string;\n fields?: SchemaField[];\n};\n\ntype Props = {\n tables?: SchemaTable[];\n};\n\nexport const SchemaCard = ({ tables }: Props) => {\n const safeTables = tables ?? [];\n const [currentIndex, setCurrentIndex] = useState(0);\n\n useEffect(() => {\n if (currentIndex >= safeTables.length) {\n setCurrentIndex(0);\n }\n }, [currentIndex, safeTables.length]);\n\n const currentTable = safeTables[currentIndex];\n\n const goPrevious = () => {\n setCurrentIndex(index => Math.max(0, index - 1));\n };\n\n const goNext = () => {\n setCurrentIndex(index =>\n Math.min(safeTables.length - 1, index + 1),\n );\n };\n\n return (\n <Card\n style={{\n borderRadius: 8,\n marginBottom: 16,\n border: '2px solid rgba(0,0,0,0.23)',\n }}\n variant=\"outlined\"\n >\n <CardHeader\n title=\"Schema\"\n action={\n safeTables.length > 1 ? (\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 4,\n marginTop: 4,\n }}\n >\n <Typography variant=\"body2\">\n {currentIndex + 1} of {safeTables.length}\n </Typography>\n\n <IconButton\n aria-label=\"Previous schema table\"\n onClick={goPrevious}\n disabled={currentIndex === 0}\n size=\"small\"\n >\n <ChevronLeftIcon />\n </IconButton>\n\n <IconButton\n aria-label=\"Next schema table\"\n onClick={goNext}\n disabled={currentIndex === safeTables.length - 1}\n size=\"small\"\n >\n <ChevronRightIcon />\n </IconButton>\n </div>\n ) : undefined\n }\n />\n\n <CardContent>\n {currentTable ? (\n <div style={{ marginBottom: 16 }}>\n <Typography\n variant=\"subtitle2\"\n style={{ marginBottom: 4, fontWeight: 600 }}\n >\n {currentTable.name}\n </Typography>\n\n {currentTable.fields?.length ? (\n <Table\n size=\"small\"\n style={{\n border: '1px solid rgba(0,0,0,0.23)',\n borderCollapse: 'collapse',\n }}\n >\n <TableHead>\n <TableRow>\n <TableCell\n style={{\n fontWeight: 700,\n border: '1px solid rgba(0,0,0,0.23)',\n }}\n >\n Field Name\n </TableCell>\n\n <TableCell\n style={{\n fontWeight: 700,\n border: '1px solid rgba(0,0,0,0.23)',\n }}\n >\n Type\n </TableCell>\n\n <TableCell\n style={{\n fontWeight: 700,\n border: '1px solid rgba(0,0,0,0.23)',\n }}\n >\n Description\n </TableCell>\n </TableRow>\n </TableHead>\n\n <TableBody>\n {currentTable.fields.map(field => (\n <TableRow key={field.columnName}>\n <TableCell\n style={{ border: '1px solid rgba(0,0,0,0.23)' }}\n >\n {field.columnName}\n </TableCell>\n\n <TableCell\n style={{ border: '1px solid rgba(0,0,0,0.23)' }}\n >\n {field.dataType\n ? field.dataPrecision\n ? `${field.dataType} (${field.dataPrecision})`\n : field.dataType\n : '—'}\n </TableCell>\n\n <TableCell\n style={{ border: '1px solid rgba(0,0,0,0.23)' }}\n >\n {field.columnComments ?? '—'}\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n ) : (\n <Typography variant=\"body2\">\n No fields available.\n </Typography>\n )}\n </div>\n ) : (\n <Typography variant=\"body2\">\n No schema available.\n </Typography>\n )}\n\n <Link href=\"https://www.notimplemented.net/\" target=\"_blank\">\n {'Download schema'}\n </Link>\n </CardContent>\n </Card>\n );\n};"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { Card, CardHeader, CardContent, Typography } from '@material-ui/core';
|
|
3
|
+
import { MarkdownContent } from '@backstage/core-components';
|
|
4
|
+
|
|
5
|
+
const SupportChannelSection = ({
|
|
6
|
+
title,
|
|
7
|
+
channel
|
|
8
|
+
}) => {
|
|
9
|
+
if (!channel) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
return /* @__PURE__ */ jsxs("div", { style: { marginTop: 16 }, children: [
|
|
13
|
+
/* @__PURE__ */ jsx(Typography, { variant: "body2", children: /* @__PURE__ */ jsx("strong", { children: title }) }),
|
|
14
|
+
/* @__PURE__ */ jsx(MarkdownContent, { content: channel.description ?? "-" }),
|
|
15
|
+
/* @__PURE__ */ jsxs("div", { style: { marginTop: 8 }, children: [
|
|
16
|
+
/* @__PURE__ */ jsxs(Typography, { variant: "body2", children: [
|
|
17
|
+
"Channel: ",
|
|
18
|
+
channel.channel ?? "N/A"
|
|
19
|
+
] }),
|
|
20
|
+
/* @__PURE__ */ jsxs(Typography, { variant: "body2", children: [
|
|
21
|
+
"Response time: ",
|
|
22
|
+
channel.responseTime ?? "N/A"
|
|
23
|
+
] }),
|
|
24
|
+
/* @__PURE__ */ jsxs(Typography, { variant: "body2", children: [
|
|
25
|
+
"Escalation: ",
|
|
26
|
+
channel.escalation ?? "N/A"
|
|
27
|
+
] })
|
|
28
|
+
] })
|
|
29
|
+
] });
|
|
30
|
+
};
|
|
31
|
+
const SupportCard = ({ support }) => {
|
|
32
|
+
return /* @__PURE__ */ jsxs(
|
|
33
|
+
Card,
|
|
34
|
+
{
|
|
35
|
+
style: {
|
|
36
|
+
borderRadius: 8,
|
|
37
|
+
marginBottom: 16,
|
|
38
|
+
border: "2px solid rgba(0,0,0,0.23)"
|
|
39
|
+
},
|
|
40
|
+
variant: "outlined",
|
|
41
|
+
children: [
|
|
42
|
+
/* @__PURE__ */ jsx(CardHeader, { title: "Support" }),
|
|
43
|
+
/* @__PURE__ */ jsxs(CardContent, { children: [
|
|
44
|
+
/* @__PURE__ */ jsx(MarkdownContent, { content: support?.description || "No support information defined." }),
|
|
45
|
+
/* @__PURE__ */ jsx(Typography, { variant: "body2", children: /* @__PURE__ */ jsx("strong", { children: "Dataset Ownership" }) }),
|
|
46
|
+
/* @__PURE__ */ jsxs("ul", { style: { margin: "0 0 8px 0", paddingLeft: 20 }, children: [
|
|
47
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs(Typography, { variant: "body2", children: [
|
|
48
|
+
"Data Custodian: ",
|
|
49
|
+
support?.dataCustodian ?? "N/A"
|
|
50
|
+
] }) }),
|
|
51
|
+
/* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs(Typography, { variant: "body2", children: [
|
|
52
|
+
"Governance Authority: ",
|
|
53
|
+
support?.governanceAuthority ?? "N/A"
|
|
54
|
+
] }) })
|
|
55
|
+
] }),
|
|
56
|
+
/* @__PURE__ */ jsx(Typography, { variant: "body2", children: /* @__PURE__ */ jsx("strong", { children: "Support Pathways" }) }),
|
|
57
|
+
/* @__PURE__ */ jsx("div", { style: { marginTop: 4 }, children: /* @__PURE__ */ jsx(MarkdownContent, { content: support?.pathways ?? "-" }) }),
|
|
58
|
+
/* @__PURE__ */ jsx(
|
|
59
|
+
SupportChannelSection,
|
|
60
|
+
{
|
|
61
|
+
title: "Data and Semantics",
|
|
62
|
+
channel: support?.dataAndSemantics
|
|
63
|
+
}
|
|
64
|
+
),
|
|
65
|
+
/* @__PURE__ */ jsx(
|
|
66
|
+
SupportChannelSection,
|
|
67
|
+
{
|
|
68
|
+
title: "Access and Integration",
|
|
69
|
+
channel: support?.accessAndIntegration
|
|
70
|
+
}
|
|
71
|
+
),
|
|
72
|
+
/* @__PURE__ */ jsx(
|
|
73
|
+
SupportChannelSection,
|
|
74
|
+
{
|
|
75
|
+
title: "Governance and Production Escalation",
|
|
76
|
+
channel: support?.governanceAndProductionEscalation
|
|
77
|
+
}
|
|
78
|
+
)
|
|
79
|
+
] })
|
|
80
|
+
]
|
|
81
|
+
}
|
|
82
|
+
);
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export { SupportCard };
|
|
86
|
+
//# sourceMappingURL=SupportCard.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SupportCard.esm.js","sources":["../../../src/components/CatalogDataset/SupportCard.tsx"],"sourcesContent":["import {\n Card,\n CardHeader,\n CardContent,\n Typography,\n} from '@material-ui/core';\nimport { MarkdownContent } from '@backstage/core-components';\n\ntype DatasetSupportChannel = {\n description?: string;\n channel?: string;\n responseTime?: string;\n escalation?: string;\n};\n\ntype DatasetGovernanceAndProductionEscalation = {\n description?: string;\n channel?: string;\n referenceDataset?: string;\n responseTime?: string;\n};\n\ntype Props = {\n support?: {\n description?: string;\n dataCustodian?: string;\n governanceAuthority?: string;\n pathways?: string;\n dataAndSemantics?: DatasetSupportChannel;\n accessAndIntegration?: DatasetSupportChannel;\n governanceAndProductionEscalation?: DatasetGovernanceAndProductionEscalation;\n };\n};\n\nconst SupportChannelSection = ({\n title,\n channel,\n}: {\n title: string;\n channel?: DatasetSupportChannel;\n}) => {\n if (!channel) {\n return null;\n }\n\n return (\n <div style={{ marginTop: 16 }}>\n <Typography variant=\"body2\">\n <strong>{title}</strong>\n </Typography>\n\n <MarkdownContent content={channel.description ?? '-'} />\n\n <div style={{ marginTop: 8 }}>\n <Typography variant=\"body2\">\n Channel: {channel.channel ?? 'N/A'}\n </Typography>\n <Typography variant=\"body2\">\n Response time: {channel.responseTime ?? 'N/A'}\n </Typography>\n <Typography variant=\"body2\">\n Escalation: {channel.escalation ?? 'N/A'}\n </Typography>\n </div>\n </div>\n );\n};\n\nexport const SupportCard = ({ support }: Props) => {\n return (\n <Card\n style={{\n borderRadius: 8,\n marginBottom: 16,\n border: '2px solid rgba(0,0,0,0.23)',\n }}\n variant=\"outlined\"\n >\n <CardHeader title=\"Support\" />\n <CardContent>\n\n <MarkdownContent content={support?.description || 'No support information defined.'} />\n\n <Typography variant=\"body2\">\n <strong>Dataset Ownership</strong>\n </Typography>\n\n <ul style={{ margin: '0 0 8px 0', paddingLeft: 20 }}>\n <li>\n <Typography variant=\"body2\">\n Data Custodian: {support?.dataCustodian ?? 'N/A'}\n </Typography>\n </li>\n <li>\n <Typography variant=\"body2\">\n Governance Authority: {support?.governanceAuthority ?? 'N/A'}\n </Typography>\n </li>\n </ul>\n\n <Typography variant=\"body2\">\n <strong>Support Pathways</strong>\n </Typography>\n <div style={{ marginTop: 4 }}>\n <MarkdownContent content={support?.pathways ?? '-'} />\n </div>\n\n <SupportChannelSection\n title=\"Data and Semantics\"\n channel={support?.dataAndSemantics}\n />\n\n <SupportChannelSection\n title=\"Access and Integration\"\n channel={support?.accessAndIntegration}\n />\n\n <SupportChannelSection\n title=\"Governance and Production Escalation\"\n channel={support?.governanceAndProductionEscalation}\n />\n </CardContent>\n </Card>\n );\n};"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { Card, CardHeader, CardContent, Typography } from '@material-ui/core';
|
|
3
|
+
import { MarkdownContent } from '@backstage/core-components';
|
|
4
|
+
|
|
5
|
+
const VersioningAndChangeGovernanceCard = ({
|
|
6
|
+
currentVersion,
|
|
7
|
+
initialRelease,
|
|
8
|
+
lastUpdated,
|
|
9
|
+
versioningDescription,
|
|
10
|
+
governanceDescription
|
|
11
|
+
}) => {
|
|
12
|
+
return /* @__PURE__ */ jsxs(
|
|
13
|
+
Card,
|
|
14
|
+
{
|
|
15
|
+
style: {
|
|
16
|
+
borderRadius: 8,
|
|
17
|
+
marginBottom: 16,
|
|
18
|
+
border: "2px solid rgba(0,0,0,0.23)"
|
|
19
|
+
},
|
|
20
|
+
variant: "outlined",
|
|
21
|
+
children: [
|
|
22
|
+
/* @__PURE__ */ jsx(CardHeader, { title: "Versioning and Change Governance" }),
|
|
23
|
+
/* @__PURE__ */ jsxs(CardContent, { children: [
|
|
24
|
+
/* @__PURE__ */ jsx(Typography, { variant: "body2", children: /* @__PURE__ */ jsx("strong", { children: "Version Information" }) }),
|
|
25
|
+
/* @__PURE__ */ jsxs(Typography, { variant: "body2", children: [
|
|
26
|
+
/* @__PURE__ */ jsx("strong", { children: "Current Version:" }),
|
|
27
|
+
" ",
|
|
28
|
+
currentVersion ?? "N/A"
|
|
29
|
+
] }),
|
|
30
|
+
/* @__PURE__ */ jsxs(Typography, { variant: "body2", children: [
|
|
31
|
+
/* @__PURE__ */ jsx("strong", { children: "Initial Release:" }),
|
|
32
|
+
" ",
|
|
33
|
+
initialRelease ?? "N/A"
|
|
34
|
+
] }),
|
|
35
|
+
/* @__PURE__ */ jsxs(Typography, { variant: "body2", gutterBottom: true, children: [
|
|
36
|
+
/* @__PURE__ */ jsx("strong", { children: "Last Updated:" }),
|
|
37
|
+
" ",
|
|
38
|
+
lastUpdated ?? "N/A"
|
|
39
|
+
] }),
|
|
40
|
+
/* @__PURE__ */ jsx(MarkdownContent, { content: versioningDescription ?? "N/A" }),
|
|
41
|
+
/* @__PURE__ */ jsx(
|
|
42
|
+
Typography,
|
|
43
|
+
{
|
|
44
|
+
variant: "body2",
|
|
45
|
+
style: { marginTop: 16 },
|
|
46
|
+
children: /* @__PURE__ */ jsx("strong", { children: "Governance and Usage Constraints" })
|
|
47
|
+
}
|
|
48
|
+
),
|
|
49
|
+
/* @__PURE__ */ jsx(MarkdownContent, { content: governanceDescription ?? "N/A" })
|
|
50
|
+
] })
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
);
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export { VersioningAndChangeGovernanceCard };
|
|
57
|
+
//# sourceMappingURL=VersioningAndChangeGovernanceCard.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VersioningAndChangeGovernanceCard.esm.js","sources":["../../../src/components/CatalogDataset/VersioningAndChangeGovernanceCard.tsx"],"sourcesContent":["import {\n Card,\n CardHeader,\n CardContent,\n Typography,\n} from '@material-ui/core';\nimport { MarkdownContent } from '@backstage/core-components';\n\ntype Props = {\n currentVersion?: string;\n initialRelease?: string;\n lastUpdated?: string;\n versioningDescription?: string;\n governanceDescription?: string;\n};\n\nexport const VersioningAndChangeGovernanceCard = ({\n currentVersion,\n initialRelease,\n lastUpdated,\n versioningDescription,\n governanceDescription,\n}: Props) => {\n return (\n <Card\n style={{\n borderRadius: 8,\n marginBottom: 16,\n border: '2px solid rgba(0,0,0,0.23)',\n }}\n variant=\"outlined\"\n >\n <CardHeader title=\"Versioning and Change Governance\" />\n <CardContent>\n <Typography variant=\"body2\">\n <strong>Version Information</strong>\n </Typography>\n\n <Typography variant=\"body2\">\n <strong>Current Version:</strong> {currentVersion ?? 'N/A'}\n </Typography>\n <Typography variant=\"body2\">\n <strong>Initial Release:</strong> {initialRelease ?? 'N/A'}\n </Typography>\n <Typography variant=\"body2\" gutterBottom>\n <strong>Last Updated:</strong> {lastUpdated ?? 'N/A'}\n </Typography>\n\n <MarkdownContent content={versioningDescription ?? 'N/A'} />\n\n <Typography\n variant=\"body2\"\n style={{ marginTop: 16 }}\n >\n <strong>Governance and Usage Constraints</strong>\n </Typography>\n\n <MarkdownContent content= {governanceDescription ?? 'N/A'} />\n </CardContent>\n </Card>\n );\n};"],"names":[],"mappings":";;;;AAgBO,MAAM,oCAAoC,CAAC;AAAA,EAChD,cAAA;AAAA,EACA,cAAA;AAAA,EACA,WAAA;AAAA,EACA,qBAAA;AAAA,EACA;AACF,CAAA,KAAa;AACX,EAAA,uBACE,IAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO;AAAA,QACL,YAAA,EAAc,CAAA;AAAA,QACd,YAAA,EAAc,EAAA;AAAA,QACd,MAAA,EAAQ;AAAA,OACV;AAAA,MACA,OAAA,EAAQ,UAAA;AAAA,MAER,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,OAAM,kCAAA,EAAmC,CAAA;AAAA,6BACpD,WAAA,EAAA,EACC,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,cAAW,OAAA,EAAQ,OAAA,EAClB,QAAA,kBAAA,GAAA,CAAC,QAAA,EAAA,EAAO,iCAAmB,CAAA,EAC7B,CAAA;AAAA,0BAEA,IAAA,CAAC,UAAA,EAAA,EAAW,OAAA,EAAQ,OAAA,EAClB,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,YAAO,QAAA,EAAA,kBAAA,EAAgB,CAAA;AAAA,YAAS,GAAA;AAAA,YAAE,cAAA,IAAkB;AAAA,WAAA,EACvD,CAAA;AAAA,0BACA,IAAA,CAAC,UAAA,EAAA,EAAW,OAAA,EAAQ,OAAA,EAClB,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,YAAO,QAAA,EAAA,kBAAA,EAAgB,CAAA;AAAA,YAAS,GAAA;AAAA,YAAE,cAAA,IAAkB;AAAA,WAAA,EACvD,CAAA;AAAA,0BACA,IAAA,CAAC,UAAA,EAAA,EAAW,OAAA,EAAQ,OAAA,EAAQ,cAAY,IAAA,EACtC,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,YAAO,QAAA,EAAA,eAAA,EAAa,CAAA;AAAA,YAAS,GAAA;AAAA,YAAE,WAAA,IAAe;AAAA,WAAA,EACjD,CAAA;AAAA,0BAEA,GAAA,CAAC,eAAA,EAAA,EAAgB,OAAA,EAAS,qBAAA,IAAyB,KAAA,EAAO,CAAA;AAAA,0BAE1D,GAAA;AAAA,YAAC,UAAA;AAAA,YAAA;AAAA,cACC,OAAA,EAAQ,OAAA;AAAA,cACR,KAAA,EAAO,EAAE,SAAA,EAAW,EAAA,EAAG;AAAA,cAEvB,QAAA,kBAAA,GAAA,CAAC,YAAO,QAAA,EAAA,kCAAA,EAAgC;AAAA;AAAA,WAC1C;AAAA,0BAEA,GAAA,CAAC,eAAA,EAAA,EAAgB,OAAA,EAAU,qBAAA,IAAyB,KAAA,EAAO;AAAA,SAAA,EAC7D;AAAA;AAAA;AAAA,GACF;AAEJ;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
|
|
3
|
+
|
|
4
|
+
declare const catalogDatasetPlugin: _backstage_core_plugin_api.BackstagePlugin<{
|
|
5
|
+
root: _backstage_core_plugin_api.RouteRef<undefined>;
|
|
6
|
+
}, {}, {}>;
|
|
7
|
+
declare const CatalogDatasetPage: () => react_jsx_runtime.JSX.Element;
|
|
8
|
+
|
|
9
|
+
export { CatalogDatasetPage, catalogDatasetPlugin };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createPlugin, createRoutableExtension } from '@backstage/core-plugin-api';
|
|
2
|
+
import { rootRouteRef } from './routes.esm.js';
|
|
3
|
+
|
|
4
|
+
const catalogDatasetPlugin = createPlugin({
|
|
5
|
+
id: "catalog-dataset",
|
|
6
|
+
routes: {
|
|
7
|
+
root: rootRouteRef
|
|
8
|
+
}
|
|
9
|
+
});
|
|
10
|
+
const CatalogDatasetPage = catalogDatasetPlugin.provide(
|
|
11
|
+
createRoutableExtension({
|
|
12
|
+
name: "CatalogDatasetPage",
|
|
13
|
+
component: () => import('./components/CatalogDataset/index.esm.js').then((m) => m.CatalogDatasetPage),
|
|
14
|
+
mountPoint: rootRouteRef
|
|
15
|
+
})
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
export { CatalogDatasetPage, catalogDatasetPlugin };
|
|
19
|
+
//# sourceMappingURL=plugin.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.esm.js","sources":["../src/plugin.ts"],"sourcesContent":["import {\n createPlugin,\n createRoutableExtension,\n} from '@backstage/core-plugin-api';\n\nimport { rootRouteRef } from './routes';\n\nexport const catalogDatasetPlugin = createPlugin({\n id: 'catalog-dataset',\n routes: {\n root: rootRouteRef,\n },\n});\n\nexport const CatalogDatasetPage = catalogDatasetPlugin.provide(\n createRoutableExtension({\n name: 'CatalogDatasetPage',\n component: () =>\n import('./components/CatalogDataset').then(m => m.CatalogDatasetPage),\n mountPoint: rootRouteRef,\n }),\n);\n"],"names":[],"mappings":";;;AAOO,MAAM,uBAAuB,YAAA,CAAa;AAAA,EAC/C,EAAA,EAAI,iBAAA;AAAA,EACJ,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM;AAAA;AAEV,CAAC;AAEM,MAAM,qBAAqB,oBAAA,CAAqB,OAAA;AAAA,EACrD,uBAAA,CAAwB;AAAA,IACtB,IAAA,EAAM,oBAAA;AAAA,IACN,SAAA,EAAW,MACT,OAAO,0CAA6B,EAAE,IAAA,CAAK,CAAA,CAAA,KAAK,EAAE,kBAAkB,CAAA;AAAA,IACtE,UAAA,EAAY;AAAA,GACb;AACH;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes.esm.js","sources":["../src/routes.ts"],"sourcesContent":["import { createRouteRef } from '@backstage/core-plugin-api';\n\nexport const rootRouteRef = createRouteRef({\n id: 'catalog-dataset',\n});\n"],"names":[],"mappings":";;AAEO,MAAM,eAAe,cAAA,CAAe;AAAA,EACzC,EAAA,EAAI;AACN,CAAC;;;;"}
|