@kitten-science/kitten-scientists 2.0.0-beta.10-20250403-28002ba → 2.0.0-beta.10-dev-2a02d77

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (300) hide show
  1. package/lib/KittenScientists.d.ts +1 -1
  2. package/lib/KittenScientists.d.ts.map +1 -1
  3. package/lib/KittenScientists.js +6 -6
  4. package/lib/KittenScientists.js.map +1 -1
  5. package/lib/ReligionManager.js +1 -1
  6. package/lib/ReligionManager.js.map +1 -1
  7. package/lib/TimeControlManager.js +2 -2
  8. package/lib/TimeControlManager.js.map +1 -1
  9. package/lib/TradeManager.d.ts.map +1 -1
  10. package/lib/TradeManager.js.map +1 -1
  11. package/lib/tools/Log.d.ts +1 -1
  12. package/lib/tools/Log.d.ts.map +1 -1
  13. package/lib/tools/Log.js +4 -1
  14. package/lib/tools/Log.js.map +1 -1
  15. package/lib/ui/BonfireSettingsUi.d.ts +4 -5
  16. package/lib/ui/BonfireSettingsUi.d.ts.map +1 -1
  17. package/lib/ui/BonfireSettingsUi.js +96 -111
  18. package/lib/ui/BonfireSettingsUi.js.map +1 -1
  19. package/lib/ui/BuildSectionTools.d.ts +2 -26
  20. package/lib/ui/BuildSectionTools.d.ts.map +1 -1
  21. package/lib/ui/BuildSectionTools.js +47 -56
  22. package/lib/ui/BuildSectionTools.js.map +1 -1
  23. package/lib/ui/BuildingUpgradeSettingsUi.d.ts +2 -4
  24. package/lib/ui/BuildingUpgradeSettingsUi.d.ts.map +1 -1
  25. package/lib/ui/BuildingUpgradeSettingsUi.js +13 -20
  26. package/lib/ui/BuildingUpgradeSettingsUi.js.map +1 -1
  27. package/lib/ui/EmbassySettingsUi.d.ts +4 -5
  28. package/lib/ui/EmbassySettingsUi.d.ts.map +1 -1
  29. package/lib/ui/EmbassySettingsUi.js +48 -61
  30. package/lib/ui/EmbassySettingsUi.js.map +1 -1
  31. package/lib/ui/EngineSettingsUi.d.ts +2 -2
  32. package/lib/ui/EngineSettingsUi.d.ts.map +1 -1
  33. package/lib/ui/EngineSettingsUi.js +10 -8
  34. package/lib/ui/EngineSettingsUi.js.map +1 -1
  35. package/lib/ui/InternalsUi.d.ts +2 -2
  36. package/lib/ui/InternalsUi.d.ts.map +1 -1
  37. package/lib/ui/InternalsUi.js +43 -53
  38. package/lib/ui/InternalsUi.js.map +1 -1
  39. package/lib/ui/LogFilterSettingsUi.d.ts +2 -4
  40. package/lib/ui/LogFilterSettingsUi.d.ts.map +1 -1
  41. package/lib/ui/LogFilterSettingsUi.js +24 -32
  42. package/lib/ui/LogFilterSettingsUi.js.map +1 -1
  43. package/lib/ui/MissionSettingsUi.d.ts +2 -4
  44. package/lib/ui/MissionSettingsUi.d.ts.map +1 -1
  45. package/lib/ui/MissionSettingsUi.js +13 -18
  46. package/lib/ui/MissionSettingsUi.js.map +1 -1
  47. package/lib/ui/PolicySettingsUi.d.ts +2 -4
  48. package/lib/ui/PolicySettingsUi.d.ts.map +1 -1
  49. package/lib/ui/PolicySettingsUi.js +13 -20
  50. package/lib/ui/PolicySettingsUi.js.map +1 -1
  51. package/lib/ui/ReligionSettingsUi.d.ts +4 -5
  52. package/lib/ui/ReligionSettingsUi.d.ts.map +1 -1
  53. package/lib/ui/ReligionSettingsUi.js +108 -132
  54. package/lib/ui/ReligionSettingsUi.js.map +1 -1
  55. package/lib/ui/ResetBonfireSettingsUi.d.ts +2 -2
  56. package/lib/ui/ResetBonfireSettingsUi.d.ts.map +1 -1
  57. package/lib/ui/ResetBonfireSettingsUi.js +30 -36
  58. package/lib/ui/ResetBonfireSettingsUi.js.map +1 -1
  59. package/lib/ui/ResetReligionSettingsUi.d.ts +2 -2
  60. package/lib/ui/ResetReligionSettingsUi.d.ts.map +1 -1
  61. package/lib/ui/ResetReligionSettingsUi.js +42 -51
  62. package/lib/ui/ResetReligionSettingsUi.js.map +1 -1
  63. package/lib/ui/ResetResourcesSettingsUi.d.ts +2 -2
  64. package/lib/ui/ResetResourcesSettingsUi.d.ts.map +1 -1
  65. package/lib/ui/ResetResourcesSettingsUi.js +24 -31
  66. package/lib/ui/ResetResourcesSettingsUi.js.map +1 -1
  67. package/lib/ui/ResetSettingsUi.d.ts +2 -4
  68. package/lib/ui/ResetSettingsUi.d.ts.map +1 -1
  69. package/lib/ui/ResetSettingsUi.js +14 -19
  70. package/lib/ui/ResetSettingsUi.js.map +1 -1
  71. package/lib/ui/ResetSpaceSettingsUi.d.ts +2 -2
  72. package/lib/ui/ResetSpaceSettingsUi.d.ts.map +1 -1
  73. package/lib/ui/ResetSpaceSettingsUi.js +30 -39
  74. package/lib/ui/ResetSpaceSettingsUi.js.map +1 -1
  75. package/lib/ui/ResetTimeSettingsUi.d.ts +2 -2
  76. package/lib/ui/ResetTimeSettingsUi.d.ts.map +1 -1
  77. package/lib/ui/ResetTimeSettingsUi.js +32 -41
  78. package/lib/ui/ResetTimeSettingsUi.js.map +1 -1
  79. package/lib/ui/ResetUpgradesSettingsUi.d.ts +2 -2
  80. package/lib/ui/ResetUpgradesSettingsUi.d.ts.map +1 -1
  81. package/lib/ui/ResetUpgradesSettingsUi.js +12 -12
  82. package/lib/ui/ResetUpgradesSettingsUi.js.map +1 -1
  83. package/lib/ui/ResourcesSettingsUi.d.ts +2 -4
  84. package/lib/ui/ResourcesSettingsUi.d.ts.map +1 -1
  85. package/lib/ui/ResourcesSettingsUi.js +16 -20
  86. package/lib/ui/ResourcesSettingsUi.js.map +1 -1
  87. package/lib/ui/ScienceSettingsUi.d.ts +2 -4
  88. package/lib/ui/ScienceSettingsUi.d.ts.map +1 -1
  89. package/lib/ui/ScienceSettingsUi.js +16 -35
  90. package/lib/ui/ScienceSettingsUi.js.map +1 -1
  91. package/lib/ui/SpaceSettingsUi.d.ts +4 -5
  92. package/lib/ui/SpaceSettingsUi.d.ts.map +1 -1
  93. package/lib/ui/SpaceSettingsUi.js +43 -54
  94. package/lib/ui/SpaceSettingsUi.js.map +1 -1
  95. package/lib/ui/StateManagementUi.d.ts +2 -2
  96. package/lib/ui/StateManagementUi.d.ts.map +1 -1
  97. package/lib/ui/StateManagementUi.js +162 -169
  98. package/lib/ui/StateManagementUi.js.map +1 -1
  99. package/lib/ui/TechSettingsUi.d.ts +4 -5
  100. package/lib/ui/TechSettingsUi.d.ts.map +1 -1
  101. package/lib/ui/TechSettingsUi.js +51 -69
  102. package/lib/ui/TechSettingsUi.js.map +1 -1
  103. package/lib/ui/TimeControlSettingsUi.d.ts +3 -4
  104. package/lib/ui/TimeControlSettingsUi.d.ts.map +1 -1
  105. package/lib/ui/TimeControlSettingsUi.js +22 -34
  106. package/lib/ui/TimeControlSettingsUi.js.map +1 -1
  107. package/lib/ui/TimeSettingsUi.d.ts +4 -5
  108. package/lib/ui/TimeSettingsUi.d.ts.map +1 -1
  109. package/lib/ui/TimeSettingsUi.js +55 -62
  110. package/lib/ui/TimeSettingsUi.js.map +1 -1
  111. package/lib/ui/TimeSkipHeatSettingsUi.d.ts +4 -5
  112. package/lib/ui/TimeSkipHeatSettingsUi.d.ts.map +1 -1
  113. package/lib/ui/TimeSkipHeatSettingsUi.js +28 -44
  114. package/lib/ui/TimeSkipHeatSettingsUi.js.map +1 -1
  115. package/lib/ui/TimeSkipSettingsUi.d.ts +2 -4
  116. package/lib/ui/TimeSkipSettingsUi.d.ts.map +1 -1
  117. package/lib/ui/TimeSkipSettingsUi.js +75 -103
  118. package/lib/ui/TimeSkipSettingsUi.js.map +1 -1
  119. package/lib/ui/TradeSettingsUi.d.ts +4 -5
  120. package/lib/ui/TradeSettingsUi.d.ts.map +1 -1
  121. package/lib/ui/TradeSettingsUi.js +102 -115
  122. package/lib/ui/TradeSettingsUi.js.map +1 -1
  123. package/lib/ui/UpgradeSettingsUi.d.ts +4 -5
  124. package/lib/ui/UpgradeSettingsUi.d.ts.map +1 -1
  125. package/lib/ui/UpgradeSettingsUi.js +50 -66
  126. package/lib/ui/UpgradeSettingsUi.js.map +1 -1
  127. package/lib/ui/UserInterface.d.ts +3 -0
  128. package/lib/ui/UserInterface.d.ts.map +1 -1
  129. package/lib/ui/UserInterface.js +37 -19
  130. package/lib/ui/UserInterface.js.map +1 -1
  131. package/lib/ui/VillageSettingsUi.d.ts +2 -4
  132. package/lib/ui/VillageSettingsUi.d.ts.map +1 -1
  133. package/lib/ui/VillageSettingsUi.js +87 -105
  134. package/lib/ui/VillageSettingsUi.js.map +1 -1
  135. package/lib/ui/WorkshopSettingsUi.d.ts +4 -5
  136. package/lib/ui/WorkshopSettingsUi.d.ts.map +1 -1
  137. package/lib/ui/WorkshopSettingsUi.js +82 -103
  138. package/lib/ui/WorkshopSettingsUi.js.map +1 -1
  139. package/lib/ui/components/Button.d.ts +9 -8
  140. package/lib/ui/components/Button.d.ts.map +1 -1
  141. package/lib/ui/components/Button.js +8 -6
  142. package/lib/ui/components/Button.js.map +1 -1
  143. package/lib/ui/components/ButtonListItem.d.ts +4 -4
  144. package/lib/ui/components/ButtonListItem.d.ts.map +1 -1
  145. package/lib/ui/components/ButtonListItem.js +2 -7
  146. package/lib/ui/components/ButtonListItem.js.map +1 -1
  147. package/lib/ui/components/CollapsiblePanel.d.ts +15 -11
  148. package/lib/ui/components/CollapsiblePanel.d.ts.map +1 -1
  149. package/lib/ui/components/CollapsiblePanel.js +42 -25
  150. package/lib/ui/components/CollapsiblePanel.js.map +1 -1
  151. package/lib/ui/components/Container.d.ts +7 -2
  152. package/lib/ui/components/Container.d.ts.map +1 -1
  153. package/lib/ui/components/Container.js +6 -3
  154. package/lib/ui/components/Container.js.map +1 -1
  155. package/lib/ui/components/CyclesList.d.ts +7 -8
  156. package/lib/ui/components/CyclesList.d.ts.map +1 -1
  157. package/lib/ui/components/CyclesList.js +34 -27
  158. package/lib/ui/components/CyclesList.js.map +1 -1
  159. package/lib/ui/components/Delimiter.d.ts +3 -2
  160. package/lib/ui/components/Delimiter.d.ts.map +1 -1
  161. package/lib/ui/components/Delimiter.js +6 -2
  162. package/lib/ui/components/Delimiter.js.map +1 -1
  163. package/lib/ui/components/Dialog.d.ts +14 -6
  164. package/lib/ui/components/Dialog.d.ts.map +1 -1
  165. package/lib/ui/components/Dialog.js +66 -40
  166. package/lib/ui/components/Dialog.js.map +1 -1
  167. package/lib/ui/components/ExplainerListItem.d.ts +5 -2
  168. package/lib/ui/components/ExplainerListItem.d.ts.map +1 -1
  169. package/lib/ui/components/ExplainerListItem.js +7 -4
  170. package/lib/ui/components/ExplainerListItem.js.map +1 -1
  171. package/lib/ui/components/Fieldset.d.ts +6 -4
  172. package/lib/ui/components/Fieldset.d.ts.map +1 -1
  173. package/lib/ui/components/Fieldset.js +6 -3
  174. package/lib/ui/components/Fieldset.js.map +1 -1
  175. package/lib/ui/components/HeaderListItem.d.ts +6 -3
  176. package/lib/ui/components/HeaderListItem.d.ts.map +1 -1
  177. package/lib/ui/components/HeaderListItem.js +6 -3
  178. package/lib/ui/components/HeaderListItem.js.map +1 -1
  179. package/lib/ui/components/IconButton.d.ts +8 -6
  180. package/lib/ui/components/IconButton.d.ts.map +1 -1
  181. package/lib/ui/components/IconButton.js +6 -5
  182. package/lib/ui/components/IconButton.js.map +1 -1
  183. package/lib/ui/components/IconSettingsPanel.d.ts +5 -4
  184. package/lib/ui/components/IconSettingsPanel.d.ts.map +1 -1
  185. package/lib/ui/components/IconSettingsPanel.js +4 -2
  186. package/lib/ui/components/IconSettingsPanel.js.map +1 -1
  187. package/lib/ui/components/Input.d.ts +6 -3
  188. package/lib/ui/components/Input.d.ts.map +1 -1
  189. package/lib/ui/components/Input.js +6 -3
  190. package/lib/ui/components/Input.js.map +1 -1
  191. package/lib/ui/components/LabelListItem.d.ts +10 -7
  192. package/lib/ui/components/LabelListItem.d.ts.map +1 -1
  193. package/lib/ui/components/LabelListItem.js +21 -10
  194. package/lib/ui/components/LabelListItem.js.map +1 -1
  195. package/lib/ui/components/ListItem.d.ts +9 -6
  196. package/lib/ui/components/ListItem.d.ts.map +1 -1
  197. package/lib/ui/components/ListItem.js +6 -3
  198. package/lib/ui/components/ListItem.js.map +1 -1
  199. package/lib/ui/components/OptionsListItem.d.ts +6 -5
  200. package/lib/ui/components/OptionsListItem.d.ts.map +1 -1
  201. package/lib/ui/components/OptionsListItem.js +7 -5
  202. package/lib/ui/components/OptionsListItem.js.map +1 -1
  203. package/lib/ui/components/Paragraph.d.ts +7 -2
  204. package/lib/ui/components/Paragraph.d.ts.map +1 -1
  205. package/lib/ui/components/Paragraph.js +6 -3
  206. package/lib/ui/components/Paragraph.js.map +1 -1
  207. package/lib/ui/components/RadioItem.d.ts +9 -7
  208. package/lib/ui/components/RadioItem.d.ts.map +1 -1
  209. package/lib/ui/components/RadioItem.js +9 -7
  210. package/lib/ui/components/RadioItem.js.map +1 -1
  211. package/lib/ui/components/SeasonsList.d.ts +7 -6
  212. package/lib/ui/components/SeasonsList.d.ts.map +1 -1
  213. package/lib/ui/components/SeasonsList.js +20 -13
  214. package/lib/ui/components/SeasonsList.js.map +1 -1
  215. package/lib/ui/components/SettingLimitedListItem.d.ts +7 -7
  216. package/lib/ui/components/SettingLimitedListItem.d.ts.map +1 -1
  217. package/lib/ui/components/SettingLimitedListItem.js +7 -8
  218. package/lib/ui/components/SettingLimitedListItem.js.map +1 -1
  219. package/lib/ui/components/SettingLimitedTriggerListItem.d.ts +7 -6
  220. package/lib/ui/components/SettingLimitedTriggerListItem.d.ts.map +1 -1
  221. package/lib/ui/components/SettingLimitedTriggerListItem.js +12 -11
  222. package/lib/ui/components/SettingLimitedTriggerListItem.js.map +1 -1
  223. package/lib/ui/components/SettingListItem.d.ts +11 -11
  224. package/lib/ui/components/SettingListItem.d.ts.map +1 -1
  225. package/lib/ui/components/SettingListItem.js +16 -20
  226. package/lib/ui/components/SettingListItem.js.map +1 -1
  227. package/lib/ui/components/SettingMaxListItem.d.ts +7 -7
  228. package/lib/ui/components/SettingMaxListItem.d.ts.map +1 -1
  229. package/lib/ui/components/SettingMaxListItem.js +12 -10
  230. package/lib/ui/components/SettingMaxListItem.js.map +1 -1
  231. package/lib/ui/components/SettingMaxTriggerListItem.d.ts +9 -6
  232. package/lib/ui/components/SettingMaxTriggerListItem.d.ts.map +1 -1
  233. package/lib/ui/components/SettingMaxTriggerListItem.js +19 -14
  234. package/lib/ui/components/SettingMaxTriggerListItem.js.map +1 -1
  235. package/lib/ui/components/SettingTriggerListItem.d.ts +8 -7
  236. package/lib/ui/components/SettingTriggerListItem.d.ts.map +1 -1
  237. package/lib/ui/components/SettingTriggerListItem.js +15 -12
  238. package/lib/ui/components/SettingTriggerListItem.js.map +1 -1
  239. package/lib/ui/components/SettingsList.d.ts +13 -11
  240. package/lib/ui/components/SettingsList.d.ts.map +1 -1
  241. package/lib/ui/components/SettingsList.js +15 -16
  242. package/lib/ui/components/SettingsList.js.map +1 -1
  243. package/lib/ui/components/SettingsPanel.d.ts +9 -8
  244. package/lib/ui/components/SettingsPanel.d.ts.map +1 -1
  245. package/lib/ui/components/SettingsPanel.js +10 -10
  246. package/lib/ui/components/SettingsPanel.js.map +1 -1
  247. package/lib/ui/components/TextButton.d.ts +7 -6
  248. package/lib/ui/components/TextButton.d.ts.map +1 -1
  249. package/lib/ui/components/TextButton.js +7 -5
  250. package/lib/ui/components/TextButton.js.map +1 -1
  251. package/lib/ui/components/ToolbarListItem.d.ts +6 -5
  252. package/lib/ui/components/ToolbarListItem.d.ts.map +1 -1
  253. package/lib/ui/components/ToolbarListItem.js +7 -12
  254. package/lib/ui/components/ToolbarListItem.js.map +1 -1
  255. package/lib/ui/components/UiComponent.d.ts +32 -18
  256. package/lib/ui/components/UiComponent.d.ts.map +1 -1
  257. package/lib/ui/components/UiComponent.js +50 -19
  258. package/lib/ui/components/UiComponent.js.map +1 -1
  259. package/lib/ui/components/WorkshopCraftListItem.d.ts +8 -7
  260. package/lib/ui/components/WorkshopCraftListItem.d.ts.map +1 -1
  261. package/lib/ui/components/WorkshopCraftListItem.js +17 -18
  262. package/lib/ui/components/WorkshopCraftListItem.js.map +1 -1
  263. package/lib/ui/components/buttons/ConsumeButton.d.ts +5 -2
  264. package/lib/ui/components/buttons/ConsumeButton.d.ts.map +1 -1
  265. package/lib/ui/components/buttons/ConsumeButton.js +19 -26
  266. package/lib/ui/components/buttons/ConsumeButton.js.map +1 -1
  267. package/lib/ui/components/buttons/ExpandoButton.d.ts +6 -2
  268. package/lib/ui/components/buttons/ExpandoButton.d.ts.map +1 -1
  269. package/lib/ui/components/buttons/ExpandoButton.js +10 -9
  270. package/lib/ui/components/buttons/ExpandoButton.js.map +1 -1
  271. package/lib/ui/components/buttons/LimitedButton.d.ts +8 -7
  272. package/lib/ui/components/buttons/LimitedButton.d.ts.map +1 -1
  273. package/lib/ui/components/buttons/LimitedButton.js +20 -13
  274. package/lib/ui/components/buttons/LimitedButton.js.map +1 -1
  275. package/lib/ui/components/buttons/MaxButton.d.ts +5 -5
  276. package/lib/ui/components/buttons/MaxButton.d.ts.map +1 -1
  277. package/lib/ui/components/buttons/MaxButton.js +5 -7
  278. package/lib/ui/components/buttons/MaxButton.js.map +1 -1
  279. package/lib/ui/components/buttons/PaddingButton.d.ts +5 -2
  280. package/lib/ui/components/buttons/PaddingButton.d.ts.map +1 -1
  281. package/lib/ui/components/buttons/PaddingButton.js +6 -3
  282. package/lib/ui/components/buttons/PaddingButton.js.map +1 -1
  283. package/lib/ui/components/buttons/StockButton.d.ts +5 -2
  284. package/lib/ui/components/buttons/StockButton.d.ts.map +1 -1
  285. package/lib/ui/components/buttons/StockButton.js +25 -32
  286. package/lib/ui/components/buttons/StockButton.js.map +1 -1
  287. package/lib/ui/components/buttons/TriggerButton.d.ts +6 -5
  288. package/lib/ui/components/buttons/TriggerButton.d.ts.map +1 -1
  289. package/lib/ui/components/buttons/TriggerButton.js +11 -12
  290. package/lib/ui/components/buttons/TriggerButton.js.map +1 -1
  291. package/lib/ui/components/buttons-text/BuyButton.d.ts +6 -5
  292. package/lib/ui/components/buttons-text/BuyButton.d.ts.map +1 -1
  293. package/lib/ui/components/buttons-text/BuyButton.js +19 -26
  294. package/lib/ui/components/buttons-text/BuyButton.js.map +1 -1
  295. package/lib/ui/components/buttons-text/SellButton.d.ts +6 -5
  296. package/lib/ui/components/buttons-text/SellButton.d.ts.map +1 -1
  297. package/lib/ui/components/buttons-text/SellButton.js +19 -28
  298. package/lib/ui/components/buttons-text/SellButton.js.map +1 -1
  299. package/output/kitten-scientists.inject.js +2427 -2536
  300. package/package.json +4 -4
