mirror of
https://github.com/ankitects/anki.git
synced 2025-09-19 14:32:22 -04:00
drop 1 month period
This commit is contained in:
parent
13ebba41da
commit
833d352e54
9 changed files with 32 additions and 79 deletions
|
@ -91,7 +91,9 @@ statistics-counts-learning-cards = Learning
|
|||
statistics-counts-relearning-cards = Relearning
|
||||
statistics-counts-title = Card Counts
|
||||
|
||||
statistics-range-all-time = deck life
|
||||
statistics-range-all-time = all
|
||||
statistics-range-1-year-history = last 12 months
|
||||
statistics-range-all-history = all history
|
||||
statistics-range-deck = deck
|
||||
statistics-range-collection = collection
|
||||
statistics-range-search = Search
|
||||
|
|
|
@ -9,23 +9,10 @@
|
|||
|
||||
export let sourceData: pb.BackendProto.GraphsOut | null = null;
|
||||
export let i18n: I18n;
|
||||
export let revlogRange: RevlogRange;
|
||||
|
||||
let svg = null as HTMLElement | SVGElement | null;
|
||||
let histogramData = null as HistogramData | null;
|
||||
let range: AddedRange;
|
||||
|
||||
$: switch (revlogRange as RevlogRange) {
|
||||
case RevlogRange.Month:
|
||||
range = AddedRange.Month;
|
||||
break;
|
||||
case RevlogRange.Year:
|
||||
range = AddedRange.Year;
|
||||
break;
|
||||
case RevlogRange.All:
|
||||
range = AddedRange.AllTime;
|
||||
break;
|
||||
}
|
||||
let range: AddedRange = AddedRange.Month;
|
||||
|
||||
let addedData: GraphData | null = null;
|
||||
$: if (sourceData) {
|
||||
|
@ -53,7 +40,7 @@
|
|||
{month}
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" bind:group={range} value={AddedRange.Quarter} />
|
||||
<input type="radio" bind:group={range} value={AddedRange.ThreeMonths} />
|
||||
{month3}
|
||||
</label>
|
||||
<label>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
import { I18n } from "../i18n";
|
||||
|
||||
export let sourceData: pb.BackendProto.GraphsOut | null = null;
|
||||
export let revlogRange: RevlogRange = RevlogRange.Month;
|
||||
export let revlogRange: RevlogRange;
|
||||
export let i18n: I18n;
|
||||
export let nightMode: boolean;
|
||||
|
||||
|
|
|
@ -2,10 +2,9 @@
|
|||
import { timeSpan, MONTH, YEAR } from "../time";
|
||||
import { I18n } from "../i18n";
|
||||
import { HistogramData } from "./histogram-graph";
|
||||
import { defaultGraphBounds, RevlogRange } from "./graphs";
|
||||
import { defaultGraphBounds } from "./graphs";
|
||||
import {
|
||||
gatherData,
|
||||
renderFutureDue,
|
||||
GraphData,
|
||||
FutureDueRange,
|
||||
buildHistogram,
|
||||
|
@ -15,25 +14,12 @@
|
|||
|
||||
export let sourceData: pb.BackendProto.GraphsOut | null = null;
|
||||
export let i18n: I18n;
|
||||
export let revlogRange: RevlogRange;
|
||||
|
||||
let graphData = null as GraphData | null;
|
||||
let histogramData = null as HistogramData | null;
|
||||
let backlog: boolean = true;
|
||||
let svg = null as HTMLElement | SVGElement | null;
|
||||
let range: FutureDueRange;
|
||||
|
||||
$: switch (revlogRange as RevlogRange) {
|
||||
case RevlogRange.Month:
|
||||
range = FutureDueRange.Month;
|
||||
break;
|
||||
case RevlogRange.Year:
|
||||
range = FutureDueRange.Year;
|
||||
break;
|
||||
case RevlogRange.All:
|
||||
range = FutureDueRange.AllTime;
|
||||
break;
|
||||
}
|
||||
let range: FutureDueRange = FutureDueRange.Month;
|
||||
|
||||
$: if (sourceData) {
|
||||
graphData = gatherData(sourceData);
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
}
|
||||
|
||||
let searchRange: SearchRange = SearchRange.Deck;
|
||||
let revlogRange: RevlogRange = RevlogRange.Month;
|
||||
let revlogRange: RevlogRange = RevlogRange.Year;
|
||||
let days: number = 31;
|
||||
let refreshing = false;
|
||||
|
||||
|
@ -66,9 +66,6 @@
|
|||
|
||||
$: {
|
||||
switch (revlogRange as RevlogRange) {
|
||||
case RevlogRange.Month:
|
||||
days = 31;
|
||||
break;
|
||||
case RevlogRange.Year:
|
||||
days = 365;
|
||||
break;
|
||||
|
@ -90,12 +87,12 @@
|
|||
}
|
||||
};
|
||||
|
||||
const month = timeSpan(i18n, 1 * MONTH);
|
||||
const year = timeSpan(i18n, 1 * YEAR);
|
||||
const month = timeSpan(i18n, 3 * MONTH);
|
||||
const year = i18n.tr(i18n.TR.STATISTICS_RANGE_1_YEAR_HISTORY);
|
||||
const deck = i18n.tr(i18n.TR.STATISTICS_RANGE_DECK);
|
||||
const collection = i18n.tr(i18n.TR.STATISTICS_RANGE_COLLECTION);
|
||||
const searchLabel = i18n.tr(i18n.TR.STATISTICS_RANGE_SEARCH);
|
||||
const all = i18n.tr(i18n.TR.STATISTICS_RANGE_ALL_TIME);
|
||||
const all = i18n.tr(i18n.TR.STATISTICS_RANGE_ALL_HISTORY);
|
||||
</script>
|
||||
|
||||
<div class="range-box">
|
||||
|
@ -125,10 +122,6 @@
|
|||
</div>
|
||||
|
||||
<div class="range-box-inner">
|
||||
<label>
|
||||
<input type="radio" bind:group={revlogRange} value={RevlogRange.Month} />
|
||||
{month}
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" bind:group={revlogRange} value={RevlogRange.Year} />
|
||||
{year}
|
||||
|
|
|
@ -9,28 +9,16 @@
|
|||
import NoDataOverlay from "./NoDataOverlay.svelte";
|
||||
|
||||
export let sourceData: pb.BackendProto.GraphsOut | null = null;
|
||||
export let revlogRange: RevlogRange = RevlogRange.Month;
|
||||
export let revlogRange: RevlogRange;
|
||||
export let i18n: I18n;
|
||||
|
||||
let graphData: GraphData | null = null;
|
||||
|
||||
let bounds = defaultGraphBounds();
|
||||
let svg = null as HTMLElement | SVGElement | null;
|
||||
let range: ReviewRange;
|
||||
let range: ReviewRange = ReviewRange.Month;
|
||||
let showTime = false;
|
||||
|
||||
$: switch (revlogRange as RevlogRange) {
|
||||
case RevlogRange.Month:
|
||||
range = ReviewRange.Month;
|
||||
break;
|
||||
case RevlogRange.Year:
|
||||
range = ReviewRange.Year;
|
||||
break;
|
||||
case RevlogRange.All:
|
||||
range = ReviewRange.AllTime;
|
||||
break;
|
||||
}
|
||||
|
||||
$: if (sourceData) {
|
||||
graphData = gatherData(sourceData);
|
||||
}
|
||||
|
@ -63,20 +51,18 @@
|
|||
{time}
|
||||
</label>
|
||||
|
||||
{#if revlogRange >= RevlogRange.Year}
|
||||
<label>
|
||||
<input type="radio" bind:group={range} value={ReviewRange.Month} />
|
||||
{month}
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" bind:group={range} value={ReviewRange.Quarter} />
|
||||
{month3}
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" bind:group={range} value={ReviewRange.Year} />
|
||||
{year}
|
||||
</label>
|
||||
{/if}
|
||||
<label>
|
||||
<input type="radio" bind:group={range} value={ReviewRange.Month} />
|
||||
{month}
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" bind:group={range} value={ReviewRange.ThreeMonths} />
|
||||
{month3}
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" bind:group={range} value={ReviewRange.Year} />
|
||||
{year}
|
||||
</label>
|
||||
{#if revlogRange === RevlogRange.All}
|
||||
<label>
|
||||
<input type="radio" bind:group={range} value={ReviewRange.AllTime} />
|
||||
|
|
|
@ -16,7 +16,7 @@ import { dayLabel } from "../time";
|
|||
|
||||
export enum AddedRange {
|
||||
Month = 0,
|
||||
Quarter = 1,
|
||||
ThreeMonths = 1,
|
||||
Year = 2,
|
||||
AllTime = 3,
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ export function buildHistogram(
|
|||
case AddedRange.Month:
|
||||
xMin = -31;
|
||||
break;
|
||||
case AddedRange.Quarter:
|
||||
case AddedRange.ThreeMonths:
|
||||
xMin = -90;
|
||||
break;
|
||||
case AddedRange.Year:
|
||||
|
|
|
@ -36,9 +36,8 @@ export async function getGraphData(
|
|||
}
|
||||
|
||||
export enum RevlogRange {
|
||||
Month = 1,
|
||||
Year = 2,
|
||||
All = 3,
|
||||
Year = 1,
|
||||
All = 2,
|
||||
}
|
||||
|
||||
export interface GraphsContext {
|
||||
|
|
|
@ -40,7 +40,7 @@ export interface GraphData {
|
|||
|
||||
export enum ReviewRange {
|
||||
Month = 0,
|
||||
Quarter = 1,
|
||||
ThreeMonths = 1,
|
||||
Year = 2,
|
||||
AllTime = 3,
|
||||
}
|
||||
|
@ -126,7 +126,7 @@ export function renderReviews(
|
|||
case ReviewRange.Month:
|
||||
xMin = -31;
|
||||
break;
|
||||
case ReviewRange.Quarter:
|
||||
case ReviewRange.ThreeMonths:
|
||||
xMin = -90;
|
||||
break;
|
||||
case ReviewRange.Year:
|
||||
|
|
Loading…
Reference in a new issue