moved shit to trunk
[catagits/Reaction.git] / root / base / component
1 [%-
2
3 GLOBAL_DEBUG = ctx.debug;
4
5 MACRO loc(text, args) BLOCK;
6
7   ctx.localize(text, args);
8
9 END;
10
11 MACRO include(name, args) BLOCK;
12
13   filename = ${name};
14
15   IF filename;
16     IF GLOBAL_DEBUG;
17       '<!-- Start block '; name | html; ' calling '; filename | html; " -->\n";
18     END;
19     INCLUDE $filename args;
20     IF GLOBAL_DEBUG;
21       '<!-- End block '; name | html; " -->\n";
22     END;
23   ELSE;
24     error = 'Chosen INCLUDE ' _ name _ ' is empty';
25     THROW file error;
26   END;
27
28 END;
29
30 MACRO connect_form(vp, event) BLOCK;
31
32   '';
33
34 END;
35
36 MACRO connect_control(vp, event, value) BLOCK;
37
38   'name="'; vp.event_id_for(event); '"';
39
40 END;
41
42 MACRO connect_href(vp, events) BLOCK;
43
44   FOREACH event = events.keys;
45     evt_args.${vp.event_id_for(event)} = events.$event;
46   END;
47   'href="'; ctx.req.uri_with(evt_args); '"';
48
49 END;
50
51 UNLESS type;
52   errmsg = "type is empty rendering " _ self;
53   THROW file errmsg;
54 END;
55
56 PROCESS $type;
57
58 IF GLOBAL_DEBUG; '<!-- Rendering component '; type | html; " -->\n"; END;
59
60 include( 'main_block' );
61
62 IF GLOBAL_DEBUG; '<!-- End component '; type | html; " -->\n"; END;
63
64 -%]