Browse Source

TrappedDumbView, using it as default.

Herbert Vojčík 12 years ago
parent
commit
0d943d6641
7 changed files with 62 additions and 46 deletions
  1. 1 1
      demo.html
  2. 0 14
      js/Trapped-Demo.deploy.js
  3. 0 19
      js/Trapped-Demo.js
  4. 20 0
      js/Trapped-Frontend.deploy.js
  5. 28 2
      js/Trapped-Frontend.js
  6. 0 10
      st/Trapped-Demo.st
  7. 13 0
      st/Trapped-Frontend.st

+ 1 - 1
demo.html

@@ -1,6 +1,6 @@
 <html>
 <head>
-    <title data-trap="NameView: App title"></title>
+    <title data-trap="App title"></title>
     <script src="/vendor/amber/js/amber.js"></script>
 </head>
 <body>

+ 0 - 14
js/Trapped-Demo.deploy.js

@@ -29,17 +29,3 @@ smalltalk.AppView);
 
 
 
-smalltalk.addClass('NameView', smalltalk.Widget, [], 'Trapped-Demo');
-smalltalk.addMethod(
-"_renderOn_",
-smalltalk.method({
-selector: "renderOn:",
-fn: function (html){
-var self=this;
-smalltalk.send(smalltalk.send(html,"_root",[]),"_trapShow_",[[]]);
-return self}
-}),
-smalltalk.NameView);
-
-
-

+ 0 - 19
js/Trapped-Demo.js

@@ -39,22 +39,3 @@ smalltalk.AppView);
 
 
 
-smalltalk.addClass('NameView', smalltalk.Widget, [], 'Trapped-Demo');
-smalltalk.addMethod(
-"_renderOn_",
-smalltalk.method({
-selector: "renderOn:",
-category: 'rendering',
-fn: function (html){
-var self=this;
-smalltalk.send(smalltalk.send(html,"_root",[]),"_trapShow_",[[]]);
-return self},
-args: ["html"],
-source: "renderOn: html\x0a\x09html root trapShow: #()",
-messageSends: ["trapShow:", "root"],
-referencedClasses: []
-}),
-smalltalk.NameView);
-
-
-

+ 20 - 0
js/Trapped-Frontend.deploy.js

@@ -1,4 +1,18 @@
 smalltalk.addPackage('Trapped-Frontend', {});
