Skip to content

Commit 3921684

Browse files
committed
Added "HereDoc" function prototype extension & made template compilation on-the-fly rather than a separate build step
1 parent b8164d7 commit 3921684

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed

templates/week.template.js

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
1-
/*
1+
// Multiline Function String - Nate Ferrero - Public Domain
2+
(function(){}).__proto__.heredoc = function() {
3+
return this.toString().replace(/.*\/\*\n([\s\S]*)\n\*\/.*/m, "$1");
4+
};
5+
26
//
37
// Template for a calendar for a single resource
48
//
9+
var render_week = doT.template((function(){/*
510
<div class="rc_week clearfix">
611
<div class="rc_headerweek clearfix">
712
<span class='rc_name'>{{=it.resource_name}}</span>
813
<span class='rc_location'>{{=it.resource_location}}</span>
914
</div>
10-
<div class="rc_headerweek"><div class="rc_gutter">&amp;nbsp;</div>
15+
<div class="rc_headerweek"><div class="rc_gutter">&nbsp;</div>
1116
{{ for(var i = 0; i < it.col_count; i++ ) { }}
1217
<div class="{{=it.col_class}}">{{=it.dows[i]+' '+it.months[i]+'/'+it.days[i]}}</div>
1318
{{ } }}
@@ -44,19 +49,17 @@
4449
{{ } }}
4550
</div>
4651
</div>
47-
*/
52+
*/}).heredoc());
4853

49-
// Compiled on http://olado.github.io/doT/
5054

51-
var render_week =
52-
function anonymous(it /**/) { var out='<div class="rc_week clearfix"> <div class="rc_headerweek clearfix"> <span class=\'rc_name\'>'+(it.resource_name)+'</span> <span class=\'rc_location\'>'+(it.resource_location)+'</span> </div> <div class="rc_headerweek"><div class="rc_gutter">&nbsp;</div> '; for(var i = 0; i < it.col_count; i++ ) { out+=' <div class="'+(it.col_class)+'">'+(it.dows[i]+' '+it.months[i]+'/'+it.days[i])+'</div> '; } out+=' <div class="rc_bodyweek" id=\''+(it.resource_id)+'\'> <div class="rc_gutter"> ';var hrcount =0; var t = it.min_time; do { out+=' <div class=\'rc_hour_slot\'>'+(t)+'</div> '; var r = addMinutes_timeOfDay(t,60,it.max_time); out+=' '; t = r.newtime; hrcount += 1;out+=' '; } while(!r.over);out+=' </div> '; for(var i = 0; i < it.col_count; i++ ) { out+=' <div class="rc_day_target '+(it.col_class)+'" id="'+( it.resource_name+'_'+it.months[i]+'_'+it.days[i] )+'" data-date="'+(it.dates[i])+'"> '; for(var j = 0; j < hrcount; j++ ) { out+=' ';if(it.inc_time == 15){out+=' <div class="rc_quarters_slot"></div> <div class="rc_quarters_slot"></div> <div class="rc_quarters_slot"></div> <div class="rc_quarters_slot"></div> ';}else if(it.inc_time == 20){out+=' <div class="rc_thirds_slot"></div> <div class="rc_thirds_slot"></div> <div class="rc_thirds_slot"></div> ';}else if(it.inc_time == 30){out+=' <div class="rc_halves_slot"></div> <div class="rc_halves_slot"></div> ';}else if(it.inc_time == 60){out+=' <div class="rc_hour_slot"></div> ';}else{out+=' ';}out+=' '; } out+=' </div> '; } out+=' </div></div>';return out; }
5355

56+
// Compiled on http://olado.github.io/doT/
5457

5558

56-
/*
5759
//
5860
// Template for an event in the calendar
5961
//
62+
var render_week_event = doT.template((function(){/*
6063
<div class="rc_event event {{=it.attr.ev_type}}"
6164
style="top:{{=it.attr.t_offset}}px;height:{{=it.attr.t_height}}px;"
6265
id="{{=it.attr.id}}">
@@ -65,6 +68,4 @@ function anonymous(it /**/) { var out='<div class="rc_week clearfix"> <div class
6568
<div class="rc_event_body">{{=it.attr.ev_text}}</div>
6669
<div class="rc_event_postpad" style="height:{{=it.attr.t_postpad}}px;"></div>
6770
</div>
68-
*/
69-
var render_week_event =
70-
function anonymous(it /**/) { var out='<div class="rc_event event '+(it.attr.ev_type)+'" style="top:'+(it.attr.t_offset)+'px;height:'+(it.attr.t_height)+'px;" id="'+(it.attr.id)+'"> <div class="rc_event_prepad" style="height:'+(it.attr.t_prepad)+'px;"></div> <div class="rc_event_head">'+(it.attr.start)+' - '+(it.attr.end)+'</div> <div class="rc_event_body">'+(it.attr.ev_text)+'</div> <div class="rc_event_postpad" style="height:'+(it.attr.t_postpad)+'px;"></div></div>';return out; }
71+
*/}).heredoc());

test.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,9 +95,10 @@ <h3>Resource Calendar</h3>
9595
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js" type="text/javascript"></script>
9696
<script src="js/jquery.pnotify.js" type="text/javascript"></script>
9797
<script src="js/moment.min.js" type="text/javascript"></script>
98+
<script src="js/doT.min.js" type="text/javascript"></script>
99+
<script src="js/rc_utilities.js" type="text/javascript"></script>
98100
<script src="templates/week.template.js" type="text/javascript"></script>
99101
<script src="js/rc_calendar.js" type="text/javascript"></script>
100-
<script src="js/rc_utilities.js" type="text/javascript"></script>
101102
<script type="text/javascript">
102103
//
103104
// Example function to verify that a resource can accept an event dropped onto it

0 commit comments

Comments
 (0)