Merge branch 'staging' of https://github.com/SillyTavern/SillyTavern into staging

This commit is contained in:
Cohee 2023-11-05 22:03:28 +02:00
commit 632d55f6af

View File

@ -473,6 +473,13 @@ async function switchZenSliders() {
} }
if (sliderID == 'amount_gen') { if (sliderID == 'amount_gen') {
decimals = 0 decimals = 0
var steps = [16, 50, 100, 150, 200, 256, 300, 400, 512, 1024];
sliderMin = 0
sliderMax = steps.length - 1
stepScale = 1;
numSteps = 10
sliderValue = steps.indexOf(Number(sliderValue))
if (sliderValue === -1) { sliderValue = 4 } // default to '200' if origSlider has value we can't use
} }
if (sliderID == 'max_context') { if (sliderID == 'max_context') {
numSteps = 15 numSteps = 15
@ -521,7 +528,9 @@ async function switchZenSliders() {
numSteps = 20 numSteps = 20
} }
var stepScale = sliderRange / numSteps if (sliderID !== 'amount_gen') {
var stepScale = sliderRange / numSteps
}
var newSlider = $("<div>") var newSlider = $("<div>")
.attr('id', `${sliderID}_zenslider`) .attr('id', `${sliderID}_zenslider`)
@ -535,24 +544,48 @@ async function switchZenSliders() {
max: sliderMax, max: sliderMax,
create: function () { create: function () {
var handle = $(this).find(".ui-slider-handle"); var handle = $(this).find(".ui-slider-handle");
var handleText = Number(sliderValue).toFixed(decimals) if (newSlider.attr('id') == 'amount_gen_zenslider') {
handle.text(handleText); //console.log(sliderValue, steps.indexOf(Number(sliderValue)))
//var width = handle.width() var handleText = steps[sliderValue]
var stepNumber = ((sliderValue - sliderMin) / stepScale) handle.text(handleText);
var leftMargin = (stepNumber / numSteps) * 50 * -1 //console.log(handleText)
handle.css('margin-left', `${leftMargin}px`) var stepNumber = sliderValue
var leftMargin = ((stepNumber) / numSteps) * 50 * -1
//console.log(`initial value:${handleText}, stepNum:${stepNumber}, numSteps:${numSteps}, left-margin:${leftMargin}`)
handle.css('margin-left', `${leftMargin}px`)
} else {
var handleText = Number(sliderValue).toFixed(decimals)
handle.text(handleText);
var stepNumber = ((sliderValue - sliderMin) / stepScale)
var leftMargin = (stepNumber / numSteps) * 50 * -1
handle.css('margin-left', `${leftMargin}px`)
}
}, },
slide: function (event, ui) { slide: function (event, ui) {
var handle = $(this).find(".ui-slider-handle"); var handle = $(this).find(".ui-slider-handle");
//var width = handle.outerWidth() if (newSlider.attr('id') == 'amount_gen_zenslider') {
handle.text(ui.value.toFixed(decimals)); //console.log(`stepScale${stepScale}, UIvalue:${ui.value}, mappedValue:${steps[ui.value]}`)
var stepNumber = ((ui.value - sliderMin) / stepScale) $(this).val(steps[ui.value])
var leftMargin = (stepNumber / numSteps) * 50 * -1 let handleText = steps[ui.value].toFixed(decimals)
handle.css('margin-left', `${leftMargin}px`) handle.text(handleText);
let handleText = (ui.value) var stepNumber = steps.indexOf(Number(handleText))
originalSlider.val(handleText); var leftMargin = (stepNumber / numSteps) * 50 * -1
originalSlider.trigger('input') //console.log(`handleText:${handleText},stepNum:${stepNumber}, numSteps:${numSteps},LeftMargin:${leftMargin}`)
originalSlider.trigger('change') handle.css('margin-left', `${leftMargin}px`)
originalSlider.val(handleText);
originalSlider.trigger('input')
originalSlider.trigger('change')
} else {
handle.text(ui.value.toFixed(decimals));
var stepNumber = ((ui.value - sliderMin) / stepScale)
var leftMargin = (stepNumber / numSteps) * 50 * -1
handle.css('margin-left', `${leftMargin}px`)
let handleText = (ui.value)
originalSlider.val(handleText);
originalSlider.trigger('input')
originalSlider.trigger('change')
}
} }
}); });