From d370a02007671bd346cb9ceb3c941d1ea46f2aa2 Mon Sep 17 00:00:00 2001 From: Ryan Mathis Date: Wed, 12 May 2021 15:32:36 -0700 Subject: [PATCH] Implemented upload and copy --- ui/package.json | 1 + .../schema/provider/dynamic-http.schema.json | 12 ++ ui/src/app/App.js | 2 + ui/src/app/core/components/Header.js | 27 ++- ui/src/app/core/utility/read_file_contents.js | 15 ++ ui/src/app/metadata/Metadata.js | 80 +++---- ui/src/app/metadata/NewSource.js | 92 ++++++++ .../component/MetadataConfiguration.js | 2 - ui/src/app/metadata/copy/CopySource.js | 196 ++++++++++++++++++ ui/src/app/metadata/copy/EntityTypeahead.js | 28 +++ ui/src/app/metadata/copy/SaveCopy.js | 26 +++ .../domain/provider/BaseProviderDefinition.js | 66 ++++-- .../domain/provider/component/ProviderList.js | 4 +- .../domain/source/SourceDefinition.js | 2 + .../app/metadata/hoc/MetadataFormContext.js | 5 +- ui/src/app/metadata/hoc/MetadataSchema.js | 9 +- ui/src/app/metadata/hooks/api.js | 4 + ui/src/app/metadata/hooks/configuration.js | 2 - ui/src/app/metadata/hooks/utility.js | 12 +- ui/src/app/metadata/view/MetadataCopy.js | 38 ++++ ui/src/app/metadata/view/MetadataUpload.js | 138 ++++++++++++ ui/src/app/metadata/view/MetadataWizard.js | 6 + .../app/metadata/wizard/MetadataWizardForm.js | 51 +++++ ui/src/app/metadata/wizard/WizardButton.js | 5 + ui/src/app/notifications/hoc/Notifications.js | 8 +- ui/src/theme/project/buttons.scss | 5 + ui/src/theme/project/forms.scss | 12 ++ ui/yarn.lock | 5 + 28 files changed, 765 insertions(+), 88 deletions(-) create mode 100644 ui/src/app/core/utility/read_file_contents.js create mode 100644 ui/src/app/metadata/NewSource.js create mode 100644 ui/src/app/metadata/copy/CopySource.js create mode 100644 ui/src/app/metadata/copy/EntityTypeahead.js create mode 100644 ui/src/app/metadata/copy/SaveCopy.js create mode 100644 ui/src/app/metadata/view/MetadataCopy.js create mode 100644 ui/src/app/metadata/view/MetadataUpload.js create mode 100644 ui/src/app/metadata/view/MetadataWizard.js create mode 100644 ui/src/app/metadata/wizard/MetadataWizardForm.js create mode 100644 ui/src/app/metadata/wizard/WizardButton.js diff --git a/ui/package.json b/ui/package.json index d3a2c9833..2964e049d 100644 --- a/ui/package.json +++ b/ui/package.json @@ -24,6 +24,7 @@ "react-bootstrap": "^1.5.2", "react-bootstrap-typeahead": "^5.1.4", "react-dom": "^17.0.2", + "react-hook-form": "^7.5.2", "react-infinite-scroll-component": "^6.1.0", "react-jsonschema-form-layout-grid": "^2.1.0", "react-router-dom": "^5.2.0", diff --git a/ui/public/assets/schema/provider/dynamic-http.schema.json b/ui/public/assets/schema/provider/dynamic-http.schema.json index 5d0d1f428..a0a815c86 100644 --- a/ui/public/assets/schema/provider/dynamic-http.schema.json +++ b/ui/public/assets/schema/provider/dynamic-http.schema.json @@ -400,6 +400,10 @@ "id": "fieldset" }, "properties": { + "@type": { + "type": "string", + "default": "RequiredValidUntil" + }, "maxValidityInterval": { "title": "label.max-validity-interval", "description": "tooltip.max-validity-interval", @@ -416,6 +420,10 @@ "id": "fieldset" }, "properties": { + "@type": { + "type": "string", + "default": "SignatureValidation" + }, "requireSignedRoot": { "title": "label.require-signed-root", "description": "tooltip.require-signed-root", @@ -459,6 +467,10 @@ "id": "fieldset" }, "properties": { + "@type": { + "type": "string", + "default": "EntityRoleWhiteList" + }, "retainedRoles": { "title": "label.retained-roles", "description": "tooltip.retained-roles", diff --git a/ui/src/app/App.js b/ui/src/app/App.js index c0aefad0a..12244347c 100644 --- a/ui/src/app/App.js +++ b/ui/src/app/App.js @@ -20,6 +20,7 @@ import { Metadata } from './metadata/Metadata'; import { Notifications } from './notifications/hoc/Notifications'; import { NotificationList } from './notifications/component/NotificationList'; import { UserConfirmation, ConfirmWindow } from './core/components/UserConfirmation'; +import { NewSource } from './metadata/NewSource'; @@ -53,6 +54,7 @@ function App() { + diff --git a/ui/src/app/core/components/Header.js b/ui/src/app/core/components/Header.js index 55dff1927..e5ed72cc8 100644 --- a/ui/src/app/core/components/Header.js +++ b/ui/src/app/core/components/Header.js @@ -3,10 +3,10 @@ import { Link } from 'react-router-dom'; import Nav from 'react-bootstrap/Nav'; import Navbar from 'react-bootstrap/Navbar'; -import NavDropdown from 'react-bootstrap/NavDropdown'; +import Dropdown from 'react-bootstrap/Dropdown'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import { faTh, faSignOutAlt } from '@fortawesome/free-solid-svg-icons'; +import { faTh, faSignOutAlt, faPlusCircle, faCube, faCubes } from '@fortawesome/free-solid-svg-icons'; import Translate from '../../i18n/components/translate'; import { useTranslation } from '../../i18n/hooks'; @@ -26,13 +26,22 @@ export function Header () {