|  | @@ -56,11 +56,23 @@ selector: "showBlock",
 | 
	
		
			
				|  |  |  category: 'action',
 | 
	
		
			
				|  |  |  fn: function (){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -smalltalk.send(self,"_subclassResponsibility",[]);
 | 
	
		
			
				|  |  | -return self},
 | 
	
		
			
				|  |  | +var $3,$2,$1;
 | 
	
		
			
				|  |  | +$1=(function(model){
 | 
	
		
			
				|  |  | +smalltalk.send(self["@brush"],"_empty",[]);
 | 
	
		
			
				|  |  | +if(($receiver = model) == nil || $receiver == undefined){
 | 
	
		
			
				|  |  | +$3=(function(){
 | 
	
		
			
				|  |  | +});
 | 
	
		
			
				|  |  | +} else {
 | 
	
		
			
				|  |  | +$3=model;
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +$2=smalltalk.send(self["@brush"],"_with_",[$3]);
 | 
	
		
			
				|  |  | +return $2;
 | 
	
		
			
				|  |  | +});
 | 
	
		
			
				|  |  | +return $1;
 | 
	
		
			
				|  |  | +},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  | -source: "showBlock\x0a\x09self subclassResponsibility",
 | 
	
		
			
				|  |  | -messageSends: ["subclassResponsibility"],
 | 
	
		
			
				|  |  | +source: "showBlock\x0a\x09^[ :model | brush empty; with: (model ifNil: [[]]) ]",
 | 
	
		
			
				|  |  | +messageSends: ["empty", "with:", "ifNil:"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.TrappedBinder);
 | 
	
	
		
			
				|  | @@ -168,11 +180,11 @@ selector: "renderOn:",
 | 
	
		
			
				|  |  |  category: 'rendering',
 | 
	
		
			
				|  |  |  fn: function (html){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -smalltalk.send(smalltalk.send(html,"_root",[]),"_trapShow_",[[]]);
 | 
	
		
			
				|  |  | +smalltalk.send(smalltalk.send(html,"_root",[]),"_trap_",[[]]);
 | 
	
		
			
				|  |  |  return self},
 | 
	
		
			
				|  |  |  args: ["html"],
 | 
	
		
			
				|  |  | -source: "renderOn: html\x0a\x09html root trapShow: #()",
 | 
	
		
			
				|  |  | -messageSends: ["trapShow:", "root"],
 | 
	
		
			
				|  |  | +source: "renderOn: html\x0a\x09html root trap: #()",
 | 
	
		
			
				|  |  | +messageSends: ["trap:", "root"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.TrappedDumbView);
 | 
	
	
		
			
				|  | @@ -480,18 +492,33 @@ selector: "binder:",
 | 
	
		
			
				|  |  |  category: 'binders',
 | 
	
		
			
				|  |  |  fn: function (aTagBrush){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -var $2,$3,$1;
 | 
	
		
			
				|  |  | +var $1,$2,$3,$5,$4;
 | 
	
		
			
				|  |  | +var binder;
 | 
	
		
			
				|  |  | +var tag;
 | 
	
		
			
				|  |  | +tag=smalltalk.send(smalltalk.send(aTagBrush,"_element",[]),"_nodeName",[]);
 | 
	
		
			
				|  |  | +$1=smalltalk.send(tag,"__eq",["INPUT"]);
 | 
	
		
			
				|  |  | +if(smalltalk.assert($1)){
 | 
	
		
			
				|  |  |  $2=smalltalk.send((smalltalk.TrappedAttrBinder || TrappedAttrBinder),"_new",[]);
 | 
	
		
			
				|  |  |  smalltalk.send($2,"_attr_",["checked"]);
 | 
	
		
			
				|  |  | -smalltalk.send($2,"_brush_",[aTagBrush]);
 | 
	
		
			
				|  |  |  $3=smalltalk.send($2,"_yourself",[]);
 | 
	
		
			
				|  |  | -$1=$3;
 | 
	
		
			
				|  |  | -return $1;
 | 
	
		
			
				|  |  | +binder=$3;
 | 
	
		
			
				|  |  | +binder;
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +if(($receiver = binder) == nil || $receiver == undefined){
 | 
	
		
			
				|  |  | +binder=smalltalk.send((smalltalk.TrappedBinder || TrappedBinder),"_new",[]);
 | 
	
		
			
				|  |  | +binder;
 | 
	
		
			
				|  |  | +} else {
 | 
	
		
			
				|  |  | +binder;
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +smalltalk.send(binder,"_brush_",[aTagBrush]);
 | 
	
		
			
				|  |  | +$5=smalltalk.send(binder,"_yourself",[]);
 | 
	
		
			
				|  |  | +$4=$5;
 | 
	
		
			
				|  |  | +return $4;
 | 
	
		
			
				|  |  |  },
 | 
	
		
			
				|  |  |  args: ["aTagBrush"],
 | 
	
		
			
				|  |  | -source: "binder: aTagBrush\x0a    \x22Prototype; will select based on tag etc.\x22\x0a    ^TrappedAttrBinder new attr: 'checked'; brush: aTagBrush; yourself",
 | 
	
		
			
				|  |  | -messageSends: ["attr:", "new", "brush:", "yourself"],
 | 
	
		
			
				|  |  | -referencedClasses: ["TrappedAttrBinder"]
 | 
	
		
			
				|  |  | +source: "binder: aTagBrush\x0a    \x22Prototype; will select based on tag etc.\x22\x0a    | binder tag |\x0a    tag := aTagBrush element nodeName.\x0a    tag = 'INPUT' ifTrue: [\x0a    \x09binder := TrappedAttrBinder new attr: 'checked'; yourself\x0a    ].\x0a    binder ifNil: [ binder := TrappedBinder new ].\x0a    ^ binder brush: aTagBrush; yourself",
 | 
	
		
			
				|  |  | +messageSends: ["nodeName", "element", "ifTrue:", "attr:", "new", "yourself", "=", "ifNil:", "brush:"],
 | 
	
		
			
				|  |  | +referencedClasses: ["TrappedAttrBinder", "TrappedBinder"]
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.Trapped);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -778,6 +805,22 @@ referencedClasses: ["TrappedPathStack"]
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.Array);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +smalltalk.addMethod(
 | 
	
		
			
				|  |  | +"_trap_",
 | 
	
		
			
				|  |  | +smalltalk.method({
 | 
	
		
			
				|  |  | +selector: "trap:",
 | 
	
		
			
				|  |  | +category: '*Trapped-Frontend',
 | 
	
		
			
				|  |  | +fn: function (path){
 | 
	
		
			
				|  |  | +var self=this;
 | 
	
		
			
				|  |  | +smalltalk.send(smalltalk.send(smalltalk.send((smalltalk.Trapped || Trapped),"_current",[]),"_binder_",[self]),"_installFor_",[path]);
 | 
	
		
			
				|  |  | +return self},
 | 
	
		
			
				|  |  | +args: ["path"],
 | 
	
		
			
				|  |  | +source: "trap: path\x0a\x09(Trapped current binder: self) installFor: path",
 | 
	
		
			
				|  |  | +messageSends: ["installFor:", "binder:", "current"],
 | 
	
		
			
				|  |  | +referencedClasses: ["Trapped"]
 | 
	
		
			
				|  |  | +}),
 | 
	
		
			
				|  |  | +smalltalk.TagBrush);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  smalltalk.addMethod(
 | 
	
		
			
				|  |  |  "_trap_modify_",
 | 
	
		
			
				|  |  |  smalltalk.method({
 | 
	
	
		
			
				|  | @@ -890,22 +933,6 @@ referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.TagBrush);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -smalltalk.addMethod(
 | 
	
		
			
				|  |  | -"_trapBind_",
 | 
	
		
			
				|  |  | -smalltalk.method({
 | 
	
		
			
				|  |  | -selector: "trapBind:",
 | 
	
		
			
				|  |  | -category: '*Trapped-Frontend',
 | 
	
		
			
				|  |  | -fn: function (path){
 | 
	
		
			
				|  |  | -var self=this;
 | 
	
		
			
				|  |  | -smalltalk.send(smalltalk.send(smalltalk.send((smalltalk.Trapped || Trapped),"_current",[]),"_binder_",[self]),"_installFor_",[path]);
 | 
	
		
			
				|  |  | -return self},
 | 
	
		
			
				|  |  | -args: ["path"],
 | 
	
		
			
				|  |  | -source: "trapBind: path\x0a\x09(Trapped current binder: self) installFor: path",
 | 
	
		
			
				|  |  | -messageSends: ["installFor:", "binder:", "current"],
 | 
	
		
			
				|  |  | -referencedClasses: ["Trapped"]
 | 
	
		
			
				|  |  | -}),
 | 
	
		
			
				|  |  | -smalltalk.TagBrush);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  smalltalk.addMethod(
 | 
	
		
			
				|  |  |  "_trapIter_tag_do_",
 | 
	
		
			
				|  |  |  smalltalk.method({
 | 
	
	
		
			
				|  | @@ -931,46 +958,3 @@ referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.TagBrush);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -smalltalk.addMethod(
 | 
	
		
			
				|  |  | -"_trapShow_",
 | 
	
		
			
				|  |  | -smalltalk.method({
 | 
	
		
			
				|  |  | -selector: "trapShow:",
 | 
	
		
			
				|  |  | -category: '*Trapped-Frontend',
 | 
	
		
			
				|  |  | -fn: function (path){
 | 
	
		
			
				|  |  | -var self=this;
 | 
	
		
			
				|  |  | -smalltalk.send(self,"_trapShow_default_",[path,(function(){
 | 
	
		
			
				|  |  | -})]);
 | 
	
		
			
				|  |  | -return self},
 | 
	
		
			
				|  |  | -args: ["path"],
 | 
	
		
			
				|  |  | -source: "trapShow: path\x0a\x09self trapShow: path default: []",
 | 
	
		
			
				|  |  | -messageSends: ["trapShow:default:"],
 | 
	
		
			
				|  |  | -referencedClasses: []
 | 
	
		
			
				|  |  | -}),
 | 
	
		
			
				|  |  | -smalltalk.TagBrush);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -smalltalk.addMethod(
 | 
	
		
			
				|  |  | -"_trapShow_default_",
 | 
	
		
			
				|  |  | -smalltalk.method({
 | 
	
		
			
				|  |  | -selector: "trapShow:default:",
 | 
	
		
			
				|  |  | -category: '*Trapped-Frontend',
 | 
	
		
			
				|  |  | -fn: function (path,anObject){
 | 
	
		
			
				|  |  | -var self=this;
 | 
	
		
			
				|  |  | -var $2,$1;
 | 
	
		
			
				|  |  | -smalltalk.send(self,"_trap_read_",[path,(function(model){
 | 
	
		
			
				|  |  | -smalltalk.send(self,"_empty",[]);
 | 
	
		
			
				|  |  | -if(($receiver = model) == nil || $receiver == undefined){
 | 
	
		
			
				|  |  | -$2=anObject;
 | 
	
		
			
				|  |  | -} else {
 | 
	
		
			
				|  |  | -$2=model;
 | 
	
		
			
				|  |  | -};
 | 
	
		
			
				|  |  | -$1=smalltalk.send(self,"_with_",[$2]);
 | 
	
		
			
				|  |  | -return $1;
 | 
	
		
			
				|  |  | -})]);
 | 
	
		
			
				|  |  | -return self},
 | 
	
		
			
				|  |  | -args: ["path", "anObject"],
 | 
	
		
			
				|  |  | -source: "trapShow: path default: anObject\x0a\x09self trap: path read: [ :model | self empty; with: (model ifNil: [anObject]) ]",
 | 
	
		
			
				|  |  | -messageSends: ["trap:read:", "empty", "with:", "ifNil:"],
 | 
	
		
			
				|  |  | -referencedClasses: []
 | 
	
		
			
				|  |  | -}),
 | 
	
		
			
				|  |  | -smalltalk.TagBrush);
 | 
	
		
			
				|  |  | -
 |