@lunit/oui
Version:
Lunit Oncology UI components
35 lines (34 loc) • 1.01 kB
JavaScript
export const baseSliderMarks = [
{ value: 0, label: '0' },
{ value: 10 },
{ value: 20 },
{ value: 30 },
{ value: 40 },
{ value: 50 },
{ value: 60 },
{ value: 70 },
{ value: 80 },
{ value: 90 },
{ value: 100, label: '100' },
];
export const getPresetValue = (options, selectedItem) => {
const presetValue = options.find((option) => option.title === selectedItem && option.isPreset)
?.value;
return presetValue;
};
export const getSliderMarks = (presetValue) => {
const marks = baseSliderMarks.map((mark) => {
if (mark.value === presetValue) {
return {
...mark,
label: `Preset: ${presetValue}`,
};
}
return mark;
});
if (!baseSliderMarks.find((mark) => mark.value === presetValue)) {
const index = Math.floor(presetValue / 10);
marks.splice(index + 1, 0, { value: presetValue, label: `Preset: ${presetValue}` });
}
return marks;
};