@@ -5,7 +5,6 @@ export class SettingListItem extends LabelListItem {
5
5
  setting;
6
6
  checkbox;
7
7
  readOnly;
8
- static #nextId = 0;
9
8
  /**
10
9
  * Construct a new setting element.
11
10
  * This is a simple checkbox with a label.
@@ -15,46 +14,43 @@ export class SettingListItem extends LabelListItem {
15
14
  * @param setting The setting this element is linked to.
16
15
  * @param options Options for this list item.
17
16
  */
18
- constructor(host, setting, label, options = {}) {
19
- super(host, label, { ...options, children: [] });
17
+ constructor(parent, setting, label, options) {
18
+ super(parent, label, { ...options });
20
19
  this.element.addClass(styles.setting);
21
- const id = `ks-setting${SettingListItem.#nextId++}`;
20
+ const id = `ks-setting${this.componentId}`;
22
21
  const checkbox = $("<input/>", {
23
22
  id,
24
23
  type: "checkbox",
25
24
  }).addClass(styles.checkbox);
26
- this.readOnly = options.readOnly ?? false;
25
+ this.readOnly = options?.readOnly ?? false;
27
26
  checkbox.prop("disabled", this.readOnly);
28
- checkbox.on("change", () => {
27
+ checkbox.on("change", (event) => {
29
28
  if (checkbox.is(":checked") && !setting.enabled) {
30
- setting.enabled = true;
31
- options.onCheck?.();
32
- this.refreshUi();
29
+ this.check();
33
30
  }
34
31
  else if (!checkbox.is(":checked") && setting.enabled) {
35
- setting.enabled = false;
36
- options.onUnCheck?.();
37
- this.refreshUi();
32
+ this.uncheck();
38
33
  }
39
34
  });
40
35
  this.elementLabel.before(checkbox);
41
36
  this.elementLabel.prop("for", id);
42
37
  this.checkbox = checkbox;
43
38
  this.setting = setting;
44
- this.addChildren(options.children);
45
39
  }
46
- check(isBatchProcess = false) {
40
+ toString() {
41
+ return `[${SettingListItem.name}#${this.componentId}]: '${this.elementLabel.text()}'`;
42
+ }
43
+ async check(isBatchProcess = false) {
47
44
  this.setting.enabled = true;
48
- this._options.onCheck?.(isBatchProcess);
49
- this.refreshUi();
45
+ await this.options?.onCheck?.call(isBatchProcess);
46
+ this.requestRefresh(true);
50
47
  }
51
- uncheck(isBatchProcess = false) {
48
+ async uncheck(isBatchProcess = false) {
52
49
  this.setting.enabled = false;
53
- this._options.onUnCheck?.(isBatchProcess);
54
- this.refreshUi();
50
+ await this.options.onUnCheck?.call(isBatchProcess);
51
+ this.requestRefresh(true);
55
52
  }
56
53
  refreshUi() {
57
- super.refreshUi();
58
54
  if (this.setting.enabled) {
59
55
  this.element.addClass(styles.checked);
60
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SettingListItem.js","sourceRoot":"","sources":["../../../source/ui/components/SettingListItem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SettingListItem.js","sourceRoot":"","sources":["../../../source/ui/components/SettingListItem.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
- import type { KittenScientists } from "../../KittenScientists.js";
2
1
  import type { SettingMax } from "../../settings/Settings.js";
3
2
  import { SettingListItem, type SettingListItemOptions } from "./SettingListItem.js";
4
3
  import type { UiComponent } from "./UiComponent.js";
5
4
  import { MaxButton } from "./buttons/MaxButton.js";
6
- export type SettingListItemOptionsMax = {
7
- readonly onRefreshMax: (subject: SettingMaxListItem) => void;
8
- readonly onSetMax: (subject: SettingMaxListItem) => void;
5
+ export type SettingMaxListItemOptions = ThisType<SettingMaxListItem> & SettingListItemOptions & {
6
+ readonly onRefreshMax?: () => void;
7
+ readonly onSetMax: () => void;
9
8
  };
10
- export declare class SettingMaxListItem<TOptions extends SettingListItemOptions<UiComponent> & SettingListItemOptionsMax = SettingListItemOptions<UiComponent> & SettingListItemOptionsMax> extends SettingListItem<SettingMax> {
9
+ export declare class SettingMaxListItem extends SettingListItem<SettingMax> {
10
+ readonly options: SettingMaxListItemOptions;
11
11
  readonly maxButton: MaxButton;
12
12
  /**
13
13
  * Create a UI element for a setting that can have a maximum.
@@ -19,7 +19,7 @@ export declare class SettingMaxListItem<TOptions extends SettingListItemOptions<
19
19
  * @param setting The setting model.
20
20
  * @param options Options for the list item.
21
21
  */
22
- constructor(host: KittenScientists, setting: SettingMax, label: string, options?: Partial<TOptions>);
23
- refreshUi(): void;
22
+ constructor(parent: UiComponent, setting: SettingMax, label: string, options: SettingMaxListItemOptions);
23
+ toString(): string;
24
24
  }
25
25
  //# sourceMappingURL=SettingMaxListItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingMaxListItem.d.ts","sourceRoot":"","sources":["../../../source/ui/components/SettingMaxListItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC7D,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAC1D,CAAC;AAEF,qBAAa,kBAAkB,CAC7B,QAAQ,SAAS,sBAAsB,CAAC,WAAW,CAAC,GAClD,yBAAyB,GAAG,sBAAsB,CAAC,WAAW,CAAC,GAAG,yBAAyB,CAC7F,SAAQ,eAAe,CAAC,UAAU,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAE9B;;;;;;;;;OASG;gBAED,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAe7B,SAAS;CAKV"}
1
+ {"version":3,"file":"SettingMaxListItem.d.ts","sourceRoot":"","sources":["../../../source/ui/components/SettingMaxListItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC,kBAAkB,CAAC,GAClE,sBAAsB,GAAG;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AAEJ,qBAAa,kBAAmB,SAAQ,eAAe,CAAC,UAAU,CAAC;IACjE,SAAiB,OAAO,EAAE,yBAAyB,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAE9B;;;;;;;;;OASG;gBAED,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,yBAAyB;IAkBpC,QAAQ,IAAI,MAAM;CAGnB"}
@@ -14,21 +14,23 @@ export class SettingMaxListItem extends SettingListItem {
14
14
  * @param setting The setting model.
15
15
  * @param options Options for the list item.
16
16
  */
17
- constructor(host, setting, label, options) {
18
- super(host, setting, label, options);
19
- this.maxButton = new MaxButton(host, setting, {
17
+ constructor(parent, setting, label, options) {
18
+ super(parent, setting, label, options);
19
+ this.maxButton = new MaxButton(parent, setting, {
20
20
  border: false,
21
- onClick: options?.onSetMax ? () => options.onSetMax?.(this) : undefined,
22
- onRefresh: options?.onRefreshMax ? () => options.onRefreshMax?.(this) : undefined,
21
+ onClick: () => {
22
+ options.onSetMax.call(this);
23
+ this.requestRefresh();
24
+ },
25
+ onRefresh: options?.onRefreshMax ? () => options.onRefreshMax?.call(this) : undefined,
23
26
  });
24
- this.head.addChildren([
25
- new Container(host, { classes: [stylesLabelListItem.fillSpace] }),
27
+ this.addChildrenHead([
28
+ new Container(parent, { classes: [stylesLabelListItem.fillSpace] }),
26
29
  this.maxButton,
27
30
  ]);
28
31
  }
29
- refreshUi() {
30
- super.refreshUi();
31
- this.maxButton.refreshUi();
32
+ toString() {
33
+ return `[${SettingMaxListItem.name}#${this.componentId}]: '${this.elementLabel.text()}'`;
32
34
  }
33
35
  }
34
36
  //# sourceMappingURL=SettingMaxListItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingMaxListItem.js","sourceRoot":"","sources":["../../../source/ui/components/SettingMaxListItem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,mBAAmB,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAA+B,MAAM,sBAAsB,CAAC;AAEpF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAOnD,MAAM,OAAO,kBAGX,SAAQ,eAA2B;IAC1B,SAAS,CAAY;IAE9B;;;;;;;;;OASG;IACH,YACE,IAAsB,EACtB,OAAmB,EACnB,KAAa,EACb,OAA2B;QAE3B,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAErC,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE;YAC5C,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YACvE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAClF,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YACpB,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,SAAS;SACf,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,KAAK,CAAC,SAAS,EAAE,CAAC;QAElB,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"SettingMaxListItem.js","sourceRoot":"","sources":["../../../source/ui/components/SettingMaxListItem.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,mBAAmB,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAA+B,MAAM,sBAAsB,CAAC;AAEpF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAQnD,MAAM,OAAO,kBAAmB,SAAQ,eAA2B;IAExD,SAAS,CAAY;IAE9B;;;;;;;;;OASG;IACH,YACE,MAAmB,EACnB,OAAmB,EACnB,KAAa,EACb,OAAkC;QAElC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAEvC,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE;YAC9C,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,GAAG,EAAE;gBACZ,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;YACD,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SACtF,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC;YACnB,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,SAAS;SACf,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,kBAAkB,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC;IAC3F,CAAC;CACF"}
@@ -1,16 +1,19 @@
1
1
  import type { SupportedLocale } from "../../Engine.js";
2
- import type { KittenScientists } from "../../KittenScientists.js";
3
2
  import type { SettingOptions, SettingTriggerMax } from "../../settings/Settings.js";
4
3
  import { SettingListItem, type SettingListItemOptions } from "./SettingListItem.js";
5
- import type { SettingListItemOptionsMax } from "./SettingMaxListItem.js";
6
- import type { SettingListItemOptionsTrigger } from "./SettingTriggerListItem.js";
4
+ import type { SettingMaxListItemOptions } from "./SettingMaxListItem.js";
5
+ import type { SettingTriggerListItemOptions } from "./SettingTriggerListItem.js";
7
6
  import type { UiComponent } from "./UiComponent.js";
8
7
  import { MaxButton } from "./buttons/MaxButton.js";
9
8
  import { TriggerButton } from "./buttons/TriggerButton.js";
10
- export declare class SettingMaxTriggerListItem<TOptions extends SettingListItemOptions<UiComponent> & SettingListItemOptionsMax & SettingListItemOptionsTrigger = SettingListItemOptions<UiComponent> & SettingListItemOptionsMax & SettingListItemOptionsTrigger> extends SettingListItem<SettingTriggerMax, TOptions> {
9
+ export type SettingMaxTriggerListItemOptions = ThisType<SettingMaxTriggerListItem> & SettingListItemOptions & SettingMaxListItemOptions & SettingTriggerListItemOptions & {
10
+ readonly renderLabelTrigger?: boolean;
11
+ };
12
+ export declare class SettingMaxTriggerListItem extends SettingListItem<SettingTriggerMax> {
13
+ readonly options: SettingMaxTriggerListItemOptions;
11
14
  readonly maxButton: MaxButton;
12
15
  readonly triggerButton: TriggerButton;
13
- constructor(host: KittenScientists, setting: SettingTriggerMax, locale: SettingOptions<SupportedLocale>, label: string, options?: Partial<TOptions>);
14
- refreshUi(): void;
16
+ constructor(parent: UiComponent, setting: SettingTriggerMax, locale: SettingOptions<SupportedLocale>, label: string, options: SettingMaxTriggerListItemOptions);
17
+ toString(): string;
15
18
  }
16
19
  //# sourceMappingURL=SettingMaxTriggerListItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingMaxTriggerListItem.d.ts","sourceRoot":"","sources":["../../../source/ui/components/SettingMaxTriggerListItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAIpF,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,qBAAa,yBAAyB,CACpC,QAAQ,SAAS,sBAAsB,CAAC,WAAW,CAAC,GAClD,yBAAyB,GACzB,6BAA6B,GAAG,sBAAsB,CAAC,WAAW,CAAC,GACnE,yBAAyB,GACzB,6BAA6B,CAC/B,SAAQ,eAAe,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;gBAGpC,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,cAAc,CAAC,eAAe,CAAC,EACvC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IA2BpB,SAAS,IAAI,IAAI;CAG3B"}
1
+ {"version":3,"file":"SettingMaxTriggerListItem.d.ts","sourceRoot":"","sources":["../../../source/ui/components/SettingMaxTriggerListItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAIpF,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,MAAM,gCAAgC,GAAG,QAAQ,CAAC,yBAAyB,CAAC,GAChF,sBAAsB,GACtB,yBAAyB,GACzB,6BAA6B,GAAG;IAC9B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CACvC,CAAC;AAEJ,qBAAa,yBAA0B,SAAQ,eAAe,CAAC,iBAAiB,CAAC;IAC/E,SAAiB,OAAO,EAAE,gCAAgC,CAAC;IAC3D,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;gBAGpC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,cAAc,CAAC,eAAe,CAAC,EACvC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,gCAAgC;IAgC3C,QAAQ,IAAI,MAAM;CAGnB"}
@@ -7,31 +7,36 @@ import { TriggerButton } from "./buttons/TriggerButton.js";
7
7
  export class SettingMaxTriggerListItem extends SettingListItem {
8
8
  maxButton;
9
9
  triggerButton;
10
- constructor(host, setting, locale, label, options) {
11
- super(host, setting, label, options);
12
- this.maxButton = new MaxButton(host, setting, {
10
+ constructor(parent, setting, locale, label, options) {
11
+ super(parent, setting, label, options);
12
+ this.maxButton = new MaxButton(parent, setting, {
13
13
  alignment: "right",
14
14
  border: false,
15
15
  classes: [stylesButton.headAction],
16
- onClick: options?.onSetMax ? () => options.onSetMax?.(this) : undefined,
17
- onRefresh: options?.onRefreshMax ? () => options.onRefreshMax?.(this) : undefined,
16
+ onClick: () => {
17
+ options.onSetMax.call(this);
18
+ this.requestRefresh();
19
+ },
20
+ onRefresh: options?.onRefreshMax ? () => options.onRefreshMax?.call(this) : undefined,
18
21
  });
19
- this.triggerButton = new TriggerButton(host, setting, locale, {
22
+ this.triggerButton = new TriggerButton(parent, setting, locale, {
20
23
  border: false,
21
24
  classes: [stylesButton.lastHeadAction],
22
- onClick: options?.onSetTrigger ? () => options.onSetTrigger?.(this) : undefined,
23
- onRefreshTitle: options?.onRefreshTrigger
24
- ? () => options.onRefreshTrigger?.(this)
25
- : undefined,
25
+ onClick: async () => {
26
+ await options.onSetTrigger.call(this);
27
+ this.requestRefresh();
28
+ },
29
+ onRefresh: options?.onRefreshTrigger ? () => options.onRefreshTrigger?.call(this) : undefined,
30
+ renderLabel: options?.renderLabelTrigger ?? true,
26
31
  });
27
- this.head.addChildren([
28
- new Container(host, { classes: [stylesLabelListItem.fillSpace] }),
32
+ this.addChildrenHead([
33
+ new Container(parent, { classes: [stylesLabelListItem.fillSpace] }),
29
34
  this.maxButton,
30
35
  this.triggerButton,
31
36
  ]);
32
37
  }
33
- refreshUi() {
34
- super.refreshUi();
38
+ toString() {
39
+ return `[${SettingMaxTriggerListItem.name}#${this.componentId}]: '${this.elementLabel.text()}'`;
35
40
  }
36
41
  }
37
42
  //# sourceMappingURL=SettingMaxTriggerListItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingMaxTriggerListItem.js","sourceRoot":"","sources":["../../../source/ui/components/SettingMaxTriggerListItem.ts"],"names":[],"mappings":"AAGA,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,mBAAmB,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAA+B,MAAM,sBAAsB,CAAC;AAIpF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,OAAO,yBAMX,SAAQ,eAA4C;IAC3C,SAAS,CAAY;IACrB,aAAa,CAAgB;IAEtC,YACE,IAAsB,EACtB,OAA0B,EAC1B,MAAuC,EACvC,KAAa,EACb,OAA2B;QAE3B,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAErC,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE;YAC5C,SAAS,EAAE,OAAO;YAClB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC;YAClC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YACvE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAClF,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;YAC5D,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC;YACtC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YAC/E,cAAc,EAAE,OAAO,EAAE,gBAAgB;gBACvC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC;gBACxC,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YACpB,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,aAAa;SACnB,CAAC,CAAC;IACL,CAAC;IAEQ,SAAS;QAChB,KAAK,CAAC,SAAS,EAAE,CAAC;IACpB,CAAC;CACF"}
1
+ {"version":3,"file":"SettingMaxTriggerListItem.js","sourceRoot":"","sources":["../../../source/ui/components/SettingMaxTriggerListItem.ts"],"names":[],"mappings":"AAEA,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,mBAAmB,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAA+B,MAAM,sBAAsB,CAAC;AAIpF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAS3D,MAAM,OAAO,yBAA0B,SAAQ,eAAkC;IAEtE,SAAS,CAAY;IACrB,aAAa,CAAgB;IAEtC,YACE,MAAmB,EACnB,OAA0B,EAC1B,MAAuC,EACvC,KAAa,EACb,OAAyC;QAEzC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAEvC,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE;YAC9C,SAAS,EAAE,OAAO;YAClB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC;YAClC,OAAO,EAAE,GAAG,EAAE;gBACZ,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;YACD,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SACtF,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;YAC9D,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC;YACtC,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;YACD,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YAC7F,WAAW,EAAE,OAAO,EAAE,kBAAkB,IAAI,IAAI;SACjD,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC;YACnB,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,aAAa;SACnB,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,yBAAyB,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC;IAClG,CAAC;CACF"}
@@ -1,16 +1,17 @@
1
1
  import type { SupportedLocale } from "../../Engine.js";
2
- import type { KittenScientists } from "../../KittenScientists.js";
3
2
  import type { SettingOptions, SettingThreshold, SettingTrigger } from "../../settings/Settings.js";
4
3
  import { SettingListItem, type SettingListItemOptions } from "./SettingListItem.js";
5
4
  import type { UiComponent } from "./UiComponent.js";
6
5
  import { TriggerButton } from "./buttons/TriggerButton.js";
7
- export type SettingListItemOptionsTrigger = {
8
- readonly onRefreshTrigger: (subject: SettingTriggerListItem) => void;
9
- readonly onSetTrigger: (subject: SettingTriggerListItem) => void;
6
+ export type SettingTriggerListItemOptions = ThisType<SettingTriggerListItem> & SettingListItemOptions & {
7
+ readonly onRefreshTrigger?: () => void | Promise<void>;
8
+ readonly onSetTrigger: () => void | Promise<void>;
9
+ readonly renderLabelTrigger?: boolean;
10
10
  };
11
- export declare class SettingTriggerListItem<TOptions extends SettingListItemOptions<UiComponent> & SettingListItemOptionsTrigger = SettingListItemOptions<UiComponent> & SettingListItemOptionsTrigger> extends SettingListItem {
11
+ export declare class SettingTriggerListItem extends SettingListItem {
12
+ readonly options: SettingTriggerListItemOptions;
12
13
  readonly triggerButton: TriggerButton;
13
- constructor(host: KittenScientists, setting: SettingThreshold | SettingTrigger, locale: SettingOptions<SupportedLocale>, label: string, options?: Partial<TOptions>);
14
- refreshUi(): void;
14
+ constructor(parent: UiComponent, setting: SettingThreshold | SettingTrigger, locale: SettingOptions<SupportedLocale>, label: string, options: SettingTriggerListItemOptions);
15
+ toString(): string;
15
16
  }
16
17
  //# sourceMappingURL=SettingTriggerListItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingTriggerListItem.d.ts","sourceRoot":"","sources":["../../../source/ui/components/SettingTriggerListItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGnG,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACrE,QAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;CAClE,CAAC;AAEF,qBAAa,sBAAsB,CACjC,QAAQ,SAAS,sBAAsB,CAAC,WAAW,CAAC,GAClD,6BAA6B,GAAG,sBAAsB,CAAC,WAAW,CAAC,GACnE,6BAA6B,CAC/B,SAAQ,eAAe;IACvB,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;gBAGpC,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,gBAAgB,GAAG,cAAc,EAC1C,MAAM,EAAE,cAAc,CAAC,eAAe,CAAC,EACvC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAgB7B,SAAS;CAKV"}
1
+ {"version":3,"file":"SettingTriggerListItem.d.ts","sourceRoot":"","sources":["../../../source/ui/components/SettingTriggerListItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGnG,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,MAAM,6BAA6B,GAAG,QAAQ,CAAC,sBAAsB,CAAC,GAC1E,sBAAsB,GAAG;IACvB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CACvC,CAAC;AAEJ,qBAAa,sBAAuB,SAAQ,eAAe;IACzD,SAAiB,OAAO,EAAE,6BAA6B,CAAC;IACxD,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;gBAGpC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,gBAAgB,GAAG,cAAc,EAC1C,MAAM,EAAE,cAAc,CAAC,eAAe,CAAC,EACvC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,6BAA6B;IAoBxC,QAAQ,IAAI,MAAM;CAGnB"}
@@ -4,22 +4,25 @@ import { SettingListItem } from "./SettingListItem.js";
4
4
  import { TriggerButton } from "./buttons/TriggerButton.js";
5
5
  export class SettingTriggerListItem extends SettingListItem {
6
6
  triggerButton;
7
- constructor(host, setting, locale, label, options) {
8
- super(host, setting, label, options);
9
- this.triggerButton = new TriggerButton(host, setting, locale, {
7
+ constructor(parent, setting, locale, label, options) {
8
+ super(parent, setting, label, options);
9
+ this.triggerButton = new TriggerButton(parent, setting, locale, {
10
10
  alignment: "right",
11
11
  border: false,
12
- onClick: options?.onSetTrigger ? () => options.onSetTrigger?.(this) : undefined,
13
- onRefreshTitle: options?.onRefreshTrigger
14
- ? () => options.onRefreshTrigger?.(this)
15
- : undefined,
12
+ onClick: async () => {
13
+ await options.onSetTrigger.call(this);
14
+ this.requestRefresh();
15
+ },
16
+ onRefresh: options?.onRefreshTrigger ? () => options.onRefreshTrigger?.call(this) : undefined,
17
+ renderLabel: options?.renderLabelTrigger ?? true,
16
18
  });
17
- this.head.addChild(new Container(host, { classes: [stylesLabelListItem.fillSpace] }));
18
- this.head.addChild(this.triggerButton);
19
+ this.addChildrenHead([
20
+ new Container(parent, { classes: [stylesLabelListItem.fillSpace] }),
21
+ this.triggerButton,
22
+ ]);
19
23
  }
20
- refreshUi() {
21
- super.refreshUi();
22
- this.triggerButton.refreshUi();
24
+ toString() {
25
+ return `[${SettingTriggerListItem.name}#${this.componentId}]: '${this.elementLabel.text()}'`;
23
26
  }
24
27
  }
25
28
  //# sourceMappingURL=SettingTriggerListItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingTriggerListItem.js","sourceRoot":"","sources":["../../../source/ui/components/SettingTriggerListItem.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,mBAAmB,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAA+B,MAAM,sBAAsB,CAAC;AAEpF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAO3D,MAAM,OAAO,sBAIX,SAAQ,eAAe;IACd,aAAa,CAAgB;IAEtC,YACE,IAAsB,EACtB,OAA0C,EAC1C,MAAuC,EACvC,KAAa,EACb,OAA2B;QAE3B,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAErC,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;YAC5D,SAAS,EAAE,OAAO;YAClB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YAC/E,cAAc,EAAE,OAAO,EAAE,gBAAgB;gBACvC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC;gBACxC,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACzC,CAAC;IAED,SAAS;QACP,KAAK,CAAC,SAAS,EAAE,CAAC;QAElB,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;CACF"}
1
+ {"version":3,"file":"SettingTriggerListItem.js","sourceRoot":"","sources":["../../../source/ui/components/SettingTriggerListItem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,mBAAmB,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAA+B,MAAM,sBAAsB,CAAC;AAEpF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAS3D,MAAM,OAAO,sBAAuB,SAAQ,eAAe;IAEhD,aAAa,CAAgB;IAEtC,YACE,MAAmB,EACnB,OAA0C,EAC1C,MAAuC,EACvC,KAAa,EACb,OAAsC;QAEtC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAEvC,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;YAC9D,SAAS,EAAE,OAAO;YAClB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;YACD,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YAC7F,WAAW,EAAE,OAAO,EAAE,kBAAkB,IAAI,IAAI;SACjD,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC;YACnB,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,aAAa;SACnB,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,sBAAsB,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC;IAC/F,CAAC;CACF"}
@@ -1,12 +1,11 @@
1
- import type { KittenScientists } from "../../KittenScientists.js";
2
1
  import { IconButton } from "./IconButton.js";
3
- import { UiComponent, type UiComponentInterface, type UiComponentOptions } from "./UiComponent.js";
4
- export type SettingsListOptions<TChild extends UiComponentInterface = UiComponentInterface> = UiComponentOptions<TChild> & {
5
- readonly hasEnableAll: boolean;
6
- readonly hasDisableAll: boolean;
7
- readonly onEnableAll: () => void;
8
- readonly onDisableAll: () => void;
9
- readonly onReset: () => void;
2
+ import { UiComponent, type UiComponentOptions } from "./UiComponent.js";
3
+ export type SettingsListOptions = ThisType<SettingsList> & UiComponentOptions & {
4
+ readonly hasEnableAll?: boolean;
5
+ readonly hasDisableAll?: boolean;
6
+ readonly onEnableAll?: () => void;
7
+ readonly onDisableAll?: () => void;
8
+ readonly onReset?: () => void;
10
9
  };
11
10
  /**
12
11
  * The `SettingsList` is a `<ul>` designed to host `SettingListItem` instances.
@@ -16,7 +15,8 @@ export type SettingsListOptions<TChild extends UiComponentInterface = UiComponen
16
15
  *
17
16
  * This construct is also sometimes referred to as an "items list" for historic reasons.
18
17
  */
19
- export declare class SettingsList<TOptions extends SettingsListOptions<UiComponent> = SettingsListOptions<UiComponent>> extends UiComponent<TOptions> {
18
+ export declare class SettingsList extends UiComponent {
19
+ readonly options: SettingsListOptions;
20
20
  readonly element: JQuery;
21
21
  readonly list: JQuery;
22
22
  readonly disableAllButton: IconButton | undefined;
@@ -28,7 +28,9 @@ export declare class SettingsList<TOptions extends SettingsListOptions<UiCompone
28
28
  * @param host A reference to the host.
29
29
  * @param options Which tools should be available on the list?
30
30
  */
31
- constructor(host: KittenScientists, options?: Partial<TOptions>);
32
- addChild(child: UiComponent): void;
31
+ constructor(parent: UiComponent, options?: SettingsListOptions);
32
+ toString(): string;
33
+ addChild(child: UiComponent): this;
34
+ refreshUi(): void;
33
35
  }
34
36
  //# sourceMappingURL=SettingsList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsList.d.ts","sourceRoot":"","sources":["../../../source/ui/components/SettingsList.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAE,WAAW,EAAE,KAAK,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEnG,MAAM,MAAM,mBAAmB,CAAC,MAAM,SAAS,oBAAoB,GAAG,oBAAoB,IACxF,kBAAkB,CAAC,MAAM,CAAC,GAAG;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAEJ;;;;;;;GAOG;AACH,qBAAa,YAAY,CACvB,QAAQ,SAAS,mBAAmB,CAAC,WAAW,CAAC,GAAG,mBAAmB,CAAC,WAAW,CAAC,CACpF,SAAQ,WAAW,CAAC,QAAQ,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,gBAAgB,EAAE,UAAU,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,eAAe,EAAE,UAAU,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,WAAW,EAAE,UAAU,GAAG,SAAS,CAAC;IAE7C;;;;;OAKG;gBACS,IAAI,EAAE,gBAAgB,EAAE,OAAO,GAAE,OAAO,CAAC,QAAQ,CAAM;IAgG1D,QAAQ,CAAC,KAAK,EAAE,WAAW;CAIrC"}
1
+ {"version":3,"file":"SettingsList.d.ts","sourceRoot":"","sources":["../../../source/ui/components/SettingsList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAExE,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,YAAY,CAAC,GACtD,kBAAkB,GAAG;IACnB,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AAEJ;;;;;;;GAOG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAC3C,SAAiB,OAAO,EAAE,mBAAmB,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,gBAAgB,EAAE,UAAU,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,eAAe,EAAE,UAAU,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,WAAW,EAAE,UAAU,GAAG,SAAS,CAAC;IAE7C;;;;;OAKG;gBACS,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,mBAAmB;IA6F9D,QAAQ,IAAI,MAAM;IAIT,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAO3C,SAAS,IAAI,IAAI;CAClB"}
@@ -24,8 +24,8 @@ export class SettingsList extends UiComponent {
24
24
  * @param host A reference to the host.
25
25
  * @param options Which tools should be available on the list?
26
26
  */
27
- constructor(host, options = {}) {
28
- super(host, { ...options, children: [] });
27
+ constructor(parent, options) {
28
+ super(parent, { ...options });
29
29
  const toolOptions = {
30
30
  hasDisableAll: true,
31
31
  hasEnableAll: true,
@@ -38,8 +38,7 @@ export class SettingsList extends UiComponent {
38
38
  if (hasTools) {
39
39
  const tools = $("<div/>").addClass(styles.listTools);
40
40
  if (toolOptions.hasEnableAll) {
41
- const onEnableAll = options.onEnableAll;
42
- this.enableAllButton = new IconButton(this._host, Icons.CheckboxCheck, host.engine.i18n("ui.enable.all"), {
41
+ this.enableAllButton = new IconButton(parent, Icons.CheckboxCheck, parent.host.engine.i18n("ui.enable.all"), {
43
42
  onClick: () => {
44
43
  const event = new Event("enableAll", { cancelable: true });
45
44
  this.dispatchEvent(event);
@@ -51,17 +50,14 @@ export class SettingsList extends UiComponent {
51
50
  child.check(true);
52
51
  }
53
52
  }
54
- if (!isNil(onEnableAll)) {
55
- onEnableAll();
56
- }
57
- this.refreshUi();
53
+ options?.onEnableAll?.call(this);
54
+ this.requestRefresh();
58
55
  },
59
56
  });
60
57
  tools.append(this.enableAllButton.element);
61
58
  }
62
59
  if (toolOptions.hasDisableAll) {
63
- const onDisableAll = options.onDisableAll;
64
- this.disableAllButton = new IconButton(this._host, Icons.CheckboxUnCheck, host.engine.i18n("ui.disable.all"));
60
+ this.disableAllButton = new IconButton(parent, Icons.CheckboxUnCheck, parent.host.engine.i18n("ui.disable.all"));
65
61
  this.disableAllButton.element.on("click", () => {
66
62
  const event = new Event("disableAll", { cancelable: true });
67
63
  this.dispatchEvent(event);
@@ -73,16 +69,14 @@ export class SettingsList extends UiComponent {
73
69
  child.uncheck();
74
70
  }
75
71
  }
76
- if (!isNil(onDisableAll)) {
77
- onDisableAll();
78
- }
79
- this.refreshUi();
72
+ options?.onDisableAll?.call(this);
73
+ this.requestRefresh();
80
74
  });
81
75
  tools.append(this.disableAllButton.element);
82
76
  }
83
77
  const onReset = toolOptions.onReset;
84
78
  if (!isNil(onReset)) {
85
- this.resetButton = new IconButton(this._host, Icons.Reset, host.engine.i18n("ui.reset"), {
79
+ this.resetButton = new IconButton(parent, Icons.Reset, parent.host.engine.i18n("ui.reset"), {
86
80
  onClick: () => {
87
81
  onReset();
88
82
  },
@@ -92,11 +86,16 @@ export class SettingsList extends UiComponent {
92
86
  container.append(tools);
93
87
  }
94
88
  this.element = container;
95
- this.addChildren(options.children);
89
+ }
90
+ toString() {
91
+ return `[${SettingsList.name}#${this.componentId}]`;
96
92
  }
97
93
  addChild(child) {
94
+ child.parent = this;
98
95
  this.children.add(child);
99
96
  this.list.append(child.element);
97
+ return this;
100
98
  }
99
+ refreshUi() { }
101
100
  }
102
101
  //# sourceMappingURL=SettingsList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsList.js","sourceRoot":"","sources":["../../../source/ui/components/SettingsList.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SettingsList.js","sourceRoot":"","sources":["../../../source/ui/components/SettingsList.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,21 @@
1
- import type { KittenScientists } from "../../KittenScientists.js";
2
1
  import type { Setting } from "../../settings/Settings.js";
3
- import { CollapsiblePanel, type PanelOptions } from "./CollapsiblePanel.js";
2
+ import { CollapsiblePanel, type CollapsiblePanelOptions } from "./CollapsiblePanel.js";
4
3
  import type { LabelListItem } from "./LabelListItem.js";
5
4
  import type { SettingListItem } from "./SettingListItem.js";
6
- export type SettingsPanelOptions<TListItem extends LabelListItem = LabelListItem> = PanelOptions & {
7
- readonly settingItem: TListItem;
5
+ import type { UiComponent } from "./UiComponent.js";
6
+ export type SettingsPanelOptions<TListItem extends LabelListItem = LabelListItem> = ThisType<SettingsPanel> & CollapsiblePanelOptions & {
7
+ readonly settingItem?: TListItem;
8
8
  };
9
9
  export declare class SettingsPanel<TSetting extends Setting = Setting, TListItem extends LabelListItem = LabelListItem> extends CollapsiblePanel implements SettingListItem {
10
+ readonly options: SettingsPanelOptions<TListItem>;
10
11
  readonly setting: TSetting;
11
12
  readonly settingItem: TListItem;
12
13
  get isExpanded(): boolean;
13
14
  get elementLabel(): JQuery<HTMLElement>;
14
- get head(): LabelListItem<import("./LabelListItem.js").LabelListItemOptions<import("./UiComponent.js").UiComponent<import("./UiComponent.js").UiComponentOptions<import("./UiComponent.js").UiComponentInterface>>>>;
15
15
  get readOnly(): boolean;
16
16
  set readOnly(_value: boolean);
17
- check(): void;
18
- uncheck(): void;
17
+ check(): Promise<void>;
18
+ uncheck(): Promise<void>;
19
19
  /**
20
20
  * Constructs a settings panel that is used to contain a major section of the UI.
21
21
  *
@@ -24,6 +24,7 @@ export declare class SettingsPanel<TSetting extends Setting = Setting, TListItem
24
24
  * @param setting - An setting for which this is the settings panel.
25
25
  * @param options - Options for this panel.
26
26
  */
27
- constructor(host: KittenScientists, setting: TSetting, settingItem: TListItem, options?: Partial<SettingsPanelOptions<TListItem>>);
27
+ constructor(parent: UiComponent, setting: TSetting, settingItem: TListItem, options?: SettingsPanelOptions<TListItem>);
28
+ toString(): string;
28
29
  }
29
30
  //# sourceMappingURL=SettingsPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsPanel.d.ts","sourceRoot":"","sources":["../../../source/ui/components/SettingsPanel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,MAAM,oBAAoB,CAAC,SAAS,SAAS,aAAa,GAAG,aAAa,IAAI,YAAY,GAAG;IACjG,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;CACjC,CAAC;AAEF,qBAAa,aAAa,CACtB,QAAQ,SAAS,OAAO,GAAG,OAAO,EAClC,SAAS,SAAS,aAAa,GAAG,aAAa,CAEjD,SAAQ,gBACR,YAAW,eAAe;IAE1B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;IAEhC,IAAI,UAAU,YAEb;IAGD,IAAI,YAAY,wBAEf;IACD,IAAI,IAAI,6MAEP;IAED,IAAI,QAAQ,IAGS,OAAO,CAD3B;IACD,IAAI,QAAQ,CAAC,MAAM,EAAE,OAAO,EAE3B;IAED,KAAK;IAKL,OAAO;IAKP;;;;;;;OAOG;gBAED,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,QAAQ,EACjB,WAAW,EAAE,SAAS,EACtB,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;CAOrD"}
1
+ {"version":3,"file":"SettingsPanel.d.ts","sourceRoot":"","sources":["../../../source/ui/components/SettingsPanel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,MAAM,oBAAoB,CAAC,SAAS,SAAS,aAAa,GAAG,aAAa,IAC9E,QAAQ,CAAC,aAAa,CAAC,GACrB,uBAAuB,GAAG;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC;CAClC,CAAC;AAEN,qBAAa,aAAa,CACtB,QAAQ,SAAS,OAAO,GAAG,OAAO,EAClC,SAAS,SAAS,aAAa,GAAG,aAAa,CAEjD,SAAQ,gBACR,YAAW,eAAe;IAE1B,SAAiB,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC1D,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;IAEhC,IAAI,UAAU,YAEb;IAGD,IAAI,YAAY,wBAEf;IAED,IAAI,QAAQ,IAGS,OAAO,CAD3B;IACD,IAAI,QAAQ,CAAC,MAAM,EAAE,OAAO,EAE3B;IAEK,KAAK;IAKL,OAAO;IAKb;;;;;;;OAOG;gBAED,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,QAAQ,EACjB,WAAW,EAAE,SAAS,EACtB,OAAO,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC;IAQ3C,QAAQ,IAAI,MAAM;CAGnB"}
@@ -7,10 +7,7 @@ export class SettingsPanel extends CollapsiblePanel {
7
7
  }
8
8
  // SettingListItem interface
9
9
  get elementLabel() {
10
- return this._head.element;
11
- }
12
- get head() {
13
- return this._head;
10
+ return this.head.element;
14
11
  }
15
12
  get readOnly() {
16
13
  return true;
@@ -18,13 +15,13 @@ export class SettingsPanel extends CollapsiblePanel {
18
15
  set readOnly(_value) {
19
16
  /* noop */
20
17
  }
21
- check() {
18
+ async check() {
22
19
  this.setting.enabled = true;
23
- this.refreshUi();
20
+ this.requestRefresh();
24
21
  }
25
- uncheck() {
22
+ async uncheck() {
26
23
  this.setting.enabled = false;
27
- this.refreshUi();
24
+ this.requestRefresh();
28
25
  }
29
26
  /**
30
27
  * Constructs a settings panel that is used to contain a major section of the UI.
@@ -34,10 +31,13 @@ export class SettingsPanel extends CollapsiblePanel {
34
31
  * @param setting - An setting for which this is the settings panel.
35
32
  * @param options - Options for this panel.
36
33
  */
37
- constructor(host, setting, settingItem, options) {
38
- super(host, settingItem, options);
34
+ constructor(parent, setting, settingItem, options) {
35
+ super(parent, settingItem, options);
39
36
  this.settingItem = settingItem;
40
37
  this.setting = setting;
41
38
  }
39
+ toString() {
40
+ return `[${SettingsPanel.name}#${this.componentId}]: '${this.settingItem.elementLabel.text()}'`;
41
+ }
42
42
  }
43
43
  //# sourceMappingURL=SettingsPanel.js.map