]> gitweb.factorcode.org Git - factor.git/commitdiff
fjsc: added alien-property
authorchris.double <chris.double@double.co.nz>
Sun, 17 Dec 2006 03:47:38 +0000 (03:47 +0000)
committerchris.double <chris.double@double.co.nz>
Sun, 17 Dec 2006 03:47:38 +0000 (03:47 +0000)
apps/furnace-fjsc/resources/bootstrap.factor
apps/furnace-fjsc/resources/bootstrap.js

index 6b60cce60429cb928ff42af5fec4276c798e2e03..a10449ec9aa92b4909a1b3e5a622f1f8957b3bff 100644 (file)
@@ -2,4 +2,13 @@
   #! Display the string in an alert box
   window { } "" "alert" { "string" } alien-invoke ;
 
+"browser-dom" in
+
+: get-element ( id -- element )
+  document { "element" } "" "getElementById" { "string" } alien-invoke ;
+
+: property ( name element -- value )
+  alien-property ;
+
+"scratchpad" in
 "Bootstrap code loaded" alert
\ No newline at end of file
index 3612382c7f3f8c70f164de91b4def28a3b677a70..bab1e361b3009774f90e62e7e957153d48b808a1 100644 (file)
@@ -384,6 +384,15 @@ factor.add_word("alien", "alien-invoke", "primitive", function(next) {
   factor.call_next(next);
 });
 
+factor.add_word("alien", "alien-property", "primitive", function(next) {  
+  var stack = factor.cont.data_stack;
+  var obj = stack.pop();
+  var property_name = stack.pop();
+  var v = obj[property_name];
+  stack.push(v);
+  factor.call_next(next);
+});
+
 factor.add_word("words", "vocabs", "primitive", function(next) {   
   var stack = factor.cont.data_stack;
   var result = [];