mirror of
https://github.com/gnosygnu/xowa.git
synced 2025-06-13 12:54:14 +00:00
DownloadCentral: Preserve lang / type choices next time page is opened
This commit is contained in:
parent
2720fdae1e
commit
69b5678350
@ -16,11 +16,17 @@ You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.xowa.addons.bldrs.centrals; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.bldrs.*;
|
||||
import gplx.core.gfobjs.*;
|
||||
import gplx.xowa.addons.bldrs.centrals.tasks.*;
|
||||
import gplx.xowa.wikis.domains.*;
|
||||
import gplx.xowa.langs.*;
|
||||
public class Xobc_filter_mgr {
|
||||
public static Xobc_task_itm[] Filter(Xobc_task_regy__base task_list, String lang_key_str, String type_key_str) {
|
||||
private String lang_key_str = Xow_domain_itm_.Lang_key__all, type_key_str = Xow_domain_itm_.Type_key__all;
|
||||
public Xobc_task_itm[] Filter(Xobc_task_regy__base task_list) {return Filter(task_list, lang_key_str, type_key_str);}
|
||||
public Xobc_task_itm[] Filter(Xobc_task_regy__base task_list, String lang_key_str, String type_key_str) {
|
||||
this.lang_key_str = lang_key_str;
|
||||
this.type_key_str = type_key_str;
|
||||
|
||||
List_adp tmp = List_adp_.New();
|
||||
|
||||
// loop tasks and find matches
|
||||
@ -38,4 +44,10 @@ public class Xobc_filter_mgr {
|
||||
|
||||
return (Xobc_task_itm[])tmp.To_ary_and_clear(Xobc_task_itm.class);
|
||||
}
|
||||
public Gfobj_nde Make_init_msg() {
|
||||
Gfobj_nde root = Gfobj_nde.New();
|
||||
root.New_nde("langs").Add_str("active", lang_key_str);
|
||||
root.New_nde("types").Add_str("active", type_key_str);
|
||||
return root;
|
||||
}
|
||||
}
|
||||
|
@ -43,6 +43,7 @@ public class Xobc_task_mgr implements Xog_json_wkr {
|
||||
public Xobc_user_db User_db() {return user_db;} private final Xobc_user_db user_db;
|
||||
public Gfo_rate_mgr Rate_mgr() {return rate_mgr;} private final Gfo_rate_mgr rate_mgr;
|
||||
public Xobc_step_factory Step_mgr() {return step_mgr;} private final Xobc_step_factory step_mgr;
|
||||
public Xobc_filter_mgr Filter_mgr() {return filter_mgr;} private final Xobc_filter_mgr filter_mgr = new Xobc_filter_mgr();
|
||||
public void Send_json(String func, Gfobj_nde data) {cbk_mgr.Send_json(cbk_trg, func, data);}
|
||||
public Xobc_task_mgr Load_or_init() {
|
||||
Gfo_log_.Instance.Info("task_mgr.load_or_init.bgn");
|
||||
@ -56,15 +57,16 @@ public class Xobc_task_mgr implements Xog_json_wkr {
|
||||
Gfobj_nde root = Gfobj_nde.New();
|
||||
Gfobj_nde lists_nde = root.New_nde("lists");
|
||||
work_mgr.Save_to(lists_nde.New_ary("work"));
|
||||
todo_mgr.Save_to(lists_nde.New_ary("todo"));
|
||||
todo_mgr.Save_to(lists_nde.New_ary("todo"), filter_mgr.Filter(todo_mgr));
|
||||
done_mgr.Save_to(lists_nde.New_ary("done"));
|
||||
root.Add_nde("filters", filter_mgr.Make_init_msg());
|
||||
cbk_mgr.Send_json(cbk_trg, "xo.bldr.core.reload__recv", root);
|
||||
}
|
||||
public void Filter_todo(String lang_key, String type_key) {
|
||||
Gfo_log_.Instance.Info("task_mgr.filter_by_lang.bgn");
|
||||
Gfobj_nde root = Gfobj_nde.New();
|
||||
Gfobj_nde lists_nde = root.New_nde("lists").Add_str("list_name", "todo");
|
||||
todo_mgr.Save_to(lists_nde.New_ary("todo"), Xobc_filter_mgr.Filter(todo_mgr, lang_key, type_key));
|
||||
todo_mgr.Save_to(lists_nde.New_ary("todo"), filter_mgr.Filter(todo_mgr, lang_key, type_key));
|
||||
cbk_mgr.Send_json(cbk_trg, "xo.bldr.core.reload_list__recv", root);
|
||||
}
|
||||
public void Transfer(Xobc_task_regy__base src, Xobc_task_regy__base trg, Xobc_task_itm task) {
|
||||
|
Loading…
Reference in New Issue
Block a user