+smalltalk.addClass('TrappedDumbView', smalltalk.Widget, [], 'Trapped-Frontend');
+smalltalk.addMethod(
+"_renderOn_",
+smalltalk.method({
+selector: "renderOn:",
+fn: function (html){
+var self=this;
+smalltalk.send(smalltalk.send(html,"_root",[]),"_trapShow_",[[]]);
+return self}
+}),
+smalltalk.TrappedDumbView);
+
+
+
 smalltalk.addClass('TrappedPlainModel', smalltalk.Object, ['payload'], 'Trapped-Frontend');
 smalltalk.addMethod(
 "_name",
@@ -163,6 +177,7 @@ smalltalk.method({
 selector: "start",
 fn: function (){
 var self=this;
+var $1;
 smalltalk.send(smalltalk.send("[data-trap]","_asJQuery",[]),"_each_",[(function(index,elem){
 var trap;
 var jq;
@@ -176,6 +191,11 @@ trap=smalltalk.send(jq,"_attr_",["data-trap"]);
 trap;
 tokens=smalltalk.send(trap,"_tokenize_",[":"]);
 tokens;
+$1=smalltalk.send(smalltalk.send(tokens,"_size",[]),"__eq",[(1)]);
+if(smalltalk.assert($1)){
+tokens=smalltalk.send(["TrappedDumbView"],"__comma",[tokens]);
+tokens;
+};
 viewName=smalltalk.send(tokens,"_first",[]);
 viewName;
 tokens=smalltalk.send(smalltalk.send(smalltalk.send(tokens,"_second",[]),"_tokenize_",[" "]),"_select_",[(function(each){

+ 28 - 2
js/Trapped-Frontend.js

@@ -1,4 +1,24 @@
 smalltalk.addPackage('Trapped-Frontend', {});
+smalltalk.addClass('TrappedDumbView', smalltalk.Widget, [], 'Trapped-Frontend');
+smalltalk.TrappedDumbView.comment="I just read and show an actual path."
+smalltalk.addMethod(
+"_renderOn_",
+smalltalk.method({
+selector: "renderOn:",
+category: 'rendering',
+fn: function (html){
+var self=this;
+smalltalk.send(smalltalk.send(html,"_root",[]),"_trapShow_",[[]]);
+return self},
+args: ["html"],
+source: "renderOn: html\x0a\x09html root trapShow: #()",
+messageSends: ["trapShow:", "root"],
+referencedClasses: []
+}),
+smalltalk.TrappedDumbView);
+
+
+
 smalltalk.addClass('TrappedPlainModel', smalltalk.Object, ['payload'], 'Trapped-Frontend');
 smalltalk.addMethod(
 "_name",
@@ -224,6 +244,7 @@ selector: "start",
 category: 'action',
 fn: function (){
 var self=this;
+var $1;
 smalltalk.send(smalltalk.send("[data-trap]","_asJQuery",[]),"_each_",[(function(index,elem){
 var trap;
 var jq;
@@ -237,6 +258,11 @@ trap=smalltalk.send(jq,"_attr_",["data-trap"]);
 trap;
 tokens=smalltalk.send(trap,"_tokenize_",[":"]);
 tokens;
+$1=smalltalk.send(smalltalk.send(tokens,"_size",[]),"__eq",[(1)]);
+if(smalltalk.assert($1)){
+tokens=smalltalk.send(["TrappedDumbView"],"__comma",[tokens]);
+tokens;
+};
 viewName=smalltalk.send(tokens,"_first",[]);
 viewName;
 tokens=smalltalk.send(smalltalk.send(smalltalk.send(tokens,"_second",[]),"_tokenize_",[" "]),"_select_",[(function(each){
@@ -253,8 +279,8 @@ return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send((smalltalk.Sm
 })]);
 return self},
 args: [],
-source: "start\x0a\x09'[data-trap]' asJQuery each: [ :index :elem |\x0a    \x09| trap jq viewName modelName tokens path |\x0a        jq := elem asJQuery.\x0a        trap := jq attr: 'data-trap'.\x0a        tokens := trap tokenize: ':'.\x0a        viewName := tokens first.\x0a        tokens := (tokens second tokenize: ' ') select: [ :each | each notEmpty ].\x0a        modelName := tokens first.\x0a        path := Trapped parse: tokens allButFirst.\x0a        { modelName }, path trapDescend: [(Smalltalk current at: viewName) new appendToJQuery: jq].\x0a    ]",
-messageSends: ["each:", "asJQuery", "attr:", "tokenize:", "first", "select:", "notEmpty", "second", "parse:", "allButFirst", "trapDescend:", "appendToJQuery:", "new", "at:", "current", ","],
+source: "start\x0a\x09'[data-trap]' asJQuery each: [ :index :elem |\x0a    \x09| trap jq viewName modelName tokens path |\x0a        jq := elem asJQuery.\x0a        trap := jq attr: 'data-trap'.\x0a        tokens := trap tokenize: ':'.\x0a        tokens size = 1 ifTrue: [ tokens := { 'TrappedDumbView' }, tokens ].\x0a        viewName := tokens first.\x0a        tokens := (tokens second tokenize: ' ') select: [ :each | each notEmpty ].\x0a        modelName := tokens first.\x0a        path := Trapped parse: tokens allButFirst.\x0a        { modelName }, path trapDescend: [(Smalltalk current at: viewName) new appendToJQuery: jq].\x0a    ]",
+messageSends: ["each:", "asJQuery", "attr:", "tokenize:", "ifTrue:", ",", "=", "size", "first", "select:", "notEmpty", "second", "parse:", "allButFirst", "trapDescend:", "appendToJQuery:", "new", "at:", "current"],
 referencedClasses: ["Trapped", "Smalltalk"]
 }),
 smalltalk.Trapped);

+ 0 - 10
st/Trapped-Demo.st

@@ -21,13 +21,3 @@ renderOn: html
 	html p trapShow: #('items')
 ! !
 
-Widget subclass: #NameView
-	instanceVariableNames: ''
-	package: 'Trapped-Demo'!
-
-!NameView methodsFor: 'rendering'!
-
-renderOn: html
-	html root trapShow: #()
-! !
-

+ 13 - 0
st/Trapped-Frontend.st

@@ -1,4 +1,16 @@
 Smalltalk current createPackage: 'Trapped-Frontend' properties: #{}!
+Widget subclass: #TrappedDumbView
+	instanceVariableNames: ''
+	package: 'Trapped-Frontend'!
+!TrappedDumbView commentStamp!
+I just read and show an actual path.!
+
+!TrappedDumbView methodsFor: 'rendering'!
+
+renderOn: html
+	html root trapShow: #()
+! !
+
 Object subclass: #TrappedPlainModel
 	instanceVariableNames: 'payload'
 	package: 'Trapped-Frontend'!
@@ -82,6 +94,7 @@ start
         jq := elem asJQuery.
         trap := jq attr: 'data-trap'.
         tokens := trap tokenize: ':'.
+        tokens size = 1 ifTrue: [ tokens := { 'TrappedDumbView' }, tokens ].
         viewName := tokens first.
         tokens := (tokens second tokenize: ' ') select: [ :each | each notEmpty ].
         modelName := tokens first.