Compare commits
	
		
			3 Commits
		
	
	
		
			3359492f13
			...
			d4fddf8600
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| d4fddf8600 | |||
|  | 4b1862fa48 | ||
|  | 82115ed8d7 | 
| @@ -37,8 +37,7 @@ export class RdDActorSheet extends ActorSheet { | ||||
|   /* -------------------------------------------- */ | ||||
|   async getData() { | ||||
|     const objectData = Misc.data(this.object); | ||||
|  | ||||
|     //this.actor.checkMonnaiePresence(this.actor.data.items); // Always check  | ||||
|     this.timerRecherche = undefined; | ||||
|  | ||||
|     let formData = { | ||||
|       title: this.title, | ||||
| @@ -78,8 +77,8 @@ export class RdDActorSheet extends ActorSheet { | ||||
|     }; | ||||
|  | ||||
|     formData.competences.forEach(item => { | ||||
|       item.visible = this.options.cherchercompetence | ||||
|         ? RdDItemCompetence.nomContientTexte(item, this.options.cherchercompetence) | ||||
|       item.visible = this.options.recherche | ||||
|         ? RdDItemCompetence.nomContientTexte(item, this.options.recherche.text) | ||||
|         : (!this.options.showCompNiveauBase || !RdDItemCompetence.isNiveauBase(item)); | ||||
|       RdDItemCompetence.levelUp(item, formData.data.compteurs.experience.value); | ||||
|     }); | ||||
| @@ -424,12 +423,28 @@ export class RdDActorSheet extends ActorSheet { | ||||
|       this.options.editCaracComp = !this.options.editCaracComp; | ||||
|       this.render(true); | ||||
|     }); | ||||
|     html.find('.cherchercompetence').change(async event => { | ||||
|       this.options.cherchercompetence = event.currentTarget.value; | ||||
|  | ||||
|     html.find('.recherche') | ||||
|       .each((index, field) => { | ||||
|         if (this.options.recherche) { | ||||
|           field.focus(); | ||||
|           field.setSelectionRange(this.options.recherche.start, this.options.recherche.end); | ||||
|         } | ||||
|       }) | ||||
|       .keyup(async event => { | ||||
|         this.options.recherche = this._optionRecherche(event.currentTarget) | ||||
|         if (this.timerRecherche) { | ||||
|           clearTimeout(this.timerRecherche); | ||||
|         } | ||||
|         this.timerRecherche = setTimeout(() => { | ||||
|           this.timerRecherche = undefined; | ||||
|           this.render(true); | ||||
|     }); | ||||
|         }, 500); | ||||
|       }) | ||||
|       .change(async event => | ||||
|         this.options.recherche = this._optionRecherche(event.currentTarget) | ||||
|       ); | ||||
|     html.find('.vue-detaillee').click(async event => { | ||||
|       console.log("CONTROLS", this.options.vueDetaillee) | ||||
|       this.options.vueDetaillee = !this.options.vueDetaillee; | ||||
|       this.render(true); | ||||
|     }); | ||||
| @@ -515,6 +530,17 @@ export class RdDActorSheet extends ActorSheet { | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   _optionRecherche(target) { | ||||
|     if (!target.value?.length){ | ||||
|       return undefined; | ||||
|     } | ||||
|     return { | ||||
|       text: target.value, | ||||
|       start: target.selectionStart, | ||||
|       end: target.selectionEnd, | ||||
|     }; | ||||
|   } | ||||
|  | ||||
|   _getEventArmeCombat(event) { | ||||
|     const li = $(event.currentTarget)?.parents(".item"); | ||||
|     let armeName = li.data("arme-name"); | ||||
|   | ||||
| @@ -465,34 +465,32 @@ export class RdDUtility { | ||||
|   /** Construit la structure récursive des conteneurs, avec imbrication potentielle | ||||
|    *  | ||||
|    */ | ||||
|   static buildConteneur(objet, niveau) { | ||||
|     if (!niveau) niveau = 1; | ||||
|     objet.niveau = niveau; | ||||
|     //console.log("OBJ:", objet); | ||||
|     let str = Handlebars.partials['systems/foundryvtt-reve-de-dragon/templates/actor-sheet-inventaire-conteneur.html']({ item: objet }); | ||||
|     if (objet.type == 'conteneur') { | ||||
|       const afficherContenu = this.getAfficheContenu(objet._id); | ||||
|       str = str + RdDUtility.buildContenu(objet, niveau, afficherContenu); | ||||
|     } | ||||
|     return str; | ||||
|   static buildConteneur(objet, profondeur) { | ||||
|     if (!profondeur) profondeur = 1; | ||||
|     objet.niveau = profondeur; | ||||
|     const isConteneur = objet.type == 'conteneur'; | ||||
|     const isOuvert = isConteneur && this.getAfficheContenu(objet._id); | ||||
|     const isVide = isConteneur && Misc.templateData(objet).contenu.length == 0; | ||||
|     const conteneur = Handlebars.partials['systems/foundryvtt-reve-de-dragon/templates/actor-sheet-inventaire-conteneur.html']({ | ||||
|       item: objet, | ||||
|       vide: isVide, | ||||
|       ouvert: isOuvert | ||||
|     }); | ||||
|     const contenu = isConteneur ? RdDUtility.buildContenu(objet, profondeur, isOuvert) : ''; | ||||
|     return conteneur + contenu; | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   static buildContenu(objet, niveau, afficherContenu) { | ||||
|     if (!niveau) niveau = 1; | ||||
|     objet.niveau = niveau; | ||||
|     let strContenu = ""; | ||||
|   static buildContenu(objet, profondeur, afficherContenu) { | ||||
|     if (!profondeur) profondeur = 1; | ||||
|     objet.niveau = profondeur; | ||||
|     const display = afficherContenu ? 'item-display-show' : 'item-display-hide'; | ||||
|     //console.log("ITEM DISPLAYED", objet ); | ||||
|     if (afficherContenu) { | ||||
|       strContenu = "<ul class='item-list alterne-list item-display-show list-item-margin" + niveau + "'>"; | ||||
|     } else { | ||||
|       strContenu = "<ul class='item-list alterne-list item-display-hide list-item-margin" + niveau + "'>"; | ||||
|     } | ||||
|     let strContenu = `<ul class='item-list alterne-list ${display} list-item-margin${profondeur}'>`; | ||||
|     for (let subItem of objet.subItems) { | ||||
|       strContenu = strContenu + this.buildConteneur(subItem, niveau + 1); | ||||
|       strContenu += this.buildConteneur(subItem, profondeur + 1); | ||||
|     } | ||||
|     strContenu = strContenu + "</ul>"; | ||||
|     return strContenu; | ||||
|     return strContenu + "</ul>"; | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   | ||||
| @@ -806,16 +806,22 @@ ul, li { | ||||
| } | ||||
|  | ||||
| .list-item-margin1 { | ||||
|   margin-left: 1rem; | ||||
|   margin-left: 0.5rem; | ||||
| } | ||||
| .list-item-margin2 { | ||||
|   margin-left: 2rem; | ||||
|   margin-left: 1rem; | ||||
| } | ||||
| .list-item-margin3 { | ||||
|   margin-left: 3rem; | ||||
|   margin-left: 1.5rem; | ||||
| } | ||||
| .list-item-margin4 { | ||||
|   margin-left: 4rem; | ||||
|   margin-left: 2rem; | ||||
| } | ||||
| .list-item-margin5 { | ||||
|   margin-left: 2.5rem; | ||||
| } | ||||
| .list-item-margin6 { | ||||
|   margin-left: 3rem; | ||||
| } | ||||
|  | ||||
| .sheet-competence-img { | ||||
|   | ||||
| @@ -1,9 +1,28 @@ | ||||
| <li class="item flexrow list-item" data-item-id="{{item._id}}" draggable="true"> | ||||
|   <img class="sheet-competence-img" src="{{item.img}}" title="{{item.name}}"/> | ||||
|  | ||||
|   {{#if (eq item.type 'conteneur')}} | ||||
|   <span class="item-name conteneur-name flex-grow"><a data-item-id="{{item._id}}">+{{item.name}}</a></span> | ||||
|     <span class="sheet-competence-img conteneur-name"> | ||||
|       {{#if vide}} | ||||
|        <i class="far fa-square"></i> | ||||
|       {{else}} | ||||
|         <a data-item-id="{{item._id}}"> | ||||
|         {{#if ouvert}} | ||||
|         <i class="far fa-minus-square"></i> | ||||
|         <!-- <i class="far fa-caret-square-down"></i> --> | ||||
|         {{else}} | ||||
|         <i class="far fa-plus-square"></i> | ||||
|         <!-- <i class="fas fa-caret-square-right"></i> --> | ||||
|         {{/if}} | ||||
|         </a> | ||||
|       {{/if}} | ||||
|     </span> | ||||
|     <span class="item-name conteneur-name flex-grow"> | ||||
|       <a data-item-id="{{item._id}}"> | ||||
|         <img class="sheet-competence-img" src="{{item.img}}" title="{{item.name}}"/> | ||||
|         {{item.name}} | ||||
|       </a> | ||||
|     </span> | ||||
|   {{else}} | ||||
|   <img class="sheet-competence-img" src="{{item.img}}" title="{{item.name}}"/> | ||||
|   <span class="item-name flex-grow">{{item.name}}</span> | ||||
|   {{/if}} | ||||
|   <span class="item-quantite">{{item.data.quantite}} | ||||
| @@ -30,3 +49,4 @@ | ||||
|     {{/if}} | ||||
|   </div> | ||||
| </li> | ||||
|  | ||||
|   | ||||
| @@ -217,7 +217,7 @@ | ||||
|               {{#if options.editCaracComp}}Verrouiller{{else}}Déverrouiller{{/if}}</a></span> | ||||
|             <span class="flexrow"> | ||||
|               <i class="fas fa-search"></i> | ||||
|               <input class="cherchercompetence" type="text" value="{{options.cherchercompetence}}" name="cherchercompetence"  | ||||
|               <input class="recherche" type="text" value="{{options.recherche.text}}" name="recherche"  | ||||
|                 size="8" data-dtype="String" placeholder="chercher"/> | ||||
|               <span></span> | ||||
|             </span> | ||||
| @@ -690,7 +690,7 @@ | ||||
|           {{#each objets as |item id|}} | ||||
|             {{#unless item.estContenu}} | ||||
|             {{#if (ne item.type 'conteneur')}} | ||||
|               {{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-inventaire-conteneur.html" item=item }} | ||||
|               {{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-inventaire-conteneur.html" item=item vide=true ouvert=true }} | ||||
|             {{/if}} | ||||
|             {{/unless}} | ||||
|           {{/each}} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user