From 5796c1046a0c672a8f0ef80d2b1261702082c7af Mon Sep 17 00:00:00 2001 From: Ryan Mathis Date: Thu, 20 May 2021 14:23:25 -0700 Subject: [PATCH] Implemented contention functionality --- .../schema/provider/dynamic-http.schema.json | 5 +- ui/src/app/App.js | 51 +++--- .../widgets/AttributeReleaseWidget.js | 1 - .../form/component/widgets/OptionWidget.js | 3 + ui/src/app/metadata/Filter.js | 5 +- .../component/properties/ObjectProperty.js | 3 - .../metadata/contention/ContentionContext.js | 157 ++++++++++++++++++ .../contention/component/ChangeItem.js | 131 +++++++++++++++ .../contention/component/ContentionModal.js | 107 ++++++++++++ .../EntityAttributesFilterDefinition.js | 3 - .../component/MetadataFilterEditorList.js | 4 +- .../domain/provider/BaseProviderDefinition.js | 6 +- .../DynamicHttpMetadataProviderDefinition.js | 20 ++- ...ileBackedHttpMetadataProviderDefinition.js | 15 +- .../FileSystemMetadataProviderDefinition.js | 13 +- .../LocalDynamicMetadataProviderDefinition.js | 15 +- ui/src/app/metadata/editor/MetadataEditor.js | 30 ++-- .../app/metadata/editor/MetadataFilterList.js | 2 +- .../metadata/hoc/MetadataFilterSelector.js | 6 +- ui/src/app/metadata/hoc/MetadataSelector.js | 15 +- ui/src/app/metadata/hooks/api.js | 32 ++++ ui/src/app/metadata/view/EditFilter.js | 83 +++++---- ui/src/app/metadata/view/MetadataEdit.js | 6 +- .../wizard/MetadataFilterTypeSelector.js | 2 +- .../metadata/wizard/MetadataProviderWizard.js | 4 +- .../metadata/wizard/MetadataSourceWizard.js | 4 +- 26 files changed, 594 insertions(+), 129 deletions(-) create mode 100644 ui/src/app/metadata/contention/ContentionContext.js create mode 100644 ui/src/app/metadata/contention/component/ChangeItem.js create mode 100644 ui/src/app/metadata/contention/component/ContentionModal.js diff --git a/ui/public/assets/schema/provider/dynamic-http.schema.json b/ui/public/assets/schema/provider/dynamic-http.schema.json index f4f96fe4b..a948e7be6 100644 --- a/ui/public/assets/schema/provider/dynamic-http.schema.json +++ b/ui/public/assets/schema/provider/dynamic-http.schema.json @@ -116,7 +116,7 @@ { "properties": { "initializeFromPersistentCacheInBackground": { - "const": true + "enum": [true] }, "backgroundInitializationFromCacheDelay": { "title": "label.background-init-from-cache-delay", @@ -129,9 +129,10 @@ { "properties": { "initializeFromPersistentCacheInBackground": { - "const": false + "enum": [false] } } + } ] } diff --git a/ui/src/app/App.js b/ui/src/app/App.js index 9d37b1f0a..ee40bb538 100644 --- a/ui/src/app/App.js +++ b/ui/src/app/App.js @@ -23,6 +23,7 @@ import { UserConfirmation, ConfirmWindow } from './core/components/UserConfirmat import { NewSource } from './metadata/new/NewSource'; import { NewProvider } from './metadata/new/NewProvider'; import { Filter } from './metadata/Filter'; +import { Contention } from './metadata/contention/ContentionContext'; function App() { @@ -43,30 +44,32 @@ function App() { - - {(message, confirm, confirmCallback, setConfirm, getConfirmation) => - - - -
-
- - - - - - - - - - - -
-