Files
vermine2047/module/system/handlebars-manager.mjs
T
François-Xavier Guillois 03d71ecd3c underscore
2023-05-18 19:54:32 +02:00

46 lines
1.4 KiB
JavaScript

/**
* 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);
});
}