diff --git a/src/facilities/farmyard/animals/animals.js b/src/facilities/farmyard/animals/animals.js index 33b5927a9ac744516b66db94e8d9dbd48aadf93e..99b82156d142854403c10da07a0c3b11dd4ee442 100644 --- a/src/facilities/farmyard/animals/animals.js +++ b/src/facilities/farmyard/animals/animals.js @@ -324,6 +324,7 @@ App.Facilities.Farmyard.animals = function() { const addDiv = App.UI.DOM.makeElement("div", null, ['margin-top']); const animal = new App.Entity.Animal(null, null, "canine", "domestic"); + let animalName = animal.name || 'animal'; App.UI.DOM.appendNewElement("h2", frag, `Custom Animals`); @@ -345,10 +346,11 @@ App.Facilities.Farmyard.animals = function() { `Name: `, App.UI.DOM.makeTextBox(animal.name || '', value => { animal.setName(value); + animalName = animal.name; - // App.UI.reload(); - // App.UI.DOM.replace(nameDiv, name()); App.UI.DOM.replace(typeDiv, type); + App.UI.DOM.replace(rarityDiv, rarity); + App.UI.DOM.replace(articleDiv, article); App.UI.DOM.replace(dickDiv, dick); App.UI.DOM.replace(deadlinessDiv, deadliness); App.UI.DOM.replace(addDiv, add()); @@ -364,7 +366,6 @@ App.Facilities.Farmyard.animals = function() { App.UI.DOM.makeTextBox(animal.species || '', value => { animal.setSpecies(value); - App.UI.DOM.replace(speciesDiv, species()); App.UI.DOM.replace(addDiv, add()); }), ); @@ -380,11 +381,11 @@ App.Facilities.Farmyard.animals = function() { .addValue('Feline', 'feline'); if (animal.type === "canine") { - typeDiv.append(`The ${animal.name || 'animal'} is a canine.`, options.render()); + typeDiv.append(`The ${animalName} is a canine.`, options.render()); } else if (animal.type === "hooved") { - typeDiv.append(`The ${animal.name || 'animal'} is a hooved animal.`, options.render()); + typeDiv.append(`The ${animalName} is a hooved animal.`, options.render()); } else { - typeDiv.append(`The ${animal.name || 'animal'} is a feline.`, options.render()); + typeDiv.append(`The ${animalName} is a feline.`, options.render()); } return typeDiv; @@ -397,42 +398,21 @@ App.Facilities.Farmyard.animals = function() { .addValue('Exotic', 'exotic'); if (animal.rarity === "domestic") { - rarityDiv.append(`The ${animal.name || 'animal'} is domesticated.`, options.render()); + rarityDiv.append(`The ${animalName} is domesticated.`, options.render()); } else { - rarityDiv.append(`The ${animal.name || 'animal'} is exotic and tamed.`, options.render()); + rarityDiv.append(`The ${animalName} is exotic and tamed.`, options.render()); } return rarityDiv; } function article() { - const articleLinks = []; - - if (animal.articleAn === 'a') { - articleLinks.push( - App.UI.DOM.link("Yes", () => { - animal.articleAn = 'an'; - - App.UI.DOM.replace(articleDiv, article()); - App.UI.DOM.replace(dickDiv, dick); - App.UI.DOM.replace(deadlinessDiv, deadliness); - }), - App.UI.DOM.disabledLink("No", [`Already selected.`]), - ); - } else { - articleLinks.push( - App.UI.DOM.disabledLink("Yes", [`Already selected.`]), - App.UI.DOM.link("No", () => { - animal.articleAn = 'a'; - - App.UI.DOM.replace(articleDiv, article()); - App.UI.DOM.replace(dickDiv, dick); - App.UI.DOM.replace(deadlinessDiv, deadliness); - }), - ); - } + const options = new App.UI.OptionsGroup(); + options.addOption(null, "articleAn", animal) + .addValue('Yes', 'an') + .addValue('No', 'a'); - articleDiv.append(`Is this animal's name preceded by an 'an'? `, App.UI.DOM.generateLinksStrip(articleLinks)); + articleDiv.append(`Is the ${animalName}'s name preceded by an 'an'?`, options.render()); return articleDiv; } @@ -452,7 +432,7 @@ App.Facilities.Farmyard.animals = function() { App.UI.DOM.replace(dickSizeDiv, dickSize); }, true), - App.UI.DOM.makeElement("span", `1 is smallest, and default is 2. `, ['note']), + App.UI.DOM.makeElement("span", `1 is smallest and default is 2.`, ['note']), ); return dickSizeDiv; @@ -468,7 +448,7 @@ App.Facilities.Farmyard.animals = function() { App.UI.DOM.replace(dickDescDiv, dickDesc); }), - App.UI.DOM.makeElement("span", `Default is 'large'. `, ['note']), + App.UI.DOM.makeElement("span", `Default is 'large', but you can use any descriptor.`, ['note']), ); return dickDescDiv; @@ -481,7 +461,7 @@ App.Facilities.Farmyard.animals = function() { App.UI.DOM.makeTextBox(5, value => { animal.setDick(value); }, true), - App.UI.DOM.makeElement("span", `Default is 5. `, ['note']), + App.UI.DOM.makeElement("span", `Default is 5.`, ['note']), ); return deadlinessDiv;