Skip to content

Commit

Permalink
Merge pull request #2117 from input-output-hk/scb-event-page
Browse files Browse the repository at this point in the history
SCB: Sprucing up the Event page.
  • Loading branch information
krisajenkins committed Jun 30, 2020
2 parents a47795c + f2e145f commit 9946c5f
Show file tree
Hide file tree
Showing 9 changed files with 216 additions and 104 deletions.
10 changes: 3 additions & 7 deletions plutus-scb-client/src/MainFrame.purs
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ import Network.RemoteData (RemoteData(..), _Success)
import Network.RemoteData as RemoteData
import Playground.Lenses (_endpointDescription, _getEndpointDescription, _schema)
import Playground.Types (FunctionSchema(..), _FunctionSchema)
import Plutus.SCB.Events.Contract (ContractInstanceState(..), _UserEndpointRequest)
import Plutus.SCB.Events.Contract (ContractInstanceState(..))
import Plutus.SCB.Types (ContractExe)
import Plutus.SCB.Webserver (SPParams_(..), getApiContractByContractinstanceidSchema, getApiFullreport, postApiContractActivate, postApiContractByContractinstanceidEndpointByEndpointname)
import Plutus.SCB.Webserver.Types (ContractSignatureResponse(..), FullReport)
Expand All @@ -49,7 +49,7 @@ import Schema.Types (formArgumentToJson, toArgument)
import Schema.Types as Schema
import Servant.PureScript.Ajax (AjaxError)
import Servant.PureScript.Settings (SPSettings_, defaultSettings)
import Types (EndpointForm, HAction(..), Query, State(..), View(..), WebData, _activeEndpoint, _annotatedBlockchain, _chainReport, _chainState, _contractInstanceIdString, _contractReport, _contractSignatures, _contractStates, _crAvailableContracts, _csCurrentState, _currentView, _fullReport, _hooks, _rqRequest)
import Types (EndpointForm, HAction(..), Query, State(..), View(..), WebData, _annotatedBlockchain, _chainReport, _chainState, _contractActiveEndpoints, _contractInstanceIdString, _contractReport, _contractSignatures, _contractStates, _crAvailableContracts, _csCurrentState, _currentView, _fullReport)
import Validation (_argument)
import View as View

Expand Down Expand Up @@ -198,11 +198,7 @@ createEndpointForms contractState = signatureToForms
activeEndpoints =
toSetOf
( _csCurrentState
<<< _hooks
<<< traversed
<<< _rqRequest
<<< _UserEndpointRequest
<<< _activeEndpoint
<<< _contractActiveEndpoints
)
contractState

