Browse Source

change default stat behavior on item create to check all >0 req stats in requirement.

master
Gisle Aune 2 years ago
parent
commit
48b5c17166
  1. 3
      frontend/src/lib/components/controls/StatInput.svelte
  2. 6
      frontend/src/lib/modals/ItemCreateModal.svelte

3
frontend/src/lib/components/controls/StatInput.svelte

@ -9,6 +9,7 @@
export let hideUnseen = false;
export let zeroDeletes = false;
export let noToggle = false;
export let initOnList: number[] = [];
let acquiredMap: Record<number, number>;
let requiredMap: Record<number, number>;
@ -21,7 +22,7 @@
if (hideUnseen) {
for (const v of value) {
enabledMap[v.statId] = zeroDeletes ? v.required > 0 : v.required >= 0;
enabledMap[v.statId] = initOnList.includes(v.statId) || (zeroDeletes ? v.required > 0 : v.required >= 0);
requiredMap[v.statId] = v.required;
acquiredMap[v.statId] = v.acquired;
}

6
frontend/src/lib/modals/ItemCreateModal.svelte

@ -29,6 +29,7 @@ import { getSprintListContext } from "$lib/components/contexts/SprintListContext
let openedDate: Date
let requirementName: string
let op: string
let initOnList: number[] = [];
let error: string
let loading: boolean
@ -54,6 +55,8 @@ import { getSprintListContext } from "$lib/components/contexts/SprintListContext
let stats = requirement?.stats.map(s => ({statId: s.id, required: 0, acquired: 0}));
if (stats == null) {
stats = scope.stats.map(s => ({statId: s.id, required: 0, acquired: 0}))
} else {
initOnList = requirement.stats.filter(s => s.required > 0).map(s => s.id);
}
item = {
@ -173,7 +176,8 @@ import { getSprintListContext } from "$lib/components/contexts/SprintListContext
{/if}
<label for="stats">Stats</label>
<StatInput
zeroDeletes showRequired
zeroDeletes showRequired
initOnList={initOnList}
showAcquired={op === "Edit" && !!item.acquiredTime}
hideUnseen={!!item.requirementId}
bind:value={item.stats}

Loading…
Cancel
Save