aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-12-12 16:03:37 +0100
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-12-12 16:03:37 +0100
commitbb4e22695ce0b876ca6731f14838eadeb264c3f1 (patch)
treea373d5ddaf3985cb79955766142345841371ce01
parentce184032e802efd38679fe14ba655db23f79cdb2 (diff)
WebApp: Create a procedure widget and show active procedures.
-rw-r--r--WebApp.st44
1 files changed, 42 insertions, 2 deletions
diff --git a/WebApp.st b/WebApp.st
index 0e0bb34..3db2be2 100644
--- a/WebApp.st
+++ b/WebApp.st
@@ -102,6 +102,7 @@ Iliad.ILWidget subclass: ProcedureWidget [
proc := aBlock value.
proc run.
self session procedures add: proc.
+ self application procedures markDirty.
] on: Exception do: [:e |
self lightbox: (ErrorWidget initWith: aName, ' could not be started.')
]
@@ -136,6 +137,40 @@ ProcedureWidget subclass: CallWidget [
]
]
+Iliad.ILWidget subclass: ProcedureWidget [
+ showStatus: item on: form [
+ | status |
+ status := item complete
+ ifTrue: [
+ item success
+ ifTrue: [item name, ' completed with success']
+ ifFalse: [item name, ' completed with failure'].
+ ]
+ ifFalse: [
+ item name, ' in-progress'
+ ].
+
+ form text: status.
+ form button
+ text: 'Remove';
+ action: [self markDirty. self session procedures remove: item.].
+ ]
+
+ contents [
+ ^ [:e | | procs |
+ e a
+ action: [self markDirty];
+ text: 'Refresh Procedures'.
+
+ procs := self session procedures.
+ procs do: [:each |
+ e form build: [:form |
+ self showStatus: each on: form.]
+ ]
+ ]
+ ]
+]
+
Iliad.ILSession subclass: GSMTestphoneSession [
| user gsmConfig procedures |
@@ -152,7 +187,7 @@ Iliad.ILSession subclass: GSMTestphoneSession [
]
Iliad.ILApplication subclass: GSMTestphoneApp [
- | config call lu serverConfig gsmServer |
+ | config call lu serverConfig gsmServer procedureWidget |
GSMTestphoneApp class >> path [ ^ 'testphone' ]
GSMTestphoneApp class >> initialize [
@@ -171,6 +206,10 @@ Iliad.ILApplication subclass: GSMTestphoneApp [
^ serverConfig ifNil: [serverConfig := ServerConfigWidget new]
]
+ procedures [
+ ^ procedureWidget ifNil: [procedureWidget := ProcedureWidget new]
+ ]
+
call [
^ call ifNil: [call := CallWidget new]
]
@@ -187,7 +226,8 @@ Iliad.ILApplication subclass: GSMTestphoneApp [
build: self serverConfig;
build: self phoneConfig;
build: self lu;
- build: self call.
+ build: self call;
+ build: self procedures.
].
]