/*! Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0 */
import { Alert, Paper, StatusIndicator, Tabs } from 'aws-northstar';
import { DataProductSourceDataStatus } from '@ada/common';
import { LLSafeHtmlBlock, useI18nContext } from '$strings';
import { Permisssions } from './Permissions';
import { SchemaRenderer } from './schema/SchemaRenderer';
import { useDataProductContext } from '../context/DataProductContext';
import React from 'react';
export const DataProductRelatedResources: React.FC = () => {
const { LL } = useI18nContext();
const { dataProduct, dataProductState, isDataProductOwner } = useDataProductContext();
return (
<>
{isDataProductOwner && }
) : (
{LL.VIEW.DATA_PRODUCT.SCHEMA.PROGRESS.generatingText()}
),
},
{
id: 'permissions',
label: LL.VIEW.DATA_PRODUCT.PERMISSIONS.title(),
content: ,
},
// TODO: Re-enable when bug with default lenses is fixed! Also consider merging with permissions above?
// {
// id: 'defaultLenses',
// label: 'Default Lenses',
// content: (
//
// ),
// },
]}
/>
>
);
};
const QueryableSourceInfo: React.FC = () => {
const { LL } = useI18nContext();
const { dataProduct, dataProductState: state, isDataProductOwner, sourceSqlIdentifier } = useDataProductContext();
if (!isDataProductOwner || dataProduct == null) {
return null;
}
if (!state.isSourceDataSupported) {
return {LL.VIEW.DATA_PRODUCT.sourceDataMessage.notSupported()};
}
if (state.isReady) {
// Data is ready - only show source messaging is in ready state as well
if (state.source.status === DataProductSourceDataStatus.READY) {
return (
);
} else {
return null;
}
} else {
// Data is NOT ready, show details about using source while data is processing
switch (state.source.status) {
case DataProductSourceDataStatus.NO_DATA:
case DataProductSourceDataStatus.UPDATING: {
return (
);
}
case DataProductSourceDataStatus.FAILED: {
return (
{state.source.details}
);
}
case DataProductSourceDataStatus.READY: {
return (
);
}
default: {
return null;
}
}
}
};