Commit d06c6fa1 authored by Mart Lubbers's avatar Mart Lubbers

Merge branch 'master' of gitlab.science.ru.nl:clean-and-itasks/iTasks-SDK into...

Merge branch 'master' of gitlab.science.ru.nl:clean-and-itasks/iTasks-SDK into 217-buttons-on-a-tabset-should-be-moved-to-the-actual-tabbar-header
parents 3bc85426 7d5cb944
Pipeline #12974 passed with stage
in 10 minutes and 37 seconds
...@@ -6,3 +6,5 @@ ...@@ -6,3 +6,5 @@
*.prp *.prp
*.exe *.exe
.sass-cache .sass-cache
BasicAPIExamples.icl
.ctest-results.json
test:
before_script:
- install_clean.sh bundle-complete && install_clean_nightly.sh test && apt-get update -qq && apt-get install -y -qq build-essential libsqlite3-dev libmariadbclient-dev-compat
image: "camilstaps/clean:nightly"
script:
- bash ci-tests.bash
...@@ -72,6 +72,18 @@ where ...@@ -72,6 +72,18 @@ where
choices = ["string" +++ toString i\\i<-[0..20]] choices = ["string" +++ toString i\\i<-[0..20]]
``` ```
## Panels
In some cases, such as when you apply a title, the user interface is automatically lifted to a panel.
However, this can also be done manually with the option of making the panel fullscreenable.
```clean
toPanel :: Bool -> Layout
:: InPanel = InPanel Bool
```
If the boolean flag is set to true, the panel includes a small icon (![](Libraries/iTasks/UI/WebPublic/css/icons/fullscreen.png)) on the bottom right that, when clicked, makes the panel full screen.
If the small icon is clicked again, the panel shrinks back to the original size again.
## Conclusion ## Conclusion
In this guide we have shown how you how to decorate tasks with layout combinators so that you can change the way they appear in the client. In this guide we have shown how you how to decorate tasks with layout combinators so that you can change the way they appear in the client.
......
...@@ -33,7 +33,7 @@ import Incidone.OP.Concepts ...@@ -33,7 +33,7 @@ import Incidone.OP.Concepts
} }
:: ActionTasks :: ActionTasks
= E.c: ActionTasks = E.c: ActionTasks
([ContactNo] [IncidentNo] -> Task (c,ActionStatus)) //Configuration task ([ContactNo] [IncidentNo] -> Task (c,ActionStatus)) //Configuration task
(c (Shared ActionStatus) -> Task ()) & iTask c //An action item that needs to be configured before it can be deployed (c (Shared ActionStatus) -> Task ()) & iTask c //An action item that needs to be configured before it can be deployed
...@@ -97,7 +97,7 @@ import Incidone.OP.Concepts ...@@ -97,7 +97,7 @@ import Incidone.OP.Concepts
:: CommunicationMeanSuggestion :: CommunicationMeanSuggestion
= CommunicateUsingPhone = CommunicateUsingPhone
| CommunicateUsingVHF | CommunicateUsingVHF
| CommunicateUsingP2000 | CommunicateUsingP2000
| CommunicateUsingEmail | CommunicateUsingEmail
:: UserActionListDefinition = :: UserActionListDefinition =
......
...@@ -166,7 +166,7 @@ contactOptions (Just group) = sdsFocus group contactsWithGroupShort ...@@ -166,7 +166,7 @@ contactOptions (Just group) = sdsFocus group contactsWithGroupShort
forIncident :: IncidentNo (ActionDefinition (ContactNo,IncidentNo)) -> ActionDefinition ContactNo forIncident :: IncidentNo (ActionDefinition (ContactNo,IncidentNo)) -> ActionDefinition ContactNo
forIncident incidentNo item=:{ActionDefinition|task} = {ActionDefinition|item & task = task`} forIncident incidentNo item=:{ActionDefinition|task} = {ActionDefinition|item & task = task`}
where where
task` contactNo status = task (contactNo,incidentNo) status task` contactNo status = task (contactNo,incidentNo) status
addDefaultStatus :: (Task c) -> ([ContactNo] [IncidentNo] -> Task (c,ActionStatus)) | iTask c addDefaultStatus :: (Task c) -> ([ContactNo] [IncidentNo] -> Task (c,ActionStatus)) | iTask c
addDefaultStatus task = \initContacts initIncidents -> task @ \c -> (c,{ActionStatus|defaultValue & contacts = initContacts, incidents = initIncidents}) addDefaultStatus task = \initContacts initIncidents -> task @ \c -> (c,{ActionStatus|defaultValue & contacts = initContacts, incidents = initIncidents})
...@@ -228,7 +228,7 @@ gEq{|ActionTasks|} x y = True ...@@ -228,7 +228,7 @@ gEq{|ActionTasks|} x y = True
gDefault{|ActionTasks|} = ActionTasks (\_ _ -> return ((),defaultValue)) (\_ _ -> return ()) gDefault{|ActionTasks|} = ActionTasks (\_ _ -> return ((),defaultValue)) (\_ _ -> return ())
gText{|ActionTasks|} _ _ = ["Action item task definition"] gText{|ActionTasks|} _ _ = ["Action item task definition"]
gEditor{|ActionTasks|} = emptyEditor gEditor{|ActionTasks|} = emptyEditor
instance toString ActionProgress instance toString ActionProgress
where where
...@@ -280,7 +280,7 @@ predefinedTodoItem :: String ItemMeta -> CatalogAction ...@@ -280,7 +280,7 @@ predefinedTodoItem :: String ItemMeta -> CatalogAction
predefinedTodoItem identity meta=:{ItemMeta|title,description} predefinedTodoItem identity meta=:{ItemMeta|title,description}
= {CatalogAction|identity=identity,meta=meta,tasks=ActionTasks configer todoItemTask} = {CatalogAction|identity=identity,meta=meta,tasks=ActionTasks configer todoItemTask}
where where
configer initContacts initIncidents configer initContacts initIncidents
= return ((),{ActionStatus|title=title,description=description,progress=ActionActive,contacts=initContacts,incidents=initIncidents}) = return ((),{ActionStatus|title=title,description=description,progress=ActionActive,contacts=initContacts,incidents=initIncidents})
userTodoItem :: String ItemMeta -> CatalogAction userTodoItem :: String ItemMeta -> CatalogAction
...@@ -293,14 +293,14 @@ alertItemTask contactNo status = communicationItemTask contactNo status ...@@ -293,14 +293,14 @@ alertItemTask contactNo status = communicationItemTask contactNo status
configureAlertItemTask :: [ContactNo] [IncidentNo] -> Task ((ContactNo, Maybe P2000Message),ActionStatus) configureAlertItemTask :: [ContactNo] [IncidentNo] -> Task ((ContactNo, Maybe P2000Message),ActionStatus)
configureAlertItemTask initContacts initIncidents = configureCommunicationItemTask "Alert" initContacts initIncidents configureAlertItemTask initContacts initIncidents = configureCommunicationItemTask "Alert" initContacts initIncidents
configureUserAlertItemTask :: ItemMeta CommunicationActionDefinition [ContactNo] [IncidentNo] -> Task ((ContactNo,Maybe P2000Message),ActionStatus) configureUserAlertItemTask :: ItemMeta CommunicationActionDefinition [ContactNo] [IncidentNo] -> Task ((ContactNo,Maybe P2000Message),ActionStatus)
configureUserAlertItemTask meta def initContacts initIncidents = configureUserCommunicationItemTask "Alert" meta def initContacts initIncidents configureUserAlertItemTask meta def initContacts initIncidents = configureUserCommunicationItemTask "Alert" meta def initContacts initIncidents
blankAlertItem :: CatalogAction blankAlertItem :: CatalogAction
blankAlertItem = {CatalogAction|identity="blank-alert",meta={ItemMeta|title="Alert item",description=Nothing},tasks=ActionTasks configureAlertItemTask alertItemTask} blankAlertItem = {CatalogAction|identity="blank-alert",meta={ItemMeta|title="Alert item",description=Nothing},tasks=ActionTasks configureAlertItemTask alertItemTask}
predefinedAlertItem :: String ItemMeta (ContactNo,Maybe P2000Message) -> CatalogAction predefinedAlertItem :: String ItemMeta (ContactNo,Maybe P2000Message) -> CatalogAction
predefinedAlertItem identity meta=:{ItemMeta|title,description} config predefinedAlertItem identity meta=:{ItemMeta|title,description} config
= {CatalogAction|identity=identity,meta=meta,tasks=ActionTasks configer alertItemTask} = {CatalogAction|identity=identity,meta=meta,tasks=ActionTasks configer alertItemTask}
where where
configer initContacts initIncidents configer initContacts initIncidents
...@@ -312,19 +312,19 @@ userAlertItem identity meta def ...@@ -312,19 +312,19 @@ userAlertItem identity meta def
//Inform items //Inform items
informItemTask :: (ContactNo,Maybe P2000Message) (Shared ActionStatus) -> Task () informItemTask :: (ContactNo,Maybe P2000Message) (Shared ActionStatus) -> Task ()
informItemTask contactNo status = communicationItemTask contactNo status informItemTask contactNo status = communicationItemTask contactNo status
configureInformItemTask :: [ContactNo] [IncidentNo] -> Task ((ContactNo,Maybe P2000Message),ActionStatus) configureInformItemTask :: [ContactNo] [IncidentNo] -> Task ((ContactNo,Maybe P2000Message),ActionStatus)
configureInformItemTask initContacts initIncidents = configureCommunicationItemTask "Inform" initContacts initIncidents configureInformItemTask initContacts initIncidents = configureCommunicationItemTask "Inform" initContacts initIncidents
configureUserInformItemTask :: ItemMeta CommunicationActionDefinition [ContactNo] [IncidentNo] -> Task ((ContactNo,Maybe P2000Message),ActionStatus) configureUserInformItemTask :: ItemMeta CommunicationActionDefinition [ContactNo] [IncidentNo] -> Task ((ContactNo,Maybe P2000Message),ActionStatus)
configureUserInformItemTask meta def initContacts initIncidents = configureUserCommunicationItemTask "Inform" meta def initContacts initIncidents configureUserInformItemTask meta def initContacts initIncidents = configureUserCommunicationItemTask "Inform" meta def initContacts initIncidents
blankInformItem :: CatalogAction blankInformItem :: CatalogAction
blankInformItem = {CatalogAction|identity="blank-inform",meta={ItemMeta|title="Inform item",description=Nothing} blankInformItem = {CatalogAction|identity="blank-inform",meta={ItemMeta|title="Inform item",description=Nothing}
,tasks=ActionTasks configureInformItemTask informItemTask} ,tasks=ActionTasks configureInformItemTask informItemTask}
predefinedInformItem :: String ItemMeta (ContactNo,Maybe P2000Message) -> CatalogAction predefinedInformItem :: String ItemMeta (ContactNo,Maybe P2000Message) -> CatalogAction
predefinedInformItem identity meta=:{ItemMeta|title,description} config predefinedInformItem identity meta=:{ItemMeta|title,description} config
= {CatalogAction|identity=identity,meta=meta,tasks=ActionTasks configer informItemTask} = {CatalogAction|identity=identity,meta=meta,tasks=ActionTasks configer informItemTask}
where where
...@@ -335,7 +335,7 @@ userInformItem :: String ItemMeta CommunicationActionDefinition -> CatalogAction ...@@ -335,7 +335,7 @@ userInformItem :: String ItemMeta CommunicationActionDefinition -> CatalogAction
userInformItem identity meta def userInformItem identity meta def
= {CatalogAction|identity=identity,meta=meta,tasks=ActionTasks (configureUserInformItemTask meta def) informItemTask} = {CatalogAction|identity=identity,meta=meta,tasks=ActionTasks (configureUserInformItemTask meta def) informItemTask}
//List items //List items
listItemTask :: (String,ActionPlan) (Shared ActionStatus) -> Task () listItemTask :: (String,ActionPlan) (Shared ActionStatus) -> Task ()
listItemTask (title,plan) status listItemTask (title,plan) status
= upd (\s -> {ActionStatus|s & title = title}) status = upd (\s -> {ActionStatus|s & title = title}) status
...@@ -351,7 +351,7 @@ where ...@@ -351,7 +351,7 @@ where
where where
configureDelayed configer task list configureDelayed configer task list
= configer initContacts initIncidents = configer initContacts initIncidents
>>= \(config,status) -> >>= \(config,status) ->
set status (selfActionStatus list) set status (selfActionStatus list)
>>| task config (selfActionStatus list) >>| task config (selfActionStatus list)
initStatus {ItemMeta|title,description} initStatus {ItemMeta|title,description}
...@@ -361,11 +361,11 @@ where ...@@ -361,11 +361,11 @@ where
/* /*
= [(Detached (initAttributes identity (initStatus [] [])) True, \list -> task (selfActionStatus list)) //TODO: Maybe inherit contact+incident from parent = [(Detached (initAttributes identity (initStatus [] [])) True, \list -> task (selfActionStatus list)) //TODO: Maybe inherit contact+incident from parent
\\ item=:{CatalogAction|identity,task=ConfigurableAction configer task} <- init] \\ item=:{CatalogAction|identity,task=ConfigurableAction configer task} <- init]
*/ */
configureListItemTask :: [ContactNo] [IncidentNo] -> Task ((String,ActionPlan),ActionStatus) configureListItemTask :: [ContactNo] [IncidentNo] -> Task ((String,ActionPlan),ActionStatus)
configureListItemTask initContacts initIncidents configureListItemTask initContacts initIncidents
= enterActionStatus initContacts initIncidents = enterActionStatus initContacts initIncidents
@ \s -> ((s.ActionStatus.title, {ActionPlan|immediateActions=return [],suggestedActions=return []}),s) @ \s -> ((s.ActionStatus.title, {ActionPlan|immediateActions=return [],suggestedActions=return []}),s)
blankListItem :: CatalogAction blankListItem :: CatalogAction
...@@ -375,7 +375,7 @@ predefinedListItem :: String ItemMeta ActionPlan -> CatalogAction ...@@ -375,7 +375,7 @@ predefinedListItem :: String ItemMeta ActionPlan -> CatalogAction
predefinedListItem identity meta=:{ItemMeta|title,description} plan predefinedListItem identity meta=:{ItemMeta|title,description} plan
= {CatalogAction|identity=identity,meta=meta,tasks=ActionTasks configer listItemTask} = {CatalogAction|identity=identity,meta=meta,tasks=ActionTasks configer listItemTask}
where where
configer initContacts initIncidents configer initContacts initIncidents
= updateInitialActionStatus meta initContacts initIncidents = updateInitialActionStatus meta initContacts initIncidents
@ \s -> ((s.ActionStatus.title, plan),s) @ \s -> ((s.ActionStatus.title, plan),s)
...@@ -386,7 +386,7 @@ where ...@@ -386,7 +386,7 @@ where
task c status = listItemTask (title,plan c) status task c status = listItemTask (title,plan c) status
//TODO: Filter actions by their rules and watch data changes //TODO: Filter actions by their rules and watch data changes
userListItem :: String ItemMeta UserActionListDefinition -> CatalogAction userListItem :: String ItemMeta UserActionListDefinition -> CatalogAction
userListItem identity meta=:{ItemMeta|title,description} {immediateActions,additionalActions} userListItem identity meta=:{ItemMeta|title,description} {immediateActions,additionalActions}
= {CatalogAction|identity=identity,meta=meta,tasks=ActionTasks configer listItemTask} = {CatalogAction|identity=identity,meta=meta,tasks=ActionTasks configer listItemTask}
where where
...@@ -406,7 +406,7 @@ where ...@@ -406,7 +406,7 @@ where
//These tasks are used both by alert and inform actions //These tasks are used both by alert and inform actions
configureCommunicationItemTask :: String [ContactNo] [IncidentNo] -> Task ((ContactNo,Maybe P2000Message),ActionStatus) configureCommunicationItemTask :: String [ContactNo] [IncidentNo] -> Task ((ContactNo,Maybe P2000Message),ActionStatus)
configureCommunicationItemTask type initContacts initIncidents configureCommunicationItemTask type initContacts initIncidents
= (enterChoiceWithShared ("Select the contact to "+++ toLowerCase type) [] allContactsShort = (enterChoiceWithShared ("Select the contact to "+++ toLowerCase type) [] allContactsShort
-&&- -&&-
enterChoiceWithShared ("Select the incident to "+++toLowerCase type +++" about") [] openIncidentsShort enterChoiceWithShared ("Select the incident to "+++toLowerCase type +++" about") [] openIncidentsShort
...@@ -416,28 +416,28 @@ configureCommunicationItemTask type initContacts initIncidents ...@@ -416,28 +416,28 @@ configureCommunicationItemTask type initContacts initIncidents
,contacts=removeDup [contactIdentity c:initContacts] ,contacts=removeDup [contactIdentity c:initContacts]
,incidents=removeDup [incidentIdentity i:initIncidents]}) ,incidents=removeDup [incidentIdentity i:initIncidents]})
configureUserCommunicationItemTask :: String ItemMeta CommunicationActionDefinition [ContactNo] [IncidentNo] -> Task ((ContactNo,Maybe P2000Message),ActionStatus) configureUserCommunicationItemTask :: String ItemMeta CommunicationActionDefinition [ContactNo] [IncidentNo] -> Task ((ContactNo,Maybe P2000Message),ActionStatus)
configureUserCommunicationItemTask type meta {CommunicationActionDefinition|contactReference=Just ref,p2000Template} initContacts initIncidents configureUserCommunicationItemTask type meta {CommunicationActionDefinition|contactReference=Just ref,p2000Template} initContacts initIncidents
= findReferencedContacts ref = findReferencedContacts ref
>>- \contacts -> >>- \contacts ->
(enterChoiceAs ("Select the contact to " +++ toLowerCase type) [] contacts contactIdentity @ (\c -> (c,p2000Template))) (enterChoiceAs ("Select the contact to " +++ toLowerCase type) [] contacts contactIdentity @ (\c -> (c,p2000Template)))
-&&- -&&-
updateInitialActionStatus meta initContacts initIncidents updateInitialActionStatus meta initContacts initIncidents
configureUserCommunicationItemTask type _ _ initContacts initIncidents configureUserCommunicationItemTask type _ _ initContacts initIncidents
= configureCommunicationItemTask type initContacts initIncidents = configureCommunicationItemTask type initContacts initIncidents
communicationItemTask :: (ContactNo,Maybe P2000Message) (Shared ActionStatus) -> Task () communicationItemTask :: (ContactNo,Maybe P2000Message) (Shared ActionStatus) -> Task ()
communicationItemTask (contactNo,mbP2000Template) status communicationItemTask (contactNo,mbP2000Template) status
//View action description //View action description
= viewSharedInformation () [ViewAs (\{ActionStatus|description} -> description)] status = viewSharedInformation () [ViewAs (\{ActionStatus|description} -> description)] status
-&&- (( -&&- ((
//View contact communication means //View contact communication means
(viewContactCommunicationMeans contactNo (viewContactCommunicationMeans contactNo
>^* [OnAction ActionEdit (always (doOrClose (manageContactCommunicationMeans True contactNo) <<@ InWindow))] >^* [OnAction ActionEdit (always (doOrClose (manageContactCommunicationMeans True contactNo) <<@ InWindow))]
) )
//Manage list of communication attempts and initiate communications //Manage list of communication attempts and initiate communications
-&&- attemptCommunication contactNo -&&- attemptCommunication contactNo
) <<@ ArrangeWithSideBar 0 LeftSide 200 True) <<@ ArrangeWithSideBar 0 TopSide 50 True ) <<@ ArrangeWithSideBar 0 LeftSide 200 True) <<@ ArrangeWithSideBar 0 TopSide 50 True
@! () @! ()
where where
...@@ -464,7 +464,7 @@ where ...@@ -464,7 +464,7 @@ where
addP2000Message status attempts addP2000Message status attempts
= createCommunication P2000Message Out (Just contactNo) = createCommunication P2000Message Out (Just contactNo)
>>- \communicationNo -> >>- \communicationNo ->
maybe (return ()) (initMessageFromTemplate communicationNo contactNo) mbP2000Template maybe (return ()) (initMessageFromTemplate communicationNo contactNo) mbP2000Template
>>| doOrClose (composeP2000Message communicationNo) <<@ InWindow >>| doOrClose (composeP2000Message communicationNo) <<@ InWindow
>>- \mbCommunication -> case mbCommunication of >>- \mbCommunication -> case mbCommunication of
Nothing Nothing
...@@ -541,7 +541,7 @@ where ...@@ -541,7 +541,7 @@ where
addActionToFolders a folders = [(match,if (match a) (add a folder) folder) \\ (match,folder) <- folders] addActionToFolders a folders = [(match,if (match a) (add a folder) folder) \\ (match,folder) <- folders]
where where
add item=:(i,(iNo,pNo,action)) folder add item=:(i,(iNo,pNo,action)) folder
# (added,nodes) = inject item (choiceTreeChildren folder) # (added,nodes) = inject item (choiceTreeChildren folder)
# nodes = if added nodes (nodes ++ [node i iNo action]) # nodes = if added nodes (nodes ++ [node i iNo action])
# type = case folder.ChoiceTree.type of # type = case folder.ChoiceTree.type of
...@@ -689,7 +689,7 @@ manageCurrentSubActionItems status list ...@@ -689,7 +689,7 @@ manageCurrentSubActionItems status list
@! () @! ()
where where
//Filter the list for detached items //Filter the list for detached items
subTaskItems list = mapRead toActionStatusesTL (taskListMeta list) subTaskItems list = mapRead toActionStatusesTL (taskListMeta list)
format {ActionStatus|title,progress} format {ActionStatus|title,progress}
= {ActionStatusShort|progress=formatProgress progress,title=title} = {ActionStatusShort|progress=formatProgress progress,title=title}
...@@ -785,7 +785,7 @@ where ...@@ -785,7 +785,7 @@ where
removeCatalogItem item removeCatalogItem item
= viewInformation (Title "Remove") [] ("Remove " <+++ item.UserCatalogAction.identity <+++ "?") = viewInformation (Title "Remove") [] ("Remove " <+++ item.UserCatalogAction.identity <+++ "?")
>>? \nx -> >>? \nx ->
upd (\xs -> [x \\ x <- xs | x.UserCatalogAction.identity <> item.UserCatalogAction.identity]) userActionCatalog @! () upd (\xs -> [x \\ x <- xs | x.UserCatalogAction.identity <> item.UserCatalogAction.identity]) userActionCatalog @! ()
exportCatalog exportCatalog
...@@ -810,7 +810,7 @@ where ...@@ -810,7 +810,7 @@ where
) (\e -> viewInformation "Failed import action catalog" [] e @! ()) ) (\e -> viewInformation "Failed import action catalog" [] e @! ())
) <<@ Title "Import actions" ) <<@ Title "Import actions"
where where
instructions = toString instructions = toString
(PTag [] [Text "Please select a JSON export file to upload.",BrTag [] (PTag [] [Text "Please select a JSON export file to upload.",BrTag []
,Text "The file needs to be formatted like ",ATag [HrefAttr "/demo-content/actioncatalog.json",TargetAttr "_blank"] [Text "actioncatalog.json"] ,Text "The file needs to be formatted like ",ATag [HrefAttr "/demo-content/actioncatalog.json",TargetAttr "_blank"] [Text "actioncatalog.json"]
]) ])
......
implementation module Incidone.ContactPosition implementation module Incidone.ContactPosition
import iTasks, iTasks.UI.Editor, iTasks.UI.Editor.Controls, iTasks.UI.Editor.Modifiers, iTasks.UI.Definition import iTasks, iTasks.UI.Editor, iTasks.UI.Editor.Controls, iTasks.UI.Editor.Modifiers, iTasks.UI.Definition
import qualified Data.Map as DM import qualified Data.Map as DM
import Data.Functor, Data.List, Text import Data.Functor, Data.List, Text
import qualified Text.Parsers.ZParsers.ParsersKernel as PK import qualified Text.Parsers.ZParsers.ParsersKernel as PK
import qualified Text.Parsers.ZParsers.ParsersDerived as PD import qualified Text.Parsers.ZParsers.ParsersDerived as PD
import qualified Control.Applicative as CA import qualified Control.Applicative as CA
...@@ -15,7 +15,7 @@ import Incidone.Util.TaskPatterns ...@@ -15,7 +15,7 @@ import Incidone.Util.TaskPatterns
derive JSONEncode ContactPosition derive JSONEncode ContactPosition
derive JSONDecode ContactPosition derive JSONDecode ContactPosition
gEditor{|ContactPosition|} = bijectEditorValue printPosition parsePosition textField gEditor{|ContactPosition|} = bijectEditorValue printPosition parsePosition textField
gText{|ContactPosition|} _ val = [maybe "" printPosition val] gText{|ContactPosition|} _ val = [maybe "" printPosition val]
derive gDefault ContactPosition derive gDefault ContactPosition
......
...@@ -7,7 +7,7 @@ import Text.HTML ...@@ -7,7 +7,7 @@ import Text.HTML
selectVideoWallContent :: Task () selectVideoWallContent :: Task ()
selectVideoWallContent selectVideoWallContent
= (header ||- selectContent) <<@ (ArrangeWithSideBar 0 TopSide 30 False) = (header ||- selectContent) <<@ (ArrangeWithSideBar 0 TopSide 30 False)
@! () @! ()
where where
header header
......
...@@ -38,7 +38,7 @@ answerPhoneCall communicationNo ...@@ -38,7 +38,7 @@ answerPhoneCall communicationNo
>>| connectInboundPhoneCall communicationNo >>| connectInboundPhoneCall communicationNo
||- ((manageCommunicationContact communicationNo ||- ((manageCommunicationContact communicationNo
-&&- -&&-
manageVoiceCallContent PhoneCall communicationNo) <<@ ArrangeWithSideBar 0 LeftSide 300 True)