Browse Source

empty the contents of trapGuard-hidden element

... to allow trapped subscriptions to unsubscribe
Herbert Vojčík 11 years ago
parent
commit
7b1ba780c4
2 changed files with 8 additions and 5 deletions
  1. 7 4
      lib/js/Trapped-Frontend.js
  2. 1 1
      lib/st/Trapped-Frontend.st

+ 7 - 4
lib/js/Trapped-Frontend.js

@@ -854,7 +854,7 @@ category: '*Trapped-Frontend',
 fn: function (anArray,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-var $1,$2,$3;
+var $1,$2,$3,$4,$5;
 []._trapDescend_((function(snap){
 var shown;
 return smalltalk.withContext(function($ctx2) {
@@ -876,15 +876,18 @@ $3=self._asJQuery();
 $ctx3.sendIdx["asJQuery"]=1;
 return _st($3)._show();
 } else {
-return _st(self._asJQuery())._hide();
+$4=self._asJQuery();
+_st($4)._hide();
+$5=_st($4)._empty();
+return $5;
 };
 };
 }, function($ctx3) {$ctx3.fillBlock({gdata:gdata},$ctx2,2)})}));
 }, function($ctx2) {$ctx2.fillBlock({snap:snap,shown:shown},$ctx1,1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"trapGuard:contents:",{anArray:anArray,aBlock:aBlock},smalltalk.TagBrush)})},
 args: ["anArray", "aBlock"],
-source: "trapGuard: anArray contents: aBlock\x0a\x09#() trapDescend: [ :snap |\x0a\x09    | shown |\x0a    \x09shown := nil.\x0a\x09    self trap: anArray read: [ :gdata |\x0a    \x09    shown = gdata ifFalse: [\x0a        \x09    shown := gdata.\x0a            \x09shown\x0a\x09\x09\x09\x09\x09ifTrue: [ snap do: [ self contents: aBlock ]. self asJQuery show ]\x0a\x09\x09\x09\x09\x09ifFalse: [ self asJQuery hide ] ] ] ]",
-messageSends: ["trapDescend:", "trap:read:", "ifFalse:", "=", "ifTrue:ifFalse:", "do:", "contents:", "show", "asJQuery", "hide"],
+source: "trapGuard: anArray contents: aBlock\x0a\x09#() trapDescend: [ :snap |\x0a\x09    | shown |\x0a    \x09shown := nil.\x0a\x09    self trap: anArray read: [ :gdata |\x0a    \x09    shown = gdata ifFalse: [\x0a        \x09    shown := gdata.\x0a            \x09shown\x0a\x09\x09\x09\x09\x09ifTrue: [ snap do: [ self contents: aBlock ]. self asJQuery show ]\x0a\x09\x09\x09\x09\x09ifFalse: [ self asJQuery hide; empty ] ] ] ]",
+messageSends: ["trapDescend:", "trap:read:", "ifFalse:", "=", "ifTrue:ifFalse:", "do:", "contents:", "show", "asJQuery", "hide", "empty"],
 referencedClasses: []
 }),
 smalltalk.TagBrush);

+ 1 - 1
lib/st/Trapped-Frontend.st

@@ -297,6 +297,6 @@ trapGuard: anArray contents: aBlock
         	    shown := gdata.
             	shown
 					ifTrue: [ snap do: [ self contents: aBlock ]. self asJQuery show ]
-					ifFalse: [ self asJQuery hide ] ] ] ]
+					ifFalse: [ self asJQuery hide; empty ] ] ] ]
 ! !