src/cm/media/js/lib/yui/yui3-3.15.0/build/handlebars-base/handlebars-base-debug.js
author ymh <ymh.work@gmail.com>
Fri, 14 Mar 2014 13:16:10 +0100
changeset 611 fa66f4bb1563
parent 602 e16a97fb364a
permissions -rw-r--r--
add some more custom config and put every thing in comment in the custom.yaml template
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
602
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     1
YUI.add('handlebars-base', function (Y, NAME) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     2
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     3
/*!
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     4
Handlebars.js - Copyright (C) 2011 Yehuda Katz
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     5
https://raw.github.com/wycats/handlebars.js/master/LICENSE
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     6
*/
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     7
// This file contains YUI-specific wrapper code and overrides for the
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     8
// handlebars-base module.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     9
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    10
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    11
Handlebars is a simple template language inspired by Mustache.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    12
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    13
This is a YUI port of the original Handlebars project, which can be found at
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    14
<https://github.com/wycats/handlebars.js>.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    15
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    16
@module handlebars
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    17
@main handlebars
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    18
@since 3.5.0
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    19
*/
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    20
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    21
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    22
Provides basic Handlebars template rendering functionality. Use this module when
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    23
you only need to render pre-compiled templates.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    24
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    25
@module handlebars
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    26
@submodule handlebars-base
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    27
*/
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    28
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    29
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    30
Handlebars is a simple template language inspired by Mustache.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    31
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    32
This is a YUI port of the original Handlebars project, which can be found at
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    33
<https://github.com/wycats/handlebars.js>.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    34
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    35
@class Handlebars
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    36
@since 3.5.0
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    37
*/
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    38
var Handlebars = Y.namespace('Handlebars');
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    39
/* THIS FILE IS GENERATED BY A BUILD SCRIPT - DO NOT EDIT! */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    40
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    41
Handlebars.VERSION = "1.0.0";
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    42
Handlebars.COMPILER_REVISION = 4;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    43
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    44
Handlebars.REVISION_CHANGES = {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    45
  1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    46
  2: '== 1.0.0-rc.3',
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    47
  3: '== 1.0.0-rc.4',
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    48
  4: '>= 1.0.0'
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    49
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    50
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    51
Handlebars.helpers  = {};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    52
Handlebars.partials = {};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    53
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    54
var toString = Object.prototype.toString,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    55
    functionType = '[object Function]',
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    56
    objectType = '[object Object]';
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    57
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    58
Handlebars.registerHelper = function(name, fn, inverse) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    59
  if (toString.call(name) === objectType) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    60
    if (inverse || fn) { throw new Handlebars.Exception('Arg not supported with multiple helpers'); }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    61
    Handlebars.Utils.extend(this.helpers, name);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    62
  } else {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    63
    if (inverse) { fn.not = inverse; }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    64
    this.helpers[name] = fn;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    65
  }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    66
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    67
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    68
Handlebars.registerPartial = function(name, str) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    69
  if (toString.call(name) === objectType) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    70
    Handlebars.Utils.extend(this.partials,  name);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    71
  } else {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    72
    this.partials[name] = str;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    73
  }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    74
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    75
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    76
Handlebars.registerHelper('helperMissing', function(arg) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    77
  if(arguments.length === 2) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    78
    return undefined;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    79
  } else {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    80
    throw new Error("Missing helper: '" + arg + "'");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    81
  }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    82
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    83
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    84
Handlebars.registerHelper('blockHelperMissing', function(context, options) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    85
  var inverse = options.inverse || function() {}, fn = options.fn;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    86
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    87
  var type = toString.call(context);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    88
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    89
  if(type === functionType) { context = context.call(this); }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    90
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    91
  if(context === true) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    92
    return fn(this);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    93
  } else if(context === false || context == null) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    94
    return inverse(this);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    95
  } else if(type === "[object Array]") {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    96
    if(context.length > 0) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    97
      return Handlebars.helpers.each(context, options);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    98
    } else {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    99
      return inverse(this);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   100
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   101
  } else {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   102
    return fn(context);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   103
  }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   104
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   105
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   106
Handlebars.K = function() {};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   107
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   108
Handlebars.createFrame = Object.create || function(object) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   109
  Handlebars.K.prototype = object;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   110
  var obj = new Handlebars.K();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   111
  Handlebars.K.prototype = null;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   112
  return obj;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   113
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   114
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   115
Handlebars.logger = {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   116
  DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3, level: 3,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   117
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   118
  methodMap: {0: 'debug', 1: 'info', 2: 'warn', 3: 'error'},
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   119
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   120
  // can be overridden in the host environment
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   121
  log: function(level, obj) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   122
    if (Handlebars.logger.level <= level) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   123
      var method = Handlebars.logger.methodMap[level];
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   124
      if (typeof console !== 'undefined' && console[method]) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   125
        console[method].call(console, obj);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   126
      }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   127
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   128
  }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   129
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   130
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   131
Handlebars.log = function(level, obj) { Handlebars.logger.log(level, obj); };
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   132
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   133
Handlebars.registerHelper('each', function(context, options) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   134
  var fn = options.fn, inverse = options.inverse;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   135
  var i = 0, ret = "", data;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   136
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   137
  var type = toString.call(context);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   138
  if(type === functionType) { context = context.call(this); }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   139
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   140
  if (options.data) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   141
    data = Handlebars.createFrame(options.data);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   142
  }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   143
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   144
  if(context && typeof context === 'object') {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   145
    if(context instanceof Array){
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   146
      for(var j = context.length; i<j; i++) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   147
        if (data) { data.index = i; }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   148
        ret = ret + fn(context[i], { data: data });
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   149
      }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   150
    } else {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   151
      for(var key in context) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   152
        if(context.hasOwnProperty(key)) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   153
          if(data) { data.key = key; }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   154
          ret = ret + fn(context[key], {data: data});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   155
          i++;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   156
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   157
      }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   158
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   159
  }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   160
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   161
  if(i === 0){
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   162
    ret = inverse(this);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   163
  }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   164
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   165
  return ret;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   166
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   167
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   168
Handlebars.registerHelper('if', function(conditional, options) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   169
  var type = toString.call(conditional);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   170
  if(type === functionType) { conditional = conditional.call(this); }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   171
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   172
  if(!conditional || Handlebars.Utils.isEmpty(conditional)) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   173
    return options.inverse(this);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   174
  } else {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   175
    return options.fn(this);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   176
  }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   177
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   178
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   179
Handlebars.registerHelper('unless', function(conditional, options) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   180
  return Handlebars.helpers['if'].call(this, conditional, {fn: options.inverse, inverse: options.fn});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   181
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   182
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   183
Handlebars.registerHelper('with', function(context, options) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   184
  var type = toString.call(context);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   185
  if(type === functionType) { context = context.call(this); }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   186
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   187
  if (!Handlebars.Utils.isEmpty(context)) return options.fn(context);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   188
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   189
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   190
Handlebars.registerHelper('log', function(context, options) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   191
  var level = options.data && options.data.level != null ? parseInt(options.data.level, 10) : 1;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   192
  Handlebars.log(level, context);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   193
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   194
/* THIS FILE IS GENERATED BY A BUILD SCRIPT - DO NOT EDIT! */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   195
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   196
var errorProps = ['description', 'fileName', 'lineNumber', 'message', 'name', 'number', 'stack'];
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   197
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   198
Handlebars.Exception = function(message) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   199
  var tmp = Error.prototype.constructor.apply(this, arguments);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   200
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   201
  // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   202
  for (var idx = 0; idx < errorProps.length; idx++) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   203
    this[errorProps[idx]] = tmp[errorProps[idx]];
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   204
  }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   205
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   206
Handlebars.Exception.prototype = new Error();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   207
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   208
// Build out our basic SafeString type
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   209
Handlebars.SafeString = function(string) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   210
  this.string = string;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   211
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   212
Handlebars.SafeString.prototype.toString = function() {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   213
  return this.string.toString();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   214
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   215
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   216
var escape = {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   217
  "&": "&amp;",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   218
  "<": "&lt;",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   219
  ">": "&gt;",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   220
  '"': "&quot;",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   221
  "'": "&#x27;",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   222
  "`": "&#x60;"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   223
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   224
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   225
var badChars = /[&<>"'`]/g;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   226
var possible = /[&<>"'`]/;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   227
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   228
var escapeChar = function(chr) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   229
  return escape[chr] || "&amp;";
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   230
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   231
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   232
Handlebars.Utils = {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   233
  extend: function(obj, value) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   234
    for(var key in value) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   235
      if(value.hasOwnProperty(key)) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   236
        obj[key] = value[key];
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   237
      }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   238
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   239
  },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   240
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   241
  escapeExpression: function(string) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   242
    // don't escape SafeStrings, since they're already safe
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   243
    if (string instanceof Handlebars.SafeString) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   244
      return string.toString();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   245
    } else if (string == null || string === false) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   246
      return "";
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   247
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   248
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   249
    // Force a string conversion as this will be done by the append regardless and
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   250
    // the regex test will do this transparently behind the scenes, causing issues if
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   251
    // an object's to string has escaped characters in it.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   252
    string = string.toString();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   253
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   254
    if(!possible.test(string)) { return string; }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   255
    return string.replace(badChars, escapeChar);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   256
  },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   257
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   258
  isEmpty: function(value) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   259
    if (!value && value !== 0) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   260
      return true;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   261
    } else if(toString.call(value) === "[object Array]" && value.length === 0) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   262
      return true;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   263
    } else {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   264
      return false;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   265
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   266
  }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   267
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   268
/* THIS FILE IS GENERATED BY A BUILD SCRIPT - DO NOT EDIT! */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   269
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   270
Handlebars.VM = {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   271
  template: function(templateSpec) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   272
    // Just add water
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   273
    var container = {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   274
      escapeExpression: Handlebars.Utils.escapeExpression,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   275
      invokePartial: Handlebars.VM.invokePartial,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   276
      programs: [],
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   277
      program: function(i, fn, data) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   278
        var programWrapper = this.programs[i];
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   279
        if(data) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   280
          programWrapper = Handlebars.VM.program(i, fn, data);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   281
        } else if (!programWrapper) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   282
          programWrapper = this.programs[i] = Handlebars.VM.program(i, fn);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   283
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   284
        return programWrapper;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   285
      },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   286
      merge: function(param, common) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   287
        var ret = param || common;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   288
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   289
        if (param && common) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   290
          ret = {};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   291
          Handlebars.Utils.extend(ret, common);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   292
          Handlebars.Utils.extend(ret, param);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   293
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   294
        return ret;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   295
      },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   296
      programWithDepth: Handlebars.VM.programWithDepth,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   297
      noop: Handlebars.VM.noop,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   298
      compilerInfo: null
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   299
    };
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   300
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   301
    return function(context, options) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   302
      options = options || {};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   303
      var result = templateSpec.call(container, Handlebars, context, options.helpers, options.partials, options.data);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   304
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   305
      var compilerInfo = container.compilerInfo || [],
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   306
          compilerRevision = compilerInfo[0] || 1,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   307
          currentRevision = Handlebars.COMPILER_REVISION;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   308
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   309
      if (compilerRevision !== currentRevision) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   310
        if (compilerRevision < currentRevision) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   311
          var runtimeVersions = Handlebars.REVISION_CHANGES[currentRevision],
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   312
              compilerVersions = Handlebars.REVISION_CHANGES[compilerRevision];
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   313
          throw "Template was precompiled with an older version of Handlebars than the current runtime. "+
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   314
                "Please update your precompiler to a newer version ("+runtimeVersions+") or downgrade your runtime to an older version ("+compilerVersions+").";
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   315
        } else {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   316
          // Use the embedded version info since the runtime doesn't know about this revision yet
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   317
          throw "Template was precompiled with a newer version of Handlebars than the current runtime. "+
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   318
                "Please update your runtime to a newer version ("+compilerInfo[1]+").";
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   319
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   320
      }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   321
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   322
      return result;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   323
    };
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   324
  },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   325
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   326
  programWithDepth: function(i, fn, data /*, $depth */) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   327
    var args = Array.prototype.slice.call(arguments, 3);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   328
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   329
    var program = function(context, options) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   330
      options = options || {};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   331
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   332
      return fn.apply(this, [context, options.data || data].concat(args));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   333
    };
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   334
    program.program = i;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   335
    program.depth = args.length;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   336
    return program;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   337
  },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   338
  program: function(i, fn, data) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   339
    var program = function(context, options) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   340
      options = options || {};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   341
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   342
      return fn(context, options.data || data);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   343
    };
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   344
    program.program = i;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   345
    program.depth = 0;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   346
    return program;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   347
  },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   348
  noop: function() { return ""; },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   349
  invokePartial: function(partial, name, context, helpers, partials, data) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   350
    var options = { helpers: helpers, partials: partials, data: data };
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   351
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   352
    if(partial === undefined) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   353
      throw new Handlebars.Exception("The partial " + name + " could not be found");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   354
    } else if(partial instanceof Function) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   355
      return partial(context, options);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   356
    } else if (!Handlebars.compile) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   357
      throw new Handlebars.Exception("The partial " + name + " could not be compiled when running in runtime-only mode");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   358
    } else {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   359
      partials[name] = Handlebars.compile(partial, {data: data !== undefined});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   360
      return partials[name](context, options);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   361
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   362
  }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   363
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   364
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   365
Handlebars.template = Handlebars.VM.template;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   366
// This file contains YUI-specific wrapper code and overrides for the
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   367
// handlebars-base module.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   368
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   369
Handlebars.VERSION += '-yui';
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   370
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   371
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   372
Registers a helper function that will be made available to all templates.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   373
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   374
Helper functions receive the current template context as the `this` object, and
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   375
can also receive arguments passed by the template.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   376
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   377
@example
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   378
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   379
    Y.Handlebars.registerHelper('linkify', function () {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   380
        return '<a href="' + Y.Escape.html(this.url) + '">' +
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   381
            Y.Escape.html(this.text) + '</a>';
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   382
    });
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   383
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   384
    var source = '<ul>{{#links}}<li>{{{linkify}}}</li>{{/links}}</ul>';
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   385
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   386
    Y.Handlebars.render(source, {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   387
        links: [
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   388
            {url: '/foo', text: 'Foo'},
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   389
            {url: '/bar', text: 'Bar'},
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   390
            {url: '/baz', text: 'Baz'}
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   391
        ]
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   392
    });
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   393
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   394
@method registerHelper
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   395
@param {String} name Name of this helper.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   396
@param {Function} fn Helper function.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   397
@param {Boolean} [inverse=false] If `true`, this helper will be considered an
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   398
    "inverse" helper, like "unless". This means it will only be called if the
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   399
    expression given in the template evaluates to a false or empty value.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   400