Expand Down
12 changes: 10 additions & 2 deletions plutus-scb-client/src/Types.purs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import Data.Generic.Rep (class Generic)
import Data.Generic.Rep.Show (genericShow)
import Data.Json.JsonMap (JsonMap)
import Data.Json.JsonUUID (JsonUUID, _JsonUUID)
import Data.Lens (Lens', Getter', to)
import Data.Lens (Getter', Lens', Traversal', to, traversed)
import Data.Lens.Iso.Newtype (_Newtype)
import Data.Lens.Record (prop)
import Data.Map (Map)
Expand All @@ -22,7 +22,7 @@ import Ledger.Tx (Tx)
import Ledger.TxId (TxId)
import Network.RemoteData (RemoteData)
import Playground.Types (FunctionSchema)
import Plutus.SCB.Events.Contract (ContractInstanceId, ContractInstanceState, ContractSCBRequest, PartiallyDecodedResponse, _ContractInstanceState)
import Plutus.SCB.Events.Contract (ContractInstanceId, ContractInstanceState, ContractSCBRequest, PartiallyDecodedResponse, _ContractInstanceState, _UserEndpointRequest)
import Plutus.SCB.Types (ContractExe)
import Plutus.SCB.Webserver.Types (ChainReport, ContractReport, ContractSignatureResponse, FullReport, _ChainReport, _ContractReport, _ContractSignatureResponse)
import Schema (FormSchema)
Expand Down Expand Up @@ -116,6 +116,14 @@ _hooks = _Newtype <<< prop (SProxy :: SProxy "hooks")
_activeEndpoint :: Lens' ActiveEndpoint EndpointDescription
_activeEndpoint = _Newtype <<< prop (SProxy :: SProxy "aeDescription")

_contractActiveEndpoints :: Traversal' (PartiallyDecodedResponse ContractSCBRequest) EndpointDescription
_contractActiveEndpoints =
_hooks
<<< traversed
<<< _rqRequest
<<< _UserEndpointRequest
<<< _activeEndpoint

_rqRequest :: forall t. Lens' (Request t) t
_rqRequest = _Newtype <<< prop (SProxy :: SProxy "rqRequest")

Expand Down
11 changes: 5 additions & 6 deletions plutus-scb-client/src/View.purs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module View (render) where

import Bootstrap (col12_, col6_, container_, row_)
import Bootstrap (col12_, col5_, col7_, container_, row_)
import Chain.Types as Chain
import Data.Lens (traversed, view)
import Data.Lens.Extra (toArrayOf)
Expand All @@ -13,10 +13,10 @@ import Plutus.SCB.Events.Contract (ContractInstanceId)
import Plutus.SCB.Types (ContractExe)
import Plutus.SCB.Webserver.Types (FullReport(..))
import Prelude (($), (<$>), (<<<))
import Types (EndpointForm, HAction(..), State(State), View(..), WebData, _crAvailableContracts, _csrDefinition, _transactionMap, _utxoIndex)
import Types (EndpointForm, HAction(..), State(State), View(..), WebData, _crAvailableContracts, _csrDefinition, _utxoIndex)
import View.Blockchain (annotatedBlockchainPane)
import View.Contracts (contractStatusesPane, installedContractsPane)
import View.Events (eventsPane, transactionPane, utxoIndexPane)
import View.Events (eventsPane, utxoIndexPane)
import View.Utils (webDataPane)

render ::
Expand Down Expand Up @@ -88,9 +88,8 @@ fullReportPane currentView chainState contractSignatures fullReport@(FullReport
]
, viewContainer currentView EventLog
[ row_
[ col12_ [ eventsPane events ]
, col6_ [ transactionPane (view _transactionMap chainReport) ]
, col6_ [ utxoIndexPane (view _utxoIndex chainReport) ]
[ col7_ [ eventsPane events ]
, col5_ [ utxoIndexPane (view _utxoIndex chainReport) ]
]
]
]
8 changes: 3 additions & 5 deletions plutus-scb-client/src/View/Contracts.purs
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,10 @@ import Bootstrap (btn, btnBlock, btnPrimary, btnSmall, cardBody_, cardFooter_, c
import Bootstrap as Bootstrap
import Data.Array (mapWithIndex, null)
import Data.Foldable.Extra (interleave)
import Data.Json.JsonUUID (_JsonUUID)
import Data.Lens (to, view)
import Data.Lens (view)
import Data.Map (Map)
import Data.Map as Map
import Data.Maybe (Maybe(..))
import Data.UUID as UUID
import Halogen.HTML (HTML, br_, button, div_, h2_, h3_, table, tbody_, td_, text, th, th_, thead_, tr_)
import Halogen.HTML.Events (onClick)
import Halogen.HTML.Properties (classes, colSpan)
Expand All @@ -22,7 +20,7 @@ import Plutus.SCB.Events.Contract (ContractInstanceId, ContractInstanceState)
import Plutus.SCB.Types (ContractExe)
import Plutus.SCB.Webserver.Types (ContractReport(..))
import Schema.Types (FormEvent)
import Types (EndpointForm, HAction(..), WebData, _contractInstanceId, _contractPath, _csContract, _csCurrentState, _hooks)
import Types (EndpointForm, HAction(..), WebData, _contractInstanceIdString, _contractPath, _csContract, _csCurrentState, _hooks)
import Validation (_argument)
import View.Utils (webDataPane)

Expand Down Expand Up @@ -120,7 +118,7 @@ contractRequestView contractInstance =
, tbody_ (requestRow <$> requests)
]
where
contractTitle = view (_csContract <<< _contractInstanceId <<< _JsonUUID <<< to UUID.toString) contractInstance
contractTitle = view (_csContract <<< _contractInstanceIdString) contractInstance

requests = view (_csCurrentState <<< _hooks) contractInstance

Expand Down

0 comments on commit 9946c5f

Please sign in to comment.