using helpers for selects
This commit is contained in:
@@ -37,7 +37,7 @@ Hooks.once("ready", async function () {
|
||||
|
||||
//----logo image
|
||||
var logo = document.getElementById("logo");
|
||||
logo.setAttribute("src", CONFIG.L5r5e.paths.assets + "l5r-logo.webp");
|
||||
logo.setAttribute("src", CONFIG.l5r5e.paths.assets + "l5r-logo.webp");
|
||||
|
||||
//--------------ouvrir le menu lien sur click logo
|
||||
logo.setAttribute("title", "Aide en Ligne");
|
||||
|
||||
@@ -42,7 +42,7 @@ export class DicePickerDialog extends FormApplication {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
id: "l5r5e-dice-picker-dialog",
|
||||
classes: ["l5r5e", "dice-picker-dialog"],
|
||||
template: CONFIG.L5r5e.paths.templates + "dice/dice-picker-dialog.html",
|
||||
template: CONFIG.l5r5e.paths.templates + "dice/dice-picker-dialog.html",
|
||||
title: "L5R Dice Roller",
|
||||
width: 660,
|
||||
height: 460,
|
||||
@@ -120,7 +120,7 @@ export class DicePickerDialog extends FormApplication {
|
||||
* @param ringId
|
||||
*/
|
||||
set ringId(ringId) {
|
||||
this._ringId = CONFIG.L5r5e.stances.includes(ringId) || null;
|
||||
this._ringId = CONFIG.l5r5e.stances.includes(ringId) || null;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -197,7 +197,7 @@ export class DicePickerDialog extends FormApplication {
|
||||
getData(options = null) {
|
||||
return {
|
||||
...super.getData(options),
|
||||
elementsList: this._getElements(),
|
||||
ringsList: game.l5r5e.HelpersL5r5e.getRingsList(),
|
||||
dicesList: [0, 1, 2, 3, 4, 5, 6],
|
||||
skillData: this._skillData,
|
||||
actor: this._actor,
|
||||
@@ -386,20 +386,6 @@ export class DicePickerDialog extends FormApplication {
|
||||
return value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Load elements (id, label, value)
|
||||
* @private
|
||||
*/
|
||||
_getElements() {
|
||||
return CONFIG.L5r5e.stances.map((e) => {
|
||||
return {
|
||||
id: e,
|
||||
label: game.i18n.localize(`l5r5e.rings.${e}`),
|
||||
value: this._actor?.data?.data?.rings?.[e] || 0,
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
// /**
|
||||
// * Return a reference to the target attribute
|
||||
// * @type {String}
|
||||
|
||||
@@ -27,7 +27,7 @@ export class L5rBaseDie extends DiceTerm {
|
||||
* @override
|
||||
*/
|
||||
static getResultLabel(result) {
|
||||
return `<img src="${CONFIG.L5r5e.paths.assets}dices/default/${this.FACES[result].image}.svg" alt="${result}" />`;
|
||||
return `<img src="${CONFIG.l5r5e.paths.assets}dices/default/${this.FACES[result].image}.svg" alt="${result}" />`;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -173,7 +173,7 @@ export class RollL5r5e extends Roll {
|
||||
displaySummary: contexte?.from !== "render",
|
||||
};
|
||||
|
||||
return renderTemplate(CONFIG.L5r5e.paths.templates + this.constructor.TOOLTIP_TEMPLATE, { chatData });
|
||||
return renderTemplate(CONFIG.l5r5e.paths.templates + this.constructor.TOOLTIP_TEMPLATE, { chatData });
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -185,7 +185,7 @@ export class RollL5r5e extends Roll {
|
||||
{
|
||||
user: game.user._id,
|
||||
flavor: null,
|
||||
template: CONFIG.L5r5e.paths.templates + this.constructor.CHAT_TEMPLATE,
|
||||
template: CONFIG.l5r5e.paths.templates + this.constructor.CHAT_TEMPLATE,
|
||||
blind: false,
|
||||
},
|
||||
chatOptions
|
||||
|
||||
58
system/scripts/helpers-l5r5e.js
Normal file
58
system/scripts/helpers-l5r5e.js
Normal file
@@ -0,0 +1,58 @@
|
||||
import { L5R5E } from "./l5r5e-config.js";
|
||||
|
||||
/**
|
||||
* Extends the actor to process special things from L5R.
|
||||
*/
|
||||
export class HelpersL5r5e {
|
||||
/**
|
||||
* Get Rings/Element for List / Select
|
||||
*/
|
||||
static getRingsList() {
|
||||
return L5R5E.stances.map((e) => {
|
||||
return {
|
||||
id: e,
|
||||
label: game.i18n.localize(`l5r5e.rings.${e}`),
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Skills for List / Select with groups
|
||||
*/
|
||||
static getSkillsList(useGroup) {
|
||||
if (!useGroup) {
|
||||
return Array.from(L5R5E.skills).map(([id, cat]) => {
|
||||
return {
|
||||
id: id,
|
||||
cat: cat,
|
||||
label: game.i18n.localize(`l5r5e.skills.${cat}.${id}`),
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
const skills = {};
|
||||
Array.from(L5R5E.skills).forEach(([id, cat]) => {
|
||||
if (!skills[cat]) {
|
||||
skills[cat] = [];
|
||||
}
|
||||
skills[cat].push({
|
||||
id: id,
|
||||
cat: cat,
|
||||
label: game.i18n.localize(`l5r5e.skills.${cat}.${id}`),
|
||||
});
|
||||
});
|
||||
return skills;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Techniques for List / Select
|
||||
*/
|
||||
static getTechniquesList() {
|
||||
return L5R5E.techniques.map((e) => {
|
||||
return {
|
||||
id: e,
|
||||
label: game.i18n.localize(`l5r5e.techniques.${e}`),
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,7 @@ export class AdvancementSheetL5r5e extends ItemSheetL5r5e {
|
||||
static get defaultOptions() {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["l5r5e", "sheet", "advancement"],
|
||||
template: CONFIG.L5r5e.paths.templates + "item/advancement-sheet.html",
|
||||
template: CONFIG.l5r5e.paths.templates + "item/advancement-sheet.html",
|
||||
width: 520,
|
||||
height: 480,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "description" }],
|
||||
@@ -25,6 +25,7 @@ export class AdvancementSheetL5r5e extends ItemSheetL5r5e {
|
||||
|
||||
sheetData.data.dtypes = ["String", "Number", "Boolean"];
|
||||
sheetData.data.subTypesList = AdvancementSheetL5r5e.types;
|
||||
sheetData.data.skillsList = game.l5r5e.HelpersL5r5e.getSkillsList(true);
|
||||
|
||||
return sheetData;
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ export class ArmorSheetL5r5e extends ItemSheetL5r5e {
|
||||
static get defaultOptions() {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["l5r5e", "sheet", "armor"],
|
||||
template: CONFIG.L5r5e.paths.templates + "item/armor-sheet.html",
|
||||
template: CONFIG.l5r5e.paths.templates + "item/armor-sheet.html",
|
||||
width: 520,
|
||||
height: 480,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "description" }],
|
||||
|
||||
@@ -7,7 +7,7 @@ export class ItemSheetL5r5e extends ItemSheet {
|
||||
static get defaultOptions() {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["l5r5e", "sheet", "item"],
|
||||
template: CONFIG.L5r5e.paths.templates + "item/item-sheet.html",
|
||||
template: CONFIG.l5r5e.paths.templates + "item/item-sheet.html",
|
||||
width: 520,
|
||||
height: 480,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "description" }],
|
||||
@@ -18,20 +18,8 @@ export class ItemSheetL5r5e extends ItemSheet {
|
||||
const sheetData = super.getData();
|
||||
|
||||
sheetData.data.dtypes = ["String", "Number", "Boolean"];
|
||||
|
||||
sheetData.data.ringsList = CONFIG.L5r5e.stances.map((e) => {
|
||||
return {
|
||||
id: e,
|
||||
label: game.i18n.localize(`l5r5e.rings.${e}`),
|
||||
};
|
||||
});
|
||||
|
||||
sheetData.data.techniquesList = CONFIG.L5r5e.techniques.map((e) => {
|
||||
return {
|
||||
id: e,
|
||||
label: game.i18n.localize(`l5r5e.techniques.${e}`),
|
||||
};
|
||||
});
|
||||
sheetData.data.ringsList = game.l5r5e.HelpersL5r5e.getRingsList();
|
||||
sheetData.data.techniquesList = game.l5r5e.HelpersL5r5e.getTechniquesList();
|
||||
|
||||
return sheetData;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ export class PeculiaritySheetL5r5e extends ItemSheetL5r5e {
|
||||
static get defaultOptions() {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["l5r5e", "sheet", "peculiarity"],
|
||||
template: CONFIG.L5r5e.paths.templates + "item/peculiarity-sheet.html",
|
||||
template: CONFIG.l5r5e.paths.templates + "item/peculiarity-sheet.html",
|
||||
width: 520,
|
||||
height: 480,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "description" }],
|
||||
|
||||
@@ -8,10 +8,11 @@ export class QualitySheetL5r5e extends ItemSheetL5r5e {
|
||||
static get defaultOptions() {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["l5r5e", "sheet", "quality"],
|
||||
template: CONFIG.L5r5e.paths.templates + "item/quality-sheet.html",
|
||||
template: CONFIG.l5r5e.paths.templates + "item/quality-sheet.html",
|
||||
width: 520,
|
||||
height: 480,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "description" }],
|
||||
});
|
||||
}
|
||||
// TODO certain propriétés en annule d'autres : aiguisé <-> abimé. voir comment faire.
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ export class TechniqueSheetL5r5e extends ItemSheetL5r5e {
|
||||
static get defaultOptions() {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["l5r5e", "sheet", "technique"],
|
||||
template: CONFIG.L5r5e.paths.templates + "item/technique-sheet.html",
|
||||
template: CONFIG.l5r5e.paths.templates + "item/technique-sheet.html",
|
||||
width: 520,
|
||||
height: 480,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "description" }],
|
||||
|
||||
@@ -9,7 +9,7 @@ export class WeaponSheetL5r5e extends ItemSheetL5r5e {
|
||||
static get defaultOptions() {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["l5r5e", "sheet", "weapon"],
|
||||
template: CONFIG.L5r5e.paths.templates + "item/weapon-sheet.html",
|
||||
template: CONFIG.l5r5e.paths.templates + "item/weapon-sheet.html",
|
||||
width: 520,
|
||||
height: 480,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "description" }],
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// Import Modules
|
||||
import { L5R5E } from "./l5r5e-config.js";
|
||||
import { HelpersL5r5e } from "./helpers-l5r5e.js";
|
||||
import { RegisterSettings } from "./settings.js";
|
||||
import { PreloadTemplates } from "./preloadTemplates.js";
|
||||
import { ActorL5r5e } from "./actor-l5r5e.js";
|
||||
@@ -32,7 +33,7 @@ Hooks.once("init", async function () {
|
||||
);
|
||||
|
||||
// Global access to L5R Config
|
||||
CONFIG.L5r5e = L5R5E;
|
||||
CONFIG.l5r5e = L5R5E;
|
||||
|
||||
// Assign custom classes and constants here
|
||||
CONFIG.Actor.entityClass = ActorL5r5e;
|
||||
@@ -49,6 +50,7 @@ Hooks.once("init", async function () {
|
||||
|
||||
// Add some helper classes in game
|
||||
game.l5r5e = {
|
||||
HelpersL5r5e,
|
||||
DicePickerDialog,
|
||||
};
|
||||
|
||||
@@ -191,7 +193,7 @@ Hooks.on("renderSidebarTab", (app, html, data) => {
|
||||
/* DiceSoNice Hook */
|
||||
/* ------------------------------------ */
|
||||
Hooks.once("diceSoNiceReady", (dice3d) => {
|
||||
const texturePath = `${CONFIG.L5r5e.paths.assets}dices/default/3d/`;
|
||||
const texturePath = `${CONFIG.l5r5e.paths.assets}dices/default/3d/`;
|
||||
|
||||
// dice3d.addSystem({
|
||||
// id: "l5r5e",
|
||||
|
||||
@@ -8,7 +8,7 @@ export class ActorSheetL5r5e extends BaseSheetL5r5e {
|
||||
static get defaultOptions() {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["l5r5e", "sheet", "actor"],
|
||||
template: CONFIG.L5r5e.paths.templates + "sheets/actor-sheet.html",
|
||||
template: CONFIG.l5r5e.paths.templates + "sheets/actor-sheet.html",
|
||||
width: 600,
|
||||
height: 800,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "description" }],
|
||||
|
||||
@@ -9,7 +9,7 @@ export class BaseSheetL5r5e extends ActorSheet {
|
||||
const sheetData = super.getData();
|
||||
|
||||
sheetData.data.dtypes = ["String", "Number", "Boolean"];
|
||||
sheetData.data.stances = CONFIG.L5r5e.stances;
|
||||
sheetData.data.stances = CONFIG.l5r5e.stances;
|
||||
|
||||
return sheetData;
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ export class NpcSheetL5r5e extends BaseSheetL5r5e {
|
||||
static get defaultOptions() {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["l5r5e", "sheet", "npc"],
|
||||
template: CONFIG.L5r5e.paths.templates + "sheets/npc-sheet.html",
|
||||
template: CONFIG.l5r5e.paths.templates + "sheets/npc-sheet.html",
|
||||
width: 600,
|
||||
height: 800,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "description" }],
|
||||
|
||||
@@ -24,7 +24,7 @@ export class TwentyQuestionsDialog extends FormApplication {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
id: "l5r5e-twenty-questions-dialog",
|
||||
classes: ["l5r5e", "twenty-questions-dialog"],
|
||||
template: CONFIG.L5r5e.paths.templates + "sheets/twenty-questions-dialog.html",
|
||||
template: CONFIG.l5r5e.paths.templates + "sheets/twenty-questions-dialog.html",
|
||||
title: game.i18n.localize("l5r5e.twenty_questions.title"),
|
||||
width: 600,
|
||||
height: 600,
|
||||
@@ -77,11 +77,12 @@ export class TwentyQuestionsDialog extends FormApplication {
|
||||
* @return {Object}
|
||||
*/
|
||||
getData(options = null) {
|
||||
console.log(game.l5r5e.HelpersL5r5e.getRingsList());
|
||||
return {
|
||||
...super.getData(options),
|
||||
elementsList: this._getElements(),
|
||||
skillsList: this._getSkills(),
|
||||
techniquesList: CONFIG.L5r5e.techniques,
|
||||
ringsList: game.l5r5e.HelpersL5r5e.getRingsList(),
|
||||
skillsList: game.l5r5e.HelpersL5r5e.getSkillsList(true),
|
||||
techniquesList: CONFIG.l5r5e.techniques,
|
||||
datas: this.datas,
|
||||
};
|
||||
}
|
||||
@@ -245,38 +246,6 @@ export class TwentyQuestionsDialog extends FormApplication {
|
||||
}, new Map());
|
||||
}
|
||||
|
||||
/**
|
||||
* Load elements list (id, label)
|
||||
* @private
|
||||
*/
|
||||
_getElements() {
|
||||
return CONFIG.L5r5e.stances.map((e) => {
|
||||
return {
|
||||
id: e,
|
||||
label: game.i18n.localize(`l5r5e.rings.${e}`),
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Load Skills list (id, cat, label)
|
||||
* @private
|
||||
*/
|
||||
_getSkills() {
|
||||
const skills = {};
|
||||
Array.from(L5R5E.skills).forEach(([id, cat]) => {
|
||||
if (!skills[cat]) {
|
||||
skills[cat] = [];
|
||||
}
|
||||
skills[cat].push({
|
||||
id: id,
|
||||
cat: cat,
|
||||
label: game.i18n.localize(`l5r5e.skills.${cat}.${id}`),
|
||||
});
|
||||
});
|
||||
return skills;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize form array
|
||||
* @private
|
||||
|
||||
@@ -140,7 +140,8 @@
|
||||
"in_curriculum": false,
|
||||
"xp_used": 0,
|
||||
"rank": 1,
|
||||
"bought_at_rank": 1
|
||||
"bought_at_rank": 1,
|
||||
"ring": "void"
|
||||
},
|
||||
"item": {
|
||||
"equipped": false,
|
||||
@@ -177,7 +178,6 @@
|
||||
"technique": {
|
||||
"templates": ["advancement"],
|
||||
"technique_type": "",
|
||||
"ring": "void",
|
||||
"effects": "",
|
||||
"description": ""
|
||||
},
|
||||
@@ -187,13 +187,13 @@
|
||||
"peculiarity": {
|
||||
"templates": ["advancement"],
|
||||
"peculiarity_type": "distinction",
|
||||
"ring": "void",
|
||||
"types": "",
|
||||
"description": ""
|
||||
},
|
||||
"advancement": {
|
||||
"templates": ["advancement"],
|
||||
"advancement_type": "",
|
||||
"skill": "",
|
||||
"description": ""
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
</td>
|
||||
<td class="rings center">
|
||||
<ul class="rings">
|
||||
{{#each elementsList}}
|
||||
{{#each ringsList}}
|
||||
<li id="{{this.id}}">
|
||||
<label class="attribute-label {{this.id}} centered-input ring-selection pointer-choice">
|
||||
<i class="i_{{this.id}}"></i>
|
||||
|
||||
@@ -19,14 +19,45 @@
|
||||
{{!-- Attributes Tab --}}
|
||||
<article class="tab attributes" data-group="primary" data-tab="attributes">
|
||||
<!-- TODO j'ai mis tous les attributs en vrac, à réorganiser -->
|
||||
<select name="data.advancement_type">
|
||||
{{#select item.data.advancement_type}}
|
||||
{{#each item.data.subTypesList as |type|}}
|
||||
<option value="{{type}}">{{type}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
<!-- TODO drag n drop de l'item sélectionné ? -->
|
||||
|
||||
<div>
|
||||
<select name="data.advancement_type">
|
||||
{{#select item.data.advancement_type}}
|
||||
{{#each item.data.subTypesList as |type|}}
|
||||
<option value="{{type}}">{{type}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
|
||||
{{#ifCond item.data.advancement_type '==' 'advantage' }}
|
||||
<!-- TODO zone de drag n drop de l'item sélectionné ? -->
|
||||
{{/ifCond}}
|
||||
|
||||
{{#ifCond item.data.advancement_type '==' 'ring' }}
|
||||
<select name="data.ring">
|
||||
{{#select item.data.ring}}
|
||||
{{#each item.data.ringsList as |obj|}}
|
||||
<option value="{{obj.id}}">{{obj.label}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
{{/ifCond}}
|
||||
|
||||
{{#ifCond item.data.advancement_type '==' 'skill' }}
|
||||
<select name="data.skill">
|
||||
<option value="none">{{localize 'l5r5e.twenty_questions.choosef'}}</option>
|
||||
{{#select item.data.skill}}
|
||||
{{#each item.data.skillsList as |skills catId|}}
|
||||
<optgroup label="{{localizeSkill catId 'title'}}">
|
||||
{{#each skills as |obj|}}
|
||||
<option value="{{obj.id}}">{{obj.label}}</option>
|
||||
{{/each}}
|
||||
</optgroup>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
{{/ifCond}}
|
||||
</div>
|
||||
|
||||
<label class="attribute-value checkbox">
|
||||
<input type="checkbox" name="data.in_curriculum" {{checked item.data.in_curriculum}} />
|
||||
|
||||
@@ -26,8 +26,8 @@
|
||||
|
||||
<!-- TODO j'ai mis tous les attributs en vrac, à réorganiser -->
|
||||
<select name="data.ring">
|
||||
{{#select item.data.ringsList}}
|
||||
{{#each item.data.rings as |obj|}}
|
||||
{{#select item.data.ring}}
|
||||
{{#each item.data.ringsList as |obj|}}
|
||||
<option value="{{obj.id}}">{{obj.label}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
{{localize 'l5r5e.twenty_questions.incring1'}}
|
||||
<select name="rings">
|
||||
<option value="none">{{localize 'l5r5e.twenty_questions.choosem'}}</option>
|
||||
{{#each elementsList as |obj|}}
|
||||
{{#each ringsList as |obj|}}
|
||||
<option value="{{obj.id}}">{{obj.label}}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
@@ -61,7 +61,7 @@
|
||||
{{localize 'l5r5e.twenty_questions.incring1'}}
|
||||
<select name="rings">
|
||||
<option value="none">{{localize 'l5r5e.twenty_questions.choosem'}}</option>
|
||||
{{#each elementsList as |obj|}}
|
||||
{{#each ringsList as |obj|}}
|
||||
<option value="{{obj.id}}">{{obj.label}}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
@@ -130,14 +130,14 @@
|
||||
{{localize 'l5r5e.twenty_questions.incring2'}}
|
||||
<select name="rings">
|
||||
<option value="none">{{localize 'l5r5e.twenty_questions.choosem'}}</option>
|
||||
{{#each elementsList as |obj|}}
|
||||
{{#each ringsList as |obj|}}
|
||||
<option value="{{obj.id}}">{{obj.label}}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
</label>
|
||||
<select name="rings">
|
||||
<option value="none">{{localize 'l5r5e.twenty_questions.choosem'}}</option>
|
||||
{{#each elementsList as |obj|}}
|
||||
{{#each ringsList as |obj|}}
|
||||
<option value="{{obj.id}}">{{obj.label}}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
@@ -257,7 +257,7 @@
|
||||
{{localize 'l5r5e.twenty_questions.incring1'}}
|
||||
<select name="rings">
|
||||
<option value="none">{{localize 'l5r5e.twenty_questions.choosem'}}</option>
|
||||
{{#each elementsList as |obj|}}
|
||||
{{#each ringsList as |obj|}}
|
||||
<option value="{{obj.id}}">{{obj.label}}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
|
||||
Reference in New Issue
Block a user