diff --git a/ui/src/app/core/components/TruncateText.js b/ui/src/app/core/components/TruncateText.js
new file mode 100644
index 000000000..97949d349
--- /dev/null
+++ b/ui/src/app/core/components/TruncateText.js
@@ -0,0 +1,31 @@
+import React from 'react';
+
+import truncate from 'lodash/truncate';
+
+import OverlayTrigger from 'react-bootstrap/OverlayTrigger';
+import Popover from 'react-bootstrap/Popover';
+import Button from 'react-bootstrap/Button';
+
+export function TruncateText ({text}) {
+
+ const truncated = React.useMemo(() => truncate(text, {
+ length: 100
+ }), [text]);
+
+ return (
+
+
+ {text}
+
+
+ }
+ >
+
+
+ );
+}
+
+export default TruncateText;
\ No newline at end of file
diff --git a/ui/src/app/metadata/domain/source/definition/SourceDefinition.js b/ui/src/app/metadata/domain/source/definition/SourceDefinition.js
index c650a1f95..676d97aef 100644
--- a/ui/src/app/metadata/domain/source/definition/SourceDefinition.js
+++ b/ui/src/app/metadata/domain/source/definition/SourceDefinition.js
@@ -10,8 +10,8 @@ export const SourceBase = {
label: 'Metadata Source',
type: '@MetadataProvider',
steps: [],
- //schema: `${API_BASE_PATH}/ui/MetadataSources`,
- schema: `/assets/schema/source/metadata-source.json`,
+ schema: `${API_BASE_PATH}/ui/MetadataSources`,
+ //schema: `/assets/schema/source/metadata-source.json`,
parser: (data) => removeNull(data, true),
diff --git a/ui/src/app/metadata/hoc/MetadataFormContext.js b/ui/src/app/metadata/hoc/MetadataFormContext.js
index 12fd598e8..2fe2d1dff 100644
--- a/ui/src/app/metadata/hoc/MetadataFormContext.js
+++ b/ui/src/app/metadata/hoc/MetadataFormContext.js
@@ -64,7 +64,6 @@ function MetadataForm({ children, initial = {} }) {
metadata
});
-
const contextValue = React.useMemo(() => ({ state, dispatch }), [state, dispatch]);
return (
@@ -113,6 +112,7 @@ function useFormattedMetadata(initial = {}) {
const definition = React.useContext(MetadataDefinitionContext);
const schema = React.useContext(MetadataSchemaContext);
const obj = React.useContext(MetadataObjectContext);
+
return definition.formatter(initial ? initial : obj, schema);
}
diff --git a/ui/src/app/metadata/hoc/attribute/AttributeBundleApi.js b/ui/src/app/metadata/hoc/attribute/AttributeBundleApi.js
index fd8651840..37e0dd1bf 100644
--- a/ui/src/app/metadata/hoc/attribute/AttributeBundleApi.js
+++ b/ui/src/app/metadata/hoc/attribute/AttributeBundleApi.js
@@ -28,7 +28,7 @@ export function AttributeBundleApi({ id, children }) {
}
async function update(id, body, cb) {
- const b = await put(`/${id}`, body);
+ const b = await put(``, body);
if (response.ok) {
dispatch(createNotificationAction(
`Bundle has been updated.`
diff --git a/ui/src/app/metadata/hoc/attribute/AttributeBundleSelector.js b/ui/src/app/metadata/hoc/attribute/AttributeBundleSelector.js
index 7cf055b38..726ef1e1e 100644
--- a/ui/src/app/metadata/hoc/attribute/AttributeBundleSelector.js
+++ b/ui/src/app/metadata/hoc/attribute/AttributeBundleSelector.js
@@ -1,7 +1,7 @@
import React from 'react';
export function AttributeBundleSelector({ id, find, children }) {
- const [bundle, setBundle] = React.useState([]);
+ const [bundle, setBundle] = React.useState();
/*eslint-disable react-hooks/exhaustive-deps*/
React.useEffect(() => {
diff --git a/ui/src/app/metadata/view/MetadataAttributeBundleEdit.js b/ui/src/app/metadata/view/MetadataAttributeBundleEdit.js
index 914cb4347..87eeb9db0 100644
--- a/ui/src/app/metadata/view/MetadataAttributeBundleEdit.js
+++ b/ui/src/app/metadata/view/MetadataAttributeBundleEdit.js
@@ -54,11 +54,11 @@ export function MetadataAttributeBundleEdit() {
{bundle &&
- {(filter, errors) =>
+ {(data, errors) =>