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