Gisle Aune
2 years ago
13 changed files with 167 additions and 77 deletions
-
18entities/project.go
-
2frontend/src/lib/components/contexts/ItemListContext.svelte
-
38frontend/src/lib/components/project/AggregateAmountRow.svelte
-
5frontend/src/lib/components/project/RequirementSection.svelte
-
13frontend/src/lib/modals/RequirementCreateModal.svelte
-
2frontend/src/lib/models/project.ts
-
9models/project.go
-
15ports/mysql/mysqlcore/models.go
-
38ports/mysql/mysqlcore/projects.sql.go
-
44ports/mysql/projects.go
-
7ports/mysql/queries/projects.sql
-
9scripts/goose-mysql/20220727173716_requirement_aggregate_required.sql
-
44usecases/projects/result.go
@ -0,0 +1,38 @@ |
|||
<script lang="ts"> |
|||
import type Item from "$lib/models/item"; |
|||
import Amount from "../common/Amount.svelte"; |
|||
import AmountRow from "../common/AmountRow.svelte"; |
|||
import { getScopeContext } from "../contexts/ScopeContext.svelte"; |
|||
|
|||
export let items: Item[]; |
|||
export let totalAcquired: number; |
|||
export let aggregateRequired: number; |
|||
|
|||
const {scope} = getScopeContext(); |
|||
|
|||
let amounts: {name: string, amount: number}[] = []; |
|||
|
|||
$: { |
|||
const statMap: Record<number, number> = {}; |
|||
|
|||
for (const item of items) { |
|||
for (const stat of item.stats) { |
|||
statMap[stat.id] = (statMap[stat.id] || 0) + stat.acquired |
|||
} |
|||
} |
|||
|
|||
amounts = []; |
|||
for (const stat of $scope.stats) { |
|||
if (!!statMap[stat.id]) { |
|||
amounts.push({name: stat.name, amount: statMap[stat.id]}); |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<AmountRow> |
|||
{#each amounts as {name, amount} (name)} |
|||
<Amount label={name} value={amount} /> |
|||
{/each} |
|||
<Amount right label="" dark value={totalAcquired} target={aggregateRequired} /> |
|||
</AmountRow> |
@ -0,0 +1,9 @@ |
|||
-- +goose Up |
|||
-- +goose StatementBegin |
|||
ALTER TABLE project_requirement ADD COLUMN aggregate_required INT NOT NULL DEFAULT 0; |
|||
-- +goose StatementEnd |
|||
|
|||
-- +goose Down |
|||
-- +goose StatementBegin |
|||
ALTER TABLE project_requirement DROP COLUMN aggregate_required; |
|||
-- +goose StatementEnd |
Write
Preview
Loading…
Cancel
Save
Reference in new issue