/** * Define a set of template paths to pre-load * Pre-loaded templates are compiled and cached for fast access when rendering * @return {Promise} */ export const preloadHandlebarsTemplates = async function() { return loadTemplates([ // Actor partials. "systems/totem/templates/actor/parts/actor-spells.html", "systems/totem/templates/actor/parts/actor-features.html", // "systems/totem/templates/actor/parts/actor-skills.html", "systems/totem/templates/actor/parts/actor-items.html", "systems/totem/templates/actor/parts/actor-effects.html", // additional templates "systems/totem/templates/roll.hbs", ]); }; export const registerHandlebarsHelpers = function () { Handlebars.registerHelper('concat', (...args) => args.slice(0, -1).join('')); Handlebars.registerHelper('lower', e => e.toLocaleLowerCase()); Handlebars.registerHelper('toLowerCase', function(str) { return str.toLowerCase(); }); // Ifis not equal Handlebars.registerHelper('ifne', function (v1, v2, options) { if (v1 !== v2) return options.fn(this); else return options.inverse(this); }); // if equal Handlebars.registerHelper('ife', function (v1, v2, options) { if (v1 === v2) return options.fn(this); else return options.inverse(this); }); // if equal Handlebars.registerHelper('ifgt', function (v1, v2, options) { if (v1 > v2) return options.fn(this); else return options.inverse(this); }); }