;(function(exports) { "use strict"; /* globals define */ // export the class if we are in a Node-like system. if (typeof module === 'object' && module.exports === exports) { exports = module.exports/* = SemVer*/; } var helpers = {}; helpers.displayUsersLink = function(config) { return (config.loggedIn || !config.privateUserInfo); }; helpers.displayMenuItem = function(data, index) { var item = data.navigation[index], properites = item.properties; if (!item.enabled) { return false; } if (properties) { if (properties.loggedIn && !data.loggedIn || properties.adminOnly && !data.isAdmin || properties.installed && properties.installed.search && !data.searchEnabled || properties.hideIfPrivate && data.privateUserInfo) { return false; } } return true; }; helpers.buildMetaTag = function(tag) { var name = tag.name ? 'name="' + tag.name + '" ' : '', property = tag.property ? 'property="' + tag.property + '" ' : '', content = tag.content ? 'content="' + tag.content.replace(/\n/g, ' ') + '" ' : ''; return ''; }; helpers.stringify = function(obj) { // Turns the incoming object into a JSON string return JSON.stringify(obj).replace(/&/gm,"&").replace(//gm,">").replace(/"/g, '"'); }; // Groups helpers helpers.membershipBtn = function(groupObj) { if (groupObj.isMember) { return ''; } else { if (groupObj.isPending) { return ''; } else if (groupObj.isInvited) { return ''; } else { return ''; } } }; exports.register = function() { var templates; if (typeof module === 'object') { templates = require('templates.js'); } else { templates = window.templates; } Object.keys(helpers).forEach(function(helperName) { templates.registerHelper(helperName, helpers[helperName]); }); }; // Use the define() function if we're in AMD land if (typeof define === 'function' && define.amd) { define('helpers', exports); } })( typeof exports === 'object' ? exports : typeof define === 'function' && define.amd ? {} : helpers = {} );