can.mustache.registerHelper('tooltip', function(errors, property, position, options) { var errors = options.context.user.attr('errors'); return function(el) { errors.delegate('**', 'set', function(ev, newVal, oldVal, prop) { if(prop != property) { return; } if(newVal == null) { $(el).tooltipster('destroy'); return; } var errProp; if(!errors.attr(property)) { return; } errProp = errors.attr(property); $(el).tooltipster({ content: errProp, position: position || 'right', theme: 'tooltipster-error' }); $(el).tooltipster('show'); }); }; });
value = value(); } // and again if (typeof value === 'function') { value = value(); } return value; }; can.mustache.registerHelper('is', function () { var options = arguments[arguments.length - 1], comparator = computedVal(arguments[0]), result = true; for (var i = 1, ln = arguments.length - 1; i < ln; i += 1) { if (comparator !== computedVal(arguments[i])) { result = false; break; } } return result ? options.fn() : options.inverse(); }); can.mustache.registerHelper('isnt', function (a, b, options) { var result = computedVal(a) !== computedVal(b); return result ? options.fn() : options.inverse(); }); can.mustache.registerHelper('or', function () { var options = arguments[arguments.length - 1],