*/
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   401
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   402
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   403
Registers a partial that will be made available to all templates.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   404
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   405
A partial is another template that can be used to render part of a larger
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   406
template. For example, a website with a common header and footer across all its
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   407
pages might use a template for each page, which would call shared partials to
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   408
render the headers and footers.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   409
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   410
Partials may be specified as uncompiled template strings or as compiled template
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   411
functions.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   412
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   413
@example
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   414
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   415
    Y.Handlebars.registerPartial('header', '<h1>{{title}}</h1>');
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   416
    Y.Handlebars.registerPartial('footer', 'Copyright (c) 2011 by Me.');
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   417
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   418
    var source = '{{> header}} <p>Mustaches are awesome!</p> {{> footer}}';
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   419
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   420
    Y.Handlebars.render(source, {title: 'My Page About Mustaches'});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   421
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   422
@method registerPartial
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   423
@param {String} name Name of this partial.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   424
@param {Function|String} partial Template string or compiled template function.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   425
*/
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   426
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   427
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   428
Converts a precompiled template into a renderable template function.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   429
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   430
@example
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   431
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   432
    <script src="precompiled-template.js"></script>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   433
    <script>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   434
    YUI().use('handlebars-base', function (Y) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   435
        // Convert the precompiled template function into a renderable template
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   436
        // function.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   437
        var template = Y.Handlebars.template(precompiledTemplate);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   438
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   439
        // Render it.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   440
        template({pie: 'Pumpkin'});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   441
    });
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   442
    </script>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   443
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   444
@method template
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   445
@param {Function} template Precompiled Handlebars template function.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   446
@return {Function} Compiled template function.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   447
*/
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   448
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   449
// Alias for Y.Handlebars.template(), used by Y.Template.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   450
Handlebars.revive = Handlebars.template;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   451
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   452
// Make Y.Template.Handlebars an alias for Y.Handlebars.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   453
Y.namespace('Template').Handlebars = Handlebars;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   454
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   455
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   456
}, '@VERSION@', {"requires": []});