From 33c3b2810aec089d6d8acdb754c7832c60593b26 Mon Sep 17 00:00:00 2001 From: redphx <96280+redphx@users.noreply.github.com> Date: Tue, 22 Oct 2024 16:52:23 +0700 Subject: [PATCH] Update NumberStepper --- dist/better-xcloud.lite.user.js | 13 ++++++++----- dist/better-xcloud.user.js | 13 ++++++++----- src/utils/setting-element.ts | 14 ++++++++------ .../settings-storages/global-settings-storage.ts | 3 ++- 4 files changed, 26 insertions(+), 17 deletions(-) diff --git a/dist/better-xcloud.lite.user.js b/dist/better-xcloud.lite.user.js index 645e196..8ff7a3b 100644 --- a/dist/better-xcloud.lite.user.js +++ b/dist/better-xcloud.lite.user.js @@ -789,10 +789,12 @@ class SettingElement { }), $wrapper.appendChild($range), options.ticks || options.exactTicks) { let markersId = `markers-${key}`, $markers = CE("datalist", { id: markersId }); if ($range.setAttribute("list", markersId), options.exactTicks) { - let start = Math.max(Math.floor(MIN / options.exactTicks), 1) * options.exactTicks; - if (start === MIN) start += options.exactTicks; - for (let i = start;i < MAX; i += options.exactTicks) - $markers.appendChild(CE("option", { value: i })); + let start = Math.max(Math.floor(setting.min / options.exactTicks), 1) * options.exactTicks; + if (start === setting.min) start += options.exactTicks; + for (let i = start;i < setting.max; i += options.exactTicks) + $markers.appendChild(CE("option", { + value: options.reverse ? -i : i + })); } else for (let i = MIN + options.ticks;i < MAX; i += options.ticks) $markers.appendChild(CE("option", { value: i })); $wrapper.appendChild($markers); @@ -1383,9 +1385,10 @@ class GlobalSettingsStorage extends BaseSettingsStore { type: "number-stepper", default: 4, min: 4, - max: 40, + max: 60, steps: 4, params: { + exactTicks: 20, reverse: !0, customTextValue(value) { value = parseInt(value); diff --git a/dist/better-xcloud.user.js b/dist/better-xcloud.user.js index d36d17b..ec5aa68 100644 --- a/dist/better-xcloud.user.js +++ b/dist/better-xcloud.user.js @@ -812,10 +812,12 @@ class SettingElement { }), $wrapper.appendChild($range), options.ticks || options.exactTicks) { let markersId = `markers-${key}`, $markers = CE("datalist", { id: markersId }); if ($range.setAttribute("list", markersId), options.exactTicks) { - let start = Math.max(Math.floor(MIN / options.exactTicks), 1) * options.exactTicks; - if (start === MIN) start += options.exactTicks; - for (let i = start;i < MAX; i += options.exactTicks) - $markers.appendChild(CE("option", { value: i })); + let start = Math.max(Math.floor(setting.min / options.exactTicks), 1) * options.exactTicks; + if (start === setting.min) start += options.exactTicks; + for (let i = start;i < setting.max; i += options.exactTicks) + $markers.appendChild(CE("option", { + value: options.reverse ? -i : i + })); } else for (let i = MIN + options.ticks;i < MAX; i += options.ticks) $markers.appendChild(CE("option", { value: i })); $wrapper.appendChild($markers); @@ -1406,9 +1408,10 @@ class GlobalSettingsStorage extends BaseSettingsStore { type: "number-stepper", default: 4, min: 4, - max: 40, + max: 60, steps: 4, params: { + exactTicks: 20, reverse: !0, customTextValue(value) { value = parseInt(value); diff --git a/src/utils/setting-element.ts b/src/utils/setting-element.ts index 79c98ba..439b347 100644 --- a/src/utils/setting-element.ts +++ b/src/utils/setting-element.ts @@ -248,22 +248,24 @@ export class SettingElement { if (options.ticks || options.exactTicks) { const markersId = `markers-${key}`; - const $markers = CE('datalist', {'id': markersId}); + const $markers = CE('datalist', {id: markersId}); $range.setAttribute('list', markersId); if (options.exactTicks) { - let start = Math.max(Math.floor(MIN / options.exactTicks), 1) * options.exactTicks; + let start = Math.max(Math.floor(setting.min! / options.exactTicks), 1) * options.exactTicks; - if (start === MIN) { + if (start === setting.min!) { start += options.exactTicks; } - for (let i = start; i < MAX; i += options.exactTicks) { - $markers.appendChild(CE('option', {'value': i})); + for (let i = start; i < setting.max!; i += options.exactTicks) { + $markers.appendChild(CE('option', { + value: options.reverse ? -i : i, + })); } } else { for (let i = MIN + options.ticks!; i < MAX; i += options.ticks!) { - $markers.appendChild(CE('option', {'value': i})); + $markers.appendChild(CE('option', {value: i})); } } $wrapper.appendChild($markers); diff --git a/src/utils/settings-storages/global-settings-storage.ts b/src/utils/settings-storages/global-settings-storage.ts index 76f6f0b..2eb65f4 100644 --- a/src/utils/settings-storages/global-settings-storage.ts +++ b/src/utils/settings-storages/global-settings-storage.ts @@ -394,9 +394,10 @@ export class GlobalSettingsStorage extends BaseSettingsStorage { type: SettingElementType.NUMBER_STEPPER, default: 4, min: 4, - max: 40, + max: 60, steps: 4, params: { + exactTicks: 20, reverse: true, customTextValue(value: any) { value = parseInt(value);