From 3a5d3e1a2e3989197d9120a28df243a8dbda6392 Mon Sep 17 00:00:00 2001 From: Francesca-Bit Date: Tue, 11 Jul 2023 11:03:42 +0200 Subject: [PATCH 1/4] review make change_request workflow optional --- .../src/components/AboutDataProduct.js | 8 +- .../tdb-dashboard/src/components/IconBar.js | 26 ++--- .../src/components/OpenAICard.js | 101 +++++++++--------- .../src/components/SwitchOpenAi.js | 10 +- packages/tdb-dashboard/src/hooks/useOpenAI.js | 15 +-- .../tdb-dashboard/src/pages/DocumentEdit.js | 4 +- .../tdb-dashboard/src/pages/DocumentView.js | 2 +- .../src/pages/DocumentsGraphqlList.js | 4 +- .../tdb-dashboard/src/pages/FreeTextSearch.js | 13 +-- .../src/pages/IndexingActionMonitor copy.js | 2 +- .../src/pages/IndexingActionMonitor.js | 18 ++-- packages/tdb-dashboard/src/pages/Profile.js | 4 +- 12 files changed, 114 insertions(+), 93 deletions(-) diff --git a/packages/tdb-dashboard/src/components/AboutDataProduct.js b/packages/tdb-dashboard/src/components/AboutDataProduct.js index 8ab074c4..d0e8f274 100644 --- a/packages/tdb-dashboard/src/components/AboutDataProduct.js +++ b/packages/tdb-dashboard/src/components/AboutDataProduct.js @@ -24,6 +24,8 @@ export const AboutDataProduct = ({dataProductDetails, setShowDeleteModal, setSho const {documentClasses,getDocumentClasses} = useTDBDocuments(woqlClient) const [radioValue, setRadioValue] = useState(useChangeRequest===false ? "Inactive" : "Active"); + + const isAdmin = accessControlDashboard ? accessControlDashboard.isAdmin() : false const {cloneDatabase, loading:loadingClone, error:errorClone , setError:setCloneError} = ManageDatabase() const cloneInTeam = useRef(null); @@ -38,6 +40,10 @@ export const AboutDataProduct = ({dataProductDetails, setShowDeleteModal, setSho return `${localSettings.server}${organization}/${organization}/${dataProduct}` } + useEffect(() =>{ + setRadioValue(useChangeRequest===false ? "Inactive" : "Active") + },[useChangeRequest]) + useEffect(() => { if(!healthColor) setColor("text-muted") if(healthColor == DATA_PRODUCT_HEALTHY) setColor("text-success") @@ -104,7 +110,7 @@ export const AboutDataProduct = ({dataProductDetails, setShowDeleteModal, setSho return - {clientUser.serverType !== "TerminusDB" && + {clientUser.serverType !== "TerminusDB" && isAdmin && diff --git a/packages/tdb-dashboard/src/components/IconBar.js b/packages/tdb-dashboard/src/components/IconBar.js index be8c08b8..94fcc95f 100644 --- a/packages/tdb-dashboard/src/components/IconBar.js +++ b/packages/tdb-dashboard/src/components/IconBar.js @@ -8,7 +8,9 @@ import {useParams} from 'react-router-dom' export const IconBar = ({setShowFeedbackForm}) => { - const {currentChangeRequest,useChangeRequest} = WOQLClientObj() + const {currentChangeRequest,useChangeRequest, accessControlDashboard} = WOQLClientObj() + + const instanceRead = accessControlDashboard && accessControlDashboard.instanceRead() ? accessControlDashboard.instanceRead() : false const { organization, dataProduct } = useParams(); @@ -66,7 +68,7 @@ export const IconBar = ({setShowFeedbackForm}) => { {IconBarConfig.dataProductModal.icon} - + {instanceRead && { id={IconBarConfig.documentExplorer.key}> {IconBarConfig.documentExplorer.icon} - + } { - + {instanceRead && {IconBarConfig.graphiql.icon} - - {useChangeRequest && + } + {instanceRead && useChangeRequest && { {IconBarConfig.changes.icon} } - {useChangeRequest && !currentChangeRequest && + {instanceRead && useChangeRequest && !currentChangeRequest && + <> { {IconBarConfig.openAI.icon} - } - {useChangeRequest && !currentChangeRequest && { {IconBarConfig.search.icon} - } - {useChangeRequest && !currentChangeRequest && - + { {IconBarConfig.actions.icon} + }
diff --git a/packages/tdb-dashboard/src/components/OpenAICard.js b/packages/tdb-dashboard/src/components/OpenAICard.js index 1a6baa1f..b1ce4d66 100644 --- a/packages/tdb-dashboard/src/components/OpenAICard.js +++ b/packages/tdb-dashboard/src/components/OpenAICard.js @@ -4,7 +4,7 @@ import {useOpenAI} from "../hooks/useOpenAI" import {Alerts} from "./Alerts" import {SwitchOpenAi} from "./SwitchOpenAi" -export const OpenAICard=({organization})=>{ +export const OpenAICard=({organization,isAdmin})=>{ const {loading,changeOpenAIStatus, error,saveOpenAIKey,hasOpenAIKEY,hasKey,deleteOpenAIKEY} = useOpenAI() @@ -25,8 +25,11 @@ export const OpenAICard=({organization})=>{ } } - function deleteKey () { - deleteOpenAIKEY(organization) + async function deleteKey () { + const done = await deleteOpenAIKEY(organization) + if(done && openAIKEY.current){ + openAIKEY.current.value = "" + } } function changeStatus (isActive){ @@ -36,7 +39,7 @@ export const OpenAICard=({organization})=>{ const title = hasKey === false ? "Add your secret OpenAI API key" : "Your OpenAI API key has been set" const subTitle= getLabel() - + function getLabel(){ if(hasKey === false){ return
} - {!commit && /* + {loading && Search Documents} + {!loading && !commit && /*

You need to index your data before you can search

if you haven't already done it, Go to Profile page and add an OpenAi Key to your team,

after you can start to index your data using the change request workflow
*/} {error && } - {loading && Search Documents} + {searchResult &&
diff --git a/packages/tdb-dashboard/src/pages/IndexingActionMonitor copy.js b/packages/tdb-dashboard/src/pages/IndexingActionMonitor copy.js index e37dece4..2c3690f8 100644 --- a/packages/tdb-dashboard/src/pages/IndexingActionMonitor copy.js +++ b/packages/tdb-dashboard/src/pages/IndexingActionMonitor copy.js @@ -84,7 +84,7 @@ function ItemElement ({item}){
- runned {getDays(item.time["@value"])} days ago + ran {getDays(item.time["@value"])} days ago diff --git a/packages/tdb-dashboard/src/pages/IndexingActionMonitor.js b/packages/tdb-dashboard/src/pages/IndexingActionMonitor.js index c98684e6..22f252e1 100644 --- a/packages/tdb-dashboard/src/pages/IndexingActionMonitor.js +++ b/packages/tdb-dashboard/src/pages/IndexingActionMonitor.js @@ -10,7 +10,6 @@ import {ImSpinner5} from "react-icons/im" import { useParams } from "react-router-dom"; import { DisplayNoIndexingAction } from "../components/DisplayNoIndexingAction" - export const IndexingActionMonitor=(props)=>{ const {loading,error,getSearchableCommit,searchableCommit} = useOpenAI() @@ -28,23 +27,22 @@ export const IndexingActionMonitor=(props)=>{ return display } - - return
- {!searchableCommit.length && } + {loading && } {searchableCommit.length>0 && Indexing Actions - {loading && } + {searchableCommit && formatListItem()} } + {!loading && searchableCommit && searchableCommit.length === 0 && }
@@ -93,16 +91,19 @@ function ItemElement ({item}){ from branch {item.branch["@value"]} - + + {status === "Error" && item.error_message && +
Error: {item.error_message["@value"]}
} - runned {getDays(item.time["@value"])} days ago + ran {getDays(item.time["@value"])} days ago + {status === "Progress" && } @@ -110,6 +111,7 @@ function ItemElement ({item}){ {status=== "Assigned" && {item.searchable_commit["@value"]}} +