Skip to content

Commit

Permalink
Merge again DelayedViewRenderer
Browse files Browse the repository at this point in the history
  • Loading branch information
gcotelli committed Aug 9, 2017
1 parent a32e85c commit efbb08d
Show file tree
Hide file tree
Showing 13 changed files with 80 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
tests-Supplying
testDelayedViewShowingWhileEvaluatingThenRendering

| supplier delayedView html |

supplier := Html5ComponentSupplier new.

delayedView := supplier delayedViewShowing: 'Loading...' whileEvaluating: [ ] thenRendering: 'Done!'.

html := self render: delayedView.

self
assert: html
equals: '<div id="Delayed-id1">Loading...</div><script type="text/javascript">Willow.callServer({"url":"/","data":"2"});</script>'
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"testSynchronicButtonLabeledApplyingEvaluating" : "GabrielOmarCotelli 4/25/2017 11:13",
"testTableBuilderWithRowCommand" : "GabrielOmarCotelli 6/8/2017 18:12",
"testSingleLineTextFieldApplying" : "GabrielOmarCotelli 4/25/2017 11:10",
"testDelayedViewShowingWhileEvaluatingThenRendering" : "GabrielOmarCotelli 8/8/2017 17:48",
"testTableBuilderForHeadlessTable" : "GabrielOmarCotelli 6/8/2017 18:14",
"testUnorderedListApplyingListingApplyingToEach" : "GabrielOmarCotelli 5/2/2017 17:51",
"testAsynchronicButtonLabeledApplying" : "GabrielOmarCotelli 4/11/2017 18:05",
Expand All @@ -19,4 +20,4 @@
"testDateFieldApplying" : "GabrielOmarCotelli 4/20/2017 16:55"
},
"class" : { }
}
}
1 change: 1 addition & 0 deletions source/Willow.package/DelayedViewRenderer.class/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
I'm a web view showing a throbber while evaluating an action block and then rendering another view
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
as yet unclassified
showing: aThrobber whileEvaluating: aBlock thenRendering: aView

^ self new initializeShowing: aThrobber whileEvaluating: aBlock thenRendering: aView
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
initialization
initializeInteractionToEvaluate: aBlock thenRender: aView

interaction := WebComponentInteraction triggeredOnClick.
interaction
onTriggerExecute:
(EvaluatingCommand
for: [ aBlock value.
self setCurrentViewTo: aView ]);
onTriggerExecute: (RenderingCommand for: identifiedDelayedView)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
initialization
initializeShowing: aThrobber whileEvaluating: aBlock thenRendering: aView

self setCurrentViewTo: aThrobber.
identifiedDelayedView := IdentifiedWebView forDivNamed: 'Delayed' containing: [ :canvas | canvas render: currentView ].
self initializeInteractionToEvaluate: aBlock thenRender: aView
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
rendering
renderContentOn: aCanvas

aCanvas render: identifiedDelayedView.
"This is way too hacky, but for now is the way to go"
interaction prepareActions.
aCanvas document addLoadScript: (interaction commandToExecuteOn: aCanvas)
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
initialization
setCurrentViewTo: aView

currentView := aView
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"instance" : {
"renderContentOn:" : "GabrielOmarCotelli 8/8/2017 17:45",
"setCurrentViewTo:" : "GabrielOmarCotelli 8/8/2017 17:45",
"initializeInteractionToEvaluate:thenRender:" : "GabrielOmarCotelli 8/8/2017 17:45",
"initializeShowing:whileEvaluating:thenRendering:" : "GabrielOmarCotelli 8/8/2017 17:50"
},
"class" : {
"showing:whileEvaluating:thenRendering:" : "GabrielOmarCotelli 8/8/2017 17:45"
}
}
15 changes: 15 additions & 0 deletions source/Willow.package/DelayedViewRenderer.class/properties.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"commentStamp" : "GabrielOmarCotelli 8/8/2017 17:46",
"super" : "WAPresenter",
"category" : "Willow-WebViews",
"classinstvars" : [ ],
"pools" : [ ],
"classvars" : [ ],
"instvars" : [
"identifiedDelayedView",
"currentView",
"interaction"
],
"name" : "DelayedViewRenderer",
"type" : "normal"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Supplying
delayedViewShowing: aThrobber whileEvaluating: aBlock thenRendering: aRenderable

^ DelayedViewRenderer showing: aThrobber whileEvaluating: aBlock thenRendering: aRenderable
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"instance" : {
"asynchronicAnchorLabeled:applying:" : "MaximilianoTabacman 8/8/2017 09:03",
"delayedViewShowing:whileEvaluating:thenRendering:" : "GabrielOmarCotelli 8/8/2017 17:45",
"synchronicButtonLabeled:applying:evaluating:" : "GabrielOmarCotelli 4/25/2017 10:33",
"checkboxUnlabeledOnModel:offModel:applying:" : "MaximilianoTabacman 8/8/2017 09:42",
"checkboxLabeled:onModel:offModel:applying:" : "MaximilianoTabacman 8/8/2017 19:42",
Expand All @@ -17,4 +18,4 @@
"addStatementsTo:toCloseDialogsIn:matching:on:" : "GabrielOmarCotelli 6/30/2017 11:42"
},
"class" : { }
}
}
Binary file modified source/Willow.package/monticello.meta/version
Binary file not shown.

0 comments on commit efbb08d

Please sign in to comment.