diff --git a/ui/src/app/metadata/domain/source/component/DeleteSourceConfirmation.js b/ui/src/app/metadata/domain/source/component/DeleteSourceConfirmation.js
index 482e92937..848e97c63 100644
--- a/ui/src/app/metadata/domain/source/component/DeleteSourceConfirmation.js
+++ b/ui/src/app/metadata/domain/source/component/DeleteSourceConfirmation.js
@@ -1,6 +1,7 @@
import React from 'react';
import Modal from 'react-bootstrap/Modal';
+import Button from 'react-bootstrap/Button';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons';
@@ -50,12 +51,12 @@ export function DeleteSourceConfirmation ({children}) {
- onConfirm(deleting)}>
+ onConfirm(deleting)}>
Delete
- {' '}
- setDeleting(null)}>
+ {' '}
+ setDeleting(null)}>
Cancel
-
+
>
diff --git a/ui/src/app/metadata/domain/source/component/SourceList.js b/ui/src/app/metadata/domain/source/component/SourceList.js
index 94d05828a..41e2c7adb 100644
--- a/ui/src/app/metadata/domain/source/component/SourceList.js
+++ b/ui/src/app/metadata/domain/source/component/SourceList.js
@@ -8,15 +8,11 @@ import OverlayTrigger from 'react-bootstrap/OverlayTrigger';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faTrash, faCheck } from '@fortawesome/free-solid-svg-icons';
-
-
import FormattedDate from '../../../../core/components/FormattedDate';
import Translate from '../../../../i18n/components/translate';
import { Scroller } from '../../../../dashboard/component/Scroller';
import { DeleteSourceConfirmation } from './DeleteSourceConfirmation';
-
-
export default function SourceList({ entities, onDelete, onEnable }) {
return (
@@ -51,13 +47,14 @@ export default function SourceList({ entities, onDelete, onEnable }) {
{onEnable ?
- onEnable(source)}
aria-label="Enable this service provider">
Disable
{!source.enabled && <> > }
-
+
:
diff --git a/ui/src/app/metadata/editor/MetadataEditor.js b/ui/src/app/metadata/editor/MetadataEditor.js
index 03f68b6fd..d2ee2e56d 100644
--- a/ui/src/app/metadata/editor/MetadataEditor.js
+++ b/ui/src/app/metadata/editor/MetadataEditor.js
@@ -2,6 +2,7 @@ import React from 'react';
import { faCogs, faExclamationTriangle, faSave, faSpinner } from '@fortawesome/free-solid-svg-icons';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { useHistory, useParams, Prompt } from 'react-router';
+import Button from 'react-bootstrap/Button';
import Alert from 'react-bootstrap/Alert';
import Translate from '../../i18n/components/translate';
@@ -116,20 +117,21 @@ export function MetadataEditor ({ current }) {
- save(metadata)}
disabled={errors.length > 0 || loading}
aria-label="Save changes to the metadata source. You will return to the dashboard">
Save
-
+
- cancel()} aria-label="Cancel changes, go back to dashboard">
Cancel
-
+
{warnings && warnings.hasOwnProperty(section) &&
diff --git a/ui/src/app/metadata/editor/MetadataEditorNav.js b/ui/src/app/metadata/editor/MetadataEditorNav.js
index 45b19ca1c..bfae1bb73 100644
--- a/ui/src/app/metadata/editor/MetadataEditorNav.js
+++ b/ui/src/app/metadata/editor/MetadataEditorNav.js
@@ -1,7 +1,8 @@
+import React from 'react';
import { faBars } from '@fortawesome/free-solid-svg-icons';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
-import React from 'react';
import Dropdown from 'react-bootstrap/Dropdown';
+import Button from 'react-bootstrap/Button';
import Translate from '../../i18n/components/translate';
// import { usePagesWithErrors } from '../hoc/MetadataFormContext';
@@ -31,14 +32,14 @@ export function MetadataEditorNav ({ definition, current, children, format = 'ta
{routes.map((route, idx) =>
- onNavigate(route.path)}
aria-label={route.label}>
-
+
)}
{children &&
@@ -52,17 +53,18 @@ export function MetadataEditorNav ({ definition, current, children, format = 'ta
diff --git a/ui/src/app/metadata/new/NewAttribute.js b/ui/src/app/metadata/new/NewAttribute.js
index 88a6537ec..41d7ace0e 100644
--- a/ui/src/app/metadata/new/NewAttribute.js
+++ b/ui/src/app/metadata/new/NewAttribute.js
@@ -1,6 +1,8 @@
+import React from 'react';
import { faSave, faSpinner } from '@fortawesome/free-solid-svg-icons';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
-import React from 'react';
+import Button from 'react-bootstrap/Button';
+
import { Prompt, useHistory } from 'react-router';
import Translate from '../../i18n/components/translate';
import { MetadataAttributeEditor } from '../editor/MetadataAttributeEditor';
@@ -57,19 +59,19 @@ export function NewAttribute() {
{(filter, errors) =>
- save(filter)}
disabled={errors.length > 0 || loading}
aria-label="Save changes to the metadata source. You will return to the dashboard">
Save
-
-
+ cancel()} aria-label="Cancel changes, go back to dashboard">
Cancel
-
+
}
diff --git a/ui/src/app/metadata/new/NewFilter.js b/ui/src/app/metadata/new/NewFilter.js
index 318871364..3b00cfaee 100644
--- a/ui/src/app/metadata/new/NewFilter.js
+++ b/ui/src/app/metadata/new/NewFilter.js
@@ -1,6 +1,7 @@
+import React from 'react';
import { faSave, faSpinner } from '@fortawesome/free-solid-svg-icons';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
-import React from 'react';
+import Button from 'react-bootstrap/Button';
import { Prompt, useHistory, useParams } from 'react-router';
import Translate from '../../i18n/components/translate';
import { MetadataFilterEditor } from '../editor/MetadataFilterEditor';
@@ -36,6 +37,15 @@ export function NewFilter() {
history.push(`/metadata/provider/${id}`, state);
};
+ const onNavigate = (path) => {
+ const resetBlock = blocking;
+ setBlocking(false);
+ setTimeout(() => {
+ history.push(path);
+ setBlocking(resetBlock);
+ });
+ };
+
return (
-
+ setBlocking(true)}>
{(filter, isInvalid) =>
- save(filter)}
disabled={isInvalid || loading}
aria-label="Save changes to the metadata source. You will return to the dashboard">
Save
-
-
+ cancel()} aria-label="Cancel changes, go back to dashboard">
Cancel
-
+
}
diff --git a/ui/src/app/metadata/view/EditFilter.js b/ui/src/app/metadata/view/EditFilter.js
index 27d2a594c..d3c6756e8 100644
--- a/ui/src/app/metadata/view/EditFilter.js
+++ b/ui/src/app/metadata/view/EditFilter.js
@@ -1,6 +1,8 @@
+import React from 'react';
import { faSave, faSpinner } from '@fortawesome/free-solid-svg-icons';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
-import React from 'react';
+import Button from 'react-bootstrap/Button';
+
import { Prompt, useHistory, useParams } from 'react-router';
import Translate from '../../i18n/components/translate';
import { MetadataFilterEditor } from '../editor/MetadataFilterEditor';
@@ -74,19 +76,19 @@ export function EditFilter() {
setBlocking(true) }>
{(filter, isInvalid) =>
- save(filter)}
disabled={isInvalid || loading}
aria-label="Save changes to the metadata source. You will return to the dashboard">
Save
-
-
+ cancel()} aria-label="Cancel changes, go back to dashboard">
Cancel
-
+
}
diff --git a/ui/src/app/metadata/view/MetadataAttributeEdit.js b/ui/src/app/metadata/view/MetadataAttributeEdit.js
index 6d035851c..58cd6d995 100644
--- a/ui/src/app/metadata/view/MetadataAttributeEdit.js
+++ b/ui/src/app/metadata/view/MetadataAttributeEdit.js
@@ -1,6 +1,8 @@
+import React from 'react';
import { faSave, faSpinner } from '@fortawesome/free-solid-svg-icons';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
-import React from 'react';
+
+import Button from 'react-bootstrap/Button';
import { Prompt, useHistory, useParams } from 'react-router';
import Translate from '../../i18n/components/translate';
import { MetadataAttributeEditor } from '../editor/MetadataAttributeEditor';
@@ -75,19 +77,19 @@ export function MetadataAttributeEdit() {
{(filter, errors) =>
- save(filter)}
disabled={errors.length > 0 || loading}
aria-label="Save changes to the metadata source. You will return to the dashboard">
Save
-
-
+ cancel()} aria-label="Cancel changes, go back to dashboard">
Cancel
-
+
}
diff --git a/ui/src/app/metadata/view/MetadataAttributeList.js b/ui/src/app/metadata/view/MetadataAttributeList.js
index e91313116..b72c3c0e7 100644
--- a/ui/src/app/metadata/view/MetadataAttributeList.js
+++ b/ui/src/app/metadata/view/MetadataAttributeList.js
@@ -1,6 +1,8 @@
+import React from 'react';
import { faEdit, faPlusCircle, faTrash } from '@fortawesome/free-solid-svg-icons';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
-import React from 'react';
+
+import Button from 'react-bootstrap/Button';
import { Link } from 'react-router-dom';
import { Translate } from '../../i18n/components/translate';
@@ -67,12 +69,12 @@ export function MetadataAttributeList ({entities, onDelete}) {
Edit
- block(() => remove(attr.name))}>
+ block(() => remove(attr.name))}>
Delete
-
+
)}
diff --git a/ui/src/app/metadata/view/MetadataHistory.js b/ui/src/app/metadata/view/MetadataHistory.js
index 886c1e201..9921cc19e 100644
--- a/ui/src/app/metadata/view/MetadataHistory.js
+++ b/ui/src/app/metadata/view/MetadataHistory.js
@@ -2,7 +2,7 @@ import React from 'react';
import { useHistory, useParams } from 'react-router';
import { Link } from 'react-router-dom';
import queryString from 'query-string';
-
+import Button from 'react-bootstrap/Button';
import FormattedDate from '../../core/components/FormattedDate';
import Translate from '../../i18n/components/translate';
@@ -107,10 +107,10 @@ export function MetadataHistory () {
)}
- compare(selected) } disabled={!selected.length}>
+ compare(selected) } disabled={!selected.length}>
Compare Selected
{selected.length > 0 && ({ selected.length }) }
-
+
>
}
{loading &&
diff --git a/ui/src/app/metadata/view/MetadataOptions.js b/ui/src/app/metadata/view/MetadataOptions.js
index 91121c7f6..e592731e6 100644
--- a/ui/src/app/metadata/view/MetadataOptions.js
+++ b/ui/src/app/metadata/view/MetadataOptions.js
@@ -2,7 +2,7 @@ import React from 'react';
import { faArrowDown, faArrowUp, faHistory, faPlus, faTrash } from '@fortawesome/free-solid-svg-icons';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { Link, useHistory, useParams } from 'react-router-dom';
-
+import Button from 'react-bootstrap/Button';
import { scroller } from 'react-scroll';
import Translate from '../../i18n/components/translate';
@@ -59,12 +59,12 @@ export function MetadataOptions () {
enabled={type === 'source' ? metadata.serviceEnabled : metadata.enabled}
model={metadata}>
{type === 'source' && onDeleteSource &&
- onDeleteSource(metadata.id, redirectOnDelete)}>
-
+
}
@@ -74,10 +74,10 @@ export function MetadataOptions () {
Version History
{type === 'provider' &&
- onScrollTo('filters')}>
+ onScrollTo('filters')}>
Filters
-
+
}