forked from public/foundryvtt-reve-de-dragon
		
	Import de foundry.applications.handlebars.renderTemplate au travers d'une constante pour éliminer les warnings
		
			
				
	
	
		
			45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import { renderTemplate } from "./constants.js";
 | |
| 
 | |
| export class DialogSplitItem extends Dialog {
 | |
| 
 | |
|   static async create(item, callback) {
 | |
|     const splitData = {
 | |
|       item: item,
 | |
|       choix: { quantite: 1, max: item.system.quantite - 1 }
 | |
|     };
 | |
|     const html = await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/dialog-item-split.hbs`, splitData);
 | |
|     return new DialogSplitItem(item, splitData, html, callback)
 | |
|   }
 | |
| 
 | |
|   constructor(item, splitData, html, callback) {
 | |
|     let options = { classes: ["dialogsplit"], width: 300, height: 'fit-content', 'z-index': 99999 };
 | |
|     let conf = {
 | |
|       title: "Séparer en deux",
 | |
|       content: html,
 | |
|       default: "separer",
 | |
|       buttons: {
 | |
|         "separer": { label: "Séparer", callback: it => this.onSplit() }
 | |
|       }
 | |
|     };
 | |
|     super(conf, options);
 | |
| 
 | |
|     this.callback = callback;
 | |
|     this.item = item;
 | |
|     this.splitData = splitData;
 | |
|   }
 | |
| 
 | |
|   activateListeners(html) {
 | |
|     super.activateListeners(html);
 | |
|     this.html = html;
 | |
|     this.html.find(".choix-quantite").change(event => {
 | |
|       this.splitData.choix.quantite = Number(event.currentTarget.value);
 | |
|     });
 | |
|   }
 | |
| 
 | |
|   /* -------------------------------------------- */
 | |
|   async onSplit() {
 | |
|     await this.html.find(".choix-quantite").change();
 | |
|     this.callback(this.item, this.splitData.choix.quantite);
 | |
|   }
 | |
| 
 | |
| } |