Damien Elmes
82d006d145
strip noise profile code
2011-04-28 09:24:01 +09:00
Damien Elmes
c682080890
make it easier to get media dir; remove tidyHTML()
2011-04-28 09:24:01 +09:00
Damien Elmes
6ed48171fc
add a default group to model, add groupName()
2011-04-28 09:24:01 +09:00
Damien Elmes
f256d18971
return fields in sorted order
2011-04-28 09:24:01 +09:00
Damien Elmes
ab3a86d44e
add noautosub arg to mplayer
2011-04-28 09:24:01 +09:00
Damien Elmes
c799b7c97e
include model name in stdmodels; provide ability to get model outside cache
2011-04-28 09:24:01 +09:00
Damien Elmes
de81f0238a
template moving
2011-04-28 09:24:01 +09:00
Damien Elmes
c8b16a0e0e
accept a reload argument in q()
2011-04-28 09:24:01 +09:00
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