Damien Elmes
dba04598ae
pad ivl graph
2011-04-28 09:24:01 +09:00
Damien Elmes
9705dbdcfe
small tweaks
2011-04-28 09:24:01 +09:00
Damien Elmes
fba161d0b1
tablify info
2011-04-28 09:24:01 +09:00
Damien Elmes
5dc418060e
fix forecost avg calculation
2011-04-28 09:24:00 +09:00
Damien Elmes
02b1494a10
improve review time data; make sure graph bounds include end points
2011-04-28 09:24:00 +09:00
Damien Elmes
4c8eec5659
duplicate imports
2011-04-28 09:24:00 +09:00
Damien Elmes
84d2f32685
move graph code into stats.py; remove old deck stats
2011-04-28 09:24:00 +09:00
Damien Elmes
4be8b9d38c
fix zerodiv and other errors
2011-04-28 09:24:00 +09:00
Damien Elmes
a856665824
give the pie a background again
2011-04-28 09:24:00 +09:00
Damien Elmes
b47275599b
fix selective on some graphs; tweak pie layout
2011-04-28 09:24:00 +09:00
Damien Elmes
2d8faa8608
give the forecast a sensible limit
2011-04-28 09:24:00 +09:00
Damien Elmes
b5c8ba7b9f
apply selective to card/fact counts
2011-04-28 09:24:00 +09:00
Damien Elmes
525787b33f
tweak call args
2011-04-28 09:24:00 +09:00
Damien Elmes
014cc035ee
add selective study limits to remaining graphs
2011-04-28 09:24:00 +09:00
Damien Elmes
be7794bb56
include day/week info too
2011-04-28 09:24:00 +09:00
Damien Elmes
ed9901a71d
add average review # to forecast
2011-04-28 09:24:00 +09:00
Damien Elmes
30d62875d0
css, more layout tweaks, add suspended back into display
2011-04-28 09:24:00 +09:00
Damien Elmes
282d0bb9ba
add deck creation date
2011-04-28 09:24:00 +09:00
Damien Elmes
a5d751283b
add a separate _title()
2011-04-28 09:24:00 +09:00
Damien Elmes
f67c72bec3
move the graph layout around
2011-04-28 09:24:00 +09:00
Damien Elmes
2479913f9b
add a pie graph, add average interval to ivls area
2011-04-28 09:24:00 +09:00
Damien Elmes
c64c7a2acb
hide the cumulative graph if datapoints < 2
2011-04-28 09:24:00 +09:00
Damien Elmes
74a52694ec
for daily graph, use minutes instead of hours
2011-04-28 09:24:00 +09:00
Damien Elmes
e950c8af1c
just chop off options/group completely
2011-04-28 09:24:00 +09:00
Damien Elmes
0b92423cf7
settings->options, return bool for syncingEnabled
2011-04-28 09:24:00 +09:00
Damien Elmes
4af961f1d0
put langs in lang
2011-04-28 09:24:00 +09:00
Damien Elmes
11f3de525f
groupConf() takes gcid, not gid
2011-04-28 09:23:59 +09:00
Damien Elmes
692fba2ea3
use the deck's groups instead of holding on to a private copy
2011-04-28 09:23:59 +09:00
Damien Elmes
e93ded1e04
update a few group configs
2011-04-28 09:23:59 +09:00
Damien Elmes
4b9c6fc822
track gcid additions too
2011-04-28 09:23:59 +09:00
Damien Elmes
77ee8f1385
ditch useGroups
2011-04-28 09:23:59 +09:00
Damien Elmes
f75e2af195
use a single group setting
2011-04-28 09:23:59 +09:00
Damien Elmes
73625e5751
include the gid in the tree so we can tell which groups are real
2011-04-28 09:23:59 +09:00
Damien Elmes
fc96e12a0a
add some randomness to lrn interval
2011-04-28 09:23:59 +09:00
Damien Elmes
495b058618
include total count in with rev+due
2011-04-28 09:23:59 +09:00
Damien Elmes
2a1355eb16
make the group tree part of the scheduler instead
2011-04-28 09:23:59 +09:00
Damien Elmes
728715ff84
counts by group
2011-04-28 09:23:59 +09:00
Damien Elmes
2d00163323
tree grouping; add column to groups so they can remember tags
2011-04-28 09:23:59 +09:00
Damien Elmes
e547b0586a
simplify undo
...
The undo code was using triggers and a temporary table to write out all changed rows before making a change. This made for powerful undo/redo support, but had some problems:
- creating the tables and triggers wasn't cheap, especially on mobile devices
- likewise, every data modification required writing into two separate databases, almost doubling the amount of writes required
- it was possible to leave the DB in an inconsistent state if an undoable operation is followed by a non-undoable operation that references the undoable operation, and the user then rolls back the undoable operation.
To address these issues, we simplify undo by integrating it with the autosave changes:
- .save() can be passed a name to mark a rollback point. If the user undoes the change, any changes since the last save are lost
- autosaves happen every 5 minutes, and are pushed back on a .save(), so the maximum work a user can lose is 5 minutes.
- reviews are handled separately, so we can let the user undo multiple reviews at once
- if necessary, special cases could be added for other operations like marking
This means that if a user does two damaging operations in a row they won't be able to restore the first one, but such an event is both unlikely, and is also covered by the backups made each time a deck is opened.
2011-04-28 09:23:59 +09:00
Damien Elmes
01eb8d98a5
update order consts
2011-04-28 09:23:59 +09:00
Damien Elmes
2d6e9cc186
shorten some queue options
2011-04-28 09:23:59 +09:00
Damien Elmes
5914761ff8
don't die if the reps data is empty
2011-04-28 09:23:59 +09:00
Damien Elmes
b52a2eed6d
add descriptions and xaxis relabeling
2011-04-28 09:23:59 +09:00
Damien Elmes
674d2b2b30
add outline to ease bars
2011-04-28 09:23:59 +09:00
Damien Elmes
a3c7ae87e7
tweak layout, add cum% for intervals
2011-04-28 09:23:59 +09:00
Damien Elmes
eba64a0d3d
give intervals a type too
2011-04-28 09:23:59 +09:00
Damien Elmes
91903a79be
simplify graph calls
2011-04-28 09:23:59 +09:00
Damien Elmes
3c5c21f6a6
remove calcStats()
2011-04-28 09:23:59 +09:00
Damien Elmes
457b0f5c73
don't generate all the graphs at once
2011-04-28 09:23:59 +09:00
Damien Elmes
28191cde45
remove average time graph
2011-04-28 09:23:59 +09:00
Damien Elmes
f03745a1a3
average time graph
...
probably won't use this, but saving the code
2011-04-28 09:23:58 +09:00
Damien Elmes
63efc4dbaa
remove the separate timeGraph()
2011-04-28 09:23:58 +09:00
Damien Elmes
40706f3493
break reps graph into separate graphs; exclude cumulative line from stack
2011-04-28 09:23:58 +09:00
Damien Elmes
b9848c8cd9
display different graphs for different due periods; chunk by week or month
2011-04-28 09:23:58 +09:00
Damien Elmes
e090a64fbb
remove separate cumul graph and render over due instead
2011-04-28 09:23:58 +09:00
Damien Elmes
b40dbd6fb8
fix young count
2011-04-28 09:23:58 +09:00
Damien Elmes
43f8623d78
tweak graph layout and separate cumul graph into young/mature
2011-04-28 09:23:58 +09:00
Damien Elmes
72ed9ceb02
but don't mark all ease 1s as learning
2011-04-28 09:23:58 +09:00
Damien Elmes
139f1afc41
try to mark initial / lapsed on upgrade
2011-04-28 09:23:58 +09:00
Damien Elmes
494101212e
go back to 0.7 due to linewidth
2011-04-28 09:23:58 +09:00
Damien Elmes
d6f968a47f
add extra data to reps/time graphs, simplify graph building
2011-04-28 09:23:58 +09:00
Damien Elmes
c7eb4253bd
set a different log type for lapsed learning
2011-04-28 09:23:58 +09:00
Damien Elmes
4867ffe25a
revert to flot 0.6 due to redraw bug
2011-04-28 09:23:58 +09:00
Damien Elmes
153c574d64
fix lastInt and nextInt being switched on upgrade
2011-04-28 09:23:58 +09:00
Damien Elmes
9c1e0befc6
bundle js libs; include them in report(); fix some graph ids
2011-04-28 09:23:58 +09:00
Damien Elmes
6ec2500eb8
reps & time graphs
2011-04-28 09:23:58 +09:00
Damien Elmes
60ef1ec49f
eases graph
2011-04-28 09:23:58 +09:00
Damien Elmes
f850ce8b06
when upgrading, make sure old reps are marked as reviews
2011-04-28 09:23:58 +09:00
Damien Elmes
7d5d72adf8
add intervals, boxing in weeks for now
2011-04-28 09:23:58 +09:00
Damien Elmes
89fa08c548
due and cumulative due graphs ported
2011-04-28 09:23:58 +09:00
Damien Elmes
2ca9568196
initial graph code reorganization
2011-04-28 09:23:58 +09:00
Damien Elmes
cc9f5b8d86
stripMedia->strip
2011-04-28 09:23:58 +09:00
Damien Elmes
15737959f5
fix upgrading of type answer
2011-04-28 09:23:58 +09:00
Damien Elmes
f26c6f76bc
fix other missing properties on upgrade
2011-04-28 09:23:57 +09:00
Damien Elmes
3c40854583
fix collapsing; make sure learning cards are put back on the heap
2011-04-28 09:23:57 +09:00
Damien Elmes
e53ae3f2b0
if the colour is missing, it should be black, not white
2011-04-28 09:23:57 +09:00
Damien Elmes
4ff5b81134
return status of scheduler change
2011-04-28 09:23:57 +09:00
Damien Elmes
843e8f3b33
add routine to grab all css
2011-04-28 09:23:57 +09:00
Damien Elmes
cf43d23edd
fix factor
2011-04-28 09:23:57 +09:00
Damien Elmes
6b736f9f54
change deck stats layout
2011-04-28 09:23:57 +09:00
Damien Elmes
942bf43b52
fix stats
...
they're running now, but need to be sanity checked to make sure they're doing the right thing
2011-04-28 09:23:57 +09:00
Damien Elmes
63d1448d1e
only bump lrn count when cramming if card not immediately graduated
2011-04-28 09:23:57 +09:00
Damien Elmes
cfd4198503
add call to determine number of buttons to show; 2.5m -> 2.5mo
2011-04-28 09:23:57 +09:00
Damien Elmes
464eb2b684
make sure cramming works if there are no selected groups
2011-04-28 09:23:57 +09:00
Damien Elmes
31427f0133
fix lapse card scheduling
...
- make sure we set a timestamp due time, and put the card back in the queue
- add a unit test for it
2011-04-28 09:23:57 +09:00
Damien Elmes
765720b928
make sure due forecast returns 0 for empty days
2011-04-28 09:23:57 +09:00
Damien Elmes
e407697fb9
fix interval calculation for lapsed cards in learning queue
2011-04-28 09:23:57 +09:00
Damien Elmes
4d0e4836fe
add the ability to add extra classes to q/a
2011-04-28 09:23:57 +09:00
Damien Elmes
1d91e459ec
wrap the q/a in the card template div
2011-04-28 09:23:57 +09:00
Damien Elmes
8170b2a2f5
fix templates not being properly upgraded
2011-04-28 09:23:57 +09:00
Damien Elmes
4477e21369
make sure we load css on model init
2011-04-28 09:23:57 +09:00
Damien Elmes
9d52196949
add a bgclass helper func
2011-04-28 09:23:57 +09:00
Damien Elmes
2c545cfb1d
drop data from renderQA
2011-04-28 09:23:57 +09:00
Damien Elmes
45d1b788ea
optimize card q/a generation and model fetching
2011-04-28 09:23:57 +09:00
Damien Elmes
c63b4085c6
add queueless counts; fix special field references on upgrade
2011-04-28 09:23:57 +09:00
Damien Elmes
4e989d98a9
add switch to disable groups without forgetting the selection
2011-04-28 09:23:57 +09:00
Damien Elmes
31a548ee42
add a dirty flag
...
when we make changes that need to be cleaned up on exit, we mark the deck
dirty so that if we exit without saving, we can clean up on next open
2011-04-28 09:23:57 +09:00
Damien Elmes
ed75e4bee2
refactor cloze deletions and text:field, add forecast
...
Previously cloze deletions were handled by copying the contents of one field
into another and applying transforms to it. This had a number of problems:
- after you add a card, you can't undo the cloze deletion
- if you spot a mistake, you have to edit it twice (or more if you have more
than one cloze for a sentence)
- making multiple clozes requires copying & pasting the sentence multiple
times
- this also lead to much bigger decks if the sentences being cloze-deleted are
large
- related clozes can't be spaced apart as siblings
To address these issues, we introduce the idea of cloze tags in the card
template and fields. If the template has the text:
{{cloze:1:field}}
And a field has the following contents:
{{c1::hello}}
Then the template will automatically replace that part of the text with either
occluded text, or a highlighted answer. All other clozes in the field are
displayed normally.
At the same time, we add support for text: into the template library, instead
of manually creating text: fields in the dict for every field.
Finally, add a forecast routine to get the due counts for the next week, which
is used in the GUI.
2011-04-28 09:23:56 +09:00
Damien Elmes
8705085200
update latex support
2011-04-28 09:23:56 +09:00
Damien Elmes
da0fb0c555
space exiting new cards; fix 1 fact freeze
2011-04-28 09:23:56 +09:00