mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 08:46:37 -04:00
Fix/Invalid parameter counts saveable (#4052)
* Add frontend check for parameters * Fix backend * ./check * Fix: Wrong type
This commit is contained in:
parent
4e928fd7ca
commit
bbac90d97d
2 changed files with 15 additions and 4 deletions
|
@ -110,9 +110,9 @@ impl DeckConfig {
|
|||
|
||||
/// Retrieve the FSRS 6.0 params, falling back on 5.0 or 4.x ones.
|
||||
pub fn fsrs_params(&self) -> &Vec<f32> {
|
||||
if self.inner.fsrs_params_6.len() == 21 {
|
||||
if !self.inner.fsrs_params_6.is_empty() {
|
||||
&self.inner.fsrs_params_6
|
||||
} else if self.inner.fsrs_params_5.len() == 19 {
|
||||
} else if !self.inner.fsrs_params_5.is_empty() {
|
||||
&self.inner.fsrs_params_5
|
||||
} else {
|
||||
&self.inner.fsrs_params_4
|
||||
|
|
|
@ -4,6 +4,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|||
-->
|
||||
<script lang="ts">
|
||||
import { tick } from "svelte";
|
||||
import * as tr from "@generated/ftl";
|
||||
|
||||
export let value: number[];
|
||||
export let defaults: number[];
|
||||
|
@ -28,12 +29,22 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|||
return params.map((v) => v.toFixed(4)).join(", ");
|
||||
}
|
||||
|
||||
function update(this: HTMLInputElement): void {
|
||||
value = this.value
|
||||
const validParamCounts = [0, 17, 19, 21];
|
||||
|
||||
function update(e: Event): void {
|
||||
const input = e.target as HTMLTextAreaElement;
|
||||
const newValue = input.value
|
||||
.replace(/ /g, "")
|
||||
.split(",")
|
||||
.filter((e) => e)
|
||||
.map((v) => Number(v));
|
||||
|
||||
if (validParamCounts.includes(newValue.length)) {
|
||||
value = newValue;
|
||||
} else {
|
||||
alert(tr.deckConfigInvalidParameters());
|
||||
input.value = stringValue;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
Loading…
Reference in a new issue