Améliorer le choix du type d'objet à créer #143
Utilisation du fichier de langue Utilisation de la même référence pour les compendiums Fix sur les compendium, le type n'apparaissait pas toujours
This commit is contained in:
@ -108,6 +108,16 @@ export class Misc {
|
||||
return Misc.data(it)?.data ?? {}
|
||||
}
|
||||
|
||||
static getEntityTypeLabel(entity) {
|
||||
const documentName = entity?.documentName;
|
||||
const type = entity?.data.type;
|
||||
if (documentName === 'Actor' || documentName === 'Item') {
|
||||
const label = CONFIG[documentName]?.typeLabels?.[type] ?? type;
|
||||
return game.i18n.has(label) ? game.i18n.localize(label) : t;
|
||||
}
|
||||
return type;
|
||||
}
|
||||
|
||||
static connectedGMOrUser(ownerId = undefined) {
|
||||
if (ownerId && game.user.id == ownerId) {
|
||||
return ownerId;
|
||||
|
@ -1,36 +1,5 @@
|
||||
import { Misc } from "./misc.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/**
|
||||
* Mapping des types d'Item/Actor vers le nom d'affichage.
|
||||
* Par défaut, on prend le type avec la première lettre
|
||||
* majuscule, pas besoin d'ajouter tous les types.
|
||||
*/
|
||||
const typeDisplayName = {
|
||||
"competence": "Compétence",
|
||||
"herbe": "Plante",
|
||||
"ingredient": "Ingrédient",
|
||||
"queue": "Queue de Dragon",
|
||||
"ombre": "Ombre de Thanatos",
|
||||
"souffle": "Souffle de Dragon",
|
||||
"tete": "Tête de Dragon",
|
||||
"nourritureboisson": "Nourriture & boisson",
|
||||
"rencontresTMR": "Rencontre des TMR",
|
||||
"competencecreature": "Compétence de créature",
|
||||
"nombreastral": "Nombre astral",
|
||||
"casetmr": "Effet sur TMR",
|
||||
"recettealchimique": "Recette alchimique",
|
||||
"recettecuisine": "Recette de cuisine",
|
||||
"tarot": "Carte de tarot draconique",
|
||||
"tache": "Tâche",
|
||||
"meditation": "Méditation",
|
||||
"musique": "Mélodie",
|
||||
"chant": "Chanson",
|
||||
"creature": "Créature",
|
||||
"entite": "Entité",
|
||||
"vehicule": "Véhicule"
|
||||
}
|
||||
|
||||
export class RddCompendiumOrganiser {
|
||||
static init() {
|
||||
Hooks.on('renderCompendium', async (pack, html, data) => RddCompendiumOrganiser.onRenderCompendium(pack, html, data))
|
||||
@ -38,22 +7,23 @@ export class RddCompendiumOrganiser {
|
||||
|
||||
static async onRenderCompendium(compendium, html, data) {
|
||||
console.log('onRenderCompendium', compendium, html, data);
|
||||
let pack = compendium.collection
|
||||
const pack = compendium.collection
|
||||
if (pack.metadata.system === 'foundryvtt-reve-de-dragon') {
|
||||
html.find('.directory-item').each((i, element) => {
|
||||
const entity = pack.get(element.dataset.documentId);
|
||||
const entityName = entity?.documentName;
|
||||
if (entityName === 'Actor' || entityName === 'Item') {
|
||||
const entityType = entity.data.type;
|
||||
const typeName = typeDisplayName[entityType] ?? Misc.upperFirst(entitytype);
|
||||
RddCompendiumOrganiser.insertEntityType(element, typeName);
|
||||
}
|
||||
RddCompendiumOrganiser.setEntityTypeName(pack, element);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
static insertEntityType(element, type) {
|
||||
element.children[1].insertAdjacentHTML('afterbegin', `<label>${type}: </label>`);
|
||||
static async setEntityTypeName(pack, element) {
|
||||
const label = Misc.getEntityTypeLabel(await pack.getDocument(element.dataset.documentId));
|
||||
RddCompendiumOrganiser.insertEntityType(element, label);
|
||||
}
|
||||
|
||||
static insertEntityType(element, label) {
|
||||
if (label) {
|
||||
element.children[1].insertAdjacentHTML('afterbegin', `<label class="type-compendium">${label}: </label>`);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user