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.
|
/// Retrieve the FSRS 6.0 params, falling back on 5.0 or 4.x ones.
|
||||||
pub fn fsrs_params(&self) -> &Vec<f32> {
|
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
|
&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
|
&self.inner.fsrs_params_5
|
||||||
} else {
|
} else {
|
||||||
&self.inner.fsrs_params_4
|
&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">
|
<script lang="ts">
|
||||||
import { tick } from "svelte";
|
import { tick } from "svelte";
|
||||||
|
import * as tr from "@generated/ftl";
|
||||||
|
|
||||||
export let value: number[];
|
export let value: number[];
|
||||||
export let defaults: 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(", ");
|
return params.map((v) => v.toFixed(4)).join(", ");
|
||||||
}
|
}
|
||||||
|
|
||||||
function update(this: HTMLInputElement): void {
|
const validParamCounts = [0, 17, 19, 21];
|
||||||
value = this.value
|
|
||||||
|
function update(e: Event): void {
|
||||||
|
const input = e.target as HTMLTextAreaElement;
|
||||||
|
const newValue = input.value
|
||||||
.replace(/ /g, "")
|
.replace(/ /g, "")
|
||||||
.split(",")
|
.split(",")
|
||||||
.filter((e) => e)
|
.filter((e) => e)
|
||||||
.map((v) => Number(v));
|
.map((v) => Number(v));
|
||||||
|
|
||||||
|
if (validParamCounts.includes(newValue.length)) {
|
||||||
|
value = newValue;
|
||||||
|
} else {
|
||||||
|
alert(tr.deckConfigInvalidParameters());
|
||||||
|
input.value = stringValue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue