aboutsummaryrefslogtreecommitdiffstats
path: root/root/base/component
diff options
context:
space:
mode:
authormatthewt <matthewt@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7>2007-09-12 18:11:34 +0000
committermatthewt <matthewt@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7>2007-09-12 18:11:34 +0000
commit7adfd53f17f66ffe93763e944ed1d3fc52a369dc (patch)
tree19e599e74419b41cbbe651fd226b81e8b73551d3 /root/base/component
parentc728c97cb1061330e63c7cc048e768ef74988fe6 (diff)
downloadreaction-7adfd53f17f66ffe93763e944ed1d3fc52a369dc.tar.gz
reaction-7adfd53f17f66ffe93763e944ed1d3fc52a369dc.zip
moved shit to trunk
Diffstat (limited to 'root/base/component')
-rw-r--r--root/base/component64
1 files changed, 64 insertions, 0 deletions
diff --git a/root/base/component b/root/base/component
new file mode 100644
index 0000000..4f455ce
--- /dev/null
+++ b/root/base/component
@@ -0,0 +1,64 @@
+[%-
+
+GLOBAL_DEBUG = ctx.debug;
+
+MACRO loc(text, args) BLOCK;
+
+ ctx.localize(text, args);
+
+END;
+
+MACRO include(name, args) BLOCK;
+
+ filename = ${name};
+
+ IF filename;
+ IF GLOBAL_DEBUG;
+ '<!-- Start block '; name | html; ' calling '; filename | html; " -->\n";
+ END;
+ INCLUDE $filename args;
+ IF GLOBAL_DEBUG;
+ '<!-- End block '; name | html; " -->\n";
+ END;
+ ELSE;
+ error = 'Chosen INCLUDE ' _ name _ ' is empty';
+ THROW file error;
+ END;
+
+END;
+
+MACRO connect_form(vp, event) BLOCK;
+
+ '';
+
+END;
+
+MACRO connect_control(vp, event, value) BLOCK;
+
+ 'name="'; vp.event_id_for(event); '"';
+
+END;
+
+MACRO connect_href(vp, events) BLOCK;
+
+ FOREACH event = events.keys;
+ evt_args.${vp.event_id_for(event)} = events.$event;
+ END;
+ 'href="'; ctx.req.uri_with(evt_args); '"';
+
+END;
+
+UNLESS type;
+ errmsg = "type is empty rendering " _ self;
+ THROW file errmsg;
+END;
+
+PROCESS $type;
+
+IF GLOBAL_DEBUG; '<!-- Rendering component '; type | html; " -->\n"; END;
+
+include( 'main_block' );
+
+IF GLOBAL_DEBUG; '<!-- End component '; type | html; " -->\n"; END;
+
+-%]