UNPKG

@kitten-science/kitten-scientists

Version:

Add-on for the wonderful incremental browser game: https://kittensgame.com/web/

65 lines 3.41 kB
import { CyclesList } from "./components/CyclesList.js"; import { Dialog } from "./components/Dialog.js"; import { SettingsList } from "./components/SettingsList.js"; import { SettingsPanel } from "./components/SettingsPanel.js"; import { SettingTriggerListItem } from "./components/SettingTriggerListItem.js"; import styles from "./TimeSkipHeatSettingsUi.module.css"; export class TimeSkipHeatSettingsUi extends SettingsPanel { constructor(parent, settings, locale, sectionSetting, sectionParentSetting) { const label = parent.host.engine.i18n("option.time.activeHeatTransfer"); super(parent, settings, new SettingTriggerListItem(parent, settings, locale, label, { onCheck: (_isBatchProcess) => { parent.host.engine.imessage("status.auto.enable", [label]); }, onSetTrigger: async () => { const value = await Dialog.prompt(parent, parent.host.engine.i18n("ui.trigger.activeHeatTransfer.prompt"), parent.host.engine.i18n("ui.trigger.activeHeatTransfer.promptTitle", [ parent.host.renderPercentage(settings.trigger, locale.selected, true), ]), parent.host.renderPercentage(settings.trigger), parent.host.engine.i18n("ui.trigger.activeHeatTransfer.promptExplainer")); if (value === undefined || value === "" || value.startsWith("-")) { return; } settings.trigger = parent.host.parsePercentage(value); }, onUnCheck: (_isBatchProcess) => { parent.host.engine.imessage("status.auto.disable", [label]); settings.activeHeatTransferStatus.enabled = false; }, }), { onRefreshRequest: () => { this.settingItem.triggerButton.inactive = !settings.enabled; this.settingItem.triggerButton.ineffective = sectionParentSetting.enabled && sectionSetting.enabled && settings.enabled && settings.trigger === -1; this.expando.ineffective = sectionParentSetting.enabled && sectionSetting.enabled && settings.enabled && !Object.values(settings.cycles).some(cycle => cycle.enabled); if (settings.activeHeatTransferStatus.enabled) { this.head.elementLabel.attr("data-ks-active-from", "◎"); this.head.elementLabel.attr("data-ks-active-to", "◎"); this.head.elementLabel.addClass(styles.active); } else { this.head.elementLabel.removeClass(styles.active); } }, }); this.addChildContent(new SettingsList(this, { hasDisableAll: false, hasEnableAll: false, }).addChildren([ new CyclesList(this, this.setting.cycles, { onCheckCycle: (label) => { this.host.engine.imessage("time.heatTransfer.cycle.enable", [label]); }, onUnCheckCycle: (label) => { this.host.engine.imessage("time.heatTransfer.cycle.disable", [label]); }, }), ])); } } //# sourceMappingURL=TimeSkipHeatSettingsUi.js.map